As this is a feature of my paid fightclass, I will give you the code but I will NOT tell you how to implement it. If you aren't proficient enough in C# to put this to use, I'm sorry.
MovementEvents.OnMovementPulse += LongGhostWolfHandler;
MovementEvents.OnMoveToPulse += GhostWolfHandler;
private void GhostWolfHandler(Vector3 point, CancelEventArgs cancelable)
{
if (point.DistanceTo(Me.Position) >= wManagerSetting.CurrentSetting.MountDistance)
{
UseGhostWolf();
}
}
private void LongGhostWolfHandler(List<Vector3> points, CancelEventArgs cancelable)
{
if (points.Select(p => p.DistanceTo(Me.Position)).Aggregate(0f, (p1, p2) => p1 + p2) >= wManagerSetting.CurrentSetting.MountDistance)
{
UseGhostWolf();
}
}
private void UseGhostWolf()
{
if (string.IsNullOrWhiteSpace(wManagerSetting.CurrentSetting.GroundMountName) && !new Regeneration().NeedToRun && (Me.HaveBuff("Lightning Shield") || Me.HaveBuff("Water Shield")) && !Me.HaveBuff("Ghost Wolf") && EnhancerSetting.CurrentSetting.GhostWolf && !Me.InCombat)
{
MovementManager.StopMoveTo(false, 1000);
SpellManager.CastSpellByNameLUA("Ghost Wolf");
Thread.Sleep(Usefuls.Latency);
Usefuls.WaitIsCasting();
}
}