Rewrite for inheritance, reworked collision, changed monster spawning.

I have no idea how much I just broke, we'll see on the pull request. Compiles and runs fine at least.