From c6241be3fc8297141f5a831cd1b480c8d758a5a9 Mon Sep 17 00:00:00 2001 From: Euclidean <59258-Euclidean@users.noreply.gitgud.io> Date: Wed, 14 Feb 2024 06:57:26 +0000 Subject: [PATCH] fix LoopNeverending error --- 1.4/Source/Comps/CompBodyAnimator.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/1.4/Source/Comps/CompBodyAnimator.cs b/1.4/Source/Comps/CompBodyAnimator.cs index 326b652..123a8aa 100644 --- a/1.4/Source/Comps/CompBodyAnimator.cs +++ b/1.4/Source/Comps/CompBodyAnimator.cs @@ -4,6 +4,7 @@ using RimWorld; using rjw; using UnityEngine; using Verse; +using Verse.AI; using Verse.Sound; namespace Rimworld_Animations { @@ -513,9 +514,15 @@ namespace Rimworld_Animations { public bool LoopNeverending() { - if(pawn?.jobs?.curDriver != null && - (pawn.jobs.curDriver is JobDriver_Sex) && (pawn.jobs.curDriver as JobDriver_Sex).neverendingsex || - (pawn.jobs.curDriver is JobDriver_SexBaseReciever) && (pawn.jobs.curDriver as JobDriver_Sex).Partner?.jobs?.curDriver != null && ((pawn.jobs.curDriver as JobDriver_Sex).Partner.jobs.curDriver as JobDriver_Sex).neverendingsex) + JobDriver jobDriver = pawn?.jobs?.curDriver; + if (jobDriver == null) return false; + + if (jobDriver is JobDriver_Sex sexDriver && sexDriver.neverendingsex) + { + return true; + } + + if (jobDriver is JobDriver_SexBaseReciever sexReceiverDriver && sexReceiverDriver.Partner?.jobs?.curDriver is JobDriver_Sex partnerSexDriver && partnerSexDriver.neverendingsex) { return true; }