Attack speed: Difference between revisions

From Blooncyclopedia, the independent Bloons knowledge base
Jump to navigation Jump to search
It exists in BSM2 as well.
m Minor fixes; [[Bloons TD 6|''Bloons TD 6'']]: Added Template:Cleanup due to poor grammar and/or spelling
 
(22 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{For|C4 Charlie's upgrade|Attack Speed (upgrade)}}
[[File:BTD6 MapBuffIconVillage2xx.png|thumb|Buff icon for attack speed in BTD6]]
[[File:BTD6 MapBuffIconVillage2xx.png|thumb|Buff icon for attack speed in BTD6]]
(Insert disambiguation here to distinguish from [[Attack Speed (upgrade)]])
'''Attack speed''' is a mechanic in the {{series|Bloons TD}} and {{series|Bloons Supermonkey}} of games, which determines the amount of time that a [[Tower]] needs to perform an specific attack. It is typically measured in frames in the older games and seconds in the newer entries. It is one of the three main mechanics that determine the offensive capability of a tower alongside [[Damage]] and [[Pierce]].
'''Attack speed''' is a mechanic in the {{series|Bloons TD}} and {{series|Bloons Supermonkey}} of games, which determines the amount of time that a [[Tower]] needs to perform an specific attack. It is typically measured in frames in the older games and seconds in the newer entries. It is one of the three main mechanics that determine the offensive capability of a tower alongside [[Damage]] and [[Pierce]].


== Name ==
== Name ==
There is not a unique way to name this mechanic, not even in the same game or in official patch notes. In the list below there are examples of different notations across the Bloons TD franchise:
There is not a unique way to name this mechanic, not even in the same game or in official patch notes. In the list below there are examples of different notations across the ''Bloons'' franchise:


* '''Attack Speed''' is used in the description of the [[Rapid Reload (BTD5)|Rapid Reload]] upgrade in [[Bloons TD 5|''Bloons TD 5'']].
* '''Attack Speed''' is used in the description of the [[Rapid Reload (BTD5)|Rapid Reload]] upgrade in [[Bloons TD 5|''Bloons TD 5'']].
Line 14: Line 13:


== Mechanics ==
== Mechanics ==
(Insert a section per game)
=== [[Bloons Supermonkey 2]] ===
Attack speed in Bloons Supermonkey 2 is implemented with a mechanic that in the mobile version, is internally named '''cooldown'''. This cooldown is the amount of time in seconds which a certain weapon or powerup will take before performing an attack. In the Flash version it is measured in frames, while in the mobile versions it is measured in seconds, and each weapon has a separate cooldown value. However, if the player notices the amount of damage that a tower is dealing before and after an attack speed or buff is applied, sometimes the tower seem to be doing better than expected, and this is because on how the actual attack speed / cooldown mechanic is implemented.


While there is no way of buffing attack speed in the Flash version, in the mobile version [[Turbo Boost]] will reduce the attack cooldown of Supermonkeys by a certain multiplier. In the mobile version, it is mechanically similar with how Attack Speed is handled in Bloons TD 6, where if an attack exceeds 1 attack per frame, it will simulate multiple attacks per frame. The entire [[Energy (BSM2)|Energy]] arm weapon line (excluding Epics) has a fixed cooldown of 0, resulting in it attacking every frame, and cannot be buffed by attack speed.
=== [[Bloons Tower Defense (game)|''Bloons Tower Defense'']] / [[Bloons Tower Defense 2|''Bloons Tower Defense 2'']] ===
In these games, towers are programmed to attack every certain amount of frames which can be converted into seconds considering they run at 40 frames per second. The only upgrade that modifies attack speed is Faster Shooting for [[Tack Shooter|Tack Shooters]], reducing it from 55 to 40 frames. Using the [[Upgrade stacking glitch]] (also called "hypersonic Tack Shooter glitch"), allows to purchase this upgrade multiple times, reducing the cooldown of the tower 15 frames every time. After 4 stacks, the cooldown of the Tack Shooter would be less than 0 frames, so the tower reaches a speed cap and attacks every frame; further upgrades do not change this behavior.


=== [[Bloons TD 6]] ===
=== [[Bloons Supermonkey 2|''Bloons Supermonkey 2'']] ===
(This section is long, maybe could be moved to its own page)
Attack speed in ''Bloons Supermonkey 2'' is implemented with a mechanic that in the mobile version, is internally named '''cooldown'''. This cooldown is the amount of time in seconds which a certain weapon or powerup will take before performing an attack. In the Flash version it is measured in frames, while in the mobile versions it is measured in seconds, and each weapon has a separate cooldown value.


Attack speed in BTD6 is implemented with a mechanic internally named '''cooldown'''. This cooldown is the amount of time in seconds which a tower will take before executing an attack or performing certain actions such as [[Spike Factory (BTD6)|producing spikes]] or [[Sun Temple (BTD6)|spawning sub-towers]]. This is measured in seconds, and the upgrades modify the value of this stat to a certain number. However, if the player notices the amount of damage that a tower is dealing before and after an attack speed or buff is applied, sometimes the tower seem to be doing better than expected, and this is because on how the actual attack speed / cooldown mechanic is implemented.
While there is no way of buffing attack speed in the Flash version, in the mobile version [[Turbo Boost]] will reduce the attack cooldown of Supermonkeys by a certain multiplier. In the mobile version, it is mechanically similar with how Attack Speed is handled in ''Bloons TD 6,'' where if an attack exceeds 1 attack per frame, it will simulate multiple attacks per frame. The entire [[Energy (BSM2)|Energy]] arm weapon line (excluding Epics) has a fixed cooldown of 0, resulting in it attacking every frame, and cannot be buffed by attack speed.
 
===''[[Bloons TD 5]]'' / ''[[Bloons TD Battles]]'' / ''[[Bloons Monkey City]]''===
{{incomplete|flash game stuff, such as attack speed caps}}
In the mobile versions, most attacks have a separate <code>CooldownTime</code> and <code>FireDelayTime</code> stat. The cooldown time determines the amount of time it takes to ''initiate'' the next attack, while the fire delay time determines the delay between when an attack is initiated and when the attack fires. The sum of these two values determines the overall attack speed of a tower. For example, the [[Dart Monkey]] has a <code>CooldownTime</code> of 0.7 seconds and a <code>FireDelayTime</code> of 0.2 seconds, giving it an overall delay between attacks of 0.9 seconds, or roughly 1.11 attacks per second. Most [[tower buff]]s that "increase attack speed" reduce both the cooldown time and fire delay time, but some, such as the Attack Speed modifier of the [[Monkey Lab]], only reduce the cooldown time. This makes them less effective on attacks with long fire delay times, such as the [[Mortar Monkey]]'s main attack.
 
=== [[Bloons TD 6|''Bloons TD 6'']] ===
{{cleanup|Needs cleanup for grammar and/or spelling}}
Attack speed in ''BTD6'' is implemented with a mechanic internally named '''cooldown'''. This cooldown is the amount of time in seconds which a tower will take before executing an attack or performing certain actions such as [[Spike Factory (BTD6)|producing spikes]] or [[Sun Temple (BTD6)|spawning sub-towers]]. This is measured in seconds, and the upgrades modify the value of this stat to a certain number. However, if the player notices the amount of damage that a tower is dealing before and after an attack speed or buff is applied, sometimes the tower seem to be doing better than expected, and this is because on how the actual attack speed / cooldown mechanic is implemented.


For example a 0-0-0 [[Dart Monkey (BTD6)|Dart Monkey]] has an attack cooldown of 0.95s, this is the amount of time that will pass between shots. Upon being upgraded to 0-1-0 [[Quick Shots (BTD6)|Quick Shots]], which claims to increase the attack speed by 15%, this cooldown is reduced to 0.8075s, which is a 15% reduction of the cooldown of the 0-0-0 tower, and the 0-2-0 [[Very Quick Shots (BTD6)|Very Quick Shots]] upgrade further reduces it to 0.6365s which is a 33% reduction of the base monkey giving the number stated in the upgrade's description.
For example a 0-0-0 [[Dart Monkey (BTD6)|Dart Monkey]] has an attack cooldown of 0.95s, this is the amount of time that will pass between shots. Upon being upgraded to 0-1-0 [[Quick Shots (BTD6)|Quick Shots]], which claims to increase the attack speed by 15%, this cooldown is reduced to 0.8075s, which is a 15% reduction of the cooldown of the 0-0-0 tower, and the 0-2-0 [[Very Quick Shots (BTD6)|Very Quick Shots]] upgrade further reduces it to 0.6365s which is a 33% reduction of the base monkey giving the number stated in the upgrade's description.
Line 35: Line 40:
In general if an upgrade of buff description states that the attack speed of a tower is being increased by a certain percentage, what it actually does is reducing the cooldown in that proportion by applying a multiplier, which in most situations is <math>1 - \text{Bonus percentage } </math>. And different bonuses stack multiplicatively:
In general if an upgrade of buff description states that the attack speed of a tower is being increased by a certain percentage, what it actually does is reducing the cooldown in that proportion by applying a multiplier, which in most situations is <math>1 - \text{Bonus percentage } </math>. And different bonuses stack multiplicatively:


<math display="block">\text{Cooldown} = \text{Base Cooldown} \times \text{Multiplier}_1 \times \text{Multiplier}_2  \times \cdots </math>A list of all attack cooldowns available in BTD6 are listed in the following table (multipliers in this table are rounded to 4 decimals and percentages to the nearest integer).
<math display="block">\text{Cooldown} = \text{Base Cooldown} \times \text{Multiplier}_1 \times \text{Multiplier}_2  \times \cdots </math>A list of all attack cooldowns available in ''BTD6'' can be found in [[List of attack cooldown multipliers in BTD6|this page]]''.''
{| class="wikitable mw-collapsible mw-collapsed center-col-1 center-col-3 center-col-4"
|+Cooldown multipliers in BTD6
!Icon
!Source
!Cooldown multiplier
!Attack speed / damage increase
!Applies to
!Notes
|-
|[[File:BTD6 BoomerangMonkey TurbochargeUpgradeIcon.png|19x19px]]
|[[Turbo Charge (BTD6)|Turbo Charge]] ability
|0.1429
|600%
|Itself
|
|-
|[[File:BTD6_BuffIconBoomerangParagon.png|20x20px]]
|[[Glaive Dominus]]
|0.9
|11%
|Primary towers in range
|
|-
|[[File:BTD6_BuffIconIcex5x.png|20x20px]]
|[[Absolute Zero (BTD6)|Absolute Zero]] ability
|0.6667
|50%
|All Ice Monkeys
|
|-
|[[File:BTD6_BuffIconSniperx5x.png|20x20px]]
|[[Elite Sniper (BTD6)|Elite Sniper]]
|0.75
|33%
|All Sniper Monkeys
|
|-
|[[File:BTD6 BuffIconSniperDistancexx5.png|20x20px]]
|[[Elite Defender (BTD6)|Elite Defender]] Bloon progress passive ability
|1.0 to 0.5
|0% to 100%
|Itself
|Attack speed increase percentage is the same as the Bloons progress in the track. Not standard multiplier, see notes of Heart of Vengeance.
|-
|[[File:BTD6 BuffIconSniperLeakxx5.png|20x20px]]
|[[Elite Defender (BTD6)|Elite Defender]] lives lost passive ability
|0.25
|300%
|Itself
|Triggers when lives are lost.
|-
|[[File:BTD6_BuffIconMonkeySubParagon.png|22x22px]]
|[[Nautic Siege Core]]
|1.3
|–23%
|Heroes in range
|Only while submerged.
|-
|[[File:BTD6_BuffIconBuccaneer5xx.png|20x20px]]
|[[Carrier Flagship (BTD6)|Carrier Flagship]] / [[Navarch of the Seas]]
|0.85
|18%
|All towers placed in water
|
|-
|[[File:BTD6 MortarMonkey BombardmentUpgradeIconAA.png|19x19px]]
|[[Artillery Battery (BTD6)|Artillery Battery]] ability
|0.25
|300%
|Itself
|
|-
|[[File:BTD6_BuffIconTempleSunGod4xx.png|20x20px]] / [[File:BTD6_BuffIconTrueSunGod5xx.png|20x20px]] / [[File:BTD6_BuffIconTrueSunGod555.png|20x20px]]
|[[Sun Temple (BTD6)|Sun Temple]] / [[True Sun God (BTD6)|True Sun God]] / [[VTSG]]
|0.9 or 0.8
|11% or 25%
|All other towers in range
|Depends on the amount of [[Support]] sacrifices given to the tower.
|-
|[[File:BTD6_BuffIconNinjax3x.png|20x20px]]
|[[Shinobi Tactics (BTD6)|Shinobi Tactics]]
|0.92<sup>Stacks</sup>
0.92 at 1 stack


0.1887 at 20 stacks
|9% at 1 stack
430% at 20 stacks
|All Ninja Monkeys in range
|Shinobi tactics buff is 0.92 elevated to the power of the number of stacks. For intermediate values, attack speed increase can be calculated with the formulas below.
|-
|[[File:BTD6_BuffIconAlchemist3xx.png|20x20px]]
|[[Berserker Brew (BTD6)|Berserker Brew]]
|0.9
|11%
|Towers targeted by the potion
|
|-
|[[File:BTD6_BuffIconAlchemist4xx.png|20x20px]] / [[File:BTD6_BuffIconAlchemist5xx.png|21x21px]]
|[[Stronger Stimulant (BTD6)|Stronger Stimulant]] / [[Permanent Brew (BTD6)|Permanent Brew]]
|0.85
|18%
|Towers targeted by the potion
|
|-
|[[File:BTD6 DruidMonkey HeartofVengeanceUpgradeIcon.png|20x20px]]
|[[Heart of Vengeance (BTD6)|Heart of Vengeance]]
|0.9091 at no lives lost
0.6667 at 40 lives lost
|10% + 1% per life lost
50% maximum (40 lives lost)
|Itself
|This multiplier is not standard, the bonus actually works over the attack speed. The multiplier can be calculated by <math>\text{Multiplier} = \tfrac{1}{\text{Increase}+1}</math>.
|-
|[[File:BTD6 DruidMonkey DruidofWrathUpgradeIcon.png|20x20px]]
|[[Druid of Wrath (BTD6)|Druid of Wrath]]
|0.9524 at 10 damage
0.5 at 200 damage
|5% per 10 damage inflicted
100% maximum at 200 damage
|Itself
|Not standard multiplier, see notes of Heart of Vengeance. Multiplier expires at the end of the round, or after not dealing damage for 2s.
|-
|[[File:BTD6_BuffIconDruidxx4.png|20x20px]]
|[[Poplust (BTD6)|Poplust]]
|0.8696 at 1 stack
0.5714 at 5 stacks
|15% per stack
75% at 5 stacks
|All other Druids in range
|Not standard multiplier, see notes of Heart of Vengeance.
|-
|[[File:BTD6 SpikeFactory DirectedSpikesUpgradeIcon.png|20x20px]]
|[[Smart Spikes (BTD6)|Smart Spikes]] passive ability
|0.25
|300%
|Itself
|
|-
|[[File:BTD6_BuffIconVillage2xx.png|20x20px]]
|[[Jungle Drums (BTD6)|Jungle Drums]]
|0.85
|18%
|All other towers in range
|
|-
|[[File:BTD6_BuffIconVillagex4x.png|20x20px]]
|[[Call to Arms (BTD6)|Call to Arms]]
|0.6667
|50%
|All towers
|Not standard multiplier, see notes of Heart of Vengeance. Overrides Homeland Defense if active.
|-
|[[File:BTD6_BuffIconHomelandDefense.png|20x20px]]
|[[Homeland Defense (BTD6)|Homeland Defense]]
|0.5
|100%
|All towers
|Not standard multiplier, see notes of Heart of Vengeance. Overrides Call to Arms if active.
|-
|[[File:BTD6_BuffIconEngineerx4x.png|20x20px]]
|[[Overclock (BTD6)|Overclock]]
|0.6
|67%
|Targeted tower
|
|-
|[[File:BTD6_BuffIconEngineerx5x.png|20x20px]]
|[[Ultraboost (BTD6)|Ultraboost]]
|0.96<sup>Stacks</sup>
0.96 at 1 stack


0.6648 at 10 stacks
For example, the attack cooldown of a 0-0-0 Dart Monkey which is in the range of a 2-4-0 [[Monkey Village (BTD6)|Monkey Village]] (Jungle Drums, Call to Arms) and 4-0-0 [[Stronger Stimulant (BTD6)|Stronger Stimulant]] while all temporal bonuses are active and the player has the {{BTD6 mk|Come On Everybody!}} and {{BTD6 mk|Veteran Monkey Training}} Monkey Knowledge is:<math display="block">\text{Cooldown} = 0.95 \left[ {\text{s}}\right] \times 0.85 \times 0.6667 \times 0.85 \times 0.95 \times 0.97 \approx 0.4267 \left[ {\text{s}}\right]  </math>
|4% at 1 stack
50% at 20 stacks
|Targeted tower
|Ultraboost buff is 0.96 elevated to the power of the number of stacks. For intermediate values, attack speed increase can be calculated with the formulas below. Also applies the Overclock boost but does not stack with it.
|-
|[[File:BTD6 EngineerMonkey MasterBuilderUpgradeIcon.png|20x20px]]
|[[Master Builder]] passive ability
|0.7692 after 1 round
|30% per round
|Itself
|Keeps stacking until Master Builder attack speed is 0.15s. Not standard multiplier, see notes of Heart of Vengeance.
|-
|[[File:BTD6 BuffIconGwendolinPyrotechnics.png|20x20px]]
|[[Gwendolin (BTD6)|Gwendolin]] passive ability
|0.9 at Level 5+
0.8 at Level 18+
|11% at Level 5+
25% at Level 18+
|All Ring of Fire, Signal Flare or Dragon's Breath and their upgrades
|
|-
|[[File:BTD6 BuffIconStrikerJones.png|20x20px]]
|[[Striker Jones (BTD6)|Striker Jones]] passive ability
|0.9 at Level 5+
0.8 at Level 18+
|11% at Level 5+
25% at Level 18+
|All Bomb Shooters and Mortar Monkeys
|
|-
|[[File:BTD6 BuffIconObyn.png|20x20px]]
|[[Obyn Greenfoot (BTD6)|Obyn Greenfoot]] Nature's Wrath
|0.75
|33%
|Druids in range
|
|-
|[[File:BTD6 BuffIconObynLevel11.png|20x20px]]
|[[Obyn Greenfoot (BTD6)|Obyn Greenfoot]] Nature's Clarity
|0.95
|5%
|Magic towers in range
|
|-
|[[File:BTD6 BuffIconSacrificialTotem.png|23x23px]]
|[[Ezili (BTD6)|Ezili]] Sacrificial Totem
|0.85
|18%
|All towers in range
|
|-
|[[File:BTD6 BuffIconSacrificialTotem.png|23x23px]]
|[[Ezili (BTD6)|Ezili]] Sacrificial Totem
|0.95
|5%
|All towers in range
|Additional buff to Wizard Monkeys.
|-
|[[File:BTD6 BuffIconBloodSacrifice.png|20x20px]]
|[[Adora (BTD6)|Adora]] Blood Sacrifice
|0.9 – 0.01 per $100 on the sacrificed tower
|11% minimum
100% maximum
|Herself, Sun Avatars and their upgrades
|Multiplier capped to 0.75 ($1,500) in Levels 7 – 19 (33% maximum attack speed increase), and 0.5 ($4,000) at Level 20.
|-
|[[File:BTD6 BuffIconNavalTactics.png|20x20px]]
|[[Admiral Brickell (BTD6)|Admiral Brickell]] Naval Tactics
|0.5
|100%
|Herself and all towers placed in water in range, at Level 19+ is all towers in water
|
|-
|[[File:BTD6 BuffIconJarOfPickles.png|22x22px]]
|[[Geraldo (BTD6)|Geraldo]] [[Jar of Pickles]]
|1.3333
|–25%
|Targeted tower
|Not standard multiplier, see notes of Heart of Vengeance.e.
|-
|[[File:BTD6 Corvus Aggression.png|20x20px]]
|[[Corvus (BTD6)|Corvus]] [[Aggression]]
|0.5
|100%
|Spirit
|
|-
|[[File:BTD6 PhayzePortrait.png|23x23px]]
|[[Phayze]] Slow Aura
|1.1 (1st skull)
1.15 (2nd skull)
1.2 (3rd skull)
|–9% (1st skull)
–13% (2nd skull)
-17% (3rd skull)
|All towers
|
|-
|[[File:BTD6 PhayzePortraitElite.png|23x23px]]
|Elite [[Phayze]] Slow Aura
|1.1 to 2.2
|–9% to –55%
|All towers
|Varies depending on the tier and skull, consult Phayze's page for more information.
|-
|[[File:BTD6_MapBuffIconVillage2xx.png|link=Attack_speed|22x22px]]
|[[One Two Tree]] / [[Polyphemus]] map mechanic
|0.85
|18%
|All towers placed in the corresponding area
|
|-
|[[File:BTD6_MapBuffIconVillage2xx.png|link=Attack_speed|22x22px]]
|[[Ancient Portal]] map mechanic
|0.7
|43%
|Heroes placed in the corresponding area
|
|-
|[[File:BTD6 mk FastGlueIcon.png|20x20px]]
|[[Fast Glue]]
|0.9
|11%
|Glue Gunners
|
|-
|[[File:BTD6 mk FastTrackAttacksIcon.png|20x20px]]
|[[Fast Tack Attacks]]
|0.92
|9%
|Tack Shooters
|
|-
|[[File:BTD6_BuffIconComeOnEverybodyRate.png|20x20px]]
|[[Come On Everybody!]]
|0.95
|5%
|Primary towers of Tier 2 or lower
|
|-
|[[File:BTD6 mk GunCoolantIcon.png|20x20px]]
|[[Gun Coolant]]
|0.9
|11%
|Monkey Aces
|
|-
|[[File:BTD6 mk FlankingManeuversIcon.png|20x20px]]
|[[Flanking Maneuvers]]
|0.9
|11%
|Monkey Snipers, Subs and Buccaneers
|
|-
|[[File:BTD6 mk SpeedyBrewingIcon.png|20x20px]]
|[[Speedy Brewing]]
|0.95
|5%
|Alchemists
|
|-
|[[File:BTD6 mk VeteranMonkeyTrainingIcon.png|20x20px]]
|[[Veteran Monkey Training]]
|0.97
|3%
|All towers
|
|-
|[[File:BTD6_BuffIconParagonOfPower.png|20x20px]]
|[[Paragon of Power]]
|0.8333
|20%
|Paragons
|
|-
|[[File:BTD6 mk QuickHandsIcon.png|20x20px]]
|[[Quick Hands]]
|0.96
|4%
|Heroes
|
|-
|[[File:BTD6 MonkeyBoostIcon.png|21x21px]]
|[[Monkey Boost (BTD6)|Monkey Boost]]
|0.5
|100%
|All towers
|
|-
|[[File:BTD6 DartTimeIcon.png|20x20px]]
|[[Time Stop]]
|1.6667
|–40%
|All towers
|Not standard multiplier, see notes of Heart of Vengeance.
|-
|[[File:BTD6 EnergisingTotemIcon.png|20x20px]]
|[[Energizing Totem]]
|0.75
|33%
|All towers in range
|
|}
For example, the attack cooldown of a 0-0-0 Dart Monkey which is in the range of a 2-4-0 [[Monkey Village (BTD6)|Monkey Village]] (Jungle Drums, Call to Arms) and 4-0-0 [[Stronger Stimulant (BTD6)|Stronger Stimulant]] while all temporal bonuses are active and the player has the {{BTD6 mk|Come On Everybody!}} and {{BTD6 mk|Veteran Monkey Training}} Monkey Knowledge is:
 
<math display="block">\text{Cooldown} = 0.95 \left[ {\text{s}}\right] \times 0.85 \times 0.6667 \times 0.85 \times 0.95 \times 0.97 \approx 0.4267 \left[ {\text{s}}\right]  </math>


The actual attack speed / damage increase can be calculated as follows:
The actual attack speed / damage increase can be calculated as follows:
Line 423: Line 53:
<math display="block">\text{Increase} = \left ( \frac{\text{Bonus}}{1-\text{Bonus}} \right ) \times 100\%</math>
<math display="block">\text{Increase} = \left ( \frac{\text{Bonus}}{1-\text{Bonus}} \right ) \times 100\%</math>


For example, in the attack cooldown example, the total attack speed increase is:
For example, for the 0-0-0 Dart Monkey described above, the total attack speed increase is:


<math display="block">\text{Increase} = \left ( {\frac{1}{0.85 \times 0.6667 \times 0.85 \times 0.95 \times 0.97}-1} \right) \times 100 \% \approx 125.3\%</math>
<math display="block">\text{Increase} = \left ( {\frac{1}{0.85 \times 0.6667 \times 0.85 \times 0.95 \times 0.97}-1} \right) \times 100 \% \approx 125.3\%</math>
Line 435: Line 65:
<math display="block">\text{Increase} = \left ( \frac{0.33}{1-0.33 } \right ) \times 100\% \approx 49.3 \% </math>
<math display="block">\text{Increase} = \left ( \frac{0.33}{1-0.33 } \right ) \times 100\% \approx 49.3 \% </math>


The attack cooldown has no correlation with the frame rate of the game, as it is possible to have [[Elite Defender (BTD6)|attacks]] that are faster than a single frame, in this case the animations can be visually skipped, show inconsistencies, or produce multiple projectiles per animation, but the damage dealt is properly applied on average. This will also be the case with high game lag, with the only difference being that in-game time might run slower than real time producing visual slow motion.
Attack animations do not have a correlation with the visual frame rate of the game, however the internal calculation of the game engine is performed 60 times per second, because of this, when the cooldown timer expires, the attack will be performed in the next calculation frame, and if the attack cooldown does not align with these frame rate, the next attack can be performed a frame early or late to compensate. For example if a tower has a cooldown of 0.22s, its first attack would happen at frame 14 (0.2333s), then at frame 27 (0.45s), frame 40 (0.6667s), frame 53 (0.8833) and frame 66 (1.1s), doing a cycle of 14-13-13-13-13 calculation frames between attacks.
 
In cases of very fast cooldowns, the animations can be visually skipped or show inconsistencies, but they don't have impact on the actual attack speed. With high game lag, each visual frame will be the same than a calculation frame, representing 1/60 of a second.
 
When the attack cooldown is lower than 0.1s, the game engine change will start to perform the attack in the nearest calculation frame and not in the next one, this can cause a Tower to fire two projectiles on the same frame. In this case each projectile will behave like normal in terms of damage, pierce and any buff, if present. Each frame can only fire one extra attack, so a Monkey is limited to 120 attacks per second, starting two every 1/60 of  a second (0.0167s). For example, if the attack cooldown of a tower is 0.01s (equivalent to 100 attacks per second), it would still only fire 60 times per second, but 40 out of those 60 attacks would launch two projectiles instead of one.
 
Even if the cooldown of a tower is lower than 0.00833s (equivalent to 120 attacks per second), the Tower will still be limited to 120 attacks per second, and to compensate, the damage of each projectile is increased to properly deal the correct amount of damage on average. For example if a tower has an attack that deals 2 damage and a cooldown of 0.005s (equivalent to 200 attacks / 400 damage per second), it will still attack every 1/60 of a second, launching two projectiles per attack, and each projectile damage would be increased to 3.3333 damage so it averages to 400 damage per second.
 
To handle fractional damage, the game rounds down the damage and the remainder is added to the next projectile. In the previous case the 3.3333 damage means that for every three projectiles that the tower launches, two will deal 3 damage and one will deal 4 so they average 3.3333 damage.
 
The cooldown limit of the game is 0.001s (equivalent to 1000 attacks per second) and cannot be further decreased. A tower with 2 damage per attack and this cooldown, would still only attack every 1/60 of a second with two projectiles at the same time, and each projectile would deal 16.6667 damage to have an average of 2,000 damage per second.
 
There are specific interactions of towers with such high cooldowns that are not intuitive due to the limit of 120 attacks per second, for example if the tower of the previous example (2 damage, 0.001s cooldown, 1 projectile per attack, 1 pierce) would attack an arbitrary large amount of Red Bloons, it would only be able to pop a maximum of 120 of them per second. If the same Tower attacks Bloons under the effect of an [[Embrittlement (BTD6)|Embrittlement]], each projectile would deal 17.6667 damage, increasing the total damage per second against a single target to only 2,120 because the +1 damage bonus is applied per projectile.


''(fun fact below, probably more for trivia, this is not intended to be in the final article)''
===''Bloons Adventure Time TD''===
{{incomplete|need to figure out more on how blockingCooldown works}}
In ''[[Bloons Adventure Time TD]]'', attack speed is implemented internally as '''cooldown''' and measured in seconds, much like ''Bloons TD 6''. Some attacks have an animationSpeed variable as well which governs the lowest possible cooldown that attack can have. If this variable is not present then the lowest the cooldown can go is 1/60th of a second, or 1 frame ingame, which can be achieved with a combination with items and upgrades. All cooldowns are round up to the next frame.


As of {{BTD6 version|46.3}} The lowest possible cooldown in BTD6 belongs to [[Elite Defender (BTD6)|Elite Defender]], which has a base cooldown of 0.064925s, to occur the Bloons must be leaking (0.25× and 0.5× from both passive abilities), have an Elite Sniper in the map (0.75×), be in the range of a True Sun God with max Support sacrifices (0.8× twice), Permanent Brew (0.85×), Jungle Drums (0.85×), Homeland Defense (0.5×), Ultraboost active with 10 stacks (0.6× and 0.6648×), Ezili Sacrifical Totem (0.85×) in the map One Two Three under a Military or small footprint tile with attack speed bonus (0.85×), with the targeting set to Last for Flanking Maneuvers MK (0.9×) and Veteran Monkey Training MK (0.97×), resulting on a cooldown of 0.000354s or approximately ~2,824 shots per second. Adding the Monkey Boost (0.5×) and Energizing Totem (0.75×) powers the cooldown goes to 0.000132s or ~7,531 shots per second.
On the character's stat pages, attack speed displayed is actually the inverse of cooldown from the main weapon. It is similarly mentioned as such in balance patch notes.


== References ==
== References ==
<references />
<references />
== Navigation ==
{{Attack_mechanics_nav}}
[[Category:Game mechanics]]
[[Category:Game mechanics]]
[[Category:Game mechanics in BTD5]]
[[Category:Game mechanics in BSM2]]
[[Category:Game mechanics in BTD6]]
[[Category:Game mechanics in Battles]]
[[Category:Game mechanics in BMC]]
[[Category:Game mechanics in Bloons TD (series)]]

Latest revision as of 14:05, 23 April 2026

For C4 Charlie's upgrade, see Attack Speed (upgrade).
Buff icon for attack speed in BTD6

Attack speed is a mechanic in the Bloons TD series and Bloons Supermonkey series of games, which determines the amount of time that a Tower needs to perform an specific attack. It is typically measured in frames in the older games and seconds in the newer entries. It is one of the three main mechanics that determine the offensive capability of a tower alongside Damage and Pierce.

There is not a unique way to name this mechanic, not even in the same game or in official patch notes. In the list below there are examples of different notations across the Bloons franchise:

Mechanics

[edit | edit source]

In these games, towers are programmed to attack every certain amount of frames which can be converted into seconds considering they run at 40 frames per second. The only upgrade that modifies attack speed is Faster Shooting for Tack Shooters, reducing it from 55 to 40 frames. Using the Upgrade stacking glitch (also called "hypersonic Tack Shooter glitch"), allows to purchase this upgrade multiple times, reducing the cooldown of the tower 15 frames every time. After 4 stacks, the cooldown of the Tack Shooter would be less than 0 frames, so the tower reaches a speed cap and attacks every frame; further upgrades do not change this behavior.

Attack speed in Bloons Supermonkey 2 is implemented with a mechanic that in the mobile version, is internally named cooldown. This cooldown is the amount of time in seconds which a certain weapon or powerup will take before performing an attack. In the Flash version it is measured in frames, while in the mobile versions it is measured in seconds, and each weapon has a separate cooldown value.

While there is no way of buffing attack speed in the Flash version, in the mobile version Turbo Boost will reduce the attack cooldown of Supermonkeys by a certain multiplier. In the mobile version, it is mechanically similar with how Attack Speed is handled in Bloons TD 6, where if an attack exceeds 1 attack per frame, it will simulate multiple attacks per frame. The entire Energy arm weapon line (excluding Epics) has a fixed cooldown of 0, resulting in it attacking every frame, and cannot be buffed by attack speed.

Half Cash icon This section is incomplete. You can help out by expanding it.
The editor who added this notice elaborates: flash game stuff, such as attack speed caps

In the mobile versions, most attacks have a separate CooldownTime and FireDelayTime stat. The cooldown time determines the amount of time it takes to initiate the next attack, while the fire delay time determines the delay between when an attack is initiated and when the attack fires. The sum of these two values determines the overall attack speed of a tower. For example, the Dart Monkey has a CooldownTime of 0.7 seconds and a FireDelayTime of 0.2 seconds, giving it an overall delay between attacks of 0.9 seconds, or roughly 1.11 attacks per second. Most tower buffs that "increase attack speed" reduce both the cooldown time and fire delay time, but some, such as the Attack Speed modifier of the Monkey Lab, only reduce the cooldown time. This makes them less effective on attacks with long fire delay times, such as the Mortar Monkey's main attack.

Stack of Old Nails icon This article or section needs cleanup to improve the way it presents information and/or comply with the style guide. You can help out by editing this article.
The editor who added this notice elaborates: Needs cleanup for grammar and/or spelling

Attack speed in BTD6 is implemented with a mechanic internally named cooldown. This cooldown is the amount of time in seconds which a tower will take before executing an attack or performing certain actions such as producing spikes or spawning sub-towers. This is measured in seconds, and the upgrades modify the value of this stat to a certain number. However, if the player notices the amount of damage that a tower is dealing before and after an attack speed or buff is applied, sometimes the tower seem to be doing better than expected, and this is because on how the actual attack speed / cooldown mechanic is implemented.

For example a 0-0-0 Dart Monkey has an attack cooldown of 0.95s, this is the amount of time that will pass between shots. Upon being upgraded to 0-1-0 Quick Shots, which claims to increase the attack speed by 15%, this cooldown is reduced to 0.8075s, which is a 15% reduction of the cooldown of the 0-0-0 tower, and the 0-2-0 Very Quick Shots upgrade further reduces it to 0.6365s which is a 33% reduction of the base monkey giving the number stated in the upgrade's description.

However if the Dart Monkey is tested in a mode such as Sandbox, the upgrades will seem to be doing better than expected, with the 0-1-0 upgrade increasing the damage a little bit higher than the 15% expected increase in damage, and the 0-2-0 doing nearly 50% more damage.

To explain this difference, the first thing that should be noticed is that what most people understand as Attack Speed is a similar but not exactly same thing as the Attack Cooldown concept used in the game. Attack Speed could be defined as the number of attacks a tower performs in a certain amount of time, and Attack Cooldown as the inverse, the amount of time that the tower needs to perform an attack. This definition makes Attack Speed directly proportional to the damage (higher attack speed equals more damage) and the attack cooldown inversely proportional to the damage (lower cooldown equals more damage).

With those definitions and going back into the Dart Monkey example, the cooldown of 0.95s means the tower will throw ~63 darts per minute, with the 0-1-0 upgrade this increases to ~74 darts per minute and the 0-2-0 goes to ~94 darts per minute. The proportions of those numbers mean a ~17% and ~49% increase of the amount of darts, corresponding with the amount of damage that the tower produces.

In general if an upgrade of buff description states that the attack speed of a tower is being increased by a certain percentage, what it actually does is reducing the cooldown in that proportion by applying a multiplier, which in most situations is 1Bonus percentage . And different bonuses stack multiplicatively:

Cooldown=Base Cooldown×Multiplier1×Multiplier2×A list of all attack cooldowns available in BTD6 can be found in this page.


For example, the attack cooldown of a 0-0-0 Dart Monkey which is in the range of a 2-4-0 Monkey Village (Jungle Drums, Call to Arms) and 4-0-0 Stronger Stimulant while all temporal bonuses are active and the player has the Come On Everybody! Come On Everybody! and Veteran Monkey Training Veteran Monkey Training Monkey Knowledge is:Cooldown=0.95[s]×0.85×0.6667×0.85×0.95×0.970.4267[s]

The actual attack speed / damage increase can be calculated as follows:

Increase=(1Multipliers1)×100%

Or if the percentage indicated in the game is known:

Increase=(Bonus1Bonus)×100%

For example, for the 0-0-0 Dart Monkey described above, the total attack speed increase is:

Increase=(10.85×0.6667×0.85×0.95×0.971)×100%125.3%

And going back into the the 0-1-0 upgrade for a Dart Monkey the actual attack speed increase is:

Increase=(0.1510.15)×100%17.6%

And for the 0-2-0 upgrade:

Increase=(0.3310.33)×100%49.3%

Attack animations do not have a correlation with the visual frame rate of the game, however the internal calculation of the game engine is performed 60 times per second, because of this, when the cooldown timer expires, the attack will be performed in the next calculation frame, and if the attack cooldown does not align with these frame rate, the next attack can be performed a frame early or late to compensate. For example if a tower has a cooldown of 0.22s, its first attack would happen at frame 14 (0.2333s), then at frame 27 (0.45s), frame 40 (0.6667s), frame 53 (0.8833) and frame 66 (1.1s), doing a cycle of 14-13-13-13-13 calculation frames between attacks.

In cases of very fast cooldowns, the animations can be visually skipped or show inconsistencies, but they don't have impact on the actual attack speed. With high game lag, each visual frame will be the same than a calculation frame, representing 1/60 of a second.

When the attack cooldown is lower than 0.1s, the game engine change will start to perform the attack in the nearest calculation frame and not in the next one, this can cause a Tower to fire two projectiles on the same frame. In this case each projectile will behave like normal in terms of damage, pierce and any buff, if present. Each frame can only fire one extra attack, so a Monkey is limited to 120 attacks per second, starting two every 1/60 of a second (0.0167s). For example, if the attack cooldown of a tower is 0.01s (equivalent to 100 attacks per second), it would still only fire 60 times per second, but 40 out of those 60 attacks would launch two projectiles instead of one.

Even if the cooldown of a tower is lower than 0.00833s (equivalent to 120 attacks per second), the Tower will still be limited to 120 attacks per second, and to compensate, the damage of each projectile is increased to properly deal the correct amount of damage on average. For example if a tower has an attack that deals 2 damage and a cooldown of 0.005s (equivalent to 200 attacks / 400 damage per second), it will still attack every 1/60 of a second, launching two projectiles per attack, and each projectile damage would be increased to 3.3333 damage so it averages to 400 damage per second.

To handle fractional damage, the game rounds down the damage and the remainder is added to the next projectile. In the previous case the 3.3333 damage means that for every three projectiles that the tower launches, two will deal 3 damage and one will deal 4 so they average 3.3333 damage.

The cooldown limit of the game is 0.001s (equivalent to 1000 attacks per second) and cannot be further decreased. A tower with 2 damage per attack and this cooldown, would still only attack every 1/60 of a second with two projectiles at the same time, and each projectile would deal 16.6667 damage to have an average of 2,000 damage per second.

There are specific interactions of towers with such high cooldowns that are not intuitive due to the limit of 120 attacks per second, for example if the tower of the previous example (2 damage, 0.001s cooldown, 1 projectile per attack, 1 pierce) would attack an arbitrary large amount of Red Bloons, it would only be able to pop a maximum of 120 of them per second. If the same Tower attacks Bloons under the effect of an Embrittlement, each projectile would deal 17.6667 damage, increasing the total damage per second against a single target to only 2,120 because the +1 damage bonus is applied per projectile.

Bloons Adventure Time TD

[edit | edit source]
Half Cash icon This section is incomplete. You can help out by expanding it.
The editor who added this notice elaborates: need to figure out more on how blockingCooldown works

In Bloons Adventure Time TD, attack speed is implemented internally as cooldown and measured in seconds, much like Bloons TD 6. Some attacks have an animationSpeed variable as well which governs the lowest possible cooldown that attack can have. If this variable is not present then the lowest the cooldown can go is 1/60th of a second, or 1 frame ingame, which can be achieved with a combination with items and upgrades. All cooldowns are round up to the next frame.

On the character's stat pages, attack speed displayed is actually the inverse of cooldown from the main weapon. It is similarly mentioned as such in balance patch notes.

References

[edit | edit source]
[edit | edit source]