rjw-sexperience-ideology/Source/IdeologyAddon/Harmony.cs
2025-02-03 20:29:43 +05:00

30 lines
1.1 KiB
C#

using rjw.Modules.Interactions.Internals.Implementation;
using rjw.Modules.Interactions.Rules.PartKindUsageRules;
using rjw;
using System.Collections.Generic;
using System.Reflection;
using Verse;
namespace RJWSexperience.Ideology
{
[StaticConstructorOnStartup]
internal static class Harmony
{
static Harmony()
{
new HarmonyLib.Harmony("RJW_Sexperience.Ideology").PatchAll(Assembly.GetExecutingAssembly());
InjectIntoRjwInteractionServices();
}
private static void InjectIntoRjwInteractionServices()
{
List<IPartPreferenceRule> partKindUsageRules = Unprivater.GetProtectedValue<List<IPartPreferenceRule>>("_partKindUsageRules", typeof(PartPreferenceDetectorService));
partKindUsageRules.Add(new MaleDecreasedVaginal());
partKindUsageRules.Add(new DecreasedVaginal());
partKindUsageRules.Add(new MaleIncreasedVaginal());
partKindUsageRules.Add(new IncreasedVaginal());
partKindUsageRules.Add(new MaleFocusedVaginal());
partKindUsageRules.Add(new FocusedVaginal());
if (Prefs.DevMode) RsiLog.Message("Added 6 rules to PartPreferenceDetectorService._partKindUsageRules");
}
}
}