magey / classic-warrior

109 stars 9 forks source link

Windfury Totem #7

Open magey opened 5 years ago

magey commented 5 years ago
ohganot commented 5 years ago

Proof that it should reset swing timer:

https://youtu.be/EFQ9p4Z3OJY?t=395

He is using Nightfall in the clip, so swing time is 3.4

22:15:56 Heroic Strike (Next attack should be at 22:15:59 or 22:16:00) 22:15:58 Hamstring (Procs Windfury) 22:15:58 Windfury proc (Next attack should be at 22:16:01 or 22:16:02) 22:16:02 Autoattack (Should have been at 22:15:59 or 22:16:00 if windfury didn't reset swing timer)

This confirms that Windfury does reset swing timer.

magey commented 5 years ago

Analysis of logs produced on the beta by Puffymuffins and Maul show that Windfury Totem does indeed reset the swing timer. See the following chart of a segment of Maul's log swinging a 3.2 speed weapon:

image

The chart line is the regular swing timer with extra attack hits excluded. When it goes down to 0 it means there was an extra attack proc off an instant attack (such as Hamstring, Overpower, Sunder Armor, etc.). You can see that when it goes back up from 0 it's always bigger than 3.2 (except for one case where the regular swing coincided with a hamstring that proc'd Windfury, you can see it at the beginning). There are also situations where there were 2 extra attack procs back to back so the delay is extra long.

magey commented 5 years ago

Analyzing this log by Towneh and this one provided by Puffymuffins shows that each individual Whirlwind hit can proc WF and all extra attacks hit your main target.

magey commented 5 years ago

Further analysis of aforementioned logs gives us this chart for the Windfury Totem aura uptime:

image

As you can see it's all over the place but it's curious to note that the bottom end is 400ms and the upper end is 1600ms, both multiples of the batch window length.

magey commented 5 years ago

New log by Maul and Ayle shows us Slam can proc WF and the extra hit is applied immediately after finishing the cast. Example:

6/7 21:00:12.816  SPELL_CAST_SUCCESS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007B082D,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0
6/7 21:00:12.816  SPELL_AURA_APPLIED,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,8516,"Windfury Totem",0x8,BUFF
6/7 21:00:12.816  SPELL_EXTRA_ATTACKS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,8516,"Windfury Totem",0x8,1
6/7 21:00:12.816  SWING_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007B082D,"Hillsbrad Miner",0x10a48,0x0,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,120,181,-1,1,0,0,0,nil,nil,nil
6/7 21:00:13.040  SPELL_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007B082D,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,114,171,-1,1,0,0,0,nil,nil,nil

This shows a single Slam cast that proc'd WF followed immediately by the extra hit.

However, if you chain cast Slam (slamspam) you will not get an extra hit after a WF proc (the animation will play and you will get the Windfury Totem aura but no white attack will happen) because your swing timer is effectively paused and then reset when you finish casting, but you then immediately start casting another Slam so it never resumes. This means the WF proc is essentially lost (you will never get the white hit) unless the Slam that proc'd WF is the last one that you cast. Example:

6/7 20:29:36.249  SPELL_CAST_SUCCESS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0
6/7 20:29:36.249  SPELL_AURA_APPLIED,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,8516,"Windfury Totem",0x8,BUFF
6/7 20:29:36.249  SPELL_EXTRA_ATTACKS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,8516,"Windfury Totem",0x8,1
6/7 20:29:36.249  SPELL_CAST_START,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,1464,"Slam",0x1
6/7 20:29:36.394  SPELL_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,119,179,-1,1,0,0,0,nil,nil,nil
6/7 20:29:37.773  SPELL_AURA_REMOVED,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,8516,"Windfury Totem",0x8,BUFF
6/7 20:29:38.289  SPELL_CAST_SUCCESS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0
6/7 20:29:38.289  SPELL_CAST_START,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,1464,"Slam",0x1
6/7 20:29:38.401  SPELL_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,125,189,-1,1,0,0,0,nil,nil,nil
6/7 20:29:40.321  SPELL_CAST_SUCCESS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0
6/7 20:29:40.321  SPELL_CAST_START,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,1464,"Slam",0x1
6/7 20:29:40.442  SPELL_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,125,189,-1,1,0,0,0,nil,nil,nil
6/7 20:29:42.336  SPELL_CAST_SUCCESS,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0
6/7 20:29:42.433  SPELL_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,1464,"Slam",0x1,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,126,190,-1,1,0,0,0,nil,nil,nil
6/7 20:29:45.562  SWING_DAMAGE,Player-4619-0000FD48,"Maul-ClassicBetaPvP",0x511,0x0,Creature-0-4615-0-4273-2269-00007AFE6C,"Hillsbrad Miner",0x10a48,0x0,0000000000000000,0000000000000000,0,0,0,0,0,-1,0,0,0,0.00,0.00,1424,0.0000,0,96,144,-1,1,0,0,0,nil,nil,nil

This shows 3 Slam casts back-to-back, with the first one procing WF but never getting the extra hit, and finally the normal swing happens 3.2 seconds after the last slam cast which is consistent with the speed of the weapon Maul was using (Bloodpike).

magey commented 5 years ago

Tests performed recently by Towneh and Tarluk with a varying number of points into Improved Slam show us that even with just 1/5 Improved Slam, it's possible for the WF extra attack to go off between Slam casts when chain casting it, provided you don't take any push-back damage to delay the cast. The 0.1s window created by 1/5 Improved Slam (reduces cast time to 1.4s while GCD is still 1.5s) is enough for your swing timer to start again and for the WF extra attack to hit.

Abridged example from the combat log:

7/1 22:29:53.140  SPELL_CAST_START (Slam)
7/1 22:29:54.594  SPELL_CAST_SUCCESS (Slam)
7/1 22:29:54.594  SPELL_AURA_APPLIED (Windfury Totem)
7/1 22:29:54.594  SPELL_EXTRA_ATTACKS (Windfury Totem)
7/1 22:29:54.612  SWING_DAMAGE (WF extra attack)
7/1 22:29:54.662  SPELL_CAST_START (Slam)