diff --git a/1.2/Assemblies/Rimworld-Animations.dll b/1.2/Assemblies/Rimworld-Animations.dll index 0215173..316f94d 100644 Binary files a/1.2/Assemblies/Rimworld-Animations.dll and b/1.2/Assemblies/Rimworld-Animations.dll differ diff --git a/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs b/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs index 016e368..84814ef 100644 --- a/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs +++ b/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs @@ -17,7 +17,7 @@ namespace Rimworld_Animations public static bool Prefix(JobDriver_Sex __instance, Pawn pawn, Thing target) { - if (!(target is Pawn) || + if ((target is Pawn) && !( (target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever && @@ -58,47 +58,4 @@ namespace Rimworld_Animations } - [HarmonyPatch(typeof(JobDriver_Sex), "Orgasm")] - public class HarmonyPatch_Orgasm - { - public static bool Prefix(JobDriver_Sex __instance) - { - //todo: remove this code on next update - if (__instance.pawn.jobs.curDriver is JobDriver_SexBaseRecieverLoved || - __instance.pawn.jobs.curDriver is JobDriver_SexBaseRecieverRaped) return true; - - if (__instance.sex_ticks > __instance.orgasmstick) - { - return false; - } - __instance.orgasms++; - __instance.PlayCumSound(); - __instance.PlayOrgasmVoice(); - __instance.CalculateSatisfactionPerTick(); - - if (__instance.pawn?.jobs?.curDriver is JobDriver_SexBaseInitiator) - { - SexUtility.SatisfyPersonal(__instance.pawn, __instance.Partner, __instance.sexType, __instance.isRape, true, __instance.satisfaction); - } - else - { - if (__instance.pawn?.jobs?.curDriver is JobDriver_SexBaseReciever) - { - Pawn pawn = __instance.pawn; - Pawn_JobTracker jobs3 = __instance.pawn.jobs; - SexUtility.SatisfyPersonal(pawn, (__instance.pawn.jobs.curDriver as JobDriver_SexBaseReciever).parteners.FirstOrFallback(null), __instance.sexType, false, false, __instance.satisfaction); - } - - } - Log.Message(xxx.get_pawnname(__instance.pawn) + " Orgasmed", false); - __instance.sex_ticks = __instance.Roll_Orgasm_Duration_Reset(); - if (__instance.neverendingsex) - { - __instance.ticks_left = __instance.duration; - } - - return false; - } - - } }