fix: don't default to uncharged sprite state for cells (#38730)

This commit is contained in:
Perry Fraser
2025-07-04 12:15:24 -04:00
committed by GitHub
parent d0c067f006
commit bfb73a1aad

View File

@@ -48,8 +48,9 @@ public sealed class PowerCellSystem : SharedPowerCellSystem
if (!_sprite.LayerExists((uid, args.Sprite), PowerCellVisualLayers.Unshaded)) if (!_sprite.LayerExists((uid, args.Sprite), PowerCellVisualLayers.Unshaded))
return; return;
// If no appearance data is set, rely on whatever existing sprite state is set being correct.
if (!_appearance.TryGetData<byte>(uid, PowerCellVisuals.ChargeLevel, out var level, args.Component)) if (!_appearance.TryGetData<byte>(uid, PowerCellVisuals.ChargeLevel, out var level, args.Component))
level = 0; return;
var positiveCharge = level > 0; var positiveCharge = level > 0;
_sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, positiveCharge); _sprite.LayerSetVisible((uid, args.Sprite), PowerCellVisualLayers.Unshaded, positiveCharge);