]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
let FlashArea be called from shared (#30343)
authordeltanedas <39013340+deltanedas@users.noreply.github.com>
Wed, 18 Sep 2024 23:58:10 +0000 (23:58 +0000)
committerGitHub <noreply@github.com>
Wed, 18 Sep 2024 23:58:10 +0000 (09:58 +1000)
* let FlashArea be called from shared

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Content.Client/Flash/FlashOverlay.cs
Content.Server/Flash/FlashSystem.cs
Content.Shared/Flash/SharedFlashSystem.cs

index 046be2aa62142c4e1cb2a51909fef1ada4097aa9..8e41c382dd7e7c6a12390d867f2afef106f1ab20 100644 (file)
@@ -16,6 +16,7 @@ namespace Content.Client.Flash
         [Dependency] private readonly IPlayerManager _playerManager = default!;
         [Dependency] private readonly IGameTiming _timing = default!;
 
+        private readonly SharedFlashSystem _flash;
         private readonly StatusEffectsSystem _statusSys;
 
         public override OverlaySpace Space => OverlaySpace.WorldSpace;
@@ -27,6 +28,7 @@ namespace Content.Client.Flash
         {
             IoCManager.InjectDependencies(this);
             _shader = _prototypeManager.Index<ShaderPrototype>("FlashedEffect").InstanceUnique();
+            _flash = _entityManager.System<SharedFlashSystem>();
             _statusSys = _entityManager.System<StatusEffectsSystem>();
         }
 
@@ -41,7 +43,7 @@ namespace Content.Client.Flash
                 || !_entityManager.TryGetComponent<StatusEffectsComponent>(playerEntity, out var status))
                 return;
 
-            if (!_statusSys.TryGetTime(playerEntity.Value, SharedFlashSystem.FlashedKey, out var time, status))
+            if (!_statusSys.TryGetTime(playerEntity.Value, _flash.FlashedKey, out var time, status))
                 return;
 
             var curTime = _timing.CurTime;
index ccb58e94f81426ea49b35cc5f4c27d9e1389583b..fb449a372cd4996adce76559e35212b23ce2ef1a 100644 (file)
@@ -152,7 +152,7 @@ namespace Content.Server.Flash
             }
         }
 
-        public void FlashArea(Entity<FlashComponent?> source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, float probability = 1f, SoundSpecifier? sound = null)
+        public override void FlashArea(Entity<FlashComponent?> source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, float probability = 1f, SoundSpecifier? sound = null)
         {
             var transform = Transform(source);
             var mapPosition = _transform.GetMapCoordinates(transform);
index f83f02a310586b84263f0ef25f93e5109708239a..b7788098870b1f845b1453c73937ee65d7ac89bd 100644 (file)
@@ -1,10 +1,15 @@
+using Content.Shared.Flash.Components;
 using Content.Shared.StatusEffect;
+using Robust.Shared.Audio;
+using Robust.Shared.Prototypes;
 
-namespace Content.Shared.Flash
+namespace Content.Shared.Flash;
+
+public abstract class SharedFlashSystem : EntitySystem
 {
-    public abstract class SharedFlashSystem : EntitySystem
+    public ProtoId<StatusEffectPrototype> FlashedKey = "Flashed";
+
+    public virtual void FlashArea(Entity<FlashComponent?> source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, float probability = 1f, SoundSpecifier? sound = null)
     {
-        [ValidatePrototypeId<StatusEffectPrototype>]
-        public const string FlashedKey = "Flashed";
     }
 }