The code has changed since I've posted that.
./base/clothing.rpy:31
Code:
define public_shame_multiplier = 4.0
define exercise_shame_multiplier = 2.5
define private_shame_multiplier = 0.4
./base/clothing.rpy:509 (one of many)
Code:
if flag in ["public", "date"]:
if approval_check(self.Owner, threshold = public_shame_multiplier*hypothetical_Outfit.shame):
proceed = True
elif flag in ["exercise", "swim"]:
if approval_check(self.Owner, threshold = exercise_shame_multiplier*hypothetical_Outfit.shame):
proceed = True
elif approval_check(self.Owner, threshold = private_shame_multiplier*hypothetical_Outfit.shame):
proceed = True
./mechanics/approval.rpy:15
Code:
def approval_check(Character, flavor = None, threshold = None, extra_condition = None, multiplier = 1.0, not_found_value = (0, 0)):
if not isinstance(Character, CompanionClass):
return 0
if flavor is None:
value = Character.love + Character.trust
./mechanics/approval.rpy:51
Code:
elif isinstance(threshold, float) or isinstance(threshold, int):
if value + 0.0*abs(renpy.random.gauss(0, stat_sigma)) < multiplier*threshold:
return False
So:
if
love + trust + (0.0 * abs(renpy.random.gauss(0, stat_sigma)))
(don't know why that last part is there. 0.0 times anything is still zero. Programming language math still follow PE
MD
AS.
ShinyBoots1993 , might want to point that out to
ronchonbon . It won't affect anything unless renpy's random number generator is costly, which sometimes is the case, but it's better to not have these calculations if possible.)
is less than
shame_type_multiplier * outfit_shame
the outfit is rejected.
If you remember your inequality math, the equation is pretty much the same.
love + trust < multiplier * outfit_shame
If you divide both sides by the multiplier, you need to change the direction of the inequality.
(love + trust) / multiplier > outfit_shame
And 1/4 (1 / public shame multiplier) = 0.25 and 1/2.5 (1 / exercise shame multiplier) is the same as 4/10 which 0.4.
This has been your reminder to thank your high school math teacher.