The recent introduction of the artillery and bolt towers messed up some things, because the new templates were carelessly copied from the scout/stone/defense tower templates. This patch tries to bring some order and does the following:
- 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 <Identity/Tooltip> in the tower templates.
- [EDIT] Inserted <BatchTimeModifier>1.0</BatchTimeModifier> in template_structure.xml, where the <ProductionQueue> is defined, and removed the <BatchTimeModifier> from templates that can't train any units.
Checked with grep -ir -e DefenseTower -e GarrisonTower simulation/*