diff --git a/OpenRA.Mods.RA/SupportPowers/SupportPowerManager.cs b/OpenRA.Mods.RA/SupportPowers/SupportPowerManager.cs index 472208290e..7f768bc9d3 100644 --- a/OpenRA.Mods.RA/SupportPowers/SupportPowerManager.cs +++ b/OpenRA.Mods.RA/SupportPowers/SupportPowerManager.cs @@ -108,6 +108,7 @@ namespace OpenRA.Mods.RA Powers[order.OrderString].Activate(order); } + // Deprecated. Remove after SupportPowerBinWidget is removed. public void Target(string key) { if (Powers.ContainsKey(key)) diff --git a/OpenRA.Mods.RA/Widgets/SupportPowersWidget.cs b/OpenRA.Mods.RA/Widgets/SupportPowersWidget.cs index eba2f0e550..e3677e8b87 100644 --- a/OpenRA.Mods.RA/Widgets/SupportPowersWidget.cs +++ b/OpenRA.Mods.RA/Widgets/SupportPowersWidget.cs @@ -113,9 +113,10 @@ namespace OpenRA.Mods.RA.Widgets WidgetUtils.DrawSHPCentered(p.Sprite, p.Pos + iconOffset, worldRenderer); // Charge progress + var sp = p.Power; clock.PlayFetchIndex("idle", - () => (p.Power.TotalTime - p.Power.RemainingTime) - * (clock.CurrentSequence.Length - 1) / p.Power.TotalTime); + () => sp.TotalTime == 0 ? clock.CurrentSequence.Length - 1 : (sp.TotalTime - sp.RemainingTime) + * (clock.CurrentSequence.Length - 1) / sp.TotalTime); clock.Tick(); WidgetUtils.DrawSHPCentered(clock.Image, p.Pos + iconOffset, worldRenderer); @@ -184,7 +185,7 @@ namespace OpenRA.Mods.RA.Widgets if (!clicked.Power.Active) Sound.PlayToPlayer(spm.self.Owner, clicked.Power.Info.InsufficientPowerSound); - spm.Target(clicked.Power.Info.OrderName); + clicked.Power.Target(); } return true;