Description
Allow players to upgrade placed towers, improving their stats (damage, range, fire rate) in exchange for currency. Adds strategic depth: upgrade existing vs build new. Requires a Level field on Tower component, per-type upgrade stat/cost tables, an UpgradeTower action type, and tower selection UI. Depends on economy system (P2) for cost validation and more tower types (P5) for upgrade variety.
Steps
- Add
Level field (uint8_t, serializable with bounds) to Tower component and create per-type upgrade stat/cost tables
- Add
UpgradeTower action type with payload (target entity), server validates ownership, max level, and affordability
- Implement tower selection UI: click tower to show upgrade option with cost
- Add visual feedback for tower level (particle effect, model swap, or scale change)
- Consider sell/downgrade option
Description
Allow players to upgrade placed towers, improving their stats (damage, range, fire rate) in exchange for currency. Adds strategic depth: upgrade existing vs build new. Requires a
Levelfield on Tower component, per-type upgrade stat/cost tables, anUpgradeToweraction type, and tower selection UI. Depends on economy system (P2) for cost validation and more tower types (P5) for upgrade variety.Steps
Levelfield (uint8_t, serializable with bounds) toTowercomponent and create per-type upgrade stat/cost tablesUpgradeToweraction type with payload (target entity), server validates ownership, max level, and affordability