diff --git a/Content.Shared/GameObjects/EntitySystems/SharedInteractionSystem.cs b/Content.Shared/GameObjects/EntitySystems/SharedInteractionSystem.cs index 91947c35c0..aa2f88c01a 100644 --- a/Content.Shared/GameObjects/EntitySystems/SharedInteractionSystem.cs +++ b/Content.Shared/GameObjects/EntitySystems/SharedInteractionSystem.cs @@ -51,13 +51,17 @@ namespace Content.Server.GameObjects.EntitySystems var rayResults = _physicsManager.IntersectRayWithPredicate(coords.MapId, ray, dir.Length, predicate, true); if(!rayResults.DidHitObject || (insideBlockerValid && rayResults.DidHitObject && (rayResults.HitPos - otherCoords).Length < 1f)) { - _mapManager.TryFindGridAt(coords, out var mapGrid); - var srcPos = mapGrid.MapToGrid(coords); - var destPos = new GridCoordinates(otherCoords, mapGrid); - if (srcPos.InRange(_mapManager, destPos, range)) + + if (_mapManager.TryFindGridAt(coords, out var mapGrid) && mapGrid != null) { - return true; + var srcPos = mapGrid.MapToGrid(coords); + var destPos = new GridCoordinates(otherCoords, mapGrid); + if (srcPos.InRange(_mapManager, destPos, range)) + { + return true; + } } + } return false; }