]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Move grenade components to shared (#22691)
authorAexxie <codyfox.077@gmail.com>
Thu, 1 Feb 2024 13:29:01 +0000 (07:29 -0600)
committerGitHub <noreply@github.com>
Thu, 1 Feb 2024 13:29:01 +0000 (00:29 +1100)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Delete .run/Content Server+Client.run.xml

HOW DID THIS GET IN HERE ITS NOT AHHHH

* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update ExplodeOnTriggerComponent.cs

* Revert "Delete .run/Content Server+Client.run.xml"

This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.

* Fix?

* cannot figure out how to get this to go back please forgive

* Fixes a network issue

* leftovers

* Fixes

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
40 files changed:
.run/Content Server+Client.run.xml
Content.Client/Explosion/ClusterGrenadeVisualizerSystem.cs
Content.Client/Explosion/ExplosionOverlay.cs
Content.Client/Explosion/ExplosionOverlaySystem.cs
Content.Client/Explosion/SmokeOnTriggerSystem.cs [new file with mode: 0644]
Content.Client/Explosion/TriggerOnProximityComponent.cs
Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs
Content.Server/Defusable/Systems/DefusableSystem.cs
Content.Server/Explosion/Components/ActiveTimerTriggerComponent.cs [deleted file]
Content.Server/Explosion/Components/TriggerOnProximityComponent.cs
Content.Server/Explosion/EntitySystems/ClusterGrenadeSystem.cs
Content.Server/Explosion/EntitySystems/ExplosionSystem.GridMap.cs
Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs
Content.Server/Explosion/EntitySystems/ExplosionSystem.TileFill.cs
Content.Server/Explosion/EntitySystems/ExplosionSystem.Visuals.cs
Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs
Content.Server/Explosion/EntitySystems/TriggerSystem.Mobstate.cs
Content.Server/Explosion/EntitySystems/TriggerSystem.OnUse.cs
Content.Server/Explosion/EntitySystems/TriggerSystem.cs
Content.Server/Flash/Components/FlashOnTriggerComponent.cs [deleted file]
Content.Server/Flash/FlashSystem.cs
Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs
Content.Shared/Administration/SpawnExplosionEuiMsg.cs
Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs [new file with mode: 0644]
Content.Shared/Explosion/Components/ExplosionVisualsComponent.cs [moved from Content.Shared/Explosion/ExplosionVisualsComponent.cs with 97% similarity]
Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs [moved from Content.Server/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs with 57% similarity]
Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs [moved from Content.Server/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs with 85% similarity]
Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs [moved from Content.Server/Explosion/Components/OnUseTimerTriggerComponent.cs with 59% similarity]
Content.Shared/Explosion/Components/SharedClusterGrenadeComponent.cs [moved from Content.Shared/Explosion/SharedClusterGrenadeComponent.cs with 77% similarity]
Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs [moved from Content.Shared/Explosion/SharedTriggerOnProximityComponent.cs with 74% similarity]
Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs [new file with mode: 0644]
Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs [new file with mode: 0644]
Content.Shared/Flash/Components/FlashComponent.cs [moved from Content.Server/Flash/Components/FlashComponent.cs with 83% similarity]
Content.Shared/Flash/Components/FlashOnTriggerComponent.cs [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml
Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/ied.yml
Resources/Prototypes/Entities/Objects/Weapons/security.yml

index 0ec9bf16a750ae1408cd686b04979322b9fd2a30..191d737ccff69b0c537675b22cc5309872d86129 100644 (file)
@@ -1,4 +1,4 @@
-<component name="ProjectRunConfigurationManager">
+<component name="ProjectRunConfigurationManager">
   <configuration default="false" name="Content Server+Client" type="CompoundRunConfigurationType">
     <toRun name="Content.Client" type="DotNetProject" />
     <toRun name="Content.Server" type="DotNetProject" />
index 1e35cb6b59280634c3891e7f0084d28a1e099132..c8171742dc2ae346dda76d4ffa3dcbfa16a6b1ff 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Robust.Client.GameObjects;
 
 namespace Content.Client.Explosion;
index 2ab84d4438a818dc41e08bc96f742fe58993226f..94e8ca59823728254e6606469938dfe268b7fb31 100644 (file)
@@ -1,5 +1,5 @@
 using System.Numerics;
-using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using JetBrains.Annotations;
 using Robust.Client.Graphics;
 using Robust.Shared.Enums;
index 7ced95d2c1f2da3dfb0b4e1ac9df6049fc0f8236..fe552af0e7950347d34ebe4b15f37c7f71dbc4f9 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Robust.Client.Graphics;
 using Robust.Client.ResourceManagement;
 using Robust.Shared.GameStates;
diff --git a/Content.Client/Explosion/SmokeOnTriggerSystem.cs b/Content.Client/Explosion/SmokeOnTriggerSystem.cs
new file mode 100644 (file)
index 0000000..cac255e
--- /dev/null
@@ -0,0 +1,7 @@
+using Content.Shared.Explosion.EntitySystems;
+
+namespace Content.Client.Explosion;
+
+public sealed class SmokeOnTriggerSystem : SharedSmokeOnTriggerSystem
+{
+}
\ No newline at end of file
index 5d4714d19c3c2c824cb2c56551f43d1b6730a8ad..5fa9bbfd2372e7327d3600859d26b09a8c568364 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 
 namespace Content.Client.Explosion;
 
index 0e47de968f0a7d4482973c791379a88508644bb7..70179fdec1aae8c636886a474e87a653440a416b 100644 (file)
@@ -1,5 +1,6 @@
 using Content.IntegrationTests.Tests.Interaction;
 using Content.Server.Explosion.Components;
+using Content.Shared.Explosion.Components;
 using Robust.Shared.Containers;
 using Robust.Shared.GameObjects;
 
index 6927df256a473d8cc8c168702b142c83bac9cb02..1e9caece9456792c8750e4e6b4cb9f22ed0cb518 100644 (file)
@@ -8,6 +8,8 @@ using Content.Shared.Construction.Components;
 using Content.Shared.Database;
 using Content.Shared.Defusable;
 using Content.Shared.Examine;
+using Content.Shared.Explosion.Components;
+using Content.Shared.Explosion.Components.OnTrigger;
 using Content.Shared.Popups;
 using Content.Shared.Verbs;
 using Content.Shared.Wires;
diff --git a/Content.Server/Explosion/Components/ActiveTimerTriggerComponent.cs b/Content.Server/Explosion/Components/ActiveTimerTriggerComponent.cs
deleted file mode 100644 (file)
index d4f57b7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-using Robust.Shared.Audio;
-
-namespace Content.Server.Explosion.Components;
-
-/// <summary>
-///     Component for tracking active trigger timers. A timers can activated by some other component, e.g. <see cref="OnUseTimerTriggerComponent"/>.
-/// </summary>
-[RegisterComponent]
-public sealed partial class ActiveTimerTriggerComponent : Component
-{
-    [DataField("timeRemaining")]
-    public float TimeRemaining;
-
-    [DataField("user")]
-    public EntityUid? User;
-
-    [DataField("beepInterval")]
-    public float BeepInterval;
-
-    [DataField("timeUntilBeep")]
-    public float TimeUntilBeep;
-
-    [DataField("beepSound")]
-    public SoundSpecifier? BeepSound;
-}
index cfa1042245b00959acec0ff6fe2524c221406c44..504ef4dee43e647bffe4569c2d4ba44b10a4182f 100644 (file)
@@ -1,5 +1,6 @@
 using Content.Server.Explosion.EntitySystems;
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Content.Shared.Physics;
 using Robust.Shared.Physics.Collision.Shapes;
 using Robust.Shared.Physics.Components;
index ee3f76d04c6385488e60562748fa0f9b7916c5bf..4ea857a5527f3e5a7d0436c8ebc32c691c38f91b 100644 (file)
@@ -8,6 +8,8 @@ using Robust.Shared.Containers;
 using Robust.Shared.Random;
 using Content.Server.Weapons.Ranged.Systems;
 using System.Numerics;
+using Content.Shared.Explosion.Components;
+using Content.Shared.Flash.Components;
 using Robust.Server.Containers;
 using Robust.Server.GameObjects;
 
index 799489d7b4cd797ea8cdfb9ceda41aa0b8a480e5..b04642a8db000d991277a2b5fc93242664a68abc 100644 (file)
@@ -1,6 +1,7 @@
 using System.Numerics;
 using Content.Shared.Atmos;
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Robust.Shared.Map;
 using Robust.Shared.Map.Components;
 
index e48d9f145ebbb62dcc1f0f8f433119a89540557d..2bfc753b74ae1d0dcf0c4f2d7664fb19498ef0ea 100644 (file)
@@ -3,6 +3,7 @@ using System.Numerics;
 using Content.Shared.CCVar;
 using Content.Shared.Damage;
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Content.Shared.Maps;
 using Content.Shared.Physics;
 using Content.Shared.Projectiles;
index 65ca6e782ca672dbc56e723d224315997f8cd698..1b324d924bc0484dacb59da303543e205d38a48b 100644 (file)
@@ -2,6 +2,7 @@ using System.Linq;
 using System.Numerics;
 using Content.Shared.Administration;
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Robust.Shared.Map;
 using Robust.Shared.Physics.Components;
 using Robust.Shared.Timing;
index ef8e1ffd987f304e1af954354f8f84f5162472e8..d332531502c75802ca5d3373a7a81fe6f3e22a25 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 using Robust.Server.GameObjects;
 using Robust.Shared.GameStates;
 using Robust.Shared.Map;
index 3ddb411d40db191519ac081973a427c3ec85488c..ab706d6d9c51d722d021412fc9bfa7c548f2c5f9 100644 (file)
@@ -1,7 +1,9 @@
-using Content.Server.Explosion.Components;
+using Content.Shared.Explosion.Components;
 using Content.Server.Fluids.EntitySystems;
 using Content.Shared.Chemistry.Components;
 using Content.Shared.Coordinates.Helpers;
+using Content.Shared.Explosion.Components.OnTrigger;
+using Content.Shared.Explosion.EntitySystems;
 using Content.Shared.Maps;
 using Robust.Shared.Map;
 
@@ -10,7 +12,7 @@ namespace Content.Server.Explosion.EntitySystems;
 /// <summary>
 /// Handles creating smoke when <see cref="SmokeOnTriggerComponent"/> is triggered.
 /// </summary>
-public sealed class SmokeOnTriggerSystem : EntitySystem
+public sealed class SmokeOnTriggerSystem : SharedSmokeOnTriggerSystem
 {
     [Dependency] private readonly IMapManager _mapMan = default!;
     [Dependency] private readonly SmokeSystem _smoke = default!;
index 0b674adefd98bba3fc8e4ead0b0fce1b34df994d..45198662ec3bd60a0ea1e69f3beb7ecef001da55 100644 (file)
@@ -1,4 +1,5 @@
 using Content.Server.Explosion.Components;
+using Content.Shared.Explosion.Components;
 using Content.Shared.Implants;
 using Content.Shared.Interaction.Events;
 using Content.Shared.Mobs;
index 7edca9b803a6ec77c4ebb0af30d4bd9f81e24f63..373cd1a9956f14851f0f339c590e0c707f946ffb 100644 (file)
@@ -1,6 +1,7 @@
 using Content.Server.Explosion.Components;
 using Content.Server.Sticky.Events;
 using Content.Shared.Examine;
+using Content.Shared.Explosion.Components;
 using Content.Shared.Interaction.Events;
 using Content.Shared.Popups;
 using Content.Shared.Verbs;
index 7b3e0b0e6267157de4504de3a07b27a8b4833e61..aa81f80c501148a7af2f4b53b6647773509df415 100644 (file)
@@ -3,11 +3,13 @@ using Content.Server.Body.Systems;
 using Content.Server.Chemistry.Containers.EntitySystems;
 using Content.Server.Explosion.Components;
 using Content.Server.Flash;
-using Content.Server.Flash.Components;
+using Content.Shared.Flash.Components;
 using Content.Server.Radio.EntitySystems;
 using Content.Shared.Chemistry.Components;
 using Content.Shared.Chemistry.Components.SolutionManager;
 using Content.Shared.Database;
+using Content.Shared.Explosion.Components;
+using Content.Shared.Explosion.Components.OnTrigger;
 using Content.Shared.Implants.Components;
 using Content.Shared.Interaction;
 using Content.Shared.Mobs;
diff --git a/Content.Server/Flash/Components/FlashOnTriggerComponent.cs b/Content.Server/Flash/Components/FlashOnTriggerComponent.cs
deleted file mode 100644 (file)
index ad12dbd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Content.Server.Flash.Components
-{
-    /// <summary>
-    /// Upon being triggered will flash in an area around it.
-    /// </summary>
-    [RegisterComponent]
-    internal sealed partial class FlashOnTriggerComponent : Component
-    {
-        [DataField("range")] internal float Range = 1.0f;
-        [DataField("duration")] internal float Duration = 8.0f;
-    }
-}
index ff50c813eb95ee370ab7c1ce1d10063b723ff7e9..5bee1834fa4313a18ea1c349f04084154ef387ac 100644 (file)
@@ -7,6 +7,7 @@ using Content.Shared.Charges.Components;
 using Content.Shared.Charges.Systems;
 using Content.Shared.Eye.Blinding.Components;
 using Content.Shared.Flash;
+using Content.Shared.Flash.Components;
 using Content.Shared.IdentityManagement;
 using Content.Shared.Interaction;
 using Content.Shared.Interaction.Events;
index 45d868cdbf6a9616ad0302e6d38fa96fcfdc8314..f8d781bcfff6358729ca4eb6eab6485d12cafba8 100644 (file)
@@ -5,6 +5,7 @@ using Content.Server.Fluids.EntitySystems;
 using Content.Server.Nutrition.Components;
 using Content.Server.Popups;
 using Content.Shared.Containers.ItemSlots;
+using Content.Shared.Explosion.Components;
 using Content.Shared.Interaction;
 using Content.Shared.Nutrition.Components;
 using Content.Shared.Nutrition.EntitySystems;
index 910399a95c2649e67971c1c016cb64240996e7c7..03c0625b9af3ad314c22dccb6f3bc6b9298a1bc3 100644 (file)
@@ -2,6 +2,7 @@ using Content.Shared.Eui;
 using Robust.Shared.Serialization;
 using Robust.Shared.Map;
 using Content.Shared.Explosion;
+using Content.Shared.Explosion.Components;
 
 namespace Content.Shared.Administration;
 
diff --git a/Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs b/Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs
new file mode 100644 (file)
index 0000000..b030471
--- /dev/null
@@ -0,0 +1,21 @@
+using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Explosion.Components;
+
+/// <summary>
+///     Component for tracking active trigger timers. A timers can activated by some other component, e.g. <see cref="OnUseTimerTriggerComponent"/>.
+/// </summary>
+[RegisterComponent, NetworkedComponent]
+public sealed partial class ActiveTimerTriggerComponent : Component
+{
+    [DataField] public float TimeRemaining;
+
+    [DataField] public EntityUid? User;
+
+    [DataField] public float BeepInterval;
+
+    [DataField] public float TimeUntilBeep;
+
+    [DataField] public SoundSpecifier? BeepSound;
+}
similarity index 97%
rename from Content.Shared/Explosion/ExplosionVisualsComponent.cs
rename to Content.Shared/Explosion/Components/ExplosionVisualsComponent.cs
index 5baa59fc5a0707097a54d422a60f854c5705569a..7477b6c26eae7cba8a070ad695e49c859ed23fa0 100644 (file)
@@ -2,7 +2,7 @@ using Robust.Shared.GameStates;
 using Robust.Shared.Map;
 using Robust.Shared.Serialization;
 
-namespace Content.Shared.Explosion;
+namespace Content.Shared.Explosion.Components;
 
 /// <summary>
 ///     Component that is used to send explosion overlay/visual data to an abstract explosion entity.
similarity index 57%
rename from Content.Server/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs
rename to Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs
index 326ae6dab57b900bd1948ba0960bc57f7dce732a..e14cd12464050f015ade2b17df1a9800f326fa96 100644 (file)
@@ -1,9 +1,11 @@
-namespace Content.Server.Explosion.Components;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Explosion.Components.OnTrigger;
 
 /// <summary>
 /// Explode using the entity's <see cref="ExplosiveComponent"/> if Triggered.
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, NetworkedComponent]
 public sealed partial class ExplodeOnTriggerComponent : Component
 {
 }
similarity index 85%
rename from Content.Server/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs
rename to Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs
index d71e93495a98eff93fb3e47b79a387304ddd9608..dfaee98fab9646da3cfa40c46ad7ada79ea798e6 100644 (file)
@@ -1,14 +1,15 @@
-using Content.Server.Explosion.EntitySystems;
 using Content.Shared.Chemistry.Components;
+using Content.Shared.Explosion.EntitySystems;
+using Robust.Shared.GameStates;
 using Robust.Shared.Prototypes;
 
-namespace Content.Server.Explosion.Components;
+namespace Content.Shared.Explosion.Components.OnTrigger;
 
 /// <summary>
 /// Creates a smoke cloud when triggered, with an optional solution to include in it.
 /// No sound is played incase a grenade is stealthy, use <see cref="SoundOnTriggerComponent"/> if you want a sound.
 /// </summary>
-[RegisterComponent, Access(typeof(SmokeOnTriggerSystem))]
+[RegisterComponent, NetworkedComponent, Access(typeof(SharedSmokeOnTriggerSystem))]
 public sealed partial class SmokeOnTriggerComponent : Component
 {
     /// <summary>
similarity index 59%
rename from Content.Server/Explosion/Components/OnUseTimerTriggerComponent.cs
rename to Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
index f2e94239a03392d565edf6ea133010ea55fd2649..5e509cb10bbaeac9d85a49c68e6eb42bc3c90db8 100644 (file)
@@ -1,57 +1,49 @@
 using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
 
-namespace Content.Server.Explosion.Components
+namespace Content.Shared.Explosion.Components
 {
-    [RegisterComponent]
+    [RegisterComponent, NetworkedComponent]
     public sealed partial class OnUseTimerTriggerComponent : Component
     {
-        [DataField("delay")]
-        public float Delay = 1f;
+        [DataField] public float Delay = 1f;
 
         /// <summary>
         ///     If not null, a user can use verbs to configure the delay to one of these options.
         /// </summary>
-        [DataField("delayOptions")]
-        public List<float>? DelayOptions = null;
+        [DataField] public List<float>? DelayOptions = null;
 
         /// <summary>
         ///     If not null, this timer will periodically play this sound while active.
         /// </summary>
-        [DataField("beepSound")]
-        public SoundSpecifier? BeepSound;
+        [DataField] public SoundSpecifier? BeepSound;
 
         /// <summary>
         ///     Time before beeping starts. Defaults to a single beep interval. If set to zero, will emit a beep immediately after use.
         /// </summary>
-        [DataField("initialBeepDelay")]
-        public float? InitialBeepDelay;
+        [DataField] public float? InitialBeepDelay;
 
-        [DataField("beepInterval")]
-        public float BeepInterval = 1;
+        [DataField] public float BeepInterval = 1;
 
         /// <summary>
         ///     Whether the timer should instead be activated through a verb in the right-click menu
         /// </summary>
-        [DataField("useVerbInstead")]
-        public bool UseVerbInstead = false;
+        [DataField] public bool UseVerbInstead = false;
 
         /// <summary>
         ///     Should timer be started when it was stuck to another entity.
         ///     Used for C4 charges and similar behaviour.
         /// </summary>
-        [DataField("startOnStick")]
-        public bool StartOnStick;
+        [DataField] public bool StartOnStick;
 
         /// <summary>
         ///     Allows changing the start-on-stick quality.
         /// </summary>
-        [DataField("canToggleStartOnStick")]
-        public bool AllowToggleStartOnStick;
+        [DataField("canToggleStartOnStick")] public bool AllowToggleStartOnStick;
 
         /// <summary>
         ///     Whether you can examine the item to see its timer or not.
         /// </summary>
-        [DataField("examinable")]
-        public bool Examinable = true;
+        [DataField] public bool Examinable = true;
     }
 }
similarity index 77%
rename from Content.Shared/Explosion/SharedClusterGrenadeComponent.cs
rename to Content.Shared/Explosion/Components/SharedClusterGrenadeComponent.cs
index 602e0e4479ef90e2ef80757f24a264c451fe2842..1655e4cb57d0ecda0b4e7b307e8716fd36f5c72e 100644 (file)
@@ -1,6 +1,6 @@
 using Robust.Shared.Serialization;
 
-namespace Content.Shared.Explosion
+namespace Content.Shared.Explosion.Components
 {
     [Serializable, NetSerializable]
     public enum ClusterGrenadeVisuals : byte
similarity index 74%
rename from Content.Shared/Explosion/SharedTriggerOnProximityComponent.cs
rename to Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs
index fdc5cd11342b10691faf99f06eac3d13fb9b7d16..02d115610495ce2dc62702b18f1d36848de2b684 100644 (file)
@@ -1,6 +1,6 @@
 using Robust.Shared.GameStates;
 
-namespace Content.Shared.Explosion;
+namespace Content.Shared.Explosion.Components;
 
 [NetworkedComponent]
 public abstract partial class SharedTriggerOnProximityComponent : Component
diff --git a/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs
new file mode 100644 (file)
index 0000000..0a8caa5
--- /dev/null
@@ -0,0 +1,6 @@
+namespace Content.Shared.Explosion.EntitySystems;
+
+public abstract class SharedSmokeOnTriggerSystem : EntitySystem
+{
+       
+}
\ No newline at end of file
diff --git a/Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs
new file mode 100644 (file)
index 0000000..cc5b3f6
--- /dev/null
@@ -0,0 +1,6 @@
+namespace Content.Shared.Explosion.EntitySystems;
+
+public abstract class SharedTriggerSystem : EntitySystem
+{
+       
+}
\ No newline at end of file
similarity index 83%
rename from Content.Server/Flash/Components/FlashComponent.cs
rename to Content.Shared/Flash/Components/FlashComponent.cs
index f8437ab18061ae894adde2b432aa17106f417154..a26e32cb70f5776ca488e71134fa7410e95017f1 100644 (file)
@@ -1,8 +1,10 @@
+using Content.Shared.Flash;
 using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
 
-namespace Content.Server.Flash.Components
+namespace Content.Shared.Flash.Components
 {
-    [RegisterComponent, Access(typeof(FlashSystem))]
+    [RegisterComponent, NetworkedComponent, Access(typeof(SharedFlashSystem))]
     public sealed partial class FlashComponent : Component
     {
 
diff --git a/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs b/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs
new file mode 100644 (file)
index 0000000..f257c83
--- /dev/null
@@ -0,0 +1,13 @@
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Flash.Components;
+
+/// <summary>
+/// Upon being triggered will flash in an area around it.
+/// </summary>
+[RegisterComponent, NetworkedComponent]
+public sealed partial class FlashOnTriggerComponent : Component
+{
+    [DataField] public float Range = 1.0f;
+    [DataField] public float Duration = 8.0f;
+}
index c462a3cb038ac72f72c2304ccb9a9ca63623f542..43ed20c694c4359c67600c325814f95a0a95429b 100644 (file)
       delay: 5
       delayOptions: [3, 5, 10, 15, 30]
       initialBeepDelay: 0
-      beepSound: /Audio/Machines/Nuke/general_beep.ogg
-      params:
-        volume: -2
+      beepSound:
+        path: /Audio/Machines/Nuke/general_beep.ogg
+        params:
+          volume: -2
     - type: StaticPrice
       price: 40
 
index d369d03996844a872a846fa6032a1615eb2908c7..092b013f5b776c96592f3c22f6b48f0c8e381dba 100644 (file)
     - type: OnUseTimerTrigger
       delay: 7
       initialBeepDelay: 0
-      beepSound: /Audio/Machines/Nuke/general_beep.ogg
-      params:
-        volume: -2
+      beepSound:
+        path: /Audio/Machines/Nuke/general_beep.ogg
+        params:
+          volume: -2
     - type: ExplodeOnTrigger
     - type: GibOnTrigger
       deleteItems: true
index 3f53b3e1cea051327862ecd9628345b7f98141f2..f83c48436a6ce4cb300df8111143c4a4929a51b1 100644 (file)
   - type: OnUseTimerTrigger
     useVerbInstead: true
     beepInterval: .25
-    beepSound: /Audio/Items/Janitor/floor_sign_beep.ogg
-    params:
-      volume: 1
+    beepSound:
+      path: /Audio/Items/Janitor/floor_sign_beep.ogg
+      params:
+        volume: 1
     examinable: false
   - type: Tag
     tags: # ignore "WhitelistChameleon" tag
index 7d95e7481e3b2125e55b8a630def031edebccc9a..4aff7363a4500f42d1b68561d10630a8bc5b34e0 100644 (file)
           Blunt: 5
     - type: OnUseTimerTrigger
       delay: 120
-      beepSound: /Audio/Machines/Nuke/general_beep.ogg
-      params:
-        volume: -2
+      beepSound:
+        path: /Audio/Machines/Nuke/general_beep.ogg
+        params:
+          volume: -2
     - type: ExplodeOnTrigger
     - type: Explosive
       explosionType: Default
index 14906c7c2d5c5e8368e319f916114eab20f50548..c4420a43a3687e8954d742c46c7beb55b1d50b67 100644 (file)
@@ -22,7 +22,8 @@
     initialBeepDelay: 0
     beepSound:
       path: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
-      volume: 1
+      params:
+        volume: 1
   - type: RandomTimerTrigger
     min: 0
     max: 60
index c8f2fd4d0e7bbd5fa9d538dbe88f2a3699204085..eef38e2541638416f5c349431327c160ea8493d2 100644 (file)
       sound:
         path: /Audio/Weapons/flash.ogg
     - type: FlashOnTrigger
-      repeating: true
       range: 3
     - type: TriggerOnProximity
       enabled: true