
Extra Attacks :  Extra attacks that are caused by or generated by the main
                 hand weapon don't cause it to reset since they occur as the
main hand weapon is stricking. Extra Attack events that are caused by the 
off hand do cause the main hand weapon to reset it's normal white attack as
the extra attack is generated.




http://forums.worldofwarcraft.com/thread.html?topicId=2041161044&sid=1&pageNo=1

comments:


-  Does this take into account warstomp resetting the swing timer?
-  One request tho is if you can make the text scalable



 Well, great work so far. I think I will keep my quartz casting bar but use this new addon for the swing timer as it is slightly more accurate. The parry haste is spot on, and it seems to work awesomely with sword spec procs, and it does change swing speeds when I proc flurry. I haven't tried any windfury yet. However I do have a couple complaints.

--When I initiate combat using a thrown weapon, it keeps the 1.3 second timer instead of my 3.5 sword until I land my second sword swing.

--Right when flurry procs and right when flurry ends, the timer is kind of funky.
When flurry fades mid-swing, the actual swing takes longer than the timer bar shows. I'm thinking the server must also check your swing speed at the instant a swing is supposed to land (checking against when the last swing was landed), which would account for increased swing time when flurry is fading mid-swing. This type of calculation would be adjusted on your bar as a sort of negative parry effect.

As for when flurry starts, the actual swing is sometimes shorter than the bar shows. It may be a server latency issue that sometimes the swing timer is initiated before the flurry buff appears in the combat log? The server knows that you landed a crit and have flurry, but hasn't yet communicated that to the client side. The irregularity only occurs when a white hit normal attack crits. If you proc a flurry mid-swing because of an instant or an extra attack, the timer is perfect.

The only way I can think to parse for that flurry latency problem would be to check while flurry is not active for 'You crit' instead of waitng for the 'You gain flurry' message or checking the starting weapon speed client-side. So that may not be a fixible issue, and isn't terribly annoying. I didn't dig into any of the code, but I might just have a peek later to see how something this complicated even gets put together.


Once again, great contribution and I'll definitely be using this addon and bookmarking for updates if you are continuing to work on it.





The first attack will set your casting time back by 1 sec. Any consequent attack will set it back by a lower amount. The amount decreases by 0.2 sec with every attack, down to a minimum of 0.2 sec per attack. However, no attack will actually increase the casting time. For example if you cast only 0.2 sec. of a spell, it would only be set back by that amount.

2.6 spd 162 Latency

18:27:37.008  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F7A7,"Timber Worg",0x10a48,438,1,0,0,0,nil,nil,nil
18:27:39.631  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F7A7,"Timber Worg",0x10a48,787,1,0,0,0,1,nil,nil
18:27:42.205  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
18:27:42.215  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F7A7,"Timber Worg",0x10a48,873,1,0,0,0,1,nil,nil
18:27:42.425  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F7A7,"Timber Worg",0x10a48,397,1,0,0,0,nil,nil,nil
18:27:45.049  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F7A7,"Timber Worg",0x10a48,891,1,0,0,0,1,nil,nil

X       YYYYYYYY
Proj    Real
2.600   2.623 hit
0.000   0.000 hit
        2.574 Blinkstrike
        2.584 Hit
2.600   2.794 Hit
5.200   5.418 hit


3/31 18:30:03.218  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,423,1,0,0,0,nil,nil,nil
3/31 18:30:05.822  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,375,1,0,0,0,nil,nil,nil
3/31 18:30:08.515  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
3/31 18:30:08.515  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,333,1,0,0,0,nil,nil,nil
3/31 18:30:08.515  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,666,1,0,0,0,1,nil,nil
3/31 18:30:10.909  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,678,1,0,0,0,1,nil,nil
3/31 18:30:13.713  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
3/31 18:30:13.723  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C110493,"Timber Worg",0x10a48,816,1,0,0,0,1,nil,nil
XXXXXXXXYYYYYYYYXXXXXXXXYYYYYYYYXXXXXXXXYYYYYYYY
Proj    Real    What            No-reset
 0.000   0.000  Hit              0.000
 2.600   2.604  Hit              2.600
         5.297  Blinkstrike      5.200
         5.297  Hit
 5.204   5.297  Hit
 7.897   7.691  Hit              7.800
        10.495  Blinkstrike
        10.505  Hit


