Ok, this discussion has taken a turn toward arguing over whether slave girls should be balanced at all. Let's get this discussion back on track. Basically what I've seen here is people like my idea that you don't pay slaves for doing a job, but don't like anything that would balance out the MASSIVE advantage you get for employing slaves over free girls. The problem here is that at a certain point, there's no reason to employ free girls at all.
Balancing out slavery is abolishing slavery, it is supposed to be easier and a lot more profitable by default, I cannot understand your logic in this...
If slave girls can do jobs the player pays for, for free, just as well as a free girl can, there's no reason to have a free girl do the job. The goal here is game balance. I need options here for the game's balance, so that enslaving every girl in your brothel isn't the best idea. I need reasons to keep girls free, other than just the fact that Matron and Torturer cannot be a slave.
Free girls have higher rebelliousness, don't do any better of a job than a slave, and you have to pay them. I can't think of any reason, with the way things are in the game, why I'd want a free girl to do a job instead of a slave I can get to do the job for free. This needs work, and if I have to do something that doesn't make complete sense in order to give the player reasons to want to have free girls in their brothel, that's what I'm going to have to do.
If you want to balance it our somehow, add an upkeep fee for a slave, since they are your property it is logical that you have to take care of them and their needs while free girls can take care of themselves...
Hmm... interesting idea, and one that would be relatively easy to code in... Let's examine this idea a bit. If we add an upkeep for slaves, it
would encourage players to use free girls, especially early on when it would be difficult for them to make any kind of profit from slave girls working bar jobs. Let's say we set slave upkeep to 25 gold per accomodation level. That seems reasonable for a week of room and board. A barmaid slave would need to take care of (on average) 2 customers to earn her keep, any more is profit. If you have her working a job like cleaning, security, advertising, etc. that doesn't earn money for the brothel, you're still paying her 25 gold per accomodation level upkeep. In the case of free girls working the same jobs, you're paying her directly for the job and letting her take care of her own accomodations. But these jobs pay anywhere from 50-75 gold, so it's still more profitable to set a slave to do the job, and free girls still don't offer any advantages at these jobs. Also, later on when free girls are making enough that their cut of 40% is more than just 25 gold, it's still more profitable to have a slave do the job, and free girls still don't offer any advantages.
Good idea, needs work.
making slaves 2 or 3 times worse workers than free girls is in my opinion absurd.
Nice to know you think my ideas are absurd.
I have an idea here, I took a look at your code and noticed that you check against both weapons. Second weapon is a shiv, knife or dagger. Those can be concealed and can be an asset in capable hands when dealing with some seriously pissed of and unruly costumer, also should not hurt girl's confidence and security.
For this, there is the small weapon type, which the new function does not check for. A girl can have one weapon that's small enough to be concealed.
You control what percentage she gets, over a long run even 5% per week will stack up to a very decent amount, it is something to consider but not something that should be on the very top of TODO list...
Actually, as I trip over things that need to be fixed/changed/made different while I'm working on the coding for the job functions, they do land on the very top of the TODO list. And that's really something that should be my decision, not yours. :/
we can make a slave from any girl without any consequences at all.
THIS!!! This is what I'm trying to fix. I need consequences for making a girl a slave, to balance out the benefits of free labor against some drawback.
Just like how I don't really trust a matron to correctly take my girls on/off shifts...
You don't trust the matron? Why? Is there a problem with it? I spent some time a while back tracing this out to find the crash when the torturer is taken off shift, and (hopefully) fixed that. Are there other problems? I need to know so I can fix it.
The matron takes a girl off shift, and the game stores in that particular girl's variables what job she was doing before the matron put her on resting. When the girl is rested enough, the matron puts her back on the job stored in the girl's variables, and clears the variable. The variable is saved, so saving/loading doesn't cause any breaks in the code, and the matron code is triggered by the girl having low health or high tiredness to have the matron take her off shift, and again by high health and low tiredness to have the matron put her back on the job. As far as I can tell from looking at the code, there's no reason not to trust the matron to do her job. I can review it again, but I need something to go off of to try to track down your problem with it other than "I just don't trust it".
Hmm...if I might make a suggestion regarding the slave balance thing?
Something that would make sense to me and also act as a bit of a downside to slavery would be if (either by a new trait called 'Slave' or just included elsewhere), slaves had a cap on their spirit and could never go higher than say...50 or 60 (just pulling numbers out of thin air). It might affect jobs where high spirit is helpful, but wouldn't necessarily hurt others and not crippling since I believe most jobs rely on multiple stats. It can be hard to flourish and be perky when you're owned property.
Now this is an idea, but it would be a bit difficult to implement. The whole part about putting a conditional cap on a girl's stat would be a bitch to code in. It would also make the difference between free girls and slave girls rebelliousness even more ridiculous than it already is.