Rename MPStartUnitsInfo.Races to Factions

Also add an upgrade rule.
This commit is contained in:
Pavel Penev
2015-08-11 04:00:08 +03:00
parent fd01e95d6c
commit 4d11195989
7 changed files with 39 additions and 32 deletions

View File

@@ -21,8 +21,8 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Exposed via the UI to the player.")]
public readonly string ClassName = "Unlabeled";
[Desc("Only available when selecting this faction.", "Leave empty for no restrictions.")]
public readonly string[] Races = { };
[Desc("Only available when selecting one of these factions.", "Leave empty for no restrictions.")]
public readonly string[] Factions = { };
[Desc("The mobile construction vehicle.")]
public readonly string BaseActor = null;

View File

@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
{
var spawnClass = p.PlayerReference.StartingUnitsClass ?? w.LobbyInfo.GlobalSettings.StartingUnitsClass;
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);
if (unitGroup == null)

View File

@@ -1751,6 +1751,13 @@ namespace OpenRA.Mods.Common.UtilityCommands
if (race != null)
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);

View File

@@ -79,60 +79,60 @@ World:
MPStartUnits@mcvonly:
Class: none
ClassName: MCV Only
Races: gdi, nod
Factions: gdi, nod
BaseActor: mcv
MPStartUnits@defaultgdia:
Class: light
ClassName: Light Support
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
MPStartUnits@defaultgdib:
Class: light
ClassName: Light Support
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e1,e3,apc
MPStartUnits@defaultnoda:
Class: light
ClassName: Light Support
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e3,bggy,bike
MPStartUnits@defaultnodb:
Class: light
ClassName: Light Support
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,e3,bggy
MPStartUnits@defaultnodc:
Class: light
ClassName: Light Support
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e1,e1,e3,bike
MPStartUnits@heavynoda:
Class: heavy
ClassName: Heavy Support
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
MPStartUnits@heavynodb:
Class: heavy
ClassName: Heavy Support
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
MPStartUnits@heavygdia:
Class: heavy
ClassName: Heavy Support
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
MPStartUnits@heavygdib:
Class: heavy
ClassName: Heavy Support
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk
SpawnMPUnits:

View File

@@ -85,11 +85,11 @@ World:
Class: none
ClassName: MCV Only
BaseActor: mcv
Races: atreides, ordos, harkonnen
Factions: atreides, ordos, harkonnen
MPStartUnits@lightatreides:
Class: light
ClassName: Light Support
Races: atreides
Factions: atreides
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, quad
InnerSupportRadius: 3
@@ -97,7 +97,7 @@ World:
MPStartUnits@lightharkonnen:
Class: light
ClassName: Light Support
Races: harkonnen
Factions: harkonnen
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, bazooka, trike, quad
InnerSupportRadius: 3
@@ -105,7 +105,7 @@ World:
MPStartUnits@lightordos:
Class: light
ClassName: Light Support
Races: ordos
Factions: ordos
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, quad
InnerSupportRadius: 3
@@ -113,7 +113,7 @@ World:
MPStartUnits@heavyatreides:
Class: heavy
ClassName: Heavy Support
Races: atreides
Factions: atreides
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, grenadier, trike, combata, missiletank
InnerSupportRadius: 3
@@ -121,7 +121,7 @@ World:
MPStartUnits@heavyharkonnen:
Class: heavy
ClassName: Heavy Support
Races: harkonnen
Factions: harkonnen
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, engineer, quad, combath, siegetank
InnerSupportRadius: 3
@@ -129,7 +129,7 @@ World:
MPStartUnits@heavyordos:
Class: heavy
ClassName: Heavy Support
Races: ordos
Factions: ordos
BaseActor: mcv
SupportActors: rifle, rifle, rifle, bazooka, engineer, raider, combato, missiletank
InnerSupportRadius: 3

View File

@@ -123,12 +123,12 @@ World:
MPStartUnits@mcvonly:
Class: none
ClassName: MCV Only
Races: allies, england, france, germany, soviet, russia, ukraine
Factions: allies, england, france, germany, soviet, russia, ukraine
BaseActor: mcv
MPStartUnits@lightallies:
Class: light
ClassName: Light Support
Races: allies, england, france, germany
Factions: allies, england, france, germany
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
InnerSupportRadius: 3
@@ -136,7 +136,7 @@ World:
MPStartUnits@lightsoviet:
Class: light
ClassName: Light Support
Races: soviet, russia, ukraine
Factions: soviet, russia, ukraine
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
InnerSupportRadius: 3
@@ -144,7 +144,7 @@ World:
MPStartUnits@heavyallies:
Class: heavy
ClassName: Heavy Support
Races: allies, england, france, germany
Factions: allies, england, france, germany
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
InnerSupportRadius: 3
@@ -152,7 +152,7 @@ World:
MPStartUnits@heavysoviet:
Class: heavy
ClassName: Heavy Support
Races: soviet, russia, ukraine
Factions: soviet, russia, ukraine
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk
InnerSupportRadius: 3

View File

@@ -102,12 +102,12 @@ World:
MPStartUnits@MCV:
Class: none
ClassName: MCV Only
Races: gdi, nod
Factions: gdi, nod
BaseActor: mcv
MPStartUnits@light.gdi:
Class: light
ClassName: Light
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e1,e2,e2
InnerSupportRadius: 3
@@ -115,7 +115,7 @@ World:
MPStartUnits@light.nod:
Class: light
ClassName: Light
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3
InnerSupportRadius: 3
@@ -123,7 +123,7 @@ World:
MPStartUnits@med.gdi:
Class: medium
ClassName: Medium
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e1,e2,jumpjet,smech
InnerSupportRadius: 3
@@ -131,7 +131,7 @@ World:
MPStartUnits@med.nod:
Class: medium
ClassName: Medium
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e1,e3,cyborg,bggy
InnerSupportRadius: 3
@@ -139,7 +139,7 @@ World:
MPStartUnits@heavy.gdi:
Class: heavy
ClassName: Heavy
Races: gdi
Factions: gdi
BaseActor: mcv
SupportActors: e1,e2,e2,smech,mmch
InnerSupportRadius: 3
@@ -147,7 +147,7 @@ World:
MPStartUnits@heavy.nod:
Class: heavy
ClassName: Heavy
Races: nod
Factions: nod
BaseActor: mcv
SupportActors: e1,e3,bggy,bike,ttnk
InnerSupportRadius: 3