Instead of moving it straight to target pos, you set up a loop that runs move to on a local variable value starting from player pos, then +1 each time until it matches with target pos. So if you are at 1 and target 5, you set a local var to playerpos, add 1 and move to that tile. Then run a check, if local var not equal to target pos, so 2 not equal to 5, run it again - add 1 and move to that tile.