diff --git a/Content.Server/GameObjects/Components/Markers/ConditionalSpawnerComponent.cs b/Content.Server/GameObjects/Components/Markers/ConditionalSpawnerComponent.cs index a97f899776..a41c72b31d 100644 --- a/Content.Server/GameObjects/Components/Markers/ConditionalSpawnerComponent.cs +++ b/Content.Server/GameObjects/Components/Markers/ConditionalSpawnerComponent.cs @@ -91,7 +91,8 @@ namespace Content.Server.GameObjects.Components.Markers return; } - _entityManager.SpawnEntity(_robustRandom.Pick(Prototypes), Owner.Transform.GridPosition); + if(!Owner.Deleted) + _entityManager.SpawnEntity(_robustRandom.Pick(Prototypes), Owner.Transform.GridPosition); } public void MapInit() diff --git a/Content.Server/GameObjects/Components/Power/PowerDevice.cs b/Content.Server/GameObjects/Components/Power/PowerDevice.cs index ba986fa324..03e7bd363a 100644 --- a/Content.Server/GameObjects/Components/Power/PowerDevice.cs +++ b/Content.Server/GameObjects/Components/Power/PowerDevice.cs @@ -286,7 +286,7 @@ namespace Content.Server.GameObjects.Components.Power private void ConnectToBestProvider() { //Any values we can connect to or are we already connected to a node, cancel! - if (!AvailableProviders.Any() || Connected == DrawTypes.Node || Deleted) + if (!AvailableProviders.Any() || Connected == DrawTypes.Node || Deleted || Owner.Deleted) return; //Get the starting value for our loop @@ -300,6 +300,9 @@ namespace Content.Server.GameObjects.Components.Power foreach (var availprovider in AvailableProviders) { + if (availprovider.Owner.Deleted) + continue; + //Find distance to new provider var distance = (availprovider.Owner.GetComponent().WorldPosition - position).LengthSquared;