This is my profile i have been using, however sometimes impulse drive will spam over and over at the rear and not use other skills. Do i have to change the radius some how?
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
using ff14bot;
using ff14bot.Enums;
using ff14bot.Managers;
using ff14bot.Navigation;
using ff14bot.Objects;
using TreeSharp;
using Action = TreeSharp.Action;
namespace Kupo.Rotations
{
public class LancerDragoon : KupoRoutine
{
public override int PullRange
{
get { return 3; }
}
public override ClassJobType[] Class
{
get { return new ClassJobType[]{ClassJobType.Dragoon, ClassJobType.Lancer, };}
}
protected override Composite CreatePreCombatBuffs()
{
return SummonChocobo();
}
protected override Composite CreateRest()
{
return DefaultRestBehavior(r => Core.Player.CurrentTPPercent);
}
protected override Composite CreatePull()
{
return new PrioritySelector(
r => Actionmanager.InSpellInRangeLOS("True Thrust", Core.Target),
new Decorator(r => (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInRange, new Action(r => Navigator.MoveTo(Core.Target.Location))),
Cast("True Thrust", r => (r as SpellRangeCheck?) == SpellRangeCheck.Success || (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInFront)
);
}
protected override Composite CreateCombat()
{
return new PrioritySelector(
Apply("Internal Release", r=> true, r => Core.Player),
Apply("Bloodbath", r=> true, r => Core.Player),
Apply("Blood for Blood", r=> true, r => Core.Player),
Cast("Second Wind", r => Core.Player.CurrentHealthPercent < 80, r => Core.Player),
Cast("Invigorate", r => Core.Player.CurrentTPPercent < 60, r => Core.Player),
Cast("Full Thrust", r => Actionmanager.LastSpell.Name == "Vorpal Thrust"),
Cast("Vorpal Thrust", r => Actionmanager.LastSpell.Name == "True Thrust"),
Cast("True Thrust", r => Actionmanager.LastSpell.Name == "Phlebotomize"),
Cast("Phlebotomize", r => Actionmanager.LastSpell.Name == "Disembowel"),
Cast("Disembowel", r => Actionmanager.LastSpell.Name == "Impulse Drive"),
Cast("Impulse Drive", r=> true)// r => Actionmanager.LastSpellId == 0 || Actionmanager.LastSpell.Name == "Full Thrust" )
);
}
}
}