Custom tiberium pathing cost
This commit is contained in:
@@ -21,6 +21,8 @@ namespace OpenRA.Traits
|
|||||||
{
|
{
|
||||||
public readonly string[] TerrainTypes;
|
public readonly string[] TerrainTypes;
|
||||||
public readonly float[] TerrainSpeeds;
|
public readonly float[] TerrainSpeeds;
|
||||||
|
public readonly string[] TerrainCostOverrides;
|
||||||
|
public readonly float[] TerrainCosts;
|
||||||
public readonly string[] Crushes;
|
public readonly string[] Crushes;
|
||||||
public readonly int WaitAverage = 60;
|
public readonly int WaitAverage = 60;
|
||||||
public readonly int WaitSpread = 20;
|
public readonly int WaitSpread = 20;
|
||||||
@@ -97,9 +99,17 @@ namespace OpenRA.Traits
|
|||||||
if (info.TerrainTypes.Count() != info.TerrainSpeeds.Count())
|
if (info.TerrainTypes.Count() != info.TerrainSpeeds.Count())
|
||||||
throw new InvalidOperationException("Mobile TerrainType/TerrainSpeed length mismatch");
|
throw new InvalidOperationException("Mobile TerrainType/TerrainSpeed length mismatch");
|
||||||
|
|
||||||
|
if (info.TerrainCostOverrides != null)
|
||||||
|
for (int i = 0; i < info.TerrainCostOverrides.Count(); i++)
|
||||||
|
{
|
||||||
|
TerrainCost.Add(info.TerrainCostOverrides[i], info.TerrainCosts[i]);
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < info.TerrainTypes.Count(); i++)
|
for (int i = 0; i < info.TerrainTypes.Count(); i++)
|
||||||
{
|
{
|
||||||
|
if (!TerrainCost.ContainsKey(info.TerrainTypes[i]))
|
||||||
TerrainCost.Add(info.TerrainTypes[i], 1f/info.TerrainSpeeds[i]);
|
TerrainCost.Add(info.TerrainTypes[i], 1f/info.TerrainSpeeds[i]);
|
||||||
|
|
||||||
TerrainSpeed.Add(info.TerrainTypes[i], info.TerrainSpeeds[i]);
|
TerrainSpeed.Add(info.TerrainTypes[i], info.TerrainSpeeds[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,8 @@
|
|||||||
Crushes: crate
|
Crushes: crate
|
||||||
TerrainTypes: Clear, Rough, Road, Tree, Water, Rock, Wall, Ore, Beach, River
|
TerrainTypes: Clear, Rough, Road, Tree, Water, Rock, Wall, Ore, Beach, River
|
||||||
TerrainSpeeds: 90%, 80%, 100%, 0%, 0%, 0%, 0%, 90%, 80%, 0%
|
TerrainSpeeds: 90%, 80%, 100%, 0%, 0%, 0%, 0%, 90%, 80%, 0%
|
||||||
|
TerrainCostOverrides: Ore
|
||||||
|
TerrainCosts: 200
|
||||||
Selectable:
|
Selectable:
|
||||||
Voice: GenericVoice
|
Voice: GenericVoice
|
||||||
Targetable:
|
Targetable:
|
||||||
|
|||||||
Reference in New Issue
Block a user