public override async Task <bool> InGameTask() { // Returning True => go to next tick immediately, execution starts again from top of the tree. // Returning False => allow execution to continue to lower hooks. Such as profiles, Adventurer. if (await base.InGameTask()) { return(true); } if (await Party.LeaveWhenInWrongGame()) { return(true); } if (await Questing.UpgradeGems()) { return(false); } if (await Coordination.StartTownRunWithLeader()) { return(false); } if (await Coordination.WaitForGreaterRiftInProgress()) { return(true); } if (await Questing.LeaveRiftWhenDone()) { return(true); } if (Targetting.RoutineWantsToLoot() || Targetting.RoutineWantsToClickGizmo()) { return(false); } if (await Coordination.FollowLeaderThroughPortal()) { return(true); } if (await Coordination.TeleportWhenInDifferentWorld(AutoFollow.CurrentLeader)) { return(true); } if (await Coordination.TeleportWhenTooFarAway(AutoFollow.CurrentLeader)) { return(true); } if (await Coordination.UseNearbyPortalWhenIdle()) { return(true); } if (await Movement.MoveToPlayer(AutoFollow.CurrentLeader, Settings.Coordination.FollowDistance)) { return(false); } if (await Questing.ReturnToGreaterRift()) { return(true); } //if (await Movement.MoveToGreaterRiftExitPortal()) // return true; return(false); }