diff --git a/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs b/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs index 6fdd8791b4..3f7df39d63 100644 --- a/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs +++ b/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs @@ -21,7 +21,6 @@ using Content.Shared.Input; using Content.Shared.Radio; using Content.Shared._White; using Content.Shared._White.Utils; -using Content.Shared._White.Cult; using Content.Shared._White.Cult.Systems; using Robust.Client.Graphics; using Robust.Client.Input; @@ -54,7 +53,6 @@ public sealed class ChatUIController : UIController [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IReplayRecordingManager _replayRecording = default!; [Dependency] private readonly IConfigurationManager _cfg = default!; - [Dependency] private readonly CultistWordGeneratorManager _wordGenerator = default!; [Dependency] private readonly IEntityManager _entities = default!; [UISystemDependency] private readonly ExamineSystem? _examine = default; @@ -850,13 +848,6 @@ public sealed class ChatUIController : UIController AddSpeechBubble(msg, SpeechBubble.SpeechType.Whisper); break; - // WD EDIT - case ChatChannel.Cult: - msg.Message = _wordGenerator.GenerateText(msg.Message); - AddSpeechBubble(msg, SpeechBubble.SpeechType.Whisper); - break; - // WD EDIT END - case ChatChannel.Dead: if (_ghost is not {IsGhost: true}) break; diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 350eb21344..156ef38e71 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -27,6 +27,7 @@ using Content.Shared.Radio; using Content.Shared._White; using Content.Shared.Speech; using Content.Shared._White.Cult; +using Content.Shared._White.Cult.Systems; using Robust.Server.Player; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; @@ -67,6 +68,7 @@ public sealed partial class ChatSystem : SharedChatSystem [Dependency] private readonly ReplacementAccentSystem _wordreplacement = default!; [Dependency] private readonly INetConfigurationManager _netConfigurationManager = default!; // WD [Dependency] private readonly GameTicker _gameTicker = default!; // WD + [Dependency] private readonly CultistWordGeneratorManager _wordGenerator = default!; // WD //WD-EDIT [Dependency] private readonly PandaWebManager _pandaWeb = default!; @@ -816,6 +818,8 @@ public sealed partial class ChatSystem : SharedChatSystem _chatManager.ChatMessageToMany(ChatChannel.Cult, message, wrappedMessage, source, hideChat, false, clients.ToList()); + + SendEntityWhisper(source, _wordGenerator.GenerateText(message), ChatTransmitRange.Normal, null, null); } private IEnumerable GetCultChatClients() diff --git a/Content.Shared/_White/Cult/Systems/CultistWordGeneratorManager.cs b/Content.Shared/_White/Cult/Systems/CultistWordGeneratorManager.cs index 159aa8a6ae..f50e0c6100 100644 --- a/Content.Shared/_White/Cult/Systems/CultistWordGeneratorManager.cs +++ b/Content.Shared/_White/Cult/Systems/CultistWordGeneratorManager.cs @@ -1,3 +1,4 @@ +using System.Linq; using Robust.Shared.Random; namespace Content.Shared._White.Cult.Systems; @@ -14,7 +15,7 @@ public sealed class CultistWordGeneratorManager public string GenerateText(string text) { - var content = text.Split(' '); + var content = text.Split(' ').Where(x => x.Length > 0).ToArray(); var wordsAmount = content.Length; if (wordsAmount <= 0) @@ -22,10 +23,10 @@ public sealed class CultistWordGeneratorManager for (var i = 0; i < wordsAmount; i++) { - content[i] = GenerateWord(content[i].Length) + " "; + content[i] = GenerateWord(content[i].Length); } - return string.Join("", content); + return string.Join(" ", content); } private string GenerateWord(int length) diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 03c0df87cf..a83ea523e8 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1311,7 +1311,7 @@ description: uplink-hardsuit-syndieelite-desc productEntity: ClothingOuterHardsuitSyndieElite cost: - Telecrystal: 10 + Telecrystal: 12 categories: - UplinkArmor saleLimit: 1 @@ -1322,7 +1322,7 @@ description: uplink-clothing-outer-hardsuit-juggernaut-desc productEntity: ClothingOuterHardsuitJuggernaut cost: - Telecrystal: 12 + Telecrystal: 20 categories: - UplinkArmor saleLimit: 1 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index fbaea3bf7a..42ca6ebfbf 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -210,6 +210,7 @@ Slash: 0.6 Piercing: 0.6 Caustic: 0.7 + Heat: 0.7 - type: ClothingSpeedModifier walkModifier: 0.85 sprintModifier: 0.85 @@ -234,6 +235,7 @@ Blunt: 0.8 Slash: 0.8 Piercing: 0.7 + Heat: 0.9 - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitBrigmedic @@ -252,12 +254,10 @@ modifiers: coefficients: Blunt: 0.55 - Slash: 0.65 - Piercing: 0.65 - Caustic: 0.75 - - type: ClothingSpeedModifier - walkModifier: 0.8 - sprintModifier: 0.8 + Slash: 0.55 + Piercing: 0.55 + Caustic: 0.65 + Heat: 0.65 - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitWarden @@ -285,6 +285,7 @@ Piercing: 0.5 Radiation: 0.5 Caustic: 0.6 + Heat: 0.6 - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitSecurityRed diff --git a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml index 0179ca3aaf..892c31dd90 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml @@ -105,7 +105,7 @@ suffix: 40 TC, NukeOps components: - type: Store - preset: StorePresetUplink + preset: StorePresetUplinkNukeOps balance: Telecrystal: 40 - type: Tag diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml index 6c57770f8d..41b44b36e1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml @@ -85,8 +85,8 @@ - type: Projectile damage: types: - Piercing: 4 - Slash: 4 #remember, it's metal shrapnel! + Piercing: 3 + Slash: 3 #remember, it's metal shrapnel! - type: entity id: PelletShotgunTranquilizer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml index 97dae526d0..d1df6e1912 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml @@ -28,7 +28,6 @@ Blunt: 0 - type: Stunprod - type: MeleeWeapon - attackRate: 1.25 canHeavyAttack: false wideAnimationRotation: -135 damage: diff --git a/Resources/Prototypes/Store/presets.yml b/Resources/Prototypes/Store/presets.yml index 3f18fb70d3..58bbb7f151 100644 --- a/Resources/Prototypes/Store/presets.yml +++ b/Resources/Prototypes/Store/presets.yml @@ -24,6 +24,23 @@ maxItems: 10 salesCategory: UplinkSales +- type: storePreset + id: StorePresetUplinkNukeOps + storeName: Uplink + categories: + - UplinkWeapons + - UplinkAmmo + - UplinkExplosives + - UplinkMisc + - UplinkBundles + - UplinkTools + - UplinkUtility + - UplinkImplants + - UplinkArmor + - UplinkPointless + currencyWhitelist: + - Telecrystal + - type: storePreset id: StorePresetChangeling storeName: Evolution Shop diff --git a/Resources/Prototypes/White/Actions/types.yml b/Resources/Prototypes/White/Actions/types.yml index 30dedb1017..5e15fa1039 100644 --- a/Resources/Prototypes/White/Actions/types.yml +++ b/Resources/Prototypes/White/Actions/types.yml @@ -20,7 +20,7 @@ noSpawn: true components: - type: InstantAction - useDelay: 2 + useDelay: 1.5 itemIconStyle: BigAction priority: -20 icon: diff --git a/Resources/Prototypes/White/Catalog/uplink.yml b/Resources/Prototypes/White/Catalog/uplink.yml index 697bee1e0a..9a25d0916c 100644 --- a/Resources/Prototypes/White/Catalog/uplink.yml +++ b/Resources/Prototypes/White/Catalog/uplink.yml @@ -100,14 +100,14 @@ categories: - UplinkArmor -- type: listing - id: UplinkBattleAxe - name: Энергетической боевой топор - description: Мощный боевой топор, способный повалить с одного удара любую незащищенную цель. - icon: { sprite: /Textures/White/Objects/Weapons/energy_axe.rsi, state: icon } - productEntity: EnergyBattleAxe - cost: - Telecrystal: 20 - categories: - - UplinkWeapons - saleLimit: 1 +#- type: listing +# id: UplinkBattleAxe +# name: Энергетической боевой топор +# description: Мощный боевой топор, способный повалить с одного удара любую незащищенную цель. +# icon: { sprite: /Textures/White/Objects/Weapons/energy_axe.rsi, state: icon } +# productEntity: EnergyBattleAxe +# cost: +# Telecrystal: 20 +# categories: +# - UplinkWeapons +# saleLimit: 1 diff --git a/Resources/Prototypes/White/Entities/Objects/Weapons/hardlight_spear.yml b/Resources/Prototypes/White/Entities/Objects/Weapons/hardlight_spear.yml index 56570149b5..2b68c6e12e 100644 --- a/Resources/Prototypes/White/Entities/Objects/Weapons/hardlight_spear.yml +++ b/Resources/Prototypes/White/Entities/Objects/Weapons/hardlight_spear.yml @@ -18,8 +18,8 @@ - type: DamageOtherOnHit damage: types: - Piercing: 30 - Heat: 30 + Piercing: 20 + Heat: 20 - type: Wieldable - type: IncreaseDamageOnWield damage: @@ -43,7 +43,7 @@ energy: 2 color: yellow - type: ChangeThrowForce - throwForce: 20 + throwForce: 15 - type: Fixtures fixtures: fix1: diff --git a/Resources/Prototypes/White/Entities/Objects/Weapons/snatcherprod.yml b/Resources/Prototypes/White/Entities/Objects/Weapons/snatcherprod.yml index 303cd55475..d46c3040fb 100644 --- a/Resources/Prototypes/White/Entities/Objects/Weapons/snatcherprod.yml +++ b/Resources/Prototypes/White/Entities/Objects/Weapons/snatcherprod.yml @@ -27,7 +27,6 @@ types: Blunt: 0 - type: MeleeWeapon - attackRate: 1.25 canHeavyAttack: false wideAnimationRotation: -135 damage: