Merge pull request #8851 from penev92/bleed_rename

Some more renaming from "race" to "faction"
This commit is contained in:
Paul Chote
2015-08-02 15:34:41 +01:00
13 changed files with 125 additions and 107 deletions

View File

@@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.Orders
readonly BuildingInfo buildingInfo;
readonly PlaceBuildingInfo placeBuildingInfo;
readonly BuildingInfluence buildingInfluence;
readonly string race;
readonly string faction;
readonly Sprite buildOk;
readonly Sprite buildBlocked;
IActorPreview[] preview;
@@ -50,7 +50,8 @@ namespace OpenRA.Mods.Common.Orders
var buildableInfo = info.Traits.Get<BuildableInfo>();
var mostLikelyProducer = queue.MostLikelyProducer();
race = buildableInfo.ForceRace ?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Race : producer.Owner.Faction.InternalName);
faction = buildableInfo.ForceFaction
?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Faction : producer.Owner.Faction.InternalName);
buildOk = map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0);
buildBlocked = map.SequenceProvider.GetSequence("overlay", "build-invalid").GetSprite(0);
@@ -170,7 +171,7 @@ namespace OpenRA.Mods.Common.Orders
{
var td = new TypeDictionary()
{
new FactionInit(race),
new FactionInit(faction),
new OwnerInit(producer.Owner),
new HideBibPreviewInit()
};

View File

@@ -29,8 +29,8 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Disable production when there are more than this many of this actor on the battlefield. Set to 0 to disable.")]
public readonly int BuildLimit = 0;
[Desc("Force a specific race variant, overriding the race of the producing actor.")]
public readonly string ForceRace = null;
[Desc("Force a specific faction variant, overriding the faction of the producing actor.")]
public readonly string ForceFaction = null;
[Desc("Palette used for the production icon.")]
public readonly string IconPalette = "chrome";

View File

@@ -107,7 +107,7 @@ namespace OpenRA.Mods.Common.Traits
foreach (var p in producers.Where(p => !p.Actor.IsDisabled()))
{
if (p.Trait.Produce(p.Actor, ai, p.Trait.Race))
if (p.Trait.Produce(p.Actor, ai, p.Trait.Faction))
{
FinishProduction();
return true;

View File

@@ -62,12 +62,12 @@ namespace OpenRA.Mods.Common.Traits
return;
var producer = queue.MostLikelyProducer();
var race = producer.Trait != null ? producer.Trait.Race : self.Owner.Faction.InternalName;
var faction = producer.Trait != null ? producer.Trait.Faction : self.Owner.Faction.InternalName;
var buildingInfo = unit.Traits.Get<BuildingInfo>();
var buildableInfo = unit.Traits.GetOrDefault<BuildableInfo>();
if (buildableInfo != null && buildableInfo.ForceRace != null)
race = buildableInfo.ForceRace;
if (buildableInfo != null && buildableInfo.ForceFaction != null)
faction = buildableInfo.ForceFaction;
if (os == "LineBuild")
{
@@ -78,7 +78,7 @@ namespace OpenRA.Mods.Common.Traits
{
new LocationInit(t),
new OwnerInit(order.Player),
new FactionInit(race)
new FactionInit(faction)
});
if (playSounds)
@@ -119,7 +119,7 @@ namespace OpenRA.Mods.Common.Traits
{
new LocationInit(order.TargetLocation),
new OwnerInit(order.Player),
new FactionInit(race),
new FactionInit(faction),
});
foreach (var s in buildingInfo.BuildSounds)

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string[] RequiresPrerequisites = { };
[Desc("Only grant this prerequisite for certain factions.")]
public readonly string[] Race = { };
public readonly string[] Factions = { };
[Desc("Should it recheck everything when it is captured?")]
public readonly bool ResetOnOwnerChange = false;
@@ -45,9 +45,9 @@ namespace OpenRA.Mods.Common.Traits
if (string.IsNullOrEmpty(prerequisite))
prerequisite = init.Self.Info.Name;
var race = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName;
var faction = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName;
Update(init.Self.Owner, race);
Update(init.Self.Owner, faction);
}
public IEnumerable<string> ProvidesPrerequisites
@@ -67,12 +67,12 @@ namespace OpenRA.Mods.Common.Traits
Update(newOwner, newOwner.Faction.InternalName);
}
void Update(Player owner, string race)
void Update(Player owner, string faction)
{
enabled = true;
if (info.Race.Any())
enabled = info.Race.Contains(race);
if (info.Factions.Any())
enabled = info.Factions.Contains(faction);
if (info.RequiresPrerequisites.Any() && enabled)
enabled = owner.PlayerActor.Trait<TechTree>().HasPrerequisites(info.RequiresPrerequisites);

View File

@@ -33,16 +33,16 @@ namespace OpenRA.Mods.Common.Traits
readonly Lazy<RallyPoint> rp;
public ProductionInfo Info;
public string Race { get; private set; }
public string Faction { get; private set; }
public Production(ActorInitializer init, ProductionInfo info)
{
Info = info;
rp = Exts.Lazy(() => init.Self.IsDead ? null : init.Self.TraitOrDefault<RallyPoint>());
Race = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName;
Faction = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName;
}
public void DoProduction(Actor self, ActorInfo producee, ExitInfo exitinfo, string raceVariant)
public void DoProduction(Actor self, ActorInfo producee, ExitInfo exitinfo, string factionVariant)
{
var exit = self.Location + exitinfo.ExitCell;
var spawn = self.CenterPosition + exitinfo.SpawnOffset;
@@ -55,8 +55,8 @@ namespace OpenRA.Mods.Common.Traits
var target = Target.FromCell(self.World, exitLocation);
var bi = producee.Traits.GetOrDefault<BuildableInfo>();
if (bi != null && bi.ForceRace != null)
raceVariant = bi.ForceRace;
if (bi != null && bi.ForceFaction != null)
factionVariant = bi.ForceFaction;
self.World.AddFrameEndTask(w =>
{
@@ -68,8 +68,8 @@ namespace OpenRA.Mods.Common.Traits
new FacingInit(initialFacing)
};
if (raceVariant != null)
td.Add(new FactionInit(raceVariant));
if (factionVariant != null)
td.Add(new FactionInit(factionVariant));
var newUnit = self.World.CreateActor(producee.Name, td);
@@ -102,7 +102,7 @@ namespace OpenRA.Mods.Common.Traits
});
}
public virtual bool Produce(Actor self, ActorInfo producee, string raceVariant)
public virtual bool Produce(Actor self, ActorInfo producee, string factionVariant)
{
if (Reservable.IsReserved(self))
return false;
@@ -113,7 +113,7 @@ namespace OpenRA.Mods.Common.Traits
if (exit != null)
{
DoProduction(self, producee, exit, raceVariant);
DoProduction(self, producee, exit, factionVariant);
return true;
}

View File

@@ -1663,6 +1663,23 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
}
if (engineVersion < 20150731)
{
if (node.Key.StartsWith("ProvidesPrerequisite"))
{
var raceNode = node.Value.Nodes.FirstOrDefault(x => x.Key == "Race");
if (raceNode != null)
raceNode.Key = "Factions";
}
if (node.Key.StartsWith("Buildable"))
{
var raceNode = node.Value.Nodes.FirstOrDefault(x => x.Key == "ForceRace");
if (raceNode != null)
raceNode.Key = "ForceFaction";
}
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
}
}

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public readonly Player Player;
public readonly string Label;
public readonly Color Color;
public readonly string Race;
public readonly string Faction;
public readonly Func<bool> IsSelected;
public readonly Action OnClick;
@@ -39,7 +39,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Player = p;
Label = p.PlayerName;
Color = p.Color.RGB;
Race = p.Faction.InternalName;
Faction = p.Faction.InternalName;
IsSelected = () => p.World.RenderPlayer == p;
OnClick = () => { p.World.RenderPlayer = p; logic.selected = this; p.World.Selection.Clear(); };
}
@@ -49,7 +49,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Player = p;
Label = label;
Color = Color.White;
Race = null;
Faction = null;
IsSelected = () => w.RenderPlayer == p;
OnClick = () => { w.RenderPlayer = p; logic.selected = this; };
}
@@ -85,7 +85,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Func<CameraOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) =>
{
var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick);
var showFlag = option.Race != null;
var showFlag = option.Faction != null;
var label = item.Get<LabelWidget>("LABEL");
label.IsVisible = () => showFlag;
@@ -95,7 +95,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var flag = item.Get<ImageWidget>("FLAG");
flag.IsVisible = () => showFlag;
flag.GetImageCollection = () => "flags";
flag.GetImageName = () => option.Race;
flag.GetImageName = () => option.Faction;
var labelAlt = item.Get<LabelWidget>("NOFLAG_LABEL");
labelAlt.IsVisible = () => !showFlag;
@@ -109,17 +109,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
};
var shroudLabel = shroudSelector.Get<LabelWidget>("LABEL");
shroudLabel.IsVisible = () => selected.Race != null;
shroudLabel.IsVisible = () => selected.Faction != null;
shroudLabel.GetText = () => selected.Label;
shroudLabel.GetColor = () => selected.Color;
var shroudFlag = shroudSelector.Get<ImageWidget>("FLAG");
shroudFlag.IsVisible = () => selected.Race != null;
shroudFlag.IsVisible = () => selected.Faction != null;
shroudFlag.GetImageCollection = () => "flags";
shroudFlag.GetImageName = () => selected.Race;
shroudFlag.GetImageName = () => selected.Faction;
var shroudLabelAlt = shroudSelector.Get<LabelWidget>("NOFLAG_LABEL");
shroudLabelAlt.IsVisible = () => selected.Race == null;
shroudLabelAlt.IsVisible = () => selected.Faction == null;
shroudLabelAlt.GetText = () => selected.Label;
shroudLabelAlt.GetColor = () => selected.Color;

View File

@@ -301,7 +301,7 @@ namespace OpenRA.Mods.Common.Widgets
var ks = Game.Settings.Keys;
var rb = RenderBounds;
var race = producer.Trait.Race;
var faction = producer.Trait.Faction;
foreach (var item in AllBuildables.Skip(IconRowOffset * Columns).Take(MaxIconRowOffset * Columns))
{
@@ -310,7 +310,7 @@ namespace OpenRA.Mods.Common.Widgets
var rect = new Rectangle(rb.X + x * (IconSize.X + IconMargin.X), rb.Y + y * (IconSize.Y + IconMargin.Y), IconSize.X, IconSize.Y);
var rsi = item.Traits.Get<RenderSpritesInfo>();
var icon = new Animation(World, rsi.GetImage(item, World.Map.SequenceProvider, race));
var icon = new Animation(World, rsi.GetImage(item, World.Map.SequenceProvider, faction));
icon.Play(item.Traits.Get<TooltipInfo>().Icon);
var bi = item.Traits.Get<BuildableInfo>();

View File

@@ -78,7 +78,7 @@ FACT.GDI:
Queue: Building.GDI, Building.Nod
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ForceRace: gdi
ForceFaction: gdi
Tooltip:
Name: Construction Yard (GDI)
@@ -90,7 +90,7 @@ FACT.NOD:
Queue: Building.GDI, Building.Nod
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ForceRace: nod
ForceFaction: nod
Tooltip:
Name: Construction Yard (Nod)

View File

@@ -149,16 +149,16 @@ barracks:
ProductionBar:
ProvidesPrerequisite@atreides:
Prerequisite: barracks.atreides
Race: atreides
Factions: atreides
ProvidesPrerequisite@ordos:
Prerequisite: barracks.ordos
Race: ordos
Factions: ordos
ProvidesPrerequisite@harkonnen:
Prerequisite: barracks.harkonnen
Race: harkonnen
Factions: harkonnen
ProvidesPrerequisite@medics:
Prerequisite: barracks.medics
Race: atreides, ordos
Factions: atreides, ordos
Power:
Amount: -20
RenderBuilding:
@@ -297,16 +297,16 @@ light:
ProductionBar:
ProvidesPrerequisite@atreides:
Prerequisite: light.atreides
Race: atreides
Factions: atreides
ProvidesPrerequisite@ordos:
Prerequisite: light.ordos
Race: ordos
Factions: ordos
ProvidesPrerequisite@harkonnen:
Prerequisite: light.harkonnen
Race: harkonnen
Factions: harkonnen
ProvidesPrerequisite@trikes:
Prerequisite: light.regulartrikes
Race: atreides, harkonnen
Factions: atreides, harkonnen
ProvidesPrerequisite@buildingname:
WithProductionOverlay@WELDING:
Sequence: production-welding
@@ -349,16 +349,16 @@ heavy:
ProductionBar:
ProvidesPrerequisite@atreides:
Prerequisite: heavy.atreides
Race: atreides
Factions: atreides
ProvidesPrerequisite@ordos:
Prerequisite: heavy.ordos
Race: ordos
Factions: ordos
ProvidesPrerequisite@harkonnen:
Prerequisite: heavy.harkonnen
Race: harkonnen
Factions: harkonnen
ProvidesPrerequisite@missiletank:
Prerequisite: heavy.missiletank
Race: atreides, harkonnen
Factions: atreides, harkonnen
RenderBuilding:
Image: heavy.harkonnen
RaceImages:
@@ -465,13 +465,13 @@ starport:
DisabledOverlay:
ProvidesPrerequisite@atreides:
Prerequisite: starport.atreides
Race: atreides
Factions: atreides
ProvidesPrerequisite@ordos:
Prerequisite: starport.ordos
Race: ordos
Factions: ordos
ProvidesPrerequisite@harkonnen:
Prerequisite: starport.harkonnen
Race: harkonnen
Factions: harkonnen
Power:
Amount: -40
ProvidesPrerequisite@buildingname:
@@ -712,7 +712,7 @@ hightech:
ordos: hightech.ordos
ProvidesPrerequisite@upgrade:
Prerequisite: hightech.atreides
Race: atreides
Factions: atreides
ProvidesPrerequisite@buildingname:
AirstrikePower:
Icon: ornistrike
@@ -816,7 +816,7 @@ palace:
Amount: -50
ProvidesPrerequisite@nuke:
Prerequisite: palace.nuke
Race: harkonnen
Factions: harkonnen
NukePower:
Cursor: nuke
Icon: deathhand
@@ -846,7 +846,7 @@ conyard.atreides:
Queue: Building
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ForceRace: atreides
ForceFaction: atreides
RenderBuilding:
Image: conyard.atreides
-RaceImages:
@@ -857,7 +857,7 @@ conyard.harkonnen:
Queue: Building
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ForceRace: harkonnen
ForceFaction: harkonnen
RenderBuilding:
Image: conyard.harkonnen
-RaceImages:
@@ -868,7 +868,7 @@ conyard.ordos:
Queue: Building
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ForceRace: ordos
ForceFaction: ordos
RenderBuilding:
Image: conyard.ordos
-RaceImages:

View File

@@ -141,16 +141,16 @@ SPEN:
Power:
Amount: -30
ProvidesPrerequisite@soviet:
Race: soviet, russia, ukraine
Factions: soviet, russia, ukraine
Prerequisite: ships.soviet
ProvidesPrerequisite@sovietvanilla:
Race: soviet
Factions: soviet
Prerequisite: ships.sovietvanilla
ProvidesPrerequisite@russia:
Race: russia
Factions: russia
Prerequisite: ships.russia
ProvidesPrerequisite@ukraine:
Race: ukraine
Factions: ukraine
Prerequisite: ships.ukraine
ProvidesPrerequisite@sovietstructure:
RequiresPrerequisites: structures.soviet
@@ -222,19 +222,19 @@ SYRD:
Power:
Amount: -30
ProvidesPrerequisite@allies:
Race: allies, england, france, germany
Factions: allies, england, france, germany
Prerequisite: ships.allies
ProvidesPrerequisite@alliesvanilla:
Race: allies
Factions: allies
Prerequisite: ships.alliesvanilla
ProvidesPrerequisite@england:
Race: england
Factions: england
Prerequisite: ships.england
ProvidesPrerequisite@france:
Race: france
Factions: france
Prerequisite: ships.france
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: ships.germany
ProvidesPrerequisite@alliedstructure:
RequiresPrerequisites: structures.allies
@@ -330,7 +330,7 @@ PDOX:
Bib:
HasMinibib: Yes
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: pdox.germany
ProvidesPrerequisite@germanstructure:
RequiresPrerequisites: structures.germany
@@ -797,31 +797,31 @@ WEAP:
Production:
Produces: Vehicle
ProvidesPrerequisite@allies:
Race: allies, england, france, germany
Factions: allies, england, france, germany
Prerequisite: vehicles.allies
ProvidesPrerequisite@alliesvanilla:
Race: allies
Factions: allies
Prerequisite: vehicles.alliesvanilla
ProvidesPrerequisite@england:
Race: england
Factions: england
Prerequisite: vehicles.england
ProvidesPrerequisite@france:
Race: france
Factions: france
Prerequisite: vehicles.france
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: vehicles.germany
ProvidesPrerequisite@soviet:
Race: soviet, russia, ukraine
Factions: soviet, russia, ukraine
Prerequisite: vehicles.soviet
ProvidesPrerequisite@sovietvanilla:
Race: soviet
Factions: soviet
Prerequisite: vehicles.sovietvanilla
ProvidesPrerequisite@russia:
Race: russia
Factions: russia
Prerequisite: vehicles.russia
ProvidesPrerequisite@ukraine:
Race: ukraine
Factions: ukraine
Prerequisite: vehicles.ukraine
ProvidesPrerequisite@alliedstructure:
RequiresPrerequisites: structures.allies
@@ -870,31 +870,31 @@ FACT:
BuildPaletteOrder: 1000
Prerequisites: ~disabled
ProvidesPrerequisite@allies:
Race: allies, england, france, germany
Factions: allies, england, france, germany
Prerequisite: structures.allies
ProvidesPrerequisite@alliesvanilla:
Race: allies
Factions: allies
Prerequisite: structures.alliesvanilla
ProvidesPrerequisite@england:
Race: england
Factions: england
Prerequisite: structures.england
ProvidesPrerequisite@france:
Race: france
Factions: france
Prerequisite: structures.france
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: structures.germany
ProvidesPrerequisite@soviet:
Race: soviet, russia, ukraine
Factions: soviet, russia, ukraine
Prerequisite: structures.soviet
ProvidesPrerequisite@sovietvanilla:
Race: soviet
Factions: soviet
Prerequisite: structures.sovietvanilla
ProvidesPrerequisite@russia:
Race: russia
Factions: russia
Prerequisite: structures.russia
ProvidesPrerequisite@ukraine:
Race: ukraine
Factions: ukraine
Prerequisite: structures.ukraine
Health:
HP: 1500
@@ -1053,19 +1053,19 @@ HPAD:
Power:
Amount: -10
ProvidesPrerequisite@allies:
Race: allies, england, france, germany
Factions: allies, england, france, germany
Prerequisite: aircraft.allies
ProvidesPrerequisite@alliesvanilla:
Race: allies
Factions: allies
Prerequisite: aircraft.alliesvanilla
ProvidesPrerequisite@england:
Race: england
Factions: england
Prerequisite: aircraft.england
ProvidesPrerequisite@france:
Race: france
Factions: france
Prerequisite: aircraft.france
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: aircraft.germany
ProvidesPrerequisite@alliedstructure:
RequiresPrerequisites: structures.allies
@@ -1118,16 +1118,16 @@ AFLD:
Produces: Aircraft, Plane
Reservable:
ProvidesPrerequisite@soviet:
Race: soviet, russia, ukraine
Factions: soviet, russia, ukraine
Prerequisite: aircraft.soviet
ProvidesPrerequisite@sovietvanilla:
Race: soviet
Factions: soviet
Prerequisite: aircraft.sovietvanilla
ProvidesPrerequisite@russia:
Race: russia
Factions: russia
Prerequisite: aircraft.russia
ProvidesPrerequisite@ukraine:
Race: ukraine
Factions: ukraine
Prerequisite: aircraft.ukraine
ProvidesPrerequisite@sovietstructure:
RequiresPrerequisites: structures.soviet
@@ -1337,16 +1337,16 @@ BARR:
ProvidesPrerequisite:
Prerequisite: barracks
ProvidesPrerequisite@soviet:
Race: soviet, russia, ukraine
Factions: soviet, russia, ukraine
Prerequisite: infantry.soviet
ProvidesPrerequisite@sovietvanilla:
Race: soviet
Factions: soviet
Prerequisite: infantry.sovietvanilla
ProvidesPrerequisite@russia:
Race: russia
Factions: russia
Prerequisite: infantry.russia
ProvidesPrerequisite@ukraine:
Race: ukraine
Factions: ukraine
Prerequisite: infantry.ukraine
ProvidesPrerequisite@sovietstructure:
RequiresPrerequisites: structures.soviet
@@ -1438,19 +1438,19 @@ TENT:
ProvidesPrerequisite@barracks:
Prerequisite: barracks
ProvidesPrerequisite@allies:
Race: allies, england, france, germany
Factions: allies, england, france, germany
Prerequisite: infantry.allies
ProvidesPrerequisite@alliesvanilla:
Race: allies
Factions: allies
Prerequisite: infantry.alliesvanilla
ProvidesPrerequisite@england:
Race: england
Factions: england
Prerequisite: infantry.england
ProvidesPrerequisite@france:
Race: france
Factions: france
Prerequisite: infantry.france
ProvidesPrerequisite@germany:
Race: germany
Factions: germany
Prerequisite: infantry.germany
ProvidesPrerequisite@alliedstructure:
RequiresPrerequisites: structures.allies

View File

@@ -44,10 +44,10 @@ GACNST:
Selectable:
Bounds: 144, 60, 0, -6
ProvidesPrerequisite@gdi:
Race: gdi
Factions: gdi
Prerequisite: structures.gdi
ProvidesPrerequisite@nod:
Race: nod
Factions: nod
Prerequisite: structures.nod
SelectionDecorations:
VisualBounds: 144, 80, 0, -12