From: Slava0135 <40753025+Slava0135@users.noreply.github.com> Date: Sat, 18 Mar 2023 10:57:38 +0000 (+0300) Subject: make solar flare only open autoclose airlocks (#14635) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=6ea3a13c7679e4b7dda640b96cdbaf5f6eb797ef;p=space-station-14.git make solar flare only open autoclose airlocks (#14635) * only autoclose airlocks can be opened * use entity query enum --- 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); } }