Rebuild excited groups if blocked airflow direction of tile has changed. (#12548)

This commit is contained in:
Vera Aguilera Puerto
2022-11-11 09:44:45 +01:00
committed by GitHub
parent 3a0c3b02b3
commit 3fbe85416e
2 changed files with 8 additions and 5 deletions

View File

@@ -67,9 +67,16 @@ namespace Content.Server.Atmos.EntitySystems
GridIsTileAirBlocked(uid, atmosphere, ref airBlockedEv);
var isAirBlocked = airBlockedEv.Result;
var oldBlocked = tile.BlockedAirflow;
var updateAdjacentEv = new UpdateAdjacentMethodEvent(uid, indices, mapGridComp);
GridUpdateAdjacent(uid, atmosphere, ref updateAdjacentEv);
// Blocked airflow changed, rebuild excited groups!
if (tile.Excited && tile.BlockedAirflow != oldBlocked)
{
RemoveActiveTile(atmosphere, tile);
}
// Call this instead of the grid method as the map has a say on whether the tile is space or not.
if ((!mapGrid.TryGetTileRef(indices, out var t) || t.IsSpace(_tileDefinitionManager)) && !isAirBlocked)
{