hmm, I think I get what you are trying to do, but the peasant still might bump the ball on accident when she moves to point1.
Also, she doesn’t have enough time to get to point1 before she gets commanded to move to point2. Since move doesn’t wok like moveXY she will never get to point1
Have you done the level Broken Circles? I used the idea from that level to move around the ball in a circle and decide when to move towards the center.
It is a little hard for me to figure out what you are trying to do. I think you are wanting to time your peasant movement with a black flag. Have her move in a diamond shape around the ball and then move into kicking position when she gets close.
hero.command(friend, "move", point1)
This command does not change the peasant’s pos to be point1, it only makes them take one step towards point1.
What I mean is, you need to be able to just get your peasant to move around the ball at all before you’ll be able to kick in the right direction. Maybe just work on that one piece first.
if friend.distanceTo(finalVector) < 2:
hero.command(friend, "move", finalVector)
2 is a very small distance, the 4 points you are using are much more than 2 units apart
I think these two should always go together. Once she is at finalVector she should always do a kick by moving to ballPos. Problem is again, these two commands will not make the peasant be positioned at finalVector and then be positioned at ballPos. These commands will only make her move one time towards those positions.