1
0

BoltWireAction.cs 1.3 KB

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