public Composite DKUnholysingleRotation {
get
{
return
new PrioritySelector(
//new Action(c => { Log("Highvoltz awesome Keybind Action has been triggerd DK"); return RunStatus.Failure; }),
//new Decorator(ret => CT != null && !Me.IsAutoAttacking, new Action(ret => Me.ToggleAttack())),
//new Decorator(ret => CT != null && CastTarget("Outbreak") && TBMDebuff("Blood Plague") && TBMDebuff("Frost Fever"), new Action(ret => { SpellManager.Cast("Outbreak"); return RunStatus.Failure; })),
//new Decorator(ret => CT != null && CastTarget("Plague Strike") && TBMDebuff("Blood Plague"), new Action(ret => { SpellManager.Cast("Plague Strike"); return RunStatus.Failure; })),
//new Decorator(ret => CT != null && CastTarget("Icy Touch") && TBMDebuff("Frost Fever"), new Action(ret => { SpellManager.Cast("Icy Touch"); return RunStatus.Failure; })),
//new Decorator(ret => CT != null, new Action(ret => { SpellManager.Cast("Necrotic Strike"); return RunStatus.Failure; })),
//new Decorator(ret => CT != null && CastTarget("Necrotic Strike") && TBMDebuff("Necrotic Strike", new Action(ret => { SpellManager.Cast("Necrotic Strike"); return RunStatus.Failure; })),
//new Decorator(ret => Bluff("Horn of Winter"), new Action(ret => { SpellManager.Cast("Horn of Winter"); return RunStatus.Failure; }))
/**********************************************
* Small documentation:
**********************************************
* CastBuff: casts a buff on player if we don't already have it
* CastSpell: basic casting whenever the spell is ready
* CastDebuff: cast spell if its debuff has faded on target. Useful for handling DoTs
* CastOffensiveBuff: cast a spell that buffs the player if its buff is going to expire or is expired.
* Used for Destruction Soul Fire buff.
*
* 1st arg is spell name
* 2nd arg (a => ...) is an additional condition to cast the given spell. "a => true" means "no additional condition"
* last arg is a string to print each time this spell is going to be cast
*/
new Action(c => { Log("Highvoltz awesome Keybind Action has been triggerd DK"); return RunStatus.Failure; }),
new Decorator(ret => CT != null && !Me.IsAutoAttacking, new Action(ret => Me.ToggleAttack())),
SC.CastDebuff("Outbreak", a => true, SC.TargetHasDebuff"Blood Plague" && SC.TargetHasDebuff"Frost Fever"),
SC.CastDebuff("Plague Strike", a => true, "Blood Plague"),
SC.CastDebuff("Icy Touch", a => true, "Frost Fever"),
SC.CastDebuff("Necrotic Strike", a => true, "Necrotic Strike"),
//SC.CastBuff("Fel Armor", a => true, "Fel Armor"),
//SC.CastSpell("Summon Imp", a => SimCraftBase.Me.Pet == null || SimCraftBase.Me.Pet.Dead, "Summon new imp"),
//SC.CastSpell("Demon Soul", a => !SimCraftBase.Me.IsMoving, "Demon Soul while not moving"),
//SC.CastSpell("Soulburn", a => true, "Soulburn"),
//SC.CastSpell("Soul Fire", a => SC.PlayerHasBuff("Soulburn"), "SF on soulburn"),
//SC.CastDebuff("Immolate", a => true, "Immolate"),
//SC.CastSpell("Conflagrate", a => SC.TargetHasDebuff("Immolate"), "Conflagrate"),
//SC.CastDebuff("Bane of Doom", a => SimCraftBase.Me.CurrentTarget.CurrentHealth > 100000 || SimCraftBase.Me.CurrentTarget.MaxHealth == 1, "Bane of Doom"),
//SC.CastDebuff("Corruption", a => true, "Corruption"),
//SC.CastSpell("Soul Fire", a => SC.PlayerHasBuff("Empowered Imp"), "SF on imp buff"),
//SC.CastSpell("Chaos Bolt", a => true, "Chaos Bolt"),
//SC.CastSpell("Summon Doomguard", a => true, "Doomguard"),
//SC.CastOffensiveBuff("Soul Fire", "Improved Soul Fire", SC.CastTime("Incinerate") + 0.5, "SF to refresh buff... (Incinerate+GCD=" + (SC.CastTime("Incinerate") + 0.5) + ")"),
//SC.CastSpell("Shadowburn", a => SimCraftBase.Me.CurrentTarget.HealthPercent < 20, "Shadowburn"),
//SC.CastSpell("Incinerate", a => SC.TargetHasDebuff("Immolate"), "Incinerate"),
//SC.CastSpell("Life Tap", a => SimCraftBase.Me.IsMoving && SimCraftBase.Me.HealthPercent > SimCraftBase.Me.ManaPercent && SimCraftBase.Me.ManaPercent < 80, "Life tap while moving"),
//SC.CastSpell("Fel Flame", a => SimCraftBase.Me.IsMoving, "Fel flame while moving"),
//SC.CastSpell("Life Tap", a => true, "Life tap - default action")
SC.CastBuff("Horn of Winter", a => true, "Horn of Winter")
);
}
}