]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fixed airlock appearance bugs (#23300)
author778b <33431126+778b@users.noreply.github.com>
Mon, 1 Jan 2024 07:36:31 +0000 (10:36 +0300)
committerGitHub <noreply@github.com>
Mon, 1 Jan 2024 07:36:31 +0000 (23:36 -0800)
fixed airlock appearance bugs

Content.Client/Doors/AirlockSystem.cs

index cc68d090394aa8b56787e7417ab77ba1de74e38e..112d828b5e6095246c87fb3db8029f1cced8e03a 100644 (file)
@@ -95,14 +95,16 @@ public sealed class AirlockSystem : SharedAirlockSystem
         if (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.Powered, out var powered, args.Component) && powered)
         {
             boltedVisible = _appearanceSystem.TryGetData<bool>(uid, DoorVisuals.BoltLights, out var lights, args.Component)
-                            && lights && state == DoorState.Closed;
+                            && lights && (state == DoorState.Closed || state == DoorState.Open || state == DoorState.Welded);
+
             emergencyLightsVisible = _appearanceSystem.TryGetData<bool>(uid, DoorVisuals.EmergencyLights, out var eaLights, args.Component) && eaLights;
             unlitVisible =
-                    state == DoorState.Closing
+                    (state == DoorState.Closing
                 ||  state == DoorState.Opening
                 ||  state == DoorState.Denying
                 || (state == DoorState.Open && comp.OpenUnlitVisible)
-                || (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.ClosedLights, out var closedLights, args.Component) && closedLights);
+                || (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.ClosedLights, out var closedLights, args.Component) && closedLights))
+                    && !boltedVisible && !emergencyLightsVisible; ;
         }
 
         args.Sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible);
@@ -115,6 +117,7 @@ public sealed class AirlockSystem : SharedAirlockSystem
                 &&  state != DoorState.Open
                 &&  state != DoorState.Opening
                 &&  state != DoorState.Closing
+                && !boltedVisible
             );
         }
     }