Allow map players to use non-selectable races.
This commit is contained in:
@@ -46,10 +46,10 @@ namespace OpenRA
|
|||||||
public Shroud Shroud;
|
public Shroud Shroud;
|
||||||
public World World { get; private set; }
|
public World World { get; private set; }
|
||||||
|
|
||||||
static CountryInfo ChooseCountry(World world, string name)
|
static CountryInfo ChooseCountry(World world, string name, bool requireSelectable = true)
|
||||||
{
|
{
|
||||||
var selectableCountries = world.Map.Rules.Actors["world"].Traits
|
var selectableCountries = world.Map.Rules.Actors["world"].Traits
|
||||||
.WithInterface<CountryInfo>().Where(c => c.Selectable)
|
.WithInterface<CountryInfo>().Where(c => !requireSelectable || c.Selectable)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
return selectableCountries.FirstOrDefault(c => c.Race == name)
|
return selectableCountries.FirstOrDefault(c => c.Race == name)
|
||||||
@@ -82,7 +82,7 @@ namespace OpenRA
|
|||||||
Playable = pr.Playable;
|
Playable = pr.Playable;
|
||||||
Spectating = pr.Spectating;
|
Spectating = pr.Spectating;
|
||||||
botType = pr.Bot;
|
botType = pr.Bot;
|
||||||
Country = ChooseCountry(world, pr.Race);
|
Country = ChooseCountry(world, pr.Race, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerActor = world.CreateActor("Player", new TypeDictionary { new OwnerInit(this) });
|
PlayerActor = world.CreateActor("Player", new TypeDictionary { new OwnerInit(this) });
|
||||||
|
|||||||
Reference in New Issue
Block a user