mirror of
https://github.com/space-wizards/space-station-14.git
synced 2026-02-14 19:29:53 +01:00
* Nubody * fix test fails * gibbing * lung test returns * doc comment * hand organ test * giblet test * yaml formatting * returning * relocate * trimming * re-smite * oops thusd tweak * arachnids have slower metabolism i guess * never mind the old behaviour is bad actually * rider whyyy * style changes and allat * fix collision --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
55 lines
2.0 KiB
C#
55 lines
2.0 KiB
C#
using Content.Shared.Buckle.Components;
|
|
using Content.Shared.Movement.Events;
|
|
using Content.Shared.Movement.Systems;
|
|
using Content.Shared.Standing;
|
|
using Content.Shared.Throwing;
|
|
|
|
namespace Content.Shared.Traits.Assorted;
|
|
|
|
public sealed class LegsParalyzedSystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifierSystem = default!;
|
|
[Dependency] private readonly StandingStateSystem _standingSystem = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
SubscribeLocalEvent<LegsParalyzedComponent, ComponentStartup>(OnStartup);
|
|
SubscribeLocalEvent<LegsParalyzedComponent, ComponentShutdown>(OnShutdown);
|
|
SubscribeLocalEvent<LegsParalyzedComponent, BuckledEvent>(OnBuckled);
|
|
SubscribeLocalEvent<LegsParalyzedComponent, UnbuckledEvent>(OnUnbuckled);
|
|
SubscribeLocalEvent<LegsParalyzedComponent, ThrowPushbackAttemptEvent>(OnThrowPushbackAttempt);
|
|
SubscribeLocalEvent<LegsParalyzedComponent, UpdateCanMoveEvent>(OnUpdateCanMoveEvent);
|
|
}
|
|
|
|
private void OnStartup(EntityUid uid, LegsParalyzedComponent component, ComponentStartup args)
|
|
{
|
|
// TODO: In future probably must be surgery related wound
|
|
_movementSpeedModifierSystem.ChangeBaseSpeed(uid, 0, 0, 20);
|
|
}
|
|
|
|
private void OnShutdown(EntityUid uid, LegsParalyzedComponent component, ComponentShutdown args)
|
|
{
|
|
_standingSystem.Stand(uid);
|
|
}
|
|
|
|
private void OnBuckled(EntityUid uid, LegsParalyzedComponent component, ref BuckledEvent args)
|
|
{
|
|
_standingSystem.Stand(uid);
|
|
}
|
|
|
|
private void OnUnbuckled(EntityUid uid, LegsParalyzedComponent component, ref UnbuckledEvent args)
|
|
{
|
|
_standingSystem.Down(uid);
|
|
}
|
|
|
|
private void OnUpdateCanMoveEvent(EntityUid uid, LegsParalyzedComponent component, UpdateCanMoveEvent args)
|
|
{
|
|
args.Cancel();
|
|
}
|
|
|
|
private void OnThrowPushbackAttempt(EntityUid uid, LegsParalyzedComponent component, ThrowPushbackAttemptEvent args)
|
|
{
|
|
args.Cancel();
|
|
}
|
|
}
|