using HarmonyLib; using rjw; using rjwquirks.Modules.Quirks; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Verse; namespace rjwquirks.HarmonyPatches { [HarmonyPatch(typeof(SexAppraiser))] public class Patch_SexAppraiser { [HarmonyPostfix] [HarmonyPatch(nameof(SexAppraiser.GetMinSizePreference))] public static void AdjustMinSize(Pawn pawn, ref float __result) { if (pawn.GetQuirks() != null) pawn.GetQuirks().ApplyValueModifiers("wouldFuckAnimalBodySizeMin", ref __result); } [HarmonyPostfix] [HarmonyPatch(nameof(SexAppraiser.GetMaxSizePreference))] public static void AdjustMaxSize(Pawn pawn, ref float __result) { if (pawn.GetQuirks() != null) pawn.GetQuirks().ApplyValueModifiers("wouldFuckAnimalBodySizeMax", ref __result); } [HarmonyPostfix] [HarmonyPatch(nameof(SexAppraiser.GetMinSizePreference))] public static void AdjustWildnessModifier(Pawn pawn, ref float __result) { if (pawn.GetQuirks() != null) pawn.GetQuirks().ApplyValueModifiers("wouldFuckAnimalWildnessModifier", ref __result); } [HarmonyPostfix] [HarmonyPatch("GetOpinionFactor")] public static void AdjustOpinionFactor(Pawn fucker, Pawn fucked, ref float __result) { if (fucker.GetQuirks() != null) fucker.GetQuirks().ApplySexAppraisalModifiers(fucked, "opinionFactor", ref __result); } [HarmonyPostfix] [HarmonyPatch("GetBodyFactor")] public static void AdjustBodyFactor(Pawn fucker, Pawn fucked, ref float __result) { if (fucker.GetQuirks() != null) fucker.GetQuirks().ApplySexAppraisalModifiers(fucked, "bodyFactor", ref __result); } [HarmonyPostfix] [HarmonyPatch("GetAgeFactor")] public static void AdjustAgeFactor(Pawn fucker, Pawn fucked, int p_age, ref float __result) { if (fucker.GetQuirks() != null) fucker.GetQuirks().ApplySexAppraisalModifiers(fucked, "ageFactor", ref __result); } } }