]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix: set correct layer visibility for power cell sprites (#38458)
authorPerry Fraser <perryprog@users.noreply.github.com>
Fri, 20 Jun 2025 22:48:54 +0000 (18:48 -0400)
committerGitHub <noreply@github.com>
Fri, 20 Jun 2025 22:48:54 +0000 (00:48 +0200)
* fix: set correct layer visibility for power cell sprites

* fix: use a default charge level for power cell sprites' appearance data

Content.Client/PowerCell/PowerCellSystem.cs

index 66fa1fa98f445e219d862aea395f89d89412d526..fb40b911d1b775473f8f3a1e4cbd878e9c973f22 100644 (file)
@@ -48,17 +48,14 @@ public sealed class PowerCellSystem : SharedPowerCellSystem
         if (!_sprite.LayerExists((uid, args.Sprite), PowerCellVisualLayers.Unshaded))
             return;
 
-        if (_appearance.TryGetData<byte>(uid, PowerCellVisuals.ChargeLevel, out var level, args.Component))
-        {
-            if (level == 0)
-            {
-                _sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, false);
-                return;
-            }
+        if (!_appearance.TryGetData<byte>(uid, PowerCellVisuals.ChargeLevel, out var level, args.Component))
+            level = 0;
 
-            _sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, false);
+        var positiveCharge = level > 0;
+        _sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, positiveCharge);
+
+        if (positiveCharge)
             _sprite.LayerSetRsiState((uid, args.Sprite), PowerCellVisualLayers.Unshaded, $"o{level}");
-        }
     }
 
     private enum PowerCellVisualLayers : byte