3/31 18:41:33.500  SWING_DAMAGE,0xF130004822110611,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,92,1,0,0,0,nil,nil,nil
3/31 18:41:33.510  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
3/31 18:41:33.510  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,453,1,0,0,0,nil,nil,nil
3/31 18:41:33.911  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,422,1,0,0,0,nil,nil,nil
3/31 18:41:36.234  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
3/31 18:41:36.244  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,444,1,0,0,0,nil,nil,nil
3/31 18:41:36.244  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,408,1,0,0,0,nil,nil,nil
3/31 18:41:38.908  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,343,1,0,46,0,nil,nil,nil
3/31 18:41:41.242  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF130004822110611,"Dreadfang Lurker",0x10a48,382,1,0,0,0,nil,nil,nil

Proj    Real    What            No-reset
         0.000  Hit
         0.010  Blinkstrike
         0.010  Hit
         0.411  Hit
         2.734  Blinkstrike
         2.744  Hit
         2.744  Hit
	 5.408  Hit
         7.742  Hit


3/31 18:42:45.404  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,439,1,0,0,0,nil,nil,nil
3/31 18:42:48.108  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,425,1,0,0,0,nil,nil,nil
3/31 18:42:50.711  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,38308,"Blinkstrike",0x1,1
3/31 18:42:50.711  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,437,1,0,0,0,nil,nil,nil
3/31 18:42:51.112  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,422,1,0,0,0,nil,nil,nil
3/31 18:42:53.235  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,369,1,0,0,0,nil,nil,nil
3/31 18:42:55.919  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,464,1,0,0,0,nil,nil,nil
3/31 18:42:57.541  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,851,1,0,0,0,1,nil,nil
3/31 18:43:00.165  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C10F32C,"Timber Worg",0x10a48,816,1,0,0,0,1,nil,nil

Proj    Real    What            No-reset
 0.000   0.000  Hit
 2.600   2.704  Hit
         5.307  Blinkstrike
         5.307  Hit
 5.300   5.708  Hit
 8.300   7.831  Hir





WINDFURY

3.8 160 latency

3/31 18:44:55.691  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C1111C4,"Timber Worg",0x10a48,734,1,0,0,0,nil,nil,nil
3/31 18:44:59.457  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C1111C4,"Timber Worg",0x10a48,723,1,0,0,0,nil,nil,nil
3/31 18:45:03.302  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,25584,"Windfury Attack",0x8,1
3/31 18:45:03.302  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C1111C4,"Timber Worg",0x10a48,1649,1,0,0,0,1,nil,nil
3/31 18:45:03.302  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000482C1111C4,"Timber Worg",0x10a48,1837,1,0,0,0,1,nil,nil

Proj    Real    What            No-reset
         0.000  Hit
         3.766  Hit
         7.611  Windfury
         7.611  Hit
         7.611  Hit

3/31 18:45:12.616  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000555E10F25C,"Ironspine Petrifier",0x10a48,833,1,0,0,0,nil,nil,nil
3/31 18:45:16.531  SPELL_EXTRA_ATTACKS,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,25584,"Windfury Attack",0x8,1
3/31 18:45:16.531  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000555E10F25C,"Ironspine Petrifier",0x10a48,1659,1,0,0,0,1,nil,nil
3/31 18:45:16.541  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF13000555E10F25C,"Ironspine Petrifier",0x10a48,842,1,0,0,0,nil,nil,nil

