mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-06-06 07:04:43 -04:00
When castSpell() is called while a timed cast is in progress and castTimeRemaining <= 0.4s, store the spell in queuedSpellId_ instead of silently dropping it. handleSpellGo() fires the queued spell immediately after clearing the cast state, matching the ~400ms spell queue window in Blizzlike WoW clients. Queue is cleared on all cancel/interrupt paths: cancelCast(), handleCastFailed(), SMSG_CAST_RESULT failure, SMSG_SPELL_FAILED, world-teardown, and worldport ACK. Channeled casts never queue (cancelling a channel should remain explicit).