Correct UI for unslowed queues in low power.

Because of the way the tick logic works, 0 (or any negative number) for
LowPowerSlowdown is functionally equivalent to 1. But LowPowerSlowdown
is multipled by a time in several cases, so while 1 will produce the
correct result (no slowdown), 0 will say that the time remaining is
00:00. Forbid nonpositive values, and correct the d2k mod which was
using 0.

Additionally, in the production tooltip, the colour should display as
white even in low power if there is no slowdown.
This commit is contained in:
Alexis Hunt
2018-01-09 18:00:23 -05:00
committed by reaperrr
parent ff39802090
commit 157a783df5
3 changed files with 9 additions and 4 deletions

View File

@@ -63,6 +63,11 @@ namespace OpenRA.Mods.Common.Traits
public readonly string CancelledAudio = "Cancelled";
public virtual object Create(ActorInitializer init) { return new ProductionQueue(init, init.Self.Owner.PlayerActor, this); }
public void RulesetLoaded(Ruleset rules, ActorInfo ai) {
if (LowPowerSlowdown <= 0)
throw new YamlException("Production queue must have LowPowerSlowdown of at least 1.");
}
}
public class ProductionQueue : IResolveOrder, ITick, ITechTreeElement, INotifyOwnerChanged, INotifyKilled, INotifySold, ISync, INotifyTransform, INotifyCreated