From 0eea810d2f46c8787c86b01e5e70814da1a62205 Mon Sep 17 00:00:00 2001 From: ancientpower Date: Thu, 3 Sep 2020 21:21:16 -0500 Subject: [PATCH] fixes blackouts permanently turning off power (#2018) Co-authored-by: ancientpower --- Content.Server/StationEvents/PowerGridCheck.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Content.Server/StationEvents/PowerGridCheck.cs b/Content.Server/StationEvents/PowerGridCheck.cs index 882fa61f7a..0bd41345a6 100644 --- a/Content.Server/StationEvents/PowerGridCheck.cs +++ b/Content.Server/StationEvents/PowerGridCheck.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using Content.Server.GameObjects.Components.Power; using Content.Server.GameObjects.Components.Power.ApcNetComponents; @@ -32,9 +32,9 @@ namespace Content.Server.StationEvents private float _elapsedTime; private int _failDuration; - private Dictionary _powered = new Dictionary(); + private List _powered = new List(); - private readonly List _toPowerDown = new List(); + public override void Startup() { @@ -45,9 +45,10 @@ namespace Content.Server.StationEvents _failDuration = IoCManager.Resolve().Next(30, 120); var componentManager = IoCManager.Resolve(); - foreach (var component in componentManager.EntityQuery()) + foreach (PowerReceiverComponent component in componentManager.EntityQuery()) { component.PowerDisabled = true; + _powered.Add(component.Owner); } } @@ -56,13 +57,13 @@ namespace Content.Server.StationEvents base.Shutdown(); EntitySystem.Get().PlayGlobal("/Audio/Announcements/power_on.ogg"); - foreach (var (entity, powered) in _powered) + foreach (var entity in _powered) { if (entity.Deleted) continue; if (entity.TryGetComponent(out PowerReceiverComponent powerReceiverComponent)) { - powerReceiverComponent.PowerDisabled = powered; + powerReceiverComponent.PowerDisabled = false; } } @@ -86,4 +87,4 @@ namespace Content.Server.StationEvents Running = false; } } -} \ No newline at end of file +}