Files
wwdpublic/Content.Shared/_White/Implants/NeuroStabilization/NeuroStabilizerSystem.cs
Spatison 215997e2e2 [Port | Tweak] Neuro Stabilization Implant / Имплант Нейро Стабильности (#80)
* add: neuro stabilizer implant

* Stabilization\

* AI rewiew

* fix: translation

---------

Co-authored-by: Remuchi <72476615+Remuchi@users.noreply.github.com>
2024-10-11 12:03:32 +07:00

29 lines
908 B
C#

using Content.Shared.Electrocution;
using Content.Shared.Damage.Systems;
namespace Content.Shared._White.Implants.NeuroStabilization;
public sealed class NeuroStabilizationSystem : EntitySystem
{
[Dependency] private readonly SharedElectrocutionSystem _electrocution = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<NeuroStabilizationComponent, BeforeStaminaDamageEvent>(BeforeStaminaDamage);
}
private void BeforeStaminaDamage(EntityUid uid, NeuroStabilizationComponent component, ref BeforeStaminaDamageEvent args)
{
args.Cancelled = true;
if (!component.Electrocution)
return;
var damage = (int) MathF.Round(args.Value * component.DamageModifier);
_electrocution.TryDoElectrocution(uid, null, damage, component.TimeElectrocution,
false, 0.5f, null, true);
}
}