Index: binaries/data/mods/public/simulation/ai/petra/attackManager.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/attackManager.js +++ binaries/data/mods/public/simulation/ai/petra/attackManager.js @@ -475,7 +475,7 @@ 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; Index: binaries/data/mods/public/simulation/ai/petra/baseManager.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/baseManager.js +++ binaries/data/mods/public/simulation/ai/petra/baseManager.js @@ -801,7 +801,7 @@ 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("StoneTower") || target.hasClass("Market")) targetNB = 4; else if (target.hasClass("House") || target.hasClass("DropsiteWood")) targetNB = 3; Index: binaries/data/mods/public/simulation/ai/petra/headquarters.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -27,8 +27,8 @@ 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 this.towerLapseTime = this.Config.Military.towerLapseTime; this.fortressStartTime = 0; // will start as soon as available this.fortressLapseTime = this.Config.Military.fortressLapseTime; @@ -1881,10 +1881,10 @@ 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) Index: binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js +++ binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js @@ -152,7 +152,7 @@ } 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) Index: binaries/data/mods/public/simulation/components/BuildRestrictions.js =================================================================== --- binaries/data/mods/public/simulation/components/BuildRestrictions.js +++ binaries/data/mods/public/simulation/components/BuildRestrictions.js @@ -32,7 +32,7 @@ "" + "" + "" + - "" + + "" + "" + "" + "" + Index: binaries/data/mods/public/simulation/components/EntityLimits.js =================================================================== --- binaries/data/mods/public/simulation/components/EntityLimits.js +++ binaries/data/mods/public/simulation/components/EntityLimits.js @@ -4,12 +4,12 @@ "Specifies per category limits on number of entities (buildings or units) that can be created for each player" + "" + "" + - "25" + + "1" + "10" + - "1" + "1" + - "1" + "5" + + "25" + + "1" + "" + "" + "" + Index: binaries/data/mods/public/simulation/components/Identity.js =================================================================== --- binaries/data/mods/public/simulation/components/Identity.js +++ binaries/data/mods/public/simulation/components/Identity.js @@ -57,7 +57,7 @@ "" + "" + "" + - "" + + "" + "" + "tokens" + "" + @@ -65,7 +65,7 @@ "" + "" + "" + - "" + + "" + "" + "tokens" + "" + Index: binaries/data/mods/public/simulation/data/technologies/tower_armour.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_armour.json +++ 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" } Index: binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_crenellations.json +++ 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" } Index: binaries/data/mods/public/simulation/data/technologies/tower_decay.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_decay.json +++ 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 } ], Index: binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_murderholes.json +++ 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" } Index: binaries/data/mods/public/simulation/data/technologies/tower_range.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_range.json +++ 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" } Index: binaries/data/mods/public/simulation/data/technologies/tower_watch.json =================================================================== --- binaries/data/mods/public/simulation/data/technologies/tower_watch.json +++ 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" } Index: binaries/data/mods/public/simulation/templates/special/player/player.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player.xml +++ binaries/data/mods/public/simulation/templates/special/player/player.xml @@ -16,7 +16,7 @@ 1 - 30 + 30 10 1 1 Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive.xml @@ -12,7 +12,7 @@ Defensive Structure - Defensive + Defensive 100 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_outpost.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_sentry.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_stone.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml +++ 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 Index: binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml +++ 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 Fortress City structures/fortress.png phase_city - Train Champions and Heroes and research technologies. Garrison Soldiers for additional arrows. 100