public RunStatus FollowPath() { //Console.WriteLine("following path"); var nextPath = pathFindingWrapper.GetNextPositionInCurrentPath(gameController.Player.GridPos); if (nextPath.Item1 == false) { // No more path points WillBot.LogMessageCombo($"Finished following path"); //MoverHelper.ClickToStopCharacter(); return(RunStatus.Failure); } //Vector3 worldPositionCharacter = gameController.Player.Pos; //var worldPositionOfPoint = point.GridToWorld(); var delta = nextPath.Item2 - gameController.Player.GridPos; double angleToPoint = 0; delta.GetPolarCoordinates(out angleToPoint); MoverHelper.MouseAsJoystickNonSmooth(gameController, (float)(angleToPoint * 180 / Math.PI) + 45); while (WillBot.Me.TownPortal?.ItemOnGround?.GetComponent <Targetable>().isTargeted == true) { Console.WriteLine("Town portal is targeted. Adjusting angle to avoid"); angleToPoint += 0.1; MoverHelper.MouseAsJoystickNonSmooth(gameController, (float)(angleToPoint * 180 / Math.PI) + 45); } InputWrapper.LeftMouseButtonDown(); return(RunStatus.Running); }