@White Fang: I totally agree!
@Satchmo: That's really cool, I definitely didn't design the game with that in mind, but I'm glad that's how it works for you ^^.
@Sergey: Thanks!
I'm working on the Quest mode, it's going to be quite cool once I get it going.
Basically how it's going to work, is at the beginning all the 'good' people will spawn in one place, and all the 'evil' people will spawn in another. There are four NPC types for each team, so there's a total of 8 different names(but more than 8 NPCS). The lowest members of each team (think henchmen), have a morality rating of 0.0, which is equal to the player's morality at the beginning of the game. Anyone above or below that morality will dislike you. For example, the Devil, who has the lowest morality in the game (-5.0), will attack you unless you also have a -5.0 morality. His henchmen may not attack you though, and you can accept quests from them, which will lower your morality even further, eventually allowing you to barter with the devil, so to speak.
It doesn't work totally the same for both sides though. I thought about it, and it occurred to me that the 'good guys' dont' attack you unless you are bad, whereas the bad guys always attack you unless you are evil too. Therefore, the positive morality NPC's won't attack you unless you have a negative morality, though you may not be able to do quests for the really high ranked ones (for example the Saint).
I'm also going to make 3 different AI's. There'll be an idle AI in which the NPC just sort of wanders around, there's the angry AI in which he attacks the player, then there's the escort AI. When you get high up enough in the ranks of either side, the lower ranks will start following you around, and they'll attack any opponents that you encounter.
That was a lot of typing, now to go back to coding :p