A couple of things worth mentioning.
I need to rework a little bit how the phrase system interacts with the quest system. Essentially, at some point in the future I have to replace fixed phrases with dynamic ones, that means basically writing little phrase trees. Right now, that's limited because of technical reasons, so I should fix that. Also, today I will make the quests a little better, mainly right now they are choosing quest participants (npcs) randomly, that has to change of course. The three quests however seem to be done and I have tested them *somewhat*, and they seem to work. They are quite complicated to implement, which isn't very fun, but luckily most of that complexity is in lua scripts and I seem to be able to handle it.
One thing I'd like to fix is the lua debug reporting mechanism. Since I'm always doing lua_dostring internally (I have my own vdofile() function that reads the lua scripts from .dynacache files) the debug routine doesn't know which files the lines it's dealing with are from. But, I'm betting there is some way I can tell lua this. That way I'd get more useful error messages when a script flunks out.
Fixed a few other, generally minorish bugs. I added also a quest list, so that when you recieve a quest it will be added to a list together with a description containing crucial information about it. Very simple but it seems to work quite well (except right now quests aren't removed when completed, but that's easy enough to do)