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

View file

@ -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>

View file

@ -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>

View file

@ -1,3 +1,3 @@
BLACKSMITH
FORGE
Research structure for all factions.
Research weapon and armor upgrades for your units.

View file

@ -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,

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:778af44b4a88c05f8737c9815274d0dc48ebad2a81cf58a87c78830f6d8bad1d
size 427305
oid sha256:1d70a711ee083182d599a2234815d791469eed9b74caf08fc2684ed22f278866
size 427300

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:684664d2d1afb44b6e1128638cf22c854922e6696dae7c60740d625249c8831e
size 2890655
oid sha256:99e2358225109e83f4333be62332250d81fa58ccecc1b39401698d216ed7763a
size 2890595

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6419ee8ac5ff3f73722489c77a985a2dd675ba2f78c9dd462e8e79f18789164
size 271507
oid sha256:5ac4ff0f70f2097f7ccc029cd0d7fd475af564644b178bc325ee36c9eb0dafda
size 271502

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:802f1f05ab9b02b70b970df63af9c2622d8dc12ca0a844d5e0f1e1df776824f2
size 683306
oid sha256:f35b324f7c614e9dad2905b213124009ade0d479e4e52735fb19ecb462486410
size 683301

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:740be2848849821eab9f113e360a57d4608fc5ae75a54854c339a87efbad1d5d
size 175581
oid sha256:ec31298522f6d6594bdd3283ba32ac4235033090bd4f7892861ed33f70b19737
size 175576

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8156e1bce31d239f314cfa005b73714623c8b8e12e80b8fa7c2b8cdcb4f0a1a
size 684935
oid sha256:81d0d2d51c5226f12fcfc74223e6f520d299f335b8de555d9420ff39e45fa859
size 684930

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:075f0fa9284c363017c49b291ff0d4f607601f3dfc9d27eb32974fa695bf4fa3
size 113945
oid sha256:f5c1f42363512503c131c624a7c609ad5978ed3469a5c5456f5287a17f1db71f
size 113940

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3bf66e55d9b4709f7f501a8bf1ae2ff95ec4d665a0251f2057779a4636905f6
size 318108
oid sha256:b147a44b59e1893cc874416ed1940169fa7aeb37b6587f6932062b37b1865dc5
size 318103

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4fc451c8fa5dc162518d2ec5a0c41a969ac3dbc883bb658a51e23f71536a9e8
size 262725
oid sha256:cea9cc966c431f48ed02f9d61336bdc657432058c3f27ea57137103565d68dd8
size 262720

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4ce4a0216b88ecd1d5c76e53808e49d37d4dd5312831215e2414ce966c72337
size 358197
oid sha256:7b92a267d3023b7ba29d2f85863d455d1b0bf0d222951e30801c7f42773085d1
size 358192

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aabfee2abd0941b17ea0efe21edcfb1f128eeffd89accd307d0f1e402422783a
size 477973
oid sha256:673606098efc5f093c778622ba9bb8a21c711c275ba5d63bd42846bec5251fa7
size 477968

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ea60ab7922bf5c8b7904adade121ba71ab300d4663ed55f244b67d0c005a109
size 359626
oid sha256:b8602b854f064b51199f7f2750dfc832fcf59441dcdaca12df196391302bff8c
size 359621

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:18eb153a4e71de899fdae94f6fcd2f6e161bf43fb11a8562a96f46bfd1fa8424
size 382397
oid sha256:7292e0d5d53dcefe4627a6fb9439cd42065c8d433fb3b3849cbbdd64f6ebef6f
size 382392

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bb41558f4f7063c1415b132858364290b0ba067e5f1b3419278e4216fbde896
size 250003
oid sha256:cd14db56ad3bbc3ecfaa9fcc8898ff06183588f614626596c8ca63e262592e58
size 249998

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7bc1da0e8c9baf974ef89c7fedc652e365860ad42739b3de457656f28ec14867
size 3669160
oid sha256:13d86c2f27cd02e802daba5880e25660755f31b74ffd60237dd98e63d38814fb
size 3669125

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9ba6a572edd89d7633018d0ede01cbc97fefe6de3d0ea9fc8b5345b2def8820
size 122435
oid sha256:cbe0695c760cdf8d2ed2339a76ce21ef09463da0083232839783ecc952a3d773
size 122430

View file

@ -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();
}
},

View file

@ -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)

View file

@ -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));

View file

@ -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);
}

View file

@ -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>" +

View file

@ -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."
}

View file

@ -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": [],

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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