diff --git a/OpenRA.Mods.RA/ProductionBar.cs b/OpenRA.Mods.RA/ProductionBar.cs index 5bb279041f..86c693dce6 100644 --- a/OpenRA.Mods.RA/ProductionBar.cs +++ b/OpenRA.Mods.RA/ProductionBar.cs @@ -26,12 +26,12 @@ namespace OpenRA.Mods.RA public float GetValue() { - var queue = self.TraitOrDefault(); + var queue = self.TraitsImplementing().FirstOrDefault(q => q.CurrentItem() != null); if (queue == null) { var produces = self.Trait().Info.Produces; queue = self.Owner.PlayerActor.TraitsImplementing() - .First(q => produces.Contains(q.Info.Type)); + .FirstOrDefault(q => produces.Contains(q.Info.Type)); } if (queue == null || queue.CurrentItem() == null) diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml index fecd810043..d62a06e7bf 100644 --- a/mods/cnc/rules/structures.yaml +++ b/mods/cnc/rules/structures.yaml @@ -41,6 +41,7 @@ FACT: OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud BaseBuilding: + ProductionBar: NUKE: Inherits: ^Building @@ -171,6 +172,8 @@ PYLE: ReadyAudio: unitredy.aud OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud + ProductionBar: + HAND: Inherits: ^Building Valued: @@ -208,6 +211,7 @@ HAND: ReadyAudio: unitredy.aud OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud + ProductionBar: AFLD: Inherits: ^Building @@ -248,6 +252,7 @@ AFLD: ReadyAudio: OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud + ProductionBar: WEAP: Inherits: ^Building @@ -289,6 +294,7 @@ WEAP: ReadyAudio: unitredy.aud OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud + ProductionBar: HQ: RequiresPower: @@ -415,6 +421,7 @@ HPAD: ReadyAudio: unitredy.aud OnHoldAudio: onhold1.aud CancelledAudio: cancel1.aud + ProductionBar: EYE: RequiresPower: