This is also something happened to WC3 but i have no knowledge of SC2 so i can’t speak.
In War3, there are Animation Backswing Point and Animation Damage Point.
These 2 data dictate how long the attack animation last and run independently with weapon cooldown.
When your unit start attacking the procedure run as follow.
Animation Backswing Point and Weapon cooldown start to countdown.
If Animation Backswing Point finish, it’s Animation Damage Point’s turn.
If the weapon cooldown has already finished but Animation Backswing Point and Animation Damage Point is still running, your units won’t start attacking again.
The thing is Animation Damage Point can be canceled by the player by press the “Stop” command this is called “cancel animation” used by dota 1 player back in the day to physically increase how fast the unit attacks. The prominent hero in Dota 1 that benefits the most is Silencer back in the day where it took him 0.54s to finish Animation Damage Point.
However, if Animation Backswing Point isn’t finished cooldowned, your attack is finished yet and no damage is dealt.
So if you press “stop” during the countdown of Animation Backswing Point, the entire attack is literally canceled.
Animation Backswing Point is similar to Wrathwalker and Karax Monolith’s charge time and it is the upper limit of Monolith’s attack speed.
Even if Monolith’s weapon cooldown is “set
” at 0.01s, it will never attack that fast because of the Animation Backswing Point.
7777777777777777777777777777777777777777777777
Note:
I also want to emphasize the word “set” there
and
highlight the word ‘similar’
because Animation Damage Point, Animation Backswing Point and Weapon Cooldown are affected equally by attack speed.
Say a unit with these data
Animation Backswing Point 0.468
Animation Damage Point 0.544
Weapon Cooldown 1.5
If his attack speed is increased by 100%, his current attack speed will be 200%.
This means his weapon cooldown will be 1.5 divide for 200% = 0.75s
His Animation Backswing Point 0.468 / 200% = 0.234
and Animation Damage Point 0.544 /200% =0.272
Since 0.234 + 0.272 < 0.75, this unit will still attack once every 0.75s as supposed.
But if his weapon cooldown is 0.5 for instance, 0.234 + 0.272 > 0.5 and he will only attack every 0.506s instead of 0.5s because of this constraint.
7777777777777777777777777777777777777777777777
The thing is Animation Backswing Point is compulsory to begin dealing damage and Animation Damage Point is not automatically canceled. These two values set up the constraint for how fast a unit attack back in War3.
Also this is very technical but each term is used with absolute precise.
Attack speed is not weapon cooldown
and constraint is not limit.
Because Attack speed in war 3 is infinite but the weapon cooldown is limited back in war 3. No matter how much attack speed a unit has, its Animation Backswing Point, Animation Damage Point, Weapon Cooldown will never be lowered than 5 times its set value.
In war3, say you set a footman to have 0.5s Weapon Cooldown, in-game even if you buff the footman attack speed by 10000%, its weapon cooldown will never be lowered than 0.1s in-game. Why i say attack speed is infinite? because if you have buff the footman by 10000% attack speed if your footman get debuff reduced its attack speed by 80%, its weapon cooldown will still be 0.1s.
How fast your unit attack is governed by Animation Backswing Point, Animation Damage Point and Weapon Cooldown.
Attack speed is not How fast a unit attack, it is a manipulation of Animation Backswing Point, Animation Damage Point and Weapon Cooldown.