public override Composite SingleTarget
{
get
{
return new LockSelector(
//Spell.Cast("Saber Throw", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 0.5f && Me.CurrentTarget.Distance <= 3f),
//Spell.Cast("Twin Saber Throw", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f && !Me.HasBuff("Precision")),
//Spell.Cast("Force Leap", ret => !DefaultCombat.MovementDisabled && Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
Spell.Cast("Twin Saber Throw", ret => Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f && !Me.HasBuff("Precision")),
Spell.Cast("Force Leap", ret => Me.CurrentTarget.Distance >= 1f && Me.CurrentTarget.Distance <= 3f),
//Movement
CombatMovement.CloseDistance(Distance.Melee),
//Rotation
Spell.Cast("Force Kick", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
Spell.Cast("Zealous Strike", ret => Me.ActionPoints <= 6 && !Me.HasBuff("Precision") && !Me.HasBuff("Opportune Attack") && !Buddy.CommonBot.AbilityManager.CanCast("Clashing Blast", Me.CurrentTarget)),
Spell.Cast("Precision", ret => Me.CurrentTarget.Distance <= 0.4f && ((Buddy.CommonBot.AbilityManager.CanCast("Master Strike", Me.CurrentTarget) && Buddy.CommonBot.AbilityManager.CanCast("Zen", Me) && Me.HasBuff("Opportune Attack")) || (Buddy.CommonBot.AbilityManager.CanCast("Dispatch", Me.CurrentTarget) && Me.HasBuff("Opportune Attack")))),
Spell.Cast("Dispatch", ret => (Me.HasBuff("Hand of Justice") && Me.HasBuff("Precision") && Me.HasBuff("Opportune Attack")) || Me.CurrentTarget.HealthPercent <= 30),
Spell.Cast("Master Strike", ret => ((Me.HasBuff("Precision") && Me.HasBuff("Zen") && Me.HasBuff("Opportune Attack")) || (Me.Level >= 30 && Me.Level < 60)) || Me.Level < 30),
Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack") && Me.Level >= 57 && (!Buddy.CommonBot.AbilityManager.CanCast("Master Strike", Me.CurrentTarget) || !Buddy.CommonBot.AbilityManager.CanCast("Dispatch", Me.CurrentTarget))),
//Spell.Cast("Clashing Blast", ret => Me.HasBuff("Opportune Attack") && Me.Level >= 57),
Spell.Cast("Blade Storm", ret => (Me.HasBuff("Opportune Attack") && Me.Level >= 28 && Me.Level < 57) || Me.Level < 28),
Spell.Cast("Blade Rush"),
Spell.Cast("Slash", ret => Me.ActionPoints >= 7 && Me.Level < 26),
Spell.Cast("Strike", ret => Me.ActionPoints <= 10)
);
}
}