Wow, this was a tough one! Really well implemented and I like the idea of the characters switching to where they are needed. Good job!
Thank you for your kind words! :)