diff --git a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs b/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs index 7a2a729b8..48d56e5f2 100644 --- a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs +++ b/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs @@ -283,6 +283,11 @@ namespace Barotrauma MathUtils.SmoothStep(movement, TargetMovement * walkSpeed, movementLerp) : overrideTargetMovement; + if (Math.Abs(movement.X) < 0.005f) + { + movement.X = 0.0f; + } + movement.Y = 0.0f; for (int i = 0; i < 2; i++) @@ -489,6 +494,7 @@ namespace Barotrauma { movement = Vector2.Normalize(movement); } + if (Math.Abs(movement.X)<0.005f) { movement.X = 0.0f; diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs index 8bd126ed8..ccd94e712 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Subsurface/Source/Characters/Character.cs @@ -1358,7 +1358,7 @@ namespace Barotrauma TransformCursorPos(); - if (dequeuedInput == InputNetFlags.None && Math.Abs(AnimController.movement.X) < 0.005f && Math.Abs(AnimController.movement.Y) < 0.005f) + if (dequeuedInput == InputNetFlags.None && Math.Abs(AnimController.Collider.LinearVelocity.X) < 0.005f && Math.Abs(AnimController.Collider.LinearVelocity.Y) < 0.005f) { while (memInput.Count > 5 && memInput[memInput.Count - 1] == 0) {