BoomWireAction.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Content.Server.Defusable.Components;
  2. using Content.Server.Defusable.Systems;
  3. using Content.Server.Doors.Systems;
  4. using Content.Server.Wires;
  5. using Content.Shared.Defusable;
  6. using Content.Shared.Doors;
  7. using Content.Shared.Doors.Components;
  8. using Content.Shared.Wires;
  9. namespace Content.Server.Defusable.WireActions;
  10. public sealed partial class BoomWireAction : ComponentWireAction<DefusableComponent>
  11. {
  12. public override Color Color { get; set; } = Color.Red;
  13. public override string Name { get; set; } = "wire-name-bomb-boom";
  14. public override bool LightRequiresPower { get; set; } = false;
  15. public override StatusLightState? GetLightState(Wire wire, DefusableComponent comp)
  16. {
  17. return comp.Activated ? StatusLightState.On : StatusLightState.Off;
  18. }
  19. public override object StatusKey { get; } = DefusableWireStatus.BoomIndicator;
  20. public override bool Cut(EntityUid user, Wire wire, DefusableComponent comp)
  21. {
  22. return EntityManager.System<DefusableSystem>().BoomWireCut(user, wire, comp);
  23. }
  24. public override bool Mend(EntityUid user, Wire wire, DefusableComponent comp)
  25. {
  26. return EntityManager.System<DefusableSystem>().BoomWireMend(user, wire, comp);
  27. }
  28. public override void Pulse(EntityUid user, Wire wire, DefusableComponent comp)
  29. {
  30. EntityManager.System<DefusableSystem>().BoomWirePulse(user, wire, comp);
  31. }
  32. }