diff --git a/1.1/Assemblies/Rimworld-Animations.dll b/1.1/Assemblies/Rimworld-Animations.dll index 449af83..e3edbe5 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_vanilla.xml b/Defs/AnimationDefs/Animations_vanilla.xml index dc3fd5e..7aa950d 100644 --- a/Defs/AnimationDefs/Animations_vanilla.xml +++ b/Defs/AnimationDefs/Animations_vanilla.xml @@ -465,7 +465,6 @@
  • Human
  • - true
  • diff --git a/Source/Comps/CompBodyAnimator.cs b/Source/Comps/CompBodyAnimator.cs index ae5b437..7614254 100644 --- a/Source/Comps/CompBodyAnimator.cs +++ b/Source/Comps/CompBodyAnimator.cs @@ -158,6 +158,7 @@ namespace Rimworld_Animations { if (animTicks < anim.animationTimeTicks) { tickStage(); } else { + isAnimating = false; } } @@ -175,6 +176,10 @@ namespace Rimworld_Animations { clipPercent = 0; } + if(curStage >= anim.animationStages.Count && animTicks < anim.animationTimeTicks && pawn.jobs.curDriver is JobDriver_SexBaseInitiator) { + pawn.jobs.curDriver.ReadyForNextToil(); + } + tickClip(); } diff --git a/Source/Patches/HarmonyPatch_AlienRace.cs b/Source/Patches/HarmonyPatch_AlienRace.cs index c343fc5..99f7ff7 100644 --- a/Source/Patches/HarmonyPatch_AlienRace.cs +++ b/Source/Patches/HarmonyPatch_AlienRace.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using UnityEngine; using Verse; +using AlienRace; namespace Rimworld_Animations { [StaticConstructorOnStartup] @@ -41,17 +42,17 @@ namespace Rimworld_Animations { public static bool Prefix_AnimateHeadAddons(bool portrait, Vector3 vector, Pawn pawn, Quaternion quat, Rot4 rotation, bool invisible) { if (portrait || pawn.TryGetComp() == null || !pawn.TryGetComp().isAnimating) return true; - if (!(pawn.def is AlienRace.ThingDef_AlienRace alienProps) || invisible) return false; + if (!(pawn.def is ThingDef_AlienRace alienProps) || invisible) return false; - List addons = alienProps.alienRace.generalSettings.alienPartGenerator.bodyAddons; - AlienRace.AlienPartGenerator.AlienComp alienComp = pawn.GetComp(); + List addons = alienProps.alienRace.generalSettings.alienPartGenerator.bodyAddons; + AlienPartGenerator.AlienComp alienComp = pawn.GetComp(); CompBodyAnimator pawnAnimator = pawn.TryGetComp(); for (int i = 0; i < addons.Count; i++) { - AlienRace.AlienPartGenerator.BodyAddon ba = addons[index: i]; + AlienPartGenerator.BodyAddon ba = addons[index: i]; if (!ba.CanDrawAddon(pawn: pawn)) continue; - AlienRace.AlienPartGenerator.RotationOffset offset; + AlienPartGenerator.RotationOffset offset; if (ba.drawnInBed) { offset = pawnAnimator.headFacing == Rot4.South ? diff --git a/Source/Settings/AnimationSettings.cs b/Source/Settings/AnimationSettings.cs index 8fb4f9e..905d7e1 100644 --- a/Source/Settings/AnimationSettings.cs +++ b/Source/Settings/AnimationSettings.cs @@ -13,13 +13,16 @@ namespace Rimworld_Animations { public static float shiverIntensity = 2f; public override void ExposeData() { + + base.ExposeData(); + Scribe_Values.Look(ref orgasmQuiver, "orgasmQuiver"); Scribe_Values.Look(ref rapeShiver, "rapeShiver"); Scribe_Values.Look(ref hearts, "heartsOnLovin"); Scribe_Values.Look(ref soundOverride, "rjwAnimSoundOverride", true); Scribe_Values.Look(ref shiverIntensity, "shiverIntensity", 2f); - base.ExposeData(); + } } @@ -27,6 +30,7 @@ namespace Rimworld_Animations { public class RJW_Animations : Mod { public RJW_Animations(ModContentPack content) : base(content) { + GetSettings(); } public override void DoSettingsWindowContents(Rect inRect) {