Charge now using ticks and fixed extra bar time formula.

ChargeTime has been changed to ChargeDelay and is
measured in ticks rather than seconds.

The formula for working out the extra bar time has
been fixed to work properly at different charge delays.
This commit is contained in:
DArcy Rush
2015-10-21 10:54:01 +01:00
parent ecccc8bc68
commit 0111f0d750

View File

@@ -20,8 +20,8 @@ namespace OpenRA.Mods.RA.Traits
{ {
class PortableChronoInfo : ITraitInfo class PortableChronoInfo : ITraitInfo
{ {
[Desc("Cooldown in seconds until the unit can teleport.")] [Desc("Cooldown in ticks until the unit can teleport.")]
public readonly int ChargeTime = 20; public readonly int ChargeDelay = 500;
[Desc("Can the unit teleport only a certain distance?")] [Desc("Can the unit teleport only a certain distance?")]
public readonly bool HasDistanceLimit = true; public readonly bool HasDistanceLimit = true;
@@ -97,7 +97,7 @@ namespace OpenRA.Mods.RA.Traits
public void ResetChargeTime() public void ResetChargeTime()
{ {
chargeTick = 25 * Info.ChargeTime; chargeTick = Info.ChargeDelay;
} }
public bool CanTeleport public bool CanTeleport
@@ -107,7 +107,7 @@ namespace OpenRA.Mods.RA.Traits
public float GetValue() public float GetValue()
{ {
return (float)((chargeTick - (25 * Info.ChargeTime)) * (Info.ChargeTime * -0.0001)); return (float)(Info.ChargeDelay - chargeTick) / Info.ChargeDelay;
} }
public Color GetColor() { return Color.Magenta; } public Color GetColor() { return Color.Magenta; }