Бафф нейростабилизации

This commit is contained in:
BIGZi0348
2024-12-01 19:21:43 +03:00
parent bed3ad8da9
commit da2f5e488a
2 changed files with 10 additions and 1 deletions

View File

@@ -18,7 +18,7 @@ public sealed class NeuroStabilizationSystem : EntitySystem
private void BeforeStaminaDamage(Entity<NeuroStabilizationComponent> ent, ref BeforeStaminaDamageEvent args)
{
args.Cancelled = true;
Electrocute(ent, (int) MathF.Round(args.Value * 2f / 3f));
Electrocute(ent, (int) MathF.Round(args.Value * 2f / 4f));
}
public void Electrocute(EntityUid uid, int damage, StatusEffectsComponent? status = null)

View File

@@ -4,6 +4,8 @@ using Content.Shared.Speech.EntitySystems;
using Content.Shared.Standing;
using Content.Shared.StatusEffect;
using Content.Shared.Stunnable;
using Content.Shared._White.Implants.NeuroControl;
using Content.Shared.Electrocution;
using Robust.Shared.Timing;
namespace Content.Shared._White.Item.DelayedKnockdown;
@@ -14,6 +16,7 @@ public sealed class DelayedKnockdownOnHitSystem : EntitySystem
[Dependency] private readonly SharedJitteringSystem _jitter = default!;
[Dependency] private readonly SharedStutteringSystem _stutter = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly SharedElectrocutionSystem _electrocution = default!;
public override void Initialize()
{
@@ -36,6 +39,12 @@ public sealed class DelayedKnockdownOnHitSystem : EntitySystem
if (!TryComp(uid, out StandingStateComponent? standingState) || !standingState.CanLieDown)
continue;
if (HasComp<NeuroStabilizationComponent>(uid))
{
_electrocution.TryDoElectrocution(uid, null, 5, TimeSpan.FromSeconds(1), false, 0.5f, null, true);
continue;
}
if (jitterTime > TimeSpan.Zero)
_jitter.DoJitter(uid, jitterTime, true, status: statusEffects);
if (stutterTime > TimeSpan.Zero)