Attack speed: Difference between revisions

Bloons TD 6: Added blastapopoulos magma pool
m Minor fixes; [[Bloons TD 6|''Bloons TD 6'']]: Added Template:Cleanup due to poor grammar and/or spelling
 
(10 intermediate revisions by 7 users not shown)
Line 15: Line 15:


=== [[Bloons Tower Defense (game)|''Bloons Tower Defense'']] / [[Bloons Tower Defense 2|''Bloons Tower Defense 2'']] ===
=== [[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 doesn't change this behavior.
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 Supermonkey 2|''Bloons Supermonkey 2'']] ===
=== [[Bloons Supermonkey 2|''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.
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 (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.
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.
Line 27: Line 27:


=== [[Bloons TD 6|''Bloons TD 6'']] ===
=== [[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.
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.


Line 39: 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]]''.''
{{BTD6 last updated|46.3}}
{| 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%
|All other Primary towers
|
|-
|[[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 other 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 other towers placed in water, except Paragons for the Carrier Flagship version
|
|-
|[[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.81
|11% or 23%
|All other towers in range, except Paragons
|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, except Ascended Shadow
|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, except Paragons
|
|-
|[[File:BTD6_BuffIconVillagex4x.png|20x20px]]
|[[Call to Arms (BTD6)|Call to Arms]]
|0.6667
|50%
|All towers, except Paragons
|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, except Paragons
|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 at 1 stack
0.6 at 10 stacks
|4% at 1 stack
67% at 10 stacks
|Targeted tower
|Each stack decreases the cooldown by 4%. Stacks additively.
|-
|[[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.81 at Level 18+
|11% at Level 5+
23% at Level 18+
|All Bomb Shooters and Mortar Monkeys
|
|-
|[[File:BTD6 BuffIconSacrificialTotem.png|23x23px]]
|[[Ezili (BTD6)|Ezili]] Sacrificial Totem
|0.85
|18%
|All towers in range, except Paragons
|
|-
|[[File:BTD6 BuffIconSacrificialTotem.png|23x23px]]
|[[Ezili (BTD6)|Ezili]] Sacrificial Totem
|0.95
|5%
|All towers in range, except Paragons
|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 in range
|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, except Paragons in both cases
|
|-
|[[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.
|-
|[[File:BTD6 Corvus Aggression.png|20x20px]]
|[[Corvus (BTD6)|Corvus]] [[Aggression]]
|0.5
|100%
|Spirit
|
|-
|[[File:BTD6 RosaliaPortrait.png|22x22px]]
|[[Rosalia (BTD6)|Rosalia]] Adrenaline Rush
|0.99 at 1 stack
0.7143 at 40 stacks
| +1% per 2 Bloons in the hero's range
40% if 80 Bloons in range
|Herself
|Not standard multiplier, see notes of Heart of Vengeance.
Capped at +20% in Level 4-10, +30% at Level 11-16, and +40% at Level 17+.
|-
|[[File:BTD6 PhayzePortrait.png|23x23px]]
|[[Phayze]] Slow Aura
|1.1 (1st skull)
1.15 (2nd skull)


1.2 (3rd skull)
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>
|–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 BlastapopoulosPortrait.png|25x25px]]
|[[Blastapopoulos (BTD6)|Blastapopoulos]] Magma Pool
|1.5
|–33%
|Towers targeted by the fireball.
|
|-
|[[File:BTD6_MapBuffIconVillage2xx.png|link=Attack_speed|22x22px]]
|[[One Two Tree]] / [[Polyphemus]] map mechanic
|0.85
|18%
|All towers placed in the corresponding area, except Paragons
|
|-
|[[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, except Paragons
|
|-
|[[File:BTD6 DartTimeIcon.png|20x20px]]
|[[Time Stop]]
|1.6667
|–40%
|All towers, except Paragons
|Not standard multiplier, see notes of Heart of Vengeance.
|-
|[[File:BTD6 EnergisingTotemIcon.png|20x20px]]
|[[Energizing Totem]]
|0.75
|33%
|All towers in range, except Paragons
|
|}
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 443: 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.
 
===''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.
 
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 />
<!--[[Category:Game mechanics]]-->[[Category:Game mechanics]]
== Navigation ==
{{Attack_mechanics_nav}}
[[Category:Game mechanics]]
[[Category:Game mechanics in BTD5]]
[[Category:Game mechanics in BTD5]]
[[Category:Game mechanics in BSM2]]
[[Category:Game mechanics in BSM2]]