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("Tower") || target.hasClass("Market")) targetNB = 4; else if (target.hasClass("House") || target.hasClass("DropsiteWood")) targetNB = 3; Index: binaries/data/mods/public/simulation/ai/petra/config.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/config.js +++ binaries/data/mods/public/simulation/ai/petra/config.js @@ -19,7 +19,7 @@ "popForBarracks1": 25, "popForBarracks2": 95, "popForBlacksmith": 65, - "numSentryTowers": 1 + "numSmallTowers": 1 }; // Define damage type importance factors here. @@ -178,24 +178,24 @@ { this.Economy.supportRatio = 0.5; this.Economy.provisionFields = 1; - this.Military.numSentryTowers = this.personality.defensive > this.personalityCut.strong ? 1 : 0; + this.Military.numSmallTowers = this.personality.defensive > this.personalityCut.strong ? 1 : 0; } else if (this.difficulty < 3) { this.Economy.supportRatio = 0.4; this.Economy.provisionFields = 1; - this.Military.numSentryTowers = this.personality.defensive > this.personalityCut.strong ? 1 : 0; + this.Military.numSmallTowers = this.personality.defensive > this.personalityCut.strong ? 1 : 0; } else { if (this.difficulty == 3) - this.Military.numSentryTowers = 1; + this.Military.numSmallTowers = 1; else - this.Military.numSentryTowers = 2; + this.Military.numSmallTowers = 2; if (this.personality.defensive > this.personalityCut.strong) - ++this.Military.numSentryTowers; + ++this.Military.numSmallTowers; else if (this.personality.defensive < this.personalityCut.weak) - --this.Military.numSentryTowers; + --this.Military.numSmallTowers; if (this.personality.aggressive > this.personalityCut.strong) { 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 @@ -1864,11 +1864,11 @@ } } - if (this.Config.Military.numSentryTowers && this.currentPhase < 2 && this.canBuild(gameState, "structures/{civ}_sentry_tower")) + if (this.Config.Military.numSmallTowers && 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; - if (numTowers < this.Config.Military.numSentryTowers && gameState.ai.elapsedTime > towerLapseTime + this.fortStartTime) + if (numTowers < this.Config.Military.numSmallTowers && gameState.ai.elapsedTime > towerLapseTime + this.fortStartTime) { this.fortStartTime = gameState.ai.elapsedTime; queues.defenseBuilding.addPlan(new PETRA.ConstructionPlan(gameState, "structures/{civ}_sentry_tower")); @@ -1879,12 +1879,12 @@ if (this.currentPhase < 2 || !this.canBuild(gameState, "structures/{civ}_defense_tower")) return; - let numTowers = gameState.getOwnEntitiesByClass("StoneTower", true).length; + let numTowers = gameState.getOwnEntitiesByClass("LargeTower", 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,7 +4,7 @@ "Specifies per category limits on number of entities (buildings or units) that can be created for each player" + "" + "" + - "25" + + "30" + "10" + "1" + "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 @@ -12,6 +12,6 @@ { "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 @@ -10,6 +10,6 @@ "modifications": [ { "value": "BuildingAI/GarrisonArrowMultiplier", "multiply": 1.4 } ], - "affects": ["DefenseTower"], + "affects": ["LargeTower", "SmallTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } 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 @@ -10,6 +10,6 @@ "modifications": [ { "value": "Attack/Ranged/MinRange", "replace": 0 } ], - "affects": ["DefenseTower"], + "affects": ["Tower"], "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 @@ -11,6 +11,6 @@ { "value": "Attack/Ranged/MaxRange", "add": 8 }, { "value": "Vision/Range","add": 8 } ], - "affects": ["DefenseTower"], + "affects": ["Tower"], "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 @@ -18,6 +18,6 @@ "modifications": [ { "value": "BuildingAI/DefaultArrowCount", "add": 1 } ], - "affects": ["DefenseTower"], + "affects": ["LargeTower", "SmallTower"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" } Index: binaries/data/mods/public/simulation/templates/skirmish/structures/default_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/skirmish/structures/default_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/skirmish/structures/default_defense_tower.xml @@ -1,5 +1,5 @@ - + 12.0 Index: binaries/data/mods/public/simulation/templates/skirmish/structures/default_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/skirmish/structures/default_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/skirmish/structures/default_sentry_tower.xml @@ -1,5 +1,5 @@ - + skirm 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/structures/athen_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/athen_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/athen_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/athen_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/athen_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/athen_sentry_tower.xml @@ -1,5 +1,5 @@ - + athen Pyrgidion Index: binaries/data/mods/public/simulation/templates/structures/brit_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/brit_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/brit_defense_tower.xml @@ -1,5 +1,5 @@ - + 10.0 Index: binaries/data/mods/public/simulation/templates/structures/brit_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/brit_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/brit_sentry_tower.xml @@ -1,5 +1,5 @@ - + brit Uxelon Index: binaries/data/mods/public/simulation/templates/structures/cart_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/cart_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/cart_defense_tower.xml @@ -1,5 +1,5 @@ - + 18.0 Index: binaries/data/mods/public/simulation/templates/structures/cart_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/cart_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/cart_sentry_tower.xml @@ -1,5 +1,5 @@ - + cart Index: binaries/data/mods/public/simulation/templates/structures/gaul_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/gaul_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/gaul_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/gaul_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/gaul_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/gaul_sentry_tower.xml @@ -1,5 +1,5 @@ - + gaul Uxelon Index: binaries/data/mods/public/simulation/templates/structures/iber_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/iber_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/iber_defense_tower.xml @@ -1,5 +1,5 @@ - + 12.0 Index: binaries/data/mods/public/simulation/templates/structures/iber_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/iber_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/iber_sentry_tower.xml @@ -1,5 +1,5 @@ - + iber Index: binaries/data/mods/public/simulation/templates/structures/kush_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/kush_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/kush_defense_tower.xml @@ -1,5 +1,5 @@ - + kush tsmt ‘3 Index: binaries/data/mods/public/simulation/templates/structures/kush_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/kush_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/kush_sentry_tower.xml @@ -1,5 +1,5 @@ - + kush tsmt Index: binaries/data/mods/public/simulation/templates/structures/mace_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/mace_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/mace_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/mace_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/mace_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/mace_sentry_tower.xml @@ -1,5 +1,5 @@ - + mace Pyrgidion Index: binaries/data/mods/public/simulation/templates/structures/maur_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/maur_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/maur_defense_tower.xml @@ -1,5 +1,5 @@ - + maur Udarka Index: binaries/data/mods/public/simulation/templates/structures/maur_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/maur_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/maur_sentry_tower.xml @@ -1,5 +1,5 @@ - + maur Index: binaries/data/mods/public/simulation/templates/structures/maur_tower_double.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/maur_tower_double.xml +++ binaries/data/mods/public/simulation/templates/structures/maur_tower_double.xml @@ -1,5 +1,5 @@ - + 0 40 Index: binaries/data/mods/public/simulation/templates/structures/palisades_fort.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/palisades_fort.xml +++ binaries/data/mods/public/simulation/templates/structures/palisades_fort.xml @@ -1,5 +1,5 @@ - + Index: binaries/data/mods/public/simulation/templates/structures/pers_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/pers_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/pers_defense_tower.xml @@ -1,5 +1,5 @@ - + pers Pāyaud Index: binaries/data/mods/public/simulation/templates/structures/pers_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/pers_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/pers_sentry_tower.xml @@ -1,5 +1,5 @@ - + pers Index: binaries/data/mods/public/simulation/templates/structures/pers_tower_babylon.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/pers_tower_babylon.xml +++ binaries/data/mods/public/simulation/templates/structures/pers_tower_babylon.xml @@ -1,5 +1,5 @@ - + pers Pāyaud Index: binaries/data/mods/public/simulation/templates/structures/ptol_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/ptol_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/ptol_defense_tower.xml @@ -1,5 +1,5 @@ - + 18.0 Index: binaries/data/mods/public/simulation/templates/structures/ptol_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/ptol_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/ptol_sentry_tower.xml @@ -1,5 +1,5 @@ - + ptol Pyrgidion Index: binaries/data/mods/public/simulation/templates/structures/rome_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/rome_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/rome_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/rome_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/rome_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/rome_sentry_tower.xml @@ -1,5 +1,5 @@ - + rome Turris Līgnea Index: binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/sele_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/sele_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/sele_sentry_tower.xml @@ -1,5 +1,5 @@ - + sele Pyrgidion Index: binaries/data/mods/public/simulation/templates/structures/spart_defense_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/spart_defense_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/spart_defense_tower.xml @@ -1,5 +1,5 @@ - + 15.0 Index: binaries/data/mods/public/simulation/templates/structures/spart_sentry_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/spart_sentry_tower.xml +++ binaries/data/mods/public/simulation/templates/structures/spart_sentry_tower.xml @@ -1,5 +1,5 @@ - + spart Pyrgidion 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 @@ -11,8 +11,8 @@ + Defensive Defensive Structure - 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 @@ -30,9 +30,9 @@ Infantry - DefenseTower + Tower - DefenseTower + Tower 60 @@ -48,7 +48,7 @@ decay|rubble/rubble_stone_2x2 - Tower + Tower 0.7 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 @@ -54,10 +54,9 @@ 1400 + City ArtilleryTower Artillery Tower Catapults stones. Needs the murder holes tech to protect its foot. - GarrisonTower - City DefenseTower StoneTower 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 @@ -53,10 +53,9 @@ 1400 + City BoltTower Bolt Tower 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 structures/tower_bolt.png phase_city Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_large.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_large.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_large.xml @@ -28,11 +28,10 @@ 1000 - Defense Tower + Town LargeTower + Large Tower Shoots arrows. Garrison to provide extra defence. Needs the murder holes tech to protect its foot. - GarrisonTower - Town DefenseTower StoneTower - structures/defense_tower.png + structures/tower_large.png phase_town 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 @@ -48,9 +48,9 @@ 800 + Village -Tower Outpost Outpost Build in neutral and own territories to scout areas of the map. Slowly converts to Gaia while in neutral territory. - Village 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 @@ -1,70 +0,0 @@ - - - - -5 - -5 - -2 - - - - - 9 - - 70 - 10 - 9 - - - - 40 - - 100 - - - - - 9.0 - - - 3 - - - 500 - - - Sentry Tower - 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 - - - - - - - tower_watch - - - - false - 16 - 30000 - - - - structures/{civ}_defense_tower - Reinforce with stone and upgrade to a defense tower. - phase_town - - 50 - 100 - - upgrading - - - - Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_small.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_small.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_small.xml @@ -32,10 +32,9 @@ 500 - Sentry Tower - structures/sentry_tower.png - GarrisonTower - Village DefenseTower SentryTower + Village SmallTower + Small Tower + structures/tower_sentry.png Shoots arrows. Garrison to provide extra defence. Needs the murder holes tech to protect its foot. Upgradeable to stone tower. 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 @@ -1,59 +0,0 @@ - - - - - - 12 - - 76 - 10 - 15 - - - - 150 - - 100 - 100 - - - - - 15.0 - - - 5 - - - 1000 - - - Defense Tower - Shoots arrows. Garrison to provide extra defence. Needs the murder holes tech to protect its foot. - GarrisonTower - Town DefenseTower StoneTower - structures/defense_tower.png - phase_town - - - 0 - 20 - - - - - - - tower_watch - tower_crenellations - tower_range - tower_murderholes - tower_armour - - - - false - 32 - 30000 - -