[WoW] Hunter Shot Cooldown Explained!

Hi all, this motive, the lead QA tester for WoW. I have some information regarding the Hunter spell cooldown bug that will hopefully set the record straight once and for all. I will basically provide information regarding how the spell worked in 1.4.2 (and previously), how it worked in 0.5.0 (in its broken state) and how it is going to work now.

As you all undoubtedly know, the special Hunter shots all have cooldowns associated with them that are displayed in their tooltips. I will refer to this value as C below.
As you also undoubtedly know, every ranged weapon has a unique weapon speed. I will refer to this value as S below.

How cooldown was calculated and displayed in 1.4.2
In 1.4.2, the client displayed a different cooldown than the server actually enforces. This is a bug, and the calculations were as follows:

The client pulls its displayed cooldown as exactly C, the cooldown of the spell as listed in its tooltip.
The server calculates the actual enforced cooldown with the formula: (C + S) – 500ms. (The extra 500ms is subtracted from C + S to account for latency and is done with all spells, not just Hunter spells)

For Example, Aimed Shot with an advertised cooldown of 6 seconds using a 2.0 attack speed weapon was calculated as follows:

Client Displayed Cooldown = 6.0 seconds
Server Enforced Cooldown = 6.0 + 2.0 – 0.5 = 7.5 seconds

This may explain why a lot of people noticed that hunter shots used to sometimes display a “Spell not ready yet” error if they were attempted to be used again before this “invisible” 1.5 seconds of extra cooldown time had not passed on the server.

How cooldown was calculated and displayed in 0.5.0 (broken)
In 0.5.0, the client was told to match its cooldown display to what the server was actually enforcing:

The client calculates its displayed cooldown with the formula: C + S.
The server still calculates the actual enforced cooldown with the formula: C + S – 500ms.

For Example, Aimed Shot with an advertised cooldown of 6 seconds using a 2.0 attack speed weapon was calculated as follows:

Client Displayed Cooldown = 6.0 + 2.0 = 8.0 seconds
Server Enforced Cooldown = 6.0 + 2.0 – 0.5 = 7.5 seconds

The problem here was that even though the server did not actually enforce any change to the cooldown time, adding the weapon speed to the cooldown time caused the client to not allow the user to cast the spell again, even though, if it had, the server would have let them do so. Not only did this change make the cooldown timers FEEL a lot worse because they were now visible on the client instead of just server-side, on top of this, the lack of the 500ms latency grace period made Hunters actually fire slower than they should, and decreased DPS. This was obviously a bug that will be fixed in the following manner.

How cooldown will be calculated and displayed in 1.5.0 Release
We are fixing both issues described above. In short, we are removing the weapon speed addition to the cooldown on both the server and the client.

The client pulls its displayed cooldown as exactly C, the cooldown of the spell as listed in its tooltip.
The server calculates the actual enforced cooldown with the formula: C – 500ms.

For Example, Aimed Shot with an advertised cooldown of 6 seconds using a 2.0 attack speed weapon will be calculated as follows:

Client Displayed Cooldown = 6.0 seconds
Server Enforced Cooldown = 6.0 = 5.5 seconds

In other words, Hunter DPS will increase slightly as a result of the cooldowns of all of their special shots actually decreasing by their attack speed. The fact that weapon speed was added to these cooldowns was never intended behavior. We designed the abilities around the cooldown being what the tooltips have always claimed. The only spell that will still display the weapon speed in its cooldown is Auto Shot.

The last calculation above looks incorrect, but it is important to note that the fact that the server enforced cooldown is less than the client displayed cooldown is irrelevant. The user is still not able to actually cast the spell until the client-side cooldown has elapsed.

As an additional note, none of the information above takes quiver/ammo pouch weapon speed adjustment into consideration, but for those of you who want to know, that information is subtracted in the following manner (using the same terminology as above and assuming we’re still adding S to C in the original bugged system):

(C + S) * (1 – RangedHaste%)

Assuming a 6 second Arcane Shot cooldown, a 3.5 speed weapon and a 15% ranged haste quiver the cooldown would be:

(6.0 + 3.5) * (1.0 – 0.15) = 8.075

I hope this clears up any confusion that the last few days have caused. Feel free to post any questions you might have about anything that I have outlined above.

Leave a Reply