Rename MPStartUnitsInfo.Races to Factions
Also add an upgrade rule.
This commit is contained in:
@@ -21,8 +21,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Exposed via the UI to the player.")]
|
[Desc("Exposed via the UI to the player.")]
|
||||||
public readonly string ClassName = "Unlabeled";
|
public readonly string ClassName = "Unlabeled";
|
||||||
|
|
||||||
[Desc("Only available when selecting this faction.", "Leave empty for no restrictions.")]
|
[Desc("Only available when selecting one of these factions.", "Leave empty for no restrictions.")]
|
||||||
public readonly string[] Races = { };
|
public readonly string[] Factions = { };
|
||||||
|
|
||||||
[Desc("The mobile construction vehicle.")]
|
[Desc("The mobile construction vehicle.")]
|
||||||
public readonly string BaseActor = null;
|
public readonly string BaseActor = null;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
var spawnClass = p.PlayerReference.StartingUnitsClass ?? w.LobbyInfo.GlobalSettings.StartingUnitsClass;
|
var spawnClass = p.PlayerReference.StartingUnitsClass ?? w.LobbyInfo.GlobalSettings.StartingUnitsClass;
|
||||||
var unitGroup = w.Map.Rules.Actors["world"].Traits.WithInterface<MPStartUnitsInfo>()
|
var unitGroup = w.Map.Rules.Actors["world"].Traits.WithInterface<MPStartUnitsInfo>()
|
||||||
.Where(g => g.Class == spawnClass && g.Races != null && g.Races.Contains(p.Faction.InternalName))
|
.Where(g => g.Class == spawnClass && g.Factions != null && g.Factions.Contains(p.Faction.InternalName))
|
||||||
.RandomOrDefault(w.SharedRandom);
|
.RandomOrDefault(w.SharedRandom);
|
||||||
|
|
||||||
if (unitGroup == null)
|
if (unitGroup == null)
|
||||||
|
|||||||
@@ -1751,6 +1751,13 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
if (race != null)
|
if (race != null)
|
||||||
race.Key = "Factions";
|
race.Key = "Factions";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (node.Key.StartsWith("MPStartUnits"))
|
||||||
|
{
|
||||||
|
var race = node.Value.Nodes.FirstOrDefault(x => x.Key == "Races");
|
||||||
|
if (race != null)
|
||||||
|
race.Key = "Factions";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
|
|||||||
@@ -79,60 +79,60 @@ World:
|
|||||||
MPStartUnits@mcvonly:
|
MPStartUnits@mcvonly:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: MCV Only
|
||||||
Races: gdi, nod
|
Factions: gdi, nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
MPStartUnits@defaultgdia:
|
MPStartUnits@defaultgdia:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
|
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
|
||||||
MPStartUnits@defaultgdib:
|
MPStartUnits@defaultgdib:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e1,e3,apc
|
SupportActors: e1,e1,e1,e1,e1,e1,e3,apc
|
||||||
MPStartUnits@defaultnoda:
|
MPStartUnits@defaultnoda:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e3,bggy,bike
|
SupportActors: e1,e1,e1,e1,e3,bggy,bike
|
||||||
MPStartUnits@defaultnodb:
|
MPStartUnits@defaultnodb:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,e3,bggy
|
SupportActors: e1,e1,e1,e3,e3,e3,bggy
|
||||||
MPStartUnits@defaultnodc:
|
MPStartUnits@defaultnodc:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e1,e1,e3,bike
|
SupportActors: e1,e1,e1,e1,e1,e1,e1,e3,bike
|
||||||
MPStartUnits@heavynoda:
|
MPStartUnits@heavynoda:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
|
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
|
||||||
MPStartUnits@heavynodb:
|
MPStartUnits@heavynodb:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
|
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
|
||||||
MPStartUnits@heavygdia:
|
MPStartUnits@heavygdia:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
|
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
|
||||||
MPStartUnits@heavygdib:
|
MPStartUnits@heavygdib:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk
|
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk
|
||||||
SpawnMPUnits:
|
SpawnMPUnits:
|
||||||
|
|||||||
@@ -85,11 +85,11 @@ World:
|
|||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: MCV Only
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
Races: atreides, ordos, harkonnen
|
Factions: atreides, ordos, harkonnen
|
||||||
MPStartUnits@lightatreides:
|
MPStartUnits@lightatreides:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: atreides
|
Factions: atreides
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, quad
|
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, quad
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -97,7 +97,7 @@ World:
|
|||||||
MPStartUnits@lightharkonnen:
|
MPStartUnits@lightharkonnen:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: harkonnen
|
Factions: harkonnen
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, bazooka, trike, quad
|
SupportActors: rifle, rifle, rifle, bazooka, bazooka, trike, quad
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -105,7 +105,7 @@ World:
|
|||||||
MPStartUnits@lightordos:
|
MPStartUnits@lightordos:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: ordos
|
Factions: ordos
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, quad
|
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, quad
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -113,7 +113,7 @@ World:
|
|||||||
MPStartUnits@heavyatreides:
|
MPStartUnits@heavyatreides:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: atreides
|
Factions: atreides
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, combata, missiletank
|
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, combata, missiletank
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -121,7 +121,7 @@ World:
|
|||||||
MPStartUnits@heavyharkonnen:
|
MPStartUnits@heavyharkonnen:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: harkonnen
|
Factions: harkonnen
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, engineer, quad, combath, siegetank
|
SupportActors: rifle, rifle, rifle, bazooka, engineer, quad, combath, siegetank
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -129,7 +129,7 @@ World:
|
|||||||
MPStartUnits@heavyordos:
|
MPStartUnits@heavyordos:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: ordos
|
Factions: ordos
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, combato, missiletank
|
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, combato, missiletank
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
|
|||||||
@@ -123,12 +123,12 @@ World:
|
|||||||
MPStartUnits@mcvonly:
|
MPStartUnits@mcvonly:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: MCV Only
|
||||||
Races: allies, england, france, germany, soviet, russia, ukraine
|
Factions: allies, england, france, germany, soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
MPStartUnits@lightallies:
|
MPStartUnits@lightallies:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: allies, england, france, germany
|
Factions: allies, england, france, germany
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
|
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -136,7 +136,7 @@ World:
|
|||||||
MPStartUnits@lightsoviet:
|
MPStartUnits@lightsoviet:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: Light Support
|
||||||
Races: soviet, russia, ukraine
|
Factions: soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
|
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -144,7 +144,7 @@ World:
|
|||||||
MPStartUnits@heavyallies:
|
MPStartUnits@heavyallies:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: allies, england, france, germany
|
Factions: allies, england, france, germany
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
|
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -152,7 +152,7 @@ World:
|
|||||||
MPStartUnits@heavysoviet:
|
MPStartUnits@heavysoviet:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: Heavy Support
|
||||||
Races: soviet, russia, ukraine
|
Factions: soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk
|
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
|
|||||||
@@ -102,12 +102,12 @@ World:
|
|||||||
MPStartUnits@MCV:
|
MPStartUnits@MCV:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: MCV Only
|
||||||
Races: gdi, nod
|
Factions: gdi, nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
MPStartUnits@light.gdi:
|
MPStartUnits@light.gdi:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light
|
ClassName: Light
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e2,e2
|
SupportActors: e1,e1,e1,e2,e2
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -115,7 +115,7 @@ World:
|
|||||||
MPStartUnits@light.nod:
|
MPStartUnits@light.nod:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light
|
ClassName: Light
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3
|
SupportActors: e1,e1,e1,e3,e3
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -123,7 +123,7 @@ World:
|
|||||||
MPStartUnits@med.gdi:
|
MPStartUnits@med.gdi:
|
||||||
Class: medium
|
Class: medium
|
||||||
ClassName: Medium
|
ClassName: Medium
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e2,jumpjet,smech
|
SupportActors: e1,e1,e2,jumpjet,smech
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -131,7 +131,7 @@ World:
|
|||||||
MPStartUnits@med.nod:
|
MPStartUnits@med.nod:
|
||||||
Class: medium
|
Class: medium
|
||||||
ClassName: Medium
|
ClassName: Medium
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e3,cyborg,bggy
|
SupportActors: e1,e1,e3,cyborg,bggy
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -139,7 +139,7 @@ World:
|
|||||||
MPStartUnits@heavy.gdi:
|
MPStartUnits@heavy.gdi:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy
|
ClassName: Heavy
|
||||||
Races: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e2,e2,smech,mmch
|
SupportActors: e1,e2,e2,smech,mmch
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
@@ -147,7 +147,7 @@ World:
|
|||||||
MPStartUnits@heavy.nod:
|
MPStartUnits@heavy.nod:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy
|
ClassName: Heavy
|
||||||
Races: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e3,bggy,bike,ttnk
|
SupportActors: e1,e3,bggy,bike,ttnk
|
||||||
InnerSupportRadius: 3
|
InnerSupportRadius: 3
|
||||||
|
|||||||
Reference in New Issue
Block a user