There is a problem. The game calculates average income depending on average sex stats value. Thus, if a girl has 0 sex and 300 everything else, according to the formula she has 300 average sex stat. And even if she will have only customers that want sex, she still will have good income thanks to it.
That's illogical. Ideally, we should calculate income for every single sex act and then summarize them.
You're right... I oversimplified to save time and energy + we wanted a different system in the future. If you have ideas, we'll just recode the method or rewrite the job files as well.
Also, I believe we have more sources of income than just whores. I mean strippers and bar.
Yeah, those I burried in code somewhrere
Lets see:
(Ignore the job classes that start with ND, I think we'll have to delete them.)
You'll have to go through the jobs to find all the places, StripJob:
tippayout = 0
+++
# Upgrades effects:
+++
tippayout += int(len(self.clients)/4)*3 <----- Here is the first mod due to the third tear upgrade (len(self.clients) gets the length of a list with all the client objects which we track individually, it could be quite a number in a large brothel.) There is another one for second tier which is disregarded if the third one is active.
+++
if self.girl.strip > 300 and self.girl.charisma > 300:
tippayout += int(len(self.clients) / 5) + 1 * int(len(self.clients) * self.girl.refinement * 0.1 * self.girl.charisma * 0.1 + len(self.clients) * self.girl.strip * 0.2) + int(self.APr * (self.girl.charisma * 0.1 + self.girl.strip * 0.1) ) <----- This is during the stats checkups. Maybe an overkill but it was a long time ago I coded this. a variation of this is repeated 6 more times for different stat checkups.
+++
As I've said before, Strippers do not have a direct income from the clients other than tips since it's not a "private show" and it's implied that they're just sitting in a club watching girls dance.
=========================================
Now the Service Job:
Notes:
Same client will order the drinks/snacks several times for as long as they enjoy the stripping girls, so while it's very time consuming and pricy to initially establish a Stripclub/Bar operation, I believe it can pay off really well in the end. There are obviously clients in the bar even without the strippers.
barfees = int(clientsserved * 0.5) * self.APr * int(self.girl.refinement * 0.2 + self.girl.charisma * 0.2 + self.girl.service * 0.2)
if tapas:
barfees = int(barfees * 1.5)
elif beer:
barfees = int(barfees * 1.2)
Tapas and Beer are possible upgrades to the bar. self.APr is the amount of action points spent during the act. clientserved is the amount of clients girl has served.
if self.girl.service > 120:
self.brothelmod['reputation'] += random.choice([0, 1])
barfees = int(barfees * 1.5)
7 different modifiers for her service skill level. This btw hasn't been updated to new stat values, guess I've missed this job. And I found another oddity, this is logged in as tips instead of a wage, I wonder why I did that... I am going to fix this, the Male filter messing up shops thing and push. I will also add actual tips.
Club:
clubfees = int(clientsserved * 0.6) * self.APr * int(self.girl.agility * 0.2 + self.girl.charisma * 0.2 + self.girl.service * 0.2)
Also not updated... wtf, I could have sworn I've done this before:
if self.girl.service > 120:
self.brothelmod['reputation'] += random.choice([0, 1])
clubfees = int(clubfees * 1.5)
self.txt.append("She is an exellent waitress, customers didn't notice how they've just kept spending their money as she offered them more and more house specials. \n")
I think this is it, I'll take a look if I don't take a part of these fees and turn them into tips elsewhere in code and if not tweak the log to store wages and add tips to these jobs.