diff --git a/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs b/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs index 58344769a7..a13f21a3c7 100644 --- a/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs +++ b/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs @@ -73,7 +73,7 @@ public abstract partial class SharedStandingStateSystem : EntitySystem if (!TryComp(uid, out StandingStateComponent? standing)) // WD EDIT return; - RaiseNetworkEvent(new CheckAutoGetUpEvent()); + RaiseNetworkEvent(new CheckAutoGetUpEvent()); // WD EDIT if (_stun.IsParalyzed(uid)) { @@ -97,7 +97,7 @@ public abstract partial class SharedStandingStateSystem : EntitySystem private void OnStandingUpDoAfter(EntityUid uid, StandingStateComponent component, StandingUpDoAfterEvent args) { - if (args.Handled) // WD EDIT + if (args.Handled || _stun.IsParalyzed(uid)) // WD EDIT { component.CurrentState = StandingState.Lying; return; @@ -236,12 +236,16 @@ public abstract partial class SharedStandingStateSystem : EntitySystem standingState.CurrentState = StandingState.Lying; Dirty(uid, standingState); - var rotation = _transform.GetWorldRotation(uid); + var rotation = _transform.GetWorldRotation(uid); // WD EDIT + _appearance.TryGetData(uid, BuckleVisuals.Buckled, out var state, appearance); // WD EDIT - if (rotation.GetDir() is Direction.East or Direction.North or Direction.NorthEast or Direction.SouthEast) - _rotation.SetHorizontalAngle(uid, Angle.FromDegrees(270)); - else - _rotation.ResetHorizontalAngle(uid); + if (!state) // WD EDIT + { + if (rotation.GetDir() is Direction.East or Direction.North or Direction.NorthEast or Direction.SouthEast) + _rotation.SetHorizontalAngle(uid, Angle.FromDegrees(270)); + else + _rotation.ResetHorizontalAngle(uid); + } RaiseLocalEvent(uid, new DownedEvent()); @@ -288,6 +292,9 @@ public abstract partial class SharedStandingStateSystem : EntitySystem // Optional component. Resolve(uid, ref appearance, false); + if (TryComp(uid, out BuckleComponent? buckle) && buckle.Buckled && !_buckle.TryUnbuckle(uid, uid, buckleComp: buckle)) // WD EDIT + return false; + if (standingState.CurrentState is StandingState.Standing) return true; diff --git a/Content.Shared/Stunnable/SharedStunSystem.cs b/Content.Shared/Stunnable/SharedStunSystem.cs index f278665576..2931117036 100644 --- a/Content.Shared/Stunnable/SharedStunSystem.cs +++ b/Content.Shared/Stunnable/SharedStunSystem.cs @@ -115,6 +115,12 @@ public abstract class SharedStunSystem : EntitySystem if (!TryComp(uid, out StandingStateComponent? standing) || !(!standing.CanLieDown || standing.AutoGetUp)) // WD EDIT return; + if (standing.AutoGetUp) // WD EDIT + { + _standingState.TryStandUp(uid, standing); + return; + } + _standingState.Stand(uid, standing); // WD EDIT END } diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index c02f3ef82f..0541d6f4a9 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -5646,3 +5646,20 @@ id: 366 time: '2024-07-10T13:26:50.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/430 +- author: Spatison + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043B\u0435\ + \u0436\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0440\u043E\u0432\u0430\u0442\ + \u0438" + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0431\u0430\u0433\ + \ \u0441 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\ + \u044C\u044E \u0432\u0441\u0442\u0430\u0442\u044C." + type: Fix + - message: "DoAfter \u043F\u0440\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\ + \u0438\u0447\u0435\u0441\u043A\u043E\u043C \u0432\u0441\u0442\u0430\u0432\u0430\ + \u043D\u0438\u0438" + type: Tweak + id: 367 + time: '2024-07-10T18:01:39.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/434