Fix weightless system error (#8965)

This commit is contained in:
Leon Friedrich
2022-06-20 13:26:21 +12:00
committed by GitHub
parent dd68f15b55
commit cba8ff270c

View File

@@ -53,8 +53,8 @@ namespace Content.Server.Gravity.EntitySystems
public void RemoveAlert(AlertsComponent status)
{
var grid = EntityManager.GetComponent<TransformComponent>(status.Owner).GridID;
if (!_alerts.TryGetValue(grid, out var statuses))
var grid = EntityManager.GetComponent<TransformComponent>(status.Owner).GridUid;
if (grid == null || !_alerts.TryGetValue(grid.Value, out var statuses))
{
return;
}
@@ -112,10 +112,13 @@ namespace Content.Server.Gravity.EntitySystems
if (ev.Transform.MapID == MapId.Nullspace)
return;
var newGrid = ev.Transform.GridID;
var newStatuses = _alerts.GetOrNew(newGrid);
newStatuses.Add(status);
var newGrid = ev.Transform.GridUid;
if (newGrid != null)
{
var newStatuses = _alerts.GetOrNew(newGrid.Value);
newStatuses.Add(status);
}
// then update the actual alert. The alert is only removed if either the player is on a grid with gravity,
// or if they ignore gravity-based movement altogether.