magey / tbc-warrior

10 stars 1 forks source link

Off-GCD abilities that require a shield are slow to execute after switching to it #70

Open riesza opened 3 years ago

riesza commented 3 years ago

Confusing title but let me explain.

If I macro together a weapon swap, a stance swap and shield block (my presumption here is that Spell Reflection will work the same) and cast it, it will take around 650-750ms for the Shield Block to become active if I have to switch weapons.

If I press the same macro but already have a shield equipped it will switch stances and cast Shield Block entirely instantly.

I understand that switching weapons incurs a GCD, but abilities like Shield Block and Spell Reflection are not on GCD and should thus not be affected by it. If they were affected it would take the full 1500ms GCD to cast those abilities but it's only around half of that.

To me it feels like the game doesn't update your equipment as quickly as it should and thus it takes it more than half a second to register that you actually swapped to a shield already. Swapping stances changes nothing for the speed and being in the correct stance before executing the macro doesn't make it faster.

Macro:

/stopcasting
/equipslot [worn:two-hand] 16 The Hungering Cold
/eq [noworn:shield] The Plague Bearer
/cast [nostance:2] Defensive Stance
/cast Shield Block

With weapon swap:

5/30 19:37:36.585  SPELL_CAST_FAILED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,2565,"Shield Block",0x1,"Must have a Shield equipped"
5/30 19:37:36.617  SPELL_PERIODIC_ENERGIZE,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,29131,"Bloodrage",0x1,Player-4467-0083BB5E,0000000000000000,95,100,1004,0,6809,1,136,1000,0,-3798.73,949.86,1414,0.8692,78,1.0000,0.0000,1,1000
5/30 19:37:36.730  SPELL_AURA_REMOVED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,2458,"Berserker Stance",0x1,BUFF
5/30 19:37:36.730  SPELL_AURA_APPLIED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,71,"Defensive Stance",0x1,BUFF
5/30 19:37:36.730  SPELL_CAST_SUCCESS,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,71,"Defensive Stance",0x1,Player-4467-0083BB5E,0000000000000000,94,100,1004,0,10239,1,143,1000,0,-3798.73,949.86,1414,0.8692,78
5/30 19:37:36.839  SPELL_CAST_FAILED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,2565,"Shield Block",0x1,"Must have a Shield equipped"
5/30 19:37:36.867  SPELL_CAST_FAILED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,71,"Defensive Stance",0x1,"Not yet recovered"
5/30 19:37:36.964  SPELL_CAST_FAILED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,2565,"Shield Block",0x1,"Must have a Shield equipped"
5/30 19:37:37.257  SPELL_AURA_APPLIED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,2565,"Shield Block",0x1,BUFF
5/30 19:37:37.257  SPELL_CAST_SUCCESS,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,2565,"Shield Block",0x1,Player-4467-0083BB5E,0000000000000000,93,100,1004,0,10239,1,143,1000,100,-3798.73,949.86,1414,0.8692,77

Without weapon swap:

5/30 19:40:33.569  SPELL_AURA_REMOVED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,2458,"Berserker Stance",0x1,BUFF
5/30 19:40:33.569  SPELL_AURA_APPLIED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,71,"Defensive Stance",0x1,BUFF
5/30 19:40:33.569  SPELL_CAST_SUCCESS,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,71,"Defensive Stance",0x1,Player-4467-0083BB5E,0000000000000000,95,100,1004,0,10239,1,116,1000,0,-3799.33,953.06,1414,0.2736,77
5/30 19:40:33.569  SPELL_AURA_APPLIED,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,2565,"Shield Block",0x1,BUFF
5/30 19:40:33.569  SPELL_CAST_SUCCESS,Player-4467-0083BB5E,"Beriah-Firemaw",0x511,0x0,0000000000000000,nil,0x80000000,0x80000000,2565,"Shield Block",0x1,Player-4467-0083BB5E,0000000000000000,95,100,1004,0,10239,1,116,1000,100,-3799.33,953.06,1414,0.2736,77