Revision as of 02:00, 10 June 2026 by Pymonkibot(talk | contribs)(Text replacement - "Category:Battles (mobile)" to "Category:Battles (multiplatform)")
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.
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.
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
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
AddChildSprite
ApplyBloonSpawnModifier
AreaOfEffect
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
BloonSpawnedEvent
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
ChainTasks
Key
Description
Type
Required?
Behavior when absent
CutOffDistance
NumJumps
How times a branch of lightning will bounce.
Number
NumPersists
Number
Tasks
ChangeSubtaskEnabled
Key
Description
Type
Required?
Behavior when absent
ToDisable
Array of numbers
ToEnable
Array of numbers
ChangeTerrain
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).
"Water"
"BlockTower" (unused)
"PathTower" (unused)
Array of strings
Radius
Defines the area as a circle. The value determines the radius.
Number
Collectable
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.
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
CreateTower
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
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.
"Piercing": The projectile that dealt this damage plays a sound and terminates when it hits a Lead or frozen bloon.
"Fire": The projectile that dealt this damage plays a sound and terminates when it hits a Lead bloon.
"Explosive"
"Plasma"
"Ice"
"Juggernaut"
"MOABMauler"
"Foam"
"IceViral": Exclusive to Bloons TD Battles.
String
InformDamageFromParentTask
DamageSpread
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
Effect
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
Key
Description
Type
Required?
Behavior when absent
Slot
Number
Enable
Whether to enable/disable slot
String
Defaults to true
FireOverTime
FireTaskAtLocation
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
GiveCashForLeaks
GrantCashPerPop
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
IncomeChange
IncomeOverTime
IncomeTax
LaunchAircraft
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.
0 = Figure 8
1 = Figure ∞
2 = Circle
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
MultiFire
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
Key
Description
Type
Required?
Behavior when absent
Tasks
Array of objects
ParticleEffect
PlayerDamage
Projectile
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.
"Once": can only collide with the same Bloon or its children once.
"Continual": can collide with any Bloon once per frame, even ones it has already hit.
"None": cannot collide with Bloons.
String
DisabledTasks
Array of numbers
DrawLayer
Number
ForcePersists
If true, the projectile's pierce is unaffected by pierce modifiers.
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
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
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
Key
Description
Type
Required?
Behavior when absent
CollisionType
Determines how the projectile handles collision with Bloons.
"Once": can only collide with the same Bloon or its children once.
"Continual": can collide with any Bloon once per frame, even ones it has already hit.
"None": cannot collide 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
Key
Description
Type
Required?
Behavior when absent
Status
RestoreAmmo
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.
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
"FireNormal" (unused)
"FireOnApply"
"FireOnCommand" (unused)
"FireOnLastPop" (unused)
"FireOnPop" (unused)
"FireOnRemove" (unused)
"RemoveOnLastApply"
Array of strings
TargetAlLBloonsInRange
Exclusive to Bloons TD Battles. (No, that is not a typo, it has to be capitalized that way for it to work properly.)
TextEffect
TimerFire
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
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.
The pierce of the tower. Affects both Projectile and AreaOfEffect tasks.
CanPopCamo
The ability of the tower to pop camo bloons. (Boolean)
CanPopAllBloons
The ability of the tower's damage type to ignore bloon immunities. (Boolean)
Damage
The amount of damage the tower does.
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
TrapBloon
UITowerCostMult
WeaponBurstFire
Movement
Movement is a property shared by Projectiles, Collectables, and TextEffects. The Type determines how it moves and what sub-properties are allowed.
Forward
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
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.