So I have been playing with Talent Specs and builds and such and feel the following is pretty decent for Affliction Warlock. As you can tell, there are a lot of similarities to the current builds, but there is a mod for both haunt and soulburn. This is done for two reasons, one: haunt is not spammed unless you keep holding down ctrl on your keyboard; two: As I have taken both the Soulburn:Haunt in the tier 7 talent, it gives a 20% damage buff to all ticks for 30 seconds. The Sacrifice Demon on tier 5 will make up for the lack of a demon and buff Drain soul / life by 25%.
Talents: 2,3,1,2,3,1,1
Sequences['Affliction'] = {
PreMacro = [[
/targetenemy [noharm][dead]
/startattack
]],
"/castsequence [nochanneling] reset=target Agony,Corruption,Unstable Affliction,Drain Soul,Drain Soul,Unstable Affliction,Corruption,Drain Soul,Drain Soul [mod:ctrl] Soulburn,Haunt",
'/cast [nochanneling, combat] Dark Soul: Misery',
PostMacro = [[
/startattack
/petattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Clear()
]],
}
With the above, at 714, I am able to sustain 54K DPS. Simply by using the soulburn / haunt when I have 2 soul shards, the drop off is not too much. You also have to remember that with a higher haste, the soul shards generate a fair bit quicker via Corruption and Drain Soul. Don’t forget to pop your DoomGuard out to play on a boss.
As an alternative, I have also concocted the following, if you took the Noxxic Recommended talent spec and did Grimoire of Service and Demonic Servitude. This will allow the second Doomguard to be cast when it is off cooldown, every 2 minutes. Haunt is built into the starting castsequence to reduce casting multiple times.
Talents: 2,3,1,2,2,1,3
Sequences['AffService'] = {
PreMacro = [[
/targetenemy [noharm][dead]
/startattack
]],
"/castsequence [nochanneling] reset=target Agony,Corruption,Unstable Affliction,Haunt,Drain Soul,Drain Soul,Unstable Affliction,Corruption,Drain Soul,Drain Soul",
'/cast [nochanneling, combat] Dark Soul: Misery',
'/cast [nochanneling, combat] Grimoire:Doomguard',
PostMacro = [[
/startattack
/petattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Clear()
]],
}