So, target timers don’t work. How do you keep Haunt from spamming, then?
Simple. Put it in a cast sequence with something that has a CD. That line won’t fire again until the CD is ready. The trick then is to find a CD with a wait time good for Haunt.
How about Health Funnel? With Glyph of Health Funnel it has a 10 second CD. Perfect for Haunt.
So, obviously, this macro will require two things: Glyph of Health Funnel and an active pet. Sorry, no Grimoire of Sacrifice here. For that, take a look at the second (not as simple) macro.
701 GS, Dark Intent, Grimoire of Supremacy and Demonic Servitude talents, Glyph of Health Funnel - 35k DPS
Sequences["AffHaunt"] = {
PreMacro = [[
/targetenemy [noharm][dead]
/console Sound_EnableSFX 0
]],
"/castsequence [nochanneling] reset=target Agony,Corruption,Unstable Affliction,Drain Soul,Drain Soul,Unstable Affliction,Corruption,Agony,Drain Soul,Drain Soul",
"/castsequence [nochanneling] reset=target Health Funnel,Haunt",
'/cast [nochanneling, combat] Dark Soul: Misery',
PostMacro = [[
/startattack
/petattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
]],
}
For those who absolutely NEED to have a Soulburn:Haunt variant macro, I have come up with a solution for that, as well. Though not as easy as the one above, and no longer a “one-button” macro even, I have here a working SBHaunt macro.
A problem with this one is that it is not as soul shard efficient as the first macro. You hold ALT whenever you have two shards, and it’ll cast Soulburn and then Haunt, giving you your buff. But, since a macro can’t tell if you have the buff already or not, you need to always have two shards if you’re going to hold ALT.
You can get around this by putting Haunt on it’s own key, but that defeats the goal of a one (or two) button macro.
701 GS, Dark Intent, Grimoire of Sacrifice and Soulburn:Haunt talents - 30k DPS
Sequences["AffBurn"] = {
PreMacro = [[
/targetenemy [noharm][dead]
/console Sound_EnableSFX 0
]],
"/castsequence [nomod,nochanneling] reset=target Agony,Corruption,Unstable Affliction,Drain Soul,Drain Soul,Unstable Affliction,Corruption,Agony,Drain Soul,Drain Soul",
"/castsequence [mod:alt,nochanneling] Soulburn,Haunt",
"/cast [nochanneling, combat] Dark Soul: Misery",
PostMacro = [[
/startattack
/petattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
]],
}
Let me point out that as of this writing using Grimoire of Supremacy and Demonic Servitude beats Grimoire of Sacrifice and Soulburn:Haunt by about 5k DPS for me. There are a few reasons for this. First, GoS and SB:H get better numbers off of higher Haste and Mastery, and the tipping point for that is around 100% Mastery, which I only have when raid buffed. Second, with GoServ and DS you are not burning a soul shard every 30+ seconds on top of each time you cast Haunt, so you’re not coming up dry on shards as quickly, if at all. That means no downtime on Haunt. Even if I manually cast SB and Haunt on their own keys so I can time exactly when a shard is burned, there is just too much time without a shard for Haunt that there is a net DPS loss. Your mileage may vary, but in my opinion GoS and SD is superior until at least your normal difficulty 4 set bonus.
My favorite setup is a hybrid of the two. I like to run Grimoire of Supremacy with Soulburn:Haunt. Using the first macro above I have a pet who keeps my Haunts in check, and Soulburn on its own key for the option to use it. On a test dummy I run dry, but keep about 31k to 32k DPS, but in a raid the buffs tend to keep things pretty tight. Why do this if Demonic Servitude does more DPS? When raid buffed the added Haste and Mastery end up doing more damage, and having a DPS cooldown along with SB:Haunt tops it out higher than having the Terrorguard full time. But, going with GoSac takes out the demon that makes the one-button macro work and I like to keep things tidy. So, yeah.
Enjoy