From 96aa70e304b455064e4f4ae413202a94ee25e15a Mon Sep 17 00:00:00 2001 From: metalgearsloth Date: Sat, 13 Nov 2021 14:40:27 +1100 Subject: [PATCH] Avoid unnecessary parent worldrot resolve for kinematic movement --- Content.Shared/Movement/SharedMoverController.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Movement/SharedMoverController.cs b/Content.Shared/Movement/SharedMoverController.cs index 735d5ff559..13e71a3f9f 100644 --- a/Content.Shared/Movement/SharedMoverController.cs +++ b/Content.Shared/Movement/SharedMoverController.cs @@ -68,17 +68,18 @@ namespace Content.Shared.Movement var (walkDir, sprintDir) = mover.VelocityDir; var transform = mover.Owner.Transform; + var parentRotation = transform.Parent!.WorldRotation; // Regular movement. // Target velocity. var total = walkDir * mover.CurrentWalkSpeed + sprintDir * mover.CurrentSprintSpeed; - var worldTotal = _relativeMovement ? transform.Parent!.WorldRotation.RotateVec(total) : total; + var worldTotal = _relativeMovement ? parentRotation.RotateVec(total) : total; if (transform.GridID == GridId.Invalid) worldTotal = mover.LastGridAngle.RotateVec(worldTotal); else - mover.LastGridAngle = transform.Parent!.WorldRotation; + mover.LastGridAngle = parentRotation; if (worldTotal != Vector2.Zero) transform.WorldRotation = worldTotal.GetDir().ToAngle();