Fix stun baton EMP state (#24706)
* Fix stun baton EMP state * trydeactivate
This commit is contained in:
@@ -30,6 +30,7 @@ namespace Content.Server.Stunnable.Systems
|
|||||||
SubscribeLocalEvent<StunbatonComponent, StaminaDamageOnHitAttemptEvent>(OnStaminaHitAttempt);
|
SubscribeLocalEvent<StunbatonComponent, StaminaDamageOnHitAttemptEvent>(OnStaminaHitAttempt);
|
||||||
SubscribeLocalEvent<StunbatonComponent, ItemToggleActivateAttemptEvent>(TryTurnOn);
|
SubscribeLocalEvent<StunbatonComponent, ItemToggleActivateAttemptEvent>(TryTurnOn);
|
||||||
SubscribeLocalEvent<StunbatonComponent, ItemToggledEvent>(ToggleDone);
|
SubscribeLocalEvent<StunbatonComponent, ItemToggledEvent>(ToggleDone);
|
||||||
|
SubscribeLocalEvent<StunbatonComponent, ChargeChangedEvent>(OnChargeChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnStaminaHitAttempt(Entity<StunbatonComponent> entity, ref StaminaDamageOnHitAttemptEvent args)
|
private void OnStaminaHitAttempt(Entity<StunbatonComponent> entity, ref StaminaDamageOnHitAttemptEvent args)
|
||||||
@@ -38,12 +39,6 @@ namespace Content.Server.Stunnable.Systems
|
|||||||
!TryComp<BatteryComponent>(entity.Owner, out var battery) || !_battery.TryUseCharge(entity.Owner, entity.Comp.EnergyPerUse, battery))
|
!TryComp<BatteryComponent>(entity.Owner, out var battery) || !_battery.TryUseCharge(entity.Owner, entity.Comp.EnergyPerUse, battery))
|
||||||
{
|
{
|
||||||
args.Cancelled = true;
|
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
|
User = user
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnChargeChanged(Entity<StunbatonComponent> entity, ref ChargeChangedEvent args)
|
||||||
|
{
|
||||||
|
if (TryComp<BatteryComponent>(entity.Owner, out var battery) &&
|
||||||
|
battery.CurrentCharge < entity.Comp.EnergyPerUse)
|
||||||
|
{
|
||||||
|
_itemToggle.TryDeactivate(entity.Owner, predicted: false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user