diff --git a/1.4/Source/Comps/CompBodyAnimator.cs b/1.4/Source/Comps/CompBodyAnimator.cs
index 123a8aa..5d355a6 100644
--- a/1.4/Source/Comps/CompBodyAnimator.cs
+++ b/1.4/Source/Comps/CompBodyAnimator.cs
@@ -1,24 +1,18 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
using RimWorld;
using rjw;
using UnityEngine;
using Verse;
-using Verse.AI;
using Verse.Sound;
namespace Rimworld_Animations {
public class CompBodyAnimator : ThingComp
{
- ///
- /// Cache of the currently animated pawns for the very fast isAnimating checks
- ///
- private static readonly HashSet animatingPawns = new HashSet();
- ///
- /// Check if the is currently animated by this comp
- ///
- public static bool IsAnimating(Pawn pawn) => animatingPawns.Contains(pawn);
-
public Pawn pawn => base.parent as Pawn;
public PawnGraphicSet Graphics;
@@ -33,11 +27,9 @@ namespace Rimworld_Animations {
if (value == true) {
SexUtility.DrawNude(pawn);
- animatingPawns.Add(pawn);
} else {
pawn.Drawer.renderer.graphics.ResolveAllGraphics();
actorsInCurrentAnimation = null;
- animatingPawns.Remove(pawn);
}
PortraitsCache.SetDirty(pawn);
@@ -514,15 +506,9 @@ namespace Rimworld_Animations {
public bool LoopNeverending()
{
- 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)
+ 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)
{
return true;
}
diff --git a/1.4/Source/Extensions/PawnWoundDrawerExtension.cs b/1.4/Source/Extensions/PawnWoundDrawerExtension.cs
index 77594e6..417f8ed 100644
--- a/1.4/Source/Extensions/PawnWoundDrawerExtension.cs
+++ b/1.4/Source/Extensions/PawnWoundDrawerExtension.cs
@@ -1,6 +1,9 @@
-using RimWorld;
+using System;
+using System.Collections.Generic;
+using RimWorld;
using UnityEngine;
using Verse;
+using Rimworld_Animations;
namespace Rimworld_Animations {
@@ -14,9 +17,9 @@ namespace Rimworld_Animations {
if (!flags.FlagSet(PawnRenderFlags.Portrait) && layer == PawnOverlayDrawer.OverlayLayer.Head)
{
- if (CompBodyAnimator.IsAnimating(pawn) && pawn.Drawer.renderer.graphics.headGraphic != null)
+ CompBodyAnimator pawnAnimator = pawn.TryGetComp();
+ if (pawnAnimator != null && pawnAnimator.isAnimating && pawn.Drawer.renderer.graphics.headGraphic != null)
{
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
pawnRot = pawnAnimator.headFacing;
quat = Quaternion.AngleAxis(angle: pawnAnimator.headAngle, axis: Vector3.up);
float y = drawLoc.y;
diff --git a/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs b/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
index 1cbc26d..a800a55 100644
--- a/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
+++ b/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
@@ -1,4 +1,8 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using Verse;
using RimWorld;
using UnityEngine;
@@ -21,13 +25,14 @@ namespace Rimworld_Animations {
listingStandard.GapLine();
- if (Find.Selector.SingleSelectedThing is Pawn curPawn) {
+ if (Find.Selector.SingleSelectedThing is Pawn) {
- if (CompBodyAnimator.IsAnimating(curPawn)) {
+ Pawn curPawn = Find.Selector.SingleSelectedThing as Pawn;
- CompBodyAnimator compBodyAnimator = curPawn.TryGetComp();
- AnimationDef def = compBodyAnimator.CurrentAnimation;
- int ActorIndex = compBodyAnimator.ActorIndex;
+ if (curPawn.TryGetComp().isAnimating) {
+
+ AnimationDef def = curPawn.TryGetComp().CurrentAnimation;
+ int ActorIndex = curPawn.TryGetComp().ActorIndex;
float offsetX = 0, offsetZ = 0, rotation = 0;
string bodyTypeDef = (curPawn.story?.bodyType != null) ? curPawn.story.bodyType.ToString() : "";
@@ -52,6 +57,8 @@ namespace Rimworld_Animations {
listingStandard.Label("Warning--You generally don't want to change human offsets, only alien offsets");
}
+ bool mirrored = curPawn.TryGetComp().Mirror;
+
float.TryParse(listingStandard.TextEntryLabeled("X Offset: ", offsetX.ToString()), out offsetX);
offsetX = listingStandard.Slider(offsetX, -2, 2);
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
index 59631b8..83ffd5b 100644
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
+++ b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
@@ -23,16 +23,17 @@ namespace Rimworld_Animations {
}
}))();
}
- catch (TypeLoadException) {
+ catch (TypeLoadException ex) {
}
}
- public static bool Prefix(Pawn ___pawn, ref Rot4 headFacing, ref Vector3 headOrigin, ref Quaternion quaternion, bool portrait) {
+ public static bool Prefix(ref Pawn ___pawn, ref Rot4 headFacing, ref Vector3 headOrigin, ref Quaternion quaternion, ref bool portrait) {
- if (!portrait && CompBodyAnimator.IsAnimating(___pawn)) {
+ CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
+
+ if (bodyAnim != null && bodyAnim.isAnimating && !portrait) {
- CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
headFacing = bodyAnim.headFacing;
headOrigin = new Vector3(bodyAnim.getPawnHeadPosition().x, headOrigin.y, bodyAnim.getPawnHeadPosition().z);
quaternion = Quaternion.AngleAxis(bodyAnim.headAngle, Vector3.up);
diff --git a/1.4/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs b/1.4/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs
index 25d93b9..6544f13 100644
--- a/1.4/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs
+++ b/1.4/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs
@@ -1,5 +1,11 @@
using HarmonyLib;
using rjw;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Verse;
namespace Rimworld_Animations
{
@@ -8,7 +14,7 @@ namespace Rimworld_Animations
{
public static bool Prefix(JobDriver_Sex __instance)
{
- if (CompBodyAnimator.IsAnimating(__instance.pawn))
+ if (__instance.pawn.TryGetComp().isAnimating)
{
return false;
}
diff --git a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs
index bbbb0b8..18c955e 100644
--- a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs
+++ b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs
@@ -1,9 +1,13 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
using rjw;
+using System.Reflection.Emit;
using Verse.AI;
namespace Rimworld_Animations
@@ -23,7 +27,11 @@ namespace Rimworld_Animations
}
return true;
+
}
+
+
+
}
[HarmonyPatch(typeof(JobDriver_JoinInBed), "MakeNewToils")]
@@ -58,13 +66,19 @@ namespace Rimworld_Animations
toils[3].AddPreTickAction(() =>
{
- if (!CompBodyAnimator.IsAnimating(__instance.Partner))
+ if (!__instance.Partner.TryGetComp().isAnimating)
{
__instance.pawn.TryGetComp().isAnimating = false;
}
});
+
__result = toils.AsEnumerable();
+
+
}
+
+
+
}
}
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 530600b..00227c4 100644
--- a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
+++ b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
@@ -156,12 +158,10 @@ namespace Rimworld_Animations {
public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
- Pawn reciever = __instance.Target as Pawn;
+ if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {
+ if (__instance.pawn.TryGetComp().isAnimating) {
- if (reciever?.jobs?.curDriver is JobDriver_SexBaseReciever recieverJobDriver) {
- if (CompBodyAnimator.IsAnimating(__instance.pawn)) {
-
- List parteners = recieverJobDriver.parteners;
+ List parteners = ((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners;
for (int i = 0; i < parteners.Count; i++) {
@@ -173,13 +173,13 @@ namespace Rimworld_Animations {
__instance.Target.TryGetComp().isAnimating = false;
- if (xxx.is_human(reciever)) {
- reciever?.Drawer.renderer.graphics.ResolveApparelGraphics();
- PortraitsCache.SetDirty(reciever);
+ if (xxx.is_human((__instance.Target as Pawn))) {
+ (__instance.Target as Pawn)?.Drawer.renderer.graphics.ResolveApparelGraphics();
+ PortraitsCache.SetDirty((__instance.Target as Pawn));
}
}
- recieverJobDriver?.parteners.Remove(__instance.pawn);
+ ((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners.Remove(__instance.pawn);
}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
index 401f1b5..37ba6ce 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
@@ -1,4 +1,4 @@
-/*using HarmonyLib;
+using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -19,4 +19,4 @@ namespace Rimworld_Animations
}
}
-}*/
+}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
index 518f24c..b7ff70d 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
@@ -5,6 +5,7 @@ using HarmonyLib;
using RimWorld;
using Verse;
using UnityEngine;
+using System.Reflection;
using System.Reflection.Emit;
namespace Rimworld_Animations {
@@ -30,10 +31,12 @@ namespace Rimworld_Animations {
PawnGraphicSet graphics = __instance.graphics;
Pawn pawn = graphics.pawn;
+ CompBodyAnimator bodyAnim = pawn.TryGetComp();
- if (CompBodyAnimator.IsAnimating(pawn) && pawn.Map == Find.CurrentMap)
+
+ if (bodyAnim != null && bodyAnim.isAnimating && pawn.Map == Find.CurrentMap)
{
- pawn.TryGetComp().animatePawnBody(ref rootLoc, ref angle, ref bodyFacing);
+ bodyAnim.animatePawnBody(ref rootLoc, ref angle, ref bodyFacing);
}
@@ -72,7 +75,7 @@ namespace Rimworld_Animations {
else
{
yield return ins[i];
- }
+ }
}
}
}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
index cf2a7d9..7ec75a1 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
@@ -1,23 +1,29 @@
using HarmonyLib;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using Verse;
namespace Rimworld_Animations {
- [HarmonyPatch(typeof(Thing), nameof(Thing.Rotation), MethodType.Getter)]
+ [HarmonyPatch(typeof(Thing), "Rotation", MethodType.Getter)]
public static class HarmonyPatch_PawnRotation {
public static bool Prefix(Thing __instance, ref Rot4 __result) {
- if (!(__instance is Pawn pawn)) {
- return true;
- }
-
- if (!CompBodyAnimator.IsAnimating(pawn)) {
+ if(!(__instance is Pawn) || (__instance as Pawn)?.TryGetComp() == null || !(__instance as Pawn).TryGetComp().isAnimating) {
return true;
}
+ Pawn pawn = (__instance as Pawn);
__result = pawn.TryGetComp().bodyFacing;
return false;
+
+
}
+
}
+
}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
index fdd3e07..5cdcfce 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
@@ -1,4 +1,9 @@
using HarmonyLib;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using UnityEngine;
using Verse;
@@ -8,9 +13,10 @@ namespace Rimworld_Animations {
public static class HarmonyPatch_Pawn_DrawTracker {
public static bool Prefix(ref Pawn ___pawn, ref Vector3 __result) {
- if (CompBodyAnimator.IsAnimating(___pawn)) {
- CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
- __result = bodyAnim.anchor + bodyAnim.deltaPos;
+ CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
+
+ if (bodyAnim != null && bodyAnim.isAnimating) {
+ __result = ___pawn.TryGetComp().anchor + ___pawn.TryGetComp().deltaPos;
return false;
}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs
index 379f85e..0f5d978 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs
@@ -1,4 +1,9 @@
using HarmonyLib;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using Verse;
namespace Rimworld_Animations
@@ -8,7 +13,8 @@ namespace Rimworld_Animations
{
public static bool Prefix(ref Pawn ___pawn)
{
- if (CompBodyAnimator.IsAnimating(___pawn))
+
+ if (___pawn.TryGetComp() != null && ___pawn.TryGetComp().isAnimating)
{
return false;
}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
index f495bff..b8c66b8 100644
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
+++ b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
@@ -1,6 +1,12 @@
using HarmonyLib;
using RimWorld;
+using System;
using System.Collections.Generic;
+using System.Linq;
+using System.Reflection.Emit;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
using Verse;
namespace Rimworld_Animations
@@ -10,16 +16,18 @@ namespace Rimworld_Animations
{
static bool ClearCache(Pawn pawn)
{
- return pawn.IsInvisible() || CompBodyAnimator.IsAnimating(pawn);
+ return pawn.IsInvisible() || (pawn.TryGetComp() != null && pawn.TryGetComp().isAnimating);
}
public static IEnumerable Transpiler(IEnumerable instructions)
{
+ var list = instructions.ToList();
+
foreach (CodeInstruction i in instructions)
{
- if (i.Calls(AccessTools.Method(typeof(PawnUtility), nameof(PawnUtility.IsInvisible))))
+ if (i.OperandIs(AccessTools.Method(typeof(PawnUtility), "IsInvisible")))
{
- yield return CodeInstruction.Call(typeof(PawnRenderer_RenderPawnAt_Patch), nameof(ClearCache));
+ yield return new CodeInstruction(OpCodes.Call, AccessTools.Method(typeof(PawnRenderer_RenderPawnAt_Patch), "ClearCache"));
}
else
{
diff --git a/1.4/Source/Utilities/AnimationUtility.cs b/1.4/Source/Utilities/AnimationUtility.cs
index 396eab3..1ae89be 100644
--- a/1.4/Source/Utilities/AnimationUtility.cs
+++ b/1.4/Source/Utilities/AnimationUtility.cs
@@ -169,10 +169,11 @@ namespace Rimworld_Animations {
return;
}
- if (!CompBodyAnimator.IsAnimating(pawn)) {
+ CompBodyAnimator pawnAnimator = pawn.TryGetComp();
+
+ if (pawnAnimator == null || !pawnAnimator.isAnimating) {
GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, drawNow);
} else {
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
Vector3 pawnHeadPosition = pawnAnimator.getPawnHeadPosition();
pawnHeadPosition.y = loc.y;
GenDraw.DrawMeshNowOrLater(MeshPool.humanlikeHeadSet.MeshAt(pawnAnimator.headFacing), pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, true);
@@ -183,13 +184,14 @@ namespace Rimworld_Animations {
{
if (flags.FlagSet(PawnRenderFlags.Portrait)) return;
- if (CompBodyAnimator.IsAnimating(pawn))
+ CompBodyAnimator anim = pawn.TryGetComp();
+ if (anim.isAnimating)
{
- CompBodyAnimator anim = pawn.TryGetComp();
bodyFacing = anim.headFacing;
angle = anim.headAngle;
quat = Quaternion.AngleAxis(anim.headAngle, Vector3.up);
pos = anim.getPawnHeadOffset();
+
}
}
@@ -200,12 +202,12 @@ namespace Rimworld_Animations {
return;
}
+ CompBodyAnimator pawnAnimator = pawn.TryGetComp();
- if (!CompBodyAnimator.IsAnimating(pawn) || portrait) {
+ if (pawnAnimator == null || !pawnAnimator.isAnimating || portrait) {
GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, portrait);
}
else {
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
Vector3 pawnHeadPosition = pawnAnimator.getPawnHeadPosition();
pawnHeadPosition.x *= bodySizeFactor;
pawnHeadPosition.x *= bodySizeFactor;
diff --git a/About/Manifest.xml b/About/Manifest.xml
index 0a6d4c7..755ff76 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -1,5 +1,5 @@
Rimworld-Animations
- 1.3.7
+ 1.3.4
diff --git a/Patch_HumanoidAlienRaces/Source/HarmonyPatch_AlienRace.cs b/Patch_HumanoidAlienRaces/Source/HarmonyPatch_AlienRace.cs
index f06e987..8ab0255 100644
--- a/Patch_HumanoidAlienRaces/Source/HarmonyPatch_AlienRace.cs
+++ b/Patch_HumanoidAlienRaces/Source/HarmonyPatch_AlienRace.cs
@@ -51,7 +51,7 @@ namespace Rimworld_Animations {
public static bool Prefix_AnimateHeadAddons(PawnRenderFlags renderFlags, Vector3 vector, Vector3 headOffset, Pawn pawn, Quaternion quat, Rot4 rotation)
{
- if (renderFlags.FlagSet(PawnRenderFlags.Portrait) || !CompBodyAnimator.IsAnimating(pawn)) return true;
+ if (renderFlags.FlagSet(PawnRenderFlags.Portrait) || pawn.TryGetComp() == null || !pawn.TryGetComp().isAnimating) return true;
if (!(pawn.def is ThingDef_AlienRace alienProps) || renderFlags.FlagSet(PawnRenderFlags.Invisible)) return false;
List addons = alienProps.alienRace.generalSettings.alienPartGenerator.bodyAddons;
diff --git a/Patch_SexToysMasturbation/1.4/Defs/AnimationDefs/Animations_Dildo.xml b/Patch_SexToysMasturbation/1.4/Defs/AnimationDefs/Animations_Dildo.xml
deleted file mode 100644
index dd483ea..0000000
--- a/Patch_SexToysMasturbation/1.4/Defs/AnimationDefs/Animations_Dildo.xml
+++ /dev/null
@@ -1,465 +0,0 @@
-
-
-
- Masturbation_DildoVaginal
- dildo masturbation
- vagina
- true
-
- Masturbation
-
-
-
-
- Human
-
- true
-
-
-
-
-
- Masturbating
- true
- 917
- 0
-
-
- LayingPawn
-
-
-
- 40
- 73.01611
- 40.0739746
- 0
- 0.054543376
- 0.112624526
- 0
- 3
- 3
-
-
-
- Slimy
- 30
- 76.4867554
- 45.3887634
- 0
- 0.0506898165
- 0.08564949
- 0
- 3
- 3
-
-
-
- 30
- 78.22131
- 48.0072327
- 0
- 0.039129138
- 0.07794231
- 0
- 3
- 3
-
-
-
- 30
- 76.4867554
- 45.3887634
- 0
- 0.0506898165
- 0.08564949
- 0
- 3
- 3
-
-
-
- 1
- 73.01611
- 40.0739746
- 0
- 0.054543376
- 0.112624526
- 0
- 3
- 3
-
-
-
-
-
-
-
- 40
- -0.359264076
- -0.00901746
- 114.011215
-
-
-
- 30
- -0.2783391
- -0.0514066666
- 81.16443
-
-
-
- 30
- -0.1704393
- -0.0668209046
- 72.8611145
-
-
-
- 30
- -0.2783391
- -0.0514066666
- 81.16443
-
-
-
- 1
- -0.359264076
- -0.00901746
- 114.011215
-
-
-
-
-
-
- GettingIntoPosition
- false
- 0
-
-
- LayingPawn
-
-
-
- 50
- 73.01611
- 40.0739746
- 0
- 0.054543376
- 0.112624526
- 0
- 3
- 3
-
-
- Slimy
- 1
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
-
-
-
-
-
- 50
- -0.359264076
- -0.00901746
- 114.011215
-
-
-
- 1
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
-
-
-
- FastMasturbation
- true
- 0
- 1610
-
-
- LayingPawn
-
-
- 20
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
- Slimy
- 25
- 85.17255
- 58.0615845
- 0
- 0.03527552
- 0.0471138731
- 0
- 3
- 3
-
-
- 1
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
-
-
-
-
-
- 25
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
- 20
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 1
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
-
-
-
- VeryFastMasturbation
- true
- 0
- 225
-
-
- LayingPawn
-
-
- 6
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
- Slimy
- 8
- 85.17255
- 58.0615845
- 0
- 0.03527552
- 0.0471138731
- 0
- 3
- 3
-
-
- 1
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
-
-
-
-
-
- 6
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
- 8
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 1
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
-
-
-
- Orgasm
- false
- 0
-
-
- LayingPawn
-
-
- Slimy
- 6
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
- True
- Cum
- 80
- 85.17255
- 58.0615845
- 0
- 0.03527552
- 0.0471138731
- 0
- 3
- 3
-
-
- True
- Cum
- 90
- 92.15109
- 96.34238
- 0
- 0.0237147212
- 0.0432603136
- 0
- 3
- 3
-
-
- True
- Cum
- 70
- 92.15109
- 96.34238
- 0
- 0.0237147212
- 0.0432603136
- 0
- 3
- 3
-
-
- 70
- 92.15109
- 96.34238
- 0
- 0.0237147212
- 0.0432603136
- 0
- 3
- 3
-
-
- 1
- 81.65927
- 58.8843079
- 0
- 0.03912908
- 0.08950315
- 0
- 3
- 3
-
-
-
-
-
-
-
- 6
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
- 80
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 90
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 70
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 70
- -0.178146541
- -0.01672452
- 96.95889
-
-
-
- 1
- -0.2899
- -0.0282852575
- 98.13748
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Patch_SexToysMasturbation/Patch_SexToysMasturbation.csproj b/Patch_SexToysMasturbation/Patch_SexToysMasturbation.csproj
index d274c6a..925d3d9 100644
--- a/Patch_SexToysMasturbation/Patch_SexToysMasturbation.csproj
+++ b/Patch_SexToysMasturbation/Patch_SexToysMasturbation.csproj
@@ -83,7 +83,6 @@
-
\ No newline at end of file