BTW, when I made this kind of system, the way I handled collision checks (and avoiding battlers landing on the same space) was to move the battlers one square at a time (on the back-end logic, not visually where the player can see it), and broke the loop when the battler would run into anything (or when the full move distance has been attained).
Very cute skit as well - never mess with the Shopkeeper!!