Migrate StrategicVictoryConditions.RatioRequired to int percentage
Remove bogus CriticalRatioRequired from RA Hopes Anchor.
This commit is contained in:
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
public readonly bool ResetOnHoldLost = true;
|
||||
|
||||
[Desc("Percentage of all strategic points the player has to hold to win.")]
|
||||
public readonly float RatioRequired = 0.5f;
|
||||
public readonly int RatioRequired = 50;
|
||||
|
||||
[Desc("Delay for the end game notification in milliseconds.")]
|
||||
public readonly int NotificationDelay = 1500;
|
||||
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
public int Total { get { return AllPoints.Count(); } }
|
||||
int Owned { get { return AllPoints.Count(a => WorldUtils.AreMutualAllies(player, a.Owner)); } }
|
||||
|
||||
public bool Holding { get { return Owned >= info.RatioRequired * Total; } }
|
||||
public bool Holding { get { return Owned >= info.RatioRequired * Total / 100; } }
|
||||
|
||||
public void Tick(Actor self)
|
||||
{
|
||||
|
||||
@@ -660,6 +660,22 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
}
|
||||
}
|
||||
|
||||
// Migrated StrategicVictoryConditions RatioRequired to use int percentage instead of float
|
||||
if (engineVersion < 20160325)
|
||||
{
|
||||
if (node.Key.StartsWith("StrategicVictoryConditions"))
|
||||
{
|
||||
var ratioNode = node.Value.Nodes.FirstOrDefault(x => x.Key == "RatioRequired");
|
||||
if (ratioNode != null)
|
||||
{
|
||||
// The RatioRequired value is now an int percentage, so multiply the float with 100.
|
||||
var oldValue = FieldLoader.GetValue<float>("RatioRequired", ratioNode.Value.Value);
|
||||
var newValue = (int)(oldValue * 100);
|
||||
ratioNode.Value.Value = newValue.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,5 @@ Player:
|
||||
StrategicVictoryConditions:
|
||||
HoldDuration: 3000
|
||||
ResetOnHoldLost: true
|
||||
RatioRequired: 0.65
|
||||
CriticalRatioRequired: 0.65
|
||||
RatioRequired: 65
|
||||
-ConquestVictoryConditions:
|
||||
|
||||
Reference in New Issue
Block a user