I got a decent amount of work done last week considering that I only spent two hours a day on the computer, and just today I added the finishing touches to the new and improved NPC AI.
Upon spawning the enemy now wanders around randomly until colliding with a player, at which time it'll enter Follow Player mode. In Follow mode the enemy will relentlessly follow a player until A: The enemy dies. B: The player dies, resulting in the enemy returning to Roam mode. C: The Enemy collides with another player, resulting in a new target for the enemy to follow.
Also, whilst in Roam mode the enemy can determine which directions are traversable from its current location and which directions aren't, thus enemies won't bump into walls anymore. I'm also thinking of adding a distance check routine so that when a player comes within a certain range the enemy "sees" him and enter Follow Player mode.
Oh yeah, entities no longer auto-counter attack on collision, meaning only you do damage when you attack an enemy, not both ways. However, seeing as how enemies enter Follow mode when you hit them, they'll attack you back anyway. The reason I made this change is because it'll allow me to implement status effects like Paralysis and such.