View Single Post
08-01-19, 11:13 PM   #7
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2006
Posts: 2,313
Originally Posted by aallkkaa View Post
If I repeatedly use this macro (AKA mash it), it will get stuck on the on-cooldown Concentrated Flame (after successfuly casting it the first time around of course) until it's off cooldown or I press Control (to reset the macro).
When you mash abilities, you can frequently get UNIT_SPELLCAST_SENT events firing for the next cast before the corresponding UNIT_SPELLCAST_* server responses for the previous one. This plays havoc on /castsequence, causing desync issues. Long story short, don't mash /castsequence macros.

The client only fires UNIT_SPELLCAST_SENT events when it thinks it can use an ability. /castsequence listens for that event, which gives it a unique CastID and primes it for the server to respond whether it succeeded or failed. /castsequence only advances the sequence when it receives a UNIT_SPELLCAST_SUCCEEDED event with a matching CastID to what it was primed with. When you mash the macro, under certain circumstances, the CastID gets overwritten before /castsequence can get the server response it's waiting for. If this happens to block the success response, then your macro's stuck until it meets the reset condition or can cast the ability again.

Reference: ChatFrame.lua:872
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)

Last edited by SDPhantom : 08-02-19 at 12:08 AM.
  Reply With Quote