From 416b276ac3f4d148282ae6b72c6dc21d6cb86d64 Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Fri, 20 Jun 2025 18:48:54 -0400 Subject: [PATCH] fix: set correct layer visibility for power cell sprites (#38458) * 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 | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Content.Client/PowerCell/PowerCellSystem.cs b/Content.Client/PowerCell/PowerCellSystem.cs index 66fa1fa98f..fb40b911d1 100644 --- a/Content.Client/PowerCell/PowerCellSystem.cs +++ b/Content.Client/PowerCell/PowerCellSystem.cs @@ -48,17 +48,14 @@ public sealed class PowerCellSystem : SharedPowerCellSystem if (!_sprite.LayerExists((uid, args.Sprite), PowerCellVisualLayers.Unshaded)) return; - if (_appearance.TryGetData(uid, PowerCellVisuals.ChargeLevel, out var level, args.Component)) - { - if (level == 0) - { - _sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, false); - return; - } + if (!_appearance.TryGetData(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 -- 2.51.2