diff --git a/1.1/Assemblies/Rimworld-Animations.dll b/1.1/Assemblies/Rimworld-Animations.dll index 228b11f..3a0ccba 100644 Binary files a/1.1/Assemblies/Rimworld-Animations.dll and b/1.1/Assemblies/Rimworld-Animations.dll differ diff --git a/Defs/AnimationDefs/Animations_Beast.xml b/Defs/AnimationDefs/Animations_Beast.xml index 2f5a613..73365cc 100644 --- a/Defs/AnimationDefs/Animations_Beast.xml +++ b/Defs/AnimationDefs/Animations_Beast.xml @@ -1,8 +1,8 @@  - Quadruped_Doggystyle - + Dog_Doggystyle + true
  • Anal
  • diff --git a/Defs/AnimationDefs/Animations_vanilla.xml b/Defs/AnimationDefs/Animations_vanilla.xml index 08b4870..f8e5e1c 100644 --- a/Defs/AnimationDefs/Animations_vanilla.xml +++ b/Defs/AnimationDefs/Animations_vanilla.xml @@ -632,7 +632,7 @@ 2 2 0 - 90 + 180
  • 59 @@ -652,7 +652,7 @@ 2 2 0 - 90 + 180
  • @@ -710,7 +710,7 @@ 2 2 0 - 90 + 180
  • 14 @@ -730,7 +730,7 @@ 2 2 0 - 90 + 180
  • @@ -815,7 +815,7 @@ 2 2 0 - 90 + 180
  • 7 @@ -864,7 +864,7 @@ 2 2 0 - 90 + 180
  • diff --git a/Source/Comps/CompBodyAnimator.cs b/Source/Comps/CompBodyAnimator.cs index 730b2ab..77195eb 100644 --- a/Source/Comps/CompBodyAnimator.cs +++ b/Source/Comps/CompBodyAnimator.cs @@ -154,7 +154,7 @@ namespace Rimworld_Animations { base.CompTick(); if(isAnimating) { - if (pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex))) { + if (pawn.Dead || pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex))) { isAnimating = false; } else { @@ -310,6 +310,9 @@ namespace Rimworld_Animations { Scribe_Values.Look(ref bodyAngle, "bodyAngle"); Scribe_Values.Look(ref headAngle, "headAngle"); + Scribe_Values.Look(ref genitalAngle, "GenitalAngle"); + Scribe_Values.Look(ref controlGenitalAngle, "controlGenitalAngle"); + Scribe_Values.Look(ref headFacing, "headFacing"); Scribe_Values.Look(ref headFacing, "bodyFacing"); diff --git a/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs b/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs index 99e8d98..5fd7486 100644 --- a/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs +++ b/Source/Patches/rjwPatches/HarmonyPatch_SexTick.cs @@ -17,6 +17,12 @@ namespace Rimworld_Animations { public static bool Prefix(ref JobDriver_Sex __instance, ref Pawn pawn, ref Thing target, ref bool pawnnude, ref bool partnernude) { Pawn pawn2 = target as Pawn; + + if (pawn == null || pawn2 == null) { + return true; + } + + if (pawn.IsHashIntervalTick(__instance.ticks_between_thrusts)) { __instance.Animate(pawn, (Thing)pawn2);