using Content.Server.Defusable.Components; using Content.Server.Defusable.Systems; using Content.Server.Doors.Systems; using Content.Server.Explosion.EntitySystems; using Content.Server.Popups; using Content.Server.Wires; using Content.Shared.Administration.Logs; using Content.Shared.Database; using Content.Shared.Defusable; using Content.Shared.Doors; using Content.Shared.Doors.Components; using Content.Shared.Wires; using Robust.Server.GameObjects; namespace Content.Server.Defusable.WireActions; public sealed partial class DelayWireAction : ComponentWireAction { public override Color Color { get; set; } = Color.Yellow; public override string Name { get; set; } = "wire-name-bomb-delay"; public override bool LightRequiresPower { get; set; } = false; public override StatusLightState? GetLightState(Wire wire, DefusableComponent comp) { return comp.DelayWireUsed ? StatusLightState.On : StatusLightState.Off; } public override object StatusKey { get; } = DefusableWireStatus.DelayIndicator; public override bool Cut(EntityUid user, Wire wire, DefusableComponent comp) { return true; } public override bool Mend(EntityUid user, Wire wire, DefusableComponent comp) { return true; } public override void Pulse(EntityUid user, Wire wire, DefusableComponent comp) { EntityManager.System().DelayWirePulse(user, wire, comp); } }