Attack Speed

The frequency with which units attack is measured in attack speed. A unit's attack speed can be modified by items, agility, abilities, and auras.

Base attack time
Every unit has a base attack time (BAT), which refers to the default interval between attacks for an unbuffed unit with 0 agility and no attack speed bonus. For example, a melee lane creep has a BAT of 1.00 seconds, and thus attacks once every second by default. Similarly, if a hero with 1.7 BAT had 0 agility and no bonus attack speed, they would attack once every 1.70 seconds. While nearly every unit can have their attack speed modified, only a few heroes can actively change their BAT.

Every hero has a BAT of 1.7 except for the following:


 * Note: is also capable of lowering his BAT if he steals and uses any of the abilities listed in the above table.

Attack speed representation
The reciprocal of base attack time is base attack speed. For most heroes, this is 1 / 1.7 = 0.588 attacks per second. Attack speed is expressed in percent of base attack speed. The base is therefore expressed as 100. Each point of increased attack speed (IAS) adds 1 to that, giving 1% of base attack speed. Each point of agility increases IAS by 1. IAS is also modifiable by items, abilities, talents, buffs, and debuffs. Attack speed works together with BAT to determine how often a unit can attack. Attack speed has a minimum cap of 20 and a maximum cap of 700.


 * Note: When mousing over attack damage in the HUD, the first field shows the attack speed and the time per attack in parenthesis. The attack speed field is defaulted to 100 and adds the IAS afterward, leading to a lower boundary of 20 and an upper boundary of 700. Even though the display may show a unit to "exceed" these boundaries, the actual attack speed used for calculations will still obey the caps of 20 and 700. This can be easily verified by observing that the "time between attacks" display does not change even when pushing well past "700 attack speed".


 * Note2: Units that do not have 1.7 BAT will display their attack speed in the in-game HUD as if they had 1.7 BAT. For example, a unit with 0.85 BAT and no bonus attack speed (100 attack speed) will display itself as having 200 attack speed, because 0.85 seconds is how long a unit with 1.70 BAT and 200 attack speed would take in between attacks. This strange quirk makes it harder to figure out if a hero without 1.7 BAT is nearing the attack speed cap, but it does allow players to compare this uniform "attack speed metric" across all heroes more easily (only their base attack time though, as any bonuses are not expressed in this "attack speed metric", but just added on top).

Attack speed formula
The formulas below denote the relationship between BAT, IAS, the initial attack speed, attacks per second, and time between attacks.


 * Attacks per second = [(Initial Attack Speed + IAS) × 0.01] / BAT
 * Attack time = BAT / [(Initial Attack Speed + IAS) × 0.01] = 1 / (attacks per second)

For example, a level 1 Axe with no items has 1.7 BAT, 100 Initial Attack Speed and 20 agility, which is converted to (0.20).


 * Attacks per second = [(100 + IAS) × 0.01] / BAT
 * Attacks per second = [(100 + 20) × 0.01] / 1.7
 * Attacks per second = 1.2 / 1.7
 * Attacks per second = ~0.706

>> Axe attacks about 0.706 times per second.


 * Attack time = 1 / 0.706
 * Attack time = ~1.417

>> Axe takes about 1.417 seconds between attacks.

Here are some attack speed benchmarks and their effect on attacks per second:


 * -80 attack speed, a unit with 20 AS will take 5 times their BAT to attack (1/5x normal speed) (lower cap)
 * -75 attack speed, a unit with 25 AS will take 4 times their BAT to attack (1/4x normal speed)
 * -66 attack speed, a unit with 33 AS will take 3 times their BAT to attack (1/3x normal speed)
 * -50 attack speed, a unit with 50 AS will take 2 times their BAT to attack (1/2x normal speed)
 * +00 attack speed, a unit with 100 AS will take 1 time their BAT to attack (1x normal speed)
 * +100 attack speed, a unit with 200 AS will take 1/2 times their BAT to attack (2x normal speed)
 * +200 attack speed, a unit with 300 AS will take 1/3 times their BAT to attack (3x normal speed)
 * +300 attack speed, a unit with 400 AS will take 1/4 times their BAT to attack (4x normal speed)
 * +400 attack speed, a unit with 500 AS will take 1/5 times their BAT to attack (5x normal speed)
 * +500 attack speed, a unit with 600 AS will take 1/6 times their BAT to attack (6x normal speed)
 * +600 attack speed, a unit with 700 AS will take 1/7 times their BAT to attack (7x normal speed) (upper cap)