Content changes for InContainer flag (#7003)
This commit is contained in:
@@ -25,7 +25,7 @@ namespace Content.Server.Actions
|
|||||||
private void OnMetaFlagRemoval(EntityUid uid, ActionsComponent component, ref MetaFlagRemoveAttemptEvent args)
|
private void OnMetaFlagRemoval(EntityUid uid, ActionsComponent component, ref MetaFlagRemoveAttemptEvent args)
|
||||||
{
|
{
|
||||||
if (component.LifeStage == ComponentLifeStage.Running)
|
if (component.LifeStage == ComponentLifeStage.Running)
|
||||||
args.Cancelled = true;
|
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnStartup(EntityUid uid, ActionsComponent component, ComponentStartup args)
|
private void OnStartup(EntityUid uid, ActionsComponent component, ComponentStartup args)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
_activePressures.Add(component);
|
_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
|
// TODO ATMOS finish this
|
||||||
|
|
||||||
@@ -113,9 +113,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
!pressure.Enabled)
|
!pressure.Enabled)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var xform = xforms.GetComponent(entity);
|
if (_containers.IsEntityInContainer(entity, metas.GetComponent(entity))) continue;
|
||||||
|
|
||||||
if (_containers.IsEntityInContainer(entity, xform)) continue;
|
|
||||||
|
|
||||||
var pressureMovements = EnsureComp<MovedByPressureComponent>(entity);
|
var pressureMovements = EnsureComp<MovedByPressureComponent>(entity);
|
||||||
if (pressure.LastHighPressureMovementAirCycle < gridAtmosphere.UpdateCounter)
|
if (pressure.LastHighPressureMovementAirCycle < gridAtmosphere.UpdateCounter)
|
||||||
@@ -127,7 +125,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
tile.PressureDifference,
|
tile.PressureDifference,
|
||||||
tile.PressureDirection, 0,
|
tile.PressureDirection, 0,
|
||||||
tile.PressureSpecificTarget?.GridIndices.ToEntityCoordinates(tile.GridIndex, _mapManager) ?? EntityCoordinates.Invalid,
|
tile.PressureSpecificTarget?.GridIndices.ToEntityCoordinates(tile.GridIndex, _mapManager) ?? EntityCoordinates.Invalid,
|
||||||
xform,
|
xforms.GetComponent(entity),
|
||||||
body);
|
body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -222,11 +222,12 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
var number = 0;
|
var number = 0;
|
||||||
var bodies = EntityManager.GetEntityQuery<PhysicsComponent>();
|
var bodies = EntityManager.GetEntityQuery<PhysicsComponent>();
|
||||||
var xforms = EntityManager.GetEntityQuery<TransformComponent>();
|
var xforms = EntityManager.GetEntityQuery<TransformComponent>();
|
||||||
|
var metas = EntityManager.GetEntityQuery<MetaDataComponent>();
|
||||||
var pressureQuery = EntityManager.GetEntityQuery<MovedByPressureComponent>();
|
var pressureQuery = EntityManager.GetEntityQuery<MovedByPressureComponent>();
|
||||||
|
|
||||||
while (atmosphere.CurrentRunTiles.TryDequeue(out var tile))
|
while (atmosphere.CurrentRunTiles.TryDequeue(out var tile))
|
||||||
{
|
{
|
||||||
HighPressureMovements(atmosphere, tile, bodies, xforms, pressureQuery);
|
HighPressureMovements(atmosphere, tile, bodies, xforms, pressureQuery, metas);
|
||||||
tile.PressureDifference = 0f;
|
tile.PressureDifference = 0f;
|
||||||
tile.PressureSpecificTarget = null;
|
tile.PressureSpecificTarget = null;
|
||||||
atmosphere.HighPressureDelta.Remove(tile);
|
atmosphere.HighPressureDelta.Remove(tile);
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ namespace Content.Server.Flash
|
|||||||
private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args)
|
private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args)
|
||||||
{
|
{
|
||||||
if (component.LifeStage == ComponentLifeStage.Running)
|
if (component.LifeStage == ComponentLifeStage.Running)
|
||||||
args.Cancelled = true;
|
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnFlashableStartup(EntityUid uid, FlashableComponent component, ComponentStartup args)
|
private void OnFlashableStartup(EntityUid uid, FlashableComponent component, ComponentStartup args)
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ public abstract class AlertsSystem : EntitySystem
|
|||||||
private void OnMetaFlagRemoval(EntityUid uid, AlertsComponent component, ref MetaFlagRemoveAttemptEvent args)
|
private void OnMetaFlagRemoval(EntityUid uid, AlertsComponent component, ref MetaFlagRemoveAttemptEvent args)
|
||||||
{
|
{
|
||||||
if (component.LifeStage == ComponentLifeStage.Running)
|
if (component.LifeStage == ComponentLifeStage.Running)
|
||||||
args.Cancelled = true;
|
args.ToRemove &= ~MetaDataFlags.EntitySpecific;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCanGetState(EntityUid uid, AlertsComponent component, ref ComponentGetStateAttemptEvent args)
|
private void OnCanGetState(EntityUid uid, AlertsComponent component, ref ComponentGetStateAttemptEvent args)
|
||||||
|
|||||||
Reference in New Issue
Block a user