Nullable grid Uid (#8798)

This commit is contained in:
Leon Friedrich
2022-06-20 12:14:35 +12:00
committed by GitHub
parent ef41cd5aa8
commit fa4c6f63f8
82 changed files with 318 additions and 242 deletions

View File

@@ -90,16 +90,17 @@ namespace Content.Server.Chemistry.EntitySystems
return;
var entity = vapor.Owner;
var xform = Transform(entity);
vapor.Timer += frameTime;
vapor.ReactTimer += frameTime;
if (vapor.ReactTimer >= ReactTime && EntityManager.GetComponent<TransformComponent>(vapor.Owner).GridEntityId.IsValid())
if (vapor.ReactTimer >= ReactTime && TryComp(xform.GridUid, out IMapGridComponent? gridComp))
{
vapor.ReactTimer = 0;
var mapGrid = _mapManager.GetGrid(EntityManager.GetComponent<TransformComponent>(entity).GridEntityId);
var tile = mapGrid.GetTileRef(EntityManager.GetComponent<TransformComponent>(entity).Coordinates.ToVector2i(EntityManager, _mapManager));
var tile = gridComp.Grid.GetTileRef(xform.Coordinates.ToVector2i(EntityManager, _mapManager));
foreach (var reagentQuantity in contents.Contents.ToArray())
{
if (reagentQuantity.Quantity == FixedPoint2.Zero) continue;
@@ -111,7 +112,7 @@ namespace Content.Server.Chemistry.EntitySystems
// Check if we've reached our target.
if (!vapor.Reached &&
vapor.Target.TryDistance(EntityManager, EntityManager.GetComponent<TransformComponent>(entity).Coordinates, out var distance) &&
vapor.Target.TryDistance(EntityManager, xform.Coordinates, out var distance) &&
distance <= 0.5f)
{
vapor.Reached = true;