The clicking aspect to collect stuff doesn't sit well with me.
If it were me, I'd probably do something like this:
- have jobs instead of room assigments.
- a list of rooms connected to a job is maintained (and updated when rooms are made/destroyed)
- a list of rooms with stuff to collect/do is maintained
- a servant assigned to mining would check the list of mines and if there's any with gold to collect. Than that room would be moved to the "reserved" list (or simply taken off the list)
- then they would go there, pick up gold and carry it to the throne room. For farms, the nearest stockpile. This makes locatio nof throne room and stockpiles matter more. More walking for your servants.
- for things like infirmaries, the infirmary would be listed when a servant in need of healing enters, then would come to room and stay until the other servant is healed.
- Actually, I'd probably use a dictionary with a roomID and tag (done, reserved, needsvisit). Might actually be faster than using lists.
- add a guard room, and have guards stay near it, and actively search for intruders (if that option is turned on. You can tell them to stay in the guard room)
- add a mess hall, for servant to socialize/relax. Unassigned servants would spend most time there.
- add training room, where servants can slowly improve their physical stats/health (with a falloff effect)?
- add library room, servants can slowly train mind.
- add a torture room for normal (and sexual) torture of prisoners
- add servant rooms and give them a need for sleeping.
- leaving prisoners horny might prompt them to relive themselves (possibly with another prisoner?)
- your servants might do a quickie with another servant or use a prisoner (could forbid that)
- cumming in battle actually having a bigger effect and reason to use (makes capturing easier, cuming X times knocks them out, or something else).
Off the top of my head.