From 6ea3a13c7679e4b7dda640b96cdbaf5f6eb797ef Mon Sep 17 00:00:00 2001 From: Slava0135 <40753025+Slava0135@users.noreply.github.com> Date: Sat, 18 Mar 2023 13:57:38 +0300 Subject: [PATCH] make solar flare only open autoclose airlocks (#14635) * only autoclose airlocks can be opened * use entity query enum --- Content.Server/StationEvents/Events/SolarFlare.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Content.Server/StationEvents/Events/SolarFlare.cs b/Content.Server/StationEvents/Events/SolarFlare.cs index 1baf45862b..9c1b3114db 100644 --- a/Content.Server/StationEvents/Events/SolarFlare.cs +++ b/Content.Server/StationEvents/Events/SolarFlare.cs @@ -48,16 +48,17 @@ public sealed class SolarFlare : StationEventSystem if (_effectTimer < 0) { _effectTimer += 1; - foreach (var comp in EntityQuery()) + var lightQuery = EntityQueryEnumerator(); + while (lightQuery.MoveNext(out var uid, out var light)) { if (RobustRandom.Prob(_event.LightBreakChancePerSecond)) - _poweredLight.TryDestroyBulb(comp.Owner, comp); + _poweredLight.TryDestroyBulb(uid, light); } - - foreach (var comp in EntityQuery()) + var airlockQuery = EntityQueryEnumerator(); + while (airlockQuery.MoveNext(out var uid, out var airlock, out var door)) { - if (RobustRandom.Prob(_event.DoorToggleChancePerSecond)) - _door.TryToggleDoor(comp.Owner, comp); + if (airlock.AutoClose && RobustRandom.Prob(_event.DoorToggleChancePerSecond)) + _door.TryToggleDoor(uid, door); } } -- 2.52.0