public override async Task <bool> MoveToLocation(ExFishTag tag) { tag.StatusText = "Moving to " + this; if (StealthLocation == Vector3.Zero) { return(false); } var result = await StealthLocation.MoveTo( UseMesh, radius : tag.Radius, name : "Stealth Location", stopCallback : tag.MovementStopCallback, dismountAtDestination : true); if (result) { await Coroutine.Yield(); if (!Core.Player.HasAura((int)AbilityAura.Stealth)) { tag.DoAbility(ExFishTag.Abilities.Stealth); } result = await Location.MoveToNoMount(UseMesh, tag.Radius, tag.Name, tag.MovementStopCallback); } return(result); }
public override async Task <bool> MoveToSpot(ExGatherTag tag) { tag.StatusText = "Moving to " + this; if (StealthLocation == Vector3.Zero) { return(false); } var result = await StealthLocation.MoveTo( UseMesh, radius : tag.Radius, name : "Stealth Location", stopCallback : tag.MovementStopCallback, dismountAtDestination : true); if (result) { await Coroutine.Yield(); await tag.CastAura(Ability.Stealth, AbilityAura.Stealth); result = await NodeLocation.MoveToNoMount(UseMesh, tag.Distance, tag.Node.EnglishName, tag.MovementStopCallback); } return(result); }
public override async Task <bool> MoveFromLocation(ExFishTag tag) { tag.StatusText = "Moving from " + this; var result = true; if (ReturnToStealthLocation) { result &= await StealthLocation.MoveToNoMount(UseMesh, tag.Radius, "Stealth Location", tag.MovementStopCallback); } #if RB_CN if (UnstealthAfter && Core.Player.HasAura((int)AbilityAura.Stealth)) { result &= tag.DoAbility(Ability.Stealth); // TODO: move into abilities map? } #else if (UnstealthAfter && Core.Player.HasAura((int)AbilityAura.Sneak)) { result &= tag.DoAbility(Ability.Sneak); // TODO: move into abilities map? } #endif return(result); }
public override async Task <bool> MoveFromSpot(ExGatherTag tag) { tag.StatusText = "Moving from " + this; var result = true; if (ReturnToStealthLocation) { result &= await StealthLocation.MoveToOnGroundNoMount(tag.Distance, tag.Node.EnglishName, tag.MovementStopCallback); } if (UnstealthAfter && Core.Player.HasAura((int)AbilityAura.Stealth)) { result &= await tag.CastAura(Ability.Stealth); } return(result); }
public override async Task <bool> MoveToSpot(ExGatherTag tag) { tag.StatusText = "Moving to " + this; if (StealthLocation == Vector3.Zero) { return(false); } var result = await StealthLocation.MoveTo( UseMesh, radius : tag.Radius, name : "Stealth Location", stopCallback : tag.MovementStopCallback, dismountAtDestination : true); if (!result) { return(false); } var landed = MovementManager.IsDiving || await NewNewLandingTask(); if (landed && Core.Player.IsMounted) { ActionManager.Dismount(); } Navigator.Stop(); await Coroutine.Yield(); await tag.CastAura(Ability.Stealth, AbilityAura.Stealth); result = await NodeLocation.MoveToOnGroundNoMount(tag.Distance, tag.Node.EnglishName, tag.MovementStopCallback); return(result); }