diff --git a/OpenRa.Game/Traits/LimitedAmmo.cs b/OpenRa.Game/Traits/LimitedAmmo.cs index bd79891f7e..f8a6ad36b3 100644 --- a/OpenRa.Game/Traits/LimitedAmmo.cs +++ b/OpenRa.Game/Traits/LimitedAmmo.cs @@ -25,6 +25,7 @@ namespace OpenRa.Traits class LimitedAmmoInfo : ITraitInfo { public readonly int Ammo = 0; + public readonly int PipCount = 0; public object Create(Actor self) { return new LimitedAmmo(self); } } @@ -53,9 +54,10 @@ namespace OpenRa.Traits public IEnumerable GetPips(Actor self) { - var maxAmmo = self.Info.Traits.Get().Ammo; - return Graphics.Util.MakeArray(maxAmmo, - i => ammo > i ? PipType.Green : PipType.Transparent); + var info = self.Info.Traits.Get(); + var pips = info.PipCount != 0 ? info.PipCount : info.Ammo; + return Graphics.Util.MakeArray(pips, + i => (ammo * pips) / info.Ammo > i ? PipType.Green : PipType.Transparent); } } }