diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs index e4a95ac2c5..5ba9e545c7 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs @@ -169,8 +169,20 @@ public sealed partial class GunSystem : SharedGunSystem return; } - // Define target coordinates relative to gun entity, so that network latency on moving grids doesn't fuck up the target location. - var coordinates = EntityCoordinates.FromMap(entity, mousePos, TransformSystem, EntityManager); + // WD EDIT START + EntityCoordinates coordinates; + + if (MapManager.TryFindGridAt(mousePos, out var grid, out _) || + MapManager.TryFindGridAt(Transform(entity).MapPosition, out grid, out _)) + { + coordinates = EntityCoordinates.FromMap(grid, mousePos, TransformSystem, EntityManager); + } + else + { + coordinates = EntityCoordinates.FromMap(MapManager.GetMapEntityId(mousePos.MapId), mousePos, + TransformSystem, EntityManager); + } + // WD EDIT END Log.Debug($"Sending shoot request tick {Timing.CurTick} / {Timing.CurTime}");