Although, at this point, I'd be satisfied with just understanding how it actually works lmao.
It's been a while since I've looked at the piece of code so I'll take a look.
As far as I know, it used to work like this:
Looking it over now, it's still more or less, what you wrote:
Code:
label Jean_round_anal_plug_change(plug_size):
if plug_size > Jean.anal_training:
$ Jean.change_face("worried1")
ch_Jean "Can't fit that size yet. . ."
return False
else:
$ Jean.change_face("smirk2")
ch_Jean "I actually kinda like it. . ."
return True
anal_training is actually a function, not a static value:
Code:
def anal_training(self):
sum = 0
for A in ["self_dildo_ass", "anal", "dildo_ass"]:
sum += self.History.check(A)/10
for size in [3, 2, 1, 0]:
if size < int(math.floor(sum + min(1, self.History.check(f"used_buttplug_size_{size}")/5))) - 1:
continue
if self.History.check(f"used_buttplug_size_{size}"):
sum += min(1, self.History.check(f"used_buttplug_size_{size}")/5)
break
return min(3, int(math.floor(sum)))
There's no randomization but there is a history check and then a summation of that history.
So, basically, the more you've asked (and they've accepted) to use said toy, used the dildo or had anal sex, the higher the sum. And when it reaches a certain sum, you can reach the next toy size. Reread the formula. This is wrong. The according to this math, how many times you'ved asked them to use said plug has very little to no affect on the next size being allowed. It's all up to how many times you've used their ass. No RNG involved.
...there some way this mod could affect the "sexual training"? As in, their capability to wear bigger plugs and perform deepthroat.
Most likely, deepthroat is similar in mechanics (I haven't looked). Looked it up. Once they've done a blowjob, they'll agree to a deepthroat, provided your love and trust is high enough. Each time they try, the counter for it goes up. How it goes is the "training".
But the hardest part isn't getting this done. Hooking up a button chang a value isn't that hard. The hardest part is figuring out where/which button (or GUI interface) to hook that onto. I also want to avoid a "press here to get sex" button as that removes the game from the game (though, some people do want that, often to their own detriment...which they then complain about.). So looking for a place in the GUI of the game that both can serve that and is intuitive that that's what it is, is the major barrier.
With that said, I'm not opposed to this, but I also feel like any button that does this is just going to do what the game alredy does, but only like 20~30% quicker. Which, is it worth it at that point? (Not a rhetorical question. I truly do wonder.)
But yeah, anyone else reading this, if you want it (or don't want it) feel free to chime in. It's not a big priority for me, but I'm not opposed to making this if there's a good GUI interface to hook onto and the functionality is worthwhile (without reoving the game from the game).
ETA: If you're like, "When does Character.History.update(f"used_buttplug_size_{buttplug_size}") get called naturally?" It's when you ask them to use said toy and they agree.