Improves AirtightComponent.
- Atmos now nulls air in fully airblocked tiles ONLY if one of the airtight entities in it has NoAirWhenFullyAirBlocked to true. - Fixes edge firelocks atmos airtight direction - Fixes atmos debug overlay not accounting for angle 0 being south.
This commit is contained in:
@@ -105,7 +105,8 @@ namespace Content.Client.Atmos
|
||||
{
|
||||
if (data.BlockDirection.HasFlag(dir))
|
||||
{
|
||||
var atmosAngle = dir.ToAngle();
|
||||
// Account for South being 0.
|
||||
var atmosAngle = dir.ToAngle() - Angle.FromDegrees(90);
|
||||
var atmosAngleOfs = atmosAngle.ToVec() * 0.45f;
|
||||
var atmosAngleOfsR90 = new Vector2(atmosAngleOfs.Y, -atmosAngleOfs.X);
|
||||
var tileCentre = new Vector2(tile.X + 0.5f, tile.Y + 0.5f);
|
||||
@@ -121,7 +122,8 @@ namespace Content.Client.Atmos
|
||||
// -- Pressure Direction --
|
||||
if (data.PressureDirection != AtmosDirection.Invalid)
|
||||
{
|
||||
var atmosAngle = data.PressureDirection.ToAngle();
|
||||
// Account for South being 0.
|
||||
var atmosAngle = data.PressureDirection.ToAngle() - Angle.FromDegrees(90);
|
||||
var atmosAngleOfs = atmosAngle.ToVec() * 0.4f;
|
||||
var tileCentre = new Vector2(tile.X + 0.5f, tile.Y + 0.5f);
|
||||
var basisA = mapGrid.LocalToWorld(tileCentre);
|
||||
|
||||
Reference in New Issue
Block a user