Improves atmos even more.

* Adds AtmosCooldown to tiles, so they stop being active after a certain number of cycles without a cooldown reset.
* Fixes adjacentTileLength in ProcessCell. It wasn't being set beforehand, (probably) causing some incorrect air shares.
* Removing a tile from active tiles no longer unexcites every other tile in their excited group. (Basically, Dismantle in ExcitedGroup's Dispose() method no longer unexcites tiles)
This commit is contained in:
Víctor Aguilera Puerto
2020-09-04 17:40:44 +02:00
parent f42ecf73b5
commit 6969b79c1c
2 changed files with 30 additions and 4 deletions

View File

@@ -105,6 +105,7 @@ namespace Content.Server.Atmos
{
if (tile?.Air == null) continue;
tile.Air.CopyFromMutable(combined);
tile.AtmosCooldown = 0;
tile.UpdateVisuals();
}
@@ -131,7 +132,7 @@ namespace Content.Server.Atmos
_disposed = true;
_gridAtmosphereComponent.RemoveExcitedGroup(this);
Dismantle();
Dismantle(false);
_gridAtmosphereComponent = null;
}