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
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:
With weapon swap:
Without weapon swap: