From ea16cc9fba44d15b5b631df9ea75e7d1e89c30fe Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 12 Jan 2023 23:10:51 +1100 Subject: [PATCH] Reset eye lerp on parent map change (#12986) --- .../Systems/SharedMoverController.Input.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs index 27286dc701..167fe2fc0a 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs @@ -158,6 +158,20 @@ namespace Content.Shared.Movement.Systems return; } + var oldMapId = args.OldMapId; + var mapId = args.Transform.MapID; + + // If we change maps then reset eye rotation entirely. + if (oldMapId != mapId) + { + component.RelativeEntity = relative; + component.TargetRelativeRotation = Angle.Zero; + component.RelativeRotation = Angle.Zero; + component.LerpAccumulator = 0f; + Dirty(component); + return; + } + // If we go on a grid and back off then just reset the accumulator. if (relative == component.RelativeEntity) {