Content changes for InContainer flag (#7003)

This commit is contained in:
Leon Friedrich
2022-03-31 15:28:36 +13:00
committed by GitHub
parent 07f5c10154
commit a11e8b676c
5 changed files with 8 additions and 9 deletions

View File

@@ -25,7 +25,7 @@ namespace Content.Server.Actions
private void OnMetaFlagRemoval(EntityUid uid, ActionsComponent component, ref MetaFlagRemoveAttemptEvent args)
{
if (component.LifeStage == ComponentLifeStage.Running)
args.Cancelled = true;
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
}
private void OnStartup(EntityUid uid, ActionsComponent component, ComponentStartup args)

View File

@@ -89,7 +89,7 @@ namespace Content.Server.Atmos.EntitySystems
_activePressures.Add(component);
}
private void HighPressureMovements(GridAtmosphereComponent gridAtmosphere, TileAtmosphere tile, EntityQuery<PhysicsComponent> bodies, EntityQuery<TransformComponent> xforms, EntityQuery<MovedByPressureComponent> pressureQuery)
private void HighPressureMovements(GridAtmosphereComponent gridAtmosphere, TileAtmosphere tile, EntityQuery<PhysicsComponent> bodies, EntityQuery<TransformComponent> xforms, EntityQuery<MovedByPressureComponent> pressureQuery, EntityQuery<MetaDataComponent> metas)
{
// TODO ATMOS finish this
@@ -113,9 +113,7 @@ namespace Content.Server.Atmos.EntitySystems
!pressure.Enabled)
continue;
var xform = xforms.GetComponent(entity);
if (_containers.IsEntityInContainer(entity, xform)) continue;
if (_containers.IsEntityInContainer(entity, metas.GetComponent(entity))) continue;
var pressureMovements = EnsureComp<MovedByPressureComponent>(entity);
if (pressure.LastHighPressureMovementAirCycle < gridAtmosphere.UpdateCounter)
@@ -127,7 +125,7 @@ namespace Content.Server.Atmos.EntitySystems
tile.PressureDifference,
tile.PressureDirection, 0,
tile.PressureSpecificTarget?.GridIndices.ToEntityCoordinates(tile.GridIndex, _mapManager) ?? EntityCoordinates.Invalid,
xform,
xforms.GetComponent(entity),
body);
}

View File

@@ -222,11 +222,12 @@ namespace Content.Server.Atmos.EntitySystems
var number = 0;
var bodies = EntityManager.GetEntityQuery<PhysicsComponent>();
var xforms = EntityManager.GetEntityQuery<TransformComponent>();
var metas = EntityManager.GetEntityQuery<MetaDataComponent>();
var pressureQuery = EntityManager.GetEntityQuery<MovedByPressureComponent>();
while (atmosphere.CurrentRunTiles.TryDequeue(out var tile))
{
HighPressureMovements(atmosphere, tile, bodies, xforms, pressureQuery);
HighPressureMovements(atmosphere, tile, bodies, xforms, pressureQuery, metas);
tile.PressureDifference = 0f;
tile.PressureSpecificTarget = null;
atmosphere.HighPressureDelta.Remove(tile);

View File

@@ -46,7 +46,7 @@ namespace Content.Server.Flash
private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args)
{
if (component.LifeStage == ComponentLifeStage.Running)
args.Cancelled = true;
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
}
private void OnFlashableStartup(EntityUid uid, FlashableComponent component, ComponentStartup args)

View File

@@ -170,7 +170,7 @@ public abstract class AlertsSystem : EntitySystem
private void OnMetaFlagRemoval(EntityUid uid, AlertsComponent component, ref MetaFlagRemoveAttemptEvent args)
{
if (component.LifeStage == ComponentLifeStage.Running)
args.Cancelled = true;
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
}
private void OnCanGetState(EntityUid uid, AlertsComponent component, ref ComponentGetStateAttemptEvent args)