From cba8ff270c901b6786980a0d16a0f0ccddae93f9 Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Mon, 20 Jun 2022 13:26:21 +1200 Subject: [PATCH] Fix weightless system error (#8965) --- .../Gravity/EntitySystems/WeightlessSystem.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Content.Server/Gravity/EntitySystems/WeightlessSystem.cs b/Content.Server/Gravity/EntitySystems/WeightlessSystem.cs index 7d7e549cba..88da9b10c7 100644 --- a/Content.Server/Gravity/EntitySystems/WeightlessSystem.cs +++ b/Content.Server/Gravity/EntitySystems/WeightlessSystem.cs @@ -53,8 +53,8 @@ namespace Content.Server.Gravity.EntitySystems public void RemoveAlert(AlertsComponent status) { - var grid = EntityManager.GetComponent(status.Owner).GridID; - if (!_alerts.TryGetValue(grid, out var statuses)) + var grid = EntityManager.GetComponent(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.