diff --git a/OpenRA.Game/Player.cs b/OpenRA.Game/Player.cs index b3836d8444..fe91d60b60 100644 --- a/OpenRA.Game/Player.cs +++ b/OpenRA.Game/Player.cs @@ -110,12 +110,9 @@ namespace OpenRA if (PowerProvided - PowerDrained < 0) if (PowerProvided - PowerDrained != oldBalance) GiveAdvice(World.WorldActor.Info.Traits.Get().LowPower); - } - - public float GetSiloFullness() - { - return (float)Ore / OreCapacity; - } + } + + public float GetSiloFullness() { return (float)Ore / OreCapacity; } public PowerState GetPowerState() { @@ -124,14 +121,6 @@ namespace OpenRA return PowerState.Critical; } - void UpdateOreCapacity() - { - OreCapacity = World.Queries.OwnedBy[this] - .Where(a => a.traits.Contains()) - .Select(a => a.Info.Traits.Get()) - .Sum(b => b.Capacity); - } - void GiveAdvice(string advice) { // todo: store the condition or something. @@ -171,8 +160,10 @@ namespace OpenRA public void Tick() { - UpdatePower(); - UpdateOreCapacity(); + UpdatePower(); + + OreCapacity = World.Queries.OwnedBy[this].WithTrait() + .Sum(a => a.Actor.Info.Traits.Get().Capacity); var totalMoney = Cash + Ore; var diff = Math.Abs(totalMoney - DisplayCash);