User:Polavux/Technical:Bloons TD 5 (multiplatform)/Weapons: Difference between revisions
→StatusEffect: moved to a separate page |
Pymonkibot (talk | contribs) m Text replacement - "[[Category:BMC (mobile)" to "[[Category:BMC (multiplatform)" |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 8: | Line 8: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>AllowFiringOnlyOnRoundStart</tt> | ||
|If < | |If <tt>true</tt>, then each round, this weapon's <tt>RemainingAmmo</tt> is refilled to its <tt>TotalAmmo</tt> if this weapon is using the ammo system, and its <tt>CooldownTime</tt> is set to the current round's length, in seconds, divided by this weapon's <tt>TotalAmmo</tt>, ignoring the <tt>CooldownTime</tt> value defined within the weapon file. In Sandbox mode, or if this weapon isn't using the ammo system, <tt>CooldownTime</tt> is set to <tt>0</tt>. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>AnimatesTower</tt> | ||
|Exclusive to ''Bloons TD Battles''. | |Exclusive to ''Bloons TD Battles''. | ||
| | | | ||
| Line 20: | Line 20: | ||
| | | | ||
|- | |- | ||
|< | |<tt>CanFireWithNoTargetsAndRoundInProgress</tt> | ||
|If < | |If <tt>true</tt>, during rounds, this weapon will fire without requiring a valid target. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>CanSelfTargetCamo</tt> | ||
|If < | |If <tt>true</tt>, this weapon can target and hit Camo bloons, even if the tower itself lacks Camo detection. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>CanSpotFromOtherTowers</tt> | ||
|If < | |If <tt>true</tt>, this weapon can target and hit bloons within other towers' range circles, including any Camo bloons within the range circles of towers that can detect Camo, but excluding towers who have <tt>CanSpotForTowers</tt> set to <tt>false.</tt> | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>CanTargetUnderground</tt> | ||
|If < | |If <tt>true</tt>, this weapon can target and hit bloons inside of path segments flagged as tunnels, as if they were not in a tunnel. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>CooldownTime</tt> | ||
|An amount of time in seconds, minimum of 1 frame. Determines the attack cooldown for attacks, during which the weapon will remain idle even if a target is in range. Determines the ability cooldown for [[Activated Ability|Activated Abilities]]. | |An amount of time in seconds, minimum of 1 frame. Determines the attack cooldown for attacks, during which the weapon will remain idle even if a target is in range. Determines the ability cooldown for [[Activated Ability|Activated Abilities]]. | ||
|Number | |Number | ||
| Line 50: | Line 50: | ||
|Weapon functionally stops existing | |Weapon functionally stops existing | ||
|- | |- | ||
|< | |<tt>CooldownTimeMultiplier</tt> | ||
| | | | ||
| | | | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>CostToFire</tt> | ||
|In ''Bloons Monkey City'', determines the cash cost of using an [[Activated Ability]]. The Premium Tower Order and Boss Ability buttons are hardcoded to treat this as a Bloonstone cost rather than a cash cost. | |In ''Bloons Monkey City'', determines the cash cost of using an [[Activated Ability]]. The Premium Tower Order and Boss Ability buttons are hardcoded to treat this as a Bloonstone cost rather than a cash cost. | ||
| Line 62: | Line 62: | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>0</tt> | ||
|- | |- | ||
|< | |<tt>DisabledOnTargetModes</tt> | ||
|The weapon disables itself if the tower's targeting mode is set to any of the targeting modes in this array (i.e. Submerge and Support behavior). | |The weapon disables itself if the tower's targeting mode is set to any of the targeting modes in this array (i.e. Submerge and Support behavior). | ||
|Array of strings | |Array of strings | ||
| Line 70: | Line 70: | ||
|Weapon does not disable based on target mode. | |Weapon does not disable based on target mode. | ||
|- | |- | ||
|< | |<tt>DisableSlotWhenOutOfAmmo</tt> | ||
|If < | |If <tt>true</tt>, this weapon disables itself when its <tt>RemainingAmmo</tt> is at 0. It does not re-enable itself. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>DrawWhenOutOfAmmo</tt> | ||
|If < | |If <tt>true</tt>, this weapon will remain visible when its <tt>RemainingAmmo</tt> is at 0, otherwise it will stop being visible when <tt>RemainingAmmo</tt> is 0, becoming visible again when <tt>RemainingAmmo</tt> is not zero. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>true</tt> | ||
|- | |- | ||
|< | |<tt>FireDelayTime</tt> | ||
|An amount of time in seconds, minimum of 1 frame. Determines the delay between a weapon firing and its tasks executing, during which the weapon will continually update its target. This plus a weapon's < | |An amount of time in seconds, minimum of 1 frame. Determines the delay between a weapon firing and its tasks executing, during which the weapon will continually update its target. This plus a weapon's <tt>CooldownTime</tt> determines its [[attack speed]], as <tt>CooldownTime</tt> will not count down until the <tt>FireDelayTime</tt> has run out. [[Activated Ability|Activated Abilities]] will resume counting down their <tt>CooldownTime</tt> even if the <tt>FireDelayTime</tt> has not yet expired. | ||
|Number | |Number | ||
|{{y}} | |{{y}} | ||
|Weapon functionally stops existing | |Weapon functionally stops existing | ||
|- | |- | ||
|< | |<tt>FireDelayTimeMultiplier</tt> | ||
| | | | ||
| | | | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>FiresOnRoundEnd</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 100: | Line 100: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ForceTargetWeaponOrigin</tt> | ||
|If < | |If <tt>true</tt>, then it forces the weapon to spawn from the target regardless of if <tt>TargetIsWeaponOrigin</tt> is on for the tower. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>ForwardFiring</tt> | ||
| | | | ||
| | | | ||
| Line 112: | Line 112: | ||
| | | | ||
|- | |- | ||
|< | |<tt>InterestMultiplier</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 118: | Line 118: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ManuallyFired</tt> | ||
|If < | |If <tt>true</tt>, this weapon is treated as an [[Activated Ability]]. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>MaxMoney</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 130: | Line 130: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MaxShots</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 136: | Line 136: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumberOfRoundsBetweenShots</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 142: | Line 142: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ReloadOnRoundStart</tt> | ||
|Exclusive to ''Bloons TD Battles''. | |Exclusive to ''Bloons TD Battles''. | ||
| | | | ||
| Line 148: | Line 148: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RemainingAmmo</tt> | ||
| | | | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>0</tt> | ||
|- | |- | ||
|< | |<tt>RequiresTargetToFire</tt> | ||
|If < | |If <tt>true</tt>, this weapon can only fire if it has a valid target. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>true</tt> | ||
|- | |- | ||
|< | |<tt>SelfTargetMode</tt> | ||
|Locks this weapon to the defined targeting priority, ignoring the targeting priority of its tower. | |Locks this weapon to the defined targeting priority, ignoring the targeting priority of its tower. | ||
|String | |String | ||
| Line 166: | Line 166: | ||
|The weapon uses its tower's targeting priority. | |The weapon uses its tower's targeting priority. | ||
|- | |- | ||
|< | |<tt>ShowRange</tt> | ||
|If < | |If <tt>false</tt>, this weapon will not draw a range circle. <tt>CanSpotFromOtherTowers</tt>-enabled weapons possessed by other towers will not be able to target bloons using this weapon's range. Otherwise, this is just visual. | ||
[[Activated Ability|Activated Abilities]] are unaffected by this property. | [[Activated Ability|Activated Abilities]] are unaffected by this property. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>true</tt> | ||
|- | |- | ||
|< | |<tt>SpreadCooldownOverRound</tt> | ||
|Exclusive to ''Bloons TD Battles''. | |Exclusive to ''Bloons TD Battles''. | ||
| | | | ||
| Line 179: | Line 179: | ||
| | | | ||
|- | |- | ||
|< | |<tt>StartsOnCooldown</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 185: | Line 185: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetingArc</tt> | ||
| | | | ||
| | | | ||
| Line 191: | Line 191: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetingFilter</tt> | ||
| | | | ||
| | | | ||
| Line 197: | Line 197: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetRange</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 203: | Line 203: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetsIndependently</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 209: | Line 209: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks the weapon executes each time it fires. | |A list of tasks the weapon executes each time it fires. | ||
|Array of objects | |Array of objects | ||
| Line 215: | Line 215: | ||
|Weapon functionally stops existing | |Weapon functionally stops existing | ||
|- | |- | ||
|< | |<tt>TotalAmmo</tt> | ||
| | | | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>0</tt> | ||
|- | |- | ||
|< | |<tt>Type</tt> | ||
| | | | ||
|String | |String | ||
| Line 227: | Line 227: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseBloonStore</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|} | |} | ||
== Tasks == | == Tasks == | ||
A < | A <tt>Task</tt> is a process that executes when a weapon fires. An array of tasks is executed in its array order, lowest index first. Some tasks, such as <tt>Projectile</tt>, <tt>AreaOfEffect</tt>, and <tt>Effect</tt> tasks, can also have tasks, which are referred to as "sub-tasks" and execute under different conditions. The <tt>Type</tt> of a task determines what the task is and what parameters it allows. | ||
===AddCashMult=== | ===AddCashMult=== | ||
| Line 251: | Line 251: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>CanHitLead</tt> | ||
|Determines if an AoE can hit Lead bloons or not. | |Determines if an AoE can hit Lead bloons or not. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>true</tt> | ||
|- | |- | ||
|< | |<tt>DisabledTasks</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 263: | Line 263: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 269: | Line 269: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MaxTargets</tt> | ||
|The pierce of the area of effect. One pierce is consumed per collision. | |The pierce of the area of effect. One pierce is consumed per collision. | ||
|Number | |Number | ||
| Line 275: | Line 275: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Range</tt> | ||
|The radius of the area of effect. | |The radius of the area of effect. | ||
|Number | |Number | ||
| Line 281: | Line 281: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Sort</tt> | ||
| | | | ||
| | | | ||
| Line 287: | Line 287: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks the area of effect executes on each Bloon it hits. | |A list of tasks the area of effect executes on each Bloon it hits. | ||
|Array of objects | |Array of objects | ||
| Line 293: | Line 293: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseRangeModifier</tt> | ||
|If < | |If <tt>true</tt>, the range scales with range modifiers. Exclusive to ''Bloons TD Battles''. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
| Line 311: | Line 311: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
|How long the event lasts for. | |How long the event lasts for. | ||
|Number | |Number | ||
| Line 317: | Line 317: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
|Array of objects | |Array of objects | ||
| Line 334: | Line 334: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>CutOffDistance</tt> | ||
| | | | ||
| | | | ||
| Line 340: | Line 340: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumJumps</tt> | ||
|How times a branch of lightning will bounce. | |How times a branch of lightning will bounce. | ||
|Number | |Number | ||
| Line 346: | Line 346: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumPersists</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 352: | Line 352: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
| | | | ||
| Line 367: | Line 367: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>ToDisable</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 373: | Line 373: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ToEnable</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 388: | Line 388: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Area</tt> | ||
|Defines the area as a rectangle. The first number determines the width, the second number determines the height. | |Defines the area as a rectangle. The first number determines the width, the second number determines the height. | ||
|Array of numbers | |Array of numbers | ||
| Line 394: | Line 394: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Mask</tt> | ||
|Determines the kind(s) of terrain this area is treated as. If empty, this is treated as land (i.e. Pontoon behavior). | |Determines the kind(s) of terrain this area is treated as. If empty, this is treated as land (i.e. Pontoon behavior). | ||
*< | *<tt>"Water"</tt> | ||
*< | *<tt>"BlockTower"</tt> (unused) | ||
*< | *<tt>"PathTower"</tt> (unused) | ||
|Array of strings | |Array of strings | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>Radius</tt> | ||
|Defines the area as a circle. The value determines the radius. | |Defines the area as a circle. The value determines the radius. | ||
|Number | |Number | ||
| Line 418: | Line 418: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>AutoCollect</tt> | ||
| | | | ||
| | | | ||
| Line 424: | Line 424: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Bank</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 430: | Line 430: | ||
| | | | ||
|- | |- | ||
|< | |<tt>BonusMultiplierForManualCollection</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 436: | Line 436: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ClickOnly</tt> | ||
| | | | ||
| | | | ||
| Line 442: | Line 442: | ||
| | | | ||
|- | |- | ||
|< | |<tt>CollectionRadius</tt> | ||
|The radius in which the collectable can be collected from. | |The radius in which the collectable can be collected from. | ||
|Number | |Number | ||
| Line 448: | Line 448: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
|How long the collectable lasts for. | |How long the collectable lasts for. | ||
|Number | |Number | ||
| Line 454: | Line 454: | ||
| | | | ||
|- | |- | ||
|< | |<tt>GivesCashWhenExpired</tt> | ||
| | | | ||
| | | | ||
| Line 460: | Line 460: | ||
| | | | ||
|- | |- | ||
|< | |<tt>GraphicName</tt> | ||
| | | | ||
| | | | ||
| Line 466: | Line 466: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LimitHealth</tt> | ||
| | | | ||
| | | | ||
| Line 472: | Line 472: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LivesMultiplier</tt> | ||
|The multiplier for how many lives are given, the total lives given is <math>\text{Lives Range} \times \text{LivesMultiplier}</math>. | |The multiplier for how many lives are given, the total lives given is <math>\text{Lives Range} \times \text{LivesMultiplier}</math>. | ||
|Number | |Number | ||
| Line 478: | Line 478: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LivesRange</tt> | ||
|The minimum and maximum number of lives the collectable at base gives. | |The minimum and maximum number of lives the collectable at base gives. | ||
|Array of numbers | |Array of numbers | ||
| Line 484: | Line 484: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LoopAnimation</tt> | ||
| | | | ||
| | | | ||
| Line 490: | Line 490: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MoneyMultiplier</tt> | ||
|The multiplier for how much cash is given, the total cash given is <math>\text{Money Range} \times \text{MoneyMultiplier}</math>. | |The multiplier for how much cash is given, the total cash given is <math>\text{Money Range} \times \text{MoneyMultiplier}</math>. | ||
|Number | |Number | ||
| Line 496: | Line 496: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MoneyRange</tt> | ||
|The minimum and maximum number of cash the collectable at base gives. | |The minimum and maximum number of cash the collectable at base gives. | ||
|Array of numbers | |Array of numbers | ||
| Line 502: | Line 502: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MoneyRangeIncreasePerRound</tt> | ||
| | | | ||
| | | | ||
| Line 508: | Line 508: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Movement</tt> | ||
|The [[#Movement|movement]] of the collectable. | |The [[#Movement|movement]] of the collectable. | ||
|Object | |Object | ||
| Line 514: | Line 514: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpriteFile</tt> | ||
| | | | ||
| | | | ||
| Line 520: | Line 520: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
| | | | ||
| Line 536: | Line 536: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>AnimateOnCollection</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 542: | Line 542: | ||
| | | | ||
|- | |- | ||
|< | |<tt>CollectionDelay</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 548: | Line 548: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Range</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 554: | Line 554: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 572: | Line 572: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>TowerType</tt> | ||
|The type of tower that is being created. | |The type of tower that is being created. | ||
|String | |String | ||
| Line 578: | Line 578: | ||
|Creates an invalid tower | |Creates an invalid tower | ||
|- | |- | ||
|< | |<tt>TowerLifetime</tt> | ||
|How long the created tower lasts. | |How long the created tower lasts. | ||
|Number | |Number | ||
| Line 584: | Line 584: | ||
|The created tower lasts infinitely | |The created tower lasts infinitely | ||
|- | |- | ||
|< | |<tt>TowerColour</tt> | ||
|Applies a RGBA multiply colour on top of the created tower. First number controls the red channel, second controls the green channel, third controls the blue channel, the fourth is suppose to control the alpha channel but it doesn't work. | |Applies a RGBA multiply colour on top of the created tower. First number controls the red channel, second controls the green channel, third controls the blue channel, the fourth is suppose to control the alpha channel but it doesn't work. | ||
|Array of Numbers | |Array of Numbers | ||
|{{n}} | |{{n}} | ||
| | |Defaults to <tt>[ 255, 255, 255, 255 ]</tt> | ||
|- | |- | ||
|< | |<tt>HasParentTower</tt> | ||
|Determines if the created tower also gets destroyed if its | |Determines if the created tower also gets destroyed if its "parent" tower get sold. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>UseParentTowerUpgradeLevel</tt> | ||
|Determines whether the created tower should copy the upgrade layout from the 'parent' tower that created it. | |Determines whether the created tower should copy the upgrade layout from the 'parent' tower that created it. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|} | |} | ||
| Line 612: | Line 612: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Amount</tt> | ||
|The amount of damage dealt. (If this weapon/projectile's task list does not have a < | |The amount of damage dealt. (If this weapon/projectile's task list does not have a <tt>MultiLayerDamage</tt> status below it, the damage will not pass through layers.) | ||
|Number | |Number | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>BlimpModifier</tt> | ||
|Exclusive to ''Bloons Monkey City''. | |Exclusive to ''Bloons Monkey City''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>BossDamageMod</tt> | ||
|Excluded from ''Bloons TD Battles''. | |Excluded from ''Bloons TD Battles''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>CeramicModifier</tt> | ||
|Exclusive to ''Bloons Monkey City''. | |Exclusive to ''Bloons Monkey City''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>DamageType</tt> | ||
|Bloons with a matching string in their < | |Bloons with a matching string in their <tt>DamageImmunity</tt> property will not take damage. Some damage types have hardcoded properties. | ||
*< | *<tt>"Piercing"</tt>: The projectile that dealt this damage plays a sound and terminates when it hits a Lead or frozen bloon. | ||
*< | *<tt>"Fire"</tt>: The projectile that dealt this damage plays a sound and terminates when it hits a Lead bloon. | ||
*< | *<tt>"Explosive"</tt> | ||
*< | *<tt>"Plasma"</tt> | ||
*< | *<tt>"Ice"</tt> | ||
*< | *<tt>"Juggernaut"</tt> | ||
*< | *<tt>"MOABMauler"</tt> | ||
*< | *<tt>"Foam"</tt> | ||
*< | *<tt>"IceViral"</tt>: Exclusive to ''Bloons TD Battles''. | ||
|String | |String | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>InformDamageFromParentTask</tt> | ||
| | | | ||
| | | | ||
| Line 666: | Line 666: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Amount</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 672: | Line 672: | ||
| | | | ||
|- | |- | ||
|< | |<tt>BlimpModifier</tt> | ||
|Exclusive to ''Bloons Monkey City''. | |Exclusive to ''Bloons Monkey City''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>BossDamageMod</tt> | ||
|Excluded from ''Bloons TD Battles''. | |Excluded from ''Bloons TD Battles''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>CeramicModifier</tt> | ||
|Exclusive to ''Bloons Monkey City''. | |Exclusive to ''Bloons Monkey City''. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>DamageType</tt> | ||
| | | | ||
|String | |String | ||
| Line 696: | Line 696: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MaxTargets</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 702: | Line 702: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Range</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 719: | Line 719: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>AppliedToTower</tt> | ||
| | | | ||
| | | | ||
| Line 725: | Line 725: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ApplyLinearDodge</tt> | ||
| | | | ||
| | | | ||
| Line 731: | Line 731: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ApplyToTarget</tt> | ||
| | | | ||
| | | | ||
| Line 737: | Line 737: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Audio</tt> | ||
| | | | ||
| | | | ||
| Line 743: | Line 743: | ||
| | | | ||
|- | |- | ||
|< | |<tt>DrawLayer</tt> | ||
| | | | ||
| | | | ||
| Line 749: | Line 749: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
| | | | ||
| | | | ||
| Line 755: | Line 755: | ||
| | | | ||
|- | |- | ||
|< | |<tt>FlipLeft</tt> | ||
| | | | ||
| | | | ||
| Line 761: | Line 761: | ||
| | | | ||
|- | |- | ||
|< | |<tt>FlipRight</tt> | ||
| | | | ||
| | | | ||
| Line 767: | Line 767: | ||
| | | | ||
|- | |- | ||
|< | |<tt>FollowTarget</tt> | ||
| | | | ||
| | | | ||
| Line 773: | Line 773: | ||
| | | | ||
|- | |- | ||
|< | |<tt>IgnoreAircraft</tt> | ||
| | | | ||
| | | | ||
| Line 779: | Line 779: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LinkScaleWithAreaOfEffectRange</tt> | ||
| | | | ||
| | | | ||
| Line 785: | Line 785: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LoopCount</tt> | ||
| | | | ||
| | | | ||
| Line 791: | Line 791: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LoopForever</tt> | ||
| | | | ||
| | | | ||
| Line 797: | Line 797: | ||
| | | | ||
|- | |- | ||
|< | |<tt>PlaySpeed</tt> | ||
| | | | ||
| | | | ||
| Line 803: | Line 803: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Position</tt> | ||
| | | | ||
| | | | ||
| Line 809: | Line 809: | ||
| | | | ||
|- | |- | ||
|< | |<tt>PositionLeft</tt> | ||
| | | | ||
| | | | ||
| Line 815: | Line 815: | ||
| | | | ||
|- | |- | ||
|< | |<tt>PositionRight</tt> | ||
| | | | ||
| | | | ||
| Line 821: | Line 821: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RoundDuration</tt> | ||
| | | | ||
| | | | ||
| Line 827: | Line 827: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Scale</tt> | ||
| | | | ||
| | | | ||
| Line 833: | Line 833: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpriteFile</tt> | ||
| | | | ||
| | | | ||
| Line 839: | Line 839: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
| | | | ||
| Line 845: | Line 845: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateWithParent</tt> | ||
| | | | ||
| | | | ||
| Line 851: | Line 851: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseDirection</tt> | ||
| | | | ||
| | | | ||
| Line 857: | Line 857: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseDuration</tt> | ||
| | | | ||
| | | | ||
| Line 872: | Line 872: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Slot</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 878: | Line 878: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Enable</tt> | ||
|Whether to enable/disable slot | |Whether to enable/disable slot | ||
|String | |String | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>true</tt> | ||
|} | |} | ||
| Line 903: | Line 903: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Amount</tt> | ||
|The amount of cash generated per pop. Has a hardcoded cap of $50,000 per activation. | |The amount of cash generated per pop. Has a hardcoded cap of $50,000 per activation. | ||
|Number | |Number | ||
| Line 909: | Line 909: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
|The duration, in seconds. | |The duration, in seconds. | ||
|Number | |Number | ||
| Line 932: | Line 932: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Aircraft</tt> | ||
|The aircraft that will be launched. | |The aircraft that will be launched. | ||
|String | |String | ||
| Line 938: | Line 938: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MaxAircraft</tt> | ||
|How many will be launched. | |How many will be launched. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>1</tt> | ||
|- | |- | ||
|< | |<tt>Path</tt> | ||
| | | | ||
| | | | ||
| Line 950: | Line 950: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Path</tt> | ||
| | | | ||
| | | | ||
| Line 956: | Line 956: | ||
| | | | ||
|- | |- | ||
|< | |<tt>PathIndex</tt> | ||
|The Flight Path the aircraft will use. | |The Flight Path the aircraft will use. | ||
* < | * <tt>0</tt> = Figure 8 | ||
* < | * <tt>1</tt> = Figure ∞ | ||
* < | * <tt>2</tt> = Circle | ||
|Number | |Number | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>PathOrigin</tt> | ||
|Defines the location of the origin of the path the aircraft will fly in. The first number controls the X coordinate, the second number controls the Y coordinate. | |Defines the location of the origin of the path the aircraft will fly in. The first number controls the X coordinate, the second number controls the Y coordinate. | ||
|Array of numbers | |Array of numbers | ||
| Line 974: | Line 974: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseTargetPath</tt> | ||
| | | | ||
| | | | ||
| Line 992: | Line 992: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>AcquireTarget</tt> | ||
| | | | ||
| | | | ||
| Line 998: | Line 998: | ||
| | | | ||
|- | |- | ||
|< | |<tt>AimAtTarget</tt> | ||
|If < | |If <tt>true</tt>, then the angles of the projectiles are offset by the angle of the shot. | ||
|Boolean | |Boolean | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>AimOffsetsAtTarget</tt> | ||
|Unused; only appears in the unused < | |Unused; only appears in the unused <tt>RoboMonkey.weapon</tt> file (<tt>RoboMonkeyLeft.weapon</tt> and <tt>RoboMonkeyRight.weapon</tt> are used instead). If <tt>true</tt>, the projectiles are angled towards the target. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>AngleIncrement</tt> | ||
|The change in angle from the first projectile for all subsequent projectiles. | |The change in angle from the first projectile for all subsequent projectiles. | ||
|Number | |Number | ||
| Line 1,016: | Line 1,016: | ||
| | | | ||
|- | |- | ||
|< | |<tt>DisabledTasks</tt> | ||
| | | | ||
| | | | ||
| Line 1,022: | Line 1,022: | ||
| | | | ||
|- | |- | ||
|< | |<tt>FireCount</tt> | ||
|The number of times each subtask executes when this executes. If set to < | |The number of times each subtask executes when this executes. If set to <tt>0</tt>, this task does not execute any subtasks. | ||
|Number | |Number | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>InitialOffset</tt> | ||
|The angle of the "first" projectile. | |The angle of the "first" projectile. | ||
|Number | |Number | ||
| Line 1,034: | Line 1,034: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MarkIDForProjectiles</tt> | ||
|If < | |If <tt>true</tt>, Bloons hit by the MultiFire's parent task cannot be hit by the MultiFire's subtasks. (This is used by Frag Bombs to make it so Bloons hit by the initial bomb (not the explosion) can't also be hit by the frags.) | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
| | | | ||
|- | |- | ||
|< | |<tt>Offsets</tt> | ||
|The positional offsets of each projectile. | |The positional offsets of each projectile. | ||
|Array of objects | |Array of objects | ||
| Line 1,046: | Line 1,046: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Radius</tt> | ||
| | | | ||
| | | | ||
| Line 1,052: | Line 1,052: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ShotDelay</tt> | ||
| | | | ||
| | | | ||
| Line 1,058: | Line 1,058: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks to execute when this task executes. | |A list of tasks to execute when this task executes. | ||
|Array of objects | |Array of objects | ||
| Line 1,073: | Line 1,073: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
|Array of objects | |Array of objects | ||
| Line 1,092: | Line 1,092: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>CollidesOnlyWithTarget</tt> | ||
|If < | |If <tt>true</tt>, this projectile will pass through any Bloons that are not the target. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>CollisionType</tt> | ||
|Determines how the projectile handles collision with Bloons. | |Determines how the projectile handles collision with Bloons. | ||
*< | *<tt>"Once"</tt>: can only collide with the same Bloon or its children once. | ||
*< | *<tt>"Continual"</tt>: can collide with any Bloon once per frame, even ones it has already hit. | ||
*< | *<tt>"None"</tt>: cannot collide with Bloons. | ||
|String | |String | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>DisabledTasks</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 1,113: | Line 1,113: | ||
| | | | ||
|- | |- | ||
|< | |<tt>DrawLayer</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,119: | Line 1,119: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ForcePersists</tt> | ||
|If true, the projectile's pierce is unaffected by pierce modifiers. | |If true, the projectile's pierce is unaffected by pierce modifiers. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>GraphicName</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,131: | Line 1,131: | ||
| | | | ||
|- | |- | ||
|< | |<tt>GraphicsAtPierceLevels</tt> | ||
| | | | ||
| | | | ||
| Line 1,137: | Line 1,137: | ||
| | | | ||
|- | |- | ||
|< | |<tt>HasFixedAngle</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>HasLimitedDuration</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,149: | Line 1,149: | ||
| | | | ||
|- | |- | ||
|< | |<tt>HasRandomOrientation</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,155: | Line 1,155: | ||
| | | | ||
|- | |- | ||
|< | |<tt>IgnoreStatusEffect</tt> | ||
| | | | ||
| | | | ||
| Line 1,161: | Line 1,161: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LimitedDuration</tt> | ||
| | | | ||
| | | | ||
| Line 1,167: | Line 1,167: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LoopAnimation</tt> | ||
| | | | ||
| | | | ||
| Line 1,173: | Line 1,173: | ||
| | | | ||
|- | |- | ||
|< | |<tt>LoopForever</tt> | ||
| | | | ||
| | | | ||
| Line 1,179: | Line 1,179: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Movement</tt> | ||
|The [[#Movement|movement]] of the projectile. | |The [[#Movement|movement]] of the projectile. | ||
|Object | |Object | ||
| Line 1,185: | Line 1,185: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumPersists</tt> | ||
|The pierce of the projectile. One pierce is consumed per collision. | |The pierce of the projectile. One pierce is consumed per collision. | ||
|Number | |Number | ||
| Line 1,191: | Line 1,191: | ||
| | | | ||
|- | |- | ||
|< | |<tt>OnlyCollidePastCutOff</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,197: | Line 1,197: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Radius</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,203: | Line 1,203: | ||
|Uses the sprite's bounding box as a collision box | |Uses the sprite's bounding box as a collision box | ||
|- | |- | ||
|< | |<tt>RemoveAfterRoundStart</tt> | ||
| | | | ||
| | | | ||
| Line 1,209: | Line 1,209: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RemoveOnRoundEnd</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,215: | Line 1,215: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpinRate</tt> | ||
| | | | ||
| | | | ||
| Line 1,221: | Line 1,221: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpriteFile</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,227: | Line 1,227: | ||
| | | | ||
|- | |- | ||
|< | |<tt>StopAtEndOfCurves</tt> | ||
| | | | ||
| | | | ||
| Line 1,233: | Line 1,233: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks. < | |A list of tasks. <tt>TasksToProcessOnCollision</tt> and <tt>TasksToProcessOnTerminate</tt> determine which tasks execute on collision and which tasks execute when the projectile expires. | ||
|Array of objects | |Array of objects | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>TasksToProcessOnCollision</tt> | ||
| | | | ||
| | | | ||
| Line 1,245: | Line 1,245: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TasksToProcessOnTerminate</tt> | ||
| | | | ||
| | | | ||
| Line 1,251: | Line 1,251: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnTowerRemoved</tt> | ||
|If < | |If <tt>true</tt>, the projectile expires when the tower that fired it is destroyed. | ||
|Boolean | |Boolean | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnZeroPersists</tt> | ||
|If < | |If <tt>true</tt>, the projectile expires when all pierce is consumed. | ||
|Boolean | |Boolean | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminatePastCutoff</tt> | ||
| | | | ||
| | | | ||
| Line 1,279: | Line 1,279: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>FireFullRange</tt> | ||
|If < | |If <tt>true</tt>, this can only target points at the full extent of the range. Ignored if <tt>OnlyTargetPathLocations</tt> is set to <tt>true</tt>. | ||
|Boolean | |Boolean | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>FollowTarget</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,291: | Line 1,291: | ||
| | | | ||
|- | |- | ||
|< | |<tt>HasRandomOrientation</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,297: | Line 1,297: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MinimumRange</tt> | ||
|The minimum targeting radius. | |The minimum targeting radius. | ||
|Number | |Number | ||
| Line 1,303: | Line 1,303: | ||
| | | | ||
|- | |- | ||
|< | |<tt>OnlyTargetPathLocations</tt> | ||
|If < | |If <tt>true</tt>, this can only target points on a path within range (i.e. Spike Factory behavior). | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>OnlyTargetPlacementLocations</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>PlacementTowerType</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,321: | Line 1,321: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Range</tt> | ||
|The maximum targeting radius. | |The maximum targeting radius. | ||
|Number | |Number | ||
| Line 1,327: | Line 1,327: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetIsWeaponTaskOrigin</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,333: | Line 1,333: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks to execute when this task executes. | |A list of tasks to execute when this task executes. | ||
|Array of objects | |Array of objects | ||
| Line 1,339: | Line 1,339: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnZeroPersists</tt> | ||
| | | | ||
| | | | ||
| Line 1,345: | Line 1,345: | ||
| | | | ||
|- | |- | ||
|< | |<tt>UseRangeModifier</tt> | ||
|If < | |If <tt>true</tt>, the targeting range scales with range modifiers. Exclusive to ''Bloons TD Battles''. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>WaitTimeRange</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 1,367: | Line 1,367: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks the ray executes on each Bloon it touches. | |A list of tasks the ray executes on each Bloon it touches. | ||
|Array of objects | |Array of objects | ||
| Line 1,382: | Line 1,382: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>CollisionType</tt> | ||
|Determines how the projectile handles collision with Bloons. | |Determines how the projectile handles collision with Bloons. | ||
*< | *<tt>"Once"</tt>: can only collide with the same Bloon or its children once. | ||
*< | *<tt>"Continual"</tt>: can collide with any Bloon once per frame, even ones it has already hit. | ||
*< | *<tt>"None"</tt>: cannot collide with Bloons. | ||
|String | |String | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>GraphicName</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,397: | Line 1,397: | ||
| | | | ||
|- | |- | ||
|< | |<tt>MaxRBE</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,403: | Line 1,403: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpriteFile</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,409: | Line 1,409: | ||
| | | | ||
|- | |- | ||
|< | |<tt>HasRandomOrientation</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,415: | Line 1,415: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumPersists</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,421: | Line 1,421: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RemoveOnRoundEnd</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,427: | Line 1,427: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks. < | |A list of tasks. <tt>TasksToProcessOnCollision</tt> and <tt>TasksToProcessOnTerminate</tt> determine which tasks execute on collision and which tasks execute when the projectile expires. | ||
|Array of objects | |Array of objects | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>TasksToProcessOnCollision</tt> | ||
| | | | ||
| | | | ||
| Line 1,439: | Line 1,439: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TasksToProcessOnTerminate</tt> | ||
| | | | ||
| | | | ||
| Line 1,445: | Line 1,445: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnZeroPersists</tt> | ||
|If < | |If <tt>true</tt>, the projectile expires when all pierce is consumed. | ||
|Boolean | |Boolean | ||
| | | | ||
| Line 1,460: | Line 1,460: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Status</tt> | ||
| | | | ||
| | | | ||
| Line 1,476: | Line 1,476: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Amount</tt> | ||
|The amount of ammo to restore to the weapon. | |The amount of ammo to restore to the weapon. | ||
|Number | |Number | ||
| Line 1,482: | Line 1,482: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Proxied</tt> | ||
|If < | |If <tt>true</tt>, also restore ammo to the weapon that spawned this aircraft. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>RoundRobin</tt> | ||
|🎠 wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee idfk but it make da glaive lord work | |🎠 wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee idfk but it make da glaive lord work | ||
|Number | |Number | ||
| Line 1,494: | Line 1,494: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SlotIndex</tt> | ||
|The slot index of the weapon that ammo is being restored to. | |The slot index of the weapon that ammo is being restored to. | ||
|Number | |Number | ||
| Line 1,509: | Line 1,509: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>SpriteFile</tt> | ||
| | | | ||
| | | | ||
| Line 1,515: | Line 1,515: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
| | | | ||
| Line 1,531: | Line 1,531: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Count</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,537: | Line 1,537: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,543: | Line 1,543: | ||
| | | | ||
|- | |- | ||
|< | |<tt>SpeedMultiplierRange</tt> | ||
| | | | ||
|Array of numbers | |Array of numbers | ||
| Line 1,549: | Line 1,549: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
|Array of objects | |Array of objects | ||
| Line 1,558: | Line 1,558: | ||
===StatusEffect=== | ===StatusEffect=== | ||
{{main|Technical:Bloons TD 5 (mobile)/Status effects}} | {{main|Technical:Bloons TD 5 (mobile)/Status effects}} | ||
Applies a modifier to the target Bloon. This task supports a lot of properties, but most are only used by certain types of statuses and are ignored by others. Some statuses cannot be inflicted by tasks, only by hardcoded game mechanics, but they can still be used for filters, and can still be removed with < | Applies a modifier to the target Bloon. This task supports a lot of properties, but most are only used by certain types of statuses and are ignored by others. Some statuses cannot be inflicted by tasks, only by hardcoded game mechanics, but they can still be used for filters, and can still be removed with <tt>RemoveStatusEffect</tt>, and Bloons can be made immune to them. | ||
This table lists properties that are common to all statuses. | This table lists properties that are common to all statuses. | ||
| Line 1,568: | Line 1,568: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Status</tt> | ||
|The type of status. This can also be set to an empty string, in which case it will do nothing until a < | |The type of status. This can also be set to an empty string, in which case it will do nothing until a <tt>TaskUpgrade</tt> changes it. | ||
|String | |String | ||
| | | | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetingFilter</tt> | ||
| | | | ||
|Object | |Object | ||
| Line 1,580: | Line 1,580: | ||
| | | | ||
|- | |- | ||
|< | |<tt>FireMode</tt> | ||
|A list of flags specifying something idk | |A list of flags specifying something idk | ||
*< | *<tt>"FireNormal"</tt> (unused) | ||
*< | *<tt>"FireOnApply"</tt> | ||
*< | *<tt>"FireOnCommand"</tt> (unused) | ||
*< | *<tt>"FireOnLastPop"</tt> (unused) | ||
*< | *<tt>"FireOnPop"</tt> (unused) | ||
*< | *<tt>"FireOnRemove"</tt> (unused) | ||
*< | *<tt>"RemoveOnLastApply"</tt> | ||
|Array of strings | |Array of strings | ||
|{{n}} | |{{n}} | ||
| Line 1,608: | Line 1,608: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>CompoundSprite</tt> | ||
| | | | ||
|String | |String | ||
| Line 1,614: | Line 1,614: | ||
| | | | ||
|- | |- | ||
|< | |<tt>InitialTime</tt> | ||
|The initial timer to delay the first execution of a looping TimerFire. | |The initial timer to delay the first execution of a looping TimerFire. | ||
|Number | |Number | ||
| Line 1,620: | Line 1,620: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Loops</tt> | ||
|Determines if a TimerFire will loop. | |Determines if a TimerFire will loop. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|- | |- | ||
|< | |<tt>NumLoops</tt> | ||
|Used in conjunction with the former, how many times will it loop. If < | |Used in conjunction with the former, how many times will it loop. If <tt>Loops</tt> is not present or false, it won't loop. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Doesn't loop | |Doesn't loop | ||
|- | |- | ||
|< | |<tt>SpriteList</tt> | ||
| | | | ||
|Array of strings | |Array of strings | ||
| Line 1,638: | Line 1,638: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
|A list of tasks to execute when the time is up. | |A list of tasks to execute when the time is up. | ||
|Array of objects | |Array of objects | ||
| Line 1,644: | Line 1,644: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TimeDelay</tt> | ||
|The delay, in seconds. | |The delay, in seconds. | ||
|Number | |Number | ||
| Line 1,659: | Line 1,659: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>ApplyToUserTower</tt> | ||
| | | | ||
| | | | ||
| Line 1,665: | Line 1,665: | ||
| | | | ||
|- | |- | ||
|< | |<tt>CanApplyToUserTower</tt> | ||
| | | | ||
| | | | ||
| Line 1,671: | Line 1,671: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Duration</tt> | ||
|How long the modifier is active for. | |How long the modifier is active for. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>Modifier</tt> | ||
|The modifier applied. Each modifier can either be additive or multiplicative. | |The modifier applied. Each modifier can either be additive or multiplicative. | ||
{| class="wikitable" | {| class="wikitable" | ||
|< | |<tt>Cost</tt> | ||
|The price of the tower/upgrades. | |The price of the tower/upgrades. | ||
|- | |- | ||
|< | |<tt>TargetRange</tt> | ||
|The range of the tower. | |The range of the tower. | ||
|- | |- | ||
|< | |<tt>Cooldown</tt> | ||
|The cooldown time of the tower, does not affect [[Activated Ability|activated abilities]]. | |The cooldown time of the tower, does not affect [[Activated Ability|activated abilities]]. | ||
|- | |- | ||
|< | |<tt>FireDelay</tt> | ||
|The fire delay time of the tower. | |The fire delay time of the tower. | ||
|- | |- | ||
|< | |<tt>CashPerPop</tt> | ||
|The amount of money given per pop by the tower. | |The amount of money given per pop by the tower. | ||
|- | |- | ||
|< | |<tt>AbilityCooldown</tt> | ||
|The cooldown of the [[Activated Ability|activated ability]]. | |The cooldown of the [[Activated Ability|activated ability]]. | ||
|- | |- | ||
|< | |<tt>PoppingPower</tt> | ||
|The pierce of the tower. Affects both < | |The pierce of the tower. Affects both <tt>Projectile</tt> and <tt>AreaOfEffect</tt> tasks. | ||
|- | |- | ||
|< | |<tt>CanPopCamo</tt> | ||
|The ability of the tower to pop camo bloons. (Boolean) | |The ability of the tower to pop camo bloons. (Boolean) | ||
|- | |- | ||
|< | |<tt>CanPopAllBloons</tt> | ||
|The ability of the tower's damage type to ignore bloon immunities. (Boolean) | |The ability of the tower's damage type to ignore bloon immunities. (Boolean) | ||
|- | |- | ||
|< | |<tt>Damage</tt> | ||
|The amount of damage the tower does. | |The amount of damage the tower does. | ||
|} | |} | ||
| Line 1,714: | Line 1,714: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ModifyMovingTowers</tt> | ||
| | | | ||
| | | | ||
| Line 1,720: | Line 1,720: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ModifyNewlySpawnedTowers</tt> | ||
| | | | ||
| | | | ||
| Line 1,726: | Line 1,726: | ||
| | | | ||
|- | |- | ||
|< | |<tt>NumPersists</tt> | ||
|How many towers will be affected. If ApplyToUserTower is on, a "pierce" will be used on itself. | |How many towers will be affected. If ApplyToUserTower is on, a "pierce" will be used on itself. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>PriorityLevel</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,738: | Line 1,738: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Range</tt> | ||
|Range of the modifier. | |Range of the modifier. | ||
|Number | |Number | ||
| Line 1,744: | Line 1,744: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ReplacesPriorityLevel</tt> | ||
| | | | ||
| | | | ||
| Line 1,750: | Line 1,750: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RequiresEmptyPriorityLevel</tt> | ||
|If true, the modifier's priority level must be empty for it to work, else, it can stack with other modifiers of that priority level | |If true, the modifier's priority level must be empty for it to work, else, it can stack with other modifiers of that priority level | ||
|Boolean | |Boolean | ||
| Line 1,756: | Line 1,756: | ||
| | | | ||
|- | |- | ||
|< | |<tt>RoundDuration</tt> | ||
| | | | ||
| | | | ||
| Line 1,762: | Line 1,762: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Stackable</tt> | ||
| | | | ||
| | | | ||
| Line 1,768: | Line 1,768: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetIsWeaponTaskOrigin</tt> | ||
| | | | ||
| | | | ||
| Line 1,774: | Line 1,774: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetingFilter</tt> | ||
|What the modifier targets. | |What the modifier targets. | ||
|Array of objects | |Array of objects | ||
| Line 1,780: | Line 1,780: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TaskPersistsWithDuration</tt> | ||
| | | | ||
| | | | ||
| Line 1,786: | Line 1,786: | ||
| | | | ||
|- | |- | ||
|< | |<tt>Tasks</tt> | ||
| | | | ||
| | | | ||
| Line 1,792: | Line 1,792: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnUserTargetChange</tt> | ||
| | | | ||
| | | | ||
| Line 1,798: | Line 1,798: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateOnUserUpgrade</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,804: | Line 1,804: | ||
| | | | ||
|- | |- | ||
|< | |<tt>WeaponSlotIndex</tt> | ||
|The slot index of the weapon the modifier is applied to. | |The slot index of the weapon the modifier is applied to. | ||
|Number | |Number | ||
| Line 1,820: | Line 1,820: | ||
==Movement == | ==Movement == | ||
< | <tt>Movement</tt> is a property shared by Projectiles, Collectables, and TextEffects. The <tt>Type</tt> determines how it moves and what sub-properties are allowed. | ||
===Forward=== | ===Forward=== | ||
| Line 1,831: | Line 1,831: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
|How fast the object moves. | |How fast the object moves. | ||
|Number | |Number | ||
| Line 1,837: | Line 1,837: | ||
|Weapon effectively stops moving | |Weapon effectively stops moving | ||
|- | |- | ||
|< | |<tt>CutOffDistance</tt> | ||
|The distance at which the object expires. | |The distance at which the object expires. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>SpeedDecay</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,859: | Line 1,859: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
|How fast the object moves. | |How fast the object moves. | ||
|Number | |Number | ||
| Line 1,865: | Line 1,865: | ||
|Weapon effectively stops moving | |Weapon effectively stops moving | ||
|- | |- | ||
|< | |<tt>CutOffDistance</tt> | ||
|The distance at which the object expires. | |The distance at which the object expires. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>NextTargetRange</tt> | ||
|The radius at which the object can target. | |The radius at which the object can target. | ||
|Number | |Number | ||
| Line 1,877: | Line 1,877: | ||
| | | | ||
|- | |- | ||
|< | |<tt>DestroyWhenNoTarget</tt> | ||
|If < | |If <tt>true</tt>, the object terminates itself if there are no targets in its range. | ||
|Boolean | |Boolean | ||
| | | | ||
| Line 1,893: | Line 1,893: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
|How fast the object moves. | |How fast the object moves. | ||
|Number | |Number | ||
| Line 1,899: | Line 1,899: | ||
|Weapon effectively stops moving | |Weapon effectively stops moving | ||
|- | |- | ||
|< | |<tt>CutOffDistance</tt> | ||
|The distance at which the object expires. | |The distance at which the object expires. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>Curves</tt> | ||
|The control points of the Bézier curve. The first number of each sub-array is the X-position, and the second number is the Y-position. | |The control points of the Bézier curve. The first number of each sub-array is the X-position, and the second number is the Y-position. | ||
|Array of array of numbers | |Array of array of numbers | ||
| Line 1,911: | Line 1,911: | ||
| | | | ||
|- | |- | ||
|< | |<tt>AngleOffset</tt> | ||
| | | | ||
|Number | |Number | ||
| Line 1,917: | Line 1,917: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TerminateAtEndOfCurve</tt> | ||
|If < | |If <tt>true</tt>, the object expires when it reaches the end of the path. | ||
|Boolean | |Boolean | ||
| | | | ||
| Line 1,935: | Line 1,935: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
|Determines the object's speed when moving towards the target. | |Determines the object's speed when moving towards the target. | ||
|Number | |Number | ||
| Line 1,941: | Line 1,941: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ReturnSpeed</tt> | ||
|Determines the object's speed when returning to its sender. | |Determines the object's speed when returning to its sender. | ||
|Number | |Number | ||
| Line 1,947: | Line 1,947: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetShouldFaceWeapon</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 1,953: | Line 1,953: | ||
| | | | ||
|- | |- | ||
|< | |<tt>StartOnTarget</tt> | ||
|If < | |If <tt>true</tt>, the object starts at the target and returns to the sender, skipping the phase of traveling to the target first. <tt>Speed</tt> is ignored. | ||
|Boolean | |Boolean | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>false</tt> | ||
|} | |} | ||
| Line 1,971: | Line 1,971: | ||
!Behavior when absent | !Behavior when absent | ||
|- | |- | ||
|< | |<tt>Speed</tt> | ||
|How fast the object moves. | |How fast the object moves. | ||
|Number | |Number | ||
| Line 1,977: | Line 1,977: | ||
|Weapon effectively stops moving | |Weapon effectively stops moving | ||
|- | |- | ||
|< | |<tt>CutOffDistance</tt> | ||
|The distance at which the object expires. | |The distance at which the object expires. | ||
|Number | |Number | ||
|{{n}} | |{{n}} | ||
|Defaults to < | |Defaults to <tt>-1</tt> | ||
|- | |- | ||
|< | |<tt>SeekAngle</tt> | ||
|The angle at which the object can target from. | |The angle at which the object can target from. | ||
|Number | |Number | ||
| Line 1,989: | Line 1,989: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TurnSpeed</tt> | ||
|How quickly the object can rotate towards its target, in degrees per second. | |How quickly the object can rotate towards its target, in degrees per second. | ||
|Number | |Number | ||
| Line 1,995: | Line 1,995: | ||
| | | | ||
|- | |- | ||
|< | |<tt>TargetRange</tt> | ||
|The radius at which the object can target. | |The radius at which the object can target. | ||
|Number | |Number | ||
| Line 2,001: | Line 2,001: | ||
| | | | ||
|- | |- | ||
|< | |<tt>ActivateCutOffFromSpotter</tt> | ||
| | | | ||
|Boolean | |Boolean | ||
| Line 2,009: | Line 2,009: | ||
<!--==Navigation== | <!--==Navigation== | ||
{{technical nav}} | {{technical nav}} | ||
[[Category:BTD5 (mobile) technical information]][[Category:Battles ( | [[Category:BTD5 (mobile) technical information]][[Category:Battles (multiplatform) technical information]][[Category:BMC (multiplatform) technical information]]--> | ||
Latest revision as of 02:25, 10 June 2026
Base weapon properties
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| AllowFiringOnlyOnRoundStart | If true, then each round, this weapon's RemainingAmmo is refilled to its TotalAmmo if this weapon is using the ammo system, and its CooldownTime is set to the current round's length, in seconds, divided by this weapon's TotalAmmo, ignoring the CooldownTime value defined within the weapon file. In Sandbox mode, or if this weapon isn't using the ammo system, CooldownTime is set to 0. | Boolean | Defaults to false | |
| AnimatesTower | Exclusive to Bloons TD Battles. | |||
| CanFireWithNoTargetsAndRoundInProgress | If true, during rounds, this weapon will fire without requiring a valid target. | Boolean | Defaults to false | |
| CanSelfTargetCamo | If true, this weapon can target and hit Camo bloons, even if the tower itself lacks Camo detection. | Boolean | Defaults to false | |
| CanSpotFromOtherTowers | If true, this weapon can target and hit bloons within other towers' range circles, including any Camo bloons within the range circles of towers that can detect Camo, but excluding towers who have CanSpotForTowers set to false. | Boolean | Defaults to false | |
| CanTargetUnderground | If true, this weapon can target and hit bloons inside of path segments flagged as tunnels, as if they were not in a tunnel. | Boolean | Defaults to false | |
| CooldownTime | An amount of time in seconds, minimum of 1 frame. Determines the attack cooldown for attacks, during which the weapon will remain idle even if a target is in range. Determines the ability cooldown for Activated Abilities. | Number | Weapon functionally stops existing | |
| CooldownTimeMultiplier | Defaults to 1 | |||
| CostToFire | In Bloons Monkey City, determines the cash cost of using an Activated Ability. The Premium Tower Order and Boss Ability buttons are hardcoded to treat this as a Bloonstone cost rather than a cash cost.
Also a valid weapon property in Bloons TD 5, but with no apparent functionality. Inherited from Bloons Monkey City in the Boss Bloon update, seemingly without its functionality to set a cash price to a weapon, and no special buttons were implemented to enable spending Monkey Money or Tokens on select abilities. |
Number | Defaults to 0 | |
| DisabledOnTargetModes | The weapon disables itself if the tower's targeting mode is set to any of the targeting modes in this array (i.e. Submerge and Support behavior). | Array of strings | Weapon does not disable based on target mode. | |
| DisableSlotWhenOutOfAmmo | If true, this weapon disables itself when its RemainingAmmo is at 0. It does not re-enable itself. | Boolean | Defaults to false | |
| DrawWhenOutOfAmmo | If true, this weapon will remain visible when its RemainingAmmo is at 0, otherwise it will stop being visible when RemainingAmmo is 0, becoming visible again when RemainingAmmo is not zero. | Boolean | Defaults to true | |
| FireDelayTime | An amount of time in seconds, minimum of 1 frame. Determines the delay between a weapon firing and its tasks executing, during which the weapon will continually update its target. This plus a weapon's CooldownTime determines its attack speed, as CooldownTime will not count down until the FireDelayTime has run out. Activated Abilities will resume counting down their CooldownTime even if the FireDelayTime has not yet expired. | Number | Weapon functionally stops existing | |
| FireDelayTimeMultiplier | Defaults to 1 | |||
| FiresOnRoundEnd | Boolean | |||
| ForceTargetWeaponOrigin | If true, then it forces the weapon to spawn from the target regardless of if TargetIsWeaponOrigin is on for the tower. | Boolean | Defaults to false | |
| ForwardFiring | ||||
| InterestMultiplier | Number | |||
| ManuallyFired | If true, this weapon is treated as an Activated Ability. | Boolean | Defaults to false | |
| MaxMoney | Number | |||
| MaxShots | Number | |||
| NumberOfRoundsBetweenShots | Number | |||
| ReloadOnRoundStart | Exclusive to Bloons TD Battles. | |||
| RemainingAmmo | Number | Defaults to 0 | ||
| RequiresTargetToFire | If true, this weapon can only fire if it has a valid target. | Boolean | Defaults to true | |
| SelfTargetMode | Locks this weapon to the defined targeting priority, ignoring the targeting priority of its tower. | String | The weapon uses its tower's targeting priority. | |
| ShowRange | If false, this weapon will not draw a range circle. CanSpotFromOtherTowers-enabled weapons possessed by other towers will not be able to target bloons using this weapon's range. Otherwise, this is just visual.
Activated Abilities are unaffected by this property. |
Boolean | Defaults to true | |
| SpreadCooldownOverRound | Exclusive to Bloons TD Battles. | |||
| StartsOnCooldown | Boolean | |||
| TargetingArc | ||||
| TargetingFilter | ||||
| TargetRange | Number | |||
| TargetsIndependently | Boolean | |||
| Tasks | A list of tasks the weapon executes each time it fires. | Array of objects | Weapon functionally stops existing | |
| TotalAmmo | Number | Defaults to 0 | ||
| Type | String | |||
| UseBloonStore | Boolean | Defaults to false |
Tasks
[edit | edit source]A Task is a process that executes when a weapon fires. An array of tasks is executed in its array order, lowest index first. Some tasks, such as Projectile, AreaOfEffect, and Effect tasks, can also have tasks, which are referred to as "sub-tasks" and execute under different conditions. The Type of a task determines what the task is and what parameters it allows.
AddCashMult
[edit | edit source]AddChildSprite
[edit | edit source]ApplyBloonSpawnModifier
[edit | edit source]AreaOfEffect
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| CanHitLead | Determines if an AoE can hit Lead bloons or not. | Boolean | Defaults to true | |
| DisabledTasks | Array of numbers | |||
| Duration | Number | |||
| MaxTargets | The pierce of the area of effect. One pierce is consumed per collision. | Number | ||
| Range | The radius of the area of effect. | Number | ||
| Sort | ||||
| Tasks | A list of tasks the area of effect executes on each Bloon it hits. | Array of objects | ||
| UseRangeModifier | If true, the range scales with range modifiers. Exclusive to Bloons TD Battles. | Boolean |
BloonAdjustment
[edit | edit source]BloonSpawnedEvent
[edit | edit source]Executes its tasks on each Bloon that spawns.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Duration | How long the event lasts for. | Number | ||
| Tasks | Array of objects |
BoostReducer
[edit | edit source]ChainTasks
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| CutOffDistance | ||||
| NumJumps | How times a branch of lightning will bounce. | Number | ||
| NumPersists | Number | |||
| Tasks |
ChangeSubtaskEnabled
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| ToDisable | Array of numbers | |||
| ToEnable | Array of numbers |
ChangeTerrain
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Area | Defines the area as a rectangle. The first number determines the width, the second number determines the height. | Array of numbers | ||
| Mask | Determines the kind(s) of terrain this area is treated as. If empty, this is treated as land (i.e. Pontoon behavior).
|
Array of strings | ||
| Radius | Defines the area as a circle. The value determines the radius. | Number |
Collectable
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| AutoCollect | ||||
| Bank | Boolean | |||
| BonusMultiplierForManualCollection | Number | |||
| ClickOnly | ||||
| CollectionRadius | The radius in which the collectable can be collected from. | Number | ||
| Duration | How long the collectable lasts for. | Number | ||
| GivesCashWhenExpired | ||||
| GraphicName | ||||
| LimitHealth | ||||
| LivesMultiplier | The multiplier for how many lives are given, the total lives given is . | Number | ||
| LivesRange | The minimum and maximum number of lives the collectable at base gives. | Array of numbers | ||
| LoopAnimation | ||||
| MoneyMultiplier | The multiplier for how much cash is given, the total cash given is . | Number | ||
| MoneyRange | The minimum and maximum number of cash the collectable at base gives. | Array of numbers | ||
| MoneyRangeIncreasePerRound | ||||
| Movement | The movement of the collectable. | Object | ||
| SpriteFile | ||||
| Tasks |
CollectCollectables
[edit | edit source]Automatically collects collectables. Does not collect drops from Golden Bloons.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| AnimateOnCollection | Boolean | |||
| CollectionDelay | Number | |||
| Range | Number | |||
| Speed | Number |
CreateAtPathPoint
[edit | edit source]CreateTower
[edit | edit source]Creates a tower.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| TowerType | The type of tower that is being created. | String | Creates an invalid tower | |
| TowerLifetime | How long the created tower lasts. | Number | The created tower lasts infinitely | |
| TowerColour | Applies a RGBA multiply colour on top of the created tower. First number controls the red channel, second controls the green channel, third controls the blue channel, the fourth is suppose to control the alpha channel but it doesn't work. | Array of Numbers | Defaults to [ 255, 255, 255, 255 ] | |
| HasParentTower | Determines if the created tower also gets destroyed if its "parent" tower get sold. | Boolean | Defaults to false | |
| UseParentTowerUpgradeLevel | Determines whether the created tower should copy the upgrade layout from the 'parent' tower that created it. | Boolean | Defaults to false |
Damage
[edit | edit source]Deals damage to Bloons. For weapons, this deals damage to its target directly (i.e. Sniper Monkey behavior). For tasks that collide with Bloons (projectiles, areas of effect, etc), this deals damage on collision.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Amount | The amount of damage dealt. (If this weapon/projectile's task list does not have a MultiLayerDamage status below it, the damage will not pass through layers.) | Number | ||
| BlimpModifier | Exclusive to Bloons Monkey City. | Number | Defaults to 1 | |
| BossDamageMod | Excluded from Bloons TD Battles. | Number | Defaults to 1 | |
| CeramicModifier | Exclusive to Bloons Monkey City. | Number | Defaults to 1 | |
| DamageType | Bloons with a matching string in their DamageImmunity property will not take damage. Some damage types have hardcoded properties.
|
String | ||
| InformDamageFromParentTask |
DamageSpread
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Amount | Number | |||
| BlimpModifier | Exclusive to Bloons Monkey City. | Number | Defaults to 1 | |
| BossDamageMod | Excluded from Bloons TD Battles. | Number | Defaults to 1 | |
| CeramicModifier | Exclusive to Bloons Monkey City. | Number | Defaults to 1 | |
| DamageType | String | |||
| MaxTargets | Number | |||
| Range | Number |
DisableUIFeature
[edit | edit source]Effect
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| AppliedToTower | ||||
| ApplyLinearDodge | ||||
| ApplyToTarget | ||||
| Audio | ||||
| DrawLayer | ||||
| Duration | ||||
| FlipLeft | ||||
| FlipRight | ||||
| FollowTarget | ||||
| IgnoreAircraft | ||||
| LinkScaleWithAreaOfEffectRange | ||||
| LoopCount | ||||
| LoopForever | ||||
| PlaySpeed | ||||
| Position | ||||
| PositionLeft | ||||
| PositionRight | ||||
| RoundDuration | ||||
| Scale | ||||
| SpriteFile | ||||
| Tasks | ||||
| TerminateWithParent | ||||
| UseDirection | ||||
| UseDuration |
EnableWeaponSlot
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Slot | Number | |||
| Enable | Whether to enable/disable slot | String | Defaults to true |
FireOverTime
[edit | edit source]FireTaskAtLocation
[edit | edit source]Unused. Properties are unknown, and the task existing in a weapon file causes the game to crash on the title screen as if an essential task property were missing from it, confirming that the task is valid in some form.
ForceSellTower
[edit | edit source]GiveCashForLeaks
[edit | edit source]GrantCashPerPop
[edit | edit source]Causes all Bloons to generate cash per layer popped for a limited time. This is exclusive to Bloons TD Battles and is only used by Rubber to Gold and Bounty.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Amount | The amount of cash generated per pop. Has a hardcoded cap of $50,000 per activation. | Number | ||
| Duration | The duration, in seconds. | Number |
Harpoon
[edit | edit source]IncomeChange
[edit | edit source]IncomeOverTime
[edit | edit source]IncomeTax
[edit | edit source]LaunchAircraft
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Aircraft | The aircraft that will be launched. | String | ||
| MaxAircraft | How many will be launched. | Number | Defaults to 1 | |
| Path | ||||
| Path | ||||
| PathIndex | The Flight Path the aircraft will use.
|
Number | ||
| PathOrigin | Defines the location of the origin of the path the aircraft will fly in. The first number controls the X coordinate, the second number controls the Y coordinate. | Array of numbers | ||
| UseTargetPath |
MoneyChange
[edit | edit source]MultiFire
[edit | edit source]Used to shoot more than 1 projectile. All angles are in degrees.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| AcquireTarget | ||||
| AimAtTarget | If true, then the angles of the projectiles are offset by the angle of the shot. | Boolean | ||
| AimOffsetsAtTarget | Unused; only appears in the unused RoboMonkey.weapon file (RoboMonkeyLeft.weapon and RoboMonkeyRight.weapon are used instead). If true, the projectiles are angled towards the target. | Boolean | Defaults to false | |
| AngleIncrement | The change in angle from the first projectile for all subsequent projectiles. | Number | ||
| DisabledTasks | ||||
| FireCount | The number of times each subtask executes when this executes. If set to 0, this task does not execute any subtasks. | Number | ||
| InitialOffset | The angle of the "first" projectile. | Number | ||
| MarkIDForProjectiles | If true, Bloons hit by the MultiFire's parent task cannot be hit by the MultiFire's subtasks. (This is used by Frag Bombs to make it so Bloons hit by the initial bomb (not the explosion) can't also be hit by the frags.) | Boolean | ||
| Offsets | The positional offsets of each projectile. | Array of objects | ||
| Radius | ||||
| ShotDelay | ||||
| Tasks | A list of tasks to execute when this task executes. | Array of objects |
OverclockTask
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Tasks | Array of objects |
ParticleEffect
[edit | edit source]PlayerDamage
[edit | edit source]Projectile
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| CollidesOnlyWithTarget | If true, this projectile will pass through any Bloons that are not the target. | Boolean | Defaults to false | |
| CollisionType | Determines how the projectile handles collision with Bloons.
|
String | ||
| DisabledTasks | Array of numbers | |||
| DrawLayer | Number | |||
| ForcePersists | If true, the projectile's pierce is unaffected by pierce modifiers. | Boolean | Defaults to false | |
| GraphicName | String | |||
| GraphicsAtPierceLevels | ||||
| HasFixedAngle | Boolean | Defaults to false | ||
| HasLimitedDuration | Boolean | |||
| HasRandomOrientation | Boolean | |||
| IgnoreStatusEffect | ||||
| LimitedDuration | ||||
| LoopAnimation | ||||
| LoopForever | ||||
| Movement | The movement of the projectile. | Object | ||
| NumPersists | The pierce of the projectile. One pierce is consumed per collision. | Number | ||
| OnlyCollidePastCutOff | Boolean | |||
| Radius | Number | Uses the sprite's bounding box as a collision box | ||
| RemoveAfterRoundStart | ||||
| RemoveOnRoundEnd | Boolean | |||
| SpinRate | ||||
| SpriteFile | String | |||
| StopAtEndOfCurves | ||||
| Tasks | A list of tasks. TasksToProcessOnCollision and TasksToProcessOnTerminate determine which tasks execute on collision and which tasks execute when the projectile expires. | Array of objects | ||
| TasksToProcessOnCollision | ||||
| TasksToProcessOnTerminate | ||||
| TerminateOnTowerRemoved | If true, the projectile expires when the tower that fired it is destroyed. | Boolean | ||
| TerminateOnZeroPersists | If true, the projectile expires when all pierce is consumed. | Boolean | ||
| TerminatePastCutoff |
RandomFire
[edit | edit source]Targets a random point within a specified radius.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| FireFullRange | If true, this can only target points at the full extent of the range. Ignored if OnlyTargetPathLocations is set to true. | Boolean | ||
| FollowTarget | Boolean | |||
| HasRandomOrientation | Boolean | |||
| MinimumRange | The minimum targeting radius. | Number | ||
| OnlyTargetPathLocations | If true, this can only target points on a path within range (i.e. Spike Factory behavior). | Boolean | Defaults to false | |
| OnlyTargetPlacementLocations | Boolean | Defaults to false | ||
| PlacementTowerType | String | |||
| Range | The maximum targeting radius. | Number | ||
| TargetIsWeaponTaskOrigin | Boolean | |||
| Tasks | A list of tasks to execute when this task executes. | Array of objects | ||
| TerminateOnZeroPersists | ||||
| UseRangeModifier | If true, the targeting range scales with range modifiers. Exclusive to Bloons TD Battles. | Boolean | Defaults to false | |
| WaitTimeRange | Array of numbers |
RayIntersect
[edit | edit source]Creates a beam that collides with every Bloon that touches the sprite's bounding box on each frame.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Tasks | A list of tasks the ray executes on each Bloon it touches. | Array of objects |
RBEProjectile
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| CollisionType | Determines how the projectile handles collision with Bloons.
|
String | ||
| GraphicName | String | |||
| MaxRBE | Number | |||
| SpriteFile | String | |||
| HasRandomOrientation | Boolean | |||
| NumPersists | Number | |||
| RemoveOnRoundEnd | Boolean | |||
| Tasks | A list of tasks. TasksToProcessOnCollision and TasksToProcessOnTerminate determine which tasks execute on collision and which tasks execute when the projectile expires. | Array of objects | ||
| TasksToProcessOnCollision | ||||
| TasksToProcessOnTerminate | ||||
| TerminateOnZeroPersists | If true, the projectile expires when all pierce is consumed. | Boolean |
RemoveStatusEffect
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Status |
RestoreAmmo
[edit | edit source]Adds ammo to the weapon.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Amount | The amount of ammo to restore to the weapon. | Number | ||
| Proxied | If true, also restore ammo to the weapon that spawned this aircraft. | Boolean | Defaults to false | |
| RoundRobin | 🎠 wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee idfk but it make da glaive lord work | Number | ||
| SlotIndex | The slot index of the weapon that ammo is being restored to. | Number |
Sacrifice
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| SpriteFile | ||||
| Tasks |
ScreenWipe
[edit | edit source]Exclusive to Bloons TD Battles.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Count | Number | |||
| Duration | Number | |||
| SpeedMultiplierRange | Array of numbers | |||
| Tasks | Array of objects |
StatusEffect
[edit | edit source]Applies a modifier to the target Bloon. This task supports a lot of properties, but most are only used by certain types of statuses and are ignored by others. Some statuses cannot be inflicted by tasks, only by hardcoded game mechanics, but they can still be used for filters, and can still be removed with RemoveStatusEffect, and Bloons can be made immune to them.
This table lists properties that are common to all statuses.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Status | The type of status. This can also be set to an empty string, in which case it will do nothing until a TaskUpgrade changes it. | String | ||
| TargetingFilter | Object | |||
| FireMode | A list of flags specifying something idk
|
Array of strings |
TargetAlLBloonsInRange
[edit | edit source]Exclusive to Bloons TD Battles. (No, that is not a typo, it has to be capitalized that way for it to work properly.)
TextEffect
[edit | edit source]TimerFire
[edit | edit source]Executes its subtasks after a delay.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| CompoundSprite | String | |||
| InitialTime | The initial timer to delay the first execution of a looping TimerFire. | Number | ||
| Loops | Determines if a TimerFire will loop. | Boolean | Defaults to false | |
| NumLoops | Used in conjunction with the former, how many times will it loop. If Loops is not present or false, it won't loop. | Number | Doesn't loop | |
| SpriteList | Array of strings | |||
| Tasks | A list of tasks to execute when the time is up. | Array of objects | ||
| TimeDelay | The delay, in seconds. | Number |
TowerModifier
[edit | edit source]| Key | Description | Type | Required? | Behavior when absent | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ApplyToUserTower | ||||||||||||||||||||||||
| CanApplyToUserTower | ||||||||||||||||||||||||
| Duration | How long the modifier is active for. | Number | Defaults to -1 | |||||||||||||||||||||
| Modifier | The modifier applied. Each modifier can either be additive or multiplicative.
|
Object | ||||||||||||||||||||||
| ModifyMovingTowers | ||||||||||||||||||||||||
| ModifyNewlySpawnedTowers | ||||||||||||||||||||||||
| NumPersists | How many towers will be affected. If ApplyToUserTower is on, a "pierce" will be used on itself. | Number | Defaults to -1 | |||||||||||||||||||||
| PriorityLevel | Number | |||||||||||||||||||||||
| Range | Range of the modifier. | Number | ||||||||||||||||||||||
| ReplacesPriorityLevel | ||||||||||||||||||||||||
| RequiresEmptyPriorityLevel | If true, the modifier's priority level must be empty for it to work, else, it can stack with other modifiers of that priority level | Boolean | ||||||||||||||||||||||
| RoundDuration | ||||||||||||||||||||||||
| Stackable | ||||||||||||||||||||||||
| TargetIsWeaponTaskOrigin | ||||||||||||||||||||||||
| TargetingFilter | What the modifier targets. | Array of objects | ||||||||||||||||||||||
| TaskPersistsWithDuration | ||||||||||||||||||||||||
| Tasks | ||||||||||||||||||||||||
| TerminateOnUserTargetChange | ||||||||||||||||||||||||
| TerminateOnUserUpgrade | Boolean | |||||||||||||||||||||||
| WeaponSlotIndex | The slot index of the weapon the modifier is applied to. | Number |
TransferGame
[edit | edit source]TrapBloon
[edit | edit source]UITowerCostMult
[edit | edit source]WeaponBurstFire
[edit | edit source]Movement
[edit | edit source]Movement is a property shared by Projectiles, Collectables, and TextEffects. The Type determines how it moves and what sub-properties are allowed.
Forward
[edit | edit source]Moves forwards in a straight line.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Speed | How fast the object moves. | Number | Weapon effectively stops moving | |
| CutOffDistance | The distance at which the object expires. | Number | Defaults to -1 | |
| SpeedDecay | Number |
GoToTarget
[edit | edit source]Moves forwards in a straight line. Each time the object collides with something, it selects a new target and rotates to face it. If it cannot select a target after colliding, it continues moving in the same direction.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Speed | How fast the object moves. | Number | Weapon effectively stops moving | |
| CutOffDistance | The distance at which the object expires. | Number | Defaults to -1 | |
| NextTargetRange | The radius at which the object can target. | Number | ||
| DestroyWhenNoTarget | If true, the object terminates itself if there are no targets in its range. | Boolean |
MotionCurve
[edit | edit source]Follows a path defined by a set of cubic Bézier curve(s). (An easy way to visualize it is with this calculator.)
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Speed | How fast the object moves. | Number | Weapon effectively stops moving | |
| CutOffDistance | The distance at which the object expires. | Number | Defaults to -1 | |
| Curves | The control points of the Bézier curve. The first number of each sub-array is the X-position, and the second number is the Y-position. | Array of array of numbers | ||
| AngleOffset | Number | |||
| TerminateAtEndOfCurve | If true, the object expires when it reaches the end of the path. | Boolean |
MoveToTouch
[edit | edit source]ReturnToSender
[edit | edit source]The object moves to its target, then returns to the location it was fired from.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Speed | Determines the object's speed when moving towards the target. | Number | ||
| ReturnSpeed | Determines the object's speed when returning to its sender. | Number | ||
| TargetShouldFaceWeapon | Boolean | |||
| StartOnTarget | If true, the object starts at the target and returns to the sender, skipping the phase of traveling to the target first. Speed is ignored. | Boolean | Defaults to false |
RotateAroundTower
[edit | edit source]Target
[edit | edit source]The object constantly rotates towards the target.
| Key | Description | Type | Required? | Behavior when absent |
|---|---|---|---|---|
| Speed | How fast the object moves. | Number | Weapon effectively stops moving | |
| CutOffDistance | The distance at which the object expires. | Number | Defaults to -1 | |
| SeekAngle | The angle at which the object can target from. | Number | ||
| TurnSpeed | How quickly the object can rotate towards its target, in degrees per second. | Number | ||
| TargetRange | The radius at which the object can target. | Number | ||
| ActivateCutOffFromSpotter | Boolean |