I have read a lot of discussion about NPCs and how they might be scripted for certain behaviors. I love the idea of creating some basic qualities that could govern NPC behavior and having those qualities work within the framework of the NPC's environment to determine behavioral outcomes. I believe looking at an NPC's nature, nurture, and experience when determining behavior scripts would be a great way to fill the world with interesting and complex non-playable characters.
Nature
Nature would govern the NPCs bonuses based on ethnic heritage and perhaps also encompass gender. If a certain ethnic group gains a bonus that benefits a particular tree of skills, NPCs of that ethnicity might favor going into professions that use those skills in order to make the most of them. Likewise, if gender begins to skew more towards males or females, either because of character death or birth rates, NPCs of the more dominate gender could engage in "higher risk" activities, leading to a potential drop off of that gender and a balancing of the NPC/PC gender ratio. For example, NPCs could be set to maintain the status quo, reproducing enough children to replace themselves when they die. If NPCs die unnaturally, some NPCs will produce more children to make up for that. If too many children are produced, some NPCs will engage in high risk behaviors in order to thin their own numbers.
Nurture
Nurture would govern the family the NPC was born into. If a NPC's parents have behavior scripts for being bakers or criminals, then they could likely inherit these scripts. Alternatively, they may generate a different script, mimicking aspirations, prioritizing other professions that use similar skills sets, skill sets that use their favored attributes, or professions based on higher risk.
Experience
As an NPC ages and their physical skills, mental skills, and social skills shift, they should also shift their behavior scripts to reflect this. Middle-aged NPCs should spend their time teaching their trade to other NPCs, while Older NPCs should spend more time sitting or lounging in in-activity, giving PCs a chance to engage with older NPCs socially more often.
What sort of factors would you like to see NPC scripting use in order to determine behaviors?