First of all, you need to use waypoints. In MoveTo instead of "Direct" mode, use "Add waypoint" mode, then you can add the whole path at once and you will not need all those "Compare x/y" events.
To change animations, use BadGuy.MoveTo.MovingAngle expression.
.