Attack Speed is a measure of how fast a hero is able to attack. The attack speed of a hero is set by their base attack time (BAT) and their increased attack speed (IAS).
IAS can be increased by using abilities, passives, auras, items, and agility. Each point of agility will increase IAS by one. IAS can have a maximum value of 600 and a minimum value of 20. Units have 100 attack speed by default, which is altered by BAT. 600 attack speed is 6 times faster than default (BAT ÷ 6), and 20 attack speed is 5 times slower than default (BAT ÷ 0.2).
Attack Speed Formula
Using a hero's BAT and IAS, their attack speed (length of time it takes to attack) is calculated using this formula:
- Base Attack Time ÷ (1 + (Increased Attack Speed ÷ 100)) = Attack Speed
In the formula above, the IAS after calculations, which is the final value BAT gets divided by, has a maximum of 6 and a minimum of 0.2. Any values exceeding the maximum or below the minimum are rounded to the nearest acceptable threshold. This means that any value above 6 would be lowered to 6 and any value less than 0.2 would be raised to 0.2.
Example using Windranger with no items at level 1:
- 1.5 ÷ (1 + (17 ÷ 100) = 1.5 ÷ (1 + 0.17) = 1.5 ÷ 1.17 = 1.28 seconds per attack
In the example above it takes 1.28 seconds to attack.
Base Attack Time
Base attack time is the default cooldown for a hero's attacks. Heroes with a lower BAT will attack faster than heroes with a higher BAT even when at equal IAS.
All heroes have a BAT of 1.7 seconds except for the following:
|Hero||Base Attack Time|
|Alchemist||1.4 / 1.2 / 1 (0.8 with the level 25 talent) when Chemical Rage is active|
|Troll Warlord||1.45 when Berserker's Rage (Melee) is active|
|Lone Druid||1.5 when True Form is active|
|Queen of Pain||1.5|
Heroes have an attack time labeled by two numbers. It is written as:
- Attack Point + Backswing = Attack Time
For example Windranger's attack time is 0.4 + 0.3, and she has a BAT of 1.5.
Windranger's BAT acts as a cooldown, meaning she can only attack once per 1.5 seconds. If she has 0 IAS it would take 0.4 seconds to execute her attack, have a 0.3 second backswing, and then be able to attack again after the remaining 0.8 seconds. The backswing can be canceled, but that does not change her BAT cooldown. If her backswing animation were to be canceled immediately, she would take 0.4 seconds to execute an attack and then take 1.1 seconds of remaining wait time before her next attack. This practice, known as animation canceling, is extremely useful when chasing down other heroes. By canceling the backswing and performing other actions such as moving or spell casting during the BAT cooldown period, it allows the hero to act rather than standing still.
Just as the duration of BAT scales as BAT ÷ (1 + (IAS ÷ 100)), attack time also scales as Attack Point ÷ (1 + (IAS ÷ 100)) and Backswing ÷ (1 + (IAS ÷ 100)). In the previous Windranger example (no items and level 1), her Attack Point would equal 0.341 and her Backswing would equal 0.256.
The only exception to the above rules occurs when the units attack point is greater than their BAT. In this situation, the unit's attack point is used as the unit's BAT instead. The only unit for which this is the case is Witch Doctor's Death Ward.
Like attack time, all heroes have a cast time. Cast point is the time it takes for a spell to be cast before it is released. Animation canceling during the cast point will not release the spell or put it on cooldown. If the cast point completes, the spell is used and all of its costs are spent. The backswing after the cast can always be canceled for other actions. Cast times are static and cannot be changed. BAT does not apply to spell casting either. It is written as:
- Cast Point + Backswing = Cast Time