From 58f6086cb7adff6d92918fe85626ad2dca737994 Mon Sep 17 00:00:00 2001 From: chromiumboy <50505512+chromiumboy@users.noreply.github.com> Date: Sun, 17 Dec 2023 10:08:59 -0600 Subject: [PATCH] Adds construction effect to RCD (#22633) --- Content.Shared/RCD/Systems/RCDSystem.cs | 5 +- Resources/Prototypes/Entities/Effects/rcd.yml | 16 ++++++ .../Textures/Effects/rcd.rsi/construct.png | Bin 0 -> 3612 bytes Resources/Textures/Effects/rcd.rsi/meta.json | 50 ++++++++++++++++++ 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/Entities/Effects/rcd.yml create mode 100644 Resources/Textures/Effects/rcd.rsi/construct.png create mode 100644 Resources/Textures/Effects/rcd.rsi/meta.json diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs index d7126716ed..402b424fb6 100644 --- a/Content.Shared/RCD/Systems/RCDSystem.cs +++ b/Content.Shared/RCD/Systems/RCDSystem.cs @@ -38,6 +38,7 @@ public sealed class RCDSystem : EntitySystem [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly TurfSystem _turf = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; private readonly int RcdModeCount = Enum.GetValues(typeof(RcdMode)).Length; @@ -110,7 +111,9 @@ public sealed class RCDSystem : EntitySystem }; args.Handled = true; - _doAfter.TryStartDoAfter(doAfterArgs); + + if (_doAfter.TryStartDoAfter(doAfterArgs) && _gameTiming.IsFirstTimePredicted) + Spawn("EffectRCDConstruction", location); } private void OnDoAfterAttempt(EntityUid uid, RCDComponent comp, DoAfterAttemptEvent args) diff --git a/Resources/Prototypes/Entities/Effects/rcd.yml b/Resources/Prototypes/Entities/Effects/rcd.yml new file mode 100644 index 0000000000..adc6aa593c --- /dev/null +++ b/Resources/Prototypes/Entities/Effects/rcd.yml @@ -0,0 +1,16 @@ +- type: entity + id: EffectRCDConstruction + noSpawn: true + components: + - type: Transform + anchored: True + - type: Sprite + drawdepth: Effects + sprite: /Textures/Effects/rcd.rsi + state: construct + - type: TimedDespawn + lifetime: 3.2 + - type: Tag + tags: + - HideContextMenu + - type: AnimationPlayer diff --git a/Resources/Textures/Effects/rcd.rsi/construct.png b/Resources/Textures/Effects/rcd.rsi/construct.png new file mode 100644 index 0000000000000000000000000000000000000000..f4be36c9bf4363ad314986a38dfa3dd7a506ea6b GIT binary patch literal 3612 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 a+X}&kW$HhP#uT9I6EM4EfvPrgjs73@Qy{Pa literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/rcd.rsi/meta.json b/Resources/Textures/Effects/rcd.rsi/meta.json new file mode 100644 index 0000000000..5004a9c4fc --- /dev/null +++ b/Resources/Textures/Effects/rcd.rsi/meta.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgStation at commit https://github.com/tgstation/tgstation/commit/d75cbd0a2900fdec4c12cd5ba986b52ccff03713/icons/effects/effects_rcd.dmi", + "states": [ + { + "name": "construct", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} -- 2.51.2