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