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)