-
Notifications
You must be signed in to change notification settings - Fork 6
moduleLevel
A module contains some functionality for an upgrade or tower. This is commonly referred to as an "attack", but the problem is there are things that modules do other than attack, and so this naming is confusing. A module has several types:
- attack: typically triggers when bloons are in range to do damage to them. Can be a projectile directly or can trigger an action instead.
- subattack: same attack, but is triggered by something else instead. Typically, an attack has a subattack.
- track-item: something that is placed on the track to do something.
- status: something that is applied on a bloon or other target to do something.
- buff: grants stat bonuses to other towers
- income: grants money. May be an object that can be collected (ex. banana) or is collected automatically (ex. Merchantman income)
There are two main module classes: UpgradeModule and TowerModule The main difference is that UpgradeModule must specify what it does to the target tower. It can have the following action types:
- new: creates a new module on the target tower.
- buff: alters properties on the target module.
- replace: replaces the target module, including a new name.
Each module has a name that is expected to be unique for that tower, such as "dart" or "explosion". Modules that are replaces inherit a new name, such as "tacks" -> "blades" for Blade Shooter. A module may be referred to by any of its previous names as well as its current one, which is needed for crossspathing buffs when a module is replaced but still has crosspath buffs under its old name.