Ack, forgot to post last night. Broke my streak. Curses!
Anyway, continued work on the monster AI. I've figured out how I'm going to break things down; roughly speaking I have "high-level" AI and "low-level" AI. A monster is assigned a high-level thought process (presumably) which basically checks current conditions and then calls into low-level AI behaviours. I'm also writing some of the helper functions I mentioned in my last post.
Hopefully with the next post I'll be done this stuff! Then, probably on to... improved level generation, I think.