Fix firelocks
This commit is contained in:
@@ -1159,9 +1159,15 @@ namespace Content.Server.Atmos
|
|||||||
|
|
||||||
public void UpdateAdjacent(AtmosDirection direction)
|
public void UpdateAdjacent(AtmosDirection direction)
|
||||||
{
|
{
|
||||||
if (!_gridAtmosphereComponent.IsAirBlocked(GridIndices.Offset(direction.ToDirection())))
|
_adjacentTiles[direction.ToIndex()] = _gridAtmosphereComponent.GetTile(GridIndices.Offset(direction.ToDirection()));
|
||||||
|
|
||||||
|
if (!_gridAtmosphereComponent.IsAirBlocked(GridIndices.Offset(direction.ToDirection()), direction.GetOpposite()))
|
||||||
{
|
{
|
||||||
_adjacentTiles[direction.ToIndex()] = _gridAtmosphereComponent.GetTile(GridIndices.Offset(direction.ToDirection()));
|
_adjacentBits |= direction;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_adjacentBits &= ~direction;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,11 @@ namespace Content.Shared.Atmos
|
|||||||
{
|
{
|
||||||
return direction | other;
|
return direction | other;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static AtmosDirection WithoutFlag(this AtmosDirection direction, AtmosDirection other)
|
||||||
|
{
|
||||||
|
return direction & ~other;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class AtmosDirectionFlags { }
|
public sealed class AtmosDirectionFlags { }
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
- state: closed_unlit
|
- state: closed_unlit
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
map: ["enum.DoorVisualLayers.BaseUnlit"]
|
map: ["enum.DoorVisualLayers.BaseUnlit"]
|
||||||
|
- state: welded
|
||||||
|
map: ["enum.DoorVisualLayers.BaseWelded"]
|
||||||
- state: bolted
|
- state: bolted
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
map: ["enum.DoorVisualLayers.BaseBolted"]
|
map: ["enum.DoorVisualLayers.BaseBolted"]
|
||||||
|
|||||||
Reference in New Issue
Block a user