There should be an absolute rule for this, I was checking on BKfunctions and it seems there's code for it... because suddenly all of my girls started disobeying and just fucking everyone that asked.
# If MC has ruled out sex acts with customers
if girl.flags["forbid customer sex"]:
ob_target = girl.get_stat("obedience")*2 + girl.mood//5 - girl.get_stat("libido")
if girl.is_("very dom"):
ob_target -= 50
elif girl.is_("dom"):
ob_target -= 25
elif girl.is_("very sub"):
ob_target += 50
elif girl.is_("sub"):
ob_target += 25
if girl.remembers("punish", "fooled around"):
ob_target += 25
if dice(250) > ob_target:
resisted_rule = True
else:
s_act = "naked"
s_des = {"naked" : "strip naked for him", "service" : "take care of his cock", "sex" : "have sex with him", "anal" : "let him fuck her ass", "fetish" : "do kinky stuff with him"}
d = dice(3)
# Naked event
if s_act == "naked":
if d == 1: # Obedience
text1 = "{size=" + str(res_font(18)) + "}" + __("Customers started clamoring for ") + girl.name + __(" to strip naked. Soon, she found herself surrounded by horny customers trying to rip her clothes off.")
r = girl.get_stat("obedience") - dice(250)
if r > 0:
text1 += __("\n{color=[c_green]}Knowing that customers are always right, she let them take her clothes off one by one until she is completely naked.{/color}")
extra_changes.append(("obedience", girl.change_stat("obedience", dice(3))))
extra_changes.append(("reputation", girl.change_stat("reputation", 1)))
accepted = True
elif r > -50:
text1 += __("\n{color=[c_yellow]}The customers were really insistant, so she agreed to go topless.{/color}\nThe customers would have wanted more, but were happy to fondle her naked breasts while she worked nonetheless.")
extra_changes.append(("obedience", girl.change_stat("obedience", 1)))
girl.raise_preference(s_act)
else:
text1 += __("\n{color=[c_red]}She screamed and pushed the customers away, making a fuss.{/color}\nSeveral customers left, muttering that they had seen churches that were wilder than your brothel.")
extra_changes.append(("reputation", girl.change_stat("reputation", -1)))
extra_changes.append(("brothel reputation", brothel.change_rep(-1*customers[0].rank)))
elif d == 2: # Libido
text1 = "{size=" + str(res_font(18)) + "}" + __("A horny customer started undressing in the middle of the ") + __(job_room_dict[girl.job]) + __(". He dared %s to do the same.") % girl.name
r = girl.get_stat("libido") - dice(250)
if r > 0:
text1 += __("\n{color=[c_green]}She was feeling horny and liked the customer, so she agreed.{/color}")
extra_changes.append(("libido", girl.change_stat("libido", dice(3))))
extra_changes.append(("reputation", girl.change_stat("reputation", 1)))
accepted = True
elif r > -50:
text1 += __("\n{color=[c_yellow]}She felt shy and refused, but the customer started grinding against her, lifting her skirt and shirt to give everyone a glimpse at her body.{/color}\nShe felt a little aroused.")
extra_changes.append(("libido", girl.change_stat("obedience", 1)))
girl.raise_preference(s_act)
else:
text1 += __("\n{color=[c_red]}She told the customer to put his clothes on before she called security.{/color}\nThe customer was upset and left.")
extra_changes.append(("reputation", girl.change_stat("reputation", -1)))
extra_changes.append(("brothel reputation", brothel.change_rep(-1*customers[0].rank)))
elif d == 3: # Sensitivity
text1 = "{size=" + str(res_font(18)) + "}" + __("A drunk customer told %s he loved her, and that he would be the happiest man in Zan if she would show him her heavenly body.") % girl.name
r = girl.get_stat("sensitivity") - dice(250)
if r > 0:
text1 += __("\n{color=[c_green]}All the customers then started begging %s to do it, so she felt she couldn't refuse.{/color}") % girl.name
extra_changes.append(("sensitivity", girl.change_stat("sensitivity", dice(3))))
extra_changes.append(("reputation", girl.change_stat("reputation", 1)))
accepted = True
elif r > -50:
text1 += __("\n{color=[c_yellow]}She refused, but the man kept pleading her and was soon joined by other customers.{/color}\nEventually, she agreed to flash her boobs to keep the crowd happy. It turned her on a little.")
extra_changes.append(("sensitivity", girl.change_stat("sensitivity", 1)))
girl.raise_preference(s_act)
else:
text1 += __("\n{color=[c_red]}She snapped and yelled at the customer.{/color}\nHe left unhappy. Other customers overheard and grumbled disapprovingly.")
extra_changes.append(("reputation", girl.change_stat("reputation", -1)))
extra_changes.append(("brothel reputation", brothel.change_rep(-1*customers[0].rank)))
if accepted:
pic = girl.get_pic(perform_job_dict[act + "_tags"], "naked", and_tags = "naked", not_tags = all_sex_acts + ["group", "bisexual", "beast", "monster"])
else:
pic = work_pic
events.append(Event(pic, char = girl.char, text = text1, changes = get_change_text(extra_changes), type = ev_type))
The problem is I don't know how to fix this, I mean as far as I know I have to delete the rpyc then edit the rpy and re-run the game or SHIFT-R while ingame?
I mean what's a quick fix for this to stop happening and use it in my actual save?
thanks in advance! ;D
EDIT:
Reaaaally wish there was a way to get trust and love into account, I'm not doing a whoremonger run I just got waitresses and strippers with very specific characters with virgin traits and such and then everyone gets a ride on them lolol
I do agree that it should be an absolute rule, or at least 0 chance to break the rule at high obedience.
Though, don't just changing the code and deleting the rpyc file fix it?
EDIT: If you meant how to change the code, just change
resisted_rule = True
to
#resisted_rule = True
Yeah the code needs a bit of cleaning, it's too punishing at low level I guess. Here's what I would change:
Quote# If MC has ruled out sex acts with customers
if girl.flags["forbid customer sex"]:
ob_target = girl.get_stat("obedience")*2 + girl.mood//5 - girl.get_stat("libido")
if girl.is_("very dom"):
ob_target -= 50
elif girl.is_("dom"):
ob_target -= 25
elif girl.is_("very sub"):
ob_target += 50
elif girl.is_("sub"):
ob_target += 25
if girl.remembers("punish", "fooled around"):
ob_target += 25
if dice(girl.rank*50) > ob_target:
resisted_rule = True