Talk:StendhalRefactoringCreatures
For AI:
You could do something like a simple scripting language, e.g. in Baldurs Gate they use LUA i think, and then create AI defs in there. As you say you could have a set of standard modules of behaviour that you could call in each script.
e.g.
script Kobol
behaviour()
{
if player within 10meters
Follow(player); <- premade module
if player within 3 meters
Attack_If_Not_Injured(hitpoints); <- another module
else
Roam_For_Food();
}