diff --git a/Content.IntegrationTests/Tests/Buckle/BuckleTest.cs b/Content.IntegrationTests/Tests/Buckle/BuckleTest.cs index 739bd54906..6e2a080370 100644 --- a/Content.IntegrationTests/Tests/Buckle/BuckleTest.cs +++ b/Content.IntegrationTests/Tests/Buckle/BuckleTest.cs @@ -101,7 +101,7 @@ namespace Content.IntegrationTests.Tests.Buckle Assert.That(buckle.Buckled); Assert.That(actionBlocker.CanMove(human), Is.False); - Assert.That(actionBlocker.CanChangeDirection(human), Is.False); + Assert.That(actionBlocker.CanChangeDirection(human)); Assert.That(standingState.Down(human), Is.False); Assert.That( (xformSystem.GetWorldPosition(human) - xformSystem.GetWorldPosition(chair)).LengthSquared, diff --git a/Content.Shared/Buckle/SharedBuckleSystem.Buckle.cs b/Content.Shared/Buckle/SharedBuckleSystem.Buckle.cs index 731b2892aa..b58bdf83e4 100644 --- a/Content.Shared/Buckle/SharedBuckleSystem.Buckle.cs +++ b/Content.Shared/Buckle/SharedBuckleSystem.Buckle.cs @@ -7,7 +7,6 @@ using Content.Shared.Database; using Content.Shared.Hands.Components; using Content.Shared.IdentityManagement; using Content.Shared.Interaction; -using Content.Shared.Interaction.Events; using Content.Shared.Mobs.Components; using Content.Shared.Movement.Events; using Content.Shared.Popups; @@ -39,7 +38,6 @@ public abstract partial class SharedBuckleSystem SubscribeLocalEvent(OnBuckleStandAttempt); SubscribeLocalEvent(OnBuckleThrowPushbackAttempt); SubscribeLocalEvent(OnBuckleUpdateCanMove); - SubscribeLocalEvent(OnBuckleChangeDirectionAttempt); } private void OnBuckleComponentStartup(EntityUid uid, BuckleComponent component, ComponentStartup args) @@ -142,12 +140,6 @@ public abstract partial class SharedBuckleSystem args.Cancel(); } - private void OnBuckleChangeDirectionAttempt(EntityUid uid, BuckleComponent component, ChangeDirectionAttemptEvent args) - { - if (component.Buckled) - args.Cancel(); - } - public bool IsBuckled(EntityUid uid, BuckleComponent? component = null) { return Resolve(uid, ref component, false) && component.Buckled; diff --git a/Content.Shared/Interaction/RotateToFaceSystem.cs b/Content.Shared/Interaction/RotateToFaceSystem.cs index 01dc572a73..ed950240af 100644 --- a/Content.Shared/Interaction/RotateToFaceSystem.cs +++ b/Content.Shared/Interaction/RotateToFaceSystem.cs @@ -80,14 +80,8 @@ namespace Content.Shared.Interaction public bool TryFaceAngle(EntityUid user, Angle diffAngle, TransformComponent? xform = null) { - if (_actionBlockerSystem.CanChangeDirection(user)) - { - if (!Resolve(user, ref xform)) - return false; - - _transform.SetWorldRotation(xform, diffAngle); - return true; - } + if (!_actionBlockerSystem.CanChangeDirection(user)) + return false; if (EntityManager.TryGetComponent(user, out BuckleComponent? buckle) && buckle.Buckled) { @@ -105,9 +99,16 @@ namespace Content.Shared.Interaction return true; } } + + return false; } - return false; + // user is not buckled in; apply to their transform + if (!Resolve(user, ref xform)) + return false; + + _transform.SetWorldRotation(xform, diffAngle); + return true; } } }