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 partKindUsageRules = Unprivater.GetProtectedValue>("_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"); } } }