Fixes a crash when an entity goes off-grid. (hehe)

Now, it performs a TryGetGrid instead of GetGrid.
This commit is contained in:
Vera Aguilera Puerto
2021-02-28 17:42:11 +01:00
parent 71e6effd48
commit 3967ecf098

View File

@@ -88,14 +88,10 @@ namespace Content.Shared.Physics.Controllers
[Pure]
private float GetTileFriction(IPhysBody body)
{
if (body.BodyStatus == BodyStatus.InAir || body.Entity.Transform.GridID == GridId.Invalid)
if (body.BodyStatus == BodyStatus.InAir || !_mapManager.TryGetGrid(body.Owner.Transform.GridID, out var grid))
return 0.0f;
var transform = body.Owner.Transform;
var coords = transform.Coordinates;
var grid = _mapManager.GetGrid(coords.GetGridId(body.Owner.EntityManager));
var tile = grid.GetTileRef(coords);
var tile = grid.GetTileRef(body.Owner.Transform.Coordinates);
var tileDef = _tileDefinitionManager[tile.Tile.TypeId];
return tileDef.Friction;
}