diff --git a/1.4/Source/Defs/AnimationDef.cs b/1.4/Source/Defs/AnimationDef.cs index 395ff83..e2e8d28 100644 --- a/1.4/Source/Defs/AnimationDef.cs +++ b/1.4/Source/Defs/AnimationDef.cs @@ -13,6 +13,7 @@ namespace Rimworld_Animations { public List actors; public int animationTimeTicks = 0; //do not set manually public bool sounds = false; + public bool randomlySelectable = true; public List sexTypes = null; public List interactionDefTypes = null; public List tags = new List(); diff --git a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs index 260d924..00227c4 100644 --- a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs +++ b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs @@ -109,6 +109,7 @@ namespace Rimworld_Animations { int animTicks = anim.animationTimeTicks - (fastAnimForQuickie ? anim.animationStages[0].playTimeTicks : 0); (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_left = animTicks; (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).sex_ticks = animTicks; + (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).orgasmStartTick = animTicks; (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).duration = animTicks; diff --git a/1.4/Source/Utilities/AnimationUtility.cs b/1.4/Source/Utilities/AnimationUtility.cs index 1ae89be..e03281d 100644 --- a/1.4/Source/Utilities/AnimationUtility.cs +++ b/1.4/Source/Utilities/AnimationUtility.cs @@ -33,7 +33,12 @@ namespace Rimworld_Animations { List localParticipants = new List(participants); IEnumerable options = DefDatabase.AllDefs.Where((AnimationDef x) => { - + if (!x.randomlySelectable) + { + if (AnimationSettings.debugMode) + Log.Message(x.defName.ToStringSafe() + " not selected -- isn't randomly selectable"); + return false; + } if (x.actors.Count != localParticipants.Count) { if (AnimationSettings.debugMode) diff --git a/Patch_SexToysMasturbation/Source/Patches/HarmonyPatch_JobDriver_SexBaseInitiator.cs b/Patch_SexToysMasturbation/Source/Patches/HarmonyPatch_JobDriver_SexBaseInitiator.cs index ef3f4fb..9f29203 100644 --- a/Patch_SexToysMasturbation/Source/Patches/HarmonyPatch_JobDriver_SexBaseInitiator.cs +++ b/Patch_SexToysMasturbation/Source/Patches/HarmonyPatch_JobDriver_SexBaseInitiator.cs @@ -59,6 +59,7 @@ namespace Patch_SexToysMasturbation (pawn.jobs.curDriver as JobDriver_Sex).ticks_left = anim.animationTimeTicks; (pawn.jobs.curDriver as JobDriver_Sex).sex_ticks = anim.animationTimeTicks; + (pawn.jobs.curDriver as JobDriver_Sex).orgasmStartTick = anim.animationTimeTicks; (pawn.jobs.curDriver as JobDriver_Sex).duration = anim.animationTimeTicks; } else