[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;
};
args.Handled = true;
- _doAfter.TryStartDoAfter(doAfterArgs);
+
+ if (_doAfter.TryStartDoAfter(doAfterArgs) && _gameTiming.IsFirstTimePredicted)
+ Spawn("EffectRCDConstruction", location);
}
private void OnDoAfterAttempt(EntityUid uid, RCDComponent comp, DoAfterAttemptEvent<RCDDoAfterEvent> args)
--- /dev/null
+- 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
--- /dev/null
+{
+ "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
+ ]
+ ]
+ }
+ ]
+}