I really like the idea. It'll be more fun and immersive this way. Now you aren't forced to use someone whos not cut out for a job till you find some one better. You can have them grow into there rolls.
Having it show how long they have till they gain the trait will give the game a more RPGesc feel which I dig.
Maybe add the tables to the "Docs&Tools" folder?
Thanks for noticing, I just forgot to copy these files into the zip.
Unfortunately, I don't think the your daughter spawn has a quick fix, and my priorities are currently on something else, so that it probably will take a while till I can get to that.
What I'm trying right now is to, finally, finish the long-term project of trying to unify all the job processing code. I've done bits and pieces so far, things that worked well in isolation, like giving all the production/crafting kind of jobs the same basic code, but now I'm trying to do the things that actually interact, and need to be changed together -- which is a lot, since the job code is closely interwove with the building and customer processing, and even the gold tracking. I still found some things that work standalone, e.g. the new trait gain mechanism is actually a consequence of that effort.
I now have a second candidate, which is the job enjoyment code. What I'm planning to do:
* Drastically reduce the number of different "enjoyments" there are -- right now, the game has 36 different activities/actions a girl can enjoy, so far for the new code I've got 12. These are
"fighting", "fucking", "stripping and teasing", "crafting", "working on the farm", "preparing food and drinks", "physical labor", "social interactions", "mental labor", "working in the medical field", "performing", "providing services". Did I miss anything?
* Instead of the girl (almost) automatically starting to enjoy the job you assign her to after some time, do the following: Get the current enjoyment values of the actions associated with the job, and combine them with the girls happiness to get a starting enjoyment. Add some modifiers (less enjoyment if very tired or really bad at the job, traits, if you let her keep tips, etc. ) and a bit of randomization. Certain events during the shift also could influence the enjoyment. After the shift, compare the enjoyment value of the shift with that originally associated with the actions, and if it was better or worse, there is a chance that she'll start liking that action more/less.
The consequence should be that if you keep a girl working a job while she is unhappy, she'll start to associate the unhappiness with these activities and start enjoying them less. Also, if a job combines two activities, you could user her love for one of them to increase her enjoyment of the other.
* Each job should also have a basic enjoyment value, depending on how enjoyable it is by default, e.g. Free Time would have a very high value here, whereas "Film Public BDSM" should have a negative value. If that works as I hope it will, that would mean that even if a girl generally enjoys fucking, she would enjoy this job much less than an "easier" fucking-type job, so unless she has some corresponding traits her enjoyment of fucking would actually go down if you make her do this many times.
I've partially implemented this. I still have to figure out a good way to integrate the "will she do the job this shift" checks into this, which should in some way combine obedience, fear, love, and her enjoyment of the job.
Any thoughts?