diff --git a/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Movement.cs b/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Movement.cs index 52cf3d9c3b..f15385adca 100644 --- a/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Movement.cs +++ b/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Movement.cs @@ -85,8 +85,13 @@ public sealed partial class ReplaySpectatorSystem } // A poor mans grid-traversal system. Should also interrupt ghost-following. + // This is very hacky and has already caused bugs. + // This is done the way it is because grid traversal gets processed in physics' SimulateWorld() update. + // TODO do this properly somehow. _transform.SetGridId(player, xform, null); _transform.AttachToGridOrMap(player); + if (xform.ParentUid.IsValid()) + _transform.SetGridId(player, xform, Transform(xform.ParentUid).GridUid); var parentRotation = _mover.GetParentGridAngle(mover, query); var localVec = effectiveDir.AsDir().ToAngle().ToWorldVec();