diff --git a/Content.Server/_White/AspectsSystem/Aspects/BattledAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/BattledAspect.cs index 96cf45fbcc..8b0d181cb0 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/BattledAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/BattledAspect.cs @@ -43,6 +43,7 @@ public sealed class BattledAspect : AspectSystem while (query.MoveNext(out var ent, out _)) { GiveItem(ent); + ChatHelper.SendAspectDescription(ent, Loc.GetString("battled-aspect-desc")); } } @@ -61,6 +62,7 @@ public sealed class BattledAspect : AspectSystem var mob = ev.Mob; GiveItem(mob); + ChatHelper.SendAspectDescription(mob, Loc.GetString("battled-aspect-desc")); } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/CatEarsAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/CatEarsAspect.cs index d75e9de395..f6ad27f73c 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/CatEarsAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/CatEarsAspect.cs @@ -66,6 +66,7 @@ public sealed class CatEarsAspect : AspectSystem while (query.MoveNext(out var ent, out var appearance)) { AddMarkings(ent, appearance); + ChatHelper.SendAspectDescription(ent, Loc.GetString("cat-ears-aspect-desc")); } } @@ -81,6 +82,7 @@ public sealed class CatEarsAspect : AspectSystem return; AddMarkings(ev.Mob); + ChatHelper.SendAspectDescription(ev.Mob, Loc.GetString("cat-ears-aspect-desc")); } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/DancingAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/DancingAspect.cs index f04cf6e4e0..7d2ad4e7ac 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/DancingAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/DancingAspect.cs @@ -28,6 +28,7 @@ public sealed class DancingAspect : AspectSystem while (query.MoveNext(out var ent, out _, out _)) { EnsureComp(ent); + ChatHelper.SendAspectDescription(ent, Loc.GetString("dancing-aspect-desc")); } } @@ -45,6 +46,7 @@ public sealed class DancingAspect : AspectSystem var mob = ev.Mob; EnsureComp(mob); + ChatHelper.SendAspectDescription(mob, Loc.GetString("dancing-aspect-desc")); } } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/DrunkAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/DrunkAspect.cs index 30be9f7931..d5d7c551a6 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/DrunkAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/DrunkAspect.cs @@ -27,6 +27,8 @@ public sealed class DrunkAspect : AspectSystem while (query.MoveNext(out var ent, out _)) { _drunkSystem.TryApplyDrunkenness(ent, 50); + + ChatHelper.SendAspectDescription(ent, Loc.GetString("drunk-aspect-desc")); } } @@ -44,6 +46,9 @@ public sealed class DrunkAspect : AspectSystem var mob = ev.Mob; _drunkSystem.TryApplyDrunkenness(mob, 50); + + ChatHelper.SendAspectDescription(mob, Loc.GetString("drunk-aspect-desc")); + } } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/FastAndFuriousAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/FastAndFuriousAspect.cs index 9221bd23a1..979ec0463c 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/FastAndFuriousAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/FastAndFuriousAspect.cs @@ -39,6 +39,7 @@ public sealed class FastAndFuriousAspect : AspectSystem(ent); + ChatHelper.SendAspectDescription(ent, Loc.GetString("fast-and-furious-aspect-desc")); } } @@ -53,6 +54,7 @@ public sealed class FastAndFuriousAspect : AspectSystem FuckUpEye(entity, 0.6f); AddTelescope(entity); - _playerManager.TryGetSessionByEntity(entity, out var session); - if (session != null) - _chatManager.DispatchServerMessage(session, Loc.GetString("immersive-aspect-desc")); + ChatHelper.SendAspectDescription(entity, Loc.GetString("immersive-aspect-desc")); } } @@ -83,9 +81,7 @@ public sealed class ImmersiveAspect : AspectSystem FuckUpEye(ev.Mob, 0.6f); AddTelescope(ev.Mob); - _playerManager.TryGetSessionByEntity(ev.Mob, out var session); - if (session != null) - _chatManager.DispatchServerMessage(session, Loc.GetString("immersive-aspect-desc")); + ChatHelper.SendAspectDescription(ev.Mob, Loc.GetString("immersive-aspect-desc")); } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/RandomAccentAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/RandomAccentAspect.cs index b443380f4a..5013dafe83 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/RandomAccentAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/RandomAccentAspect.cs @@ -28,6 +28,7 @@ public sealed class RandomAccentAspect : AspectSystem(ent); + ChatHelper.SendAspectDescription(ent, Loc.GetString("random-appearance-aspect-desc")); } } @@ -41,6 +42,7 @@ public sealed class RandomAppearanceAspect : AspectSystem(mob); + ChatHelper.SendAspectDescription(mob, Loc.GetString("random-appearance-aspect-desc")); } } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/RandomItemAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/RandomItemAspect.cs index 2519e2f43d..118c2c68d9 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/RandomItemAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/RandomItemAspect.cs @@ -30,6 +30,7 @@ public sealed class RandomItemAspect : AspectSystem while (query.MoveNext(out var ent, out _)) { GiveItem(ent, component); + ChatHelper.SendAspectDescription(ent, Loc.GetString("random-item-aspect-desc")); } } @@ -48,6 +49,7 @@ public sealed class RandomItemAspect : AspectSystem var mob = ev.Mob; GiveItem(mob, component); + ChatHelper.SendAspectDescription(mob, Loc.GetString("random-item-aspect-desc")); } } diff --git a/Content.Server/_White/AspectsSystem/Aspects/SkeletonAspect.cs b/Content.Server/_White/AspectsSystem/Aspects/SkeletonAspect.cs index 4eb958e997..2b6e0117e0 100644 --- a/Content.Server/_White/AspectsSystem/Aspects/SkeletonAspect.cs +++ b/Content.Server/_White/AspectsSystem/Aspects/SkeletonAspect.cs @@ -42,7 +42,9 @@ public sealed class SkeletonAspect : AspectSystem foreach (var ent in entitiesToPolymorph) { PolymorphEntity(ent.Key, ent.Value); + ChatHelper.SendAspectDescription(ent.Key, Loc.GetString("skeleton-aspect-desc")); } + } private void HandleLateJoin(PlayerSpawnCompleteEvent ev) @@ -57,6 +59,8 @@ public sealed class SkeletonAspect : AspectSystem return; PolymorphEntity(ev.Mob); + + ChatHelper.SendAspectDescription(ev.Mob, Loc.GetString("skeleton-aspect-desc")); } } diff --git a/Content.Server/_White/AspectsSystem/Base/ChatHelper.cs b/Content.Server/_White/AspectsSystem/Base/ChatHelper.cs new file mode 100644 index 0000000000..f736f46ed1 --- /dev/null +++ b/Content.Server/_White/AspectsSystem/Base/ChatHelper.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Content.Server.Chat.Managers; +using Robust.Shared.Player; + +namespace Content.Server._White.AspectsSystem.Base +{ + public static class ChatHelper + { + [Dependency] private static ISharedPlayerManager _playerManager = default!; + [Dependency] private static IChatManager _chatManager = default!; + + + + + public static void Initialize(ISharedPlayerManager playerManager, IChatManager chatManager) + { + _playerManager = playerManager; + _chatManager = chatManager; + } + public static void SendAspectDescription(EntityUid mob, string messageKey) + { + _playerManager.TryGetSessionByEntity(mob, out var session); + if (session != null) + { + _chatManager.DispatchServerMessage(session, Loc.GetString(messageKey)); + } + } + } +} diff --git a/Content.Server/_White/UnsafePseudoIoC.cs b/Content.Server/_White/UnsafePseudoIoC.cs index 2c55b065cc..88ff739246 100644 --- a/Content.Server/_White/UnsafePseudoIoC.cs +++ b/Content.Server/_White/UnsafePseudoIoC.cs @@ -1,4 +1,7 @@ -using Robust.Shared.Configuration; +using Content.Server._White.AspectsSystem.Base; +using Content.Server.Chat.Managers; +using Robust.Shared.Configuration; +using Robust.Shared.Player; namespace Content.Server._White; @@ -9,7 +12,7 @@ public static class UnsafePseudoIoC // Я НАНАВИЖУ IOCMAANGERRESOLVEPOSH public static void Initialize() { ConfigurationManager = IoCManager.Resolve(); - ChatHelper.Initialize(IoCManager.Resolve(), IoCManager.Resolve());// heh IOCMAANGERRESOLVEPOSHEL NAHUI + ChatHelper.Initialize(IoCManager.Resolve(), IoCManager.Resolve());// heh IOCMAANGERRESOLVEPOSHEL NAHUI X2 } } diff --git a/Resources/Locale/ru-RU/_white/aspects.ftl b/Resources/Locale/ru-RU/_white/aspects.ftl index 0b898194f6..7a9dab2c84 100644 --- a/Resources/Locale/ru-RU/_white/aspects.ftl +++ b/Resources/Locale/ru-RU/_white/aspects.ftl @@ -1 +1,10 @@ immersive-aspect-desc = Для осмотра своего окружение, нажмите клавишу присмотреться/прицелиться (по умолчанию - Пробел). +skeleton-aspect-desc = temp1. +battled-aspect-desc = temp2. +cat-ears-aspect-desc = temp3. +dancing-aspect-desc = temp4. +drunk-aspect-desc = temp5. +fast-and-furious-aspect-desc = temp6. +random-accent-aspect-desc = temp7. +random-appearance-aspect-desc = temp8. +random-item-aspect-desc = temp9. \ No newline at end of file