From a276b4937665e7c2d6a1fd8299b060567dd78d06 Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Sun, 25 Jun 2023 19:05:40 +1200 Subject: [PATCH] Fix replay eye rotation bug (#17625) --- .../Replay/Spectator/ReplaySpectatorSystem.Movement.cs | 5 +++++ 1 file changed, 5 insertions(+) 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();