Proj    Real    What            No-reset
         0.000  Hit
         3.915  Windfury
         3.915  Hit
         3.925  Hit



3/31 20:02:26.889  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,1499,1,0,0,0,1,nil,nil
3/31 20:02:30.625  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,649,1,0,0,0,nil,nil,nil
3/31 20:02:34.490  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,740,1,0,0,0,nil,nil,nil
3/31 20:02:36.253  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,1459,1,0,0,0,1,nil,nil
3/31 20:02:40.088  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,1538,1,0,0,0,1,nil,nil
3/31 20:02:42.321  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,686,1,0,0,0,nil,nil,nil
3/31 20:02:46.197  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,1316,1,0,0,0,1,nil,nil
3/31 20:02:49.932  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,682,1,0,46,0,nil,nil,nil
3/31 20:02:53.918  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48,745,1,0,0,0,nil,nil,nil

26.889  30.689
30.625  34.425
34.490  38.290
36.253  40.053
40.088  43.888
42.321  46.121
46.197  49.997
49.932  53.732


3/31 20:02:53.918  PARTY_KILL,0x00000000002376F4,"Balstor",0x511,0xF7300048220E8569,"Dreadfang Lurker",0x10a48
3/31 20:02:54.309  UNIT_DIED,0x0000000000000000,nil,0x80000000,0xF7300048220E8569,"Dreadfang Lurker",0x10a48
3/31 20:02:54.609  SPELL_ENERGIZE,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,12964,"Unbridled Wrath",0x1,1,1
3/31 20:02:54.819  SWING_MISSED,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,DODGE
3/31 20:02:55.230  SPELL_CAST_SUCCESS,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,32902,"Dread Poison",0x8
3/31 20:02:55.230  SPELL_MISSED,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,32902,"Dread Poison",0x8,RESIST
3/31 20:02:57.313  SWING_DAMAGE,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,95,1,0,0,0,nil,nil,nil
3/31 20:02:57.724  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,646,1,0,0,0,nil,nil,nil
3/31 20:02:59.126  SWING_DAMAGE,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,108,1,0,0,0,nil,nil,nil
3/31 20:03:01.229  SWING_DAMAGE,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,95,1,0,0,0,nil,nil,nil
3/31 20:03:01.429  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,635,1,0,0,0,nil,nil,nil
3/31 20:03:02.130  SPELL_ENERGIZE,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,12964,"Unbridled Wrath",0x1,1,1
3/31 20:03:03.161  SWING_DAMAGE,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,0x00000000002376F4,"Balstor",0x511,90,1,0,0,0,nil,nil,nil
3/31 20:03:04.433  SPELL_CAST_SUCCESS,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,12809,"Concussion Blow",0x1
3/31 20:03:04.744  SPELL_AURA_APPLIED,0x0000000000000000,nil,0x80000000,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,12809,"Concussion Blow",0x1,DEBUFF
3/31 20:03:05.154  SWING_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,711,1,0,0,0,nil,nil,nil
3/31 20:03:06.146  SPELL_ENERGIZE,0x00000000002376F4,"Balstor",0x511,0x00000000002376F4,"Balstor",0x511,12964,"Unbridled Wrath",0x1,1,1
3/31 20:03:06.947  SPELL_CAST_FAILED,0x00000000002376F4,"Balstor",0x511,0x0000000000000000,nil,0x80000000,25275,"Intercept",0x1,"Target too close"
3/31 20:03:07.327  SPELL_CAST_SUCCESS,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,20647,"Execute",0x1
3/31 20:03:07.347  PARTY_KILL,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48
3/31 20:03:07.347  SPELL_DAMAGE,0x00000000002376F4,"Balstor",0x511,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48,20647,"Execute",0x1,3906,1,0,0,0,1,nil,nil
3/31 20:03:07.558  UNIT_DIED,0x0000000000000000,nil,0x80000000,0xF7300048220E85CD,"Dreadfang Lurker",0x10a48

