diff --git a/Content.Client/Chat/UI/SpeechBubble.cs b/Content.Client/Chat/UI/SpeechBubble.cs index 7a15c88417..8f09b9f333 100644 --- a/Content.Client/Chat/UI/SpeechBubble.cs +++ b/Content.Client/Chat/UI/SpeechBubble.cs @@ -128,11 +128,10 @@ namespace Content.Client.Chat.UI Modulate = Color.White; } - var worldPos = xform.WorldPosition; - var scale = _eyeManager.MainViewport.GetRenderScale(); - var offset = new Vector2(0, EntityVerticalOffset * EyeManager.PixelsPerMeter * scale); - var lowerCenter = (_eyeManager.WorldToScreen(worldPos) - offset) / UIScale; + var offset = (-_eyeManager.CurrentEye.Rotation).ToWorldVec() * -EntityVerticalOffset; + var worldPos = xform.WorldPosition + offset; + var lowerCenter = _eyeManager.WorldToScreen(worldPos) / UIScale; var screenPos = lowerCenter - (ContentSize.X / 2, ContentSize.Y + _verticalOffsetAchieved); // Round to nearest 0.5 screenPos = (screenPos * 2).Rounded() / 2;