using Content.Server.Defusable.Components; using Content.Server.Defusable.Systems; using Content.Server.Doors.Systems; using Content.Server.Wires; using Content.Shared.Defusable; using Content.Shared.Doors; using Content.Shared.Doors.Components; using Content.Shared.Wires; namespace Content.Server.Defusable.WireActions; public sealed partial class BoomWireAction : ComponentWireAction { public override Color Color { get; set; } = Color.Red; public override string Name { get; set; } = "wire-name-bomb-boom"; public override bool LightRequiresPower { get; set; } = false; public override StatusLightState? GetLightState(Wire wire, DefusableComponent comp) { return comp.Activated ? StatusLightState.On : StatusLightState.Off; } public override object StatusKey { get; } = DefusableWireStatus.BoomIndicator; public override bool Cut(EntityUid user, Wire wire, DefusableComponent comp) { return EntityManager.System().BoomWireCut(user, wire, comp); } public override bool Mend(EntityUid user, Wire wire, DefusableComponent comp) { return EntityManager.System().BoomWireMend(user, wire, comp); } public override void Pulse(EntityUid user, Wire wire, DefusableComponent comp) { EntityManager.System().BoomWirePulse(user, wire, comp); } }