Optimise mob movement (#21978)

This commit is contained in:
metalgearsloth
2023-11-29 20:14:14 +11:00
committed by GitHub
parent 6f19854d72
commit acf60db5a4

View File

@@ -16,6 +16,7 @@ using Robust.Shared.Audio.Systems;
using Robust.Shared.Configuration; using Robust.Shared.Configuration;
using Robust.Shared.Containers; using Robust.Shared.Containers;
using Robust.Shared.Map; using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Physics; using Robust.Shared.Physics;
using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Controllers; using Robust.Shared.Physics.Controllers;
@@ -190,8 +191,8 @@ namespace Content.Shared.Movement.Systems
// Don't bother getting the tiledef here if we're weightless or in-air // Don't bother getting the tiledef here if we're weightless or in-air
// since no tile-based modifiers should be applying in that situation // since no tile-based modifiers should be applying in that situation
if (_mapManager.TryFindGridAt(xform.MapPosition, out var grid, out var gridComp) if (TryComp(xform.GridUid, out MapGridComponent? gridComp)
&& _mapSystem.TryGetTileRef(grid, gridComp, xform.Coordinates, out var tile) && _mapSystem.TryGetTileRef(xform.GridUid.Value, gridComp, xform.Coordinates, out var tile)
&& !(weightless || physicsComponent.BodyStatus == BodyStatus.InAir)) && !(weightless || physicsComponent.BodyStatus == BodyStatus.InAir))
{ {
tileDef = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId]; tileDef = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId];