Rename blacksmith -> forge.

A blacksmith is a person, a forge is the blacksmith's workshop.
This renames templates and corrects simulation and sound files.

Patch by: @Nescio.
Differential Revision: D2971
Approved by @genava55, @Gallaecio, @wraitii.

This was SVN commit r23998.
This commit is contained in:
Freagarach
2020-08-26 15:00:00 +00:00
parent 2dd772c99f
commit d6449bf3f0
47 changed files with 84 additions and 84 deletions
@@ -11,5 +11,5 @@
<RandPitch>1</RandPitch>
<Threshold>1</Threshold>
<Path>audio/interface/complete/building</Path>
<Sound>complete_blacksmith.ogg</Sound>
<Sound>complete_forge.ogg</Sound>
</SoundGroup>
@@ -10,5 +10,5 @@
<RandPitch>1</RandPitch>
<Threshold>1</Threshold>
<Path>audio/interface/select/building</Path>
<Sound>sel_blacksmith.ogg</Sound>
<Sound>sel_forge.ogg</Sound>
</SoundGroup>
@@ -1,3 +1,3 @@
BLACKSMITH
FORGE
Research structure for all factions.
Research weapon and armor upgrades for your units.
@@ -71,7 +71,7 @@ const oFortress = "structures/kush_fortress";
const oTower = g_MapSettings.Size >= 256 && getDifficulty() >= 3 ? "structures/kush_defense_tower" : "structures/kush_sentry_tower";
const oHouse = "structures/kush_house";
const oMarket = "structures/kush_market";
const oBlacksmith = "structures/kush_blacksmith";
const oForge = "structures/kush_forge";
const oBlemmyeCamp = "structures/kush_blemmye_camp";
const oNubaVillage = "structures/kush_nuba_village";
const oCivicCenter = "structures/kush_civil_centre";
@@ -181,7 +181,7 @@ const clTemple = g_Map.createTileClass();
const clRitualPlace = g_Map.createTileClass();
const clPyramid = g_Map.createTileClass();
const clHouse = g_Map.createTileClass();
const clBlacksmith = g_Map.createTileClass();
const clForge = g_Map.createTileClass();
const clStable = g_Map.createTileClass();
const clElephantStables = g_Map.createTileClass();
const clCivicCenter = g_Map.createTileClass();
@@ -300,10 +300,10 @@ const layoutKushCity = [
"painters": new TileClassPainter(clMarket)
},
{
"templateName": "uncapturable|" + oBlacksmith,
"templateName": "uncapturable|" + oForge,
"difficulty": "Very Easy",
"constraints": avoidClasses(clBlacksmith, 30),
"painters": new TileClassPainter(clBlacksmith)
"constraints": avoidClasses(clForge, 30),
"painters": new TileClassPainter(clForge)
},
{
"templateName": oNubaVillage,
@@ -1061,7 +1061,7 @@ var areaCityBushes =
clTower, 1,
clFortress, 1,
clHouse, 1,
clBlacksmith, 1,
clForge, 1,
clElephantStables, 1,
clStable, 1,
clCivicCenter, 1,
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -271,10 +271,10 @@ Trigger.prototype.tutorialGoals = [
}
},
{
"instructions": markForTranslation("Build a Blacksmith and research the Infantry Training technology (sword icon) to improve infantry hack attack."),
"instructions": markForTranslation("Build a Forge and research the Infantry Training technology (sword icon) to improve infantry hack attack."),
"OnResearchQueued": function(msg)
{
if (msg.technologyTemplate && TriggerHelper.EntityMatchesClassList(msg.researcherEntity, "Blacksmith"))
if (msg.technologyTemplate && TriggerHelper.EntityMatchesClassList(msg.researcherEntity, "Forge"))
this.NextGoal();
}
},
@@ -1454,8 +1454,8 @@ PETRA.AttackPlan.prototype.update = function(gameState, events)
// do not loose time destroying buildings which do not help enemy's defense and can be easily captured later
if (this.target.hasDefensiveFire())
{
targetClassesUnit.avoid = targetClassesUnit.avoid.concat("House", "Storehouse", "Farmstead", "Field", "Blacksmith");
targetClassesSiege.avoid = targetClassesSiege.avoid.concat("House", "Storehouse", "Farmstead", "Field", "Blacksmith");
targetClassesUnit.avoid = targetClassesUnit.avoid.concat("House", "Storehouse", "Farmstead", "Field", "Forge");
targetClassesSiege.avoid = targetClassesSiege.avoid.concat("House", "Storehouse", "Farmstead", "Field", "Forge");
}
if (this.unitCollUpdateArray === undefined || !this.unitCollUpdateArray.length)
@@ -18,7 +18,7 @@ PETRA.Config = function(difficulty, behavior)
"fortressLapseTime": 390, // Time to wait between building 2 fortresses
"popForBarracks1": 25,
"popForBarracks2": 95,
"popForBlacksmith": 65,
"popForForge": 65,
"numSentryTowers": 1
};
@@ -260,7 +260,7 @@ PETRA.Config.prototype.setConfig = function(gameState)
this.popScaling = Math.sqrt(maxPop / 300);
this.Military.popForBarracks1 = Math.min(Math.max(Math.floor(this.Military.popForBarracks1 * this.popScaling), 12), Math.floor(maxPop/5));
this.Military.popForBarracks2 = Math.min(Math.max(Math.floor(this.Military.popForBarracks2 * this.popScaling), 45), Math.floor(maxPop*2/3));
this.Military.popForBlacksmith = Math.min(Math.max(Math.floor(this.Military.popForBlacksmith * this.popScaling), 30), Math.floor(maxPop/2));
this.Military.popForForge = Math.min(Math.max(Math.floor(this.Military.popForForge * this.popScaling), 30), Math.floor(maxPop/2));
this.Economy.popPhase2 = Math.min(Math.max(Math.floor(this.Economy.popPhase2 * this.popScaling), 20), Math.floor(maxPop/2));
this.Economy.workPhase3 = Math.min(Math.max(Math.floor(this.Economy.workPhase3 * this.popScaling), 40), Math.floor(maxPop*2/3));
this.Economy.workPhase4 = Math.min(Math.max(Math.floor(this.Economy.workPhase4 * this.popScaling), 45), Math.floor(maxPop*2/3));
@@ -570,10 +570,10 @@ PETRA.HQ.prototype.checkPhaseRequirements = function(gameState, queues)
queue = "economicBuilding";
break;
}
if (!gameState.getOwnEntitiesByClass("Blacksmith", true).hasEntities() &&
this.canBuild(gameState, "structures/{civ}_blacksmith"))
if (!gameState.getOwnEntitiesByClass("Forge", true).hasEntities() &&
this.canBuild(gameState, "structures/{civ}_forge"))
{
plan = new PETRA.ConstructionPlan(gameState, "structures/{civ}_blacksmith", { "phaseUp": true });
plan = new PETRA.ConstructionPlan(gameState, "structures/{civ}_forge", { "phaseUp": true });
queue = "militaryBuilding";
break;
}
@@ -1896,17 +1896,17 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues)
}
};
PETRA.HQ.prototype.buildBlacksmith = function(gameState, queues)
PETRA.HQ.prototype.buildForge = function(gameState, queues)
{
if (this.getAccountedPopulation(gameState) < this.Config.Military.popForBlacksmith ||
queues.militaryBuilding.hasQueuedUnits() || gameState.getOwnEntitiesByClass("Blacksmith", true).length)
if (this.getAccountedPopulation(gameState) < this.Config.Military.popForForge ||
queues.militaryBuilding.hasQueuedUnits() || gameState.getOwnEntitiesByClass("Forge", true).length)
return;
// Build a market before the blacksmith.
// Build a Market before the Forge.
if (!gameState.getOwnEntitiesByClass("Market", true).hasEntities())
return;
if (this.canBuild(gameState, "structures/{civ}_blacksmith"))
queues.militaryBuilding.addPlan(new PETRA.ConstructionPlan(gameState, "structures/{civ}_blacksmith"));
if (this.canBuild(gameState, "structures/{civ}_forge"))
queues.militaryBuilding.addPlan(new PETRA.ConstructionPlan(gameState, "structures/{civ}_forge"));
};
/**
@@ -2734,7 +2734,7 @@ PETRA.HQ.prototype.update = function(gameState, queues, events)
if (!this.saveResources)
{
this.buildBlacksmith(gameState, queues);
this.buildForge(gameState, queues);
this.buildTemple(gameState, queues);
}
@@ -65,7 +65,7 @@ Identity.prototype.Schema =
"</element>" +
"</optional>" +
"<optional>" +
"<element name='VisibleClasses' a:help='Optional list of space-separated classes applying to this entity. These classes will also be visible in various GUI elements. If the classes need spaces, underscores will be replaced with spaces. Choices include: Amphitheater, Archer, ArmyCamp, Arsenal, ArtilleryTower, Axeman, Barracks, Bireme, Blacksmith, BoltShooter, BoltTower, Bribable, Camel, Cavalry, Champion, Chariot, Citizen, City, Civic, CivilCentre, Clubman, Colony, Corral, Council, Crossbowman, Defensive, Dock, Dog, Economic, Elephant, ElephantStable, Embassy, Farmstead, Field, Fireship, FishingBoat, Fortress, Gate, Gladiator, Gymnasium, Hall, Healer, Hero, House, Infantry, IshtarGate, Javelineer, Library, Lighthouse, Maceman, Melee, Market, Mercenary, Military, Monument, Naval, Outpost, Palace, Palisade, Pikeman, Pillar, Pyramid, Quinquereme, Ram, Range, Ranged, Relic, Resource, RotaryMill, SentryTower, Ship, Shipyard, Siege, SiegeTower, SiegeWall, Slave, Slinger, Soldier, Spearman, Stable, Stoa, StoneThrower, StoneTower, Storehouse, Support, Swordsman, Syssiton, Temple, TempleOfAmun, TempleOfApedemak, TempleOfMars, TempleOfVesta, Theater, Tower, Town, Trade, Trader, Trireme, TriumphalArch, Village, Wall, Warship, Wonder, Worker.'>" +
"<element name='VisibleClasses' a:help='Optional list of space-separated classes applying to this entity. These classes will also be visible in various GUI elements. If the classes need spaces, underscores will be replaced with spaces. Choices include: Amphitheater, Archer, ArmyCamp, Arsenal, ArtilleryTower, Axeman, Barracks, Bireme, BoltShooter, BoltTower, Bribable, Camel, Cavalry, Champion, Chariot, Citizen, City, Civic, CivilCentre, Clubman, Colony, Corral, Council, Crossbowman, Defensive, Dock, Dog, Economic, Elephant, ElephantStable, Embassy, Farmstead, Field, Fireship, FishingBoat, Forge, Fortress, Gate, Gladiator, Gymnasium, Hall, Healer, Hero, House, Infantry, IshtarGate, Javelineer, Library, Lighthouse, Maceman, Melee, Market, Mercenary, Military, Monument, Naval, Outpost, Palace, Palisade, Pikeman, Pillar, Pyramid, Quinquereme, Ram, Range, Ranged, Relic, Resource, RotaryMill, SentryTower, Ship, Shipyard, Siege, SiegeTower, SiegeWall, Slave, Slinger, Soldier, Spearman, Stable, Stoa, StoneThrower, StoneTower, Storehouse, Support, Swordsman, Syssiton, Temple, TempleOfAmun, TempleOfApedemak, TempleOfMars, TempleOfVesta, Theater, Tower, Town, Trade, Trader, Trireme, TriumphalArch, Village, Wall, Warship, Wonder, Worker.'>" +
"<attribute name='datatype'>" +
"<value>tokens</value>" +
"</attribute>" +
@@ -1,6 +1,6 @@
{
"type": "global",
"affects": ["Blacksmith"],
"affects": ["Forge"],
"affectedPlayers": ["ExclusiveMutualAlly"],
"modifications": [
{ "value": "ProductionQueue/TechCostMultiplier/food", "multiply": 0.85 },
@@ -10,5 +10,5 @@
{ "value": "ProductionQueue/TechCostMultiplier/time", "multiply": 0.85 }
],
"auraName": "Products from Gaul",
"auraDescription": "Blacksmiths 15% technology resource costs and research time."
"auraDescription": "Forges 15% technology resource costs and research time."
}
@@ -88,7 +88,7 @@
{
"Name": "Products from Gaul",
"History": "The Gauls produced and exported swords and scabbards, woolen and leather products, and other arms.",
"Description": "Blacksmiths 15% technology resource costs and research time."
"Description": "Forges 15% technology resource costs and research time."
}
],
"Structures": [],
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>skirm</Civ>
</Identity>
<SkirmishReplacer>
<general>structures/{civ}_blacksmith</general>
<general>structures/{civ}_forge</general>
</SkirmishReplacer>
<VisualActor>
<Actor>structures/hellenes/blacksmith.xml</Actor>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>athen</Civ>
<SpecificName>Chalkeōn</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Cost>
<PopulationBonus>2</PopulationBonus>
</Cost>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>cart</Civ>
</Identity>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Cost>
<PopulationBonus>2</PopulationBonus>
</Cost>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>iber</Civ>
<SpecificName>Harotz</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>kush</Civ>
<SpecificName>hmw hʿy n rȝ-ʿ</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>mace</Civ>
<SpecificName>Chalkeōn</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>maur</Civ>
<SpecificName>Lohakāra</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>pers</Civ>
<SpecificName>Arštišta</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>ptol</Civ>
<SpecificName>Chalkeōn</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>rome</Civ>
<SpecificName>Armāmentārium</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>sele</Civ>
<SpecificName>Chalkeōn</SpecificName>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_military_blacksmith">
<Entity parent="template_structure_military_forge">
<Identity>
<Civ>spart</Civ>
<SpecificName>Chalkeōn</SpecificName>
@@ -19,11 +19,11 @@
<SpawnEntityOnDeath>decay|rubble/rubble_stone_4x4</SpawnEntityOnDeath>
</Health>
<Identity>
<GenericName>Blacksmith</GenericName>
<SelectionGroupName>template_structure_military_blacksmith</SelectionGroupName>
<GenericName>Forge</GenericName>
<SelectionGroupName>template_structure_military_forge</SelectionGroupName>
<Tooltip>Research attack and armor technologies.</Tooltip>
<Classes datatype="tokens">-ConquestCritical</Classes>
<VisibleClasses datatype="tokens">Town Blacksmith</VisibleClasses>
<VisibleClasses datatype="tokens">Town Forge</VisibleClasses>
<Icon>structures/blacksmith.png</Icon>
<RequiredTechnology>phase_town</RequiredTechnology>
</Identity>
@@ -52,8 +52,8 @@
</ProductionQueue>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_blacksmith.xml</select>
<constructed>interface/complete/building/complete_blacksmith.xml</constructed>
<select>interface/select/building/sel_forge.xml</select>
<constructed>interface/complete/building/complete_forge.xml</constructed>
</SoundGroups>
</Sound>
<TerritoryInfluence>
@@ -37,7 +37,7 @@
structures/{civ}_sentry_tower
structures/{civ}_dock
structures/{civ}_barracks
structures/{civ}_blacksmith
structures/{civ}_forge
structures/{civ}_temple
structures/{civ}_market
structures/{civ}_defense_tower
@@ -39,7 +39,7 @@
structures/{civ}_sentry_tower
structures/{civ}_dock
structures/{civ}_barracks
structures/{civ}_blacksmith
structures/{civ}_forge
structures/{civ}_temple
structures/{civ}_market
structures/{civ}_defense_tower
@@ -16,7 +16,7 @@
structures/{civ}_sentry_tower
structures/{civ}_dock
structures/{civ}_barracks
structures/{civ}_blacksmith
structures/{civ}_forge
structures/{civ}_temple
structures/{civ}_market
structures/{civ}_defense_tower