diff --git a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs index 8d59168e75..974ba1014a 100644 --- a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs +++ b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs @@ -49,7 +49,8 @@ namespace Content.Shared.GameObjects.EntitySystems base.Shutdown(); } - protected void UpdateKinematics(ITransformComponent transform, IMoverComponent mover, IPhysicsComponent physics) + //TODO: reorganize this to make more logical sense + protected void UpdateKinematics(ITransformComponent transform, IMoverComponent mover, IPhysicsComponent physics) { physics.EnsureController(); @@ -70,14 +71,14 @@ namespace Content.Shared.GameObjects.EntitySystems // TODO: movement check. var (walkDir, sprintDir) = mover.VelocityDir; var combined = walkDir + sprintDir; - if (combined.LengthSquared < 0.001 || !ActionBlockerSystem.CanMove(mover.Owner) && !weightless) + if (combined.LengthSquared < 0.001 || !ActionBlockerSystem.CanMove(mover.Owner) && !weightless) { if (physics.TryGetController(out MoverController controller)) { controller.StopMoving(); } } - else + else if (ActionBlockerSystem.CanMove(mover.Owner)) { if (weightless) {