rjw-quirks/RJW-Quirks/HarmonyPatches/Patch_SexAppraiser.cs

65 lines
2.2 KiB
C#

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);
}
}
}