Seems if you leave your Imp on autocast, its Firebolt is affected by an old client-server casting bug that used to bedevil warlocks, especially with Immolate. So there’s a pause between each Firebolt as the WoW client communicates with the server. While small, this delay adds up over the course of a fight. Details are on the EU Forums.

There’s thankfully a workaround. See, the bug only affects autocasted Firebolts, not manual ones. If you spam the spell on the pet bar, the Firebolts fire every 2.0 seconds. If you don’t, they autocast every 2.14 seconds or so.

Obviously, considering how many of your buffs are tied into the Imp, this can’t stand. And you can’t micromanage your pets’ firing rate. You’re going to have to solve this with macros. If you’re not comfortable with macros, you may want to look at my Introduction to Macros and Warlock Macros posts. This is a relatively simple fix if you are comfortable with macros, so it’s a good time to try them out if you’ve never done so before.

At a bare minimum, your 4 primary offensive spells (Immolate, Conflagrate, Incinerate, Chaos Bolt) need to be supplemented with a macro that queues your Imp’s Firebolt for casting. You may want to include Curse of Doom in this list, too.

Here’s a sample macro.

#showtooltip
/cast Immolate
/cast Firebolt

Pretty simple, right? Do this for every one of your offensive spells, replacing Immolate with the appropriate spell name.

If you run with multiple pets (say for PvP), you may want to make your attack macros pet-sensitive. It is not known at this time if other pets are affected by this bug, but it’s easy enough to code around it if it is. Just use the slightly more advanced:

/cast Immolate
/cast [pet:imp] Firebolt, [pet:succubus] Lash of Pain

This should avoid error messages when the Imp is not available, and force cast each minion’s preferred attack.

An excellent suggestion from the forums is to also modify the macro so it doesn’t switch targets to your current one, instead keeping the original pet target.

#showtooltip
/cast Immolate
/cast [@pettarget]Firebolt

There’s more testing to be done, both on different stances, demon minions, and special abilities. But one thing’s clear — if you’re a Destro warlock who cares about raid performance, you should macro your Imp’s Firebolts until this is fixed.

UPDATE: I don’t know how I missed this last night, but OutDPS had an article up earlier about how a similar bug is affecting Hunter pets. It’s probably safe to assume all warlock demons are affected, too. :-(

SECOND UPDATE: Krizzlybear at Frost is the New Black goes into more details on the cast time mechanic, and how this affects Mages.

No guarantee for abilities of unsummoned pets, but when you try to /cast|use spells or items that the client can’t find in your spellbook or inventory, it just skips that command without giving an error message.

I love this page. I am just frustrated with figuring out how to add another parameter to when casting to add a random phrase. Or how to use your castsequence with mods to add a saying after a set of cast.
I see you can use if else setup but the limit of 255 char and my ability makes this an impossible feat.
I wonder if you can link random phases to other hotbars that are made up of other macros. So it would would be more like a function calling a random macro.

Why is it not possible to just keep the ability on autocast and also have it in spam macros? Shouldnt that make sure the pet uses the ability at all time but when spamming you get around the .14 s wait?