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) {