1
0
forked from 0ad/0ad

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,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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