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) {