From 26d8084d524378284c45fa7c3e6eec0757988766 Mon Sep 17 00:00:00 2001 From: themias <89101928+themias@users.noreply.github.com> Date: Tue, 30 Jan 2024 18:04:26 -0500 Subject: [PATCH] Fix stun baton EMP state (#24706) * Fix stun baton EMP state * trydeactivate --- .../Stunnable/Systems/StunbatonSystem.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Content.Server/Stunnable/Systems/StunbatonSystem.cs b/Content.Server/Stunnable/Systems/StunbatonSystem.cs index 053a293689..027259495c 100644 --- a/Content.Server/Stunnable/Systems/StunbatonSystem.cs +++ b/Content.Server/Stunnable/Systems/StunbatonSystem.cs @@ -30,6 +30,7 @@ namespace Content.Server.Stunnable.Systems SubscribeLocalEvent(OnStaminaHitAttempt); SubscribeLocalEvent(TryTurnOn); SubscribeLocalEvent(ToggleDone); + SubscribeLocalEvent(OnChargeChanged); } private void OnStaminaHitAttempt(Entity entity, ref StaminaDamageOnHitAttemptEvent args) @@ -38,12 +39,6 @@ namespace Content.Server.Stunnable.Systems !TryComp(entity.Owner, out var battery) || !_battery.TryUseCharge(entity.Owner, entity.Comp.EnergyPerUse, battery)) { args.Cancelled = true; - return; - } - - if (battery.CurrentCharge < entity.Comp.EnergyPerUse) - { - _itemToggle.Toggle(entity.Owner, predicted: false); } } @@ -101,5 +96,14 @@ namespace Content.Server.Stunnable.Systems User = user }); } + + private void OnChargeChanged(Entity entity, ref ChargeChangedEvent args) + { + if (TryComp(entity.Owner, out var battery) && + battery.CurrentCharge < entity.Comp.EnergyPerUse) + { + _itemToggle.TryDeactivate(entity.Owner, predicted: false); + } + } } } -- 2.52.0