From e07f12bea688da86923cf5c4c63328887bf4e0b5 Mon Sep 17 00:00:00 2001 From: Angen Date: Sun, 19 Jul 2020 11:45:00 +0000 Subject: [PATCH] Clean up tower classes and related changes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Classes: The Defensive class is made visible (cf. Civic, Economic, Military). The Fortress class is made visible (because of build restrictions). The Tower class defined in template_structure_defensive_tower.xml is now visible. The unused GarrisonTower class is removed. The DefenseTower class is deprecated in favour of one unique class in each of the *_tower.xml children templates: *_artillery.xml → ArtilleryTower *_bolt.xml → BoltTower *_sentry.xml → SentryTower *_stone.xml → StoneTower template_structure_defensive_wall_tower.xml does not inherit from *_tower and therefore has a WallTower class instead of a Tower class. Updated the Identity.js file accordingly. Updated the Petra AI files accordingly (DefenseTower → Tower). Tower build restrictions are changed to simply Tower. Technologies: tower_armour.json affects all towers, but not outposts (unchanged). tower_decay.json and tower_vision.json affect only outposts (unchanged). tower_crenellations.json, tower_murderholes.json, tower_range.json, and tower_watch.json affect now only the Sentry and Stone towers, instead of all towers. This alters gameplay for the Artillery and Bolt tower, but those shouldn't have been benefitting from arrow tower technologies anyway. Standardized the tooltips per the style guide. Updated the in the tower templates. Inserted 1.0 in template_structure.xml, where the is defined, and removed the from templates that can't train any units. Patch by: Nescio Reviewed by: Angen Differential Revision: https://code.wildfiregames.com/D2549 This was SVN commit r23853. --- .../simulation/ai/petra/attackManager.js | 2 +- .../public/simulation/ai/petra/baseManager.js | 2 +- .../simulation/ai/petra/headquarters.js | 41 ++++++++++--------- .../simulation/ai/petra/queueplanBuilding.js | 2 +- .../components/BuildRestrictions.js | 2 +- .../simulation/components/EntityLimits.js | 8 ++-- .../public/simulation/components/Identity.js | 4 +- .../data/technologies/tower_armour.json | 4 +- .../technologies/tower_crenellations.json | 4 +- .../data/technologies/tower_decay.json | 2 +- .../data/technologies/tower_murderholes.json | 4 +- .../data/technologies/tower_range.json | 4 +- .../data/technologies/tower_watch.json | 4 +- .../templates/special/player/player.xml | 2 +- .../templates/structures/rome_tent.xml | 9 +--- .../templates/template_structure.xml | 1 + .../template_structure_civic_civil_centre.xml | 6 +-- .../template_structure_civic_house.xml | 1 - .../template_structure_defensive.xml | 2 +- .../template_structure_defensive_tower.xml | 9 ++-- ...te_structure_defensive_tower_artillery.xml | 4 +- ...emplate_structure_defensive_tower_bolt.xml | 4 +- ...late_structure_defensive_tower_outpost.xml | 4 +- ...plate_structure_defensive_tower_sentry.xml | 5 +-- ...mplate_structure_defensive_tower_stone.xml | 5 +-- ...emplate_structure_defensive_wall_tower.xml | 5 +-- .../template_structure_economic_farmstead.xml | 1 - ...template_structure_economic_storehouse.xml | 1 - ...template_structure_military_blacksmith.xml | 1 - .../template_structure_military_fortress.xml | 6 +-- .../template_structure_special_library.xml | 1 - .../templates/template_structure_wonder.xml | 1 - 32 files changed, 65 insertions(+), 86 deletions(-) diff --git a/binaries/data/mods/public/simulation/ai/petra/attackManager.js b/binaries/data/mods/public/simulation/ai/petra/attackManager.js index e1ad8ca463..4d5e1c7670 100644 --- a/binaries/data/mods/public/simulation/ai/petra/attackManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/attackManager.js @@ -475,7 +475,7 @@ PETRA.AttackManager.prototype.getEnemyPlayer = function(gameState, attack) continue; let enemyDefense = 0; for (let ent of gameState.getEnemyStructures(i).values()) - if (ent.hasClass("Tower") || ent.hasClass("Fortress")) + if (ent.hasClass("Tower") || ent.hasClass("WallTower") || ent.hasClass("Fortress")) enemyDefense++; if (enemyDefense > 6) veto[i] = true; diff --git a/binaries/data/mods/public/simulation/ai/petra/baseManager.js b/binaries/data/mods/public/simulation/ai/petra/baseManager.js index 2a7cccebd2..0f7b7eb621 100644 --- a/binaries/data/mods/public/simulation/ai/petra/baseManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/baseManager.js @@ -801,7 +801,7 @@ PETRA.BaseManager.prototype.assignToFoundations = function(gameState, noRepair) target.getMetadata(PlayerID, "phaseUp") == true) targetNB = 7; else if (target.hasClass("Barracks") || target.hasClass("Range") || target.hasClass("Stable") || - target.hasClass("DefenseTower") || target.hasClass("Market")) + target.hasClass("Tower") || target.hasClass("Market")) targetNB = 4; else if (target.hasClass("House") || target.hasClass("DropsiteWood")) targetNB = 3; diff --git a/binaries/data/mods/public/simulation/ai/petra/headquarters.js b/binaries/data/mods/public/simulation/ai/petra/headquarters.js index 4c587f5e8b..0a28d84c19 100644 --- a/binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ b/binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -23,14 +23,14 @@ PETRA.HQ = function(Config) this.firstBaseConfig = false; this.currentBase = 0; // Only one base (from baseManager) is run every turn. - // Workers configuration + // Workers configuration. this.targetNumWorkers = this.Config.Economy.targetNumWorkers; this.supportRatio = this.Config.Economy.supportRatio; - this.fortStartTime = 180; // sentry defense towers, will start at fortStartTime + towerLapseTime - this.towerStartTime = 0; // stone defense towers, will start as soon as available + this.fortStartTime = 180; // Sentry towers, will start at fortStartTime + towerLapseTime. + this.towerStartTime = 0; // Stone towers, will start as soon as available (town phase). this.towerLapseTime = this.Config.Military.towerLapseTime; - this.fortressStartTime = 0; // will start as soon as available + this.fortressStartTime = 0; // Fortresses, will start as soon as available (city phase). this.fortressLapseTime = this.Config.Military.fortressLapseTime; this.extraTowers = Math.round(Math.min(this.Config.difficulty, 3) * this.Config.personality.defensive); this.extraFortresses = Math.round(Math.max(Math.min(this.Config.difficulty - 1, 2), 0) * this.Config.personality.defensive); @@ -1084,7 +1084,7 @@ PETRA.HQ.prototype.findEconomicCCLocation = function(gameState, template, resour if (this.borderMap.map[j] & PETRA.fullBorder_Mask) // disfavor the borders of the map norm *= 0.5; - let val = 2*gameState.sharedScript.ccResourceMaps[resource].map[j]; + let val = 2 * gameState.sharedScript.ccResourceMaps[resource].map[j]; for (let res in gameState.sharedScript.resourceMaps) if (res != "food") val += gameState.sharedScript.ccResourceMaps[res].map[j]; @@ -1136,7 +1136,7 @@ PETRA.HQ.prototype.findEconomicCCLocation = function(gameState, template, resour PETRA.HQ.prototype.findStrategicCCLocation = function(gameState, template) { // This builds a map. The procedure is fairly simple. - // We minimize the Sum((dist-300)**2) where the sum is on the three nearest allied CC + // We minimize the Sum((dist - 300)^2) where the sum is on the three nearest allied CC // with the constraints that all CC have dist > 200 and at least one have dist < 400 // This needs at least 2 CC. Otherwise, go back to economic CC. @@ -1491,7 +1491,7 @@ PETRA.HQ.prototype.findDefensiveLocation = function(gameState, template) if (!strPos) continue; let dist = API3.SquareVectorDistance(strPos, pos); - if (dist < 6400) // TODO check on true attack range instead of this 80*80 + if (dist < 6400) // TODO check on true attack range instead of this 80×80 { minDist = -1; break; @@ -1502,7 +1502,7 @@ PETRA.HQ.prototype.findDefensiveLocation = function(gameState, template) if (minDist < 0) continue; - let cutDist = 900; // 30*30 TODO maybe increase it + let cutDist = 900; // 30×30 TODO maybe increase it for (let str of ownStructures) { let strPos = str.position(); @@ -1581,7 +1581,7 @@ PETRA.HQ.prototype.buildMarket = function(gameState, queues) return; } - gameState.ai.queueManager.changePriority("economicBuilding", 3*this.Config.priorities.economicBuilding); + gameState.ai.queueManager.changePriority("economicBuilding", 3 * this.Config.priorities.economicBuilding); let plan = new PETRA.ConstructionPlan(gameState, "structures/{civ}_market"); plan.queueToReset = "economicBuilding"; queues.economicBuilding.addPlan(plan); @@ -1647,7 +1647,7 @@ PETRA.HQ.prototype.manageCorral = function(gameState, queues) let nCorral = gameState.getOwnEntitiesByClass("Corral", true).length; if (!nCorral || !gameState.isTemplateAvailable(gameState.applyCiv("structures/{civ}_field")) && - nCorral < this.currentPhase && gameState.getPopulation() > 30*nCorral) + nCorral < this.currentPhase && gameState.getPopulation() > 30 * nCorral) { if (this.canBuild(gameState, "structures/{civ}_corral")) { @@ -1760,7 +1760,7 @@ PETRA.HQ.prototype.buildMoreHouses = function(gameState, queues) this.researchManager.researchPopulationBonus(gameState, queues); } else - priority = 2*this.Config.priorities.house; + priority = 2 * this.Config.priorities.house; } else priority = this.Config.priorities.house; @@ -1844,18 +1844,18 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues) if (!this.saveResources && (this.currentPhase > 2 || gameState.isResearching(gameState.getPhaseName(3)))) { - // try to build fortresses + // Try to build fortresses. if (this.canBuild(gameState, "structures/{civ}_fortress")) { let numFortresses = gameState.getOwnEntitiesByClass("Fortress", true).length; - if ((!numFortresses || gameState.ai.elapsedTime > (1 + 0.10*numFortresses)*this.fortressLapseTime + this.fortressStartTime) && + if ((!numFortresses || gameState.ai.elapsedTime > (1 + 0.10 * numFortresses) * this.fortressLapseTime + this.fortressStartTime) && numFortresses < this.numActiveBases() + 1 + this.extraFortresses && numFortresses < Math.floor(gameState.getPopulation() / 25) && gameState.getOwnFoundationsByClass("Fortress").length < 2) { this.fortressStartTime = gameState.ai.elapsedTime; if (!numFortresses) - gameState.ai.queueManager.changePriority("defenseBuilding", 2*this.Config.priorities.defenseBuilding); + gameState.ai.queueManager.changePriority("defenseBuilding", 2 * this.Config.priorities.defenseBuilding); let plan = new PETRA.ConstructionPlan(gameState, "structures/{civ}_fortress"); plan.queueToReset = "defenseBuilding"; queues.defenseBuilding.addPlan(plan); @@ -1866,8 +1866,9 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues) if (this.Config.Military.numSentryTowers && this.currentPhase < 2 && this.canBuild(gameState, "structures/{civ}_sentry_tower")) { - let numTowers = gameState.getOwnEntitiesByClass("Tower", true).length; // we count all towers, including wall towers - let towerLapseTime = this.saveResource ? (1 + 0.5*numTowers) * this.towerLapseTime : this.towerLapseTime; + // Count all towers + wall towers. + let numTowers = gameState.getOwnEntitiesByClass("Tower", true).length + gameState.getOwnEntitiesByClass("WallTower", true).length; + let towerLapseTime = this.saveResource ? (1 + 0.5 * numTowers) * this.towerLapseTime : this.towerLapseTime; if (numTowers < this.Config.Military.numSentryTowers && gameState.ai.elapsedTime > towerLapseTime + this.fortStartTime) { this.fortStartTime = gameState.ai.elapsedTime; @@ -1881,14 +1882,14 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues) let numTowers = gameState.getOwnEntitiesByClass("StoneTower", true).length; let towerLapseTime = this.saveResource ? (1 + numTowers) * this.towerLapseTime : this.towerLapseTime; - if ((!numTowers || gameState.ai.elapsedTime > (1 + 0.1*numTowers)*towerLapseTime + this.towerStartTime) && + if ((!numTowers || gameState.ai.elapsedTime > (1 + 0.1 * numTowers) * towerLapseTime + this.towerStartTime) && numTowers < 2 * this.numActiveBases() + 3 + this.extraTowers && numTowers < Math.floor(gameState.getPopulation() / 8) && - gameState.getOwnFoundationsByClass("DefenseTower").length < 3) + gameState.getOwnFoundationsByClass("Tower").length < 3) { this.towerStartTime = gameState.ai.elapsedTime; if (numTowers > 2 * this.numActiveBases() + 3) - gameState.ai.queueManager.changePriority("defenseBuilding", Math.round(0.7*this.Config.priorities.defenseBuilding)); + gameState.ai.queueManager.changePriority("defenseBuilding", Math.round(0.7 * this.Config.priorities.defenseBuilding)); let plan = new PETRA.ConstructionPlan(gameState, "structures/{civ}_defense_tower"); plan.queueToReset = "defenseBuilding"; queues.defenseBuilding.addPlan(plan); @@ -1900,7 +1901,7 @@ PETRA.HQ.prototype.buildBlacksmith = function(gameState, queues) if (this.getAccountedPopulation(gameState) < this.Config.Military.popForBlacksmith || queues.militaryBuilding.hasQueuedUnits() || gameState.getOwnEntitiesByClass("Blacksmith", true).length) return; - // build a market before the blacksmith + // Build a market before the blacksmith. if (!gameState.getOwnEntitiesByClass("BarterMarket", true).hasEntities()) return; diff --git a/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js b/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js index 1312e5e0f0..55bbfcd93a 100644 --- a/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js +++ b/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js @@ -152,7 +152,7 @@ PETRA.ConstructionPlan.prototype.findGoodPosition = function(gameState) } return false; } - else if (template.hasClass("DefenseTower") || template.hasClass("Fortress") || template.hasClass("ArmyCamp")) + else if (template.hasClass("Tower") || template.hasClass("Fortress") || template.hasClass("ArmyCamp")) { let pos = HQ.findDefensiveLocation(gameState, template); if (pos) diff --git a/binaries/data/mods/public/simulation/components/BuildRestrictions.js b/binaries/data/mods/public/simulation/components/BuildRestrictions.js index f3a26ae9e3..def8631b0e 100644 --- a/binaries/data/mods/public/simulation/components/BuildRestrictions.js +++ b/binaries/data/mods/public/simulation/components/BuildRestrictions.js @@ -32,7 +32,7 @@ BuildRestrictions.prototype.Schema = "" + "" + "" + - "" + + "" + "" + "" + "" + diff --git a/binaries/data/mods/public/simulation/components/EntityLimits.js b/binaries/data/mods/public/simulation/components/EntityLimits.js index afc91d5b4c..82e8692764 100644 --- a/binaries/data/mods/public/simulation/components/EntityLimits.js +++ b/binaries/data/mods/public/simulation/components/EntityLimits.js @@ -4,12 +4,12 @@ EntityLimits.prototype.Schema = "Specifies per category limits on number of entities (buildings or units) that can be created for each player" + "" + "" + - "25" + - "10" + - "1" + - "1" + "1" + + "10" + + "1" + "5" + + "25" + + "1" + "" + "" + "" + diff --git a/binaries/data/mods/public/simulation/components/Identity.js b/binaries/data/mods/public/simulation/components/Identity.js index f43673ee23..212233ca36 100644 --- a/binaries/data/mods/public/simulation/components/Identity.js +++ b/binaries/data/mods/public/simulation/components/Identity.js @@ -57,7 +57,7 @@ Identity.prototype.Schema = "" + "" + "" + - "" + + "" + "" + "tokens" + "" + @@ -65,7 +65,7 @@ Identity.prototype.Schema = "" + "" + "" + - "" + + "" + "" + "tokens" + "" + diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_armour.json b/binaries/data/mods/public/simulation/data/technologies/tower_armour.json index 8403d02c7a..a8c9a8247d 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_armour.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_armour.json @@ -6,12 +6,12 @@ "requirementsTooltip": "Unlocked in City Phase.", "icon": "architecture.png", "researchTime": 40, - "tooltip": "Increases armor of defensive towers by 2 levels.", + "tooltip": "Towers +2 armor.", "modifications": [ { "value": "Armour/Hack", "add": 2 }, { "value": "Armour/Pierce", "add": 2 }, { "value": "Armour/Crush", "add": 2 } ], - "affects": ["DefenseTower"], + "affects": ["Tower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json b/binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json index 71ebed7a27..67d027778c 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json @@ -6,10 +6,10 @@ "requirementsTooltip": "Unlocked in Town Phase.", "icon": "crenelations.png", "researchTime": 40, - "tooltip": "Install crenellations and murder holes to have 40% more arrows fired per garrisoned soldier.", + "tooltip": "Sentry and Stone Towers +40% more arrows per garrisoned Soldier.", "modifications": [ { "value": "BuildingAI/GarrisonArrowMultiplier", "multiply": 1.4 } ], - "affects": ["DefenseTower"], + "affects": ["SentryTower", "StoneTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_decay.json b/binaries/data/mods/public/simulation/data/technologies/tower_decay.json index 1c4681b6af..ebb11620fd 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_decay.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_decay.json @@ -6,7 +6,7 @@ "requirementsTooltip": "Unlocked in Town Phase.", "icon": "blocks_three.png", "researchTime": 40, - "tooltip": "Outposts -50% territory decay rate.", + "tooltip": "Outposts −50% territory decay rate.", "modifications": [ { "value": "TerritoryDecay/DecayRate", "multiply": 0.5 } ], diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json b/binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json index b572c1ad24..af575b452d 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json @@ -6,10 +6,10 @@ "requirementsTooltip": "Unlocked in City Phase.", "icon": "murder_holes.png", "researchTime": 40, - "tooltip": "Removes defensive towers' minimum range.", + "tooltip": "Sentry and Stone Towers have 0 minimum attack range.", "modifications": [ { "value": "Attack/Ranged/MinRange", "replace": 0 } ], - "affects": ["DefenseTower"], + "affects": ["SentryTower", "StoneTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_range.json b/binaries/data/mods/public/simulation/data/technologies/tower_range.json index 5c03c9d441..7b742f323f 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_range.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_range.json @@ -6,11 +6,11 @@ "requirementsTooltip": "Unlocked in Town Phase.", "icon": "arrow.png", "researchTime": 40, - "tooltip": "Increases defensive towers' maximum range by 8 meters.", + "tooltip": "Sentry and Stone Towers +8 attack range.", "modifications": [ { "value": "Attack/Ranged/MaxRange", "add": 8 }, { "value": "Vision/Range","add": 8 } ], - "affects": ["DefenseTower"], + "affects": ["SentryTower", "StoneTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } diff --git a/binaries/data/mods/public/simulation/data/technologies/tower_watch.json b/binaries/data/mods/public/simulation/data/technologies/tower_watch.json index ba5f4fa349..89f558ab92 100644 --- a/binaries/data/mods/public/simulation/data/technologies/tower_watch.json +++ b/binaries/data/mods/public/simulation/data/technologies/tower_watch.json @@ -14,10 +14,10 @@ "requirementsTooltip": "Unlocked in Village Phase.", "icon": "helmet_corinthian_bronze.png", "researchTime": 40, - "tooltip": "Post sentries to add one arrow to defensive towers.", + "tooltip": "Sentry and Stone Towers +1 default arrow count.", "modifications": [ { "value": "BuildingAI/DefaultArrowCount", "add": 1 } ], - "affects": ["DefenseTower"], + "affects": ["SentryTower", "StoneTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } diff --git a/binaries/data/mods/public/simulation/templates/special/player/player.xml b/binaries/data/mods/public/simulation/templates/special/player/player.xml index be4ea09dee..c0d16b6eec 100644 --- a/binaries/data/mods/public/simulation/templates/special/player/player.xml +++ b/binaries/data/mods/public/simulation/templates/special/player/player.xml @@ -16,7 +16,7 @@ 1 - 30 + 30 10 1 1 diff --git a/binaries/data/mods/public/simulation/templates/structures/rome_tent.xml b/binaries/data/mods/public/simulation/templates/structures/rome_tent.xml index fde5e077fd..13858f57aa 100644 --- a/binaries/data/mods/public/simulation/templates/structures/rome_tent.xml +++ b/binaries/data/mods/public/simulation/templates/structures/rome_tent.xml @@ -37,14 +37,7 @@ - - 1.0 - - -units/{civ}_support_female_citizen_house - - - - + diff --git a/binaries/data/mods/public/simulation/templates/template_structure.xml b/binaries/data/mods/public/simulation/templates/template_structure.xml index e2c5fb4557..0e873c9626 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure.xml @@ -93,6 +93,7 @@ 6.0 + 1.0 1.0 1.0 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml b/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml index 1ff6ff95c5..bfa42e9148 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml @@ -85,10 +85,10 @@ Civic Center - Build to acquire large tracts of territory. Train citizens. - Defensive CivCentre - CivilCentre template_structure_civic_civil_centre + Build to acquire large tracts of territory. Train citizens. + CivCentre + Defensive CivilCentre structures/civic_centre.png diff --git a/binaries/data/mods/public/simulation/templates/template_structure_civic_house.xml b/binaries/data/mods/public/simulation/templates/template_structure_civic_house.xml index 7ede66d507..3263ec5e60 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_civic_house.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_civic_house.xml @@ -44,7 +44,6 @@ - 1.0 units/{civ}_support_female_citizen_house diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive.xml index d4ba501474..7665ac0c45 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive.xml @@ -12,7 +12,7 @@ Defensive Structure - Defensive + Defensive 100 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml index c112042c58..8f8f6494a8 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml @@ -31,9 +31,9 @@ Infantry - DefenseTower + Tower - DefenseTower + Tower 60 @@ -49,11 +49,8 @@ decay|rubble/rubble_stone_2x2 - Tower + Tower - - 0.7 - interface/complete/building/complete_tower.xml diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml index 3c9655624d..dc23269b5d 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml @@ -56,9 +56,7 @@ Artillery Tower template_structure_defensive_tower_artillery - Catapults stones. Needs the murder holes tech to protect its foot. - GarrisonTower - City DefenseTower StoneTower + City ArtilleryTower structures/tower_artillery.png phase_city diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml index 4f6052c81b..88077dae9c 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml @@ -55,9 +55,7 @@ Bolt Tower template_structure_defensive_tower_bolt - Shoots bolts. Faster reaction time against raiding units than the artillery tower, weak to all siege weapons and mass melee. Needs the murder holes tech to protect its foot. - GarrisonTower - City DefenseTower StoneTower + City BoltTower structures/tower_bolt.png phase_city diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml index 1aaecc2974..7045753e95 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml @@ -50,8 +50,8 @@ Outpost template_structure_defensive_tower_outpost - Build in neutral and own territories to scout areas of the map. Slowly converts to Gaia while in neutral territory. - Village Outpost + Build in own or neutral territory. Slowly converts to Gaia while in neutral territory. + Village -Tower Outpost structures/outpost.png diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml index 09e3faf0ff..94079afb8d 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml @@ -34,10 +34,9 @@ Sentry Tower template_structure_defensive_tower_sentry + Garrison Infantry for additional arrows. Needs the “Murder Holes” technology to protect its foot. + Village SentryTower structures/sentry_tower.png - GarrisonTower - Village DefenseTower SentryTower - Shoots arrows. Garrison to provide extra defence. Needs the murder holes tech to protect its foot. Upgradeable to stone tower. 20 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml index c1a1f2a128..ffa692f70f 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml @@ -30,9 +30,8 @@ Defense Tower template_structure_defensive_tower_stone - Shoots arrows. Garrison to provide extra defence. Needs the murder holes tech to protect its foot. - GarrisonTower - Town DefenseTower StoneTower + Garrison Infantry for additional arrows. Needs the “Murder Holes” technology to protect its foot. + Town StoneTower structures/defense_tower.png phase_town diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml b/binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml index 01a49a7206..80980b11c7 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml @@ -53,8 +53,8 @@ Wall Turret template_structure_defensive_wall_tower - Shoots arrows. Garrison to defend a city wall against attackers. - Tower + Garrison Infantry for additional arrows. Needs the “Murder Holes” technology to protect its foot. + WallTower structures/tower.png @@ -64,7 +64,6 @@ - 0.8 pair_walls_01 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_economic_farmstead.xml b/binaries/data/mods/public/simulation/templates/template_structure_economic_farmstead.xml index f4c0dbb533..b3ba113f41 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_economic_farmstead.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_economic_farmstead.xml @@ -37,7 +37,6 @@ 20 - 0.7 gather_wicker_baskets gather_farming_plows diff --git a/binaries/data/mods/public/simulation/templates/template_structure_economic_storehouse.xml b/binaries/data/mods/public/simulation/templates/template_structure_economic_storehouse.xml index cf54bbffd5..13eb2f154f 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_economic_storehouse.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_economic_storehouse.xml @@ -41,7 +41,6 @@ - 0.7 gather_lumbering_ironaxes gather_lumbering_strongeraxes diff --git a/binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml b/binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml index 27abaa7de3..f506cc1aca 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml @@ -34,7 +34,6 @@ - 0.8 attack_infantry_melee_01 attack_infantry_melee_02 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml b/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml index 8590caed3c..d74b4071fa 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml @@ -69,13 +69,13 @@ decay|rubble/rubble_stone_6x6 - Defensive Fortress GarrisonFortress - City Fortress template_structure_military_fortress + Train Champions and Heroes and research technologies. Garrison Soldiers for additional arrows. + GarrisonFortress + Defensive City Fortress structures/fortress.png phase_city - Train Champions and Heroes and research technologies. Garrison Soldiers for additional arrows. 100 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_special_library.xml b/binaries/data/mods/public/simulation/templates/template_structure_special_library.xml index a62a35a246..a6c4d791f6 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_special_library.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_special_library.xml @@ -34,7 +34,6 @@ - 0.7 successors/special_hellenistic_metropolis diff --git a/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml b/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml index 74c91a07ec..5acd88255e 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml @@ -64,7 +64,6 @@ - 0.7 pop_wonder