Ok. Soul Fire is a long cast fire spell (4 seconds unless you spec into Emberstorm. Then you can bring it down to 2 second cast) that has no business in my shadowy dotty rotation. Regardless, 15% haste is too good to pass up. So… if I’m going to be a “good” warlock I need to add it to my rotation.
Soulburn + Soul Fire gives me instant soul fires. Instant is good, I can live with instant. So was born my Soul Fire macro:
/cast Soul Fire
There are many problems. Soulburn has a 45 second cooldown and the Improved Soul Fire buff has a 15 second duration and cooldown. So I get one instant soul fire and then have to cast two slowass soul fires before I get another instant one.
ADD TO THAT, if I overlap the casts AT ALL the buff doesn’t refresh. So I have to wait for the haste buff to run out.. or wait to cast until the duration < cast time before I can refresh the dratted thing. ADD TO THAT!!! It doesn't stack with heroism so when a heroism goes off we either have to finagle to drop the buff before the heroism (yeah, like raiding environments are that predictable) or we just have to accept that we see only half the benefit the rest of the raid sees. SUCK. ADDING INSULT TO INJURY, I only get 3 instant casts of soul fire per fight UNLESS there are adds in the fight. If there are adds then I can use Drain Soul to regen up to 3 soul shards during the fight. But still. HATE HATE HATE.