1
0

AttemptElectrocute.cs 788 B

12345678910111213141516171819202122232425
  1. using Content.Server.Electrocution;
  2. using Content.Shared.Electrocution;
  3. using Content.Shared.Construction;
  4. namespace Content.Server.Construction.Completions;
  5. [DataDefinition]
  6. public sealed partial class AttemptElectrocute : IGraphAction
  7. {
  8. public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
  9. {
  10. if (userUid == null)
  11. return;
  12. if (!entityManager.TryGetComponent<ElectrifiedComponent>(uid, out var electrified))
  13. return;
  14. var currentValue = electrified.Enabled;
  15. electrified.Enabled = true;
  16. entityManager.EntitySysManager.GetEntitySystem<ElectrocutionSystem>().TryDoElectrifiedAct(uid, userUid.Value, electrified: electrified);
  17. electrified.Enabled = currentValue;
  18. }
  19. }