Fix deconstructing walls creating an atmos void.

This caused a lot of high pressure movements.
This commit is contained in:
Víctor Aguilera Puerto
2020-08-15 16:36:51 +02:00
parent 898e278266
commit 67fbdb96b3
4 changed files with 31 additions and 23 deletions

View File

@@ -40,7 +40,7 @@ namespace Content.Server.GameObjects.Components.Atmos
base.ExposeData(serializer);
serializer.DataField(ref _airBlocked, "airBlocked", true);
serializer.DataField(ref _fixVacuum, "fixVacuum", false);
serializer.DataField(ref _fixVacuum, "fixVacuum", true);
}
public override void Initialize()
@@ -57,15 +57,6 @@ namespace Content.Server.GameObjects.Components.Atmos
UpdatePosition();
}
public override void OnRemove()
{
base.OnRemove();
_airBlocked = false;
UpdatePosition();
}
public void MapInit()
{
_snapGrid.OnPositionChanged += OnTransformMove;
@@ -80,6 +71,11 @@ namespace Content.Server.GameObjects.Components.Atmos
_airBlocked = false;
_snapGrid.OnPositionChanged -= OnTransformMove;
if(_fixVacuum)
EntitySystem.Get<AtmosphereSystem>().GetGridAtmosphere(Owner.Transform.GridID)?
.FixVacuum(_snapGrid.Position);
UpdatePosition();
}