From 861c753e2272b4a22f269dc8de4a51265f826d57 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Tue, 11 Jun 2024 22:09:25 +0500 Subject: [PATCH] Implemented Sleipnir's fix for futa genital size !4 --- Source/IdeologyAddon/IdeoUtility.cs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs index 05ffd75..e61eb54 100644 --- a/Source/IdeologyAddon/IdeoUtility.cs +++ b/Source/IdeologyAddon/IdeoUtility.cs @@ -67,21 +67,29 @@ namespace RJWSexperience.Ideology return 0f; // Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina) - float bestSeenSize = 0f; + float bestSize = 0f; foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p)) { + float size; // Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts - if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part)) + if (Genital_Helper.is_penis(part)) { - bestSeenSize = part.Severity > bestSeenSize ? part.Severity : bestSeenSize; + size = part.Severity; } + else if (Genital_Helper.is_vagina(part)) + { + // For vagina, the scale is inverted. + size = 1 - part.Severity; + } + else + { + continue; + } + + bestSize = size > bestSize ? size : bestSize; } - // For Women, the scale is inverted. - if (p.gender == Gender.Female) - return 1 - bestSeenSize; - - return bestSeenSize; + return bestSize; } public static bool IsVisiblyPregnant(Pawn pawn)