diff --git a/Content.Shared/Body/Systems/SharedBodySystem.Body.cs b/Content.Shared/Body/Systems/SharedBodySystem.Body.cs index f3361872701..45935566e17 100644 --- a/Content.Shared/Body/Systems/SharedBodySystem.Body.cs +++ b/Content.Shared/Body/Systems/SharedBodySystem.Body.cs @@ -462,7 +462,7 @@ private void OnProfileLoadFinished(EntityUid uid, BodyComponent component, Profi private void OnStandAttempt(Entity ent, ref StandAttemptEvent args) { - if (ent.Comp.LegEntities.Count == 0) + if (ent.Comp.LegEntities.Count < ent.Comp.RequiredLegs) // DeltaV args.Cancel(); } diff --git a/Content.Shared/_White/Standing/SharedLayingDownSystem.cs b/Content.Shared/_White/Standing/SharedLayingDownSystem.cs index c772a1cb3f5..a3b5e348e94 100644 --- a/Content.Shared/_White/Standing/SharedLayingDownSystem.cs +++ b/Content.Shared/_White/Standing/SharedLayingDownSystem.cs @@ -126,6 +126,14 @@ standingState.CurrentState is not StandingState.Lying || HasComp(uid)) return false; + // Begin DeltaV Addition + // Don't allow users to start trying to stand if they couldn't stand anyway + var msg = new StandAttemptEvent(); + RaiseLocalEvent(uid, msg, false); + if (msg.Cancelled) + return false; + // End DeltaV Addition + var args = new DoAfterArgs(EntityManager, uid, layingDown.StandingUpTime, new StandingUpDoAfterEvent(), uid) { BreakOnHandChange = false,