CreateSpellBuffOnSelf("Metamorphosis"),
CreateCastPetAction("Axe Toss")
CreateSpellCast("Hand of Gul'dan"),
CreateCastPetAction("Felstorm")
CreateSpellBuff("Immolate", true),
CreateSpellBuff("Curse of Tongues", ret => Me.CurrentTarget.PowerType == WoWPowerType.Mana),
CreateSpellBuff("Curse of Weakness", ret => Me.CurrentTarget.PowerType != WoWPowerType.Mana),
CreateSpellBuff("Bane of Doom", ret => CurrentTargetIsEliteOrBoss),
CreateSpellBuff("Bane of Agony", ret => !Me.CurrentTarget.HasAura("Bane of Doom") && (Me.CurrentTarget.HealthPercent >= 20 || CurrentTargetIsEliteOrBoss)),
// Use the infernal if we have a few mobs around us, and it's off CD. Otherwise, just use the Doomguard.
// Its a 10min CD, with a 1-1.2min uptime on the minion. Hey, any extra DPS is fine in my book!
// Make sure these 2 summons are AFTER the banes above.
new Decorator(
ret => NearbyUnfriendlyUnits.Count(u => u.Distance <= 20) > 2,
CreateSpellCastOnLocation("Summon Infernal", ret => Me.CurrentTarget.Location)
),
CreateSpellCast("Summon Doomguard"),
CreateSpellBuff("Corruption",ret => Me.CurrentTarget.HealthPercent >= 30 || CurrentTargetIsElite),
CreateSpellBuffOnSelf("Soulburn", ret => Me.HealthPercent < 70),
CreateSpellCast("Drain Life", ret => Me.HealthPercent < 70 && Me.HasAura("Soulburn")),
CreateSpellCast("Health Funnel", ret => Me.GotAlivePet && Me.Pet.HealthPercent < 70),
// TODO: Make this cast Soulburn if it's available
CreateSpellCast("Soul Fire", ret => Me.HasAura("Improved Soul Fire") || Me.HasAura("Soulburn")),
CreateSpellCast("Soul Fire", ret => Me.HasAura("Decimation")),
CreateSpellCast("Incinerate", ret => Me.HasAura("Molten Core")),
CreateSpellCast("Shadow Bolt"),
CreateSpellCast("Drain Soul", ret => Me.ManaPercent < 50 && Me.CurrentTarget > 25)
);
}
}
}