diff --git a/.gitignore b/.gitignore
index 1c79e0c..d392330 100644
--- a/.gitignore
+++ b/.gitignore
@@ -348,3 +348,15 @@ healthchecksdb
/Source/Patches/OtherModPatches/HarmonyPatch_AlienRace.cs
/Source/Patches/ThingAnimationPatches/HarmonyPatch_ThingDrawAt.cs
/Defs/AnimationDefs/Animations_SexToys.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/HumanRotatedOffset.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality4v1.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality3v1.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality2v1.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/BasicBestiality1v1.xml
+/1.5/Defs/AnimationDefs/BasicBestiality/!BasicBestiality.xml
+/1.5/Defs/TestDoNotPush
+/1.5/Textures/AnimationProps/BEV
+1.6/Defs/HawkTestDefs/Basic Fuck Stage 1.xml
+1.6/Defs/HawkTestDefs/Basic Fuck Stage 2.xml
+1.6/Defs/HawkTestDefs/Basic Fuck Stage 3.xml
+1.6/Defs/HawkTestDefs/BasicFuck.xml
diff --git a/1.1/Assemblies/Rimworld-Animations.dll b/1.1/Assemblies/Rimworld-Animations.dll
deleted file mode 100644
index b2bba40..0000000
Binary files a/1.1/Assemblies/Rimworld-Animations.dll and /dev/null differ
diff --git a/1.2/Assemblies/Rimworld-Animations.dll b/1.2/Assemblies/Rimworld-Animations.dll
deleted file mode 100644
index 13afe5e..0000000
Binary files a/1.2/Assemblies/Rimworld-Animations.dll and /dev/null differ
diff --git a/1.2/Defs/AnimationDefs/AnimationDefs.rar b/1.2/Defs/AnimationDefs/AnimationDefs.rar
deleted file mode 100644
index e7bf2a1..0000000
Binary files a/1.2/Defs/AnimationDefs/AnimationDefs.rar and /dev/null differ
diff --git a/1.2/Defs/AnimationDefs/Animations_Beast.xml b/1.2/Defs/AnimationDefs/Animations_Beast.xml
deleted file mode 100644
index 30d14fc..0000000
--- a/1.2/Defs/AnimationDefs/Animations_Beast.xml
+++ /dev/null
@@ -1,2180 +0,0 @@
-
-
-
- Dog_Doggystyle
-
- true
-
- Anal
- Vaginal
-
-
-
- VaginalBreeding
- AnalBreeding
-
-
-
-
-
- Human
-
- true
-
-
-
- Wolf_Timber
- Wolf_Arctic
- Whitefox
- Warg
- Husky
- LabradorRetriever
-
- AEXP_WelshTerrier
- AEXP_Rottweiler
- AEXP_Poodle
- AEXP_GreatDane
- AEXP_GermanShepherd
- AEXP_FrenchBulldog
- AEXP_Corgi
- AEXP_CatAbyssinian
- AEXP_CatBengal
- AEXP_CatMaineCoon
- AEXP_CatSphynx
-
-
- QuadrupedAnimalWithHooves
- QuadrupedAnimalWithPawsAndTail
-
- true
- true
-
-
-
-
-
-
-
- Fuck
- true
- 765
- 0
-
-
- LayingPawn
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 8
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 8
- Fuck
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 1
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
-
-
-
-
- Knot
- False
- 71
- 0
-
-
- LayingPawn
-
-
- true
- 60
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 6
- Cum
- 53.7
- 28.4
- 0.068
- -0.038
- 1
- 1
-
-
- 4
- 51.7
- 33.4
- 0.098
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 60
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 6
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 4
- Fuck
- -41.6
- 0
- -0.383
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
- LayingPawn
-
-
- 40
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 40
- Cum
- 57.7
- 28.4
- 0.073
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- Horse_Cowgirl
-
- true
-
- Anal
- Vaginal
-
-
-
- RequestVaginalBreeding
- RequestAnalBreeding
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
- Horse
-
-
- QuadrupedAnimalWithHooves
-
- true
-
-
-
-
-
-
-
- Insertion
- false
- 0
-
-
-
-
- 180
- -24.337
- -37.1218948
- 0
- 0.698042035
- -0.20718734
- 0
- 3
- 3
-
-
- 70
- -2.54239845
- 7.31265259
- 0
- 0.606091142
- -0.045959726
- 0
- 3
- 3
- Slimy
-
-
- 60
- -4.84361649
- -23.6405125
- 0
- 0.650456548
- -0.0570534021
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 250
- 177.083145
- 0
- 0
- -0.256229281
- -0.362511069
- 0
- 1
- 0
-
-
-
- 60
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- SlowFuck
- true
- 1300
- 0
-
-
-
-
- 80
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
-
-
- 49
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
-
- LayingPawn
-
-
- 80
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
- 49
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- Transition
- false
- 0
-
-
-
-
- 50
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
- 15
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.48456946
- -0.489136577
- 0
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 50
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
- 15
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FastFuck
- true
- 1260
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 24
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FasterFuck
- true
- 418
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
- 8
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 8
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- Cum
- True
- 318
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
- true
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
- Cum
-
-
- 25
- -49.8178673
- 2.654541
- 0
- 0.5175133
- -0.547725141
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
-
-
- 25
- 173.81427
- 0
- 0
- -0.197662517
- -0.545600235
- 0
- 1
- 0
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.2/Defs/AnimationDefs/Animations_Lesbian.xml b/1.2/Defs/AnimationDefs/Animations_Lesbian.xml
deleted file mode 100644
index 56d805a..0000000
--- a/1.2/Defs/AnimationDefs/Animations_Lesbian.xml
+++ /dev/null
@@ -1,1782 +0,0 @@
-
-
-
- Tribadism
-
- true
-
- Scissoring
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
-
-
- Human
-
- true
- true
-
- Vagina
-
-
-
-
-
-
-
- Tribbing
- true
- 992
- 0
-
-
- LayingPawn
-
-
-
- 20
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 20
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 20
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
-
-
- 20
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 20
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 20
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
- TribadismFast
- true
- 682
- 0
-
-
- LayingPawn
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
-
-
- 10
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 10
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 10
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
-
- Cunnilingus
-
- true
-
- Oral
- Fingering
- Cunnilingus
-
-
-
- Cunnilingus
- CunnilingusF
- CunnilingusRape
- CunnilingusRapeF
-
- Fingering
- FingeringF
- FingeringRape
- FingeringRapeF
-
- Fisting
- FistingF
- FistingRape
- FistingRapeF
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
- (-0.2, 0.1)
-
-
-
-
- Human
-
- true
-
- (-0.1, 0.15)
-
-
-
-
-
-
-
-
- Initial
- False
- 0
-
-
-
-
- 60
- -81.06536
- -56.4483032
- 0
- -0.0624052179
- -0.437134951
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 60
- -27.578373
- 0.2816162
- 0
- 0.102704488
- 0.50675
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Slow
- True
- 1497
- 0
-
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 60
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 120
- -86.52611
- -68.86432
- 0
- -0.05432228
- -0.439906
- 0
- 1
- 1
-
-
- 40
- -88.36286
- -84.3309
- 0
- -0.06637782
- -0.440140843
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 60
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Transition
- False
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
- Fast
- True
- 710
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -3.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Faster
- True
- 360
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Cum
- True
- 639
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- True
- 80
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
- Cum
-
-
- 40
- -99.80413
- -94.4023743
- 0
- -0.01950606
- -0.447728932
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 80
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
-
-
- 40
- -38.5277061
- -1.13140869
- 0
- 0.0376501828
- 0.42935127
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
-
-
diff --git a/1.2/Defs/AnimationDefs/Animations_Masturbate.xml b/1.2/Defs/AnimationDefs/Animations_Masturbate.xml
deleted file mode 100644
index 2968fa1..0000000
--- a/1.2/Defs/AnimationDefs/Animations_Masturbate.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/1.2/Defs/AnimationDefs/Animations_Multi.xml b/1.2/Defs/AnimationDefs/Animations_Multi.xml
deleted file mode 100644
index ce4e595..0000000
--- a/1.2/Defs/AnimationDefs/Animations_Multi.xml
+++ /dev/null
@@ -1,657 +0,0 @@
-
-
-
- Double_Penetration
-
- true
-
- DoublePenetration
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
-
-
- Slow
- true
- 976
- 0
-
-
-
-
-
- 25
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 35
- 48.1
- 16.3
- 0
- 0.188
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 30
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 12
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 27
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 33
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Face_Fuck
- true
- 650
- 0
-
-
-
-
-
- 13
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 6
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 6
- 62.7
- 0.2
- 0.08
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 13
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 12
- 2
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 13
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 12
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Cum
- true
- 392
- 0
-
-
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- true
- 120
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 30
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 120
- 9
- -15.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 9
- 7
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
- -10
-
-
-
-
-
-
- LayingPawn
-
-
- 43
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Cum
- 120
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 30
- -6.7
- -7
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.2/Defs/AnimationDefs/Animations_Vanilla2.xml b/1.2/Defs/AnimationDefs/Animations_Vanilla2.xml
deleted file mode 100644
index fcab1a9..0000000
--- a/1.2/Defs/AnimationDefs/Animations_Vanilla2.xml
+++ /dev/null
@@ -1,377 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.2/Defs/AnimationDefs/Animations_vanilla.xml b/1.2/Defs/AnimationDefs/Animations_vanilla.xml
deleted file mode 100644
index 079753a..0000000
--- a/1.2/Defs/AnimationDefs/Animations_vanilla.xml
+++ /dev/null
@@ -1,2796 +0,0 @@
-
-
-
-
- Doggystyle
-
- true
-
- Vaginal
- Anal
-
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 612
- 0
-
-
-
-
- 0
- 10
- 27
- 0.298
- 0.166
- 0
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 0
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 27
- 0
- 10
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
-
-
-
- 40
- Fuck
- -17
- -0.217
- 0.272
- 5.4
- 1
- 1
-
-
- 1
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Fast_Fuck
- true
- 609
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
- 12
- 32
- 0.326
- 0.190
- 4
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
-
-
-
- 12
- Fuck
- -12
- -0.217
- 0.272
- 9
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Cum
- true
- 300
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
- Cum
- 100
- 32
- 0.326
- 0.190
- -1
- 1
- 1
- true
-
-
- 12
- 35
- 0.326
- 0.190
- -14
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
-
-
- 100
- -12
- -0.217
- 0.272
- -9
- 1
- 1
-
-
- 12
- -15
- -0.227
- 0.272
- -4
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
-
-
- Blowjob
-
- true
-
- Oral
- Fellatio
-
-
- Handjob
- HandjobF
- HandjobRape
- HandjobRapeF
-
- Breastjob
- BreastjobF
- BreastjobRape
- BreastjobRapeF
-
- Fellatio
- FellatioF
- FellatioRape
- FellatioRapeF
-
- Beakjob
- BeakjobF
- BeakjobRape
- BeakjobRapeF
-
-
-
-
-
-
-
- Human
-
-
- (0, -0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Slow_Suck
- true
- 1140
- 0
-
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.16
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.15
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
-
- 6
- 0
- -0.33
- 0
- 0
- -0.13
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- -4
- 0
- -0.33
- 0
- 0
- -0.12
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 35
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 59
- 0
- 0
- 0.490
- 2
- 2
- -0.003
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Face_Fuck
- true
- 300
- 0
-
-
-
-
- 15
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 14
- 0
- 0
- -0.270
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 15
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
-
-
- 12
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- 7
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 7
- Suck
- 0
- 0
- -0.290
- 0
- 0
- -0.008
-
-
- 60
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 14
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 12
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 7
- Cum
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 7
- 0
- 0
- 0.50
- 2
- 2
- -0.04
-
-
- true
- 60
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
-
-
-
- ReverseStandAndCarry
-
- true
-
- Anal
- Vaginal
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
- Human
-
- true
-
- (0, 0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 1080
- 0
-
-
-
-
- 30
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 29
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 30
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 29
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 13
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 12
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Cum
- true
- 415
- 0
-
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- true
- 75
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 27
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Cum
- 75
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 40
- 27
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
- Cowgirl
-
- true
-
- Anal
- Vaginal
-
-
-
- AnalSex
- AnalSexF
- AnalRapeF
- VaginalSex
- VaginalSexF
- VaginalRapeF
-
-
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Human
-
- true
- true
-
- (0, -0.2)
-
-
-
-
-
-
-
- Slow_Fuck
- true
- 1340
- 0
-
-
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 13
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 13
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 13
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 13
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Cum
- true
- 594
- 0
-
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- true
- 45
- Cum
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- true
- 40
- 0
- 0
- 0
- 0.534
- 2
- 2
- 0
-
-
- 1
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 45
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 40
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.2/Defs/AnimationDefs/TemplateAnimation.xml b/1.2/Defs/AnimationDefs/TemplateAnimation.xml
deleted file mode 100644
index 0305903..0000000
--- a/1.2/Defs/AnimationDefs/TemplateAnimation.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
diff --git a/1.2/Defs/JobDefs/Jobs_SexForAnim.xml b/1.2/Defs/JobDefs/Jobs_SexForAnim.xml
deleted file mode 100644
index 20c0bca..0000000
--- a/1.2/Defs/JobDefs/Jobs_SexForAnim.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- JoinInBedAnimation
- Rimworld_Animations.JobDriver_SexCasualForAnimation
- joining someone in bed.
- false
-
-
-
- GettinLovedAnimation
- Rimworld_Animations.JobDriver_SexBaseRecieverLovedForAnimation
- lovin'.
- false
-
-
diff --git a/1.2/Defs/SoundDefs/Sounds_Sex.xml b/1.2/Defs/SoundDefs/Sounds_Sex.xml
deleted file mode 100644
index 4cce5d0..0000000
--- a/1.2/Defs/SoundDefs/Sounds_Sex.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-
-
-
-
- Cum
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/cum
-
-
-
- 30
- 40
-
-
- 0.8
- 1.2
-
-
- 0
- 51.86047
-
- False
-
-
-
-
- Sex
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/kucyu04
-
-
-
- 16
- 16
-
-
- 0.8
- 1.2
-
-
- 0
- 51.86047
-
- False
-
-
-
-
- Suck
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Suck/Suck_1
-
-
- Sex/Suck/Suck_2
-
-
- Sex/Suck/Suck_3
-
-
- Sex/Suck/Suck_4
-
-
- Sex/Suck/Suck_5
-
-
- Sex/Suck/Suck_6
-
-
- Sex/Suck/Suck_7
-
-
- Sex/Suck/Suck_8
-
-
- Sex/Suck/Suck_9
-
-
- Sex/Suck/Suck_10
-
-
-
- 20
- 35
-
-
- 1.0
- 1.0
-
-
- 0
- 51.86047
-
- NeverTwice
- false
-
-
-
-
- Fuck
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Clap_1
-
-
- Sex/Clap_2
-
-
- Sex/Clap_3
-
-
- Sex/Clap_4
-
-
- Sex/Clap_5
-
-
- Sex/Clap_6
-
-
- Sex/Clap_7
-
-
- Sex/Clap_8
-
-
-
- 45
- 70
-
-
- 1.0
- 1.0
-
-
- 0
- 51.86047
-
- NeverTwice
- false
-
-
-
-
- Slimy
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Slime/Slimy1
-
-
- Sex/Slime/Slimy2
-
-
- Sex/Slime/Slimy3
-
-
- Sex/Slime/Slimy4
-
-
- Sex/Slime/Slimy5
-
-
-
- 45
- 75
-
-
- 1.4
- 1.8
-
-
- 0
- 100
-
- NeverTwice
- false
-
-
-
-
\ No newline at end of file
diff --git a/1.2/Patch_HatsDisplaySelection/Properties/AssemblyInfo.cs b/1.2/Patch_HatsDisplaySelection/Properties/AssemblyInfo.cs
deleted file mode 100644
index 6905d78..0000000
--- a/1.2/Patch_HatsDisplaySelection/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Patch_HatsDisplaySelection")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Patch_HatsDisplaySelection")]
-[assembly: AssemblyCopyright("Copyright © 2021")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ba766964-1716-422d-a09e-29426f8eb9d5")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/1.2/Patch_HatsDisplaySelection/Source/Patches/Patch_HatsDisplaySelection.cs b/1.2/Patch_HatsDisplaySelection/Source/Patches/Patch_HatsDisplaySelection.cs
deleted file mode 100644
index 6f00a5a..0000000
--- a/1.2/Patch_HatsDisplaySelection/Source/Patches/Patch_HatsDisplaySelection.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using HatDisplaySelection;
-using Rimworld_Animations;
-using UnityEngine;
-using Verse;
-
-namespace Patch_HatsDisplaySelection
-{
- [HarmonyBefore(new string[] { "velc.HatsDisplaySelection" })]
- [HarmonyPatch(typeof(HatDisplaySelection.Patch), "Patch_PawnRenderer_RenderPawnInternal_Initialize")]
- public class Patch_HatsDisplaySelectionInitialize
-
- {
-
- public static void Prefix(PawnRenderer __instance, ref Pawn ___pawn, ref Vector3 rootLoc, ref float angle, ref Rot4 bodyFacing, ref Rot4 headFacing)
- {
-
- CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
- bodyAnim.animatePawn(ref rootLoc, ref angle, ref bodyFacing, ref headFacing);
- }
-
- public static void Postfix(PawnRenderer __instance)
- {
- PawnGraphicSet graphics = __instance.graphics;
- Pawn pawn = graphics.pawn;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
- if (!graphics.AllResolved)
- {
- graphics.ResolveAllGraphics();
- }
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && pawn.Map == Find.CurrentMap)
- {
- bodyAnim.tickGraphics(graphics);
-
-
- }
- }
- }
-}
diff --git a/1.2/Patches/AnimationPatch_CompBodyAnimator.xml b/1.2/Patches/AnimationPatch_CompBodyAnimator.xml
deleted file mode 100644
index fe3a27c..0000000
--- a/1.2/Patches/AnimationPatch_CompBodyAnimator.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- Always
-
-
- /Defs/ThingDef/comps
- Always
-
- /Defs/ThingDef
-
-
-
-
-
-
-
- /Defs/ThingDef/comps
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.2/Patches/CompatibilityPatch_HCSK.xml b/1.2/Patches/CompatibilityPatch_HCSK.xml
deleted file mode 100644
index 2c0b7a0..0000000
--- a/1.2/Patches/CompatibilityPatch_HCSK.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- Core SK
-
-
- Always
-
-
- /Defs/Verse.ThingDef/comps
- Always
-
- /Defs/Verse.ThingDef
-
-
-
-
-
-
-
- /Defs/Verse.ThingDef/comps
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.2/Sounds/Sex/Suck/suck_2.wav b/1.2/Sounds/Sex/Suck/suck_2.wav
deleted file mode 100644
index a8305c1..0000000
Binary files a/1.2/Sounds/Sex/Suck/suck_2.wav and /dev/null differ
diff --git a/1.2/Textures/UI/MainTab.png b/1.2/Textures/UI/MainTab.png
deleted file mode 100644
index 92f855f..0000000
Binary files a/1.2/Textures/UI/MainTab.png and /dev/null differ
diff --git a/1.3/Assemblies/Rimworld-Animations.dll b/1.3/Assemblies/Rimworld-Animations.dll
deleted file mode 100644
index 7f376ba..0000000
Binary files a/1.3/Assemblies/Rimworld-Animations.dll and /dev/null differ
diff --git a/1.3/Defs/AnimationDefs/AnimationDefs.rar b/1.3/Defs/AnimationDefs/AnimationDefs.rar
deleted file mode 100644
index e7bf2a1..0000000
Binary files a/1.3/Defs/AnimationDefs/AnimationDefs.rar and /dev/null differ
diff --git a/1.3/Defs/AnimationDefs/Animations_Beast.xml b/1.3/Defs/AnimationDefs/Animations_Beast.xml
deleted file mode 100644
index 30d14fc..0000000
--- a/1.3/Defs/AnimationDefs/Animations_Beast.xml
+++ /dev/null
@@ -1,2180 +0,0 @@
-
-
-
- Dog_Doggystyle
-
- true
-
- Anal
- Vaginal
-
-
-
- VaginalBreeding
- AnalBreeding
-
-
-
-
-
- Human
-
- true
-
-
-
- Wolf_Timber
- Wolf_Arctic
- Whitefox
- Warg
- Husky
- LabradorRetriever
-
- AEXP_WelshTerrier
- AEXP_Rottweiler
- AEXP_Poodle
- AEXP_GreatDane
- AEXP_GermanShepherd
- AEXP_FrenchBulldog
- AEXP_Corgi
- AEXP_CatAbyssinian
- AEXP_CatBengal
- AEXP_CatMaineCoon
- AEXP_CatSphynx
-
-
- QuadrupedAnimalWithHooves
- QuadrupedAnimalWithPawsAndTail
-
- true
- true
-
-
-
-
-
-
-
- Fuck
- true
- 765
- 0
-
-
- LayingPawn
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 8
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 8
- Fuck
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 1
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
-
-
-
-
- Knot
- False
- 71
- 0
-
-
- LayingPawn
-
-
- true
- 60
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 6
- Cum
- 53.7
- 28.4
- 0.068
- -0.038
- 1
- 1
-
-
- 4
- 51.7
- 33.4
- 0.098
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 60
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 6
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 4
- Fuck
- -41.6
- 0
- -0.383
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
- LayingPawn
-
-
- 40
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 40
- Cum
- 57.7
- 28.4
- 0.073
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- Horse_Cowgirl
-
- true
-
- Anal
- Vaginal
-
-
-
- RequestVaginalBreeding
- RequestAnalBreeding
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
- Horse
-
-
- QuadrupedAnimalWithHooves
-
- true
-
-
-
-
-
-
-
- Insertion
- false
- 0
-
-
-
-
- 180
- -24.337
- -37.1218948
- 0
- 0.698042035
- -0.20718734
- 0
- 3
- 3
-
-
- 70
- -2.54239845
- 7.31265259
- 0
- 0.606091142
- -0.045959726
- 0
- 3
- 3
- Slimy
-
-
- 60
- -4.84361649
- -23.6405125
- 0
- 0.650456548
- -0.0570534021
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 250
- 177.083145
- 0
- 0
- -0.256229281
- -0.362511069
- 0
- 1
- 0
-
-
-
- 60
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- SlowFuck
- true
- 1300
- 0
-
-
-
-
- 80
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
-
-
- 49
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
-
- LayingPawn
-
-
- 80
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
- 49
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- Transition
- false
- 0
-
-
-
-
- 50
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
- 15
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.48456946
- -0.489136577
- 0
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 50
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
- 15
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FastFuck
- true
- 1260
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 24
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FasterFuck
- true
- 418
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
- 8
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 8
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- Cum
- True
- 318
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
- true
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
- Cum
-
-
- 25
- -49.8178673
- 2.654541
- 0
- 0.5175133
- -0.547725141
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
-
-
- 25
- 173.81427
- 0
- 0
- -0.197662517
- -0.545600235
- 0
- 1
- 0
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.3/Defs/AnimationDefs/Animations_Lesbian.xml b/1.3/Defs/AnimationDefs/Animations_Lesbian.xml
deleted file mode 100644
index 56d805a..0000000
--- a/1.3/Defs/AnimationDefs/Animations_Lesbian.xml
+++ /dev/null
@@ -1,1782 +0,0 @@
-
-
-
- Tribadism
-
- true
-
- Scissoring
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
-
-
- Human
-
- true
- true
-
- Vagina
-
-
-
-
-
-
-
- Tribbing
- true
- 992
- 0
-
-
- LayingPawn
-
-
-
- 20
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 20
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 20
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
-
-
- 20
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 20
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 20
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
- TribadismFast
- true
- 682
- 0
-
-
- LayingPawn
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
-
-
- 10
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 10
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 10
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
-
- Cunnilingus
-
- true
-
- Oral
- Fingering
- Cunnilingus
-
-
-
- Cunnilingus
- CunnilingusF
- CunnilingusRape
- CunnilingusRapeF
-
- Fingering
- FingeringF
- FingeringRape
- FingeringRapeF
-
- Fisting
- FistingF
- FistingRape
- FistingRapeF
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
- (-0.2, 0.1)
-
-
-
-
- Human
-
- true
-
- (-0.1, 0.15)
-
-
-
-
-
-
-
-
- Initial
- False
- 0
-
-
-
-
- 60
- -81.06536
- -56.4483032
- 0
- -0.0624052179
- -0.437134951
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 60
- -27.578373
- 0.2816162
- 0
- 0.102704488
- 0.50675
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Slow
- True
- 1497
- 0
-
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 60
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 120
- -86.52611
- -68.86432
- 0
- -0.05432228
- -0.439906
- 0
- 1
- 1
-
-
- 40
- -88.36286
- -84.3309
- 0
- -0.06637782
- -0.440140843
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 60
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Transition
- False
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
- Fast
- True
- 710
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -3.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Faster
- True
- 360
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Cum
- True
- 639
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- True
- 80
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
- Cum
-
-
- 40
- -99.80413
- -94.4023743
- 0
- -0.01950606
- -0.447728932
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 80
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
-
-
- 40
- -38.5277061
- -1.13140869
- 0
- 0.0376501828
- 0.42935127
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
-
-
diff --git a/1.3/Defs/AnimationDefs/Animations_Masturbate.xml b/1.3/Defs/AnimationDefs/Animations_Masturbate.xml
deleted file mode 100644
index 2968fa1..0000000
--- a/1.3/Defs/AnimationDefs/Animations_Masturbate.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Defs/AnimationDefs/Animations_Multi.xml b/1.3/Defs/AnimationDefs/Animations_Multi.xml
deleted file mode 100644
index af7ea7a..0000000
--- a/1.3/Defs/AnimationDefs/Animations_Multi.xml
+++ /dev/null
@@ -1,660 +0,0 @@
-
-
-
- Double_Penetration
-
- true
-
- DoublePenetration
- Anal
- Oral
- Vaginal
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
-
-
- Slow
- true
- 976
- 0
-
-
-
-
-
- 25
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 35
- 48.1
- 16.3
- 0
- 0.188
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 30
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 12
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 27
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 33
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Face_Fuck
- true
- 650
- 0
-
-
-
-
-
- 13
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 6
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 6
- 62.7
- 0.2
- 0.08
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 13
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 12
- 2
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 13
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 12
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Cum
- true
- 392
- 0
-
-
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- true
- 120
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 30
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 120
- 9
- -15.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 9
- 7
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
- -10
-
-
-
-
-
-
- LayingPawn
-
-
- 43
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Cum
- 120
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 30
- -6.7
- -7
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.3/Defs/AnimationDefs/Animations_SexToys.xml b/1.3/Defs/AnimationDefs/Animations_SexToys.xml
deleted file mode 100644
index 320d3aa..0000000
--- a/1.3/Defs/AnimationDefs/Animations_SexToys.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
diff --git a/1.3/Defs/AnimationDefs/Animations_Vanilla2.xml b/1.3/Defs/AnimationDefs/Animations_Vanilla2.xml
deleted file mode 100644
index 71b02a9..0000000
--- a/1.3/Defs/AnimationDefs/Animations_Vanilla2.xml
+++ /dev/null
@@ -1,378 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Defs/AnimationDefs/Animations_vanilla.xml b/1.3/Defs/AnimationDefs/Animations_vanilla.xml
deleted file mode 100644
index 0fd61d5..0000000
--- a/1.3/Defs/AnimationDefs/Animations_vanilla.xml
+++ /dev/null
@@ -1,2799 +0,0 @@
-
-
-
-
- Doggystyle
-
- true
-
- Vaginal
- Anal
- DoublePenetration
-
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 612
- 0
-
-
-
-
- 0
- 10
- 27
- 0.298
- 0.166
- 0
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 0
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 27
- 0
- 10
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
-
-
-
- 40
- Fuck
- -17
- -0.217
- 0.272
- 5.4
- 1
- 1
-
-
- 1
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Fast_Fuck
- true
- 609
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
- 12
- 32
- 0.326
- 0.190
- 4
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
-
-
-
- 12
- Fuck
- -12
- -0.217
- 0.272
- 9
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Cum
- true
- 300
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
- Cum
- 100
- 32
- 0.326
- 0.190
- -1
- 1
- 1
- true
-
-
- 12
- 35
- 0.326
- 0.190
- -14
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
-
-
- 100
- -12
- -0.217
- 0.272
- -9
- 1
- 1
-
-
- 12
- -15
- -0.227
- 0.272
- -4
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
-
-
- Blowjob
-
- true
-
- Oral
- Fellatio
-
-
- Handjob
- HandjobF
- HandjobRape
- HandjobRapeF
-
- Breastjob
- BreastjobF
- BreastjobRape
- BreastjobRapeF
-
- Fellatio
- FellatioF
- FellatioRape
- FellatioRapeF
-
- Beakjob
- BeakjobF
- BeakjobRape
- BeakjobRapeF
-
-
-
-
-
-
-
- Human
-
-
- (0, -0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Slow_Suck
- true
- 1140
- 0
-
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.16
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.15
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
-
- 6
- 0
- -0.33
- 0
- 0
- -0.13
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- -4
- 0
- -0.33
- 0
- 0
- -0.12
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 35
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 59
- 0
- 0
- 0.490
- 2
- 2
- -0.003
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Face_Fuck
- true
- 300
- 0
-
-
-
-
- 15
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 14
- 0
- 0
- -0.270
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 15
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
-
-
- 12
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- 7
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 7
- Suck
- 0
- 0
- -0.290
- 0
- 0
- -0.008
-
-
- 60
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 14
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 12
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 7
- Cum
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 7
- 0
- 0
- 0.50
- 2
- 2
- -0.04
-
-
- true
- 60
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
-
-
-
- ReverseStandAndCarry
-
- true
-
- Anal
- Vaginal
- DoublePenetration
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
- Human
-
- true
-
- (0, 0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 1080
- 0
-
-
-
-
- 30
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 29
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 30
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 29
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 13
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 12
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Cum
- true
- 415
- 0
-
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- true
- 75
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 27
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Cum
- 75
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 40
- 27
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
- Cowgirl
-
- true
-
- Anal
- Vaginal
- DoublePenetration
-
-
-
- AnalSex
- AnalSexF
- AnalRapeF
- VaginalSex
- VaginalSexF
- VaginalRapeF
-
-
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Human
-
- true
- true
-
- (0, -0.2)
-
-
-
-
-
-
-
- Slow_Fuck
- true
- 1340
- 0
-
-
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 13
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 13
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 13
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 13
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Cum
- true
- 594
- 0
-
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- true
- 45
- Cum
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- true
- 40
- 0
- 0
- 0
- 0.534
- 2
- 2
- 0
-
-
- 1
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 45
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 40
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.3/Defs/AnimationDefs/TemplateAnimation.xml b/1.3/Defs/AnimationDefs/TemplateAnimation.xml
deleted file mode 100644
index 0305903..0000000
--- a/1.3/Defs/AnimationDefs/TemplateAnimation.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
diff --git a/1.3/Defs/MainTabDefs/MainButtonDef.xml b/1.3/Defs/MainTabDefs/MainButtonDef.xml
deleted file mode 100644
index 0674d24..0000000
--- a/1.3/Defs/MainTabDefs/MainButtonDef.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- OffsetManager
-
- Control pawn offsets
- Rimworld_Animations.MainTabWindow_OffsetConfigure
- 54
- false
- UI/MainTab
- true
-
-
-
\ No newline at end of file
diff --git a/1.3/Defs/SoundDefs/Sounds_Sex.xml b/1.3/Defs/SoundDefs/Sounds_Sex.xml
deleted file mode 100644
index 4cce5d0..0000000
--- a/1.3/Defs/SoundDefs/Sounds_Sex.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-
-
-
-
- Cum
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/cum
-
-
-
- 30
- 40
-
-
- 0.8
- 1.2
-
-
- 0
- 51.86047
-
- False
-
-
-
-
- Sex
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/kucyu04
-
-
-
- 16
- 16
-
-
- 0.8
- 1.2
-
-
- 0
- 51.86047
-
- False
-
-
-
-
- Suck
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Suck/Suck_1
-
-
- Sex/Suck/Suck_2
-
-
- Sex/Suck/Suck_3
-
-
- Sex/Suck/Suck_4
-
-
- Sex/Suck/Suck_5
-
-
- Sex/Suck/Suck_6
-
-
- Sex/Suck/Suck_7
-
-
- Sex/Suck/Suck_8
-
-
- Sex/Suck/Suck_9
-
-
- Sex/Suck/Suck_10
-
-
-
- 20
- 35
-
-
- 1.0
- 1.0
-
-
- 0
- 51.86047
-
- NeverTwice
- false
-
-
-
-
- Fuck
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Clap_1
-
-
- Sex/Clap_2
-
-
- Sex/Clap_3
-
-
- Sex/Clap_4
-
-
- Sex/Clap_5
-
-
- Sex/Clap_6
-
-
- Sex/Clap_7
-
-
- Sex/Clap_8
-
-
-
- 45
- 70
-
-
- 1.0
- 1.0
-
-
- 0
- 51.86047
-
- NeverTwice
- false
-
-
-
-
- Slimy
- MapOnly
-
- 1
- 1
-
-
-
-
- Sex/Slime/Slimy1
-
-
- Sex/Slime/Slimy2
-
-
- Sex/Slime/Slimy3
-
-
- Sex/Slime/Slimy4
-
-
- Sex/Slime/Slimy5
-
-
-
- 45
- 75
-
-
- 1.4
- 1.8
-
-
- 0
- 100
-
- NeverTwice
- false
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj b/1.3/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj
deleted file mode 100644
index 8da21a6..0000000
--- a/1.3/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {BA766964-1716-422D-A09E-29426F8EB9D5}
- Library
- Properties
- Patch_HatsDisplaySelection
- Patch_HatsDisplaySelection
- v4.7.2
- 512
- true
-
-
- false
- none
- false
- 1.2\Assemblies\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- ..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll
- False
-
-
- ..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll
- False
-
-
- ..\..\..\..\..\workshop\content\294100\1542291825\1.2\Assemblies\HatDisplaySelection.dll
- False
-
-
- ..\1.2\Assemblies\Rimworld-Animations.dll
- False
-
-
-
-
-
-
-
-
-
-
- ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll
- False
-
-
- ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll
- False
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Patches/CompPatches/AutoCleaner.xml b/1.3/Patches/CompPatches/AutoCleaner.xml
deleted file mode 100644
index c2ad860..0000000
--- a/1.3/Patches/CompPatches/AutoCleaner.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Always
-
-
- /Defs/ThingDef[@Name="BaseBaseAutocleaner"]/comps
- Always
-
- /Defs/ThingDef[@Name="BaseBaseAutocleaner"]/comps
-
-
-
-
-
-
-
-
-
diff --git a/1.3/Patches/CompPatches/CombatExtended.xml b/1.3/Patches/CompPatches/CombatExtended.xml
deleted file mode 100644
index 7d35127..0000000
--- a/1.3/Patches/CompPatches/CombatExtended.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- Always
-
-
- /Defs/ThingDef[@Name="BasePawnSimple"]/comps
- Always
-
- /Defs/ThingDef[@Name="BasePawnSimple"]/comps
-
-
-
-
-
-
-
-
diff --git a/1.3/Patches/CompPatches/ZombieLand.xml b/1.3/Patches/CompPatches/ZombieLand.xml
deleted file mode 100644
index e950e0e..0000000
--- a/1.3/Patches/CompPatches/ZombieLand.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- Always
-
-
- /Defs/ThingDef[@Name="BaseZombie"]/comps
- Always
-
- /Defs/ThingDef[@Name="BaseZombie"]/comps
-
-
-
-
-
-
-
-
diff --git a/1.3/Patches/CompatibilityPatch_FacialAnimation.xml b/1.3/Patches/CompatibilityPatch_FacialAnimation.xml
deleted file mode 100644
index 125d79f..0000000
--- a/1.3/Patches/CompatibilityPatch_FacialAnimation.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
- [NL] Facial Animation - WIP
-
-
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/targetJobs
- Always
-
- RJW_Masturbate
- GettinBred
- Bestiality
- BestialityForFemale
- ViolateCorpse
- Quickie
- GettingQuickie
- GettinRaped
- JoinInBed
- GettinLoved
- GettinLicked
- GettinSucked
- WhoreIsServingVisitors
- JoinInBedAnimation
- GettinLovedAnimation
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="WaitCombat" or defName="Wait_Combat_Rare"]/targetJobs
- Always
-
- RapeComfortPawn
- RandomRape
- RapeEnemy
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="StandAndBeSociallyActive"]/targetJobs
- Always
-
- WhoreInvitingVisitors
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Wear" or defName="Wear2" or defName="Wear3"]/targetJobs
- Always
-
- CleanSelf
- StruggleInBondageGear
-
-
-
-
- Rimworld-Animations
-
-
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/animationFrames/li[1]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[2]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[3]/headOffset
- Always
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Patches/CompatibilityPatch_HCSK.xml b/1.3/Patches/CompatibilityPatch_HCSK.xml
deleted file mode 100644
index ead8783..0000000
--- a/1.3/Patches/CompatibilityPatch_HCSK.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
- Core SK
-
-
- Always
-
-
- /Defs/ThingDef/comps
- Always
-
- /Defs/ThingDef
-
-
-
-
-
-
-
- /Defs/ThingDef[@Name="SK_BasePawn"]/comps
-
-
-
-
-
-
- /Defs/ThingDef[@Name="BaseAnimalPawn"]/comps
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.3/Patches/RacePatches/Epona race Renaissance.xml b/1.3/Patches/RacePatches/Epona race Renaissance.xml
deleted file mode 100644
index f39b509..0000000
--- a/1.3/Patches/RacePatches/Epona race Renaissance.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- Epona race Renaissance
-
-
-
-
- /Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Epona"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Epona_OHPG_female="Things/Pawn/Addons/Breasts/Breasts"]/drawnInBed
-
- false
-
-
-
-
-
-
-
diff --git a/1.3/Patches/RacePatches/Nyaron.xml b/1.3/Patches/RacePatches/Nyaron.xml
deleted file mode 100644
index 0a7a08e..0000000
--- a/1.3/Patches/RacePatches/Nyaron.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- Nyaron race
-
-
-
-
- /Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Nyaron"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPart="tail"]
-
- false
-
-
-
-
-
-
-
diff --git a/1.3/Sounds/Sex/Clap_1.wav b/1.3/Sounds/Sex/Clap_1.wav
deleted file mode 100644
index bccd0f2..0000000
Binary files a/1.3/Sounds/Sex/Clap_1.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_2.wav b/1.3/Sounds/Sex/Clap_2.wav
deleted file mode 100644
index a382f59..0000000
Binary files a/1.3/Sounds/Sex/Clap_2.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_3.wav b/1.3/Sounds/Sex/Clap_3.wav
deleted file mode 100644
index 65cf39b..0000000
Binary files a/1.3/Sounds/Sex/Clap_3.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_4.wav b/1.3/Sounds/Sex/Clap_4.wav
deleted file mode 100644
index 3ae1b3e..0000000
Binary files a/1.3/Sounds/Sex/Clap_4.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_5.wav b/1.3/Sounds/Sex/Clap_5.wav
deleted file mode 100644
index 65144e7..0000000
Binary files a/1.3/Sounds/Sex/Clap_5.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_6.wav b/1.3/Sounds/Sex/Clap_6.wav
deleted file mode 100644
index 0026325..0000000
Binary files a/1.3/Sounds/Sex/Clap_6.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_7.wav b/1.3/Sounds/Sex/Clap_7.wav
deleted file mode 100644
index 6d7de2a..0000000
Binary files a/1.3/Sounds/Sex/Clap_7.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Clap_8.wav b/1.3/Sounds/Sex/Clap_8.wav
deleted file mode 100644
index 1af5710..0000000
Binary files a/1.3/Sounds/Sex/Clap_8.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Slime/Slimy1.wav b/1.3/Sounds/Sex/Slime/Slimy1.wav
deleted file mode 100644
index 3cfbd74..0000000
Binary files a/1.3/Sounds/Sex/Slime/Slimy1.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Slime/Slimy2.wav b/1.3/Sounds/Sex/Slime/Slimy2.wav
deleted file mode 100644
index 36a9197..0000000
Binary files a/1.3/Sounds/Sex/Slime/Slimy2.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Slime/Slimy3.wav b/1.3/Sounds/Sex/Slime/Slimy3.wav
deleted file mode 100644
index 40aff1e..0000000
Binary files a/1.3/Sounds/Sex/Slime/Slimy3.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Slime/Slimy4.wav b/1.3/Sounds/Sex/Slime/Slimy4.wav
deleted file mode 100644
index 0b6404e..0000000
Binary files a/1.3/Sounds/Sex/Slime/Slimy4.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Slime/Slimy5.wav b/1.3/Sounds/Sex/Slime/Slimy5.wav
deleted file mode 100644
index ea310db..0000000
Binary files a/1.3/Sounds/Sex/Slime/Slimy5.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_1.wav b/1.3/Sounds/Sex/Suck/Suck_1.wav
deleted file mode 100644
index 4f1eafd..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_1.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_10.wav b/1.3/Sounds/Sex/Suck/Suck_10.wav
deleted file mode 100644
index 284cda3..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_10.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_3.wav b/1.3/Sounds/Sex/Suck/Suck_3.wav
deleted file mode 100644
index 95e7348..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_3.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_4.wav b/1.3/Sounds/Sex/Suck/Suck_4.wav
deleted file mode 100644
index 753a023..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_4.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_5.wav b/1.3/Sounds/Sex/Suck/Suck_5.wav
deleted file mode 100644
index 8ecda9c..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_5.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_6.wav b/1.3/Sounds/Sex/Suck/Suck_6.wav
deleted file mode 100644
index 08567d6..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_6.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_7.wav b/1.3/Sounds/Sex/Suck/Suck_7.wav
deleted file mode 100644
index a63b0e4..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_7.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_8.wav b/1.3/Sounds/Sex/Suck/Suck_8.wav
deleted file mode 100644
index 320da09..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_8.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Suck_9.wav b/1.3/Sounds/Sex/Suck/Suck_9.wav
deleted file mode 100644
index 7ab538a..0000000
Binary files a/1.3/Sounds/Sex/Suck/Suck_9.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Swallow_1.wav b/1.3/Sounds/Sex/Suck/Swallow_1.wav
deleted file mode 100644
index f3276cc..0000000
Binary files a/1.3/Sounds/Sex/Suck/Swallow_1.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Swallow_2.wav b/1.3/Sounds/Sex/Suck/Swallow_2.wav
deleted file mode 100644
index 09a7a00..0000000
Binary files a/1.3/Sounds/Sex/Suck/Swallow_2.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/Swallow_3.wav b/1.3/Sounds/Sex/Suck/Swallow_3.wav
deleted file mode 100644
index 2817b29..0000000
Binary files a/1.3/Sounds/Sex/Suck/Swallow_3.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/Suck/suck_2.wav b/1.3/Sounds/Sex/Suck/suck_2.wav
deleted file mode 100644
index a8305c1..0000000
Binary files a/1.3/Sounds/Sex/Suck/suck_2.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/cum.wav b/1.3/Sounds/Sex/cum.wav
deleted file mode 100644
index ef98437..0000000
Binary files a/1.3/Sounds/Sex/cum.wav and /dev/null differ
diff --git a/1.3/Sounds/Sex/kucyu04.wav b/1.3/Sounds/Sex/kucyu04.wav
deleted file mode 100644
index 3ae1ce8..0000000
Binary files a/1.3/Sounds/Sex/kucyu04.wav and /dev/null differ
diff --git a/1.3/Source/Actors/BodyTypeOffset.cs b/1.3/Source/Actors/BodyTypeOffset.cs
deleted file mode 100644
index 82a23a3..0000000
--- a/1.3/Source/Actors/BodyTypeOffset.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- public class BodyTypeOffset {
-
- public Vector2? Male;
- public Vector2? Female;
- public Vector2? Thin;
- public Vector2? Hulk;
- public Vector2? Fat;
-
- }
-}
diff --git a/1.3/Source/Animations/AnimationStage.cs b/1.3/Source/Animations/AnimationStage.cs
deleted file mode 100644
index 7a1304e..0000000
--- a/1.3/Source/Animations/AnimationStage.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public class AnimationStage
- {
- public string stageName;
- public int stageIndex;
- public int playTimeTicks = 0;
- public int playTimeTicksQuick = -1;
- public bool isLooping;
- public List animationClips;
- public List tags = new List();
-
- public void initialize() {
- foreach (BaseAnimationClip clip in animationClips) {
- clip.buildSimpleCurves();
- //select playTimeTicks as longest playtime of all the animations
- if(clip.duration > playTimeTicks) {
- playTimeTicks = clip.duration;
- }
- }
- }
- }
-}
diff --git a/1.3/Source/Animations/Clips/BaseAnimationClip.cs b/1.3/Source/Animations/Clips/BaseAnimationClip.cs
deleted file mode 100644
index aa35b31..0000000
--- a/1.3/Source/Animations/Clips/BaseAnimationClip.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public abstract class BaseAnimationClip
- {
- public Dictionary SoundEffects = new Dictionary();
- public List types; //types of participants
- public int duration;
- public abstract void buildSimpleCurves();
- public string soundDef = null; //for playing sounds
- public int actor;
- public List tags = new List();
- }
-}
diff --git a/1.3/Source/Animations/Clips/PawnAnimationClip.cs b/1.3/Source/Animations/Clips/PawnAnimationClip.cs
deleted file mode 100644
index e9d2489..0000000
--- a/1.3/Source/Animations/Clips/PawnAnimationClip.cs
+++ /dev/null
@@ -1,115 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public class PawnAnimationClip : BaseAnimationClip {
-
- public List keyframes;
- public AltitudeLayer layer = AltitudeLayer.Pawn;
-
- public Dictionary quiver = new Dictionary();
- public SimpleCurve GenitalAngle = new SimpleCurve();
- public SimpleCurve BodyAngle = new SimpleCurve();
- public SimpleCurve HeadAngle = new SimpleCurve();
- public SimpleCurve HeadBob = new SimpleCurve();
- public SimpleCurve BodyOffsetX = new SimpleCurve();
- public SimpleCurve BodyOffsetZ = new SimpleCurve();
- public SimpleCurve HeadFacing = new SimpleCurve();
- public SimpleCurve BodyFacing = new SimpleCurve();
-
-
- public override void buildSimpleCurves() {
-
-
- int duration = 0;
- //getting the length of the whole clip
- foreach(PawnKeyframe frame in keyframes) {
- duration += frame.tickDuration;
- }
-
- //guarantees loops don't get cut off mid-anim
- this.duration = duration;
-
- int keyframePosition = 0;
- foreach (PawnKeyframe frame in keyframes) {
-
- if (frame.atTick.HasValue) {
- if (frame.bodyAngle.HasValue)
- BodyAngle.Add((float)frame.atTick / (float)duration, frame.bodyAngle.Value, true);
-
- if (frame.headAngle.HasValue)
- HeadAngle.Add((float)frame.atTick / (float)duration, frame.headAngle.Value, true);
-
- if (frame.bodyOffsetX.HasValue)
- BodyOffsetX.Add((float)frame.atTick / (float)duration, frame.bodyOffsetX.Value, true);
-
- if (frame.bodyOffsetZ.HasValue)
- BodyOffsetZ.Add((float)frame.atTick / (float)duration, frame.bodyOffsetZ.Value, true);
-
- if (frame.headFacing.HasValue)
- HeadFacing.Add((float)frame.atTick / (float)duration, frame.headFacing.Value, true);
-
- if (frame.bodyFacing.HasValue)
- BodyFacing.Add((float)frame.atTick / (float)duration, frame.bodyFacing.Value, true);
-
- if (frame.headBob.HasValue)
- HeadBob.Add((float)frame.atTick / (float)duration, frame.headBob.Value, true);
-
- if (frame.genitalAngle.HasValue)
- GenitalAngle.Add((float)frame.atTick / (float)duration, frame.genitalAngle.Value, true);
-
- if (frame.soundEffect != null) {
- SoundEffects.Add((int)frame.atTick, frame.soundEffect);
- }
-
-
- }
- else {
- if (frame.bodyAngle.HasValue)
- BodyAngle.Add((float)keyframePosition / (float)duration, frame.bodyAngle.Value, true);
-
- if (frame.headAngle.HasValue)
- HeadAngle.Add((float)keyframePosition / (float)duration, frame.headAngle.Value, true);
-
- if (frame.bodyOffsetX.HasValue)
- BodyOffsetX.Add((float)keyframePosition / (float)duration, frame.bodyOffsetX.Value, true);
-
- if (frame.bodyOffsetZ.HasValue)
- BodyOffsetZ.Add((float)keyframePosition / (float)duration, frame.bodyOffsetZ.Value, true);
-
- if (frame.headFacing.HasValue)
- HeadFacing.Add((float)keyframePosition / (float)duration, frame.headFacing.Value, true);
-
- if (frame.bodyFacing.HasValue)
- BodyFacing.Add((float)keyframePosition / (float)duration, frame.bodyFacing.Value, true);
-
- if (frame.headBob.HasValue)
- HeadBob.Add((float)keyframePosition / (float)duration, frame.headBob.Value, true);
-
- if (frame.genitalAngle.HasValue)
- GenitalAngle.Add((float)keyframePosition / (float)duration, frame.genitalAngle.Value, true);
-
- if (frame.soundEffect != null) {
- SoundEffects.Add(keyframePosition, frame.soundEffect);
- }
-
- if(frame.tickDuration != 1 && frame.quiver.HasValue) {
-
- quiver.Add(keyframePosition, true);
- quiver.Add(keyframePosition + frame.tickDuration - 1, false);
- }
- keyframePosition += frame.tickDuration;
-
- }
-
- }
-
- }
-
- }
-}
diff --git a/1.3/Source/Animations/Clips/ThingAnimationClip.cs b/1.3/Source/Animations/Clips/ThingAnimationClip.cs
deleted file mode 100644
index 26f4d4c..0000000
--- a/1.3/Source/Animations/Clips/ThingAnimationClip.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-
-namespace Rimworld_Animations {
- public class ThingAnimationClip : BaseAnimationClip
- {
- public List keyframes;
-
- public SimpleCurve PositionX = new SimpleCurve();
- public SimpleCurve PositionZ = new SimpleCurve();
- public SimpleCurve Rotation = new SimpleCurve();
-
-
- public override void buildSimpleCurves() {
- int duration = 0;
- //getting the length of the whole clip
- foreach (ThingKeyframe frame in keyframes)
- {
- duration += frame.tickDuration;
- }
-
- //guarantees loops don't get cut off mid-anim
- this.duration = duration;
-
- int keyframePosition = 0;
- foreach (ThingKeyframe frame in keyframes)
- {
-
- if (frame.atTick.HasValue)
- {
- if (frame.positionX.HasValue)
- PositionX.Add((float)frame.atTick / (float)duration, frame.positionX.Value, true);
-
- if (frame.positionZ.HasValue)
- PositionZ.Add((float)frame.atTick / (float)duration, frame.positionZ.Value, true);
-
- if (frame.rotation.HasValue)
- Rotation.Add((float)frame.atTick / (float)duration, frame.rotation.Value, true);
-
- if (frame.soundEffect != null)
- {
- SoundEffects.Add((int)frame.atTick, frame.soundEffect);
- }
-
-
- }
- else
- {
- if (frame.positionX.HasValue)
- PositionX.Add((float)keyframePosition / (float)duration, frame.positionX.Value, true);
-
- if (frame.positionZ.HasValue)
- PositionZ.Add((float)keyframePosition / (float)duration, frame.positionZ.Value, true);
-
- if (frame.rotation.HasValue)
- Rotation.Add((float)keyframePosition / (float)duration, frame.rotation.Value, true);
-
- if (frame.soundEffect != null)
- {
- SoundEffects.Add(keyframePosition, frame.soundEffect);
- }
- keyframePosition += frame.tickDuration;
-
- }
-
- }
- }
- }
-}
diff --git a/1.3/Source/Animations/Keyframes/Keyframe.cs b/1.3/Source/Animations/Keyframes/Keyframe.cs
deleted file mode 100644
index 8cd859d..0000000
--- a/1.3/Source/Animations/Keyframes/Keyframe.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public abstract class Keyframe
- {
- public int tickDuration = 1;
- public float? atTick;
- public string soundEffect;
- public List tags = new List();
- }
-}
diff --git a/1.3/Source/Animations/Keyframes/PawnKeyframe.cs b/1.3/Source/Animations/Keyframes/PawnKeyframe.cs
deleted file mode 100644
index e710981..0000000
--- a/1.3/Source/Animations/Keyframes/PawnKeyframe.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace Rimworld_Animations {
- public class PawnKeyframe : Keyframe
- {
- public float? bodyAngle;
- public float? headAngle;
-
- public float? genitalAngle;
-
- public float? bodyOffsetZ;
- public float? bodyOffsetX;
-
- public float? headBob;
- //todo: add headOffsets l/r?
-
- public int? bodyFacing;
- public int? headFacing;
-
- public bool? quiver;
-
- }
-}
diff --git a/1.3/Source/Animations/Keyframes/ThingKeyframe.cs b/1.3/Source/Animations/Keyframes/ThingKeyframe.cs
deleted file mode 100644
index 6604f5e..0000000
--- a/1.3/Source/Animations/Keyframes/ThingKeyframe.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public class ThingKeyframe : Keyframe
- {
-
- public float? positionX;
- public float? positionZ;
- public float? rotation;
-
-
-
- }
-}
diff --git a/1.3/Source/Comps/CompBodyAnimator.cs b/1.3/Source/Comps/CompBodyAnimator.cs
deleted file mode 100644
index 7910f7d..0000000
--- a/1.3/Source/Comps/CompBodyAnimator.cs
+++ /dev/null
@@ -1,527 +0,0 @@
-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.Sound;
-
-namespace Rimworld_Animations {
- public class CompBodyAnimator : ThingComp
- {
- public Pawn pawn => base.parent as Pawn;
- public PawnGraphicSet Graphics;
-
- //public CompProperties_BodyAnimator Props => (CompProperties_BodyAnimator)(object)base.props;
-
- public bool isAnimating {
- get {
- return Animating;
- }
- set {
- Animating = value;
-
- if (value == true) {
- SexUtility.DrawNude(pawn);
- } else {
- pawn.Drawer.renderer.graphics.ResolveAllGraphics();
- actorsInCurrentAnimation = null;
- }
-
- PortraitsCache.SetDirty(pawn);
- }
- }
- private bool Animating = false;
- private bool mirror = false, quiver = false, shiver = false;
- private int actor;
-
- private int lastDrawFrame = -1;
-
- private int animTicks = 0, stageTicks = 0, clipTicks = 0;
- private int curStage = 0;
- private float clipPercent = 0;
-
- public Vector3 anchor = Vector3.zero, deltaPos = Vector3.zero, headBob = Vector3.zero;
- public float bodyAngle = 0, headAngle = 0, genitalAngle = 0;
- public Rot4 headFacing = Rot4.North, bodyFacing = Rot4.North;
-
- public List actorsInCurrentAnimation;
-
- public bool controlGenitalAngle = false;
- public bool fastAnimForQuickie = false;
-
- private AnimationDef anim;
- private AnimationStage stage {
- get
- {
- return anim.animationStages[curStage];
- }
-
- }
- private PawnAnimationClip clip => (PawnAnimationClip)stage.animationClips[actor];
-
- public bool Mirror {
- get {
- return mirror;
- }
- }
-
- public void setAnchor(IntVec3 pos)
- {
- anchor = pos.ToVector3Shifted();
- }
- public void setAnchor(Thing thing) {
-
- //center on bed
- if(thing is Building_Bed) {
- anchor = thing.Position.ToVector3();
- if (((Building_Bed)thing).SleepingSlotsCount == 2) {
- if (thing.Rotation.AsInt == 0) {
- anchor.x += 1;
- anchor.z += 1;
- }
- else if (thing.Rotation.AsInt == 1) {
- anchor.x += 1;
- }
- else if(thing.Rotation.AsInt == 3) {
- anchor.z += 1;
- }
-
- }
- else {
- if(thing.Rotation.AsInt == 0) {
- anchor.x += 0.5f;
- anchor.z += 1f;
- }
- else if(thing.Rotation.AsInt == 1) {
- anchor.x += 1f;
- anchor.z += 0.5f;
- }
- else if(thing.Rotation.AsInt == 2) {
- anchor.x += 0.5f;
- } else {
- anchor.z += 0.5f;
- }
- }
- }
- else {
- anchor = thing.Position.ToVector3Shifted();
- }
- }
- public void StartAnimation(AnimationDef anim, List actors, int actor, bool mirror = false, bool shiver = false, bool fastAnimForQuickie = false) {
-
- actorsInCurrentAnimation = actors;
-
- if (anim.actors.Count <= actor)
- {
- return;
- }
- AlienRaceOffset raceOffset = anim?.actors[actor]?.raceOffsets?.Find(x => x.defName == pawn.def.defName);
-
- if (raceOffset != null) {
- anchor.x += mirror ? raceOffset.offset.x * -1f : raceOffset.offset.x;
- anchor.z += raceOffset.offset.y;
- }
-
- //change the offset based on pawn body type
- if(pawn?.story?.bodyType != null) {
- if (pawn.story.bodyType == BodyTypeDefOf.Fat && anim?.actors[actor]?.bodyTypeOffset?.Fat != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Fat.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Fat.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Female && anim?.actors[actor]?.bodyTypeOffset?.Female != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Female.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Female.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Male && anim?.actors[actor]?.bodyTypeOffset?.Male != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Male.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Male.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Thin && anim?.actors[actor]?.bodyTypeOffset?.Thin != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Thin.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Thin.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Hulk && anim?.actors[actor]?.bodyTypeOffset?.Hulk != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Hulk.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Hulk.Value.y;
- }
- }
-
- pawn.jobs.posture = PawnPosture.Standing;
-
- this.actor = actor;
- this.anim = anim;
- this.mirror = mirror;
- this.fastAnimForQuickie = fastAnimForQuickie;
-
- if (fastAnimForQuickie && anim.animationStages.Any(x => x.playTimeTicksQuick >= 0) == false)
- {
- curStage = 1;
- animTicks = anim.animationStages[0].playTimeTicks;
- } else
- {
- curStage = 0;
- animTicks = 0;
- }
-
- stageTicks = 0;
- clipTicks = 0;
-
- quiver = false;
- this.shiver = shiver && AnimationSettings.rapeShiver;
-
- controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
-
- isAnimating = true;
- //tick once for initialization
- tickAnim();
-
- }
-
- public override void CompTick() {
-
- base.CompTick();
-
- if(isAnimating) {
-
- GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);
-
- if (pawn.Dead || pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex))) {
- isAnimating = false;
- }
- else {
- tickAnim();
- }
- }
- }
- public void animatePawnBody(ref Vector3 rootLoc, ref float angle, ref Rot4 bodyFacing) {
-
- if(!isAnimating) {
- return;
- }
- rootLoc = anchor + deltaPos;
- angle = bodyAngle;
- bodyFacing = this.bodyFacing;
-
- }
-
- public Rot4 AnimateHeadFacing()
- {
- return this.headFacing;
- }
-
-
- public void tickGraphics(PawnGraphicSet graphics) {
- this.Graphics = graphics;
- }
-
- public void tickAnim() {
-
-
-
- if (!isAnimating) return;
-
- if (anim == null) {
- isAnimating = false;
- return;
- }
-
- animTicks++;
-
- if (animTicks < anim.animationTimeTicks) {
- tickStage();
- } else {
-
- if(LoopNeverending())
- {
- ResetOnLoop();
- } else
- {
- isAnimating = false;
- }
-
-
- }
-
-
-
- }
-
- public void tickStage()
- {
-
- if(stage == null)
- {
- isAnimating = false;
- return;
- }
-
- stageTicks++;
-
- if(stageTicks >= stage.playTimeTicks || (fastAnimForQuickie && stage.playTimeTicksQuick >= 0 && stageTicks >= stage.playTimeTicksQuick)) {
-
- curStage++;
-
- stageTicks = 0;
- clipTicks = 0;
- clipPercent = 0;
- }
-
- if(curStage >= anim.animationStages.Count) {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- pawn.jobs.curDriver.ReadyForNextToil();
- }
-
- } else {
- tickClip();
- }
-
-
-
- }
-
- public void tickClip() {
-
- clipTicks++;
-
- //play sound effect
- if(rjw.RJWSettings.sounds_enabled && clip.SoundEffects.ContainsKey(clipTicks) && AnimationSettings.soundOverride) {
-
-
- SoundInfo sound = new TargetInfo(pawn.Position, pawn.Map);
- string soundEffectName = clip.SoundEffects[clipTicks];
-
-
- if ((pawn.jobs.curDriver as JobDriver_Sex).isAnimalOnAnimal)
- {
- sound.volumeFactor *= RJWSettings.sounds_animal_on_animal_volume;
- }
-
- if(soundEffectName.StartsWith("Voiceline_"))
- {
- sound.volumeFactor *= RJWSettings.sounds_voice_volume;
- }
-
- if (clip.SoundEffects[clipTicks] == "Cum") {
-
- sound.volumeFactor *= RJWSettings.sounds_cum_volume;
- //considerApplyingSemen();
-
- } else
- {
- sound.volumeFactor *= RJWSettings.sounds_sex_volume;
- }
-
- SoundDef.Named(soundEffectName).PlayOneShot(sound);
-
- }
- if(AnimationSettings.orgasmQuiver && clip.quiver.ContainsKey(clipTicks)) {
- quiver = clip.quiver[clipTicks];
- }
-
- //loop animation if possible
- if (clipPercent >= 1 && stage.isLooping) {
- clipTicks = 1;//warning: don't set to zero or else calculations go wrong
- }
- clipPercent = (float)clipTicks / (float)clip.duration;
-
- calculateDrawValues();
- }
-
- public void considerApplyingSemen()
- {
- if(AnimationSettings.applySemenOnAnimationOrgasm && (pawn?.jobs?.curDriver is JobDriver_Sex))
- {
-
- if (anim.sexTypes.Contains((pawn.jobs.curDriver as JobDriver_Sex).Sexprops.sexType))
- {
- //SemenHelper.calculateAndApplySemen((pawn.jobs.curDriver as JobDriver_Sex).Sexprops);
- }
- }
- }
-
- public void calculateDrawValues() {
-
- /*if(Find.TickManager.TickRateMultiplier > 1 && (lastDrawFrame + 1 >= RealTime.frameCount || RealTime.deltaTime < 0.05f)) {
- return;
- }*/
-
- deltaPos = new Vector3(clip.BodyOffsetX.Evaluate(clipPercent) * (mirror ? -1 : 1), clip.layer.AltitudeFor(), clip.BodyOffsetZ.Evaluate(clipPercent));
-
- string bodyTypeDef = (pawn.story?.bodyType != null) ? pawn.story.bodyType.ToString() : "";
-
- if (AnimationSettings.offsets != null && AnimationSettings.offsets.ContainsKey(CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex)) {
- deltaPos.x += AnimationSettings.offsets[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex].x * (mirror ? -1 : 1);
- deltaPos.z += AnimationSettings.offsets[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex].y;
- }
-
-
- bodyAngle = (clip.BodyAngle.Evaluate(clipPercent) + (quiver || shiver ? ((Rand.Value * AnimationSettings.shiverIntensity) - (AnimationSettings.shiverIntensity / 2f)) : 0f)) * (mirror ? -1 : 1);
- headAngle = clip.HeadAngle.Evaluate(clipPercent) * (mirror ? -1 : 1);
-
- if (controlGenitalAngle) {
- genitalAngle = clip.GenitalAngle.Evaluate(clipPercent) * (mirror ? -1 : 1);
- }
-
- if (AnimationSettings.rotation != null && AnimationSettings.rotation.ContainsKey(CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex)) {
- float offsetRotation = AnimationSettings.rotation[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex] * (Mirror ? -1 : 1);
- genitalAngle += offsetRotation;
- bodyAngle += offsetRotation;
- headAngle += offsetRotation;
- }
-
-
- //don't go past 360 or less than 0
-
- if (bodyAngle < 0) bodyAngle = 360 - ((-1f*bodyAngle) % 360);
- if (bodyAngle > 360) bodyAngle %= 360;
-
-
- if (headAngle < 0) headAngle = 360 - ((-1f * headAngle) % 360);
- if (headAngle > 360) headAngle %= 360;
-
- if (genitalAngle < 0) genitalAngle = 360 - ((-1f * genitalAngle) % 360);
- if (genitalAngle > 360) genitalAngle %= 360;
-
-
- bodyFacing = mirror ? new Rot4((int)clip.BodyFacing.Evaluate(clipPercent)).Opposite : new Rot4((int)clip.BodyFacing.Evaluate(clipPercent));
-
- bodyFacing = new Rot4((int)clip.BodyFacing.Evaluate(clipPercent));
- if(bodyFacing.IsHorizontal && mirror) {
- bodyFacing = bodyFacing.Opposite;
- }
-
- headFacing = new Rot4((int)clip.HeadFacing.Evaluate(clipPercent));
- if(headFacing.IsHorizontal && mirror) {
- headFacing = headFacing.Opposite;
- }
- headBob = new Vector3(0, 0, clip.HeadBob.Evaluate(clipPercent));
-
- lastDrawFrame = RealTime.frameCount;
-
- }
-
- public Vector3 getPawnHeadPosition() {
-
- Vector3 headPos = anchor + deltaPos + Quaternion.AngleAxis(bodyAngle, Vector3.up) * (pawn.Drawer.renderer.BaseHeadOffsetAt(headFacing) + headBob);
-
- return headPos;
-
- }
-
- public Vector3 getPawnHeadOffset()
- {
- return Quaternion.AngleAxis(bodyAngle, Vector3.up) * (pawn.Drawer.renderer.BaseHeadOffsetAt(headFacing) + headBob);
-
- }
-
- public AnimationDef CurrentAnimation {
- get {
- return anim;
- }
- }
-
- public int ActorIndex {
- get {
- return actor;
- }
- }
-
- public override void PostExposeData() {
- base.PostExposeData();
-
- Scribe_Defs.Look(ref anim, "RJWAnimations-Anim");
-
- Scribe_Values.Look(ref animTicks, "RJWAnimations-animTicks", 1);
- Scribe_Values.Look(ref stageTicks, "RJWAnimations-stageTicks", 1);
- Scribe_Values.Look(ref clipTicks, "RJWAnimations-clipTicks", 1);
- Scribe_Values.Look(ref clipPercent, "RJWAnimations-clipPercent", 1);
- Scribe_Values.Look(ref mirror, "RJWAnimations-mirror");
-
- Scribe_Values.Look(ref curStage, "RJWAnimations-curStage", 0);
- Scribe_Values.Look(ref actor, "RJWAnimations-actor");
-
- Scribe_Values.Look(ref anchor, "RJWAnimations-anchor");
- Scribe_Values.Look(ref deltaPos, "RJWAnimations-deltaPos");
- Scribe_Values.Look(ref headBob, "RJWAnimations-headBob");
- Scribe_Values.Look(ref bodyAngle, "RJWAnimations-bodyAngle");
- Scribe_Values.Look(ref headAngle, "RJWAnimations-headAngle");
-
- Scribe_Values.Look(ref genitalAngle, "RJWAnimations-GenitalAngle");
- Scribe_Values.Look(ref controlGenitalAngle, "RJWAnimations-controlGenitalAngle");
-
- Scribe_Values.Look(ref headFacing, "RJWAnimations-headFacing");
- Scribe_Values.Look(ref headFacing, "RJWAnimations-bodyFacing");
-
- Scribe_Values.Look(ref quiver, "RJWAnimations-orgasmQuiver");
- }
-
- public void shiftActorPositionAndRestartAnimation() {
- actor = (actor == anim.actors.Count - 1 ? 0 : actor + 1);
-
- if (pawn?.story?.bodyType != null) {
- if (pawn.story.bodyType == BodyTypeDefOf.Fat && anim?.actors[actor]?.bodyTypeOffset?.Fat != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Fat.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Fat.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Female && anim?.actors[actor]?.bodyTypeOffset?.Female != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Female.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Female.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Male && anim?.actors[actor]?.bodyTypeOffset?.Male != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Male.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Male.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Thin && anim?.actors[actor]?.bodyTypeOffset?.Thin != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Thin.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Thin.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Hulk && anim?.actors[actor]?.bodyTypeOffset?.Hulk != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Hulk.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Hulk.Value.y;
- }
- }
-
- curStage = 0;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
-
- tickAnim();
- }
-
- 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)
- {
- return true;
- }
-
- return false;
- }
-
- public void ResetOnLoop()
- {
- curStage = 1;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- tickAnim();
- }
- }
-}
diff --git a/1.3/Source/Comps/CompThingAnimator.cs b/1.3/Source/Comps/CompThingAnimator.cs
deleted file mode 100644
index f5315e4..0000000
--- a/1.3/Source/Comps/CompThingAnimator.cs
+++ /dev/null
@@ -1,245 +0,0 @@
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- public class CompThingAnimator : ThingComp
- {
- Vector3 anchor;
-
- Pawn pawn;
-
- public bool isAnimating = false, mirror;
-
- int animTicks = 0, stageTicks = 0, clipTicks = 0, curStage = 0;
- float rotation = 0;
- float clipPercent = 0;
-
- public Vector3 deltaPos;
-
- AnimationDef anim;
- private ThingAnimationClip clip => (ThingAnimationClip)stage.animationClips[1];
- private AnimationStage stage
- {
- get
- {
- return anim.animationStages[curStage];
- }
-
- }
-
- public void StartAnimation(AnimationDef anim, Pawn pawn, bool mirror = false)
- {
- isAnimating = true;
-
- this.anim = anim;
- this.pawn = pawn;
- this.mirror = mirror;
-
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- curStage = 0;
- clipPercent = 0;
-
- tickAnim();
-
- }
-
- public void setAnchor(IntVec3 position)
- {
- anchor = position.ToVector3();
- }
-
- public override void CompTick()
- {
- base.CompTick();
-
- if(isAnimating)
- {
- if (pawn.Dead || pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex)))
- {
- isAnimating = false;
- }
- else
- {
- tickAnim();
- }
- }
-
-
- }
-
- public void tickAnim()
- {
- if (!isAnimating) return;
- animTicks++;
-
- if (animTicks < anim.animationTimeTicks)
- {
- tickStage();
- }
- else
- {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- }
-
-
- }
-
- }
-
- public void tickStage()
- {
- if (stage == null)
- {
- isAnimating = false;
- return;
- }
-
- stageTicks++;
-
- if (stageTicks >= stage.playTimeTicks)
- {
-
- curStage++;
-
- stageTicks = 0;
- clipTicks = 0;
- clipPercent = 0;
- }
-
- if (curStage >= anim.animationStages.Count)
- {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- }
-
- }
- else
- {
- tickClip();
- }
- }
-
- public void tickClip()
- {
- clipTicks++;
-
- if (clipPercent >= 1 && stage.isLooping)
- {
- clipTicks = 1;//warning: don't set to zero or else calculations go wrong
- }
- clipPercent = (float)clipTicks / (float)clip.duration;
-
- calculateDrawValues();
- }
-
- public void setAnchor(Thing thing)
- {
-
- //center on bed
- if (thing is Building_Bed)
- {
- anchor = thing.Position.ToVector3();
- if (((Building_Bed)thing).SleepingSlotsCount == 2)
- {
- if (thing.Rotation.AsInt == 0)
- {
- anchor.x += 1;
- anchor.z += 1;
- }
- else if (thing.Rotation.AsInt == 1)
- {
- anchor.x += 1;
- }
- else if (thing.Rotation.AsInt == 3)
- {
- anchor.z += 1;
- }
-
- }
- else
- {
- if (thing.Rotation.AsInt == 0)
- {
- anchor.x += 0.5f;
- anchor.z += 1f;
- }
- else if (thing.Rotation.AsInt == 1)
- {
- anchor.x += 1f;
- anchor.z += 0.5f;
- }
- else if (thing.Rotation.AsInt == 2)
- {
- anchor.x += 0.5f;
- }
- else
- {
- anchor.z += 0.5f;
- }
- }
- }
- else
- {
- anchor = thing.Position.ToVector3Shifted();
- }
-
- anchor -= new Vector3(0.5f, 0, 0.5f);
- }
- private void calculateDrawValues()
- {
-
- //shift up and right 0.5f to align center
- deltaPos = new Vector3((clip.PositionX.Evaluate(clipPercent)) * (mirror ? -1 : 1) + 0.5f, AltitudeLayer.Item.AltitudeFor(), clip.PositionZ.Evaluate(clipPercent) + 0.5f);
- //Log.Message("Clip percent: " + clipPercent + " deltaPos: " + deltaPos);
- rotation = clip.Rotation.Evaluate(clipPercent) * (mirror ? -1 : 1);
- }
-
- public void AnimateThing(Thing thing)
- {
- thing.Graphic.Draw(deltaPos + anchor, mirror ? Rot4.West : Rot4.East, thing, rotation);
- }
-
- public bool LoopNeverending()
- {
- if (pawn?.jobs?.curDriver != null &&
- (pawn.jobs.curDriver is JobDriver_Sex) && (pawn.jobs.curDriver as JobDriver_Sex).neverendingsex)
- {
- return true;
- }
-
- return false;
- }
-
- public void ResetOnLoop()
- {
- curStage = 1;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- tickAnim();
- }
-
- }
-}
diff --git a/1.3/Source/Defs/AnimationDef.cs b/1.3/Source/Defs/AnimationDef.cs
deleted file mode 100644
index 395ff83..0000000
--- a/1.3/Source/Defs/AnimationDef.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public class AnimationDef : Def
- {
- public List animationStages;
- public List actors;
- public int animationTimeTicks = 0; //do not set manually
- public bool sounds = false;
- public List sexTypes = null;
- public List interactionDefTypes = null;
- public List tags = new List();
-
- public override void PostLoad() {
- base.PostLoad();
- foreach(AnimationStage stage in animationStages) {
- stage.initialize();
- animationTimeTicks += stage.playTimeTicks;
- }
- }
- }
-}
diff --git a/1.3/Source/Extensions/PawnWoundDrawerExtension.cs b/1.3/Source/Extensions/PawnWoundDrawerExtension.cs
deleted file mode 100644
index 4901de2..0000000
--- a/1.3/Source/Extensions/PawnWoundDrawerExtension.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-using System.Collections.Generic;
-using RimWorld;
-using UnityEngine;
-using Verse;
-using Rimworld_Animations;
-
-namespace Rimworld_Animations
-{
- [StaticConstructorOnStartup]
- public static class PawnWoundDrawerExtension
- {
- public static void RenderOverBody(this PawnWoundDrawer pawnWoundDrawer, Vector3 drawLoc, Mesh bodyMesh, Quaternion quat, bool drawNow, BodyTypeDef.WoundLayer layer, Rot4 pawnRot, bool? overApparel = null, Pawn pawn = null, PawnRenderFlags flags = new PawnRenderFlags())
- {
- if (pawn == null)
- { return; }
-
- if (!flags.FlagSet(PawnRenderFlags.Portrait) && layer == BodyTypeDef.WoundLayer.Head)
- {
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
- if (pawnAnimator != null && pawnAnimator.isAnimating && pawn.Drawer.renderer.graphics.headGraphic != null)
- {
- pawnRot = pawnAnimator.headFacing;
- quat = Quaternion.AngleAxis(angle: pawnAnimator.headAngle, axis: Vector3.up);
- float y = drawLoc.y;
- drawLoc = pawnAnimator.getPawnHeadPosition() - Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up) * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.headFacing);
- drawLoc.y = y;
- }
- }
-
- pawnWoundDrawer.RenderOverBody(drawLoc, bodyMesh, quat, drawNow, layer, pawnRot, overApparel);
- }
- }
-}
diff --git a/1.3/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs b/1.3/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
deleted file mode 100644
index b7fef1d..0000000
--- a/1.3/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- class MainTabWindow_OffsetConfigure : MainTabWindow
- {
-
- public override Vector2 RequestedTabSize => new Vector2(505, 380);
- public override void DoWindowContents(Rect inRect) {
-
- Rect position = new Rect(inRect.x, inRect.y, inRect.width, inRect.height);
-
-
- Listing_Standard listingStandard = new Listing_Standard();
- listingStandard.Begin(position);
-
- listingStandard.Label("Animation Manager");
-
- listingStandard.GapLine();
-
-
- if (Find.Selector.SingleSelectedThing is Pawn) {
-
- Pawn curPawn = Find.Selector.SingleSelectedThing as Pawn;
-
- 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() : "";
-
- if (AnimationSettings.offsets.ContainsKey(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex)) {
- offsetX = AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].x;
- offsetZ = AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].y;
- } else {
- AnimationSettings.offsets.Add(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex, new Vector2(0, 0));
- }
-
- if (AnimationSettings.rotation.ContainsKey(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex)) {
- rotation = AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex];
- }
- else {
- AnimationSettings.rotation.Add(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex, 0);
- }
-
- listingStandard.Label("Name: " + curPawn.Name + " Race: " + curPawn.def.defName + " Actor Index: " + curPawn.TryGetComp().ActorIndex + " Body Type (if any): " + bodyTypeDef + " Animation: " + def.label + (curPawn.TryGetComp().Mirror ? " mirrored" : ""));
-
- if(curPawn.def.defName == "Human") {
- 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 * (mirrored ? -1 : 1), 2 * (mirrored ? -1 : 1));
-
- float.TryParse(listingStandard.TextEntryLabeled("Z Offset: ", offsetZ.ToString()), out offsetZ);
- offsetZ = listingStandard.Slider(offsetZ, -2, 2);
-
- float.TryParse(listingStandard.TextEntryLabeled("Rotation: ", rotation.ToString()), out rotation);
- rotation = listingStandard.Slider(rotation, -180, 180);
-
- if(listingStandard.ButtonText("Reset All")) {
- offsetX = 0;
- offsetZ = 0;
- rotation = 0;
- }
-
- listingStandard.GapLine();
-
- if(listingStandard.ButtonText("Shift Actors")) {
-
- if(AnimationSettings.debugMode) {
- Log.Message("Shifting actors in animation...");
- }
-
- for(int i = 0; i < curPawn.TryGetComp().actorsInCurrentAnimation.Count; i++) {
-
- Pawn actor = curPawn.TryGetComp().actorsInCurrentAnimation[i];
-
- actor.TryGetComp()?.shiftActorPositionAndRestartAnimation();
-
- //reset the clock time of every pawn in animation
- if(actor.jobs.curDriver is rjw.JobDriver_Sex) {
- (actor.jobs.curDriver as rjw.JobDriver_Sex).ticks_left = def.animationTimeTicks;
- (actor.jobs.curDriver as rjw.JobDriver_Sex).ticksLeftThisToil = def.animationTimeTicks;
- (actor.jobs.curDriver as rjw.JobDriver_Sex).duration = def.animationTimeTicks;
- }
-
- }
-
- }
-
- if (offsetX != AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].x || offsetZ != AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].y) {
- AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex] = new Vector2(offsetX, offsetZ);
-
- }
-
- if(rotation != AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex]) {
- AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex] = rotation;
- }
-
- }
-
- }
- else {
- listingStandard.Label("Select a pawn currently in an animation to change their offsets");
- }
-
- listingStandard.End();
-
- }
-
- public override void PreOpen() {
- base.PreOpen();
- if(AnimationSettings.offsets == null) {
- if (AnimationSettings.debugMode)
- Log.Message("New offsets");
- AnimationSettings.offsets = new Dictionary();
- }
-
- if(AnimationSettings.rotation == null) {
- if (AnimationSettings.debugMode)
- Log.Message("New rotation");
- AnimationSettings.rotation = new Dictionary();
- }
- }
-
- public override void PostClose() {
- base.PostClose();
-
- LoadedModManager.GetMod().WriteSettings();
- }
- }
-}
diff --git a/1.3/Source/MainTabWindows/WorldComponent_UpdateMainTab.cs b/1.3/Source/MainTabWindows/WorldComponent_UpdateMainTab.cs
deleted file mode 100644
index 2694419..0000000
--- a/1.3/Source/MainTabWindows/WorldComponent_UpdateMainTab.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using RimWorld.Planet;
-using Verse;
-
-namespace Rimworld_Animations {
- public class WorldComponent_UpdateMainTab : WorldComponent {
-
- public WorldComponent_UpdateMainTab(World world) : base(world) {
-
- }
-
- public override void FinalizeInit() {
- base.FinalizeInit();
- OffsetMainButtonDefOf.OffsetManager.buttonVisible = AnimationSettings.offsetTab;
- }
-
-
- }
-}
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_AlienRace.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_AlienRace.cs
deleted file mode 100644
index b7198da..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_AlienRace.cs
+++ /dev/null
@@ -1,397 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-using AlienRace;
-
-namespace Rimworld_Animations {
-
-
- [StaticConstructorOnStartup]
- public static class HarmonyPatch_AlienRace
- {
- static HarmonyPatch_AlienRace()
- {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("AlienRace.HarmonyPatches"), "DrawAddons"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_AlienRace), "Prefix_AnimateHeadAddons")));
- }
-
-
- public static bool Prefix_AnimateHeadAddons(PawnRenderFlags renderFlags, Vector3 vector /*rootloc*/, Vector3 headOffset, Pawn pawn, Quaternion quat, Rot4 rotation)
- {
-
- 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;
- AlienPartGenerator.AlienComp comp = pawn.GetComp();
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
-
- for (int i = 0; i < addons.Count; i++)
- {
- AlienPartGenerator.BodyAddon ba = addons[index: i];
-
- if (!ba.CanDrawAddon(pawn: pawn)) continue;
-
- bool forceDrawForBody = false;
- if (alienProps.defName.Contains("Orassan") && ba.path.ToLower().Contains("tail"))
- {
- forceDrawForBody = true;
- }
- AlienPartGenerator.RotationOffset offset = ba.defaultOffsets.GetOffset((ba.drawnInBed && !forceDrawForBody) || ba.alignWithHead ? pawnAnimator.headFacing : pawnAnimator.bodyFacing);
- Vector3 a = (offset != null) ? offset.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero;
- AlienPartGenerator.RotationOffset offset2 = ba.offsets.GetOffset((ba.drawnInBed && !forceDrawForBody) || ba.alignWithHead ? pawnAnimator.headFacing : pawnAnimator.bodyFacing);
- Vector3 vector2 = a + ((offset2 != null) ? offset2.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero);
- vector2.y = (ba.inFrontOfBody ? (0.3f + vector2.y) : (-0.3f - vector2.y));
- float num = ba.angle;
- if (rotation == Rot4.North)
- {
- if (ba.layerInvert)
- {
- vector2.y = 0f - vector2.y;
- }
- num = 0f;
- }
- if (rotation == Rot4.East)
- {
- num = 0f - num;
- vector2.x = 0f - vector2.x;
- }
- Graphic addonGraphic = comp.addonGraphics[i];
-
- addonGraphic.drawSize = ((renderFlags.FlagSet(PawnRenderFlags.Portrait) && ba.drawSizePortrait != Vector2.zero) ? ba.drawSizePortrait : ba.drawSize) * (ba.scaleWithPawnDrawsize ? (ba.alignWithHead ? (renderFlags.FlagSet(PawnRenderFlags.Portrait) ? comp.customPortraitHeadDrawSize : comp.customHeadDrawSize) : (renderFlags.FlagSet(PawnRenderFlags.Portrait) ? comp.customPortraitDrawSize : comp.customDrawSize)) : Vector2.one) * 1.5f;
-
- Vector3 orassanv = Vector3.zero;
- bool orassan = false;
- if ((pawn.def as ThingDef_AlienRace).defName == "Alien_Orassan")
- {
- orassan = true;
-
- if (ba.path.Contains("closed"))
- {
- continue;
- }
-
- if (ba.bodyPart.Contains("ear"))
-
- {
- orassan = true;
-
- orassanv = new Vector3(0, 0, 0.23f);
- if (pawnAnimator.headFacing == Rot4.North)
- {
- orassanv.z -= 0.1f;
- orassanv.y += 1f;
-
- if (ba.bodyPart.Contains("left"))
- {
- orassanv.x += 0.03f;
- }
- else
- {
- orassanv.x -= 0.03f;
- }
-
- }
- else if (pawnAnimator.headFacing == Rot4.East)
- {
- orassanv.x -= 0.1f;
- }
- else if (pawnAnimator.headFacing == Rot4.West)
- {
- orassanv.x = 0.1f;
- }
- else
- {
- orassanv.z -= 0.1f;
- orassanv.y += 1f;
-
- if (ba.bodyPart.Contains("right"))
- {
- //orassanv.x += 0.3f;
- }
- else
- {
- //orassanv.x -= 0.3f;
- }
- }
- orassanv = orassanv.RotatedBy(pawnAnimator.headAngle);
- }
- }
-
-
- if ((ba.drawnInBed && !forceDrawForBody) || ba.alignWithHead)
- {
-
- Quaternion addonRotation = Quaternion.AngleAxis(pawnAnimator.headAngle < 0 ? 360 - (360 % pawnAnimator.headAngle) : pawnAnimator.headAngle, Vector3.up);
- /*
- *
- * genital rotation is borked
- if (AnimationSettings.controlGenitalRotation && pawnAnimator.controlGenitalAngle && ba?.hediffGraphics != null && ba.hediffGraphics.Count != 0 && ba.hediffGraphics[0]?.path != null && (ba.hediffGraphics[0].path.Contains("Penis") || ba.hediffGraphics[0].path.Contains("penis")))
- {
- addonRotation = Quaternion.AngleAxis(angle: pawnAnimator.genitalAngle < 0 ? 360 - (360 % pawnAnimator.genitalAngle) : pawnAnimator.genitalAngle, axis: Vector3.up);
- }
-
- */
-
- GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: pawnAnimator.headFacing), loc: vector /*rootloc*/ + orassanv + (ba.alignWithHead && !orassan ? headOffset : headOffset - addonRotation * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.headFacing)) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
- quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * addonRotation, mat: addonGraphic.MatAt(rot: pawnAnimator.headFacing), renderFlags.FlagSet(PawnRenderFlags.DrawNow));
-
-
- }
-
- else
- {
- Quaternion addonRotation = Quaternion.AngleAxis(pawnAnimator.bodyAngle, Vector3.up);
- if (AnimationSettings.controlGenitalRotation && pawnAnimator.controlGenitalAngle && ba?.hediffGraphics != null && ba.hediffGraphics.Count != 0 && ba.hediffGraphics[0]?.path != null && (ba.hediffGraphics[0].path.Contains("Penis") || ba.hediffGraphics[0].path.Contains("penis")))
- {
- GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: rotation), loc: vector + (ba.alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
- quat: Quaternion.AngleAxis(angle: pawnAnimator.genitalAngle, axis: Vector3.up), mat: addonGraphic.MatAt(rot: rotation), renderFlags.FlagSet(PawnRenderFlags.DrawNow));
- }
-
- else
- {
- GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: rotation), loc: vector + (ba.alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
- quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * addonRotation, mat: addonGraphic.MatAt(rot: rotation), renderFlags.FlagSet(PawnRenderFlags.DrawNow));
- }
-
- }
-
-
- }
-
- return false;
- }
- }
-
- [HarmonyPatch(typeof(PawnGraphicSet), "ResolveApparelGraphics")]
- public static class HarmonyPatch_ResolveApparelGraphics
- {
- public static bool Prefix(ref Pawn ___pawn)
- {
-
- if (___pawn.TryGetComp() != null && ___pawn.TryGetComp().isAnimating)
- {
- return false;
- }
- return true;
- }
- }
-
- /*
-
- [HarmonyPatch(typeof(AlienRace.HarmonyPatches), "DrawAddons")]
- public static class HarmonyPatch_AlienRace {
-
- public static void RenderHeadAddonInAnimation(Mesh mesh, Vector3 loc, Quaternion quat, Material mat, bool drawNow, Graphic graphic, AlienPartGenerator.BodyAddon bodyAddon, Vector3 v, Vector3 headOffset, Pawn pawn, PawnRenderFlags renderFlags, Vector3 vector, Rot4 rotation)
- {
-
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
- AlienPartGenerator.AlienComp comp = pawn.GetComp();
-
- if (pawnAnimator != null && pawnAnimator.isAnimating)
- {
-
- if((bodyAddon.drawnInBed || bodyAddon.alignWithHead))
- {
-
- AlienPartGenerator.RotationOffset offset = bodyAddon.defaultOffsets.GetOffset(rotation);
- Vector3 a = (offset != null) ? offset.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero;
- AlienPartGenerator.RotationOffset offset2 = bodyAddon.offsets.GetOffset(rotation);
- Vector3 vector2 = a + ((offset2 != null) ? offset2.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero);
- vector2.y = (bodyAddon.inFrontOfBody ? (0.3f + vector2.y) : (-0.3f - vector2.y));
- float num = bodyAddon.angle;
- if (rotation == Rot4.North)
- {
- if (bodyAddon.layerInvert)
- {
- vector2.y = -vector2.y;
- }
- num = 0f;
- }
- if (rotation == Rot4.East)
- {
- num = -num;
- vector2.x = -vector2.x;
- }
-
- vector = vector + Quaternion.AngleAxis(pawnAnimator.bodyAngle, Vector3.up) * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.bodyFacing) - pawnAnimator.getPawnHeadOffset(); //convert vector into pseudo body pos for head
- quat = Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up);
- loc = vector + (bodyAddon.alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(Mathf.Acos(Quaternion.Dot(Quaternion.identity, quat)) * 2f * 57.29578f);
- mat = graphic.MatAt(rot: pawnAnimator.headFacing);
- }
- else
- {
-
- AlienPartGenerator.RotationOffset offset = bodyAddon.defaultOffsets.GetOffset(rotation);
- Vector3 a = (offset != null) ? offset.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero;
- AlienPartGenerator.RotationOffset offset2 = bodyAddon.offsets.GetOffset(rotation);
- Vector3 vector2 = a + ((offset2 != null) ? offset2.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, comp.crownType) : Vector3.zero);
- vector2.y = (bodyAddon.inFrontOfBody ? (0.3f + vector2.y) : (-0.3f - vector2.y));
- float num = bodyAddon.angle;
- if (rotation == Rot4.North)
- {
- if (bodyAddon.layerInvert)
- {
- vector2.y = -vector2.y;
- }
- num = 0f;
- }
- if (rotation == Rot4.East)
- {
- num = -num;
- vector2.x = -vector2.x;
- }
- quat = Quaternion.AngleAxis(pawnAnimator.bodyAngle, Vector3.up);
- loc = vector + (bodyAddon.alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(Mathf.Acos(Quaternion.Dot(Quaternion.identity, quat)) * 2f * 57.29578f);
-
- }
-
- }
- GenDraw.DrawMeshNowOrLater(mesh, loc, quat, mat, drawNow);
-
- /*
- if (pawnAnimator != null && !renderFlags.FlagSet(PawnRenderFlags.Portrait) && pawnAnimator.isAnimating && (bodyAddon.drawnInBed || bodyAddon.alignWithHead))
- {
-
-
- if ((pawn.def as ThingDef_AlienRace).defName == "Alien_Orassan")
- {
- orassan = true;
-
- if(bodyAddon.path.Contains("closed"))
- {
- return;
- }
-
- if (bodyAddon.bodyPart.Contains("ear"))
-
- {
- orassan = true;
-
- orassanv = new Vector3(0, 0, 0.23f);
- if (pawnAnimator.headFacing == Rot4.North)
- {
- orassanv.z -= 0.1f;
- orassanv.y += 1f;
-
- if(bodyAddon.bodyPart.Contains("left"))
- {
- orassanv.x += 0.03f;
- } else
- {
- orassanv.x -= 0.03f;
- }
-
- }
- else if (pawnAnimator.headFacing == Rot4.East)
- {
- orassanv.x -= 0.1f;
- }
- else if (pawnAnimator.headFacing == Rot4.West)
- {
- orassanv.x = 0.1f;
- }
- else
- {
- orassanv.z -= 0.1f;
- orassanv.y += 1f;
-
- if (bodyAddon.bodyPart.Contains("right"))
- {
- orassanv.x += 0.05f;
- }
- else
- {
- orassanv.x -= 0.05f;
- }
- }
- orassanv = orassanv.RotatedBy(pawnAnimator.headAngle);
- }
- }
-
-
-
-
-
- GenDraw.DrawMeshNowOrLater(mesh: graphic.MeshAt(rot: headRotInAnimation), loc: loc + orassanv + (bodyAddon.alignWithHead ? headOffset : Vector3.zero),// + v.RotatedBy(Mathf.Acos(Quaternion.Dot(Quaternion.identity, quat)) * 2f * 57.29578f),
- quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * headQuatInAnimation, mat: graphic.MatAt(rot: pawnAnimator.headFacing), drawNow: drawNow);;
- }
-
- else
- {
-
- }
-
-
- }
-
-
- public static IEnumerable Transpiler(IEnumerable instructions)
- {
- List ins = instructions.ToList();
- for (int i = 0; i < ins.Count; i++)
- {
-
- Type[] type = new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool) };
-
-
- if (ins[i].OperandIs(AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater", type)))
- {
-
- yield return new CodeInstruction(OpCodes.Ldloc, (object)7); //graphic
- yield return new CodeInstruction(OpCodes.Ldloc, (object)4); //bodyAddon
- yield return new CodeInstruction(OpCodes.Ldloc, (object)5); //offsetVector/AddonOffset (v)
- yield return new CodeInstruction(OpCodes.Ldarg, (object)2); //headOffset
- yield return new CodeInstruction(OpCodes.Ldarg, (object)3); //pawn
- yield return new CodeInstruction(OpCodes.Ldarg, (object)0); //renderflags
- yield return new CodeInstruction(OpCodes.Ldarg, (object)1); //vector
- yield return new CodeInstruction(OpCodes.Ldarg, (object)5); //rotation
-
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(HarmonyPatch_AlienRace), "RenderHeadAddonInAnimation"));
-
- }
-
- else
- {
- yield return ins[i];
- }
- }
- }
-
- public static bool Prefix(PawnRenderFlags renderFlags, ref Vector3 vector, ref Vector3 headOffset, Pawn pawn, ref Quaternion quat, ref Rot4 rotation)
- {
- if(pawn == null)
- {
- return true;
- }
-
- CompBodyAnimator anim = pawn.TryGetComp();
-
- if(anim == null)
- {
- return true;
- }
-
- if (anim != null && !renderFlags.FlagSet(PawnRenderFlags.Portrait) && anim.isAnimating)
- {
- //quat = Quaternion.AngleAxis(anim.bodyAngle, Vector3.up);
- }
-
- return true;
-
- }
- }
-
-
- */
-
-}
-
-
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs
deleted file mode 100644
index 8345ede..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using rjw;
-using Verse;
-using RimWorld;
-using System.Reflection.Emit;
-using System.Reflection;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class HarmonyPatch_CSL {
- static HarmonyPatch_CSL() {
- try {
- ((Action)(() => {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "Children, school and learning")) {
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("Children.PawnRenderer_RenderPawnInternal_Patch"), "RenderPawnInternalScaled"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_CSL), "Prefix_CSL")),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_CSL), "Transpiler_CSL")));
- }
- }))();
- }
- catch (TypeLoadException ex) {
-
- }
- }
-
- public static void Prefix_CSL(PawnRenderer __instance, Pawn pawn, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, ref Rot4 headFacing, RotDrawMode bodyDrawType, bool portrait, bool headStump, bool invisible) {
-
- PawnGraphicSet graphics = __instance.graphics;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
- if (!graphics.AllResolved) {
- graphics.ResolveAllGraphics();
- }
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && !portrait) {
- bodyAnim.tickGraphics(graphics);
- pawn.TryGetComp().animatePawn(ref rootLoc, ref angle, ref bodyFacing, ref headFacing);
-
- }
- }
-
- public static IEnumerable Transpiler_CSL(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
- FieldInfo headGraphic = AccessTools.Field(typeof(PawnGraphicSet), "headGraphic");
-
-
- List codes = instructions.ToList();
- bool forHead = true;
- for (int i = 0; i < codes.Count(); i++) {
-
- //Instead of calling drawmeshnoworlater, add pawn to the stack and call my special static method
- if (codes[i].OperandIs(drawMeshNowOrLater) && forHead) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg_2);
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn), typeof(float) }));
-
- }
- //checking for if(graphics.headGraphic != null)
- else if (codes[i].opcode == OpCodes.Ldfld && codes[i].OperandIs(headGraphic)) {
- forHead = true;
- yield return codes[i];
- }
- //checking for if(renderbody)
- else if (codes[i].opcode == OpCodes.Ldarg_3) {
- forHead = false;
- yield return codes[i];
- }
- else {
- yield return codes[i];
- }
- }
- }
-
- }
-}*/
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs
deleted file mode 100644
index 3cb2a63..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace Rimworld_Animations {
- class HarmonyPatch_DontShaveYourHead {
-
- [StaticConstructorOnStartup]
- public static class Patch_DontShaveYourHead {
-
- static Patch_DontShaveYourHead() {
- try {
- ((Action)(() =>
- {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "Don't Shave Your Head 1.0")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("DontShaveYourHead.Harmony_PawnRenderer"), "DrawHairReroute"), //typeof(ShowHair.Patch_PawnRenderer_RenderPawnInternal), nameof(ShowHair.Patch_PawnRenderer_RenderPawnInternal.Postfix)),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(Patch_ShowHairWithHats), "Transpiler")));
- }
- }))();
- }
- catch (TypeLoadException ex) { }
- }
- }
- }
-}
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
deleted file mode 100644
index 83ffd5b..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class Patch_FacialAnimation {
-
- static Patch_FacialAnimation() {
- try {
- ((Action)(() => {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "[NL] Facial Animation - WIP")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("FacialAnimation.DrawFaceGraphicsComp"), "DrawGraphics"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(Patch_FacialAnimation), "Prefix")));
- }
- }))();
- }
- catch (TypeLoadException ex) {
-
- }
- }
-
- public static bool Prefix(ref Pawn ___pawn, ref Rot4 headFacing, ref Vector3 headOrigin, ref Quaternion quaternion, ref bool portrait) {
-
- CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
-
- if (bodyAnim != null && bodyAnim.isAnimating && !portrait) {
-
- headFacing = bodyAnim.headFacing;
- headOrigin = new Vector3(bodyAnim.getPawnHeadPosition().x, headOrigin.y, bodyAnim.getPawnHeadPosition().z);
- quaternion = Quaternion.AngleAxis(bodyAnim.headAngle, Vector3.up);
- }
-
- return true;
- }
- /*
- public static List rjwLovinDefNames = new List{
- "Lovin",
- "Quickie",
- "GettingQuickie",
- "JoinInBed",
- "JoinInBedAnimation",
- "GettinLovedAnimation",
- "GettinLoved",
- "GettinLicked",
- "GettinSucked",
- "GettinRaped",
- "ViolateCorpse",
- "RJW_Masturbate",
- "GettinBred",
- "Breed",
- "RJW_Mate",
- "Bestiality",
- "BestialityForFemale",
- "StruggleInBondageGear",
- "WhoreIsServingVisitors",
- "UseFM"
- };
-
- public static List rjwRapeDefNames = new List {
- "RapeComfortPawn",
- "RandomRape",
- "RapeEnemy"
- };
-
- public static bool Prefix_IsSameA(JobDef job, string ___jobDef, ref bool __result) {
-
- if(___jobDef != null && ___jobDef == "Lovin" && job?.defName != null && rjwLovinDefNames.Contains(job?.defName)) {
- __result = true;
- return false;
- }
- else if (___jobDef != null && ___jobDef == "Wait_Combat" && job?.defName != null && rjwRapeDefNames.Contains(job?.defName)) {
- __result = true;
- return false;
- }
-
-
- return true;
- }
-
- public static bool Prefix_IsSameB(string jobName, string ___jobDef, ref bool __result) {
-
- if (___jobDef != null && ___jobDef == "Lovin" && jobName != null && rjwLovinDefNames.Contains(jobName)) {
- __result = true;
- return false;
- }
- if (___jobDef != null && ___jobDef == "Wait_Combat" && jobName != null && rjwRapeDefNames.Contains(jobName)) {
- __result = true;
- return false;
- }
-
- return true;
- }
- */
- }
-}
\ No newline at end of file
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs
deleted file mode 100644
index 1cd5707..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-/*using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using UnityEngine;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace Rimworld_Animations {
- public static class HarmonyPatch_HatsDisplaySelection {
-
- public static void PatchHatsDisplaySelectionArgs() {
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHatCEWithHair"),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "ReplaceDrawMeshOrLaterWithAnimate")));
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHatWithHair"),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "ReplaceDrawMeshOrLaterWithAnimate")));
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHeadApparelWithHair"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "PrefixPatchForDrawHeadApparelWithHair")));
-
-
- }
-
- public static void PrefixPatchForDrawHeadApparelWithHair(PawnRenderer renderer, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, ref Rot4 headFacing, RotDrawMode bodyDrawType, bool portrait, bool headStump, bool invisible)
- {
- PawnGraphicSet graphics = renderer.graphics;
- Pawn pawn = graphics.pawn;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
- if (!graphics.AllResolved)
- {
- graphics.ResolveAllGraphics();
- }
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && !portrait && pawn.Map == Find.CurrentMap)
- {
- bodyAnim.tickGraphics(graphics);
- bodyAnim.animatePawn(ref rootLoc, ref angle, ref bodyFacing, ref headFacing);
-
- }
- }
-
-
- public static IEnumerable ReplaceDrawMeshOrLaterWithAnimate(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
- List codes = instructions.ToList();
- for (int i = 0; i < instructions.Count(); i++) {
-
-
- if (codes[i].
-
-
-(drawMeshNowOrLater)) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(AccessTools.TypeByName("HatDisplaySelection.Patch"), "pawn"));
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn) }));
-
- }
- else {
- yield return codes[i];
- }
-
- }
-
- }
-
- }
-}
-*/
\ No newline at end of file
diff --git a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs b/1.3/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs
deleted file mode 100644
index a42ab7d..0000000
--- a/1.3/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class Patch_ShowHairWithHats {
-
- static Patch_ShowHairWithHats() {
- try {
- ((Action)(() =>
- {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "[KV] Show Hair With Hats or Hide All Hats - 1.1")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("ShowHair.Patch_PawnRenderer_RenderPawnInternal"), "Postfix"), //typeof(ShowHair.Patch_PawnRenderer_RenderPawnInternal), nameof(ShowHair.Patch_PawnRenderer_RenderPawnInternal.Postfix)),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(Patch_ShowHairWithHats), "Transpiler")));
- }
- }))();
- }
- catch (TypeLoadException ex) { }
- }
-
-
- public static IEnumerable Transpiler(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
-
- List codes = instructions.ToList();
- for (int i = 0; i < codes.Count(); i++) {
-
- //Instead of calling drawmeshnoworlater, add pawn to the stack and call my special static method
- if (codes[i].OperandIs(drawMeshNowOrLater)) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn) }));
-
- }
- else {
- yield return codes[i];
- }
- }
- }
- }
-}
diff --git a/1.3/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs b/1.3/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs
deleted file mode 100644
index 6544f13..0000000
--- a/1.3/Source/Patches/RJWPatches/HarmonyPatch_PlaySexSounds.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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
-{
- [HarmonyPatch(typeof(JobDriver_Sex), "PlaySexSound")]
- class HarmonyPatch_PlaySexSounds
- {
- public static bool Prefix(JobDriver_Sex __instance)
- {
- if (__instance.pawn.TryGetComp().isAnimating)
- {
- return false;
- }
-
- return true;
- }
- }
-}
diff --git a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs b/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs
deleted file mode 100644
index 18c955e..0000000
--- a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_JoinInBed.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-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
-{
-
- [HarmonyPatch(typeof(Bed_Utility), "in_same_bed")]
- public static class HarmonyPatch_JobDriver_InSameBedPatch
- {
-
- public static bool Prefix(Pawn partner, ref bool __result)
- {
-
- if(partner != null && partner.CurJobDef == xxx.casual_sex)
- {
- __result = true;
- return false;
- }
-
- return true;
-
- }
-
-
-
- }
-
- [HarmonyPatch(typeof(JobDriver_JoinInBed), "MakeNewToils")]
- public static class HarmonyPatch_JobDriver_JoinInBed
- {
-
- public static void Postfix(JobDriver_JoinInBed __instance, ref IEnumerable __result)
- {
-
- var toils = __result.ToList();
-
- Toil goToPawnInBed = Toils_Goto.GotoThing(__instance.iTarget, PathEndMode.OnCell);
- goToPawnInBed.FailOn(() => !RestUtility.InBed(__instance.Partner) && __instance.Partner.CurJobDef != xxx.gettin_loved && !Bed_Utility.in_same_bed(__instance.Partner, __instance.pawn));
-
- toils[1] = goToPawnInBed;
-
-
- Toil startPartnerSex = new Toil();
- startPartnerSex.initAction = delegate {
-
-
- if (!(__instance.Partner.jobs.curDriver is JobDriver_SexBaseReciever)) // allows threesomes
- {
- Job gettinLovedJob = JobMaker.MakeJob(xxx.gettin_loved, __instance.pawn, __instance.Bed); // new gettin loved toil that wakes up the pawn goes here
- __instance.Partner.jobs.jobQueue.EnqueueFirst(gettinLovedJob);
- __instance.Partner.jobs.EndCurrentJob(JobCondition.InterruptForced);
- }
-
- };
-
- toils[2] = startPartnerSex;
-
- toils[3].AddPreTickAction(() =>
- {
- if (!__instance.Partner.TryGetComp().isAnimating)
- {
- __instance.pawn.TryGetComp().isAnimating = false;
- }
- });
-
-
- __result = toils.AsEnumerable();
-
-
- }
-
-
-
- }
-}
diff --git a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs b/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
deleted file mode 100644
index 260d924..0000000
--- a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
+++ /dev/null
@@ -1,191 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using rjw;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
- static class HarmonyPatch_JobDriver_SexBaseInitiator_Start {
- public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
- /*
- These particular jobs need special code
- don't play anim for now
- */
- if(__instance is JobDriver_Masturbate || __instance is JobDriver_ViolateCorpse) {
- return;
- }
-
- if(!AnimationSettings.PlayAnimForNonsexualActs && NonSexualAct(__instance))
- {
- return;
- }
-
- Pawn pawn = __instance.pawn;
-
- Building_Bed bed = __instance.Bed;
-
- if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {
-
- Pawn Target = __instance.Target as Pawn;
-
- bool quickie = (__instance is JobDriver_SexQuick) && AnimationSettings.fastAnimForQuickie;
-
- int preAnimDuration = __instance.duration;
- int AnimationTimeTicks = 0;
-
-
- if (bed != null) {
- RerollAnimations(Target, out AnimationTimeTicks, bed as Thing, __instance.Sexprops.sexType, quickie, sexProps: __instance.Sexprops);
- }
- else {
- RerollAnimations(Target, out AnimationTimeTicks, sexType: __instance.Sexprops.sexType, fastAnimForQuickie: quickie, sexProps: __instance.Sexprops);
- }
-
-
- //Modify Orgasm ticks to only orgasm as many times as RJW stock orgasm allows
- if(AnimationTimeTicks != 0)
- {
- __instance.orgasmstick = preAnimDuration * __instance.orgasmstick / AnimationTimeTicks;
- }
-
-
- }
- }
-
- public static void RerollAnimations(Pawn pawn, out int AnimationTimeTicks, Thing bed = null, xxx.rjwSextype sexType = xxx.rjwSextype.None, bool fastAnimForQuickie = false, rjw.SexProps sexProps = null) {
-
- AnimationTimeTicks = 0;
-
- if(pawn == null || !(pawn.jobs?.curDriver is JobDriver_SexBaseReciever)) {
- Log.Error("Error: Tried to reroll animations when pawn isn't sexing");
- return;
- }
-
- List pawnsToAnimate = (pawn.jobs.curDriver as JobDriver_SexBaseReciever).parteners.ToList();
-
- if (!pawnsToAnimate.Contains(pawn)) {
- pawnsToAnimate = pawnsToAnimate.Append(pawn).ToList();
- }
-
- for(int i = 0; i < pawnsToAnimate.Count; i++) {
-
- if(pawnsToAnimate[i].TryGetComp() == null) {
- Log.Error("Error: " + pawnsToAnimate[i].Name + " of race " + pawnsToAnimate[i].def.defName + " does not have CompBodyAnimator attached!");
- break;
- }
- }
-
- AnimationDef anim = AnimationUtility.tryFindAnimation(ref pawnsToAnimate, sexType, sexProps);
-
- if (anim != null) {
-
- bool mirror = GenTicks.TicksGame % 2 == 0;
-
- IntVec3 pos = pawn.Position;
-
- for (int i = 0; i < anim.actors.Count; i++)
- {
- pawnsToAnimate[i].TryGetComp().isAnimating = false;
- }
-
- for (int i = 0; i < pawnsToAnimate.Count; i++) {
-
- if (bed != null)
- pawnsToAnimate[i].TryGetComp().setAnchor(bed);
- else {
-
- pawnsToAnimate[i].TryGetComp().setAnchor(pos);
- }
-
- bool shiver = pawnsToAnimate[i].jobs.curDriver is JobDriver_SexBaseRecieverRaped;
- pawnsToAnimate[i].TryGetComp().StartAnimation(anim, pawnsToAnimate, i, mirror, shiver, fastAnimForQuickie);
-
- int animTicks = anim.animationTimeTicks - (fastAnimForQuickie ? anim.animationStages[0].playTimeTicks : 0);
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_left = animTicks;
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).sex_ticks = animTicks;
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).duration = animTicks;
-
-
- AnimationTimeTicks = animTicks;
-
- if(!AnimationSettings.hearts) {
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_between_hearts = Int32.MaxValue;
- }
-
- }
- }
- else {
- Log.Message("No animation found");
-
- /*
-
- //if pawn isn't already animating,
- if (!pawn.TryGetComp().isAnimating) {
- (pawn.jobs.curDriver as JobDriver_SexBaseReciever).increase_time(duration);
- //they'll just do the thrusting anim
- }
-
- */
- }
- }
-
-
- static IEnumerable NonSexActRulePackDefNames = new String[]
- {
- "MutualHandholdingRP",
- "MutualMakeoutRP",
- };
-
- public static bool NonSexualAct(JobDriver_SexBaseInitiator sexBaseInitiator)
- {
- if(NonSexActRulePackDefNames.Contains(sexBaseInitiator.Sexprops.rulePack))
- {
- return true;
- }
- return false;
- }
- }
-
- [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")]
- static class HarmonyPatch_JobDriver_SexBaseInitiator_End {
-
- public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
-
- if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {
- if (__instance.pawn.TryGetComp().isAnimating) {
-
- List parteners = ((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners;
-
- for (int i = 0; i < parteners.Count; i++) {
-
- //prevents pawns who started a new anim from stopping their new anim
- if (!((parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator) != null && (parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator).Target != __instance.pawn))
- parteners[i].TryGetComp().isAnimating = false;
-
- }
-
- __instance.Target.TryGetComp().isAnimating = false;
-
- if (xxx.is_human((__instance.Target as Pawn))) {
- (__instance.Target as Pawn)?.Drawer.renderer.graphics.ResolveApparelGraphics();
- PortraitsCache.SetDirty((__instance.Target as Pawn));
- }
- }
-
- ((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners.Remove(__instance.pawn);
-
- }
-
- if (xxx.is_human(__instance.pawn)) {
- __instance.pawn.Drawer.renderer.graphics.ResolveApparelGraphics();
- PortraitsCache.SetDirty(__instance.pawn);
- }
- }
- }
-}
diff --git a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseReceiverLoved.cs b/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseReceiverLoved.cs
deleted file mode 100644
index d328d2b..0000000
--- a/1.3/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseReceiverLoved.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-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;
-
-namespace Rimworld_Animations
-{
-
- [HarmonyPatch(typeof(JobDriver_SexBaseRecieverLoved), "MakeSexToil")]
- public static class HarmonyPatch_JobDriver_SexBaseReceiverLoved
- {
-
- public static IEnumerable Transpiler(IEnumerable codeInstructions)
- {
-
- var ins = codeInstructions.ToList();
- for(int i = 0; i < ins.Count; i++)
- {
- if(i + 13 < ins.Count && ins[i + 13].opcode == OpCodes.Call && ins[i + 13].OperandIs(AccessTools.DeclaredMethod(typeof(Toils_LayDown), "LayDown"))) {
-
- ins.RemoveRange(i, 14);
-
- }
-
- else
- {
- yield return ins[i];
- }
- }
-
- }
-
- }
-}
diff --git a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs b/1.3/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
deleted file mode 100644
index 37ba6ce..0000000
--- a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-using UnityEngine;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(PawnRenderer), "DrawHeadHair")]
- public static class HarmonyPatch_HeadHair
- {
- public static void Prefix(ref Vector3 headOffset, ref float angle)
- {
-
- }
-
- }
-}
diff --git a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs b/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
deleted file mode 100644
index 218e45b..0000000
--- a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using UnityEngine;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(PawnRenderer), "RenderPawnInternal", new Type[]
- {
- typeof(Vector3),
- typeof(float),
- typeof(bool),
- typeof(Rot4),
- typeof(RotDrawMode),
- typeof(PawnRenderFlags)
- }
- )]
- public static class HarmonyPatch_PawnRenderer
- {
-
- [HarmonyBefore(new string[] { "showhair.kv.rw", "erdelf.HumanoidAlienRaces", "Nals.FacialAnimation" })]
- public static void Prefix(PawnRenderer __instance, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, RotDrawMode bodyDrawType, PawnRenderFlags flags)
- {
-
- if (flags.FlagSet(PawnRenderFlags.Portrait)) return;
-
- PawnGraphicSet graphics = __instance.graphics;
- Pawn pawn = graphics.pawn;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && pawn.Map == Find.CurrentMap)
- {
- bodyAnim.animatePawnBody(ref rootLoc, ref angle, ref bodyFacing);
-
- }
-
- }
-
- public static IEnumerable Transpiler(IEnumerable instructions)
- {
- List ins = instructions.ToList();
-
- for(int i = 0; i < instructions.Count(); i++)
- {
-
- if (i - 3 >= 0 && ins[i - 3].opcode == OpCodes.Call && ins[i - 3].operand != null && ins[i - 3].OperandIs(AccessTools.DeclaredMethod(typeof(PawnRenderer), "BaseHeadOffsetAt")))
- {
-
- yield return new CodeInstruction(OpCodes.Ldloca, (object)0);
- yield return new CodeInstruction(OpCodes.Ldloca, (object)7);
- yield return new CodeInstruction(OpCodes.Ldloca, (object)6);
- yield return new CodeInstruction(OpCodes.Ldarga, (object)2);
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg, (object)6);
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), "AdjustHead"));
- yield return ins[i];
- //headFacing equals true
- }
-
- // Fixes the offsets for eye implants and wounds on the head during animations
- else if (ins[i].opcode == OpCodes.Callvirt && ins[i].operand != null && ins[i].OperandIs(AccessTools.DeclaredMethod(typeof(PawnWoundDrawer), "RenderOverBody")))
- {
- // Pass some additional info to a new overload of RenderOverBody
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg_S, (object)6); // renderer flags
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(PawnWoundDrawerExtension), "RenderOverBody"));
- }
-
- else
- {
- yield return ins[i];
- }
- }
- }
- }
-}
diff --git a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs b/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
deleted file mode 100644
index 7ec75a1..0000000
--- a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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), "Rotation", MethodType.Getter)]
- public static class HarmonyPatch_PawnRotation {
-
- public static bool Prefix(Thing __instance, ref Rot4 __result) {
-
- 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.3/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs b/1.3/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
deleted file mode 100644
index 5cdcfce..0000000
--- a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(Pawn_DrawTracker), "DrawPos", MethodType.Getter)]
- public static class HarmonyPatch_Pawn_DrawTracker {
- public static bool Prefix(ref Pawn ___pawn, ref Vector3 __result) {
-
- CompBodyAnimator bodyAnim = ___pawn.TryGetComp();
-
- if (bodyAnim != null && bodyAnim.isAnimating) {
- __result = ___pawn.TryGetComp().anchor + ___pawn.TryGetComp().deltaPos;
-
- return false;
- }
- return true;
- }
- }
-}
diff --git a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs b/1.3/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
deleted file mode 100644
index b8c66b8..0000000
--- a/1.3/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-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
-{
- [HarmonyPatch(typeof(PawnRenderer), "RenderPawnAt")]
- public static class PawnRenderer_RenderPawnAt_Patch
- {
- static bool ClearCache(Pawn 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.OperandIs(AccessTools.Method(typeof(PawnUtility), "IsInvisible")))
- {
- yield return new CodeInstruction(OpCodes.Call, AccessTools.Method(typeof(PawnRenderer_RenderPawnAt_Patch), "ClearCache"));
- }
- else
- {
- yield return i;
- }
- }
- }
- }
-
-}
diff --git a/1.3/Source/Settings/AnimationSettings.cs b/1.3/Source/Settings/AnimationSettings.cs
deleted file mode 100644
index 0a96621..0000000
--- a/1.3/Source/Settings/AnimationSettings.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using UnityEngine;
-using RimWorld;
-
-namespace Rimworld_Animations {
-
- public class AnimationSettings : ModSettings {
-
- public static bool orgasmQuiver, rapeShiver, soundOverride = true, hearts = true, controlGenitalRotation = false, applySemenOnAnimationOrgasm = false, fastAnimForQuickie = false,
- PlayAnimForNonsexualActs = true;
- public static bool offsetTab = false, debugMode = false;
- public static float shiverIntensity = 2f;
-
- public static Dictionary offsets = new Dictionary();
- public static Dictionary rotation = new Dictionary();
-
- public override void ExposeData() {
-
- base.ExposeData();
-
- Scribe_Values.Look(ref debugMode, "RJWAnimations-AnimsDebugMode", false);
- Scribe_Values.Look(ref offsetTab, "RJWAnimations-EnableOffsetTab", false);
- Scribe_Values.Look(ref controlGenitalRotation, "RJWAnimations-controlGenitalRotation", false);
- Scribe_Values.Look(ref orgasmQuiver, "RJWAnimations-orgasmQuiver");
- Scribe_Values.Look(ref fastAnimForQuickie, "RJWAnimations-fastAnimForQuickie");
- Scribe_Values.Look(ref rapeShiver, "RJWAnimations-rapeShiver");
- Scribe_Values.Look(ref hearts, "RJWAnimation-sheartsOnLovin");
- Scribe_Values.Look(ref PlayAnimForNonsexualActs, "RJWAnims-PlayAnimForNonsexualActs");
- Scribe_Values.Look(ref applySemenOnAnimationOrgasm, "RJWAnimations-applySemenOnOrgasm", false);
- Scribe_Values.Look(ref soundOverride, "RJWAnimations-rjwAnimSoundOverride", true);
- Scribe_Values.Look(ref shiverIntensity, "RJWAnimations-shiverIntensity", 2f);
- //todo: save offsetsByDefName
-
- Scribe_Collections.Look(ref offsets, "RJWAnimations-animationOffsets");
- Scribe_Collections.Look(ref rotation, "RJWAnimations-rotationOffsets");
-
-
-
- //needs to be rewritten
- //probably somewhere in options?
-
- }
-
- }
-
- public class RJW_Animations : Mod {
-
- public RJW_Animations(ModContentPack content) : base(content) {
- GetSettings();
-
- }
-
- public override void DoSettingsWindowContents(Rect inRect) {
-
- Listing_Standard listingStandard = new Listing_Standard();
- listingStandard.Begin(inRect);
-
- listingStandard.CheckboxLabeled("Enable Sound Override", ref AnimationSettings.soundOverride);
- listingStandard.CheckboxLabeled("Control Genital Rotation", ref AnimationSettings.controlGenitalRotation);
- listingStandard.CheckboxLabeled("Play Fast Animation for Quickie", ref AnimationSettings.fastAnimForQuickie);
- listingStandard.CheckboxLabeled("Apply Semen on Animation Orgasm", ref AnimationSettings.applySemenOnAnimationOrgasm);
-
- if(AnimationSettings.applySemenOnAnimationOrgasm) {
- listingStandard.Label("Recommended--turn down \"Cum on body percent\" in RJW settings to about 33%");
- }
-
- listingStandard.CheckboxLabeled("Enable Orgasm Quiver", ref AnimationSettings.orgasmQuiver);
- listingStandard.CheckboxLabeled("Enable Rape Shiver", ref AnimationSettings.rapeShiver);
- listingStandard.CheckboxLabeled("Enable hearts during lovin'", ref AnimationSettings.hearts);
- listingStandard.CheckboxLabeled("Play animation for nonsexual acts (handholding, makeout)", ref AnimationSettings.PlayAnimForNonsexualActs);
- listingStandard.CheckboxLabeled("Enable Animation Manager Tab", ref AnimationSettings.offsetTab);
-
- listingStandard.Label("Shiver/Quiver Intensity (default 2): " + AnimationSettings.shiverIntensity);
- AnimationSettings.shiverIntensity = listingStandard.Slider(AnimationSettings.shiverIntensity, 0.0f, 12f);
-
- listingStandard.CheckboxLabeled("Debug Mode", ref AnimationSettings.debugMode);
-
-
- listingStandard.End();
- base.DoSettingsWindowContents(inRect);
- }
-
- public override void WriteSettings() {
- base.WriteSettings();
- OffsetMainButtonDefOf.OffsetManager.buttonVisible = AnimationSettings.offsetTab;
-
- }
-
- public override string SettingsCategory() {
- return "RJW Animation Settings";
- }
- }
-}
diff --git a/1.3/Source/Utilities/AnimationUtility.cs b/1.3/Source/Utilities/AnimationUtility.cs
deleted file mode 100644
index a75fc32..0000000
--- a/1.3/Source/Utilities/AnimationUtility.cs
+++ /dev/null
@@ -1,319 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using rjw.Modules.Interactions.Helpers;
-using rjw.Modules.Interactions.Objects;
-using UnityEngine;
-using Verse;
-using Verse.AI;
-using rjw.Modules.Interactions.Enums;
-
-namespace Rimworld_Animations {
- public static class AnimationUtility {
- /*
- Note: always make the list in this order:
- Female pawns, animal female pawns, male pawns, animal male pawns
- */
- public static AnimationDef tryFindAnimation(ref List participants, rjw.xxx.rjwSextype sexType = 0, rjw.SexProps sexProps = null) {
-
-
- InteractionWithExtension interaction = InteractionHelper.GetWithExtension(sexProps.dictionaryKey);
-
-
- if(interaction.HasInteractionTag(InteractionTag.Reverse))
- {
- Pawn buffer = participants[1];
- participants[1] = participants[0];
- participants[0] = buffer;
- }
-
- participants =
- participants.OrderBy(p => p.jobs.curDriver is rjw.JobDriver_SexBaseInitiator)
- .OrderBy(p => rjw.xxx.can_fuck(p))
- .ToList();
-
-
- List localParticipants = new List(participants);
-
- IEnumerable options = DefDatabase.AllDefs.Where((AnimationDef x) => {
-
-
- if (x.actors.Count != localParticipants.Count) {
- return false;
- }
- for (int i = 0; i < x.actors.Count; i++) {
-
- if (rjw.RJWPreferenceSettings.Malesex == rjw.RJWPreferenceSettings.AllowedSex.Nohomo) {
- if (rjw.xxx.is_male(localParticipants[i]) && x.actors[i].isFucked) {
- return false;
- }
- }
- if (x.actors[i].requiredGender != null && !x.actors[i].requiredGender.Contains(localParticipants[i].gender.ToStringSafe()))
- {
- if (AnimationSettings.debugMode)
- {
- Log.Message(string.Concat(new string[]
- {
- x.defName.ToStringSafe(),
- " not selected -- ",
- localParticipants[i].def.defName.ToStringSafe(),
- " ",
- localParticipants[i].Name.ToStringSafe(),
- " does not match required gender"
- }));
- }
- return false;
- }
- if ((x.actors[i].blacklistedRaces != null) && x.actors[i].blacklistedRaces.Contains(localParticipants[i].def.defName)) {
- if(AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is blacklisted");
- return false;
- }
-
- if(x.actors[i].defNames.Contains("Human")) {
- if (!rjw.xxx.is_human(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is not human");
-
- return false;
- }
-
- }
- else if (!x.actors[i].bodyDefTypes.Contains(localParticipants[i].RaceProps.body)) {
-
- if (!x.actors[i].defNames.Contains(localParticipants[i].def.defName)) {
-
- if (rjw.RJWSettings.DevMode) {
- string animInfo = x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is not ";
- foreach(String defname in x.actors[i].defNames) {
- animInfo += defname + ", ";
- }
- if (AnimationSettings.debugMode)
- Log.Message(animInfo);
- }
-
- return false;
- }
- }
- //genitals checking
-
- if(!GenitalCheckForPawn(x.actors[i].requiredGenitals, localParticipants[i], out string failReason)) {
- Debug.Log("Didn't select " + x.defName + ", " + localParticipants[i].Name + " " + failReason);
- return false;
- }
-
- //TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH
- /*
- if (x.defName != "Cunnilingus")
- return false;
- */
-
-
- if (x.actors[i].isFucking && !rjw.xxx.can_fuck(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't fuck");
- return false;
- }
-
- if (x.actors[i].isFucked && !rjw.xxx.can_be_fucked(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't be fucked");
- return false;
- }
- }
- return true;
- });
- List optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.sexType.ToStringSafe()));
- if (optionsWithInteractionType.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for interaction type " + sexProps.sexType.ToStringSafe() + "...");
- return optionsWithInteractionType.RandomElement();
- }
- List optionsWithSexType = options.ToList().FindAll(x => x.sexTypes != null && x.sexTypes.Contains(sexType));
- if (optionsWithSexType.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for rjwSexType " + sexType.ToStringSafe() + "...");
- return optionsWithSexType.RandomElement();
- }
-
- /*
- if(optionsWithInitiator.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for initiators...");
- }
- */
-
- if (options != null && options.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Randomly selecting animation...");
- return options.RandomElement();
- }
- else
- return null;
- }
-
- public static void RenderPawnHeadMeshInAnimation1(Mesh mesh, Vector3 loc, Quaternion quaternion, Material material, bool drawNow, Pawn pawn) {
-
- if (pawn == null || pawn.Map != Find.CurrentMap) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, drawNow);
- return;
- }
-
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
-
- if (pawnAnimator == null || !pawnAnimator.isAnimating) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, drawNow);
- } else {
- Vector3 pawnHeadPosition = pawnAnimator.getPawnHeadPosition();
- pawnHeadPosition.y = loc.y;
- GenDraw.DrawMeshNowOrLater(MeshPool.humanlikeHeadSet.MeshAt(pawnAnimator.headFacing), pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, true);
- }
- }
-
- public static void AdjustHead(ref Quaternion quat, ref Rot4 bodyFacing, ref Vector3 pos, ref float angle, Pawn pawn, PawnRenderFlags flags)
- {
- if (flags.FlagSet(PawnRenderFlags.Portrait)) return;
-
- CompBodyAnimator anim = pawn.TryGetComp();
- if (anim.isAnimating)
- {
- bodyFacing = anim.headFacing;
- angle = anim.headAngle;
- quat = Quaternion.AngleAxis(anim.headAngle, Vector3.up);
- pos = anim.getPawnHeadOffset();
-
- }
- }
-
- public static void RenderPawnHeadMeshInAnimation(Mesh mesh, Vector3 loc, Quaternion quaternion, Material material, bool portrait, Pawn pawn, float bodySizeFactor = 1) {
-
- if (pawn == null) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, portrait);
- return;
- }
-
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
-
- if (pawnAnimator == null || !pawnAnimator.isAnimating || portrait) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, portrait);
- }
- else {
- Vector3 pawnHeadPosition = pawnAnimator.getPawnHeadPosition();
- pawnHeadPosition.x *= bodySizeFactor;
- pawnHeadPosition.x *= bodySizeFactor;
- pawnHeadPosition.y = loc.y;
- GenDraw.DrawMeshNowOrLater(mesh, pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, portrait);
- }
- }
-
- public static bool GenitalCheckForPawn(List requiredGenitals, Pawn pawn, out string failReason) {
-
- failReason = null;
- if (requiredGenitals != null) {
- if (requiredGenitals.Contains("Vagina")) {
-
- if (!rjw.Genital_Helper.has_vagina(pawn)) {
- failReason = "missing vagina";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Penis")) {
-
- if (!(rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn) || rjw.Genital_Helper.has_ovipositorM(pawn) || rjw.Genital_Helper.has_ovipositorF(pawn))) {
- failReason = "missing penis";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Mouth")) {
-
- if (!rjw.Genital_Helper.has_mouth(pawn)) {
- failReason = "missing mouth";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Anus")) {
-
- if (!rjw.Genital_Helper.has_anus(pawn)) {
- failReason = "missing anus";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Breasts")) {
- if (!rjw.Genital_Helper.can_do_breastjob(pawn)) {
- failReason = "missing breasts";
- return false;
- }
- }
-
- if (requiredGenitals.Contains("NoVagina")) {
-
- if (rjw.Genital_Helper.has_vagina(pawn)) {
- failReason = "has vagina";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoPenis")) {
-
- if ((rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn))) {
- failReason = "has penis";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoMouth")) {
-
- if (rjw.Genital_Helper.has_mouth(pawn)) {
- failReason = "has mouth";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoAnus")) {
-
- if (rjw.Genital_Helper.has_anus(pawn)) {
- failReason = "has anus";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoBreasts")) {
- if (rjw.Genital_Helper.can_do_breastjob(pawn)) {
- failReason = "has breasts";
- return false;
- }
- }
- }
-
- return true;
-
- }
-
- public static Rot4 PawnHeadRotInAnimation(Pawn pawn, Rot4 regularPos)
- {
- Debug.Log("Test");
-
- if(pawn?.TryGetComp() != null && pawn.TryGetComp().isAnimating)
- {
- return pawn.TryGetComp().headFacing;
- }
-
- return regularPos;
- }
- }
-}
diff --git a/1.3/Source/Utilities/PatchOperationAddOrReplace.cs b/1.3/Source/Utilities/PatchOperationAddOrReplace.cs
deleted file mode 100644
index 4e1bd85..0000000
--- a/1.3/Source/Utilities/PatchOperationAddOrReplace.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using Verse;
-
-namespace Rimworld_Animations
-{
- public class PatchOperationAddOrReplace : PatchOperationPathed
- {
-
- protected string key;
- private XmlContainer value;
-
- protected override bool ApplyWorker(XmlDocument xml)
- {
- XmlNode valNode = value.node;
- bool result = false;
- IEnumerator enumerator = xml.SelectNodes(xpath).GetEnumerator();
- try
- {
- while (enumerator.MoveNext())
- {
- object obj = enumerator.Current;
- result = true;
- XmlNode parentNode = obj as XmlNode;
- XmlNode xmlNode = parentNode.SelectSingleNode(key);
- if (xmlNode == null)
- {
- // Add - Add node if not existing
- xmlNode = parentNode.OwnerDocument.CreateElement(key);
- parentNode.AppendChild(xmlNode);
- }
- else
- {
- // Replace - Clear existing children
- xmlNode.RemoveAll();
- }
- // (Re)add value
- xmlNode.AppendChild(parentNode.OwnerDocument.ImportNode(valNode.FirstChild, true));
- }
- }
- finally
- {
- IDisposable disposable = enumerator as IDisposable;
- if (disposable != null)
- {
- disposable.Dispose();
- }
- }
- return result;
- }
-
- }
-
-}
diff --git a/1.3/Textures/UI/MainTab.png b/1.3/Textures/UI/MainTab.png
deleted file mode 100644
index 92f855f..0000000
Binary files a/1.3/Textures/UI/MainTab.png and /dev/null differ
diff --git a/1.4/Assemblies/Rimworld-Animations.dll b/1.4/Assemblies/Rimworld-Animations.dll
deleted file mode 100644
index cfec529..0000000
Binary files a/1.4/Assemblies/Rimworld-Animations.dll and /dev/null differ
diff --git a/1.4/Defs/AnimationDefs/AggressiveDoggy.xml b/1.4/Defs/AnimationDefs/AggressiveDoggy.xml
deleted file mode 100644
index 1a9098c..0000000
--- a/1.4/Defs/AnimationDefs/AggressiveDoggy.xml
+++ /dev/null
@@ -1,1534 +0,0 @@
-
-
-
- SurpriseAnal
-
- true
-
- None
- Anal
- Vaginal
-
-
- AnalRape
- VaginalRape
-
-
-
-
- Human
-
-
- Anus
- Vagina
-
-
- (0, 0.02)
-
-
-
-
- Human
-
-
- (0.05, 0)
- (0.12, -0.03)
- (0.2, 0.15)
- (0, 0.1)
-
- true
- true
-
-
-
-
- SurpriseAnal
- 0
- 147
- 147
- false
-
-
- Pawn
-
-
- 20
- 59.1421852
- 34.3620377
- 0.009598374
- 0.7186958
- -0.184436634
- 2
- 1
- false
-
-
- 55
- 59.1421852
- 34.3620377
- 0.009598374
- 0.777692854
- -0.188369825
- 2
- 1
-
-
- 1
- 58.53158
- 34.3620377
- 0.009598374
- 0.8240476
- -0.188369825
- 2
- 1
-
-
- 6
- 58.52048
- 34.3620377
- 0.009598374
- 0.824890435
- -0.188369825
- 2
- 1
-
-
- 5
- 49.6041222
- 4.66740751
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
- 59
- 39.181385
- 4.66740751
- 0.009598374
- 0.8878205
- -0.0113786012
- 1
- 1
-
-
- 1
- 49.6041222
- 4.66740751
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- 10.116
- 14.922
- 0
- -0.154
- 0.112
- 1
- 1
-
-
- 18
- 17.979
- 14.922
- 0
- 0.079
- 0.165
- 1
- 1
- 32.966
-
-
- 5
- 20.754
- 14.922
- 0
- 0.13
- 0.189
- 1
- 1
- 32
-
-
- 5
- 21.525
- 14.922
- 0
- 0.144
- 0.195
- 1
- 1
- 15
-
-
- 7
- 22.296
- 14.922
- 0
- 0.158
- 0.202
- 1
- 1
- 32
-
-
- 71
- Fuck
- -11.728
- 14.922
- 0
- 0.249
- 0.248
- 1
- 1
- 27
-
-
- 1
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
-
-
-
-
- HeadTilt
- 0
- 40
- 40
- false
-
-
- Pawn
-
-
- 5
- 49.6041222
- 4.66740751
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
- 8
- 49.6041222
- 4.66740751
- 0.009598374
- 0.8327563
- -0.101840809
- 1
- 1
-
-
- 26
- 42.0564079
- -4.599214
- 0.009598374
- 0.9187941
- -0.0035123378
- 1
- 1
-
-
- 1
- 49.6041222
- -25.5749664
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 5
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
- 34
- Fuck
- -22.045
- 19.653
- 0
- 0.351061
- 0.2828664
- 1
- 1
- 40
-
-
- 1
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
-
-
-
-
- HeadUp
- 0
- 320
- 40
- true
-
-
- Pawn
-
-
- 5
- 49.6041222
- -25.5749664
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
- 8
- 49.6041222
- -22.5488052
- 0.009598374
- 0.8327563
- -0.101840809
- 1
- 1
-
-
- 26
- 42.0564079
- -4.599214
- 0.009598374
- 0.9187941
- -0.0035123378
- 1
- 1
-
-
- 1
- 49.6041222
- -25.5749664
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 5
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
- 34
- Fuck
- -22.045
- 19.653
- 0
- 0.351061
- 0.2828664
- 1
- 1
- 40
-
-
- 1
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
-
-
-
-
- LeanForward
- 0
- 40
- 40
- false
-
-
- Pawn
-
-
- 24
- 49.6041222
- -25.5749664
- 0.009598374
- 0.8681547
- -0.101840809
- 1
- 1
-
-
- 6
- 60.4049644
- 1.61688948
- 0.009598374
- 0.8740543
- -0.172637418
- 1
- 1
-
-
- 4
- 65.2660446
- 1.61688948
- 0.009598374
- 0.8917534
- -0.192303136
- 1
- 1
-
-
- 5
- 62.2992134
- 1.40611315
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- 1.61688948
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 24
- 10.62
- 19.653
- 0
- 0.225
- 0.271
- 1
- 1
- 32
-
-
- 6
- 48.448
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 4
- 50.473
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 5
- Fuck
- 23.512
- 19.653
- 0
- 0.546
- 0.245
- 1
- 1
- 50
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- Superfast
- 0
- 56
- 14
- true
-
-
- Pawn
-
-
- 4
- 60.4049644
- 1.61688948
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 3
- 60.4049644
- 1.61688948
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 6
- 62.2992134
- 1.40611315
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- 1.61688948
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 4
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 3
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 6
- Fuck
- 23.512
- 19.653
- 0
- 0.593
- 0.186
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- HeadTiltSuperFast
- 0
- 112
- 14
- true
-
-
- Pawn
-
-
- 4
- 60.4049644
- 43.7031746
- 0.009598374
- 0.8917534
- -0.168704227
- 2
- 1
-
-
- 3
- 60.4049644
- 36.10043
- 0.009598374
- 0.895686448
- -0.166737691
- 2
- 1
-
-
- 6
- 62.2992134
- 52.47133
- 0.009598374
- 0.9379204
- -0.168517023
- 2
- 1
-
-
- 1
- 60.4049644
- 37.50244
- 0.009598374
- 0.8917534
- -0.168704227
- 2
- 1
-
-
-
-
- LayingPawn
-
-
- 4
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 3
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 6
- Fuck
- 23.512
- 19.653
- 0
- 0.562
- 0.182
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- SuperfastFacedown
- 0
- 210
- 14
- true
-
-
- Pawn
-
-
- 2
- 60.4049644
- 62.89787
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 5
- 60.4049644
- 63.9160767
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 2
- 60.4049644
- 65.049614
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 4
- 62.2992134
- 59.6089859
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- 62.89787
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 2
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 5
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 2
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 4
- Fuck
- 23.512
- 19.653
- 0
- 0.591
- 0.194
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- SuperfastHeadTiltUp
- 0
- 36
- 36
- false
-
-
- Pawn
-
-
- 3
- 60.4049644
- 63.9160767
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 2
- 60.4049644
- 45.1198158
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 6
- 62.2992134
- 32.70548
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 3
- 60.4049644
- 23.617775
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 2
- 60.4049644
- 13.3330221
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 6
- 62.2992134
- 18.4331627
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 3
- 60.4049644
- 6.483466
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 2
- 60.4049644
- 7.298557
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 8
- 62.2992134
- 2.71663713
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 3
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 2
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 6
- Fuck
- 23.512
- 19.653
- 0
- 0.591
- 0.194
- 1
- 1
- 60
-
-
- 3
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 2
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 6
- Fuck
- 23.512
- 19.653
- 0
- 0.591
- 0.194
- 1
- 1
- 60
-
-
- 3
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 2
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 8
- Fuck
- 23.512
- 19.653
- 0
- 0.591
- 0.194
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- Superfastheadtilted
- 0
- 420
- 12
- true
-
-
- Pawn
-
-
- 3
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 3
- 60.4049644
- -18.6158123
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 5
- 62.2992134
- -21.62202
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 3
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 3
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 5
- Fuck
- 23.512
- 19.653
- 0
- 0.593
- 0.186
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- HeadTiltSuperFast (Clone)
- 0
- 112
- 14
- true
-
-
- Pawn
-
-
- 4
- 60.4049644
- 43.7031746
- 0.009598374
- 0.8917534
- -0.168704227
- 2
- 1
-
-
- 3
- 60.4049644
- 36.10043
- 0.009598374
- 0.895686448
- -0.166737691
- 2
- 1
-
-
- 6
- 62.2992134
- 52.47133
- 0.009598374
- 0.9379204
- -0.168517023
- 2
- 1
-
-
- 1
- 60.4049644
- 37.50244
- 0.009598374
- 0.8917534
- -0.168704227
- 2
- 1
-
-
-
-
- LayingPawn
-
-
- 4
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 3
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 6
- Fuck
- 23.512
- 19.653
- 0
- 0.562
- 0.182
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- Superfastheadtilted (Clone)
- 0
- 420
- 12
- true
-
-
- Pawn
-
-
- 3
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
- 3
- 60.4049644
- -18.6158123
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
-
-
- 5
- 62.2992134
- -21.62202
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
-
-
- 1
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 3
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 3
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 5
- Fuck
- 23.512
- 19.653
- 0
- 0.593
- 0.186
- 1
- 1
- 60
-
-
- 1
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
- Superfastheadtilted (Clone)
- 0
- 240
- 80
- true
-
-
- Pawn
-
-
- 9
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
- true
-
-
- 7
- 60.4049644
- -18.6158123
- 0.009598374
- 0.895686448
- -0.166737691
- 1
- 1
- true
-
-
- 15
- Fuck
- 62.2992134
- -21.62202
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
- true
-
-
- 48
- Cum
- 62.2992134
- -21.62202
- 0.009598374
- 0.9379204
- -0.168517023
- 1
- 1
- true
-
-
- 1
- 60.4049644
- -25.0596066
- 0.009598374
- 0.8917534
- -0.168704227
- 1
- 1
- true
-
-
-
-
- LayingPawn
-
-
- 9
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 7
- 54.333
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
- 15
- Slimy
- 23.512
- 19.653
- 0
- 0.593
- 0.186
- 1
- 1
- 60
-
-
- 48
- 33.548
- 19.653
- 0
- 0.593
- 0.186
- 1
- 1
- 60
-
-
- 1
- None
- 46.041
- 19.653
- 0
- 0.489
- 0.236
- 1
- 1
- 60
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/AnimationDefs.rar b/1.4/Defs/AnimationDefs/AnimationDefs.rar
deleted file mode 100644
index e7bf2a1..0000000
Binary files a/1.4/Defs/AnimationDefs/AnimationDefs.rar and /dev/null differ
diff --git a/1.4/Defs/AnimationDefs/Animations_Beast.xml b/1.4/Defs/AnimationDefs/Animations_Beast.xml
deleted file mode 100644
index 30d14fc..0000000
--- a/1.4/Defs/AnimationDefs/Animations_Beast.xml
+++ /dev/null
@@ -1,2180 +0,0 @@
-
-
-
- Dog_Doggystyle
-
- true
-
- Anal
- Vaginal
-
-
-
- VaginalBreeding
- AnalBreeding
-
-
-
-
-
- Human
-
- true
-
-
-
- Wolf_Timber
- Wolf_Arctic
- Whitefox
- Warg
- Husky
- LabradorRetriever
-
- AEXP_WelshTerrier
- AEXP_Rottweiler
- AEXP_Poodle
- AEXP_GreatDane
- AEXP_GermanShepherd
- AEXP_FrenchBulldog
- AEXP_Corgi
- AEXP_CatAbyssinian
- AEXP_CatBengal
- AEXP_CatMaineCoon
- AEXP_CatSphynx
-
-
- QuadrupedAnimalWithHooves
- QuadrupedAnimalWithPawsAndTail
-
- true
- true
-
-
-
-
-
-
-
- Fuck
- true
- 765
- 0
-
-
- LayingPawn
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
- 6
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 2
-
-
- 1
- 56.7
- 27.5
- 0.057
- -0.038
- 1
- 2
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
-
-
- 10
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
-
-
- 6
- 53.7
- 5.4
- 0.068
- -0.038
- 1
- 1
-
-
- 1
- 56.7
- 7.5
- 0.057
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 8
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 8
- Fuck
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 1
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
-
-
-
-
- Knot
- False
- 71
- 0
-
-
- LayingPawn
-
-
- true
- 60
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 6
- Cum
- 53.7
- 28.4
- 0.068
- -0.038
- 1
- 1
-
-
- 4
- 51.7
- 33.4
- 0.098
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 60
- -33.7
- 0
- -0.492
- 0.266
- 1
- 0
- 0
-
-
- 6
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 4
- Fuck
- -41.6
- 0
- -0.383
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
- LayingPawn
-
-
- 40
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
- 40
- Cum
- 57.7
- 28.4
- 0.073
- -0.038
- 1
- 1
-
-
- 1
- 53.7
- 25.4
- 0.068
- -0.038
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 10
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
-
-
- 10
- -40.6
- 0
- -0.358
- 0.256
- 1
- 0
-
-
- 1
- -39.6
- 0
- -0.353
- 0.256
- 1
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- Horse_Cowgirl
-
- true
-
- Anal
- Vaginal
-
-
-
- RequestVaginalBreeding
- RequestAnalBreeding
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
- Horse
-
-
- QuadrupedAnimalWithHooves
-
- true
-
-
-
-
-
-
-
- Insertion
- false
- 0
-
-
-
-
- 180
- -24.337
- -37.1218948
- 0
- 0.698042035
- -0.20718734
- 0
- 3
- 3
-
-
- 70
- -2.54239845
- 7.31265259
- 0
- 0.606091142
- -0.045959726
- 0
- 3
- 3
- Slimy
-
-
- 60
- -4.84361649
- -23.6405125
- 0
- 0.650456548
- -0.0570534021
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 250
- 177.083145
- 0
- 0
- -0.256229281
- -0.362511069
- 0
- 1
- 0
-
-
-
- 60
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- SlowFuck
- true
- 1300
- 0
-
-
-
-
- 80
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
-
-
- 49
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 1
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
-
- LayingPawn
-
-
- 80
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
- 49
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 1
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
-
-
-
-
- Transition
- false
- 0
-
-
-
-
- 50
- -35.01766
- -26.3706665
- 0
- 0.455286169
- -0.3646413
- 0
- 3
- 3
- Fuck
-
-
-
- 15
- -49.8178673
- -35.7418823
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.48456946
- -0.489136577
- 0
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 50
- 179.6811
- 0
- 0
- -0.267210543
- -0.3991253
- 0
- 1
- 0
-
-
-
- 15
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FastFuck
- true
- 1260
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 2
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 2
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
- 24
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 24
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- FasterFuck
- true
- 418
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
- 8
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
- Slimy
-
-
-
-
- LayingPawn
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 8
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
- Fuck
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
- Cum
- True
- 318
- 0
-
-
-
-
-
- 10
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
- true
- 80
- -49.8178673
- -8.273987
- 0
- 0.506531835
- -0.55575326
- 0
- 3
- 3
- Cum
-
-
- 25
- -49.8178673
- 2.654541
- 0
- 0.5175133
- -0.547725141
- 0
- 3
- 3
-
-
- 1
- -49.8178673
- -14.1647339
- 0
- 0.484569454
- -0.489136577
- 0
- 3
- 3
-
-
-
-
-
- LayingPawn
-
-
-
- 10
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
- 80
- 175.467651
- 0
- 0
- -0.2123042
- -0.5309518
- 0
- 1
- 0
-
-
- 25
- 173.81427
- 0
- 0
- -0.197662517
- -0.545600235
- 0
- 1
- 0
-
-
- 1
- 177.981537
- 0
- 0
- -0.24524799
- -0.358849227
- 0
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.4/Defs/AnimationDefs/Animations_Lesbian.xml b/1.4/Defs/AnimationDefs/Animations_Lesbian.xml
deleted file mode 100644
index 56d805a..0000000
--- a/1.4/Defs/AnimationDefs/Animations_Lesbian.xml
+++ /dev/null
@@ -1,1782 +0,0 @@
-
-
-
- Tribadism
-
- true
-
- Scissoring
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
-
-
- Human
-
- true
- true
-
- Vagina
-
-
-
-
-
-
-
- Tribbing
- true
- 992
- 0
-
-
- LayingPawn
-
-
-
- 20
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 20
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 20
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
-
-
- 20
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 20
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 20
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
- TribadismFast
- true
- 682
- 0
-
-
- LayingPawn
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
-
- 10
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
- 10
- -79.56
- -77.66
- -0.218
- 0.082
- 2
- 2
- 0
-
-
- 10
- -81.53
- -77.74
- -0.219
- 0.07
- 2
- 2
- 0
-
-
- Slimy
- 1
- -81.3
- -73.04
- -0.218
- 0.073
- 2
- 2
- 0
-
-
-
-
- 10
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
- 10
- -79.56
- -79.56
- -0.218
- 0.082
- 2
- 1
- 0
-
-
- 10
- -81.53
- -81.53
- -0.219
- 0.07
- 2
- 1
- 0
-
-
- Slimy
- 1
- -81.3
- -81.3
- -0.218
- 0.073
- 2
- 1
- 0
-
-
-
-
-
-
-
- 10
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
- 10
- 23.82
- -6.90
- 0.432
- 0.403
- 3
- 3
- 0
-
-
- 10
- 5.19
- -6.19
- 0.442
- 0.388
- 3
- 3
- 0
-
-
- 1
- 9.97
- -7.61
- 0.444
- 0.368
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
-
- Cunnilingus
-
- true
-
- Oral
- Fingering
- Cunnilingus
-
-
-
- Cunnilingus
- CunnilingusF
- CunnilingusRape
- CunnilingusRapeF
-
- Fingering
- FingeringF
- FingeringRape
- FingeringRapeF
-
- Fisting
- FistingF
- FistingRape
- FistingRapeF
-
-
-
-
-
- Human
-
- true
-
- Vagina
-
-
- (-0.2, 0.1)
-
-
-
-
- Human
-
- true
-
- (-0.1, 0.15)
-
-
-
-
-
-
-
-
- Initial
- False
- 0
-
-
-
-
- 60
- -81.06536
- -56.4483032
- 0
- -0.0624052179
- -0.437134951
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 60
- -27.578373
- 0.2816162
- 0
- 0.102704488
- 0.50675
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Slow
- True
- 1497
- 0
-
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 98
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 40
- -87.26528
- -65.901825
- 0
- -0.0737426062
- -0.432820916
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
- 60
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
- 120
- -86.52611
- -68.86432
- 0
- -0.05432228
- -0.439906
- 0
- 1
- 1
-
-
- 40
- -88.36286
- -84.3309
- 0
- -0.06637782
- -0.440140843
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.0692383763
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 80
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
-
-
- 18
- -41.1054764
- -10.1737061
- 0
- 0.04582855
- 0.462155169
- 0
- 3
- 3
-
-
- 40
- -38.1903877
- -31.6517334
- 0
- 0.0384018831
- 0.4874894
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
- 60
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 20
- -45.2595444
- -24.2278748
- 0
- 0.0315402448
- 0.415024319
- 0
- 3
- 3
-
-
-
- 40
- -45.2595444
- -13.57782
- 0
- 0.009577712
- 0.4726282
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
- Transition
- False
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- -0.1
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
- Fast
- True
- 710
- 0
-
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
- 30
- -97.90959
- -79.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 2
-
-
- 1
- -87.3645554
- -79.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 2
-
-
-
- 40
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 30
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 40
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 30
- -35.8792953
- -3.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Faster
- True
- 360
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
- Cum
- True
- 639
- 0
-
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- 15
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
- 20
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
- True
- 80
- -97.90959
- -69.72717
- 0
- -0.0259781852
- -0.445601642
- 0
- 1
- 1
- Cum
-
-
- 40
- -99.80413
- -94.4023743
- 0
- -0.01950606
- -0.447728932
- 0
- 1
- 1
-
-
- 1
- -87.3645554
- -69.70276
- 0
- -0.06923838
- -0.440020353
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 15
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
- Slimy
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
- 20
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
- 80
- -35.8792953
- -9.312592
- 0
- 0.03684573
- 0.4285702
- 0
- 3
- 3
-
-
- 40
- -38.5277061
- -1.13140869
- 0
- 0.0376501828
- 0.42935127
- 0
- 3
- 3
-
-
- 1
- -47.9400826
- -21.93164
- 0
- -0.04209958
- 0.467844343
- 0
- 3
- 3
- Slimy
-
-
-
-
-
-
-
-
-
-
diff --git a/1.4/Defs/AnimationDefs/Animations_Masturbate.xml b/1.4/Defs/AnimationDefs/Animations_Masturbate.xml
deleted file mode 100644
index 2968fa1..0000000
--- a/1.4/Defs/AnimationDefs/Animations_Masturbate.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/Animations_Multi.xml b/1.4/Defs/AnimationDefs/Animations_Multi.xml
deleted file mode 100644
index af7ea7a..0000000
--- a/1.4/Defs/AnimationDefs/Animations_Multi.xml
+++ /dev/null
@@ -1,660 +0,0 @@
-
-
-
- Double_Penetration
-
- true
-
- DoublePenetration
- Anal
- Oral
- Vaginal
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
- Human
-
- true
- true
- true
-
-
-
-
-
- Slow
- true
- 976
- 0
-
-
-
-
-
- 25
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 35
- 48.1
- 16.3
- 0
- 0.188
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 30
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 12
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 27
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 33
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Face_Fuck
- true
- 650
- 0
-
-
-
-
-
- 13
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 6
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 6
- 62.7
- 0.2
- 0.08
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 13
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 12
- 2
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- -10
- 1
- 12
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
-
- LayingPawn
-
-
- 43
- 13
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 12
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
- Cum
- true
- 392
- 0
-
-
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- 4
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 4
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
- 9
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
- true
- 120
- 60.7
- 5.6
- 0.025
- 0.118
- 1
- 1
- 0
-
-
- 30
- 62.7
- 0.2
- 0.056
- 0.118
- 1
- 1
- 0
-
-
- Suck
- 1
- 62.7
- 0.2
- 0.01
- 0.118
- 1
- 1
- 0
-
-
-
-
-
- LayingPawn
-
-
- -10
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 8
- 0
- -15.1
- 0.729
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
-
-
- 9
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 120
- 9
- -15.1
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 30
- 9
- 7
- 0.674
- 0.378
- 3
- 3
- 0
-
-
- 1
- 9
- -14.1
- 0.674
- 0.378
- 3
- 3
- 0
- -10
-
-
-
-
-
-
- LayingPawn
-
-
- 43
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Fuck
- 8
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
- 9
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
- Cum
- 120
- -6.7
- 14.1
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 30
- -6.7
- -7
- -0.53
- 0.378
- 1
- 1
- 0
-
-
- 43
- 1
- 8.7
- 15.1
- -0.70
- 0.378
- 1
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.4/Defs/AnimationDefs/Animations_SexToys.xml b/1.4/Defs/AnimationDefs/Animations_SexToys.xml
deleted file mode 100644
index 320d3aa..0000000
--- a/1.4/Defs/AnimationDefs/Animations_SexToys.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
diff --git a/1.4/Defs/AnimationDefs/Animations_Vanilla2.xml b/1.4/Defs/AnimationDefs/Animations_Vanilla2.xml
deleted file mode 100644
index 71b02a9..0000000
--- a/1.4/Defs/AnimationDefs/Animations_Vanilla2.xml
+++ /dev/null
@@ -1,378 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/Animations_vanilla.xml b/1.4/Defs/AnimationDefs/Animations_vanilla.xml
deleted file mode 100644
index 0fd61d5..0000000
--- a/1.4/Defs/AnimationDefs/Animations_vanilla.xml
+++ /dev/null
@@ -1,2799 +0,0 @@
-
-
-
-
- Doggystyle
-
- true
-
- Vaginal
- Anal
- DoublePenetration
-
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 612
- 0
-
-
-
-
- 0
- 10
- 27
- 0.298
- 0.166
- 0
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 2
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 2
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 2
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
-
-
-
- 10
- 27
- 0.298
- 0.166
- 1
- 1
-
-
- 40
- 32
- 0.326
- 0.190
- 1
- 1
-
-
- 0
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- 27
- 0
- 10
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
-
-
-
- 40
- Fuck
- -17
- -0.217
- 0.272
- 5.4
- 1
- 1
-
-
- 1
- 16.6
- -0.217
- 0.175
- 3
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Fast_Fuck
- true
- 609
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
- 12
- 32
- 0.326
- 0.190
- 4
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 1
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
-
-
-
- 12
- Fuck
- -12
- -0.217
- 0.272
- 9
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- 8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
- Cum
- true
- 300
- 0
-
-
-
-
- 8
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
- Cum
- 100
- 32
- 0.326
- 0.190
- -1
- 1
- 1
- true
-
-
- 12
- 35
- 0.326
- 0.190
- -14
- 1
- 1
-
-
- 1
- 27
- 0.298
- 0.166
- 0
- 1
- 1
- 0
-
-
-
-
- LayingPawn
-
-
- 27
- 8
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
-
-
- 100
- -12
- -0.217
- 0.272
- -9
- 1
- 1
-
-
- 12
- -15
- -0.227
- 0.272
- -4
- 1
- 1
-
-
- 1
- 11
- -0.217
- 0.175
- -8
- 1
- 1
- 0
- 27
-
-
-
-
-
-
-
-
- Blowjob
-
- true
-
- Oral
- Fellatio
-
-
- Handjob
- HandjobF
- HandjobRape
- HandjobRapeF
-
- Breastjob
- BreastjobF
- BreastjobRape
- BreastjobRapeF
-
- Fellatio
- FellatioF
- FellatioRape
- FellatioRapeF
-
- Beakjob
- BeakjobF
- BeakjobRape
- BeakjobRapeF
-
-
-
-
-
-
-
- Human
-
-
- (0, -0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Slow_Suck
- true
- 1140
- 0
-
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.16
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- 0
- -0.33
- 0
- 0
- -0.15
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
-
- 6
- 0
- -0.33
- 0
- 0
- -0.13
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
- 35
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 59
- 0
- -4
- 0
- -0.33
- 0
- 0
- -0.12
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 35
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 59
- 0
- 0
- 0.490
- 2
- 2
- -0.003
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Face_Fuck
- true
- 300
- 0
-
-
-
-
- 15
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- Suck
- 14
- 0
- 0
- -0.270
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 15
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
- Cum
- true
- 600
- 0
-
-
-
-
- 12
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
- 7
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 7
- Suck
- 0
- 0
- -0.290
- 0
- 0
- -0.008
-
-
- 60
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 14
- 0
- 0
- -0.290
- 0
- 0
- -0.06
-
-
- 1
- 0
- 0
- 0
- -0.255
- 0
- 0
- 0
-
-
-
-
- LayingPawn
-
-
- 12
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
- 7
- Cum
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 7
- 0
- 0
- 0.50
- 2
- 2
- -0.04
-
-
- true
- 60
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 14
- 0
- 0
- 0.575
- 2
- 2
- -0.051
-
-
- 1
- 0
- 0
- 0
- 0.473
- 2
- 2
- 0
- 180
-
-
-
-
-
-
-
-
-
- ReverseStandAndCarry
-
- true
-
- Anal
- Vaginal
- DoublePenetration
-
-
- AnalSex
- AnalSexF
- AnalRape
- VaginalSex
- VaginalSexF
- VaginalRape
-
-
-
-
-
- Human
-
- true
-
- (0, 0.2)
-
-
-
-
- Human
-
- true
- true
- true
-
- (0, 0.2)
-
-
-
-
-
-
- Slow_Fuck
- true
- 1080
- 0
-
-
-
-
- 30
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 29
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 30
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 29
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 2
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 2
- 0
-
-
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 6
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 12
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 13
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 12
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
- 6
-
-
-
-
-
-
-
- Cum
- true
- 415
- 0
-
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 7
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
- 3
- 10.6
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- 4
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
- true
- 75
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 27
- 6.04
- 15
- -0.175
- 0.437
- 3
- 3
- 0
-
-
- 1
- 11.23
- 11.23
- -0.183
- 0.468
- 3
- 3
- 0
-
-
-
-
- LayingPawn
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Fuck
- 7
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
- 6
- 7
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
- 40
- Cum
- 75
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 40
- 27
- 17.11
- -2.87
- 0.114
- 0.359
- 3
- 3
- 0
-
-
- 6
- 1
- -3.18
- -0.41
- 0.122
- 0.356
- 3
- 3
- 0
-
-
-
-
-
-
-
-
-
- Cowgirl
-
- true
-
- Anal
- Vaginal
- DoublePenetration
-
-
-
- AnalSex
- AnalSexF
- AnalRapeF
- VaginalSex
- VaginalSexF
- VaginalRapeF
-
-
-
-
-
-
-
- Human
-
- true
- true
-
- (0, 0.2)
-
-
-
-
-
- Human
-
- true
- true
-
- (0, -0.2)
-
-
-
-
-
-
-
- Slow_Fuck
- true
- 1340
- 0
-
-
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 16
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 17
- 3.5
- 0
- -0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 16
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 17
- -3.5
- 0
- 0.03
- 0.624
- 2
- 2
- -0.02
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 33
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 33
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 16
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 17
- 180
- 180
- 0
- -0.347
- 2
- 2
- 0.015
- -15
-
-
- 16
- 180
- 180
- 0
- -0.331
- 2
- 2
- 0.03
- 0
-
-
- 17
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 15
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 33
- 180
- 180
- 0
- -0.315
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Fast_Fuck
- true
- 780
- 0
-
-
-
-
- 13
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 13
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 13
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 13
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
- Cum
- true
- 594
- 0
-
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- 1
- Fuck
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
- 10
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- 10
- 0
- 0
- 0
- 0.694
- 2
- 2
- -0.03
-
-
- true
- 45
- Cum
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
- true
- 40
- 0
- 0
- 0
- 0.534
- 2
- 2
- 0
-
-
- 1
- 0
- 0
- 0
- 0.554
- 2
- 2
- 0
-
-
-
-
- LayingPawn
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
-
- 10
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 10
- 180
- 180
- 0
- -0.313
- 2
- 2
- 0.045
-
-
- 45
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 40
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
-
-
- 1
- 180
- 180
- 0
- -0.363
- 2
- 2
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/1.4/Defs/AnimationDefs/DoubleBlowjob.xml b/1.4/Defs/AnimationDefs/DoubleBlowjob.xml
deleted file mode 100644
index 4dd5c9f..0000000
--- a/1.4/Defs/AnimationDefs/DoubleBlowjob.xml
+++ /dev/null
@@ -1,1921 +0,0 @@
-
-
-
- DoubleBlowjob
-
- true
-
- None
- Oral
- Handjob
- Fellatio
-
-
- Rape_Oral
- Rape_Fellatio
- Rape_Reverse_Fellatio
- Sex_Reverse_Fellatio
- Sex_Fellatio
- Sex_Handjob
- Sex_Reverse_Handjob
- Rape_Reverse_Handjob
- Rape_Handjob
- Rape_Beakjob
- Sex_Beakjob
- Sex_Reverse_Beakjob
- Rape_Reverse_Beakjob
-
-
-
-
- Human
-
- true
-
-
-
- Human
-
- true
-
-
-
- Human
-
-
- Penis
-
- true
- true
-
-
-
-
- LeftGettingOn
- 70
- 70
- false
-
-
- Pawn
-
-
- 19.5730782
- 3.671945
- -0.00393304229
- -0.5978373
- 0.157325149
- 1
- 1
- 69
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 3
- 3
- 38
-
-
- -28.3147774
- -0.461400777
- -0.02850604
- 0.58997035
- 0.1612581
- 3
- 3
- 31
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 2
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.6804
- -179.330887
- -0.0118003711
- -0.381514549
- 2
- 2
- 69
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 1
-
-
-
-
-
-
- LeftBlowJob
- 240
- 80
- true
-
-
- Pawn
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 39
-
-
- 37.29544
- 3.18303084
- -0.0481027365
- -0.44641155
- 0.163224936
- 1
- 1
- 40
- Suck
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 2
- 3
- 31
-
-
- -28.3147774
- -0.461400777
- -0.0127905905
- 0.582103252
- 0.161258221
- 2
- 3
- 48
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 2
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 39
- None
-
-
- -179.68
- -179.331
- 0.0117773116
- -0.012
- -0.374133736
- 2
- 2
- -15
- 40
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 1
-
-
-
-
-
-
- RightFacing
- 400
- 80
- true
-
-
- Pawn
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 24
-
-
- 37.29544
- 3.18303084
- -0.0481027365
- -0.44641155
- 0.163224936
- 1
- 1
- 55
- Suck
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 3
- 3
- 30
-
-
- -28.3147774
- -0.461400777
- -0.0123875439
- 0.5860361
- 0.155358553
- 3
- 3
- 49
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 24
- Slimy
-
-
- -179.68
- -179.331
- 0.0117773116
- -0.012
- -0.374133736
- 2
- 2
- -15
- 55
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 1
-
-
-
-
-
-
- Switch
- 100
- 100
- false
-
-
- Pawn
-
-
- 25.5458
- 7.708157
- -0.00393304229
- -0.466077149
- 0.1691246
- 1
- 1
- 16
-
-
- 15.6320648
- 7.708157
- -0.00393304229
- -0.485742867
- 0.1828906
- 1
- 1
- 83
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -0.461400777
- 0.593902469
- 0.149458885
- 3
- 3
- 48
-
-
- -28.3147774
- 0.4414621
- 0.58497715
- 0.161964208
- 3
- 3
- 22
-
-
- -28.3147774
- -5.852266
- -0.0125217736
- 0.499507248
- 0.202556252
- 3
- 3
- 29
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 9
- Suck
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 13
- 41
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 49
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 1
-
-
-
-
-
-
- RightBlowjobFaster
- 400
- 50
- true
-
-
- Pawn
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 29
-
-
- 23.7728024
- 7.708157
- -0.0135100782
- -0.575847447
- 0.168677568
- 1
- 1
- 20
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 14
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 1
-
-
-
-
-
-
- LeftFacing
- 50
- 50
- false
-
-
- Pawn
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 29
-
-
- 23.7728024
- 7.708157
- -0.0135100782
- -0.575847447
- 0.168677568
- 2
- 1
- 20
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 14
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 1
-
-
-
-
-
-
- RightBlowjobFasterLeftFacing
- 270
- 270
- false
-
-
- Pawn
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 43
-
-
- 23.7728024
- 7.708157
- -0.0135100782
- -0.575847447
- 0.168677568
- 2
- 1
- 36
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 39
-
-
- 23.7728024
- 7.708157
- -0.0135100782
- -0.575847447
- 0.168677568
- 2
- 1
- 41
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 45
-
-
- 23.7728024
- 7.708157
- -0.0135100782
- -0.575847447
- 0.168677568
- 2
- 1
- 65
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 1
-
-
-
-
- Pawn
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
- Slimy
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 9
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 16
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 14
-
-
- -32.7987442
- -8.49699
- -0.0141675482
- 0.432316452
- 0.15552257
- 3
- 3
- 10
-
-
- -36.00158
- -3.62854958
- -0.0242872238
- 0.415928543
- 0.141592741
- 3
- 3
- 23
-
-
- -33.23433
- 0.2594432
- -0.0155438231
- 0.4300877
- 0.153628111
- 3
- 3
- 26
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 14
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 14
- None
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- 0.007
- -0.012
- -0.373
- 2
- 2
- 20
- 10
- Suck
-
-
- -179.68
- -179.331
- 0.0117993951
- -0.012000002
- -0.366267473
- 2
- 2
- 15
- 9
-
-
- -179.68
- -179.331
- 0.008
- -0.012
- -0.372
- 2
- 2
- 10
- 16
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 31
- None
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 1
-
-
-
-
-
-
- MiddleKissing
- 249
- 0
-
-
-
- Pawn
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 2
- 1
- 8
-
-
- 23.7728024
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 26
-
-
- 24.52071
- 7.708157
- -0.00393304229
- -0.5817472
- 0.162777856
- 1
- 1
- 39
-
-
- 33.8062363
- -1.745628
- -0.00393304229
- -0.562081456
- 0.149011865
- 1
- 1
- 40
-
-
- 20.67817
- -2.64162827
- -0.0374405421
- -0.563148558
- 0.146207914
- 1
- 1
- 42
-
-
- 33.67371
- -10.6781654
- -0.02562505
- -0.573191941
- 0.119817734
- 1
- 1
- 32
-
-
- 24.55168
- 1.83792114
- -0.0187649541
- -0.568719745
- 0.120776057
- 1
- 1
- 61
-
-
- 24.167057
- 5.30330229
- -0.03378879
- -0.465604663
- 0.178063959
- 1
- 1
- 1
-
-
-
-
- PawnUnused
-
-
- -28.3147774
- -3.62854958
- 0.4552595
- 0.175024331
- 3
- 3
- 27
-
-
- -19.5583725
- -3.62854958
- 0.0111185312
- 0.4552595
- 0.175024331
- 3
- 3
- 26
-
-
- -21.90327
- -3.62854958
- -0.0208243951
- 0.518189847
- 0.141592622
- 3
- 3
- 34
-
-
- -16.8763733
- -3.62854958
- -0.0295713171
- 0.518189847
- 0.141592622
- 3
- 3
- 22
-
-
- -32.85453
- 3.495752
- -0.0199447311
- 0.524581254
- 0.14342092
- 3
- 3
- 81
-
-
- -26.2668018
- -3.30659652
- -0.0487327129
- 0.518481255
- 0.146201879
- 3
- 3
- 58
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 15
- 15
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 12
- 10
- Suck
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -15
- 12
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 31
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -1.541
- 9
- None
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 34
- Suck
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -3
- 11
- Suck
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -5
- 24
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -4.063
- 26
- Suck
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- 5
- 76
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -12
- 1
-
-
-
-
-
-
- Double
- 450
- 225
- true
-
-
- Pawn
-
-
- 24.167057
- 5.30330229
- -0.03378879
- -0.465604663
- 0.178063959
- 1
- 1
- 49
- Suck
-
-
- 40.14287
- 10.45346
- -0.023175139
- -0.465604663
- 0.178063959
- 1
- 1
- 25
-
-
- 24.167057
- 5.30330229
- -0.03378879
- -0.465604663
- 0.178063959
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 21
-
-
- -47.4342079
- 8.690771
- -0.12225467
- 0.5198823
- 0.162018836
- 3
- 3
- 53
- Slimy
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -12
- 49
-
-
- -179.68
- -179.331
- 0.023598671
- -0.0119999992
- -0.37216714
- 2
- 2
- -12
- 25
- Slimy
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -12
- 1
-
-
-
-
-
-
- Cum
- 600
- 600
- true
-
-
- Pawn
-
-
- 24.167057
- 5.30330229
- -0.03378879
- -0.465604663
- 0.178063959
- 1
- 1
- 49
-
-
- 40.14287
- 10.45346
- -0.023175139
- -0.465604663
- 0.178063959
- 1
- 1
- 78
- None
-
-
- 41.7705231
- 14.5681791
- -0.0152118988
- -0.465604663
- 0.178063959
- 1
- 1
- 72
- Suck
-
-
- 24.167057
- 5.30330229
- -0.03378879
- -0.465604663
- 0.178063959
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 37
-
-
- -47.4342079
- 8.690771
- -0.12225467
- 0.5198823
- 0.162018836
- 3
- 3
- 55
- Slimy
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 58
- Slimy
-
-
- -47.4342079
- 8.690771
- -0.12225467
- 0.5198823
- 0.162018836
- 3
- 3
- 49
- Slimy
-
-
- -41.35107
- -0.843487263
- -0.06996385
- 0.5139825
- 0.148252845
- 3
- 3
- 1
-
-
-
-
- LayingPawn
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -12
- 49
-
-
- -179.68
- -179.331
- 0.023598671
- -0.0119999992
- -0.37216714
- 2
- 2
- -12
- true
- 78
- Cum
-
-
- -179.68
- -179.331
- 0.023598671
- -0.0119999992
- -0.37216714
- 2
- 2
- -12
- 72
-
-
- -179.68
- -179.331
- -0.012
- -0.382
- 2
- 2
- -12
- 1
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/FacingForwardFuck.xml b/1.4/Defs/AnimationDefs/FacingForwardFuck.xml
deleted file mode 100644
index 440dd8f..0000000
--- a/1.4/Defs/AnimationDefs/FacingForwardFuck.xml
+++ /dev/null
@@ -1,686 +0,0 @@
-
-
-
- FacingForwardFuck
-
- true
-
- Vaginal
- Anal
- None
-
-
- Rape_Anal
- Rape_Cunnilingus
- Rape_Vaginal
- Rape_Reverse_Anal
- Rape_Reverse_Vaginal
- Sex_Reverse_Anal
- Sex_Reverse_Vaginal
- Sex_Anal
- Sex_Vaginal
-
-
-
-
- Human
-
-
- (0, -0.05)
- (0, -0.05)
- (0.07, 0.15)
-
-
-
-
- Human
-
-
- Penis
-
- true
-
- (-0.03, 0.03)
- (-0.05, 0.2)
- (-0.02, 0.05)
-
-
-
-
-
- SlowFuck
- 500
- 300
- true
-
-
- Pawn
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 63
- Fuck
-
-
- 14.6821575
- 0.9831765
- -0.09562898
- 0.3166983
- 0.241406
- 3
- 2
- 36
- Slimy
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 63
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 36
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- FemaleFaceForward
- 200
- 100
- true
-
-
- Pawn
-
-
- 16.6431561
- 8.393279
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 64
- Fuck
-
-
- 14.6821575
- 7.09635925
- -0.06650379
- 0.3166983
- 0.241406
- 2
- 2
- 35
- Slimy
-
-
- 16.6431561
- 8.393279
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 64
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 35
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- HipMovement
- 300
- 200
- true
-
-
- Pawn
-
-
- 16.6431561
- 8.393279
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 55
- Fuck
-
-
- 14.6821575
- 7.09635925
- -0.06650379
- 0.3166983
- 0.241406
- 2
- 2
- 20
- Slimy
-
-
- 20.0933418
- 7.5340724
- -0.0468387455
- 0.299985439
- 0.210036
- 2
- 2
- 24
-
-
- 16.6431561
- 8.393279
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 55
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 20
-
-
- -19.129
- -14.649
- 0.047
- -0.021
- 0.047
- 1
- 2
- 5
- 24
- Slimy
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- MediumFuck
- 560
- 280
- true
-
-
- Pawn
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 39
- Fuck
-
-
- 14.6821575
- 0.9831765
- -0.09562898
- 0.3166983
- 0.241406
- 3
- 2
- 30
- Slimy
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 39
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 30
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- FastFuckFaceForward
- 360
- 270
- true
-
-
- Pawn
-
-
- 16.6431561
- 8.393279
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 14
- Fuck
-
-
- 14.6821575
- 7.09635925
- -0.06650379
- 0.3166983
- 0.241406
- 2
- 2
- 15
- Slimy
-
-
- 16.6431561
- 8.489082
- -0.0039331913
- 0.263521016
- 0.141592383
- 2
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 14
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 15
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- FastFuck
- 144
- 72
- true
-
-
- Pawn
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 8
- Fuck
-
-
- 14.6821575
- 0.9831765
- -0.09562898
- 0.3166983
- 0.241406
- 3
- 2
- 9
- Slimy
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 8
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 9
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
- Orgasm
- 300
- 400
- true
-
-
- Pawn
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- true
- 66
- Cum
-
-
- 16.6431561
- 0.9831765
- 0.0103825331
- 0.251721561
- 0.1278264
- 3
- 2
- 16
- None
-
-
- 14.6821575
- 0.9831765
- -0.09562898
- 0.3166983
- 0.241406
- 3
- 2
- 17
- Slimy
-
-
- 16.6431561
- 0.9831765
- -0.0039331913
- 0.263521016
- 0.141592383
- 3
- 2
- 1
- None
-
-
-
-
- LayingPawn
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 66
- Fuck
-
-
- -19.129
- -14.649
- 0.0120656937
- -0.0200668052
- 0.0886991248
- 1
- 2
- 10
- 16
-
-
- -19.129
- -14.649
- 0.058226347
- -0.0200669244
- 0.036534965
- 1
- 2
- 15
- 17
-
-
- -19.129
- -14.649
- 0.022
- -0.024
- 0.071
- 1
- 2
- 10
- 1
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/LezThreesome.xml b/1.4/Defs/AnimationDefs/LezThreesome.xml
deleted file mode 100644
index 49aecc2..0000000
--- a/1.4/Defs/AnimationDefs/LezThreesome.xml
+++ /dev/null
@@ -1,1086 +0,0 @@
-
-
-
- LesbianThreesome
-
- true
-
- None
- Vaginal
- Oral
- Cunnilingus
-
-
- Sex_Cunnilingus
- Sex_Reverse_Cunnilingus
- Rape_Reverse_Cunnilingus
- Rape_Oral
- Rape_Cunnilingus
-
-
-
-
- Human
-
-
- (0, 0)
-
-
-
-
- Human
-
-
- Vagina
-
-
-
-
- Human
-
-
-
-
-
- Lezzing1
- 644
- 161
- true
-
-
- ItemImportant
-
-
- -65.71689
- -49.7821159
- -0.190476716
- -0.03571415
- 2
- 3
- 30
-
-
- -65.71689
- -49.7821159
- 0.00174501631
- -0.20227614
- -0.0278478861
- 2
- 3
- 48
- Slimy
-
-
- -65.71689
- -49.7821159
- -0.009596467
- -0.190476716
- -0.03571415
- 2
- 3
- 26
-
-
- -65.71689
- -49.7821159
- 0.00174501631
- -0.1944099
- -0.0317810178
- 2
- 3
- 56
-
-
- -65.71689
- -49.7821159
- -0.190476716
- -0.03571415
- 2
- 3
- 1
-
-
-
-
- Pawn
-
-
- -69.66737
- -56.7605171
- -0.291667134
- -0.2738092
- 0
- 1
- 30
-
-
- -69.66737
- -56.7605171
- -0.0315095559
- -0.287733942
- -0.277742326
- 0
- 1
- 48
- Suck
-
-
- -69.66737
- -56.7605171
- -0.0137975514
- -0.291667134
- -0.2738092
- 0
- 1
- 26
-
-
- -69.66737
- -56.7605171
- -0.0315095559
- -0.2857674
- -0.275775731
- 0
- 1
- 56
-
-
- -69.66737
- -56.7605171
- -0.291667134
- -0.2738092
- 0
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.301498055
- -0.103156626
- 3
- 3
- 60
- Slimy
-
-
- -46.7103
- -24.973381
- -0.0229591429
- 0.2464343
- -0.109056413
- 3
- 3
- 100
- Slimy
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.301498055
- -0.103156626
- 3
- 3
- 1
-
-
-
-
-
-
- MoveToPosition
- 161
- 161
- false
-
-
- LayingPawn
-
-
- -65.71689
- -49.7821159
- -0.190476716
- -0.03571415
- 2
- 3
- 28
-
-
- -57.7525177
- -49.7821159
- -0.245343938
- -0.0595096871
- 2.45901632
- 3
- 33
-
-
- -48.3659363
- -49.7821159
- -0.3014404
- 0.135229915
- 3
- 3
- 87
-
-
- -38.62952
- -49.7821159
- -0.546720743
- 0.5034208
- 3
- 3
- 12
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 1
-
-
-
-
- Pawn
-
-
- -69.66737
- -56.7605171
- -0.291667134
- -0.2738092
- 0
- 1
- 28
-
-
- -68.99955
- -62.3791351
- -0.292355418
- -0.2751858
- 0
- 1
- 81
-
-
- -83.754425
- -78.6329956
- -0.294346541
- -0.2791681
- 1
- 1
- 51
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.301498055
- -0.103156626
- 3
- 3
- 28
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.2612817
- -0.107483014
- 3
- 3
- 53
-
-
- -20.61213
- -15.617774
- -0.0117702484
- 0.298052341
- -0.0857971
- 3
- 3
- 79
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 1
-
-
-
-
-
-
- TripleCunnilingus
- 900
- 150
- true
-
-
- PawnUnused
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 42
-
-
- -30.27183
- -49.7821159
- -0.04006213
- -0.636888
- 0.491326451
- 3
- 3
- 57
- Slimy
-
-
- -40.5961227
- -51.2084274
- 0.00613888353
- -0.5962455
- 0.412008226
- 3
- 3
- 50
- Suck
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 1
-
-
-
-
- Pawn
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 50
-
-
- -95.84532
- -83.23129
- -0.02989915
- -0.31723246
- -0.2718426
- 1
- 1
- 99
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 57
- Suck
-
-
- -38.4983063
- -24.4238682
- -0.05612552
- 0.5807503
- -0.122822225
- 3
- 3
- 54
- Slimy
-
-
- -41.5732155
- -19.6205444
- -0.0244095139
- 0.581108
- -0.145705938
- 3
- 3
- 38
- Slimy
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 1
-
-
-
-
-
-
- TripleCunnilingusFaster
- 800
- 100
- true
-
-
- PawnUnused
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 28
-
-
- -22.28259
- -49.7821159
- -0.0527483225
- -0.6899853
- 0.489360034
- 3
- 3
- 34
- Slimy
-
-
- -22.5491524
- -49.7821159
- 0.006459078
- -0.587723851
- 0.440195739
- 3
- 3
- 37
- Slimy
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 1
-
-
-
-
- Pawn
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 44
-
-
- -98.2992
- -99.2658539
- -0.0368744135
- -0.372296333
- -0.267909527
- 1
- 1
- 55
- Slimy
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 54
- Slimy
-
-
- -40.325676
- 0.126668811
- -0.0006826222
- 0.588616669
- -0.1503542
- 3
- 3
- 45
- Fuck
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 1
-
-
-
-
-
-
- TripleCunnilingusFaster2
- 576
- 72
- true
-
-
- PawnUnused
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 23
-
-
- -22.28259
- -49.7821159
- -0.0527483225
- -0.6899853
- 0.489360034
- 3
- 3
- 24
- Suck
-
-
- -22.5491524
- -49.7821159
- 0.006459078
- -0.587723851
- 0.440195739
- 3
- 3
- 23
- Slimy
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 1
-
-
-
-
- Pawn
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 26
-
-
- -98.2992
- -99.2658539
- -0.0368744135
- -0.372296333
- -0.267909527
- 1
- 1
- 44
- Slimy
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 36
-
-
- -40.325676
- 0.126668811
- -0.0006826222
- 0.588616669
- -0.1503542
- 3
- 3
- 34
- Suck
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 1
-
-
-
-
-
-
- NewStage
- 350
- 350
- false
-
-
- PawnUnused
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 44
-
-
- -20.8286152
- 9.675526
- -0.60738945
- 0.5031259
- 3
- 3
- true
- 45
- Cum
-
-
- -29.4644051
- 4.85463572
- -0.615255833
- 0.5031259
- 3
- 3
- 14
-
-
- -10.1306162
- 2.49775648
- -0.6149165
- 0.5031259
- 3
- 3
- true
- 77
- Slimy
-
-
- -19.30925
- -4.894
- -0.014783442
- -0.6159667
- 0.53643167
- 3
- 3
- 12
- Cum
-
-
- -3.880098
- 30.4898758
- -0.0336211622
- -0.6136687
- 0.503006339
- 3
- 3
- true
- 51
-
-
- -14.4412622
- 22.0189629
- -0.0300732013
- -0.613006055
- 0.503019
- 3
- 3
- 11
-
-
- -0.208420008
- 35.0374336
- -0.0269476157
- -0.6124223
- 0.503030062
- 3
- 3
- 95
-
-
- -37.3476677
- -49.7821159
- -0.60738945
- 0.5031259
- 3
- 3
- 1
-
-
-
-
- Pawn
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 44
-
-
- -95.54599
- -113.623627
- -0.2956002
- -0.281675458
- 1
- 1
- true
- 45
- Cum
-
-
- -90.34562
- -96.01813
- -0.2956002
- -0.281675458
- 1
- 1
- 14
-
-
- -102.031006
- -126.010582
- -0.2956002
- -0.281675458
- 1
- 1
- true
- 47
- Cum
-
-
- -104.3527
- -108.139137
- -0.287977844
- -0.264174432
- 1
- 1
- 30
-
-
- -90.346
- -114.442329
- -0.296
- -0.282
- 1
- 1
- 12
- Suck
-
-
- -90.34598
- -136.502762
- -0.295979977
- -0.281983733
- 1
- 1
- true
- 28
- Cum
-
-
- -109.976593
- -134.079727
- -0.284174979
- -0.238714755
- 1
- 1
- 23
-
-
- -100.991768
- -118.849266
- -0.288073748
- -0.2563858
- 1
- 1
- 11
-
-
- -102.096962
- -139.0435
- -0.290004969
- -0.270123124
- 1
- 1
- 95
-
-
- -90.34562
- -88.86691
- -0.2956002
- -0.281675458
- 1
- 1
- 1
-
-
-
-
- LayingPawn
-
-
- -35.6027222
- -15.617774
- -0.0117702484
- 0.588616669
- -0.1503542
- 3
- 3
- 41
- Slimy
-
-
- -40.5730972
- -17.2931328
- -0.0380636156
- 0.5807503
- -0.152320743
- 3
- 3
- 18
-
-
- -48.23515
- -11.4770489
- 0.00613904
- 0.581004
- -0.152257308
- 3
- 3
- 21
-
-
- -37.596405
- -18.6857586
- 0.018463172
- 0.5813001
- -0.1521833
- 3
- 3
- 20
-
-
- -40.5730972
- -17.2931328
- -0.0380636156
- 0.5807503
- -0.152320743
- 3
- 3
- 18
-
-
- -48.23515
- -11.4770489
- 0.00613904
- 0.581004
- -0.152257308
- 3
- 3
- 21
-
-
- -37.596405
- -18.6857586
- 0.018463172
- 0.5813001
- -0.1521833
- 3
- 3
- 21
-
-
- -48.23515
- -11.4770489
- 0.00613904
- 0.581004
- -0.152257308
- 3
- 3
- 18
-
-
- -46.5445023
- -11.4770489
- -0.03721544
- 0.581004
- -0.152257308
- 3
- 3
- 21
- Slimy
-
-
- -37.596405
- -18.6857586
- 0.018463172
- 0.5813001
- -0.1521833
- 3
- 3
- 20
-
-
- -40.5730972
- -17.2931328
- -0.0380636156
- 0.5807503
- -0.152320743
- 3
- 3
- 18
-
-
- -48.23515
- -11.4770489
- 0.00613904
- 0.581004
- -0.152257308
- 3
- 3
- 21
-
-
- -37.596405
- -18.6857586
- 0.018463172
- 0.5813001
- -0.1521833
- 3
- 3
- 91
-
-
- -48.23515
- -11.4770489
- 0.00613904
- 0.581004
- -0.152257308
- 3
- 3
- 1
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/SidewaysBJ.xml b/1.4/Defs/AnimationDefs/SidewaysBJ.xml
deleted file mode 100644
index a528948..0000000
--- a/1.4/Defs/AnimationDefs/SidewaysBJ.xml
+++ /dev/null
@@ -1,1283 +0,0 @@
-
-
-
- SidewaysBlowjob
-
- true
-
- Oral
- Fellatio
-
-
- Handjob
- HandjobF
- HandjobRape
- HandjobRapeF
- Breastjob
- BreastjobF
- BreastjobRape
- BreastjobRapeF
- Fellatio
- FellatioF
- FellatioRape
- FellatioRapeF
- Beakjob
- BeakjobF
- BeakjobRape
- BeakjobRapeF
-
-
-
-
- Human
-
-
-
-
-
- Human
-
-
- (0, 0)
- (0.088, 0.038)
- (0.028, 0.257)
- (-0.18, 0.028)
-
- true
- true
-
-
-
-
- Initial
- 0
- 200
- 200
- false
-
-
- Pawn
-
-
- 48
- 5.26700544
- 4.21946526
- 0
- 0.393312037
- 0.210422277
- 3
- 3
-
-
- 52
- -11.586771
- 15.1064863
- 0
- 0.440509528
- 0.0412974358
- 3
- 3
-
-
- 55
- -31.05862
- -15.3939009
- -0.07017967
- 0.543972135
- -0.0685991645
- 3
- 3
-
-
- 44
- -34.522
- 5.027
- 0
- 0.507
- -0.13
- 3
- 3
-
-
- 1
- -34.522
- -3.92795014
- -0.0326114
- 0.3909727
- -0.169331312
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 48
- -15.66833
- -10.668
- 0
- -0.287
- 0.165
- 1
- 1
- false
-
-
- 4
- -5.292613
- 8.845157
- 0
- -0.287118852
- 0.165191889
- 1
- 1
-
-
- 4
- -4.995
- 8.906
- 0
- -0.287
- 0.165
- 1
- 1
- -6
-
-
- 44
- -4.697
- 8.967
- 0
- -0.287
- 0.165
- 1
- 1
-
-
- 4
- 1.26067436
- 10.1886148
- 0
- -0.287118852
- 0.165191889
- 1
- 1
-
-
- 4
- 0.629
- 10.252
- 0
- -0.287
- 0.165
- 1
- 1
- -6
-
-
- 20
- -0.003
- 10.316
- 0
- -0.287
- 0.165
- 1
- 1
-
-
- 27
- -7.897
- 11.11
- 0
- -0.287
- 0.165
- 1
- 1
- 7.353
-
-
- 44
- -10.739
- 11.396
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 1
- -13.7264843
- 11.396
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- Blow
- 0
- 480
- 360
- true
-
-
- Pawn
-
-
- 59
- Suck
- -34.522
- -3.92795014
- -0.0326114
- 0.3909727
- -0.169331312
- 3
- 3
-
-
- 19
- -31.3116169
- -1.68748426
- -0.08921084
- 0.4362033
- -0.061169982
- 3
- 3
-
-
- 41
- -31.3116169
- -12.410552
- -0.08921084
- 0.418504477
- -0.0493704081
- 3
- 3
-
-
- 1
- -34.522
- -3.92795014
- -0.0326114
- 0.3909727
- -0.169331312
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 59
- Slimy
- -13.7264843
- 11.396
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 19
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 41
- -11.337
- 11.396
- -0.023
- -0.287
- 0.165
- 1
- 1
- 18
-
-
- 1
- -13.7264843
- 11.396
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- GetOffQuick
- 0
- 60
- 60
- false
-
-
- Pawn
-
-
- 59
- Suck
- -34.522
- -3.92795014
- -0.0326114
- 0.3909727
- -0.169331312
- 3
- 3
-
-
- 1
- -31.3116169
- -1.68748426
- -0.08921084
- 0.4362033
- -0.061169982
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 59
- Slimy
- -13.7264843
- 11.396
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 1
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- LickFromSide
- 0
- 180
- 180
- false
-
-
- LayingPawn
-
-
- 34
- -31.312
- -1.687
- -0.03
- 0.3216688
- -0.09253198
- 2
- 3
-
-
- 37
- -36.64
- -10.132
- -0.058
- 0.23
- -0.124
- 2
- 3
- 10
-
-
- 57
- Suck
- -39.8496056
- -2.66623664
- -0.03
- 0.215805382
- -0.1598633
- 2
- 3
-
-
- 21
- -35.12374
- -13.6572018
- -0.07122117
- 0.219833642
- -0.111214638
- 2
- 3
-
-
- 30
- -31.5715046
- -8.527115
- -0.0535549521
- 0.3209045
- -0.114978574
- 3
- 3
-
-
- 1
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- Pawn
-
-
- 68
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 3
- Slimy
- -10.739
- 11.396
- -0.029
- -0.287
- 0.165
- 1
- 1
- 23
-
-
- 3
- -10.739
- 11.396
- -0.029
- -0.287
- 0.165
- 1
- 1
- 17
-
-
- 25
- -10.739
- 11.396
- -0.029
- -0.287
- 0.165
- 1
- 1
- 22
-
-
- 3
- Slimy
- -10.739
- 8.529886
- -0.029
- -0.287
- 0.165
- 1
- 1
- 18
-
-
- 4
- -10.739
- -1.653
- -0.029
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 19
- -10.739
- -4.025
- -0.029
- -0.287
- 0.165
- 1
- 1
- 17
-
-
- 54
- None
- -13.7264843
- -26.2778587
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 1
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- FastBlow
- 0
- 360
- 180
- true
-
-
- Pawn
-
-
- 19
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
- 21
- Slimy
- -34.522
- -13.482
- -0.033
- 0.383
- -0.154
- 3
- 3
- 10
-
-
- 19
- -32.5603333
- 4.89252758
- -0.0310155433
- 0.430507243
- -0.139182657
- 3
- 3
-
-
- 1
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 19
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
-
-
- 21
- Suck
- -13.726
- 14.585372
- 0
- -0.287
- 0.165
- 1
- 1
- 19
-
-
- 19
- -11.901
- 11.396
- -0.018
- -0.287
- 0.165
- 1
- 1
-
-
- 1
- -10.739
- 11.396
- -0.029
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- HeadUp
- 0
- 250
- 250
- false
-
-
- Pawn
-
-
- 25
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
- 39
- Suck
- -34.522
- -13.482
- -0.033
- 0.383
- -0.154
- 3
- 3
- 10
- false
-
-
- 143
- -34.522
- -14.0979557
- -0.038907595
- 0.3747224
- -0.151634976
- 3
- 3
- 10
- false
-
-
- 42
- -34.522
- -2.62852883
- -0.0526491776
- 0.363334119
- -0.177598789
- 3
- 3
- 10
- false
-
-
- 1
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 25
- -10.739
- 11.396
- -0.029309094
- -0.287
- 0.165
- 1
- 1
- 10
- false
-
-
- 39
- Slimy
- -17.69459
- -10.2001219
- 0
- -0.287
- 0.165
- 1
- 1
- 19
- false
-
-
- 77
- Slimy
- -18.524
- -10.2
- 0
- -0.287
- 0.165
- 1
- 1
- 19
- true
-
-
- 66
- Slimy
- -18.957
- -10.2
- 0
- -0.287
- 0.165
- 1
- 1
- 19
- false
-
-
- 42
- -20.4536667
- -10.2001219
- 0
- -0.287
- 0.165
- 1
- 1
- 19
- false
-
-
- 1
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- FasterBlow
- 0
- 280
- 112
- true
-
-
- Pawn
-
-
- 13
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
- 14
- Suck
- -34.522
- -13.482
- -0.033
- 0.383
- -0.154
- 3
- 3
- 10
-
-
- 1
- None
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 13
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
- false
-
-
- 14
- Slimy
- -17.69459
- -10.2001219
- 0
- -0.287
- 0.165
- 1
- 1
- 19
-
-
- 1
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
-
-
-
-
-
-
- EvenFasterBlow
- 0
- 160
- 60
- true
-
-
- Pawn
-
-
- 9
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
- 10
- Suck
- -34.522
- -13.482
- -0.033
- 0.383
- -0.154
- 3
- 3
- 10
-
-
- 1
- None
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 9
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
- false
-
-
- 10
- Fuck
- -19.82844
- -10.2001219
- 0
- -0.27323398
- 0.165
- 1
- 1
- 19
- true
-
-
- 1
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
- false
-
-
-
-
-
-
- Cum
- 0
- 260
- 260
- false
-
-
- Pawn
-
-
- 14
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
- 31
- Suck
- -34.522
- -13.482
- -0.033
- 0.383
- -0.154
- 3
- 3
- 10
- false
-
-
- 36
- -37.6717453
- -13.482
- -0.033
- 0.377100378
- -0.1598996
- 3
- 3
- 10
- false
-
-
- 6
- -37.672
- -13.901
- -0.033
- 0.377
- -0.16
- 3
- 3
- 10
-
-
- 6
- Suck
- -34.09249
- -19.2079468
- -0.033
- 0.377009124
- -0.159990877
- 3
- 3
- 10
-
-
- 54
- -37.672
- -13.901
- -0.033
- 0.377
- -0.16
- 3
- 3
- 10
-
-
- 18
- -37.6717453
- -14.6683264
- -0.033
- 0.377100378
- -0.1598996
- 3
- 3
- 10
-
-
- 6
- None
- -37.672
- -13.901
- -0.033
- 0.377
- -0.16
- 3
- 3
- 10
- false
-
-
- 6
- Cum
- -34.09249
- -19.2079468
- -0.033
- 0.377009124
- -0.159990877
- 3
- 3
- 10
-
-
- 38
- Slimy
- -37.672
- -13.901
- -0.033
- 0.377
- -0.16
- 3
- 3
- 10
- false
-
-
- 44
- Slimy
- -37.6717453
- -13.482
- -0.033
- 0.377100378
- -0.1598996
- 3
- 3
- 10
-
-
- 1
- None
- -26.8351917
- -1.687
- -0.03
- 0.4556656
- -0.119997159
- 3
- 3
-
-
-
-
- LayingPawn
-
-
- 14
- -10.739
- -10
- 0
- -0.287
- 0.165
- 1
- 1
- 10
- false
-
-
- 31
- Fuck
- -19.82844
- -10.2001219
- 0
- -0.27323398
- 0.165
- 1
- 1
- 19
- true
-
-
- 36
- None
- -19.82844
- -10.2001219
- 0
- -0.27323398
- 0.165
- 1
- 1
- 19
- true
-
-
- 6
- Cum
- -19.828
- -10.2
- 0
- -0.273
- 0.165
- 1
- 1
- 19
- false
-
-
- 55
- Cum
- -19.828
- -10.2
- 0
- -0.273
- 0.165
- 1
- 1
- 19
- true
-
-
- 23
- -19.828
- -10.2
- 0
- -0.273
- 0.165
- 1
- 1
- 19
- false
-
-
- 33
- Cum
- -19.828
- -10.2
- 0
- -0.273
- 0.165
- 1
- 1
- 19
- true
-
-
- 17
- -19.828
- -10.2
- 0
- -0.273
- 0.165
- 1
- 1
- 19
- false
-
-
- 1
- -19.82844
- -10.2001219
- 0
- -0.27323398
- 0.165
- 1
- 1
- 19
- false
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Defs/AnimationDefs/TemplateAnimation.xml b/1.4/Defs/AnimationDefs/TemplateAnimation.xml
deleted file mode 100644
index 0305903..0000000
--- a/1.4/Defs/AnimationDefs/TemplateAnimation.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
diff --git a/1.4/Defs/MainTabDefs/MainButtonDef.xml b/1.4/Defs/MainTabDefs/MainButtonDef.xml
deleted file mode 100644
index 0674d24..0000000
--- a/1.4/Defs/MainTabDefs/MainButtonDef.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- OffsetManager
-
- Control pawn offsets
- Rimworld_Animations.MainTabWindow_OffsetConfigure
- 54
- false
- UI/MainTab
- true
-
-
-
\ No newline at end of file
diff --git a/1.4/Patches/AnimationPatchHSK.xml b/1.4/Patches/AnimationPatchHSK.xml
deleted file mode 100644
index 74038ea..0000000
--- a/1.4/Patches/AnimationPatchHSK.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
- Core SK
-
-
-
-
-
- Defs/ThingDef/comps
- Always
-
- Defs/ThingDef
-
-
-
-
-
-
-
- Defs/ThingDef[@Name="BaseAnimalPawn" or @Name="SK_BasePawn" or @Name="BasePawnSkynet"]/comps
-
-
-
-
-
-
-
-
-
diff --git a/1.4/Patches/AnimationPatch_CompBodyAnimator.xml b/1.4/Patches/AnimationPatch_CompBodyAnimator.xml
deleted file mode 100644
index e645747..0000000
--- a/1.4/Patches/AnimationPatch_CompBodyAnimator.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- Always
-
-
- Always
- Defs/ThingDef[race][not(comps)]
-
-
-
-
-
- Always
- Defs/AlienRace.ThingDef_AlienRace[not(comps)]
-
-
-
-
-
-
- Defs/ThingDef[@Name="BasePawn"]/comps
-
-
-
-
-
- Defs/AlienRace.ThingDef_AlienRace/comps
-
-
-
-
-
-
-
diff --git a/1.4/Patches/CompatibilityPatch_FacialAnimation.xml b/1.4/Patches/CompatibilityPatch_FacialAnimation.xml
deleted file mode 100644
index 125d79f..0000000
--- a/1.4/Patches/CompatibilityPatch_FacialAnimation.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
- [NL] Facial Animation - WIP
-
-
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/targetJobs
- Always
-
- RJW_Masturbate
- GettinBred
- Bestiality
- BestialityForFemale
- ViolateCorpse
- Quickie
- GettingQuickie
- GettinRaped
- JoinInBed
- GettinLoved
- GettinLicked
- GettinSucked
- WhoreIsServingVisitors
- JoinInBedAnimation
- GettinLovedAnimation
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="WaitCombat" or defName="Wait_Combat_Rare"]/targetJobs
- Always
-
- RapeComfortPawn
- RandomRape
- RapeEnemy
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="StandAndBeSociallyActive"]/targetJobs
- Always
-
- WhoreInvitingVisitors
-
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Wear" or defName="Wear2" or defName="Wear3"]/targetJobs
- Always
-
- CleanSelf
- StruggleInBondageGear
-
-
-
-
- Rimworld-Animations
-
-
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/animationFrames/li[1]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[2]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[3]/headOffset
- Always
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.4/Patches/RacePatches/Epona race Renaissance.xml b/1.4/Patches/RacePatches/Epona race Renaissance.xml
deleted file mode 100644
index 9453030..0000000
--- a/1.4/Patches/RacePatches/Epona race Renaissance.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- Epona race Renaissance
-
-
-
-
- Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Epona"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Epona_OHPG_female="Things/Pawn/Addons/Breasts/Breasts"]/drawnInBed
-
- Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Epona"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Epona_OHPG_female="Things/Pawn/Addons/Breasts/Breasts"]/drawnInBed
-
- false
-
-
-
-
-
-
-
diff --git a/1.4/Patches/RacePatches/Nyaron.xml b/1.4/Patches/RacePatches/Nyaron.xml
deleted file mode 100644
index c176521..0000000
--- a/1.4/Patches/RacePatches/Nyaron.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- Nyaron race
-
-
-
-
- Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Nyaron"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPart="tail"]
-
- /Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Nyaron"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPart="tail"]
-
- false
-
-
-
-
- Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Nyaron"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPartLabel="tail"]
-
- /Defs/AlienRace.ThingDef_AlienRace[defName = "Alien_Nyaron"]/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPartLabel="tail"]
-
- false
-
-
-
-
-
-
-
diff --git a/1.4/Sounds/Sex/Clap_1.wav b/1.4/Sounds/Sex/Clap_1.wav
deleted file mode 100644
index bccd0f2..0000000
Binary files a/1.4/Sounds/Sex/Clap_1.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_2.wav b/1.4/Sounds/Sex/Clap_2.wav
deleted file mode 100644
index a382f59..0000000
Binary files a/1.4/Sounds/Sex/Clap_2.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_3.wav b/1.4/Sounds/Sex/Clap_3.wav
deleted file mode 100644
index 65cf39b..0000000
Binary files a/1.4/Sounds/Sex/Clap_3.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_4.wav b/1.4/Sounds/Sex/Clap_4.wav
deleted file mode 100644
index 3ae1b3e..0000000
Binary files a/1.4/Sounds/Sex/Clap_4.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_5.wav b/1.4/Sounds/Sex/Clap_5.wav
deleted file mode 100644
index 65144e7..0000000
Binary files a/1.4/Sounds/Sex/Clap_5.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_6.wav b/1.4/Sounds/Sex/Clap_6.wav
deleted file mode 100644
index 0026325..0000000
Binary files a/1.4/Sounds/Sex/Clap_6.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_7.wav b/1.4/Sounds/Sex/Clap_7.wav
deleted file mode 100644
index 6d7de2a..0000000
Binary files a/1.4/Sounds/Sex/Clap_7.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Clap_8.wav b/1.4/Sounds/Sex/Clap_8.wav
deleted file mode 100644
index 1af5710..0000000
Binary files a/1.4/Sounds/Sex/Clap_8.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Slime/Slimy1.wav b/1.4/Sounds/Sex/Slime/Slimy1.wav
deleted file mode 100644
index 3cfbd74..0000000
Binary files a/1.4/Sounds/Sex/Slime/Slimy1.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Slime/Slimy2.wav b/1.4/Sounds/Sex/Slime/Slimy2.wav
deleted file mode 100644
index 36a9197..0000000
Binary files a/1.4/Sounds/Sex/Slime/Slimy2.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Slime/Slimy3.wav b/1.4/Sounds/Sex/Slime/Slimy3.wav
deleted file mode 100644
index 40aff1e..0000000
Binary files a/1.4/Sounds/Sex/Slime/Slimy3.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Slime/Slimy4.wav b/1.4/Sounds/Sex/Slime/Slimy4.wav
deleted file mode 100644
index 0b6404e..0000000
Binary files a/1.4/Sounds/Sex/Slime/Slimy4.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Slime/Slimy5.wav b/1.4/Sounds/Sex/Slime/Slimy5.wav
deleted file mode 100644
index ea310db..0000000
Binary files a/1.4/Sounds/Sex/Slime/Slimy5.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_1.wav b/1.4/Sounds/Sex/Suck/Suck_1.wav
deleted file mode 100644
index 4f1eafd..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_1.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_10.wav b/1.4/Sounds/Sex/Suck/Suck_10.wav
deleted file mode 100644
index 284cda3..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_10.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_3.wav b/1.4/Sounds/Sex/Suck/Suck_3.wav
deleted file mode 100644
index 95e7348..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_3.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_4.wav b/1.4/Sounds/Sex/Suck/Suck_4.wav
deleted file mode 100644
index 753a023..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_4.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_5.wav b/1.4/Sounds/Sex/Suck/Suck_5.wav
deleted file mode 100644
index 8ecda9c..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_5.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_6.wav b/1.4/Sounds/Sex/Suck/Suck_6.wav
deleted file mode 100644
index 08567d6..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_6.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_7.wav b/1.4/Sounds/Sex/Suck/Suck_7.wav
deleted file mode 100644
index a63b0e4..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_7.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_8.wav b/1.4/Sounds/Sex/Suck/Suck_8.wav
deleted file mode 100644
index 320da09..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_8.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Suck_9.wav b/1.4/Sounds/Sex/Suck/Suck_9.wav
deleted file mode 100644
index 7ab538a..0000000
Binary files a/1.4/Sounds/Sex/Suck/Suck_9.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Swallow_1.wav b/1.4/Sounds/Sex/Suck/Swallow_1.wav
deleted file mode 100644
index f3276cc..0000000
Binary files a/1.4/Sounds/Sex/Suck/Swallow_1.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Swallow_2.wav b/1.4/Sounds/Sex/Suck/Swallow_2.wav
deleted file mode 100644
index 09a7a00..0000000
Binary files a/1.4/Sounds/Sex/Suck/Swallow_2.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/Suck/Swallow_3.wav b/1.4/Sounds/Sex/Suck/Swallow_3.wav
deleted file mode 100644
index 2817b29..0000000
Binary files a/1.4/Sounds/Sex/Suck/Swallow_3.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/cum.wav b/1.4/Sounds/Sex/cum.wav
deleted file mode 100644
index ef98437..0000000
Binary files a/1.4/Sounds/Sex/cum.wav and /dev/null differ
diff --git a/1.4/Sounds/Sex/kucyu04.wav b/1.4/Sounds/Sex/kucyu04.wav
deleted file mode 100644
index 3ae1ce8..0000000
Binary files a/1.4/Sounds/Sex/kucyu04.wav and /dev/null differ
diff --git a/1.4/Source/Actors/Actor.cs b/1.4/Source/Actors/Actor.cs
deleted file mode 100644
index 3b382dd..0000000
--- a/1.4/Source/Actors/Actor.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- public class Actor {
- public List defNames;
- public List requiredGenitals;
- public List raceOffsets;
- public List blacklistedRaces;
- public bool initiator = false;
- public string gender;
- public bool isFucking = false;
- public bool isFucked = false;
- public bool controlGenitalAngle = false;
- public List bodyDefTypes = new List();
- public BodyTypeOffset bodyTypeOffset = new BodyTypeOffset();
- public Vector3 offset = new Vector2(0, 0);
- public List requiredGender;
- public List tags = new List();
- }
-}
diff --git a/1.4/Source/Actors/AlienRaceOffset.cs b/1.4/Source/Actors/AlienRaceOffset.cs
deleted file mode 100644
index a5bbe20..0000000
--- a/1.4/Source/Actors/AlienRaceOffset.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- public class AlienRaceOffset {
-
- public string defName;
- public Vector2 offset;
-
- }
-}
diff --git a/1.4/Source/Actors/BodyTypeOffset.cs b/1.4/Source/Actors/BodyTypeOffset.cs
deleted file mode 100644
index 82a23a3..0000000
--- a/1.4/Source/Actors/BodyTypeOffset.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- public class BodyTypeOffset {
-
- public Vector2? Male;
- public Vector2? Female;
- public Vector2? Thin;
- public Vector2? Hulk;
- public Vector2? Fat;
-
- }
-}
diff --git a/1.4/Source/Animations/AnimationStage.cs b/1.4/Source/Animations/AnimationStage.cs
deleted file mode 100644
index 7a1304e..0000000
--- a/1.4/Source/Animations/AnimationStage.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public class AnimationStage
- {
- public string stageName;
- public int stageIndex;
- public int playTimeTicks = 0;
- public int playTimeTicksQuick = -1;
- public bool isLooping;
- public List animationClips;
- public List tags = new List();
-
- public void initialize() {
- foreach (BaseAnimationClip clip in animationClips) {
- clip.buildSimpleCurves();
- //select playTimeTicks as longest playtime of all the animations
- if(clip.duration > playTimeTicks) {
- playTimeTicks = clip.duration;
- }
- }
- }
- }
-}
diff --git a/1.4/Source/Animations/Clips/BaseAnimationClip.cs b/1.4/Source/Animations/Clips/BaseAnimationClip.cs
deleted file mode 100644
index aa35b31..0000000
--- a/1.4/Source/Animations/Clips/BaseAnimationClip.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public abstract class BaseAnimationClip
- {
- public Dictionary SoundEffects = new Dictionary();
- public List types; //types of participants
- public int duration;
- public abstract void buildSimpleCurves();
- public string soundDef = null; //for playing sounds
- public int actor;
- public List tags = new List();
- }
-}
diff --git a/1.4/Source/Animations/Clips/PawnAnimationClip.cs b/1.4/Source/Animations/Clips/PawnAnimationClip.cs
deleted file mode 100644
index e9d2489..0000000
--- a/1.4/Source/Animations/Clips/PawnAnimationClip.cs
+++ /dev/null
@@ -1,115 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public class PawnAnimationClip : BaseAnimationClip {
-
- public List keyframes;
- public AltitudeLayer layer = AltitudeLayer.Pawn;
-
- public Dictionary quiver = new Dictionary();
- public SimpleCurve GenitalAngle = new SimpleCurve();
- public SimpleCurve BodyAngle = new SimpleCurve();
- public SimpleCurve HeadAngle = new SimpleCurve();
- public SimpleCurve HeadBob = new SimpleCurve();
- public SimpleCurve BodyOffsetX = new SimpleCurve();
- public SimpleCurve BodyOffsetZ = new SimpleCurve();
- public SimpleCurve HeadFacing = new SimpleCurve();
- public SimpleCurve BodyFacing = new SimpleCurve();
-
-
- public override void buildSimpleCurves() {
-
-
- int duration = 0;
- //getting the length of the whole clip
- foreach(PawnKeyframe frame in keyframes) {
- duration += frame.tickDuration;
- }
-
- //guarantees loops don't get cut off mid-anim
- this.duration = duration;
-
- int keyframePosition = 0;
- foreach (PawnKeyframe frame in keyframes) {
-
- if (frame.atTick.HasValue) {
- if (frame.bodyAngle.HasValue)
- BodyAngle.Add((float)frame.atTick / (float)duration, frame.bodyAngle.Value, true);
-
- if (frame.headAngle.HasValue)
- HeadAngle.Add((float)frame.atTick / (float)duration, frame.headAngle.Value, true);
-
- if (frame.bodyOffsetX.HasValue)
- BodyOffsetX.Add((float)frame.atTick / (float)duration, frame.bodyOffsetX.Value, true);
-
- if (frame.bodyOffsetZ.HasValue)
- BodyOffsetZ.Add((float)frame.atTick / (float)duration, frame.bodyOffsetZ.Value, true);
-
- if (frame.headFacing.HasValue)
- HeadFacing.Add((float)frame.atTick / (float)duration, frame.headFacing.Value, true);
-
- if (frame.bodyFacing.HasValue)
- BodyFacing.Add((float)frame.atTick / (float)duration, frame.bodyFacing.Value, true);
-
- if (frame.headBob.HasValue)
- HeadBob.Add((float)frame.atTick / (float)duration, frame.headBob.Value, true);
-
- if (frame.genitalAngle.HasValue)
- GenitalAngle.Add((float)frame.atTick / (float)duration, frame.genitalAngle.Value, true);
-
- if (frame.soundEffect != null) {
- SoundEffects.Add((int)frame.atTick, frame.soundEffect);
- }
-
-
- }
- else {
- if (frame.bodyAngle.HasValue)
- BodyAngle.Add((float)keyframePosition / (float)duration, frame.bodyAngle.Value, true);
-
- if (frame.headAngle.HasValue)
- HeadAngle.Add((float)keyframePosition / (float)duration, frame.headAngle.Value, true);
-
- if (frame.bodyOffsetX.HasValue)
- BodyOffsetX.Add((float)keyframePosition / (float)duration, frame.bodyOffsetX.Value, true);
-
- if (frame.bodyOffsetZ.HasValue)
- BodyOffsetZ.Add((float)keyframePosition / (float)duration, frame.bodyOffsetZ.Value, true);
-
- if (frame.headFacing.HasValue)
- HeadFacing.Add((float)keyframePosition / (float)duration, frame.headFacing.Value, true);
-
- if (frame.bodyFacing.HasValue)
- BodyFacing.Add((float)keyframePosition / (float)duration, frame.bodyFacing.Value, true);
-
- if (frame.headBob.HasValue)
- HeadBob.Add((float)keyframePosition / (float)duration, frame.headBob.Value, true);
-
- if (frame.genitalAngle.HasValue)
- GenitalAngle.Add((float)keyframePosition / (float)duration, frame.genitalAngle.Value, true);
-
- if (frame.soundEffect != null) {
- SoundEffects.Add(keyframePosition, frame.soundEffect);
- }
-
- if(frame.tickDuration != 1 && frame.quiver.HasValue) {
-
- quiver.Add(keyframePosition, true);
- quiver.Add(keyframePosition + frame.tickDuration - 1, false);
- }
- keyframePosition += frame.tickDuration;
-
- }
-
- }
-
- }
-
- }
-}
diff --git a/1.4/Source/Animations/Clips/ThingAnimationClip.cs b/1.4/Source/Animations/Clips/ThingAnimationClip.cs
deleted file mode 100644
index 26f4d4c..0000000
--- a/1.4/Source/Animations/Clips/ThingAnimationClip.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-
-namespace Rimworld_Animations {
- public class ThingAnimationClip : BaseAnimationClip
- {
- public List keyframes;
-
- public SimpleCurve PositionX = new SimpleCurve();
- public SimpleCurve PositionZ = new SimpleCurve();
- public SimpleCurve Rotation = new SimpleCurve();
-
-
- public override void buildSimpleCurves() {
- int duration = 0;
- //getting the length of the whole clip
- foreach (ThingKeyframe frame in keyframes)
- {
- duration += frame.tickDuration;
- }
-
- //guarantees loops don't get cut off mid-anim
- this.duration = duration;
-
- int keyframePosition = 0;
- foreach (ThingKeyframe frame in keyframes)
- {
-
- if (frame.atTick.HasValue)
- {
- if (frame.positionX.HasValue)
- PositionX.Add((float)frame.atTick / (float)duration, frame.positionX.Value, true);
-
- if (frame.positionZ.HasValue)
- PositionZ.Add((float)frame.atTick / (float)duration, frame.positionZ.Value, true);
-
- if (frame.rotation.HasValue)
- Rotation.Add((float)frame.atTick / (float)duration, frame.rotation.Value, true);
-
- if (frame.soundEffect != null)
- {
- SoundEffects.Add((int)frame.atTick, frame.soundEffect);
- }
-
-
- }
- else
- {
- if (frame.positionX.HasValue)
- PositionX.Add((float)keyframePosition / (float)duration, frame.positionX.Value, true);
-
- if (frame.positionZ.HasValue)
- PositionZ.Add((float)keyframePosition / (float)duration, frame.positionZ.Value, true);
-
- if (frame.rotation.HasValue)
- Rotation.Add((float)keyframePosition / (float)duration, frame.rotation.Value, true);
-
- if (frame.soundEffect != null)
- {
- SoundEffects.Add(keyframePosition, frame.soundEffect);
- }
- keyframePosition += frame.tickDuration;
-
- }
-
- }
- }
- }
-}
diff --git a/1.4/Source/Animations/Keyframes/Keyframe.cs b/1.4/Source/Animations/Keyframes/Keyframe.cs
deleted file mode 100644
index 8cd859d..0000000
--- a/1.4/Source/Animations/Keyframes/Keyframe.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public abstract class Keyframe
- {
- public int tickDuration = 1;
- public float? atTick;
- public string soundEffect;
- public List tags = new List();
- }
-}
diff --git a/1.4/Source/Animations/Keyframes/PawnKeyframe.cs b/1.4/Source/Animations/Keyframes/PawnKeyframe.cs
deleted file mode 100644
index e710981..0000000
--- a/1.4/Source/Animations/Keyframes/PawnKeyframe.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace Rimworld_Animations {
- public class PawnKeyframe : Keyframe
- {
- public float? bodyAngle;
- public float? headAngle;
-
- public float? genitalAngle;
-
- public float? bodyOffsetZ;
- public float? bodyOffsetX;
-
- public float? headBob;
- //todo: add headOffsets l/r?
-
- public int? bodyFacing;
- public int? headFacing;
-
- public bool? quiver;
-
- }
-}
diff --git a/1.4/Source/Animations/Keyframes/ThingKeyframe.cs b/1.4/Source/Animations/Keyframes/ThingKeyframe.cs
deleted file mode 100644
index 6604f5e..0000000
--- a/1.4/Source/Animations/Keyframes/ThingKeyframe.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
- public class ThingKeyframe : Keyframe
- {
-
- public float? positionX;
- public float? positionZ;
- public float? rotation;
-
-
-
- }
-}
diff --git a/1.4/Source/Comps/CompBodyAnimator.cs b/1.4/Source/Comps/CompBodyAnimator.cs
deleted file mode 100644
index 123a8aa..0000000
--- a/1.4/Source/Comps/CompBodyAnimator.cs
+++ /dev/null
@@ -1,543 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-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;
-
- //public CompProperties_BodyAnimator Props => (CompProperties_BodyAnimator)(object)base.props;
-
- public bool isAnimating {
- get {
- return Animating;
- }
- set {
- Animating = value;
-
- if (value == true) {
- SexUtility.DrawNude(pawn);
- animatingPawns.Add(pawn);
- } else {
- pawn.Drawer.renderer.graphics.ResolveAllGraphics();
- actorsInCurrentAnimation = null;
- animatingPawns.Remove(pawn);
- }
-
- PortraitsCache.SetDirty(pawn);
- }
- }
- private bool Animating = false;
- private bool mirror = false, quiver = false, shiver = false;
- private int actor;
-
- private int lastDrawFrame = -1;
-
- private int animTicks = 0, stageTicks = 0, clipTicks = 0;
- private int curStage = 0;
- private float clipPercent = 0;
-
- public Vector3 anchor = Vector3.zero, deltaPos = Vector3.zero, headBob = Vector3.zero;
- public float bodyAngle = 0, headAngle = 0, genitalAngle = 0;
- public Rot4 headFacing = Rot4.North, bodyFacing = Rot4.North;
-
- public List actorsInCurrentAnimation;
-
- public bool controlGenitalAngle = false;
- public bool fastAnimForQuickie = false;
-
- private AnimationDef anim;
- private AnimationStage stage {
- get
- {
- return anim.animationStages[curStage];
- }
-
- }
- private PawnAnimationClip clip => (PawnAnimationClip)stage.animationClips[actor];
-
- public bool Mirror {
- get {
- return mirror;
- }
- }
-
- public void setAnchor(IntVec3 pos)
- {
- anchor = pos.ToVector3Shifted();
- }
- public void setAnchor(Thing thing) {
-
- //center on bed
- if(thing is Building_Bed) {
- anchor = thing.Position.ToVector3();
- if (((Building_Bed)thing).SleepingSlotsCount == 2) {
- if (thing.Rotation.AsInt == 0) {
- anchor.x += 1;
- anchor.z += 1;
- }
- else if (thing.Rotation.AsInt == 1) {
- anchor.x += 1;
- }
- else if(thing.Rotation.AsInt == 3) {
- anchor.z += 1;
- }
-
- }
- else {
- if(thing.Rotation.AsInt == 0) {
- anchor.x += 0.5f;
- anchor.z += 1f;
- }
- else if(thing.Rotation.AsInt == 1) {
- anchor.x += 1f;
- anchor.z += 0.5f;
- }
- else if(thing.Rotation.AsInt == 2) {
- anchor.x += 0.5f;
- } else {
- anchor.z += 0.5f;
- }
- }
- }
- else {
- anchor = thing.Position.ToVector3Shifted();
- }
- }
- public void StartAnimation(AnimationDef anim, List actors, int actor, bool mirror = false, bool shiver = false, bool fastAnimForQuickie = false) {
-
- actorsInCurrentAnimation = actors;
-
- if (anim.actors.Count <= actor)
- {
- return;
- }
- AlienRaceOffset raceOffset = anim?.actors[actor]?.raceOffsets?.Find(x => x.defName == pawn.def.defName);
-
- if (raceOffset != null) {
- anchor.x += mirror ? raceOffset.offset.x * -1f : raceOffset.offset.x;
- anchor.z += raceOffset.offset.y;
- }
-
- //change the offset based on pawn body type
- if(pawn?.story?.bodyType != null) {
- if (pawn.story.bodyType == BodyTypeDefOf.Fat && anim?.actors[actor]?.bodyTypeOffset?.Fat != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Fat.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Fat.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Female && anim?.actors[actor]?.bodyTypeOffset?.Female != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Female.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Female.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Male && anim?.actors[actor]?.bodyTypeOffset?.Male != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Male.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Male.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Thin && anim?.actors[actor]?.bodyTypeOffset?.Thin != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Thin.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Thin.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Hulk && anim?.actors[actor]?.bodyTypeOffset?.Hulk != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Hulk.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Hulk.Value.y;
- }
- }
-
- pawn.jobs.posture = PawnPosture.Standing;
-
- this.actor = actor;
- this.anim = anim;
- this.mirror = mirror;
- this.fastAnimForQuickie = fastAnimForQuickie;
-
- if (fastAnimForQuickie && anim.animationStages.Any(x => x.playTimeTicksQuick >= 0) == false)
- {
- curStage = 1;
- animTicks = anim.animationStages[0].playTimeTicks;
- } else
- {
- curStage = 0;
- animTicks = 0;
- }
-
- stageTicks = 0;
- clipTicks = 0;
-
- quiver = false;
- this.shiver = shiver && AnimationSettings.rapeShiver;
-
- controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
-
- isAnimating = true;
- //tick once for initialization
- tickAnim();
-
- }
-
- public override void CompTick() {
-
- base.CompTick();
-
- if(isAnimating) {
-
- GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);
-
- if (pawn.Dead || pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex))) {
- isAnimating = false;
- }
- else {
- tickAnim();
- }
- }
- }
- public void animatePawnBody(ref Vector3 rootLoc, ref float angle, ref Rot4 bodyFacing) {
-
- if(!isAnimating) {
- return;
- }
- rootLoc = anchor + deltaPos;
- angle = bodyAngle;
- bodyFacing = this.bodyFacing;
-
- }
-
- public Rot4 AnimateHeadFacing()
- {
- return this.headFacing;
- }
-
-
- public void tickGraphics(PawnGraphicSet graphics) {
- this.Graphics = graphics;
- }
-
- public void tickAnim() {
-
-
-
- if (!isAnimating) return;
-
- if (anim == null) {
- isAnimating = false;
- return;
- }
-
- animTicks++;
-
- if (animTicks < anim.animationTimeTicks) {
- tickStage();
- } else {
-
- if(LoopNeverending())
- {
- ResetOnLoop();
- } else
- {
- isAnimating = false;
- }
-
-
- }
-
-
-
- }
-
- public void tickStage()
- {
-
- if(stage == null)
- {
- isAnimating = false;
- return;
- }
-
- stageTicks++;
-
- if(stageTicks >= stage.playTimeTicks || (fastAnimForQuickie && stage.playTimeTicksQuick >= 0 && stageTicks >= stage.playTimeTicksQuick)) {
-
- curStage++;
-
- stageTicks = 0;
- clipTicks = 0;
- clipPercent = 0;
- }
-
- if(curStage >= anim.animationStages.Count) {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- pawn.jobs.curDriver.ReadyForNextToil();
- }
-
- } else {
- tickClip();
- }
-
-
-
- }
-
- public void tickClip() {
-
- clipTicks++;
-
- //play sound effect
- if(rjw.RJWSettings.sounds_enabled && clip.SoundEffects.ContainsKey(clipTicks) && AnimationSettings.soundOverride) {
-
-
- SoundInfo sound = new TargetInfo(pawn.Position, pawn.Map);
- string soundEffectName = clip.SoundEffects[clipTicks];
-
-
- if ((pawn.jobs.curDriver as JobDriver_Sex).isAnimalOnAnimal)
- {
- sound.volumeFactor *= RJWSettings.sounds_animal_on_animal_volume;
- }
-
- if(soundEffectName.StartsWith("Voiceline_"))
- {
- sound.volumeFactor *= RJWSettings.sounds_voice_volume;
- }
-
- if (clip.SoundEffects[clipTicks] == "Cum") {
-
- sound.volumeFactor *= RJWSettings.sounds_cum_volume;
- //considerApplyingSemen();
-
- } else
- {
- sound.volumeFactor *= RJWSettings.sounds_sex_volume;
- }
-
- SoundDef.Named(soundEffectName).PlayOneShot(sound);
-
- }
- if(AnimationSettings.orgasmQuiver && clip.quiver.ContainsKey(clipTicks)) {
- quiver = clip.quiver[clipTicks];
- }
-
- //loop animation if possible
- if (clipPercent >= 1 && stage.isLooping) {
- clipTicks = 1;//warning: don't set to zero or else calculations go wrong
- }
- clipPercent = (float)clipTicks / (float)clip.duration;
-
- calculateDrawValues();
- }
-
- public void considerApplyingSemen()
- {
- if(AnimationSettings.applySemenOnAnimationOrgasm && (pawn?.jobs?.curDriver is JobDriver_Sex))
- {
-
- if (anim.sexTypes.Contains((pawn.jobs.curDriver as JobDriver_Sex).Sexprops.sexType))
- {
- //SemenHelper.calculateAndApplySemen((pawn.jobs.curDriver as JobDriver_Sex).Sexprops);
- }
- }
- }
-
- public void calculateDrawValues() {
-
- /*if(Find.TickManager.TickRateMultiplier > 1 && (lastDrawFrame + 1 >= RealTime.frameCount || RealTime.deltaTime < 0.05f)) {
- return;
- }*/
-
- deltaPos = new Vector3(clip.BodyOffsetX.Evaluate(clipPercent) * (mirror ? -1 : 1), clip.layer.AltitudeFor(), clip.BodyOffsetZ.Evaluate(clipPercent));
-
- string bodyTypeDef = (pawn.story?.bodyType != null) ? pawn.story.bodyType.ToString() : "";
-
- if (AnimationSettings.offsets != null && AnimationSettings.offsets.ContainsKey(CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex)) {
- deltaPos.x += AnimationSettings.offsets[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex].x * (mirror ? -1 : 1);
- deltaPos.z += AnimationSettings.offsets[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex].y;
- }
-
-
- bodyAngle = (clip.BodyAngle.Evaluate(clipPercent) + (quiver || shiver ? ((Rand.Value * AnimationSettings.shiverIntensity) - (AnimationSettings.shiverIntensity / 2f)) : 0f)) * (mirror ? -1 : 1);
- headAngle = clip.HeadAngle.Evaluate(clipPercent) * (mirror ? -1 : 1);
-
- if (controlGenitalAngle) {
- genitalAngle = clip.GenitalAngle.Evaluate(clipPercent) * (mirror ? -1 : 1);
- }
-
- if (AnimationSettings.rotation != null && AnimationSettings.rotation.ContainsKey(CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex)) {
- float offsetRotation = AnimationSettings.rotation[CurrentAnimation.defName + pawn.def.defName + bodyTypeDef + ActorIndex] * (Mirror ? -1 : 1);
- genitalAngle += offsetRotation;
- bodyAngle += offsetRotation;
- headAngle += offsetRotation;
- }
-
-
- //don't go past 360 or less than 0
-
- if (bodyAngle < 0) bodyAngle = 360 - ((-1f*bodyAngle) % 360);
- if (bodyAngle > 360) bodyAngle %= 360;
-
-
- if (headAngle < 0) headAngle = 360 - ((-1f * headAngle) % 360);
- if (headAngle > 360) headAngle %= 360;
-
- if (genitalAngle < 0) genitalAngle = 360 - ((-1f * genitalAngle) % 360);
- if (genitalAngle > 360) genitalAngle %= 360;
-
-
- bodyFacing = mirror ? new Rot4((int)clip.BodyFacing.Evaluate(clipPercent)).Opposite : new Rot4((int)clip.BodyFacing.Evaluate(clipPercent));
-
- bodyFacing = new Rot4((int)clip.BodyFacing.Evaluate(clipPercent));
- if(bodyFacing.IsHorizontal && mirror) {
- bodyFacing = bodyFacing.Opposite;
- }
-
- headFacing = new Rot4((int)clip.HeadFacing.Evaluate(clipPercent));
- if(headFacing.IsHorizontal && mirror) {
- headFacing = headFacing.Opposite;
- }
- headBob = new Vector3(0, 0, clip.HeadBob.Evaluate(clipPercent));
- Vector2 bodyScale = (pawn.story?.bodyType?.bodyGraphicScale != null ? pawn.story.bodyType.bodyGraphicScale : Vector2.one);
- headBob.z *= bodyScale.x;
-
- lastDrawFrame = RealTime.frameCount;
-
- }
-
- public Vector3 getPawnHeadPosition() {
-
- Vector3 headPos = anchor + deltaPos + Quaternion.AngleAxis(bodyAngle, Vector3.up) * (pawn.Drawer.renderer.BaseHeadOffsetAt(headFacing) + headBob);
-
- return headPos;
-
- }
-
- public Vector3 getPawnHeadOffset()
- {
- return Quaternion.AngleAxis(bodyAngle, Vector3.up) * (pawn.Drawer.renderer.BaseHeadOffsetAt(headFacing) + headBob);
-
- }
-
- public AnimationDef CurrentAnimation {
- get {
- return anim;
- }
- }
-
- public int ActorIndex {
- get {
- return actor;
- }
- }
-
- public override void PostExposeData() {
- base.PostExposeData();
-
- Scribe_Defs.Look(ref anim, "RJWAnimations-Anim");
-
- Scribe_Values.Look(ref animTicks, "RJWAnimations-animTicks", 1);
- Scribe_Values.Look(ref stageTicks, "RJWAnimations-stageTicks", 1);
- Scribe_Values.Look(ref clipTicks, "RJWAnimations-clipTicks", 1);
- Scribe_Values.Look(ref clipPercent, "RJWAnimations-clipPercent", 1);
- Scribe_Values.Look(ref mirror, "RJWAnimations-mirror");
-
- Scribe_Values.Look(ref curStage, "RJWAnimations-curStage", 0);
- Scribe_Values.Look(ref actor, "RJWAnimations-actor");
-
- Scribe_Values.Look(ref anchor, "RJWAnimations-anchor");
- Scribe_Values.Look(ref deltaPos, "RJWAnimations-deltaPos");
- Scribe_Values.Look(ref headBob, "RJWAnimations-headBob");
- Scribe_Values.Look(ref bodyAngle, "RJWAnimations-bodyAngle");
- Scribe_Values.Look(ref headAngle, "RJWAnimations-headAngle");
-
- Scribe_Values.Look(ref genitalAngle, "RJWAnimations-GenitalAngle");
- Scribe_Values.Look(ref controlGenitalAngle, "RJWAnimations-controlGenitalAngle");
-
- Scribe_Values.Look(ref headFacing, "RJWAnimations-headFacing");
- Scribe_Values.Look(ref headFacing, "RJWAnimations-bodyFacing");
-
- Scribe_Values.Look(ref quiver, "RJWAnimations-orgasmQuiver");
- }
-
- public void shiftActorPositionAndRestartAnimation() {
- actor = (actor == anim.actors.Count - 1 ? 0 : actor + 1);
-
- if (pawn?.story?.bodyType != null) {
- if (pawn.story.bodyType == BodyTypeDefOf.Fat && anim?.actors[actor]?.bodyTypeOffset?.Fat != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Fat.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Fat.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Female && anim?.actors[actor]?.bodyTypeOffset?.Female != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Female.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Female.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Male && anim?.actors[actor]?.bodyTypeOffset?.Male != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Male.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Male.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Thin && anim?.actors[actor]?.bodyTypeOffset?.Thin != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Thin.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Thin.Value.y;
- }
- else if (pawn.story.bodyType == BodyTypeDefOf.Hulk && anim?.actors[actor]?.bodyTypeOffset?.Hulk != null) {
- anchor.x += anim.actors[actor].bodyTypeOffset.Hulk.Value.x * (mirror ? -1f : 1f);
- anchor.z += anim.actors[actor].bodyTypeOffset.Hulk.Value.y;
- }
- }
-
- curStage = 0;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
-
- tickAnim();
- }
-
- 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)
- {
- return true;
- }
-
- return false;
- }
-
- public void ResetOnLoop()
- {
- curStage = 1;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- tickAnim();
- }
- }
-}
diff --git a/1.4/Source/Comps/CompProperties_BodyAnimator.cs b/1.4/Source/Comps/CompProperties_BodyAnimator.cs
deleted file mode 100644
index 09df7ce..0000000
--- a/1.4/Source/Comps/CompProperties_BodyAnimator.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-
-namespace Rimworld_Animations {
- public class CompProperties_BodyAnimator : CompProperties
- {
- public CompProperties_BodyAnimator()
- {
- base.compClass = typeof(CompBodyAnimator);
- }
- }
-}
diff --git a/1.4/Source/Comps/CompProperties_ThingAnimator.cs b/1.4/Source/Comps/CompProperties_ThingAnimator.cs
deleted file mode 100644
index 34c67b1..0000000
--- a/1.4/Source/Comps/CompProperties_ThingAnimator.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace Rimworld_Animations {
- public class CompProperties_ThingAnimator : CompProperties
- {
-
- public CompProperties_ThingAnimator()
- {
- base.compClass = typeof(CompThingAnimator);
- }
- }
-}
diff --git a/1.4/Source/Comps/CompThingAnimator.cs b/1.4/Source/Comps/CompThingAnimator.cs
deleted file mode 100644
index f5315e4..0000000
--- a/1.4/Source/Comps/CompThingAnimator.cs
+++ /dev/null
@@ -1,245 +0,0 @@
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- public class CompThingAnimator : ThingComp
- {
- Vector3 anchor;
-
- Pawn pawn;
-
- public bool isAnimating = false, mirror;
-
- int animTicks = 0, stageTicks = 0, clipTicks = 0, curStage = 0;
- float rotation = 0;
- float clipPercent = 0;
-
- public Vector3 deltaPos;
-
- AnimationDef anim;
- private ThingAnimationClip clip => (ThingAnimationClip)stage.animationClips[1];
- private AnimationStage stage
- {
- get
- {
- return anim.animationStages[curStage];
- }
-
- }
-
- public void StartAnimation(AnimationDef anim, Pawn pawn, bool mirror = false)
- {
- isAnimating = true;
-
- this.anim = anim;
- this.pawn = pawn;
- this.mirror = mirror;
-
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- curStage = 0;
- clipPercent = 0;
-
- tickAnim();
-
- }
-
- public void setAnchor(IntVec3 position)
- {
- anchor = position.ToVector3();
- }
-
- public override void CompTick()
- {
- base.CompTick();
-
- if(isAnimating)
- {
- if (pawn.Dead || pawn?.jobs?.curDriver == null || (pawn?.jobs?.curDriver != null && !(pawn?.jobs?.curDriver is rjw.JobDriver_Sex)))
- {
- isAnimating = false;
- }
- else
- {
- tickAnim();
- }
- }
-
-
- }
-
- public void tickAnim()
- {
- if (!isAnimating) return;
- animTicks++;
-
- if (animTicks < anim.animationTimeTicks)
- {
- tickStage();
- }
- else
- {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- }
-
-
- }
-
- }
-
- public void tickStage()
- {
- if (stage == null)
- {
- isAnimating = false;
- return;
- }
-
- stageTicks++;
-
- if (stageTicks >= stage.playTimeTicks)
- {
-
- curStage++;
-
- stageTicks = 0;
- clipTicks = 0;
- clipPercent = 0;
- }
-
- if (curStage >= anim.animationStages.Count)
- {
- if (LoopNeverending())
- {
- ResetOnLoop();
- }
- else
- {
- isAnimating = false;
- }
-
- }
- else
- {
- tickClip();
- }
- }
-
- public void tickClip()
- {
- clipTicks++;
-
- if (clipPercent >= 1 && stage.isLooping)
- {
- clipTicks = 1;//warning: don't set to zero or else calculations go wrong
- }
- clipPercent = (float)clipTicks / (float)clip.duration;
-
- calculateDrawValues();
- }
-
- public void setAnchor(Thing thing)
- {
-
- //center on bed
- if (thing is Building_Bed)
- {
- anchor = thing.Position.ToVector3();
- if (((Building_Bed)thing).SleepingSlotsCount == 2)
- {
- if (thing.Rotation.AsInt == 0)
- {
- anchor.x += 1;
- anchor.z += 1;
- }
- else if (thing.Rotation.AsInt == 1)
- {
- anchor.x += 1;
- }
- else if (thing.Rotation.AsInt == 3)
- {
- anchor.z += 1;
- }
-
- }
- else
- {
- if (thing.Rotation.AsInt == 0)
- {
- anchor.x += 0.5f;
- anchor.z += 1f;
- }
- else if (thing.Rotation.AsInt == 1)
- {
- anchor.x += 1f;
- anchor.z += 0.5f;
- }
- else if (thing.Rotation.AsInt == 2)
- {
- anchor.x += 0.5f;
- }
- else
- {
- anchor.z += 0.5f;
- }
- }
- }
- else
- {
- anchor = thing.Position.ToVector3Shifted();
- }
-
- anchor -= new Vector3(0.5f, 0, 0.5f);
- }
- private void calculateDrawValues()
- {
-
- //shift up and right 0.5f to align center
- deltaPos = new Vector3((clip.PositionX.Evaluate(clipPercent)) * (mirror ? -1 : 1) + 0.5f, AltitudeLayer.Item.AltitudeFor(), clip.PositionZ.Evaluate(clipPercent) + 0.5f);
- //Log.Message("Clip percent: " + clipPercent + " deltaPos: " + deltaPos);
- rotation = clip.Rotation.Evaluate(clipPercent) * (mirror ? -1 : 1);
- }
-
- public void AnimateThing(Thing thing)
- {
- thing.Graphic.Draw(deltaPos + anchor, mirror ? Rot4.West : Rot4.East, thing, rotation);
- }
-
- public bool LoopNeverending()
- {
- if (pawn?.jobs?.curDriver != null &&
- (pawn.jobs.curDriver is JobDriver_Sex) && (pawn.jobs.curDriver as JobDriver_Sex).neverendingsex)
- {
- return true;
- }
-
- return false;
- }
-
- public void ResetOnLoop()
- {
- curStage = 1;
- animTicks = 0;
- stageTicks = 0;
- clipTicks = 0;
-
- tickAnim();
- }
-
- }
-}
diff --git a/1.4/Source/Defs/AnimationDef.cs b/1.4/Source/Defs/AnimationDef.cs
deleted file mode 100644
index 395ff83..0000000
--- a/1.4/Source/Defs/AnimationDef.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations {
- public class AnimationDef : Def
- {
- public List animationStages;
- public List actors;
- public int animationTimeTicks = 0; //do not set manually
- public bool sounds = false;
- public List sexTypes = null;
- public List interactionDefTypes = null;
- public List tags = new List();
-
- public override void PostLoad() {
- base.PostLoad();
- foreach(AnimationStage stage in animationStages) {
- stage.initialize();
- animationTimeTicks += stage.playTimeTicks;
- }
- }
- }
-}
diff --git a/1.4/Source/Extensions/PawnWoundDrawerExtension.cs b/1.4/Source/Extensions/PawnWoundDrawerExtension.cs
deleted file mode 100644
index 77594e6..0000000
--- a/1.4/Source/Extensions/PawnWoundDrawerExtension.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using RimWorld;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
-
- [StaticConstructorOnStartup]
- public static class PawnWoundDrawerExtension
- {
- public static void RenderPawnOverlay(this PawnWoundDrawer pawnWoundDrawer, Vector3 drawLoc, Mesh bodyMesh, Quaternion quat, bool drawNow, PawnOverlayDrawer.OverlayLayer layer, Rot4 pawnRot, bool? overApparel = null, Pawn pawn = null, PawnRenderFlags flags = new PawnRenderFlags())
- {
- if (pawn == null)
- { return; }
-
- if (!flags.FlagSet(PawnRenderFlags.Portrait) && layer == PawnOverlayDrawer.OverlayLayer.Head)
- {
- if (CompBodyAnimator.IsAnimating(pawn) && 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;
- drawLoc = pawnAnimator.getPawnHeadPosition() - Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up) * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.headFacing);
- drawLoc.y = y;
- }
- }
-
- pawnWoundDrawer.RenderPawnOverlay(drawLoc, bodyMesh, quat, drawNow, layer, pawnRot, overApparel);
- }
- }
-
-}
diff --git a/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs b/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
deleted file mode 100644
index 1cbc26d..0000000
--- a/1.4/Source/MainTabWindows/MainTabWindow_OffsetConfigure.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-using System.Collections.Generic;
-using Verse;
-using RimWorld;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- class MainTabWindow_OffsetConfigure : MainTabWindow
- {
-
- public override Vector2 RequestedTabSize => new Vector2(505, 380);
- public override void DoWindowContents(Rect inRect) {
-
- Rect position = new Rect(inRect.x, inRect.y, inRect.width, inRect.height);
-
-
- Listing_Standard listingStandard = new Listing_Standard();
- listingStandard.Begin(position);
-
- listingStandard.Label("Animation Manager");
-
- listingStandard.GapLine();
-
-
- if (Find.Selector.SingleSelectedThing is Pawn curPawn) {
-
- if (CompBodyAnimator.IsAnimating(curPawn)) {
-
- CompBodyAnimator compBodyAnimator = curPawn.TryGetComp();
- AnimationDef def = compBodyAnimator.CurrentAnimation;
- int ActorIndex = compBodyAnimator.ActorIndex;
- float offsetX = 0, offsetZ = 0, rotation = 0;
-
- string bodyTypeDef = (curPawn.story?.bodyType != null) ? curPawn.story.bodyType.ToString() : "";
-
- if (AnimationSettings.offsets.ContainsKey(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex)) {
- offsetX = AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].x;
- offsetZ = AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].y;
- } else {
- AnimationSettings.offsets.Add(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex, new Vector2(0, 0));
- }
-
- if (AnimationSettings.rotation.ContainsKey(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex)) {
- rotation = AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex];
- }
- else {
- AnimationSettings.rotation.Add(def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex, 0);
- }
-
- listingStandard.Label("Name: " + curPawn.Name + " Race: " + curPawn.def.defName + " Actor Index: " + curPawn.TryGetComp().ActorIndex + " Body Type (if any): " + bodyTypeDef + " Animation: " + def.label + (curPawn.TryGetComp().Mirror ? " mirrored" : ""));
-
- if(curPawn.def.defName == "Human") {
- listingStandard.Label("Warning--You generally don't want to change human offsets, only alien offsets");
- }
-
- float.TryParse(listingStandard.TextEntryLabeled("X Offset: ", offsetX.ToString()), out offsetX);
- offsetX = listingStandard.Slider(offsetX, -2, 2);
-
- float.TryParse(listingStandard.TextEntryLabeled("Z Offset: ", offsetZ.ToString()), out offsetZ);
- offsetZ = listingStandard.Slider(offsetZ, -2, 2);
-
- float.TryParse(listingStandard.TextEntryLabeled("Rotation: ", rotation.ToString()), out rotation);
- rotation = listingStandard.Slider(rotation, -180, 180);
-
- if(listingStandard.ButtonText("Reset All")) {
- offsetX = 0;
- offsetZ = 0;
- rotation = 0;
- }
-
- listingStandard.GapLine();
-
- if(listingStandard.ButtonText("Shift Actors")) {
-
- if(AnimationSettings.debugMode) {
- Log.Message("Shifting actors in animation...");
- }
-
- for(int i = 0; i < curPawn.TryGetComp().actorsInCurrentAnimation.Count; i++) {
-
- Pawn actor = curPawn.TryGetComp().actorsInCurrentAnimation[i];
-
- actor.TryGetComp()?.shiftActorPositionAndRestartAnimation();
-
- //reset the clock time of every pawn in animation
- if(actor.jobs.curDriver is rjw.JobDriver_Sex) {
- (actor.jobs.curDriver as rjw.JobDriver_Sex).ticks_left = def.animationTimeTicks;
- (actor.jobs.curDriver as rjw.JobDriver_Sex).ticksLeftThisToil = def.animationTimeTicks;
- (actor.jobs.curDriver as rjw.JobDriver_Sex).duration = def.animationTimeTicks;
- }
-
- }
-
- }
-
- if (offsetX != AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].x || offsetZ != AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex].y) {
- AnimationSettings.offsets[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex] = new Vector2(offsetX, offsetZ);
-
- }
-
- if(rotation != AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex]) {
- AnimationSettings.rotation[def.defName + curPawn.def.defName + bodyTypeDef + ActorIndex] = rotation;
- }
-
- }
-
- }
- else {
- listingStandard.Label("Select a pawn currently in an animation to change their offsets");
- }
-
- listingStandard.End();
-
- }
-
- public override void PreOpen() {
- base.PreOpen();
- if(AnimationSettings.offsets == null) {
- if (AnimationSettings.debugMode)
- Log.Message("New offsets");
- AnimationSettings.offsets = new Dictionary();
- }
-
- if(AnimationSettings.rotation == null) {
- if (AnimationSettings.debugMode)
- Log.Message("New rotation");
- AnimationSettings.rotation = new Dictionary();
- }
- }
-
- public override void PostClose() {
- base.PostClose();
-
- LoadedModManager.GetMod().WriteSettings();
- }
- }
-}
diff --git a/1.4/Source/MainTabWindows/OffsetMainButtonDefOf.cs b/1.4/Source/MainTabWindows/OffsetMainButtonDefOf.cs
deleted file mode 100644
index e7ad9eb..0000000
--- a/1.4/Source/MainTabWindows/OffsetMainButtonDefOf.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using RimWorld;
-using Verse;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Rimworld_Animations {
-
- [DefOf]
- public static class OffsetMainButtonDefOf {
-
- public static MainButtonDef OffsetManager;
-
-
- static OffsetMainButtonDefOf() {
- DefOfHelper.EnsureInitializedInCtor(typeof(OffsetMainButtonDefOf));
- }
-
- }
-}
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs
deleted file mode 100644
index 8345ede..0000000
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_CSL.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using rjw;
-using Verse;
-using RimWorld;
-using System.Reflection.Emit;
-using System.Reflection;
-using UnityEngine;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class HarmonyPatch_CSL {
- static HarmonyPatch_CSL() {
- try {
- ((Action)(() => {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "Children, school and learning")) {
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("Children.PawnRenderer_RenderPawnInternal_Patch"), "RenderPawnInternalScaled"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_CSL), "Prefix_CSL")),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_CSL), "Transpiler_CSL")));
- }
- }))();
- }
- catch (TypeLoadException ex) {
-
- }
- }
-
- public static void Prefix_CSL(PawnRenderer __instance, Pawn pawn, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, ref Rot4 headFacing, RotDrawMode bodyDrawType, bool portrait, bool headStump, bool invisible) {
-
- PawnGraphicSet graphics = __instance.graphics;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
- if (!graphics.AllResolved) {
- graphics.ResolveAllGraphics();
- }
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && !portrait) {
- bodyAnim.tickGraphics(graphics);
- pawn.TryGetComp().animatePawn(ref rootLoc, ref angle, ref bodyFacing, ref headFacing);
-
- }
- }
-
- public static IEnumerable Transpiler_CSL(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
- FieldInfo headGraphic = AccessTools.Field(typeof(PawnGraphicSet), "headGraphic");
-
-
- List codes = instructions.ToList();
- bool forHead = true;
- for (int i = 0; i < codes.Count(); i++) {
-
- //Instead of calling drawmeshnoworlater, add pawn to the stack and call my special static method
- if (codes[i].OperandIs(drawMeshNowOrLater) && forHead) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg_2);
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn), typeof(float) }));
-
- }
- //checking for if(graphics.headGraphic != null)
- else if (codes[i].opcode == OpCodes.Ldfld && codes[i].OperandIs(headGraphic)) {
- forHead = true;
- yield return codes[i];
- }
- //checking for if(renderbody)
- else if (codes[i].opcode == OpCodes.Ldarg_3) {
- forHead = false;
- yield return codes[i];
- }
- else {
- yield return codes[i];
- }
- }
- }
-
- }
-}*/
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs
deleted file mode 100644
index 3cb2a63..0000000
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_DontShaveYourHead.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace Rimworld_Animations {
- class HarmonyPatch_DontShaveYourHead {
-
- [StaticConstructorOnStartup]
- public static class Patch_DontShaveYourHead {
-
- static Patch_DontShaveYourHead() {
- try {
- ((Action)(() =>
- {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "Don't Shave Your Head 1.0")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("DontShaveYourHead.Harmony_PawnRenderer"), "DrawHairReroute"), //typeof(ShowHair.Patch_PawnRenderer_RenderPawnInternal), nameof(ShowHair.Patch_PawnRenderer_RenderPawnInternal.Postfix)),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(Patch_ShowHairWithHats), "Transpiler")));
- }
- }))();
- }
- catch (TypeLoadException ex) { }
- }
- }
- }
-}
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
deleted file mode 100644
index 59631b8..0000000
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_FacialAnimation.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class Patch_FacialAnimation {
-
- static Patch_FacialAnimation() {
- try {
- ((Action)(() => {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "[NL] Facial Animation - WIP")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("FacialAnimation.DrawFaceGraphicsComp"), "DrawGraphics"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(Patch_FacialAnimation), "Prefix")));
- }
- }))();
- }
- catch (TypeLoadException) {
-
- }
- }
-
- public static bool Prefix(Pawn ___pawn, ref Rot4 headFacing, ref Vector3 headOrigin, ref Quaternion quaternion, bool portrait) {
-
- if (!portrait && CompBodyAnimator.IsAnimating(___pawn)) {
-
- 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);
- }
-
- return true;
- }
- /*
- public static List rjwLovinDefNames = new List{
- "Lovin",
- "Quickie",
- "GettingQuickie",
- "JoinInBed",
- "JoinInBedAnimation",
- "GettinLovedAnimation",
- "GettinLoved",
- "GettinLicked",
- "GettinSucked",
- "GettinRaped",
- "ViolateCorpse",
- "RJW_Masturbate",
- "GettinBred",
- "Breed",
- "RJW_Mate",
- "Bestiality",
- "BestialityForFemale",
- "StruggleInBondageGear",
- "WhoreIsServingVisitors",
- "UseFM"
- };
-
- public static List rjwRapeDefNames = new List {
- "RapeComfortPawn",
- "RandomRape",
- "RapeEnemy"
- };
-
- public static bool Prefix_IsSameA(JobDef job, string ___jobDef, ref bool __result) {
-
- if(___jobDef != null && ___jobDef == "Lovin" && job?.defName != null && rjwLovinDefNames.Contains(job?.defName)) {
- __result = true;
- return false;
- }
- else if (___jobDef != null && ___jobDef == "Wait_Combat" && job?.defName != null && rjwRapeDefNames.Contains(job?.defName)) {
- __result = true;
- return false;
- }
-
-
- return true;
- }
-
- public static bool Prefix_IsSameB(string jobName, string ___jobDef, ref bool __result) {
-
- if (___jobDef != null && ___jobDef == "Lovin" && jobName != null && rjwLovinDefNames.Contains(jobName)) {
- __result = true;
- return false;
- }
- if (___jobDef != null && ___jobDef == "Wait_Combat" && jobName != null && rjwRapeDefNames.Contains(jobName)) {
- __result = true;
- return false;
- }
-
- return true;
- }
- */
- }
-}
\ No newline at end of file
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs
deleted file mode 100644
index 1cd5707..0000000
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_HatsDisplaySelection.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-/*using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using UnityEngine;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace Rimworld_Animations {
- public static class HarmonyPatch_HatsDisplaySelection {
-
- public static void PatchHatsDisplaySelectionArgs() {
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHatCEWithHair"),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "ReplaceDrawMeshOrLaterWithAnimate")));
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHatWithHair"),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "ReplaceDrawMeshOrLaterWithAnimate")));
-
- (new Harmony("rjw")).Patch(AccessTools.Method(AccessTools.TypeByName("HatDisplaySelection.Patch"), "DrawHeadApparelWithHair"),
- prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_HatsDisplaySelection), "PrefixPatchForDrawHeadApparelWithHair")));
-
-
- }
-
- public static void PrefixPatchForDrawHeadApparelWithHair(PawnRenderer renderer, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, ref Rot4 headFacing, RotDrawMode bodyDrawType, bool portrait, bool headStump, bool invisible)
- {
- PawnGraphicSet graphics = renderer.graphics;
- Pawn pawn = graphics.pawn;
- CompBodyAnimator bodyAnim = pawn.TryGetComp();
-
- if (!graphics.AllResolved)
- {
- graphics.ResolveAllGraphics();
- }
-
-
- if (bodyAnim != null && bodyAnim.isAnimating && !portrait && pawn.Map == Find.CurrentMap)
- {
- bodyAnim.tickGraphics(graphics);
- bodyAnim.animatePawn(ref rootLoc, ref angle, ref bodyFacing, ref headFacing);
-
- }
- }
-
-
- public static IEnumerable ReplaceDrawMeshOrLaterWithAnimate(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
- List codes = instructions.ToList();
- for (int i = 0; i < instructions.Count(); i++) {
-
-
- if (codes[i].
-
-
-(drawMeshNowOrLater)) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(AccessTools.TypeByName("HatDisplaySelection.Patch"), "pawn"));
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn) }));
-
- }
- else {
- yield return codes[i];
- }
-
- }
-
- }
-
- }
-}
-*/
\ No newline at end of file
diff --git a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs b/1.4/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs
deleted file mode 100644
index a42ab7d..0000000
--- a/1.4/Source/Patches/OtherModPatches/HarmonyPatch_ShowHairWithHats.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
- [StaticConstructorOnStartup]
- public static class Patch_ShowHairWithHats {
-
- static Patch_ShowHairWithHats() {
- try {
- ((Action)(() =>
- {
- if (LoadedModManager.RunningModsListForReading.Any(x => x.Name == "[KV] Show Hair With Hats or Hide All Hats - 1.1")) {
- (new Harmony("rjwanim")).Patch(AccessTools.Method(AccessTools.TypeByName("ShowHair.Patch_PawnRenderer_RenderPawnInternal"), "Postfix"), //typeof(ShowHair.Patch_PawnRenderer_RenderPawnInternal), nameof(ShowHair.Patch_PawnRenderer_RenderPawnInternal.Postfix)),
- transpiler: new HarmonyMethod(AccessTools.Method(typeof(Patch_ShowHairWithHats), "Transpiler")));
- }
- }))();
- }
- catch (TypeLoadException ex) { }
- }
-
-
- public static IEnumerable Transpiler(IEnumerable instructions) {
-
- MethodInfo drawMeshNowOrLater = AccessTools.Method(typeof(GenDraw), "DrawMeshNowOrLater");
-
- List codes = instructions.ToList();
- for (int i = 0; i < codes.Count(); i++) {
-
- //Instead of calling drawmeshnoworlater, add pawn to the stack and call my special static method
- if (codes[i].OperandIs(drawMeshNowOrLater)) {
-
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), nameof(AnimationUtility.RenderPawnHeadMeshInAnimation), new Type[] { typeof(Mesh), typeof(Vector3), typeof(Quaternion), typeof(Material), typeof(bool), typeof(Pawn) }));
-
- }
- else {
- yield return codes[i];
- }
- }
- }
- }
-}
diff --git a/1.4/Source/Patches/RJWPatches/HarmonyPatch_SexTick.cs b/1.4/Source/Patches/RJWPatches/HarmonyPatch_SexTick.cs
deleted file mode 100644
index 9ba03b2..0000000
--- a/1.4/Source/Patches/RJWPatches/HarmonyPatch_SexTick.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using Verse.AI;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(JobDriver_Sex), "SexTick")]
- public class HarmonyPatch_SexTick
- {
- public static bool Prefix(JobDriver_Sex __instance, Pawn pawn, Thing target)
- {
-
- if ((target is Pawn) &&
- !(
- (target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever
- &&
- ((target as Pawn).jobs.curDriver as JobDriver_SexBaseReciever).parteners.Any()
- &&
- ((target as Pawn).jobs.curDriver as JobDriver_SexBaseReciever).parteners[0] == pawn))
- {
-
- __instance.ticks_left--;
- __instance.sex_ticks--;
- __instance.Orgasm();
-
-
- if (pawn.IsHashIntervalTick(__instance.ticks_between_thrusts))
- {
- __instance.ChangePsyfocus(pawn, target);
- __instance.Animate(pawn, target);
- __instance.PlaySexSound();
- if (!__instance.Sexprops.isRape)
- {
- pawn.GainComfortFromCellIfPossible(false);
- if (target is Pawn)
- {
- (target as Pawn).GainComfortFromCellIfPossible(false);
- }
- }
- if(!__instance.isEndytophile)
- {
- SexUtility.DrawNude(pawn, false);
- }
- }
-
- return false;
- }
-
- return true;
- }
-
- }
-
-}
diff --git a/1.4/Source/Patches/RJWPatches/HarmonyPatch_WorkGiverSex.cs b/1.4/Source/Patches/RJWPatches/HarmonyPatch_WorkGiverSex.cs
deleted file mode 100644
index af4a755..0000000
--- a/1.4/Source/Patches/RJWPatches/HarmonyPatch_WorkGiverSex.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using rjw;
-using HarmonyLib;
-using Verse;
-using RimWorld;
-using Verse.AI;
-
-namespace Rimworld_Animations {
- /*
- [HarmonyPatch(typeof(WorkGiver_Sex), "JobOnThing")]
- public static class HarmonyPatch_WorkGiverSex {
-
- public static bool Prefix(ref Job __result, ref Thing t) {
-
- Building_Bed bed = RestUtility.CurrentBed(t as Pawn);
- if (bed == null) {
- return false;
- }
- __result = JobMaker.MakeJob(DefDatabase.GetNamed("JoinInBedAnimation", true), t as Pawn, bed);
- return false;
-
- }
-
- }
-
- */
-}
diff --git a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs b/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
deleted file mode 100644
index 530600b..0000000
--- a/1.4/Source/Patches/RJWPatches/JobDrivers/HarmonyPatch_JobDriver_SexBaseInitiator.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using rjw;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
- static class HarmonyPatch_JobDriver_SexBaseInitiator_Start {
- public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
- /*
- These particular jobs need special code
- don't play anim for now
- */
- if(__instance is JobDriver_Masturbate || __instance is JobDriver_ViolateCorpse) {
- return;
- }
-
- if(!AnimationSettings.PlayAnimForNonsexualActs && NonSexualAct(__instance))
- {
- return;
- }
-
- Pawn pawn = __instance.pawn;
-
- Building_Bed bed = __instance.Bed;
-
- if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {
-
- Pawn Target = __instance.Target as Pawn;
-
- bool quickie = (__instance is JobDriver_SexQuick) && AnimationSettings.fastAnimForQuickie;
-
- int preAnimDuration = __instance.duration;
- int AnimationTimeTicks = 0;
-
-
- if (bed != null) {
- RerollAnimations(Target, out AnimationTimeTicks, bed as Thing, __instance.Sexprops.sexType, quickie, sexProps: __instance.Sexprops);
- }
- else {
- RerollAnimations(Target, out AnimationTimeTicks, sexType: __instance.Sexprops.sexType, fastAnimForQuickie: quickie, sexProps: __instance.Sexprops);
- }
-
-
- //Modify Orgasm ticks to only orgasm as many times as RJW stock orgasm allows
- if(AnimationTimeTicks != 0)
- {
- __instance.orgasmstick = preAnimDuration * __instance.orgasmstick / AnimationTimeTicks;
- }
-
-
- }
- }
-
- public static void RerollAnimations(Pawn pawn, out int AnimationTimeTicks, Thing bed = null, xxx.rjwSextype sexType = xxx.rjwSextype.None, bool fastAnimForQuickie = false, rjw.SexProps sexProps = null) {
-
- AnimationTimeTicks = 0;
-
- if(pawn == null || !(pawn.jobs?.curDriver is JobDriver_SexBaseReciever)) {
- Log.Error("Error: Tried to reroll animations when pawn isn't sexing");
- return;
- }
-
- List pawnsToAnimate = (pawn.jobs.curDriver as JobDriver_SexBaseReciever).parteners.ToList();
-
- if (!pawnsToAnimate.Contains(pawn)) {
- pawnsToAnimate = pawnsToAnimate.Append(pawn).ToList();
- }
-
- for(int i = 0; i < pawnsToAnimate.Count; i++) {
-
- if(pawnsToAnimate[i].TryGetComp() == null) {
- Log.Error("Error: " + pawnsToAnimate[i].Name + " of race " + pawnsToAnimate[i].def.defName + " does not have CompBodyAnimator attached!");
- break;
- }
- }
-
- AnimationDef anim = AnimationUtility.tryFindAnimation(ref pawnsToAnimate, sexType, sexProps);
-
- if (anim != null) {
-
- bool mirror = GenTicks.TicksGame % 2 == 0;
-
- IntVec3 pos = pawn.Position;
-
- for (int i = 0; i < anim.actors.Count; i++)
- {
- pawnsToAnimate[i].TryGetComp().isAnimating = false;
- }
-
- for (int i = 0; i < pawnsToAnimate.Count; i++) {
-
- if (bed != null)
- pawnsToAnimate[i].TryGetComp().setAnchor(bed);
- else {
-
- pawnsToAnimate[i].TryGetComp().setAnchor(pos);
- }
-
- bool shiver = pawnsToAnimate[i].jobs.curDriver is JobDriver_SexBaseRecieverRaped;
- pawnsToAnimate[i].TryGetComp().StartAnimation(anim, pawnsToAnimate, i, mirror, shiver, fastAnimForQuickie);
-
- int animTicks = anim.animationTimeTicks - (fastAnimForQuickie ? anim.animationStages[0].playTimeTicks : 0);
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_left = animTicks;
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).sex_ticks = animTicks;
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).orgasmStartTick = animTicks;
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).duration = animTicks;
-
-
- AnimationTimeTicks = animTicks;
-
- if(!AnimationSettings.hearts) {
- (pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_between_hearts = Int32.MaxValue;
- }
-
- }
- }
- else {
- Log.Message("No animation found");
-
- /*
-
- //if pawn isn't already animating,
- if (!pawn.TryGetComp().isAnimating) {
- (pawn.jobs.curDriver as JobDriver_SexBaseReciever).increase_time(duration);
- //they'll just do the thrusting anim
- }
-
- */
- }
- }
-
-
- static IEnumerable NonSexActRulePackDefNames = new String[]
- {
- "MutualHandholdingRP",
- "MutualMakeoutRP",
- };
-
- public static bool NonSexualAct(JobDriver_SexBaseInitiator sexBaseInitiator)
- {
- if(NonSexActRulePackDefNames.Contains(sexBaseInitiator.Sexprops.rulePack))
- {
- return true;
- }
- return false;
- }
- }
-
- [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")]
- static class HarmonyPatch_JobDriver_SexBaseInitiator_End {
-
- public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
-
- Pawn reciever = __instance.Target as Pawn;
-
- if (reciever?.jobs?.curDriver is JobDriver_SexBaseReciever recieverJobDriver) {
- if (CompBodyAnimator.IsAnimating(__instance.pawn)) {
-
- List parteners = recieverJobDriver.parteners;
-
- for (int i = 0; i < parteners.Count; i++) {
-
- //prevents pawns who started a new anim from stopping their new anim
- if (!((parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator) != null && (parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator).Target != __instance.pawn))
- parteners[i].TryGetComp().isAnimating = false;
-
- }
-
- __instance.Target.TryGetComp().isAnimating = false;
-
- if (xxx.is_human(reciever)) {
- reciever?.Drawer.renderer.graphics.ResolveApparelGraphics();
- PortraitsCache.SetDirty(reciever);
- }
- }
-
- recieverJobDriver?.parteners.Remove(__instance.pawn);
-
- }
-
- if (xxx.is_human(__instance.pawn)) {
- __instance.pawn.Drawer.renderer.graphics.ResolveApparelGraphics();
- PortraitsCache.SetDirty(__instance.pawn);
- }
- }
- }
-}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
deleted file mode 100644
index 401f1b5..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_HeadHair.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-/*using HarmonyLib;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RimWorld;
-using UnityEngine;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(PawnRenderer), "DrawHeadHair")]
- public static class HarmonyPatch_HeadHair
- {
- public static void Prefix(ref Vector3 headOffset, ref float angle)
- {
-
- }
-
- }
-}*/
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
deleted file mode 100644
index 518f24c..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-using UnityEngine;
-using System.Reflection.Emit;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(PawnRenderer), "RenderPawnInternal", new Type[]
- {
- typeof(Vector3),
- typeof(float),
- typeof(bool),
- typeof(Rot4),
- typeof(RotDrawMode),
- typeof(PawnRenderFlags)
- }
- )]
- public static class HarmonyPatch_PawnRenderer
- {
-
- [HarmonyBefore(new string[] { "showhair.kv.rw", "erdelf.HumanoidAlienRaces", "Nals.FacialAnimation" })]
- public static void Prefix(PawnRenderer __instance, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, RotDrawMode bodyDrawType, PawnRenderFlags flags)
- {
-
- if (flags.FlagSet(PawnRenderFlags.Portrait)) return;
-
- PawnGraphicSet graphics = __instance.graphics;
- Pawn pawn = graphics.pawn;
-
- if (CompBodyAnimator.IsAnimating(pawn) && pawn.Map == Find.CurrentMap)
- {
- pawn.TryGetComp().animatePawnBody(ref rootLoc, ref angle, ref bodyFacing);
-
- }
-
- }
-
- public static IEnumerable Transpiler(IEnumerable instructions)
- {
- List ins = instructions.ToList();
-
- for(int i = 0; i < instructions.Count(); i++)
- {
-
- if (i - 3 >= 0 && ins[i - 3].opcode == OpCodes.Call && ins[i - 3].operand != null && ins[i - 3].OperandIs(AccessTools.DeclaredMethod(typeof(PawnRenderer), "BaseHeadOffsetAt")))
- {
-
- yield return new CodeInstruction(OpCodes.Ldloca, (object)0);
- yield return new CodeInstruction(OpCodes.Ldloca, (object)9);
- yield return new CodeInstruction(OpCodes.Ldloca, (object)8);
- yield return new CodeInstruction(OpCodes.Ldarga, (object)2);
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg, (object)6);
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), "AdjustHead"));
- yield return ins[i];
- //headFacing equals true
- }
- // Fixes the offsets for eye implants and wounds on the head during animations
- else if (ins[i].opcode == OpCodes.Callvirt && ins[i].operand != null && ins[i].OperandIs(AccessTools.DeclaredMethod(typeof(PawnOverlayDrawer), "RenderPawnOverlay")))
- {
- // Pass some additional info to a new overload of RenderOverBody
- yield return new CodeInstruction(OpCodes.Ldarg_0);
- yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
- yield return new CodeInstruction(OpCodes.Ldarg_S, (object)6); // renderer flags
- yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(PawnWoundDrawerExtension), "RenderPawnOverlay"));
- }
- 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
deleted file mode 100644
index cf2a7d9..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_PawnRotation.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using HarmonyLib;
-using Verse;
-
-namespace Rimworld_Animations {
- [HarmonyPatch(typeof(Thing), nameof(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)) {
- return true;
- }
-
- __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
deleted file mode 100644
index fdd3e07..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Pawn_DrawTracker.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using HarmonyLib;
-using UnityEngine;
-using Verse;
-
-namespace Rimworld_Animations {
-
- [HarmonyPatch(typeof(Pawn_DrawTracker), "DrawPos", MethodType.Getter)]
- 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;
-
- return false;
- }
- return true;
- }
- }
-}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs
deleted file mode 100644
index 379f85e..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_ResolveApparelGraphics.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using HarmonyLib;
-using Verse;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(PawnGraphicSet), "ResolveApparelGraphics")]
- public static class HarmonyPatch_ResolveApparelGraphics
- {
- public static bool Prefix(ref Pawn ___pawn)
- {
- if (CompBodyAnimator.IsAnimating(___pawn))
- {
- return false;
- }
- return true;
- }
- }
-}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
deleted file mode 100644
index f495bff..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_SetPawnAnimatable.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using System.Collections.Generic;
-using Verse;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(PawnRenderer), "RenderPawnAt")]
- public static class PawnRenderer_RenderPawnAt_Patch
- {
- static bool ClearCache(Pawn pawn)
- {
- return pawn.IsInvisible() || CompBodyAnimator.IsAnimating(pawn);
- }
-
- public static IEnumerable Transpiler(IEnumerable instructions)
- {
- foreach (CodeInstruction i in instructions)
- {
- if (i.Calls(AccessTools.Method(typeof(PawnUtility), nameof(PawnUtility.IsInvisible))))
- {
- yield return CodeInstruction.Call(typeof(PawnRenderer_RenderPawnAt_Patch), nameof(ClearCache));
- }
- else
- {
- yield return i;
- }
- }
- }
- }
-
-}
diff --git a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Thing.cs b/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Thing.cs
deleted file mode 100644
index 9477abf..0000000
--- a/1.4/Source/Patches/RimworldPatches/HarmonyPatch_Thing.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using RimWorld;
-using Verse;
-
-namespace Rimworld_Animations
-{
- [HarmonyPatch(typeof(Thing), "DrawAt")]
- public static class HarmonyPatch_Thing
- {
-
- public static bool Prefix(Thing __instance)
- {
- CompThingAnimator thingAnimator = __instance.TryGetComp();
- if (thingAnimator != null && thingAnimator.isAnimating)
- {
- thingAnimator.AnimateThing(__instance);
- return false;
-
- }
-
- return true;
-
- }
-
- }
-}
diff --git a/1.4/Source/Settings/AnimationSettings.cs b/1.4/Source/Settings/AnimationSettings.cs
deleted file mode 100644
index 0a96621..0000000
--- a/1.4/Source/Settings/AnimationSettings.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using UnityEngine;
-using RimWorld;
-
-namespace Rimworld_Animations {
-
- public class AnimationSettings : ModSettings {
-
- public static bool orgasmQuiver, rapeShiver, soundOverride = true, hearts = true, controlGenitalRotation = false, applySemenOnAnimationOrgasm = false, fastAnimForQuickie = false,
- PlayAnimForNonsexualActs = true;
- public static bool offsetTab = false, debugMode = false;
- public static float shiverIntensity = 2f;
-
- public static Dictionary offsets = new Dictionary();
- public static Dictionary rotation = new Dictionary();
-
- public override void ExposeData() {
-
- base.ExposeData();
-
- Scribe_Values.Look(ref debugMode, "RJWAnimations-AnimsDebugMode", false);
- Scribe_Values.Look(ref offsetTab, "RJWAnimations-EnableOffsetTab", false);
- Scribe_Values.Look(ref controlGenitalRotation, "RJWAnimations-controlGenitalRotation", false);
- Scribe_Values.Look(ref orgasmQuiver, "RJWAnimations-orgasmQuiver");
- Scribe_Values.Look(ref fastAnimForQuickie, "RJWAnimations-fastAnimForQuickie");
- Scribe_Values.Look(ref rapeShiver, "RJWAnimations-rapeShiver");
- Scribe_Values.Look(ref hearts, "RJWAnimation-sheartsOnLovin");
- Scribe_Values.Look(ref PlayAnimForNonsexualActs, "RJWAnims-PlayAnimForNonsexualActs");
- Scribe_Values.Look(ref applySemenOnAnimationOrgasm, "RJWAnimations-applySemenOnOrgasm", false);
- Scribe_Values.Look(ref soundOverride, "RJWAnimations-rjwAnimSoundOverride", true);
- Scribe_Values.Look(ref shiverIntensity, "RJWAnimations-shiverIntensity", 2f);
- //todo: save offsetsByDefName
-
- Scribe_Collections.Look(ref offsets, "RJWAnimations-animationOffsets");
- Scribe_Collections.Look(ref rotation, "RJWAnimations-rotationOffsets");
-
-
-
- //needs to be rewritten
- //probably somewhere in options?
-
- }
-
- }
-
- public class RJW_Animations : Mod {
-
- public RJW_Animations(ModContentPack content) : base(content) {
- GetSettings();
-
- }
-
- public override void DoSettingsWindowContents(Rect inRect) {
-
- Listing_Standard listingStandard = new Listing_Standard();
- listingStandard.Begin(inRect);
-
- listingStandard.CheckboxLabeled("Enable Sound Override", ref AnimationSettings.soundOverride);
- listingStandard.CheckboxLabeled("Control Genital Rotation", ref AnimationSettings.controlGenitalRotation);
- listingStandard.CheckboxLabeled("Play Fast Animation for Quickie", ref AnimationSettings.fastAnimForQuickie);
- listingStandard.CheckboxLabeled("Apply Semen on Animation Orgasm", ref AnimationSettings.applySemenOnAnimationOrgasm);
-
- if(AnimationSettings.applySemenOnAnimationOrgasm) {
- listingStandard.Label("Recommended--turn down \"Cum on body percent\" in RJW settings to about 33%");
- }
-
- listingStandard.CheckboxLabeled("Enable Orgasm Quiver", ref AnimationSettings.orgasmQuiver);
- listingStandard.CheckboxLabeled("Enable Rape Shiver", ref AnimationSettings.rapeShiver);
- listingStandard.CheckboxLabeled("Enable hearts during lovin'", ref AnimationSettings.hearts);
- listingStandard.CheckboxLabeled("Play animation for nonsexual acts (handholding, makeout)", ref AnimationSettings.PlayAnimForNonsexualActs);
- listingStandard.CheckboxLabeled("Enable Animation Manager Tab", ref AnimationSettings.offsetTab);
-
- listingStandard.Label("Shiver/Quiver Intensity (default 2): " + AnimationSettings.shiverIntensity);
- AnimationSettings.shiverIntensity = listingStandard.Slider(AnimationSettings.shiverIntensity, 0.0f, 12f);
-
- listingStandard.CheckboxLabeled("Debug Mode", ref AnimationSettings.debugMode);
-
-
- listingStandard.End();
- base.DoSettingsWindowContents(inRect);
- }
-
- public override void WriteSettings() {
- base.WriteSettings();
- OffsetMainButtonDefOf.OffsetManager.buttonVisible = AnimationSettings.offsetTab;
-
- }
-
- public override string SettingsCategory() {
- return "RJW Animation Settings";
- }
- }
-}
diff --git a/1.4/Source/Utilities/AnimationUtility.cs b/1.4/Source/Utilities/AnimationUtility.cs
deleted file mode 100644
index fa60198..0000000
--- a/1.4/Source/Utilities/AnimationUtility.cs
+++ /dev/null
@@ -1,325 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RimWorld;
-using rjw.Modules.Interactions.Helpers;
-using rjw.Modules.Interactions.Objects;
-using UnityEngine;
-using Verse;
-using Verse.AI;
-using rjw.Modules.Interactions.Enums;
-
-namespace Rimworld_Animations {
- public static class AnimationUtility {
- /*
- Note: always make the list in this order:
- Female pawns, animal female pawns, male pawns, animal male pawns
- */
- public static AnimationDef tryFindAnimation(ref List participants, rjw.xxx.rjwSextype sexType = 0, rjw.SexProps sexProps = null) {
-
-
- InteractionWithExtension interaction = InteractionHelper.GetWithExtension(sexProps.dictionaryKey);
-
- participants =
- participants.OrderBy(p =>
- p.jobs.curDriver is rjw.JobDriver_Sex
- && !(p.jobs.curDriver as rjw.JobDriver_Sex).Sexprops.isRevese /*Gargulefix!!!*/
- && !(p.jobs.curDriver as rjw.JobDriver_Sex).Sexprops.isReceiver)
- .OrderBy(p => rjw.xxx.can_fuck(p))
- .ToList();
-
-
- List localParticipants = new List(participants);
-
- IEnumerable options = DefDatabase.AllDefs.Where((AnimationDef x) => {
-
-
- if (x.actors.Count != localParticipants.Count) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- doesn't match count");
- return false;
- }
- for (int i = 0; i < x.actors.Count; i++) {
-
- if (rjw.RJWPreferenceSettings.Malesex == rjw.RJWPreferenceSettings.AllowedSex.Nohomo) {
- if (rjw.xxx.is_male(localParticipants[i]) && x.actors[i].isFucked) {
-
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " is fucked, shouldn't be due to homo rules");
-
- return false;
- }
- }
- if (x.actors[i].requiredGender != null && !x.actors[i].requiredGender.Contains(localParticipants[i].gender.ToStringSafe()))
- {
- if (AnimationSettings.debugMode)
- {
- Log.Message(string.Concat(new string[]
- {
- x.defName.ToStringSafe(),
- " not selected -- ",
- localParticipants[i].def.defName.ToStringSafe(),
- " ",
- localParticipants[i].Name.ToStringSafe(),
- " does not match required gender"
- }));
- }
- return false;
- }
- if ((x.actors[i].blacklistedRaces != null) && x.actors[i].blacklistedRaces.Contains(localParticipants[i].def.defName)) {
- if(AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is blacklisted");
- return false;
- }
-
- if(x.actors[i].defNames.Contains("Human")) {
- if (!rjw.xxx.is_human(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is not human");
-
- return false;
- }
-
- }
- else if (!x.actors[i].bodyDefTypes.Contains(localParticipants[i].RaceProps.body)) {
-
- if (!x.actors[i].defNames.Contains(localParticipants[i].def.defName)) {
-
- if (AnimationSettings.debugMode)
- {
- string animInfo = x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is not ";
- foreach(String defname in x.actors[i].defNames) {
- animInfo += defname + ", ";
- }
- if (AnimationSettings.debugMode)
- Log.Message(animInfo);
- }
-
- return false;
- }
- }
- //genitals checking
-
- if(!GenitalCheckForPawn(x.actors[i].requiredGenitals, localParticipants[i], out string failReason)) {
- if (AnimationSettings.debugMode)
- Log.Message("Didn't select " + x.defName + ", " + localParticipants[i].Name + " " + failReason);
- return false;
- }
-
- //TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH
- /*
- if (x.defName != "Cunnilingus")
- return false;
- */
-
-
- if (x.actors[i].isFucking && !rjw.xxx.can_fuck(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't fuck");
- return false;
- }
-
- if (x.actors[i].isFucked && !rjw.xxx.can_be_fucked(localParticipants[i])) {
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't be fucked");
- return false;
- }
- }
-
- if (AnimationSettings.debugMode)
- Log.Message(x.defName.ToStringSafe() + " selected");
-
- return true;
- });
-
- List optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.sexType.ToStringSafe()));
- if (optionsWithInteractionType.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for interaction type " + sexProps.sexType.ToStringSafe() + "...");
- return optionsWithInteractionType.RandomElement();
- }
- List optionsWithSexType = options.ToList().FindAll(x => x.sexTypes != null && x.sexTypes.Contains(sexType));
- if (optionsWithSexType.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for rjwSexType " + sexType.ToStringSafe() + "...");
- return optionsWithSexType.RandomElement();
- }
-
- /*
- if(optionsWithInitiator.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Selecting animation for initiators...");
- }
- */
-
- if (options != null && options.Any()) {
- if (AnimationSettings.debugMode)
- Log.Message("Randomly selecting animation...");
- return options.RandomElement();
- }
- else
- return null;
- }
-
- public static void RenderPawnHeadMeshInAnimation1(Mesh mesh, Vector3 loc, Quaternion quaternion, Material material, bool drawNow, Pawn pawn) {
-
- if (pawn == null || pawn.Map != Find.CurrentMap) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, drawNow);
- return;
- }
-
- if (!CompBodyAnimator.IsAnimating(pawn)) {
- 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);
- }
- }
-
- public static void AdjustHead(ref Quaternion quat, ref Rot4 bodyFacing, ref Vector3 pos, ref float angle, Pawn pawn, PawnRenderFlags flags)
- {
- if (flags.FlagSet(PawnRenderFlags.Portrait)) return;
-
- if (CompBodyAnimator.IsAnimating(pawn))
- {
- CompBodyAnimator anim = pawn.TryGetComp();
- bodyFacing = anim.headFacing;
- angle = anim.headAngle;
- quat = Quaternion.AngleAxis(anim.headAngle, Vector3.up);
- pos = anim.getPawnHeadOffset();
- }
- }
-
- public static void RenderPawnHeadMeshInAnimation(Mesh mesh, Vector3 loc, Quaternion quaternion, Material material, bool portrait, Pawn pawn, float bodySizeFactor = 1) {
-
- if (pawn == null) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, portrait);
- return;
- }
-
-
- if (!CompBodyAnimator.IsAnimating(pawn) || portrait) {
- GenDraw.DrawMeshNowOrLater(mesh, loc, quaternion, material, portrait);
- }
- else {
- CompBodyAnimator pawnAnimator = pawn.TryGetComp();
- Vector3 pawnHeadPosition = pawnAnimator.getPawnHeadPosition();
- pawnHeadPosition.x *= bodySizeFactor;
- pawnHeadPosition.x *= bodySizeFactor;
- pawnHeadPosition.y = loc.y;
- GenDraw.DrawMeshNowOrLater(mesh, pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, portrait);
- }
- }
-
- public static bool GenitalCheckForPawn(List requiredGenitals, Pawn pawn, out string failReason) {
-
- failReason = null;
- if (requiredGenitals != null) {
- if (requiredGenitals.Contains("Vagina")) {
-
- if (!rjw.Genital_Helper.has_vagina(pawn)) {
- failReason = "missing vagina";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Penis")) {
-
- if (!(rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn) || rjw.Genital_Helper.has_ovipositorM(pawn) || rjw.Genital_Helper.has_ovipositorF(pawn))) {
- failReason = "missing penis";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Mouth")) {
-
- if (!rjw.Genital_Helper.has_mouth(pawn)) {
- failReason = "missing mouth";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Anus")) {
-
- if (!rjw.Genital_Helper.has_anus(pawn)) {
- failReason = "missing anus";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("Breasts")) {
- if (!rjw.Genital_Helper.can_do_breastjob(pawn)) {
- failReason = "missing breasts";
- return false;
- }
- }
-
- if (requiredGenitals.Contains("NoVagina")) {
-
- if (rjw.Genital_Helper.has_vagina(pawn)) {
- failReason = "has vagina";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoPenis")) {
-
- if ((rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn))) {
- failReason = "has penis";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoMouth")) {
-
- if (rjw.Genital_Helper.has_mouth(pawn)) {
- failReason = "has mouth";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoAnus")) {
-
- if (rjw.Genital_Helper.has_anus(pawn)) {
- failReason = "has anus";
- return false;
- }
-
- }
-
- if (requiredGenitals.Contains("NoBreasts")) {
- if (rjw.Genital_Helper.can_do_breastjob(pawn)) {
- failReason = "has breasts";
- return false;
- }
- }
- }
-
- return true;
-
- }
-
- public static Rot4 PawnHeadRotInAnimation(Pawn pawn, Rot4 regularPos)
- {
- Debug.Log("Test");
-
- if(pawn?.TryGetComp() != null && pawn.TryGetComp().isAnimating)
- {
- return pawn.TryGetComp().headFacing;
- }
-
- return regularPos;
- }
- }
-}
diff --git a/1.4/Source/Utilities/PatchOperationAddOrReplace.cs b/1.4/Source/Utilities/PatchOperationAddOrReplace.cs
deleted file mode 100644
index 4e1bd85..0000000
--- a/1.4/Source/Utilities/PatchOperationAddOrReplace.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using Verse;
-
-namespace Rimworld_Animations
-{
- public class PatchOperationAddOrReplace : PatchOperationPathed
- {
-
- protected string key;
- private XmlContainer value;
-
- protected override bool ApplyWorker(XmlDocument xml)
- {
- XmlNode valNode = value.node;
- bool result = false;
- IEnumerator enumerator = xml.SelectNodes(xpath).GetEnumerator();
- try
- {
- while (enumerator.MoveNext())
- {
- object obj = enumerator.Current;
- result = true;
- XmlNode parentNode = obj as XmlNode;
- XmlNode xmlNode = parentNode.SelectSingleNode(key);
- if (xmlNode == null)
- {
- // Add - Add node if not existing
- xmlNode = parentNode.OwnerDocument.CreateElement(key);
- parentNode.AppendChild(xmlNode);
- }
- else
- {
- // Replace - Clear existing children
- xmlNode.RemoveAll();
- }
- // (Re)add value
- xmlNode.AppendChild(parentNode.OwnerDocument.ImportNode(valNode.FirstChild, true));
- }
- }
- finally
- {
- IDisposable disposable = enumerator as IDisposable;
- if (disposable != null)
- {
- disposable.Dispose();
- }
- }
- return result;
- }
-
- }
-
-}
diff --git a/1.4/Textures/UI/MainTab.png b/1.4/Textures/UI/MainTab.png
deleted file mode 100644
index 92f855f..0000000
Binary files a/1.4/Textures/UI/MainTab.png and /dev/null differ
diff --git a/1.6/Assemblies/Rimworld-Animations.dll b/1.6/Assemblies/Rimworld-Animations.dll
new file mode 100644
index 0000000..a52d4f5
Binary files /dev/null and b/1.6/Assemblies/Rimworld-Animations.dll differ
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Banana.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Banana.xml
new file mode 100644
index 0000000..235c9fa
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Banana.xml
@@ -0,0 +1,16 @@
+
+
+
+ RenderNodeTag_Banana
+
+
+
+ AnimationProp_Banana
+
+ Banana
+ RenderNodeTag_Banana
+ Body
+ AnimationProps/Banana/Banana
+
+
+
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml
new file mode 100644
index 0000000..d5ba7da
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml
@@ -0,0 +1,21 @@
+
+
+
+ RenderNodeTag_Hand
+
+
+
+ AnimationProp_Hand
+
+ Hand
+ RenderNodeTag_Hand
+ True
+ Root
+ AnimationProps/Hand/Hand
+
+ True
+ LeftHand
+ Skin
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Knees.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Knees.xml
new file mode 100644
index 0000000..a5dac3a
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Knees.xml
@@ -0,0 +1,52 @@
+
+
+
+ RenderNodeTag_Knees
+
+
+
+ AnimationProp_Knees
+
+ Knees
+ RenderNodeTag_Knees
+ False
+ Root
+
+ Head
+ True
+ Skin
+ 95
+
+
+ Female
+ TexPathVariants_Knees
+
+
+
+
+
+
+ RenderNodeTag_Arms
+
+
+
+ AnimationProp_Arms
+
+ Arms
+ RenderNodeTag_Knees
+ False
+ Root
+ True
+ Skin
+
+ Body
+ -1
+
+
+ Female
+ TexPathVariants_Arms
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Inside.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Inside.xml
new file mode 100644
index 0000000..9211de5
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Inside.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ RenderNodeTag_Xray_Inside
+
+
+
+ AnimationProp_Xray_Inside
+
+ Xray Inside
+ RenderNodeTag_Xray_Inside
+ True
+ Body
+
+ TexPathVariants_Xray_Inside
+
+
+
+
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Penis.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Penis.xml
new file mode 100644
index 0000000..260617b
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Penis.xml
@@ -0,0 +1,31 @@
+
+
+
+ RenderNodeTag_Xray_Penis
+
+
+ AnimationProp_Penis
+
+ Xray Penis
+ RenderNodeTag_Xray_Penis
+ Body
+ AnimationProps/Banana/Banana
+
+ True
+
+
+ TexPathVariants_XrayPenis_Human
+
+
+
+
+
+ HorsePenis
+ RaccoonPenis
+
+ TexPathVariants_XrayPenis_Horse
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Race.xml b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Race.xml
new file mode 100644
index 0000000..aa90bcc
--- /dev/null
+++ b/1.6/Defs/AnimationPropDefs/AnimationPropDef_Xray_Race.xml
@@ -0,0 +1,50 @@
+
+
+
+
+ RenderNodeTag_Xray_Vagina
+
+
+
+
+
+ AnimationProp_Vagina
+
+
+
+ Xray Vagina
+ RenderNodeTag_Xray_Vagina
+ Body
+ AnimationProps/Banana/Banana
+
+ True
+ TexPathVariants_Xray_Inside
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+ Xray Vagina
+ RenderNodeTag_Xray_Vagina
+ Body
+ AnimationProps/Banana/Banana
+
+ True
+ TexPathVariants_Xray_Inside
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml
new file mode 100644
index 0000000..6f95f49
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml
@@ -0,0 +1,219 @@
+
+
+
+ GroupAnimation_DogBeast
+ 2
+
+
+ 1
+
+
+ 1
+
+ DogBeast_Human1
+ DogBeast_Dog1
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ DogBeast_Human2
+ DogBeast_Dog2
+
+
+
+
+
+
+
+ 60
+
+
+ 1
+
+ DogBeast_Human3_1
+ DogBeast_Dog3_1
+
+
+
+
+ 1
+
+ DogBeast_Human3_2
+ DogBeast_Dog3_2
+
+
+
+
+ 1
+
+ DogBeast_Human3_3
+ DogBeast_Dog3_3
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ DogBeast_Human4
+ DogBeast_Dog4
+
+
+
+
+
+
+
+ 30
+
+
+ 1
+
+ DogBeast_Human5_1
+ DogBeast_Dog5_1
+
+
+
+
+ 1
+
+ DogBeast_Human5_2
+ DogBeast_Dog5_2
+
+
+
+
+ 1
+
+ DogBeast_Human5_3
+ DogBeast_Dog5_3
+
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ DogBeast_Human6
+ DogBeast_Dog6
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ Bestiality_Reverse_Vaginal
+ Bestiality_Reverse_Anal
+ Bestiality_Reverse_Double_Penetration_M
+
+
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+ Bestiality_Vaginal
+ Bestiality_Anal
+ Bestiality_Double_Penetration_M
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_Placeholder
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage1.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage1.xml
new file mode 100644
index 0000000..68eb5e1
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage1.xml
@@ -0,0 +1,244 @@
+
+
+
+ DogBeast_Human1
+ 85
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 4
+ true
+ (-0.3716815, 0, 0.2713863)
+ East
+
+
+ 15
+ 8
+ true
+ (-0.3539823, 0, 0.2654868)
+ East
+
+
+ 25
+ -14
+ true
+ (-0.4011799, 0, 0.2241887)
+ East
+
+
+ 35
+ -7
+ true
+ (-0.3834807, 0, 0.2359883)
+ East
+
+
+ 55
+ -9
+ true
+ (-0.4011799, 0, 0.2359883)
+ East
+
+
+ 85
+ -7
+ true
+ (-0.3893807, 0, 0.2359883)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ East
+
+
+ 25
+ 0
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.1946907, 1, 0.4483777)
+ North
+
+
+ 5
+ 0
+ true
+ (0.235988, 1, 0.4365782)
+ North
+
+
+ 10
+ 0
+ true
+ (0.1238946, 1, 0.377581)
+ North
+
+
+ 13
+ 0
+ true
+ (0.1710922, 1, 0.3952804)
+ North
+
+
+ 17
+ 0
+ true
+ (0.05899817, 1, 0.4660767)
+ North
+
+
+ 25
+ 0
+ true
+ (-0.1828904, 1, 0.4896755)
+ North
+
+
+ 35
+ 0
+ true
+ (-0.1356928, 1, 0.4778759)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog1
+ 85
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.6666666, 1, 0.1120945)
+ West
+
+
+ 15
+ -5
+ true
+ (0.5722714, 1, 0.06489658)
+ (1, 1, 0.9351034)
+ West
+
+
+ 25
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ (0.9999999, 1, 1.053097)
+ West
+
+
+ 35
+ 31
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 45
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 55
+ 31
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 65
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 75
+ 31
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 85
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -2, 0)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage2.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage2.xml
new file mode 100644
index 0000000..5bfddcd
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage2.xml
@@ -0,0 +1,309 @@
+
+
+
+ DogBeast_Human2
+ 105
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -7
+ true
+ (-0.3893807, 0, 0.2359883)
+ East
+
+
+ 19
+ 0
+ true
+ (-0.5073746, 0, 0.2300885)
+ South
+
+
+ 25
+ -13
+ true
+ (-0.5899706, 0, 0.2005899)
+ West
+
+
+ 45
+ -65
+ true
+ (-0.737463, 0, 0.02359879)
+ (0.9764012, 1, 1)
+ West
+
+
+ 55
+ -52
+ true
+ (-0.6843658, 0, 0.08849573)
+ West
+
+
+ 75
+ -56
+ true
+ (-0.702065, 0, 0.07079637)
+ West
+
+
+ 85
+ -56
+ true
+ (-0.702065, 0, 0.07079637)
+ West
+
+
+ 90
+ -46
+ true
+ (-0.743363, 0, 0.1474925)
+ West
+ Grunt
+
+
+ 95
+ -48
+ true
+ (-0.7315634, 0, 0.1415931)
+ West
+
+
+ 100
+ -45
+ true
+ (-0.737463, 0, 0.1533923)
+ West
+
+
+ 105
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 20
+ 0
+ true
+ South
+
+
+ 90
+ 0
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.1356928, 1, 0.4778759)
+ North
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog2
+ 105
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 10
+ 39
+ true
+ (0.1651919, 1, 0.2477875)
+ West
+
+
+ 20
+ 35
+ true
+ (0.1356932, 1, 0.2477875)
+ West
+
+
+ 30
+ 29
+ true
+ (-0.01769918, 1, 0.259587)
+ West
+
+
+ 40
+ 24
+ true
+ (-0.07079639, 1, 0.2300885)
+ (1, 1, 0.9528024)
+ West
+
+
+ 50
+ 33
+ true
+ (-0.117994, 1, 0.3008848)
+ West
+
+
+ 55
+ 28
+ true
+ (-0.06489678, 1, 0.2713863)
+ West
+
+
+ 60
+ 33
+ true
+ (-0.1238939, 1, 0.2772861)
+ West
+
+
+ 65
+ 28
+ true
+ (-0.06489678, 1, 0.259587)
+ West
+
+
+ 70
+ 36
+ true
+ (-0.1769911, 1, 0.3008848)
+ West
+
+
+ 75
+ 33
+ true
+ (-0.1651916, 1, 0.3008848)
+ West
+
+
+ 80
+ 33
+ true
+ (-0.1415928, 1, 0.2890856)
+ West
+
+
+ 83
+ 31
+ true
+ (-0.1356932, 1, 0.2772861)
+ West
+
+
+ 90
+ 37
+ true
+ (-0.2595871, 1, 0.342183)
+ West
+ Fuck
+
+
+ 95
+ 31
+ true
+ (-0.2123895, 1, 0.3303834)
+ West
+
+
+ 100
+ 37
+ true
+ (-0.2654867, 1, 0.342183)
+ West
+ Fuck
+
+
+ 105
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -2, 0)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant1.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant1.xml
new file mode 100644
index 0000000..df355fd
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant1.xml
@@ -0,0 +1,203 @@
+
+
+
+ DogBeast_Human3_1
+ 24
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+ Moan
+
+
+ 4
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 8
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 12
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 16
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 20
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 24
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 8
+ 5
+ true
+ West
+
+
+ 16
+ 0
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog3_1
+ 24
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 4
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 8
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 12
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 16
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 20
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 24
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -2, 0)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant2_FollowupWithVariant1.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant2_FollowupWithVariant1.xml
new file mode 100644
index 0000000..cef2bc5
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant2_FollowupWithVariant1.xml
@@ -0,0 +1,233 @@
+
+
+
+ DogBeast_Human3_2
+ 32
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 4
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 8
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 12
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+ MoanShort
+
+
+ 16
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 20
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 24
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 28
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 32
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 16
+ -10
+ true
+ (-0.01769918, 0, -0.01769918)
+ West
+
+
+ 32
+ 0
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog3_2
+ 32
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 4
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 8
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 12
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 16
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 20
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 24
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 28
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 32
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -2, 0)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant3.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant3.xml
new file mode 100644
index 0000000..8253831
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant3.xml
@@ -0,0 +1,162 @@
+
+
+
+ DogBeast_Human3_3
+ 16
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+ Moan
+
+
+ 4
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 8
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+ 12
+ -51
+ true
+ (-0.7315634, 0, 0.1238937)
+ West
+
+
+ 16
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog3_3
+ 16
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 4
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 8
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+ 12
+ 38
+ true
+ (-0.2713863, 1, 0.3185842)
+ West
+ Fuck
+
+
+ 16
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -2, 0)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage4.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage4.xml
new file mode 100644
index 0000000..9464f36
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage4.xml
@@ -0,0 +1,236 @@
+
+
+
+ DogBeast_Human4
+ 100
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -52
+ true
+ (-0.7197642, 0, 0.1120945)
+ West
+ Scream
+
+
+ 4
+ -45
+ true
+ (-0.6902654, 0, 0.1474925)
+ West
+
+
+ 30
+ -50
+ true
+ (-0.6784662, 0, 0.1120945)
+ West
+
+
+ 60
+ -55
+ true
+ (-0.6784662, 0, 0.1120945)
+ West
+
+
+ 70
+ -55
+ true
+ (-0.6784662, 0, 0.1120945)
+ West
+
+
+ 80
+ -51
+ true
+ (-0.6666666, 0, 0.1474925)
+ West
+
+
+ 100
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 8
+ 30
+ true
+ West
+
+
+ 30
+ 25
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog4
+ 100
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 34
+ true
+ (-0.2123895, 1, 0.3126844)
+ West
+ Fuck
+
+
+ 4
+ 36
+ true
+ (-0.3067847, 1, 0.342183)
+ West
+
+
+ 30
+ 35
+ true
+ (-0.2772863, 1, 0.3067846)
+ West
+
+
+ 45
+ 3
+ true
+ (-0.2064896, 1, 0.2005899)
+ South
+
+
+ 60
+ 19
+ true
+ (0.2123888, 1, 0.1297935)
+ East
+
+
+ 70
+ 12
+ true
+ (0.1769905, 1, 0.1946901)
+ East
+
+
+ 80
+ 17
+ true
+ (0.2005889, 1, 0.1474925)
+ East
+
+
+ 100
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -1, 0)
+ West
+
+
+ 30
+ 0
+ true
+ (0, -1, 0)
+ West
+
+
+ 35
+ 0
+ true
+ (-0.1002951, -2, 0)
+ West
+
+
+ 45
+ 34
+ true
+ (-0.01769918, -2, 0.1592921)
+ West
+
+
+ 60
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant1.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant1.xml
new file mode 100644
index 0000000..e7c787b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant1.xml
@@ -0,0 +1,201 @@
+
+
+
+ DogBeast_Human5_1
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+
+
+ 20
+ -60
+ true
+ (-0.6843658, 0, 0.08849573)
+ West
+
+
+ 40
+ -58
+ true
+ (-0.6725662, 0, 0.09439516)
+ West
+ Grunt
+
+
+ 80
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+ Grunt
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ West
+
+
+ 10
+ 20
+ true
+ West
+
+
+ 50
+ 25
+ true
+ West
+
+
+ 80
+ 30
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog5_1
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+ Cum
+
+
+ 10
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 20
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 30
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 40
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 50
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 60
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 70
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 80
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 60
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant2.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant2.xml
new file mode 100644
index 0000000..daff31d
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant2.xml
@@ -0,0 +1,188 @@
+
+
+
+ DogBeast_Human5_2
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+
+
+ 40
+ -58
+ true
+ (-0.6725662, 0, 0.09439516)
+ West
+ Grunt
+
+
+ 80
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+ Grunt
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ West
+
+
+ 50
+ 25
+ true
+ West
+
+
+ 80
+ 30
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog5_2
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+ Cum
+
+
+ 10
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 20
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 30
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 40
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 50
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 60
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 70
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 80
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 60
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant3.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant3.xml
new file mode 100644
index 0000000..dac2f49
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant3.xml
@@ -0,0 +1,188 @@
+
+
+
+ DogBeast_Human5_3
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+
+
+ 40
+ -58
+ true
+ (-0.6725662, 0, 0.09439516)
+ West
+ Grunt
+
+
+ 80
+ -54
+ true
+ (-0.6725662, 0, 0.1120945)
+ West
+ Grunt
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ South
+
+
+ 50
+ 25
+ true
+ South
+
+
+ 80
+ 30
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog5_3
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 10
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 20
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 30
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 40
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+ Cum
+
+
+ 50
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 60
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 70
+ 15
+ true
+ (0.2005889, 1, 0.1710913)
+ East
+
+
+ 80
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 60
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage6.xml b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage6.xml
new file mode 100644
index 0000000..542a315
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Beast/DogBeast/Stage6.xml
@@ -0,0 +1,232 @@
+
+
+
+ DogBeast_Human6
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -48
+ true
+ (-0.6725662, 0, 0.1356933)
+ West
+ Grunt
+
+
+ 120
+ -62
+ true
+ (-0.6666666, 0, 0.1238937)
+ West
+
+
+ 160
+ -65
+ true
+ (-0.660767, 0, 0.117994)
+ West
+ Scream
+
+
+ 170
+ -43
+ true
+ (-0.6312686, 0, 0.2536873)
+ West
+
+
+ 180
+ -46
+ true
+ (-0.6430678, 0, 0.2359883)
+ West
+
+
+ 200
+ -42
+ true
+ (-0.619469, 0, 0.2536873)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ West
+
+
+ 120
+ 55
+ true
+ West
+
+
+ 165
+ 54
+ true
+ West
+
+
+ 180
+ 25
+ true
+ West
+
+
+ 200
+ 22
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 20
+ 0
+ false
+ (-0.5309731, -2, -0.06489676)
+ North
+
+
+
+
+
+
+
+ DogBeast_Dog6
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 13
+ true
+ (0.1946893, 1, 0.1828909)
+ East
+
+
+ 60
+ 20
+ true
+ (0.2595864, 1, 0.2123895)
+ East
+
+
+ 140
+ 23
+ true
+ (0.3008844, 1, 0.2241887)
+ East
+
+
+ 160
+ 26
+ true
+ (0.3775801, 1, 0.2241887)
+ East
+ Fuck
+
+
+ 180
+ 11
+ true
+ (0.5958685, 1, 0.1474925)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ North
+
+
+
+
+
+ AnimalPenis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 60
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+ 160
+ 5
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+ Slimy
+
+
+ 165
+ -39
+ true
+ (-0.5722714, -2, -0.0294984)
+ West
+
+
+
+
+
+ Saliva
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -55
+ true
+ (-0.4837759, -2, -0.2949852)
+ (0.2153394, 1, 0.6342184)
+ North
+
+
+ 160
+ -55
+ false
+ (-0.4601771, -2, -0.3067846)
+ (0.2153394, 1, 0.6342184)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/AnimationPropDef_Cum.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/AnimationPropDef_Cum.xml
new file mode 100644
index 0000000..1b54b64
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/AnimationPropDef_Cum.xml
@@ -0,0 +1,42 @@
+
+
+
+
+ Cum
+
+
+
+ AnimProp_Cum
+
+ Cum
+ Rimworld_Animations.PawnRenderNode_GraphicVariants
+ Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants
+ Cum
+ Head
+
+ AnimationProps/Cum/Cum
+ Head
+ 95
+
+
+
+
+ Cumshot
+
+
+
+ AnimProp_Cumshot
+
+ Cumshot
+ Rimworld_Animations.PawnRenderNode_GraphicVariants
+ Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants
+ Cumshot
+ Root
+
+ AnimationProps/Saliva/Saliva
+ Head
+ 95
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/GroupAnimation_Blowjob.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/GroupAnimation_Blowjob.xml
new file mode 100644
index 0000000..9e22a78
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/GroupAnimation_Blowjob.xml
@@ -0,0 +1,398 @@
+
+
+
+ GroupAnimation_Blowjob
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator1
+ Blowjob_Receiver1
+
+
+
+
+
+
+
+ 10
+
+ Blowjob_Stage2_Branch1
+ Blowjob_Stage2_Branch2
+ Blowjob_Stage2_Branch3
+
+
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator3
+ Blowjob_Receiver3
+
+
+
+
+
+
+
+ 20
+
+ Blowjob_Stage4_Branch1
+ Blowjob_Stage4_Branch2
+
+
+
+
+
+ 20
+
+
+ 1
+
+ Blowjob_Initiator5
+ Blowjob_Receiver5
+
+
+
+
+
+
+
+
+ 1
+
+ Blowjob_Stage6_Branch1
+ Blowjob_Stage6_Branch2
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ Sex_Reverse_Fellatio
+ Sex_Reverse_Beakjob
+ Sex_Reverse_Handjob
+ Rape_Reverse_Fellatio
+ Rape_Reverse_Handjob
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Sex_Fellatio
+ Sex_Beakjob
+ Sex_Handjob
+ Rape_Fellatio
+ Rape_Handjob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage2_Branch1
+ 2
+
+
+ 2
+
+
+ 1
+
+ Blowjob_Initiator2a
+ Blowjob_Receiver2a
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage2_Branch2
+ 2
+
+
+ 2
+
+
+ 1
+
+ Blowjob_Initiator2b
+ Blowjob_Receiver2b
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage2_Branch3
+ 2
+
+
+ 2
+
+
+ 1
+
+ Blowjob_Initiator2c
+ Blowjob_Receiver2c
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage4_Branch1
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator4a
+ Blowjob_Receiver4a
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage4_Branch2
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator4b
+ Blowjob_Receiver4b
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage4_Branch3
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator4a
+ Blowjob_Receiver4a
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator4c
+ Blowjob_Receiver4c
+
+
+
+
+
+
+ 2
+
+
+ 1
+
+ Blowjob_Initiator4a
+ Blowjob_Receiver4a
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage6_Branch1
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator6a
+ Blowjob_Receiver6a
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
+ Blowjob_Stage6_Branch2
+ 2
+
+
+ 1
+
+
+ 1
+
+ Blowjob_Initiator6b
+ Blowjob_Receiver6b
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+ Offset_Blowjob_Receiver
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/OffsetDef_Blowjob.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/OffsetDef_Blowjob.xml
new file mode 100644
index 0000000..fb69523
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/OffsetDef_Blowjob.xml
@@ -0,0 +1,40 @@
+
+
+
+ Offset_Blowjob_Receiver
+
+
+
+ Human
+
+
+
+
+
+
+
+
+ Offset_Blowjob_Initiator
+
+
+
+ Human
+
+
+ Hulk(0, 0, 0.223)
+
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage1.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage1.xml
new file mode 100644
index 0000000..e581ee9
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage1.xml
@@ -0,0 +1,198 @@
+
+
+
+ Blowjob_Initiator1
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -7
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 20
+ -17
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 60
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ East
+
+
+ 60
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 2
+ true
+ East
+
+
+ 5
+ 6
+ true
+ East
+
+
+ 10
+ 2
+ true
+ East
+
+
+ 15
+ 6
+ true
+ East
+
+
+ 20
+ 0
+ true
+ East
+
+
+ 40
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver1
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.3421831, 0, 0.3303834)
+ West
+
+
+ 30
+ -13
+ true
+ (0.2536875, 0, 0.2713863)
+ West
+
+
+ 60
+ -23
+ true
+ (0.1828908, 0, 0.2123895)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 9
+ true
+ West
+
+
+ 30
+ 29
+ true
+ West
+
+
+ 45
+ 7
+ true
+ West
+
+
+ 60
+ 9
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.0471976, 1, 0.1533923)
+ North
+
+
+ 20
+ 0
+ true
+ (-0.2890855, 1, 0.1002949)
+ North
+
+
+ 40
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2a.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2a.xml
new file mode 100644
index 0000000..ed3684c
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2a.xml
@@ -0,0 +1,157 @@
+
+
+
+ Blowjob_Initiator2a
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 30
+ -21
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Moan
+
+
+ 60
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 30
+ 35
+ true
+ East
+
+
+ 60
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver2a
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+ 35
+ -28
+ true
+ (0.153392, 1, 0.1946901)
+ West
+ Suck
+
+
+ 60
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 9
+ true
+ West
+
+
+ 35
+ 9
+ true
+ (-0.06489678, 0, -0.01769918)
+ West
+
+
+ 60
+ 9
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2b.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2b.xml
new file mode 100644
index 0000000..6f11543
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2b.xml
@@ -0,0 +1,178 @@
+
+
+
+ Blowjob_Initiator2b
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 30
+ -21
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Moan
+
+
+ 60
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 30
+ 35
+ true
+ East
+
+
+ 60
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver2b
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+ 35
+ -28
+ true
+ (0.153392, 1, 0.1946901)
+ West
+ Suck
+
+
+ 60
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 9
+ true
+ West
+
+
+ 35
+ 9
+ true
+ (-0.06489678, 0, -0.01769918)
+ West
+
+
+ 60
+ 9
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+ 10
+ 0
+ true
+ (-0.1769911, 1, 0.1828909)
+ North
+
+
+ 30
+ 0
+ true
+ (-0.2654867, 1, 0.1120945)
+ North
+
+
+ 60
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2c.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2c.xml
new file mode 100644
index 0000000..adac6e9
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage2c.xml
@@ -0,0 +1,193 @@
+
+
+
+ Blowjob_Initiator2c
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 30
+ -21
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Moan
+
+
+ 80
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 30
+ 35
+ true
+ East
+
+
+ 80
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver2c
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+ 35
+ -28
+ true
+ (0.153392, 1, 0.1946901)
+ West
+ Suck
+
+
+ 50
+ -28
+ true
+ (0.153392, 1, 0.1946901)
+ West
+
+
+ 80
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 9
+ true
+ West
+
+
+ 35
+ 9
+ true
+ (-0.06489678, 0, -0.01769918)
+ West
+
+
+ 50
+ 17
+ true
+ (-0.06489678, 0, -0.01769918)
+ West
+ Slimy
+
+
+ 80
+ 9
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+ 10
+ 0
+ true
+ (-0.1769911, 1, 0.1828909)
+ North
+
+
+ 30
+ 0
+ true
+ (-0.2654867, 1, 0.1120945)
+ North
+
+
+ 80
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage3.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage3.xml
new file mode 100644
index 0000000..078aa81
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage3.xml
@@ -0,0 +1,138 @@
+
+
+
+ Blowjob_Initiator3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -19
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 25
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -23
+ true
+ (0.1828908, 1, 0.2123895)
+ West
+ Suck
+
+
+ 25
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 9
+ true
+ West
+
+
+ 20
+ 9
+ true
+ (-0.05309721, 0, -0.02949858)
+ West
+
+
+ 25
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.2595871, 1, 0.08849573)
+ North
+
+
+ 20
+ 0
+ false
+ (0.3480827, -2, -0.04129779)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4a.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4a.xml
new file mode 100644
index 0000000..cc2e144
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4a.xml
@@ -0,0 +1,159 @@
+
+
+
+ Blowjob_Initiator4a
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 15
+ -8
+ true
+ (-0.5486726, 0, 0.4778759)
+ East
+
+
+ 30
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 15
+ 22
+ true
+ East
+
+
+ 30
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver4a
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+ 12
+ -23
+ true
+ (0.1651919, 1, 0.1946901)
+ West
+ Slimy
+
+
+ 30
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+ Suck
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 15
+ 19
+ true
+ (-0.01179957, 0, -0.03539819)
+ West
+
+
+ 30
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0.3480827, 1, -0.04129779)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4b.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4b.xml
new file mode 100644
index 0000000..88340a4
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4b.xml
@@ -0,0 +1,160 @@
+
+
+
+ Blowjob_Initiator4b
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 15
+ -8
+ true
+ (-0.5486726, 0, 0.4778759)
+ East
+ MoanShort
+
+
+ 30
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 15
+ 14
+ true
+ East
+
+
+ 30
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver4b
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+ 12
+ -23
+ true
+ (0.1651919, 1, 0.1946901)
+ West
+ Slimy
+
+
+ 30
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+ Suck
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 15
+ 19
+ true
+ (-0.01179957, 0, -0.03539819)
+ West
+
+
+ 30
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0.3480827, 1, -0.04129779)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4c.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4c.xml
new file mode 100644
index 0000000..b759f5b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage4c.xml
@@ -0,0 +1,237 @@
+
+
+
+ Blowjob_Initiator4c
+ 120
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 100
+ -24
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Grunt
+
+
+ 120
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 20
+ 31
+ true
+ East
+
+
+ 80
+ 8
+ true
+ East
+
+
+ 120
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver4c
+ 120
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+ Suck
+
+
+ 20
+ -22
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+ 22
+ -22
+ true
+ (0.1238939, -1, 0.1828909)
+ West
+ Slimy
+
+
+ 40
+ -30
+ true
+ (0.08259596, -1, 0.1828909)
+ West
+
+
+ 60
+ -34
+ true
+ (0.08259596, -1, 0.1828909)
+ West
+
+
+ 90
+ -22
+ true
+ (0.1238939, 0, 0.1828909)
+ West
+
+
+ 92
+ -22
+ true
+ (0.1238939, 0, 0.1828909)
+ West
+
+
+ 120
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 20
+ 19
+ true
+ (0.1002955, 0, -0.01769918)
+ South
+
+
+ 22
+ 19
+ true
+ (0.1002955, 0, -0.01769918)
+ South
+
+
+ 40
+ 19
+ true
+ (-0.01179889, 0, 0.005899787)
+ South
+
+
+ 60
+ 19
+ true
+ (-0.03539803, 0, -0.005899787)
+ South
+ Slimy
+
+
+ 90
+ 19
+ true
+ (0.1002955, 0, -0.01769918)
+ South
+
+
+ 92
+ 19
+ true
+ (0.1002955, 0, -0.01769918)
+ West
+
+
+ 120
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0.3480827, 1, -0.04129779)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage5.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage5.xml
new file mode 100644
index 0000000..3b2d6ef
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage5.xml
@@ -0,0 +1,159 @@
+
+
+
+ Blowjob_Initiator5
+ 15
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Grunt
+
+
+ 9
+ -2
+ true
+ (-0.5132743, 0, 0.5191741)
+ East
+
+
+ 15
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 31
+ true
+ East
+
+
+ 7
+ 15
+ true
+ East
+
+
+ 15
+ 31
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+
+
+ Blowjob_Receiver5
+ 15
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+ Suck
+
+
+ 5
+ -23
+ true
+ (0.1592923, 1, 0.1887907)
+ West
+
+
+ 15
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 7
+ 13
+ true
+ (-0.01179889, 0, -0.04129797)
+ West
+
+
+ 15
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0.3480827, 1, -0.04129779)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6a.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6a.xml
new file mode 100644
index 0000000..7f94029
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6a.xml
@@ -0,0 +1,363 @@
+
+
+
+ Blowjob_Initiator6a
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 20
+ -7
+ true
+ (-0.6312686, 0, 0.5132743)
+ East
+ Scream
+
+
+ 27
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Cum
+
+
+ 50
+ -17
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Scream
+
+
+ 55
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Cum
+
+
+ 80
+ -16
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 85
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 120
+ -13
+ true
+ (-0.6548674, 0, 0.4778759)
+ East
+
+
+ 180
+ -8
+ true
+ (-0.6548674, 0, 0.4778759)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 15
+ 31
+ true
+ East
+
+
+ 85
+ 34
+ true
+ East
+
+
+ 120
+ 21
+ true
+ (0.005899615, 0, -0.04129797)
+ East
+
+
+ 140
+ 21
+ true
+ (-0.005899615, 0, -0.005899608)
+ East
+
+
+ 160
+ 21
+ true
+ (0, 0, -0.02359879)
+ East
+
+
+ 180
+ 14
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.5073746, -1, 0.3067846)
+ North
+
+
+ 17
+ 0
+ true
+ (0.08259596, -1, 0.6135693)
+ North
+
+
+ 25
+ 0
+ true
+ (-0.01179856, 0, 0.6076695)
+ North
+
+
+ 80
+ 0
+ true
+ (-0.01769851, 0, 0.5958703)
+ North
+
+
+ 95
+ 0
+ false
+ (0.04129865, 0, 0.5309733)
+ North
+
+
+ 120
+ 0
+ false
+ (-0.4542764, 0, 0.2300885)
+ North
+
+
+
+
+
+
+
+ Blowjob_Receiver6a
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+
+
+ 20
+ -27
+ true
+ (0.1474924, 1, 0.1828909)
+ West
+
+
+ 25
+ -31
+ true
+ (0.1061937, 1, 0.1887907)
+ West
+
+
+ 85
+ -33
+ true
+ (0.1061937, 1, 0.1887907)
+ West
+ Suck
+
+
+ 160
+ -11
+ true
+ (0.4424765, 1, 0.3008848)
+ West
+ Moan
+
+
+ 180
+ -4
+ true
+ (0.4424765, 1, 0.3008848)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 17
+ 19
+ true
+ (0.005899615, 0, -0.0117994)
+ West
+
+
+ 25
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 50
+ 19
+ true
+ (-0.07079639, 0, -0.02359879)
+ West
+
+
+ 55
+ 19
+ true
+ (-0.0471976, 0, -0.02949858)
+ West
+
+
+ 80
+ 19
+ true
+ (-0.07079639, 0, -0.02359879)
+ West
+
+
+ 85
+ 19
+ true
+ (-0.0471976, 0, -0.02949858)
+ West
+
+
+ 180
+ 11
+ true
+ (-0.0471976, 0, -0.02949858)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0.3480827, 1, -0.04129779)
+ North
+
+
+
+
+
+ Saliva
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ false
+ (0, -2, 0)
+ North
+
+
+ 85
+ -6
+ true
+ (-0.1946903, -2, -0.08849555)
+ (0.2153401, 1, 0.415929)
+ North
+
+
+ 180
+ -52
+ true
+ (-0.4601771, -2, -0.40118)
+ (0.4808269, 1, 0.59882)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6b.xml b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6b.xml
new file mode 100644
index 0000000..8cc8edb
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Blowjob/Stage6b.xml
@@ -0,0 +1,450 @@
+
+
+
+ Blowjob_Initiator6b
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 30
+ -17
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Scream
+
+
+ 40
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 50
+ -17
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Scream
+
+
+ 60
+ -20
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+
+
+ 80
+ -17
+ true
+ (-0.5309734, 0, 0.4778759)
+ East
+ Cum
+
+
+ 85
+ -21
+ true
+ (-0.5309734, 0, 0.4837757)
+ East
+ Scream
+
+
+ 110
+ -16
+ true
+ (-0.5309734, 0, 0.4837757)
+ East
+ Cum
+
+
+ 115
+ -19
+ true
+ (-0.5309734, 0, 0.4837757)
+ East
+ Grunt
+
+
+ 180
+ -15
+ true
+ (-0.5309734, 0, 0.4837757)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 15
+ 31
+ true
+ East
+
+
+ 30
+ 27
+ true
+ East
+
+
+ 40
+ 33
+ true
+ East
+
+
+ 50
+ 28
+ true
+ East
+
+
+ 60
+ 32
+ true
+ East
+
+
+ 180
+ 23
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 14
+ true
+ East
+
+
+
+
+
+ Cumshot
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 75
+ -64
+ false
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+ 80
+ -64
+ true
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+ 85
+ -64
+ false
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+ 105
+ -64
+ false
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+ 110
+ -64
+ true
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+ 115
+ -64
+ false
+ (0.1769911, 0, -0.2300885)
+ (0.333334, 1, 0.7758115)
+ North
+
+
+
+
+
+
+
+ Blowjob_Receiver6b
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (0.1238939, 1, 0.1828909)
+ West
+ Suck
+
+
+ 30
+ -15
+ true
+ (0.3362834, 1, 0.259587)
+ West
+
+
+ 70
+ -11
+ true
+ (0.353983, 1, 0.259587)
+ West
+
+
+ 110
+ -11
+ true
+ (0.3598826, 1, 0.2654868)
+ West
+ Moan
+
+
+ 180
+ -8
+ true
+ (0.3893807, 1, 0.2654868)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 30
+ 4
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 80
+ 4
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 83
+ 4
+ true
+ (-0.03539836, 0, -0.005899787)
+ West
+
+
+ 110
+ 4
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 113
+ 4
+ true
+ (-0.03539836, 0, -0.005899787)
+ West
+
+
+ 150
+ 1
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+ 180
+ 19
+ true
+ (-0.05899716, 0, -0.01769918)
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.466077, 1, -0.04129779)
+ North
+
+
+ 30
+ 0
+ true
+ (-0.1651916, 1, 0.1828909)
+ North
+
+
+ 40
+ 0
+ true
+ (-0.2477875, 1, 0.1474925)
+ North
+ Slimy
+
+
+ 50
+ 0
+ true
+ (-0.159292, 1, 0.1946901)
+ North
+
+
+ 60
+ 0
+ true
+ (-0.2477875, 1, 0.1415931)
+ North
+ Slimy
+
+
+ 70
+ 0
+ true
+ (-0.1828908, 1, 0.1769911)
+ North
+
+
+ 80
+ 0
+ true
+ (-0.2772863, 1, 0.117994)
+ North
+
+
+ 90
+ 0
+ true
+ (-0.1474927, 1, 0.2123895)
+ North
+ Slimy
+
+
+ 100
+ 0
+ true
+ (-0.2536871, 1, 0.1356933)
+ North
+
+
+ 110
+ 0
+ true
+ (-0.1710915, 1, 0.2005899)
+ North
+
+
+ 180
+ 0
+ true
+ (-0.2418879, 1, 0.1356933)
+ North
+
+
+
+
+
+ Cum
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 12
+ false
+ (-0.1120944, 1, -0.2241889)
+ (0.3392327, 1, 0.3569321)
+ North
+
+
+ 110
+ 12
+ true
+ (-0.1120944, 1, -0.2241889)
+ (0.3392327, 1, 0.3569321)
+ North
+
+
+ 150
+ 12
+ true
+ (-0.1120944, 1, -0.2241889)
+ (0.3392327, 1, 0.3569321)
+ North
+
+
+ 180
+ -5
+ true
+ (-0.1120944, 1, -0.2241889)
+ (0.3392327, 1, 0.3569321)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml
new file mode 100644
index 0000000..23b5562
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/AnimationPropDef_Cowgirl_Xray.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ RenderNodeTag_Cowgirl_Xray
+
+
+
+ AnimProp_Cowgirl_Xray
+
+ Cowgirl Xray
+ Rimworld_Animations.PawnRenderNode_GraphicVariants
+ Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants
+ RenderNodeTag_Cowgirl_Xray
+ True
+ Body
+
+ AnimationProps/CowgirlXray/XRay2-1
+ Head
+ 95
+ TexPathVariants_Cowgirl_Xray
+
+
+
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage1.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage1.xml
new file mode 100644
index 0000000..9c2e144
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage1.xml
@@ -0,0 +1,160 @@
+
+
+
+ Initiator_Cowgirl_Stage1
+ 150
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 55
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Slimy
+
+
+ 110
+ 180
+ true
+ (0, 0, -0.75)
+ South
+ Moan
+
+
+ 150
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Slimy
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 190
+ true
+ (0, 1, 0)
+ South
+
+
+ 70
+ 170
+ true
+ (0, 1, 0)
+ South
+
+
+ 150
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage1
+ 150
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 15
+ true
+ (0.2, 2, 0.5)
+ South
+
+
+ 30
+ 15
+ true
+ (0.1, 2, 0.5)
+ South
+
+
+ 110
+ 0
+ true
+ (0, 2, 0.2)
+ South
+
+
+ 150
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -15
+ true
+ South
+
+
+ 55
+ -15
+ true
+ (0, 0, -0.05)
+ South
+
+
+ 110
+ 0
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml
new file mode 100644
index 0000000..0e26035
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_1.xml
@@ -0,0 +1,132 @@
+
+
+
+ Initiator_Cowgirl_Stage2_1
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 20
+ 180
+ true
+ (0, 0, -0.65)
+ South
+ Fuck
+ Moan
+
+
+ 30
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage2_1
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 10
+ 0
+ true
+ (0, 2, 0.43)
+ South
+ Moan
+
+
+ 30
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 15
+ 0
+ true
+ (0, 0, -0.04)
+ South
+
+
+ 30
+ 0
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml
new file mode 100644
index 0000000..7ab31ad
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_2.xml
@@ -0,0 +1,132 @@
+
+
+
+ Initiator_Cowgirl_Stage2_2
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 20
+ 180
+ true
+ (0, 0, -0.65)
+ South
+ Fuck
+ Moan
+
+
+ 30
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage2_2
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 10
+ 7
+ true
+ (0, 2, 0.43)
+ South
+ Moan
+
+
+ 30
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 15
+ -7
+ true
+ (0, 0, -0.04)
+ South
+
+
+ 30
+ 0
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml
new file mode 100644
index 0000000..e1dc5ba
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage2_3.xml
@@ -0,0 +1,146 @@
+
+
+
+ Initiator_Cowgirl_Stage2_3
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 20
+ 180
+ true
+ (0, 0, -0.65)
+ South
+ Fuck
+ Moan
+
+
+ 30
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage2_3
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 10
+ 7
+ true
+ (0, 2, 0.43)
+ South
+
+
+ 15
+ -7
+ true
+ (0.03, 2, 0.43)
+ South
+ Moan
+
+
+ 30
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 10
+ -7
+ true
+ (0, 0, -0.07)
+ South
+
+
+ 15
+ 7
+ true
+ (0, 0, -0.07)
+ South
+
+
+ 30
+ 0
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml
new file mode 100644
index 0000000..b7be002
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage3_XRay.xml
@@ -0,0 +1,206 @@
+
+
+
+ Initiator_Cowgirl_Stage3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ MoanShort
+
+
+ 20
+ 180
+ true
+ (0, 0, -0.6)
+ South
+ Fuck
+
+
+ 25
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 10
+ 0
+ true
+ (0, 0, 0.03)
+ South
+
+
+ 25
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 7
+ 3
+ true
+ (0, 2, 0.43)
+ South
+
+
+ 25
+ 0
+ true
+ (0, 2, 0.23)
+ South
+ Grunt
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 20
+ 0
+ true
+ (0, 0, 0.03)
+ South
+
+
+ 25
+ 0
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Cowgirl_Xray
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+
+
+ 5
+ 0
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 1
+
+
+ 10
+ 0
+ true
+ (1, 0, 0.3)
+ (0.52, 1, 0.52)
+ North
+ 2
+
+
+ 15
+ 1
+ true
+ (1, 0, 0.3)
+ (0.52, 1, 0.52)
+ North
+ 3
+
+
+ 20
+ 2
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 2
+
+
+ 25
+ 1
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 1
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage4.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage4.xml
new file mode 100644
index 0000000..43c659d
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage4.xml
@@ -0,0 +1,254 @@
+
+
+
+ Initiator_Cowgirl_Stage4
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 60
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 70
+ 180
+ true
+ (0, 0, -0.67)
+ South
+
+
+ 75
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Cum
+ Scream
+
+
+ 125
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Cum
+
+
+ 135
+ 180
+ true
+ (0, 0, -0.67)
+ South
+
+
+ 150
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Cum
+
+
+ 200
+ 180
+ true
+ (0, 0, -0.72)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 75
+ 0
+ true
+ (0, 0, -0.02)
+ South
+
+
+ 200
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage4
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 75
+ 0
+ true
+ (0, 2, 0.26)
+ South
+ Scream
+
+
+ 85
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 135
+ 0
+ true
+ (0, 2, 0.26)
+ South
+ Scream
+
+
+ 200
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 50
+ 0
+ true
+ (0, 0, 0.02)
+ South
+
+
+ 100
+ 0
+ true
+ South
+
+
+ 150
+ 0
+ true
+ (0, 0, 0.025)
+ South
+
+
+ 200
+ 0
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Cowgirl_Xray
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 1
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 3
+
+
+ 40
+ 1
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 4
+
+
+ 105
+ 1
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 5
+
+
+ 150
+ 1
+ true
+ (1, 0, 0.3)
+ (0.5, 1, 0.5)
+ North
+ 5
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml
new file mode 100644
index 0000000..0e9e83b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/Cowgirl_Stage_1_5.xml
@@ -0,0 +1,133 @@
+
+
+
+ Initiator_Cowgirl_Stage1_5
+ 55
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 0, -0.7)
+ South
+
+
+ 30
+ 180
+ true
+ (0, 0, -0.65)
+ South
+ Slimy
+ Moan
+
+
+ 55
+ 180
+ true
+ (0, 0, -0.7)
+ South
+ Fuck
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 180
+ true
+ (0, 1, 0)
+ South
+
+
+
+
+
+
+
+ Receiver_Cowgirl_Stage1_5
+ 55
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+ 25
+ 0
+ true
+ (0, 2, 0.43)
+ South
+ Moan
+
+
+ 55
+ 0
+ true
+ (0, 2, 0.23)
+ South
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+ 30
+ 0
+ true
+ (0, 0, -0.04)
+ South
+
+
+ 55
+ 0
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml
new file mode 100644
index 0000000..c67895b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/GroupAnimation_Cowgirl.xml
@@ -0,0 +1,231 @@
+
+
+
+ GroupAnimation_Cowgirl
+ 2
+
+
+ 1
+
+
+ 1
+
+ Initiator_Cowgirl_Stage1
+ Receiver_Cowgirl_Stage1
+
+
+
+
+
+
+
+ 10
+
+
+ 1
+
+ Initiator_Cowgirl_Stage1_5
+ Receiver_Cowgirl_Stage1_5
+
+
+
+
+
+
+
+ 10
+
+ GroupAnimation_Cowgirl_Stage2_Branch1
+ GroupAnimation_Cowgirl_Stage2_Branch2
+ GroupAnimation_Cowgirl_Stage2_Branch3
+
+
+
+
+ 20
+
+
+ 1
+
+ Initiator_Cowgirl_Stage3
+ Receiver_Cowgirl_Stage3
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ Initiator_Cowgirl_Stage4
+ Receiver_Cowgirl_Stage4
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Sex_Anal
+ Sex_Vaginal
+ Sex_Footjob
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ Sex_Reverse_Anal
+ Sex_Reverse_Vaginal
+ Sex_Reverse_Footjob
+ Rape_Reverse_Anal
+ Rape_Reverse_Vaginal
+ Rape_Reverse_Footjob
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offset_Cowgirl_Bottom
+ Offset_Cowgirl_Top
+
+
+
+
+
+ GroupAnimation_Cowgirl_Stage2_Branch1
+ 2
+
+
+ 3
+
+
+ 1
+
+ Initiator_Cowgirl_Stage2_1
+ Receiver_Cowgirl_Stage2_1
+
+
+
+
+
+
+
+
+ Offset_Cowgirl_Bottom
+ Offset_Cowgirl_Top
+
+
+
+
+
+ GroupAnimation_Cowgirl_Stage2_Branch2
+ 2
+
+
+ 3
+
+
+ 1
+
+ Initiator_Cowgirl_Stage2_2
+ Receiver_Cowgirl_Stage2_2
+
+
+
+
+
+
+
+
+ Offset_Cowgirl_Bottom
+ Offset_Cowgirl_Top
+
+
+
+
+
+ GroupAnimation_Cowgirl_Stage2_Branch3
+ 2
+
+
+ 3
+
+
+ 1
+
+ Initiator_Cowgirl_Stage2_3
+ Receiver_Cowgirl_Stage2_3
+
+
+
+
+
+
+
+
+ Offset_Cowgirl_Bottom
+ Offset_Cowgirl_Top
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/OffsetDef_Cowgirl.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/OffsetDef_Cowgirl.xml
new file mode 100644
index 0000000..5a3099b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/OffsetDef_Cowgirl.xml
@@ -0,0 +1,31 @@
+
+
+
+ Offset_Cowgirl_Top
+
+
+
+ Human
+
+
+ Thin(0, 0, -0.05)
+ Female(0, 0, 0)
+ Hulk(0, 0, 0.15)
+
+
+
+
+
+ Offset_Cowgirl_Bottom
+
+
+
+ Human
+
+
+ Hulk(0, 0, -0.17)
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cowgirl/TexPathVariants_Cowgirl.xml b/1.6/Defs/GroupAnimationDefs/Cowgirl/TexPathVariants_Cowgirl.xml
new file mode 100644
index 0000000..354317e
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cowgirl/TexPathVariants_Cowgirl.xml
@@ -0,0 +1,14 @@
+
+
+
+ TexPathVariants_Cowgirl_Xray
+
+ AnimationProps/CowgirlXray/XRay2-2
+ AnimationProps/CowgirlXray/XRay2-3
+ AnimationProps/CowgirlXray/XRay2-4
+ AnimationProps/CowgirlXray/XRay2-5
+ AnimationProps/CowgirlXray/XRay2-6
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/AnimationPropDef_Saliva.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/AnimationPropDef_Saliva.xml
new file mode 100644
index 0000000..ab62d28
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/AnimationPropDef_Saliva.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ Saliva
+
+
+
+ AnimProp_Saliva
+
+ Saliva
+ Rimworld_Animations.PawnRenderNode_GraphicVariants
+ Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants
+ Saliva
+ Head
+
+ AnimationProps/Saliva/Saliva
+ Head
+ 95
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/GroupAnimation_Cunnilingus.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/GroupAnimation_Cunnilingus.xml
new file mode 100644
index 0000000..a7e6f5a
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/GroupAnimation_Cunnilingus.xml
@@ -0,0 +1,309 @@
+
+
+
+ GroupAnimation_Cunnilingus
+ 2
+
+
+ 1
+
+
+ 1
+
+ LesbianInitiator_Stage1
+ LesbianReceiver_Stage1
+
+
+
+
+
+
+
+ 10
+
+ GroupAnimation_Cunnilingus_Stage2_Branch1
+ GroupAnimation_Cunnilingus_Stage2_Branch2
+ GroupAnimation_Cunnilingus_Stage2_Branch3
+
+
+
+
+ 1
+
+
+ 1
+
+ LesbianInitiator_Stage3
+ LesbianReceiver_Stage3
+
+
+
+
+
+
+
+ 10
+
+ GroupAnimation_Cunnilingus_Stage4_Branch1
+ GroupAnimation_Cunnilingus_Stage4_Branch2
+ GroupAnimation_Cunnilingus_Stage4_Branch3
+
+
+
+
+ 20
+
+
+ 1
+
+ LesbianInitiator_Stage5
+ LesbianReceiver_Stage5
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ LesbianInitiator_Stage6
+ LesbianReceiver_Stage6
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Sex_Cunnilingus
+ Rape_Cunnilingus
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ Sex_Reverse_Cunnilingus
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage2_Branch1
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage2a
+ LesbianReceiver_Stage2a
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage2_Branch2
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage2b
+ LesbianReceiver_Stage2b
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage2_Branch3
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage2c
+ LesbianReceiver_Stage2c
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage4_Branch1
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage4a
+ LesbianReceiver_Stage4a
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage4_Branch2
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage4b
+ LesbianReceiver_Stage4b
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
+ GroupAnimation_Cunnilingus_Stage4_Branch3
+ 2
+
+
+ 3
+
+
+ 1
+
+ LesbianInitiator_Stage4c
+ LesbianReceiver_Stage4c
+
+
+
+
+
+
+
+
+ Offset_Cunnilingus_Initiator
+ Offset_Cunnilingus_Receiver
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/OffsetDef_Cunnilingus.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/OffsetDef_Cunnilingus.xml
new file mode 100644
index 0000000..2bb7b8b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/OffsetDef_Cunnilingus.xml
@@ -0,0 +1,30 @@
+
+
+
+ Offset_Cunnilingus_Initiator
+
+
+
+ Human
+
+
+ Thin(0, 0, 0)
+
+
+
+
+
+
+ Offset_Cunnilingus_Receiver
+
+
+
+ Human
+
+
+ Thin(-0.049, 0, 0.057)
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage1.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage1.xml
new file mode 100644
index 0000000..865f727
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage1.xml
@@ -0,0 +1,99 @@
+
+
+
+ LesbianInitiator_Stage1
+ 50
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -5
+ true
+ (-0.660767, -1, 0.4483777)
+ East
+
+
+ 50
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ East
+
+
+ 50
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage1
+ 50
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 100
+ true
+ (0.6135694, 0, 0.05309737)
+ West
+
+
+ 50
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -25
+ true
+ West
+
+
+ 50
+ -40
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2a.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2a.xml
new file mode 100644
index 0000000..1a12fca
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2a.xml
@@ -0,0 +1,155 @@
+
+
+
+ LesbianInitiator_Stage2a
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 40
+ 36
+ true
+ (-0.1887907, -1, 0.3008848)
+ East
+
+
+ 50
+ 29
+ true
+ (-0.1887907, -1, 0.3008848)
+ East
+
+
+ 60
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 40
+ -18
+ true
+ East
+
+
+ 50
+ 11
+ true
+ (-0.005899615, 0, -0.05899698)
+ East
+
+
+ 60
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage2a
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 15
+ 112
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+ 28
+ 104
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+ 45
+ 111
+ true
+ (0.578171, 0, 0.06489658)
+ West
+ Moan
+
+
+ 60
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -40
+ true
+ West
+
+
+ 50
+ -26
+ true
+ West
+
+
+ 60
+ -40
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2b.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2b.xml
new file mode 100644
index 0000000..035792f
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2b.xml
@@ -0,0 +1,155 @@
+
+
+
+ LesbianInitiator_Stage2b
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 40
+ 36
+ true
+ (-0.1887907, -1, 0.3008848)
+ East
+
+
+ 50
+ 29
+ true
+ (-0.1887907, -1, 0.3008848)
+ East
+
+
+ 60
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 40
+ -18
+ true
+ East
+
+
+ 50
+ 11
+ true
+ (-0.005899615, 0, -0.05899698)
+ East
+
+
+ 60
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage2b
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 15
+ 112
+ true
+ (0.578171, 0, 0.06489658)
+ West
+ Moan
+
+
+ 28
+ 104
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+ 45
+ 111
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+ 60
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -40
+ true
+ South
+
+
+ 20
+ -38
+ true
+ South
+
+
+ 60
+ -40
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2c.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2c.xml
new file mode 100644
index 0000000..d35dfea
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage2c.xml
@@ -0,0 +1,137 @@
+
+
+
+ LesbianInitiator_Stage2c
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 40
+ 36
+ true
+ (-0.2359883, -1, 0.3185842)
+ East
+ Moan
+
+
+ 60
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 40
+ -18
+ true
+ (-0.03539836, 0, -0.02949858)
+ East
+
+
+ 50
+ 11
+ true
+ (-0.005899615, 0, -0.05899698)
+ East
+
+
+ 60
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage2c
+ 60
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 15
+ 117
+ true
+ (0.5309734, 0, 0.1120945)
+ (1, 1, 0.97)
+ West
+ MoanShort
+
+
+ 60
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -40
+ true
+ West
+
+
+ 50
+ -26
+ true
+ West
+
+
+ 60
+ -40
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage3_LoopOnce.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage3_LoopOnce.xml
new file mode 100644
index 0000000..507db26
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage3_LoopOnce.xml
@@ -0,0 +1,125 @@
+
+
+
+ LesbianInitiator_Stage3
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 41
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 15
+ 33
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+ Slimy
+
+
+ 30
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage3
+ 30
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 107
+ true
+ (0.578171, 0, 0.06489658)
+ West
+
+
+ 30
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -40
+ true
+ West
+
+
+ 30
+ -12
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.6489678, -0.5, 0.259587)
+ North
+
+
+
+ 12
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4a.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4a.xml
new file mode 100644
index 0000000..899ebff
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4a.xml
@@ -0,0 +1,180 @@
+
+
+
+ LesbianInitiator_Stage4a
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 15
+ 35
+ true
+ (-0.2359883, -1, 0.2477875)
+ East
+
+
+ 25
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 10
+ -6
+ true
+ (-0.05309721, 0, -0.04129797)
+ East
+
+
+ 20
+ 5
+ true
+ (-0.0235988, 0, -0.03539819)
+ East
+
+
+ 25
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage4a
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 5
+ 117
+ true
+ (0.5073743, 0, 0.07669616)
+ West
+
+
+ 10
+ 119
+ true
+ (0.5073743, 0, 0.07669616)
+ West
+ Slimy
+ MoanShort
+
+
+ 25
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -12
+ true
+ West
+
+
+ 15
+ -8
+ true
+ (0.005899615, 0, 0.02359879)
+ West
+
+
+ 25
+ -12
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+ 10
+ 0
+ true
+ (0.2064899, -0.5, 0.60177)
+ North
+
+
+ 20
+ 0
+ true
+ (0.2477879, -0.5, 0.5545721)
+ North
+
+
+ 25
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4b.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4b.xml
new file mode 100644
index 0000000..a1a186b
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4b.xml
@@ -0,0 +1,173 @@
+
+
+
+ LesbianInitiator_Stage4b
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 15
+ 35
+ true
+ (-0.2359883, -1, 0.2477875)
+ East
+
+
+ 25
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 10
+ -6
+ true
+ (-0.05309721, 0, -0.04129797)
+ East
+
+
+ 20
+ 5
+ true
+ (-0.0235988, 0, -0.03539819)
+ East
+
+
+ 25
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage4b
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 15
+ 125
+ true
+ (0.5073743, 0, 0.07669616)
+ West
+ Slimy
+ Grunt
+
+
+ 25
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -12
+ true
+ West
+
+
+ 15
+ -26
+ true
+ (0.005899615, 0, 0.02359879)
+ West
+
+
+ 25
+ -12
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+ 10
+ 0
+ true
+ (0.2064899, -0.5, 0.60177)
+ North
+
+
+ 20
+ 0
+ true
+ (0.2477879, -0.5, 0.5545721)
+ North
+
+
+ 25
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4c.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4c.xml
new file mode 100644
index 0000000..a5362ee
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage4c.xml
@@ -0,0 +1,180 @@
+
+
+
+ LesbianInitiator_Stage4c
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 15
+ 35
+ true
+ (-0.2359883, -1, 0.2477875)
+ East
+
+
+ 25
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 10
+ -6
+ true
+ (-0.05309721, 0, -0.04129797)
+ East
+
+
+ 20
+ 5
+ true
+ (-0.0235988, 0, -0.03539819)
+ East
+
+
+ 25
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage4c
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 5
+ 117
+ true
+ (0.5073743, 0, 0.07669616)
+ West
+
+
+ 10
+ 119
+ true
+ (0.5073743, 0, 0.07669616)
+ West
+ Slimy
+ MoanShort
+
+
+ 25
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -12
+ true
+ South
+
+
+ 15
+ -8
+ true
+ (0.005899615, 0, 0.02359879)
+ South
+
+
+ 25
+ -12
+ true
+ South
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+ 10
+ 0
+ true
+ (0.2064899, -0.5, 0.60177)
+ North
+
+
+ 20
+ 0
+ true
+ (0.2477879, -0.5, 0.5545721)
+ North
+
+
+ 25
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage5.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage5.xml
new file mode 100644
index 0000000..4f739d6
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage5.xml
@@ -0,0 +1,179 @@
+
+
+
+ LesbianInitiator_Stage5
+ 20
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 32
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+ 7
+ 35
+ true
+ (-0.2123895, -1, 0.2654868)
+ East
+
+
+ 14
+ 28
+ true
+ (-0.2418879, -1, 0.2359883)
+ East
+
+
+ 20
+ 32
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 7
+ 3
+ true
+ (-0.06489678, 0, 0.02359915)
+ East
+
+
+ 14
+ 3
+ true
+ (-0.02949841, 0, -0.02359843)
+ East
+
+
+ 20
+ 3
+ true
+ East
+
+
+
+
+
+
+
+ LesbianReceiver_Stage5
+ 20
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 121
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 10
+ 114
+ true
+ (0.4896755, 0, 0.04129779)
+ West
+ Slimy
+ Grunt
+
+
+ 20
+ 121
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -12
+ true
+ West
+
+
+ 10
+ -5
+ true
+ West
+
+
+ 20
+ -12
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.2713863, -0.5, 0.6135693)
+ North
+
+
+ 8
+ 0
+ true
+ (0.2477879, -0.5, 0.6548674)
+ North
+
+
+ 15
+ 0
+ true
+ (0.2241894, -0.5, 0.6312683)
+ North
+
+
+ 20
+ 0
+ true
+ (0.2772866, -0.5, 0.6135693)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage6.xml b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage6.xml
new file mode 100644
index 0000000..03722a8
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Cunnilingus/Stage6.xml
@@ -0,0 +1,275 @@
+
+
+
+ LesbianInitiator_Stage6
+ 130
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 32
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+ 10
+ 37
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+ 15
+ 26
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+ 30
+ 35
+ true
+ (-0.2418879, -1, 0.259587)
+ East
+
+
+ 35
+ 29
+ true
+ (-0.2359883, -1, 0.2536873)
+ East
+ Moan
+
+
+ 100
+ 14
+ true
+ (-0.4011799, -1, 0.3126844)
+ East
+
+
+ 130
+ 4
+ true
+ (-0.501475, -1, 0.3362832)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 40
+ -8
+ true
+ East
+
+
+ 130
+ 0
+ true
+ East
+
+
+
+
+
+ Saliva
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -15
+ true
+ (0.1356925, -2, -0.1061947)
+ (0.3215362, 1, 0.6224177)
+ North
+
+
+ 130
+ 24
+ true
+ (0.3244829, -2, -0.2359883)
+ (0.3215362, 1, 0.6224177)
+ North
+
+
+
+
+
+
+
+ LesbianReceiver_Stage6
+ 130
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 121
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Cum
+ Scream
+
+
+ 10
+ 115
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+
+
+ 15
+ 128
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Cum
+
+
+ 30
+ 112
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+ Slimy
+ Scream
+
+
+ 35
+ 120
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+ 50
+ 113
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+ 100
+ 105
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+ 130
+ 101
+ true
+ (0.5073743, 0, 0.06489658)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -12
+ true
+ West
+
+
+ 20
+ -20
+ true
+ West
+
+
+ 40
+ -12
+ true
+ West
+
+
+ 130
+ -26
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.2772866, -0.5, 0.6135693)
+ North
+
+
+ 10
+ 0
+ true
+ (0.2890859, -0.5, 0.5663717)
+ North
+
+
+ 15
+ 0
+ true
+ (0.2182891, -0.5, 0.6666666)
+ North
+
+
+ 30
+ 0
+ true
+ (0.2831856, -0.5, 0.5781713)
+ North
+
+
+ 45
+ 0
+ true
+ (0.2064892, -0.5, 0.6430678)
+ North
+
+
+ 70
+ 0
+ false
+ (0.3303832, -0.5, 0.2654868)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/GroupAnimation_DP.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/GroupAnimation_DP.xml
new file mode 100644
index 0000000..a5bdd8e
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/GroupAnimation_DP.xml
@@ -0,0 +1,389 @@
+
+
+
+ GroupAnimation_DoublePenetration
+ 3
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage1
+ ReceiverPawn_DP_Stage1
+ InitiatorPawn2_DP_Stage1
+
+
+
+
+
+
+
+ 6
+
+ GroupAnimation_DP_Stage2_Branch1
+ GroupAnimation_DP_Stage2_Branch2
+ GroupAnimation_DP_Stage2_Branch3
+ GroupAnimation_DP_Stage2_Branch4
+
+
+
+
+ 25
+
+
+ 1
+
+ InitiatorPawn_DP_Stage3
+ ReceiverPawn_DP_Stage3
+ InitiatorPawn2_DP_Stage3
+
+
+
+
+
+
+
+ 30
+
+
+ 1
+
+ InitiatorPawn_DP_Stage4
+ ReceiverPawn_DP_Stage4
+ InitiatorPawn2_DP_Stage4
+
+
+
+
+
+
+ 1
+
+ GroupAnimation_DP_Stage5_Branch1
+ GroupAnimation_DP_Stage5_Branch2
+ GroupAnimation_DP_Stage5_Branch3
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Sex_Reverse_DoublePenetration
+ Sex_Reverse_DoublePenetrationM
+ Sex_Reverse_Anal
+ Sex_Reverse_Vaginal
+ Rape_Reverse_DoublePenetration
+ Rape_Reverse_DoublePenetrationM
+ Rape_Reverse_Anal
+ Rape_Reverse_Vaginal
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ Sex_DoublePenetration
+ Sex_DoublePenetrationM
+ Sex_Anal
+ Sex_Vaginal
+ Rape_DoublePenetration
+ Rape_DoublePenetrationM
+ Rape_Anal
+ Rape_Vaginal
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+
+
+ GroupAnimation_DP_Stage2_Branch1
+ 3
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2a
+ ReceiverPawn_DP_Stage2a
+ InitiatorPawn2_DP_Stage2a
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage2_Branch2
+ 3
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2b
+ ReceiverPawn_DP_Stage2b
+ InitiatorPawn2_DP_Stage2b
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage2_Branch3
+ 3
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2c
+ ReceiverPawn_DP_Stage2c
+ InitiatorPawn2_DP_Stage2c
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage2_Branch4
+ 3
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2a
+ ReceiverPawn_DP_Stage2a
+ InitiatorPawn2_DP_Stage2a
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2d
+ ReceiverPawn_DP_Stage2d
+ InitiatorPawn2_DP_Stage2d
+
+
+
+
+
+
+
+ 2
+
+
+ 1
+
+ InitiatorPawn_DP_Stage2b
+ ReceiverPawn_DP_Stage2b
+ InitiatorPawn2_DP_Stage2b
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage5_Branch1
+ 3
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage5a
+ ReceiverPawn_DP_Stage5a
+ InitiatorPawn2_DP_Stage5a
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage5_Branch2
+ 3
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage5b
+ ReceiverPawn_DP_Stage5b
+ InitiatorPawn2_DP_Stage5b
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+ GroupAnimation_DP_Stage5_Branch3
+ 3
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_DP_Stage5c
+ ReceiverPawn_DP_Stage5c
+ InitiatorPawn2_DP_Stage5c
+
+
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_DP_ReceiverPawn
+ Offset_Placeholder
+
+
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/OffsetDef_DP.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/OffsetDef_DP.xml
new file mode 100644
index 0000000..3a15e52
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/OffsetDef_DP.xml
@@ -0,0 +1,17 @@
+
+
+
+ Offset_DP_ReceiverPawn
+
+
+
+ Human
+
+
+ Female(0.1, 0, -0.1)
+ Thin(0, 0, -0.15)-19
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage1.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage1.xml
new file mode 100644
index 0000000..055e2f6
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage1.xml
@@ -0,0 +1,203 @@
+
+
+
+ InitiatorPawn_DP_Stage1
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -80
+ true
+ (-0.6, -1, -0.42)
+ East
+
+
+ 20
+ -82
+ true
+ (-0.6, -1, -0.42)
+ East
+
+
+ 40
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 80
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ East
+
+
+ 40
+ 10
+ true
+ East
+
+
+ 80
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage1
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -40
+ true
+ (-0.6, 0, 0.15)
+ West
+ Grunt
+
+
+ 40
+ -30
+ true
+ (-0.4, 0, 0.1)
+ West
+
+
+ 80
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 40
+ 0
+ true
+ South
+
+
+ 80
+ 0
+ true
+ South
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage1
+ 80
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -10
+ true
+ (0.25, -1, 0.2)
+ West
+
+
+ 30
+ 5
+ true
+ (0.25, -1, 0.2)
+ West
+ Fuck
+
+
+ 40
+ 25
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 80
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 40
+ -22
+ true
+ West
+
+
+ 80
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2a.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2a.xml
new file mode 100644
index 0000000..ab954dc
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2a.xml
@@ -0,0 +1,178 @@
+
+
+
+ InitiatorPawn_DP_Stage2a
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 30
+ -70
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+ Moan
+
+
+ 40
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 30
+ 0
+ true
+ East
+
+
+ 40
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage2a
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 30
+ -33
+ true
+ (-0.4, 0, 0.1)
+ West
+ MoanShort
+
+
+ 40
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage2a
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 30
+ -15
+ true
+ (0.3, -1, 0.2)
+ West
+ Fuck
+
+
+ 40
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 30
+ 0
+ true
+ West
+
+
+ 40
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2b.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2b.xml
new file mode 100644
index 0000000..60ee1e8
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2b.xml
@@ -0,0 +1,178 @@
+
+
+
+ InitiatorPawn_DP_Stage2b
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 30
+ -70
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 40
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 30
+ 0
+ true
+ East
+
+
+ 40
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage2b
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+ MoanShort
+
+
+ 30
+ -33
+ true
+ (-0.4, 0, 0.1)
+ West
+
+
+ 40
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage2b
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 30
+ -15
+ true
+ (0.3, -1, 0.2)
+ West
+ Fuck
+ Moan
+
+
+ 40
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 30
+ 0
+ true
+ West
+
+
+ 40
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2c.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2c.xml
new file mode 100644
index 0000000..fa7d8cc
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2c.xml
@@ -0,0 +1,191 @@
+
+
+
+ InitiatorPawn_DP_Stage2c
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 15
+ -70
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 20
+ -83
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 40
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 15
+ 0
+ true
+ East
+
+
+ 40
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage2c
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 20
+ -30
+ true
+ (-0.38, 0, 0.08)
+ West
+ Grunt
+
+
+ 30
+ -33
+ true
+ (-0.4, 0, 0.1)
+ West
+
+
+ 40
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ South
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage2c
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 30
+ -15
+ true
+ (0.3, -1, 0.2)
+ West
+ Fuck
+
+
+ 40
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 30
+ 0
+ true
+ West
+
+
+ 40
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2d.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2d.xml
new file mode 100644
index 0000000..2cd98f9
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage2d.xml
@@ -0,0 +1,234 @@
+
+
+
+ InitiatorPawn_DP_Stage2d
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 30
+ -70
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 40
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 30
+ 0
+ true
+ East
+
+
+ 40
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage2d
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 10
+ -33
+ true
+ (-0.48, 0, 0.12)
+ West
+
+
+ 15
+ -39
+ true
+ (-0.5743952, 0, 0.1317991)
+ West
+
+
+ 30
+ -33
+ true
+ (-0.4, 0, 0.1)
+ West
+
+
+ 40
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 15
+ 0
+ true
+ South
+ Scream
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage2d
+ 40
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+ Fuck
+
+
+ 30
+ -15
+ true
+ (0.3, -1, 0.2)
+ West
+
+
+ 40
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 30
+ 0
+ true
+ West
+
+
+ 40
+ -22
+ true
+ West
+
+
+
+
+
+ RenderNodeTag_Hand
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0.5, 1, 0)
+ North
+
+
+ 4
+ 0
+ true
+ (0, 1, -0.1)
+ North
+
+
+ 12
+ 0
+ true
+ (-0.1, 1, -0.03)
+ North
+ Slap
+
+
+ 15
+ 0
+ false
+ (-0.1, 1, -0.03)
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage3.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage3.xml
new file mode 100644
index 0000000..33eeda1
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage3.xml
@@ -0,0 +1,191 @@
+
+
+
+ InitiatorPawn_DP_Stage3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 15
+ -50
+ true
+ (-0.64, -1, -0.3)
+ East
+ Fuck
+ Moan
+
+
+ 25
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 17
+ -10
+ true
+ East
+
+
+ 25
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 6
+ -25
+ true
+ (-0.5, 0, 0.18)
+ West
+ Grunt
+
+
+ 25
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 20
+ 5
+ true
+ West
+
+
+ 25
+ 0
+ true
+ West
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage3
+ 25
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 15
+ -15
+ true
+ (0.2, -1, 0.28)
+ West
+ Fuck
+ Moan
+
+
+ 25
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 17
+ 0
+ true
+ West
+
+
+ 25
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage4.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage4.xml
new file mode 100644
index 0000000..363b6dc
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage4.xml
@@ -0,0 +1,191 @@
+
+
+
+ InitiatorPawn_DP_Stage4
+ 17
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 8
+ -60
+ true
+ (-0.64, -1, -0.4)
+ East
+ Fuck
+
+
+ 17
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+ Grunt
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 8
+ -10
+ true
+ East
+
+
+ 17
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage4
+ 17
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 12
+ -25
+ true
+ (-0.56, 0, 0.22)
+ West
+ Grunt
+
+
+ 17
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 8
+ -8
+ true
+ West
+
+
+ 17
+ 0
+ true
+ West
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage4
+ 17
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 8
+ 0
+ true
+ (0.23, -1, 0.28)
+ West
+ Fuck
+ MoanShort
+
+
+ 17
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 8
+ 0
+ true
+ West
+
+
+ 17
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5_Base.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5_Base.xml
new file mode 100644
index 0000000..9a800d4
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5_Base.xml
@@ -0,0 +1,248 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5a.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5a.xml
new file mode 100644
index 0000000..6e4937c
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5a.xml
@@ -0,0 +1,293 @@
+
+
+
+ InitiatorPawn_DP_Stage5a
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 17
+ -68
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 25
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 50
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+
+
+ 55
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 100
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+ Scream
+
+
+ 105
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 180
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 18
+ 20
+ true
+ East
+
+
+ 180
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage5a
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 18
+ -40
+ true
+ (-0.45, 0, 0.12)
+ West
+ Scream
+
+
+ 60
+ -35
+ true
+ (-0.55, 0, 0.12)
+ West
+
+
+ 80
+ -38
+ true
+ (-0.55, 0, 0.12)
+ West
+
+
+ 100
+ -40
+ true
+ (-0.55, 0, 0.12)
+ West
+ Scream
+
+
+ 180
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 60
+ 10
+ true
+ West
+
+
+ 70
+ 30
+ true
+ West
+
+
+ 180
+ 10
+ true
+ West
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage5a
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 18
+ -10
+ true
+ (0.33, -1, 0.2)
+ West
+
+
+ 23
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+ Fuck
+
+
+ 70
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+
+
+ 75
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+ 130
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+ Grunt
+
+
+ 135
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+ 180
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 17
+ -10
+ true
+ West
+
+
+ 180
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5b.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5b.xml
new file mode 100644
index 0000000..8842f17
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5b.xml
@@ -0,0 +1,281 @@
+
+
+
+ InitiatorPawn_DP_Stage5b
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 17
+ -68
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 25
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 50
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+
+
+ 55
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+ Moan
+
+
+ 100
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+
+
+ 105
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 180
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 18
+ 20
+ true
+ East
+
+
+ 180
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage5b
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 18
+ -40
+ true
+ (-0.45, 0, 0.12)
+ West
+ Scream
+
+
+ 60
+ -35
+ true
+ (-0.55, 0, 0.12)
+ West
+
+
+ 100
+ -60
+ true
+ (-0.6, 0, 0)
+ West
+ Scream
+
+
+ 180
+ -60
+ true
+ (-0.6, 0, -0.02)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 70
+ 30
+ true
+ South
+
+
+ 180
+ 10
+ true
+ South
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage5b
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 18
+ -10
+ true
+ (0.33, -1, 0.2)
+ West
+ Fuck
+
+
+ 23
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+ Grunt
+
+
+ 70
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+
+
+ 75
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+ Grunt
+
+
+ 130
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+
+
+ 135
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+ 180
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 17
+ -10
+ true
+ West
+
+
+ 180
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5c.xml b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5c.xml
new file mode 100644
index 0000000..a2a57de
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/DoublePenetration/Stage5c.xml
@@ -0,0 +1,330 @@
+
+
+
+ InitiatorPawn_DP_Stage5c
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -87
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 17
+ -68
+ true
+ (-0.6, -1, -0.37)
+ East
+ Fuck
+
+
+ 25
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 50
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+
+
+ 55
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+ Grunt
+
+
+ 100
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+ Cum
+
+
+ 105
+ -95
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+ 180
+ -90
+ true
+ (-0.6, -1, -0.37)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ East
+
+
+ 18
+ 20
+ true
+ East
+
+
+ 180
+ 10
+ true
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_DP_Stage5c
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 18
+ -40
+ true
+ (-0.45, 0, 0.12)
+ West
+
+
+ 23
+ -30
+ true
+ (-0.45, 0, 0.12)
+ West
+ Scream
+
+
+ 60
+ -35
+ true
+ (-0.5, 0, 0.12)
+ West
+ Scream
+
+
+ 65
+ -30
+ true
+ (-0.5, 0, 0.12)
+ West
+
+
+ 100
+ -35
+ true
+ (-0.5, 0, 0.12)
+ West
+
+
+ 105
+ -30
+ true
+ (-0.5, 0, 0.12)
+ West
+
+
+ 140
+ -35
+ true
+ (-0.5, 0, 0.12)
+ West
+ Scream
+
+
+ 180
+ -25
+ true
+ (-0.5, 0, 0.18)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ West
+
+
+ 30
+ 25
+ true
+ (0, 0, -0.06)
+ West
+
+
+ 90
+ 30
+ true
+ (0, 0, -0.06)
+ West
+
+
+ 105
+ 50
+ true
+ (0, 0, -0.06)
+ West
+
+
+ 160
+ 46
+ true
+ West
+
+
+ 180
+ 0
+ true
+ West
+
+
+
+
+
+
+
+ InitiatorPawn2_DP_Stage5c
+ 180
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ (0.2, -1, 0.2)
+ West
+
+
+ 18
+ -10
+ true
+ (0.33, -1, 0.2)
+ West
+ Fuck
+
+
+ 23
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+ 70
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+
+
+ 75
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+ Grunt
+
+
+ 130
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+ Cum
+
+
+ 135
+ 28
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+ 180
+ 20
+ true
+ (0.16, -1, 0.2)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -22
+ true
+ West
+
+
+ 17
+ -10
+ true
+ West
+
+
+ 180
+ -22
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/GroupAnimation_Missionary.xml b/1.6/Defs/GroupAnimationDefs/Missionary/GroupAnimation_Missionary.xml
new file mode 100644
index 0000000..a9702dd
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/GroupAnimation_Missionary.xml
@@ -0,0 +1,248 @@
+
+
+
+ GroupAnimation_Missionary
+ 2
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage1
+ ReceiverPawn_Missionary_Stage1
+
+
+
+
+
+
+
+ 5
+
+ Missionary_Stage2_Branch1
+ Missionary_Stage2_Branch2
+ Missionary_Stage2_Branch3
+
+
+
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage3
+ ReceiverPawn_Missionary_Stage3
+
+
+
+
+
+
+
+ 20
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage4
+ ReceiverPawn_Missionary_Stage4
+
+
+
+
+
+
+
+ 35
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage5
+ ReceiverPawn_Missionary_Stage5
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage6
+ ReceiverPawn_Missionary_Stage6
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Sex_Anal
+ Sex_Vaginal
+ Sex_Footjob
+ Rape_Vaginal
+ Rape_Anal
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ Sex_Reverse_Anal
+ Sex_Reverse_Vaginal
+ Sex_Reverse_Footjob
+ Rape_Reverse_Anal
+ Rape_Reverse_Vaginal
+ Rape_Reverse_Footjob
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offset_Missionary_Initiator
+ Offset_Missionary_Receiver
+
+
+
+
+
+ Missionary_Stage2_Branch1
+ 2
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage2a
+ ReceiverPawn_Missionary_Stage2a
+
+
+
+
+
+
+
+
+ Offset_Missionary_Initiator
+ Offset_Missionary_Receiver
+
+
+
+
+
+ Missionary_Stage2_Branch2
+ 2
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage2b
+ ReceiverPawn_Missionary_Stage2b
+
+
+
+
+
+
+
+
+ Offset_Missionary_Initiator
+ Offset_Missionary_Receiver
+
+
+
+
+
+ Missionary_Stage2_Branch3
+ 2
+
+
+ 3
+
+
+ 1
+
+ InitiatorPawn_Missionary_Stage2c
+ ReceiverPawn_Missionary_Stage2c
+
+
+
+
+
+
+
+
+ Offset_Missionary_Initiator
+ Offset_Missionary_Receiver
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/OffsetDef_Missionary.xml b/1.6/Defs/GroupAnimationDefs/Missionary/OffsetDef_Missionary.xml
new file mode 100644
index 0000000..0328903
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/OffsetDef_Missionary.xml
@@ -0,0 +1,32 @@
+
+
+
+ Offset_Missionary_Receiver
+
+
+
+ Human
+
+
+ Thin(-0.1, 0, 0.05)
+ Female(0, 0, 0)
+ Hulk(0.1, 0, 0.1)
+
+
+
+
+
+
+ Offset_Missionary_Initiator
+
+
+
+ Human
+
+
+ Hulk(0, 0, 0.179)
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage1.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage1.xml
new file mode 100644
index 0000000..3d76c06
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage1.xml
@@ -0,0 +1,184 @@
+
+
+
+ InitiatorPawn_Missionary_Stage1
+ 100
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (-0.85, 0, 0.5)
+ East
+
+
+ 30
+ 0
+ true
+ (-0.79, 0, 0.44)
+ East
+
+
+ 60
+ 20
+ true
+ (-0.75, 0, 0.38)
+ East
+ Fuck
+ Grunt
+
+
+ 66
+ -10
+ true
+ (-0.6, 0, 0.38)
+ East
+
+
+ 100
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ East
+
+
+ 40
+ 13
+ true
+ East
+
+
+ 100
+ 3
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ true
+ (0, -3, 0)
+ East
+
+
+ 20
+ 0
+ true
+ (0, -3, 0)
+ East
+
+
+ 60
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage1
+ 100
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 90
+ true
+ (0, -1, 0)
+ West
+
+
+ 60
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+ 66
+ 90
+ true
+ (0.1, -1, 0)
+ West
+ Grunt
+
+
+ 100
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -15
+ true
+ West
+
+
+ 60
+ -20
+ true
+ West
+
+
+ 66
+ 0
+ true
+ West
+
+
+ 100
+ -20
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage2.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2.xml
new file mode 100644
index 0000000..2d2479e
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2.xml
@@ -0,0 +1,164 @@
+
+
+
+ InitiatorPawn_Missionary_Stage2a
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+ Fuck
+
+
+ 5
+ -25
+ true
+ (-0.6, 0, 0.38)
+ East
+ Moan
+
+
+ 35
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 5
+ 20
+ true
+ East
+
+
+ 35
+ 3
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+ 5
+ 60
+ true
+ (0, -3, 0)
+ East
+
+
+ 35
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage2a
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+ 3
+ 90
+ true
+ (0.03, -1, 0)
+ West
+ Moan
+
+
+ 10
+ 88
+ true
+ (0.12, -1, 0.03)
+ West
+
+
+ 35
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ West
+
+
+ 10
+ -10
+ true
+ West
+
+
+ 35
+ -20
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage2b.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2b.xml
new file mode 100644
index 0000000..b7817a4
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2b.xml
@@ -0,0 +1,164 @@
+
+
+
+ InitiatorPawn_Missionary_Stage2b
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+ Fuck
+
+
+ 5
+ -25
+ true
+ (-0.6, 0, 0.38)
+ East
+ Moan
+
+
+ 35
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 5
+ 20
+ true
+ East
+
+
+ 35
+ 3
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+ 5
+ 60
+ true
+ (0, -3, 0)
+ East
+
+
+ 35
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage2b
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+ 3
+ 90
+ true
+ (0.03, -1, 0)
+ West
+ Moan
+
+
+ 10
+ 88
+ true
+ (0.12, -1, 0.03)
+ West
+
+
+ 35
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ South
+
+
+ 10
+ -17
+ true
+ South
+
+
+ 35
+ -20
+ true
+ South
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage2c.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2c.xml
new file mode 100644
index 0000000..b4179bf
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage2c.xml
@@ -0,0 +1,164 @@
+
+
+
+ InitiatorPawn_Missionary_Stage2c
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+ Fuck
+
+
+ 5
+ -25
+ true
+ (-0.6, 0, 0.38)
+ East
+ Moan
+
+
+ 35
+ 10
+ true
+ (-0.75, 0, 0.38)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ East
+
+
+ 5
+ 20
+ true
+ East
+
+
+ 35
+ 3
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+ 5
+ 60
+ true
+ (0, -3, 0)
+ East
+
+
+ 35
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage2c
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+ 3
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+ 10
+ 88
+ true
+ (0.12, -1, 0.03)
+ West
+ Moan
+
+
+ 35
+ 90
+ true
+ (0.03, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ North
+
+
+ 10
+ -17
+ true
+ North
+
+
+ 35
+ -20
+ true
+ North
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage3_DontLoop.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage3_DontLoop.xml
new file mode 100644
index 0000000..1bcde62
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage3_DontLoop.xml
@@ -0,0 +1,131 @@
+
+
+
+ InitiatorPawn_Missionary_Stage3
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 10
+ true
+ (-0.75, 0, 0.38)
+ (1, 1, 1)
+ East
+
+
+ 35
+ 15
+ true
+ (-0.65, 0, 0.42)
+ (1, 1, 1)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 3
+ true
+ (1, 1, 1)
+ East
+
+
+ 35
+ 20
+ true
+ (1, 1, 1)
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ (1, 1, 1)
+ (0, -3, 0)
+ East
+
+
+ 35
+ 30
+ true
+ (1, 1, 1)
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage3
+ 35
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 90
+ true
+ (0.03, -1, 0)
+ (1, 1, 1)
+ West
+
+
+ 35
+ 95
+ true
+ (0.07, -1, 0)
+ (1, 1, 1)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ (1, 1, 1)
+ West
+
+
+ 35
+ -20
+ true
+ (1, 1, 1)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage4.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage4.xml
new file mode 100644
index 0000000..b36dddf
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage4.xml
@@ -0,0 +1,143 @@
+
+
+
+ InitiatorPawn_Missionary_Stage4
+ 20
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 15
+ true
+ (-0.65, 0, 0.42)
+ East
+ Fuck
+
+
+ 5
+ 0
+ true
+ (-0.42, 0, 0.42)
+ East
+ MoanShort
+
+
+ 20
+ 15
+ true
+ (-0.65, 0, 0.42)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ East
+
+
+ 5
+ 30
+ true
+ East
+
+
+ 20
+ 20
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 35
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage4
+ 20
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 95
+ true
+ (0.07, -1, 0)
+ West
+
+
+ 5
+ 100
+ true
+ (0.2, -1, 0)
+ West
+ MoanShort
+
+
+ 20
+ 95
+ true
+ (0.07, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ West
+
+
+ 13
+ -26
+ true
+ West
+
+
+ 20
+ -20
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage5.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage5.xml
new file mode 100644
index 0000000..ac7357c
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage5.xml
@@ -0,0 +1,143 @@
+
+
+
+ InitiatorPawn_Missionary_Stage5
+ 13
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 15
+ true
+ (-0.65, 0, 0.42)
+ East
+ Fuck
+
+
+ 5
+ 0
+ true
+ (-0.45, 0, 0.42)
+ East
+ Grunt
+
+
+ 13
+ 15
+ true
+ (-0.65, 0, 0.42)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ East
+
+
+ 5
+ 40
+ true
+ East
+
+
+ 20
+ 20
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 35
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage5
+ 13
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 95
+ true
+ (0.07, -1, 0)
+ West
+
+
+ 3
+ 100
+ true
+ (0.16, -1, 0)
+ West
+ Grunt
+
+
+ 13
+ 95
+ true
+ (0.07, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ West
+
+
+ 3
+ -34
+ true
+ West
+
+
+ 13
+ -20
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/Missionary/Stage6.xml b/1.6/Defs/GroupAnimationDefs/Missionary/Stage6.xml
new file mode 100644
index 0000000..e56067a
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/Missionary/Stage6.xml
@@ -0,0 +1,211 @@
+
+
+
+ InitiatorPawn_Missionary_Stage6
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 15
+ true
+ (-0.65, 0, 0.42)
+ East
+
+
+ 13
+ -20
+ true
+ (-0.43, 0, 0.42)
+ East
+ Fuck
+ Scream
+
+
+ 80
+ -15
+ true
+ (-0.49, 0, 0.42)
+ East
+ Cum
+
+
+ 85
+ -20
+ true
+ (-0.43, 0, 0.42)
+ East
+
+
+ 150
+ -15
+ true
+ (-0.49, 0, 0.42)
+ East
+ Cum
+
+
+ 155
+ -20
+ true
+ (-0.43, 0, 0.42)
+ East
+ Scream
+
+
+ 200
+ -15
+ true
+ (-0.49, 0, 0.42)
+ East
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 20
+ true
+ East
+
+
+ 40
+ 25
+ true
+ East
+
+
+ 200
+ 30
+ true
+ East
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 30
+ true
+ (0, -3, 0)
+ East
+
+
+ 13
+ 60
+ true
+ (0, -3, 0)
+ East
+
+
+
+
+
+
+
+ ReceiverPawn_Missionary_Stage6
+ 200
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 95
+ true
+ (0.07, -1, 0)
+ West
+
+
+ 13
+ 100
+ true
+ (0.23, -1, 0)
+ West
+ Scream
+
+
+ 80
+ 100
+ true
+ (0.2, -1, 0)
+ West
+ Scream
+
+
+ 85
+ 100
+ true
+ (0.23, -1, 0)
+ West
+
+
+ 150
+ 100
+ true
+ (0.2, -1, 0)
+ West
+ Scream
+
+
+ 155
+ 100
+ true
+ (0.23, -1, 0)
+ West
+
+
+ 200
+ 100
+ true
+ (0.2, -1, 0)
+ West
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -20
+ true
+ West
+
+
+ 100
+ -10
+ true
+ West
+
+
+ 200
+ -23
+ true
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/TestAnimation/ConditionalPathExample b/1.6/Defs/GroupAnimationDefs/TestAnimation/ConditionalPathExample
new file mode 100644
index 0000000..30402af
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/TestAnimation/ConditionalPathExample
@@ -0,0 +1,25 @@
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation1.xml b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation1.xml
new file mode 100644
index 0000000..a0be981
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation1.xml
@@ -0,0 +1,135 @@
+
+
+
+ TestAnimation1
+ 400
+ False
+
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ Fuck
+ 30
+ 0
+ true
+
+
+ 100
+ 0
+ true
+
+
+ 200
+ 0
+ true
+
+
+ 300
+ 0
+ true
+
+
+
+
+
+ Body
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ North
+ true
+
+
+ 50
+ 0
+ South
+ true
+
+
+ 100
+ 30
+ East
+ true
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ North
+ true
+
+
+ 2
+ 0
+ East
+ true
+
+
+ 4
+ 0
+ South
+ true
+
+
+ 6
+ 0
+ West
+ false
+
+
+ 8
+ 0
+ North
+ false
+
+
+
+
+
+ RenderNodeTag_Xray_Inside
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 30
+ 0
+ true
+
+
+ 1
+ 100
+ 0
+ false
+
+
+ 1
+ 200
+ 0
+ true
+
+
+ 1
+ 300
+ 0
+ true
+
+
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation2.xml b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation2.xml
new file mode 100644
index 0000000..07f70d3
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation2.xml
@@ -0,0 +1,76 @@
+
+
+
+ TestAnimation2
+ 400
+ False
+ False
+
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ 0
+ South
+
+
+ 100
+ 45
+ South
+
+
+ 0
+ (-0.73, 0, -0.02)
+ 0
+ East
+
+
+ 200
+ 90
+ South
+
+
+ 300
+ 135
+ South
+
+
+
+
+
+
+
+
diff --git a/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation3.xml b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation3.xml
new file mode 100644
index 0000000..11a6623
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestAnimation3.xml
@@ -0,0 +1,133 @@
+
+
+
+ TestAnimation3
+ 400
+ False
+
+
+
+ Root
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ Fuck
+ 30
+ 90
+ East
+ true
+
+
+ 100
+ 80
+ East
+ true
+
+
+ 200
+ 90
+ East
+ true
+
+
+ 300
+ 80
+ East
+ true
+
+
+
+
+
+ Head
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ East
+ true
+
+
+
+
+
+ RenderNodeTag_Knees
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 1
+ 0
+ 0
+ true
+
+
+ 1
+ 200
+ 3
+ true
+
+
+ 1
+ 400
+ 0
+ true
+
+
+
+
+
+ RenderNodeTag_Arms
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 1
+ 0
+ 0
+ true
+
+
+
+ 1
+ 200
+ 3
+ true
+
+
+
+ 1
+ 400
+ 0
+ true
+
+
+
+
+
+
+ RimNude_Penis
+
+ Rimworld_Animations.AnimationWorker_KeyframesExtended
+
+
+ 0
+ -30
+ true
+ East
+
+
+ 400
+ -600
+ true
+ East
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/GroupAnimationDefs/TestAnimation/TestGroupAnimation1.xml b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestGroupAnimation1.xml
new file mode 100644
index 0000000..a9cd0b5
--- /dev/null
+++ b/1.6/Defs/GroupAnimationDefs/TestAnimation/TestGroupAnimation1.xml
@@ -0,0 +1,71 @@
+
+
+
+ TestGroupAnimation1
+ 2
+
+
+ 10
+
+
+ 3
+
+ TestAnimation2
+ TestAnimation2
+
+
+
+
+ 1
+
+ TestAnimation2
+ TestAnimation2
+
+
+
+
+
+
+
+
+
+
+
+ GroinToAppropriateHeight
+ GroinToAppropriateHeight
+
+
+
+
diff --git a/1.2/Defs/MainTabDefs/MainButtonDef.xml b/1.6/Defs/MainTabDefs/MainButtonDef.xml
similarity index 75%
rename from 1.2/Defs/MainTabDefs/MainButtonDef.xml
rename to 1.6/Defs/MainTabDefs/MainButtonDef.xml
index 0674d24..24be191 100644
--- a/1.2/Defs/MainTabDefs/MainButtonDef.xml
+++ b/1.6/Defs/MainTabDefs/MainButtonDef.xml
@@ -3,8 +3,8 @@
OffsetManager
-
- Control pawn offsets
+
+ Edit pawn offsets for animations.
Rimworld_Animations.MainTabWindow_OffsetConfigure
54
false
diff --git a/1.6/Defs/OffsetDefs/OffsetDef_GroinToAppropriateHeight.xml b/1.6/Defs/OffsetDefs/OffsetDef_GroinToAppropriateHeight.xml
new file mode 100644
index 0000000..60f7a54
--- /dev/null
+++ b/1.6/Defs/OffsetDefs/OffsetDef_GroinToAppropriateHeight.xml
@@ -0,0 +1,47 @@
+
+
+
+ GroinToAppropriateHeight
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/OffsetDefs/OffsetDef_Placeholder.xml b/1.6/Defs/OffsetDefs/OffsetDef_Placeholder.xml
new file mode 100644
index 0000000..4e88661
--- /dev/null
+++ b/1.6/Defs/OffsetDefs/OffsetDef_Placeholder.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ Offset_Placeholder
+
+
+
+
diff --git a/1.4/Defs/SoundDefs/Sounds_Sex.xml b/1.6/Defs/SoundDefs/Sounds_Sex.xml
similarity index 70%
rename from 1.4/Defs/SoundDefs/Sounds_Sex.xml
rename to 1.6/Defs/SoundDefs/Sounds_Sex.xml
index f05a1a8..b42fc01 100644
--- a/1.4/Defs/SoundDefs/Sounds_Sex.xml
+++ b/1.6/Defs/SoundDefs/Sounds_Sex.xml
@@ -5,8 +5,8 @@
Cum
MapOnly
- 1
- 1
+ 5
+ 5
@@ -34,8 +34,8 @@
Sex
MapOnly
- 1
- 1
+ 5
+ 5
@@ -63,8 +63,8 @@
Suck
MapOnly
- 1
- 1
+ 5
+ 5
@@ -83,21 +83,21 @@
Sex/Suck/Suck_5
-
- Sex/Suck/Suck_6
-
-
- Sex/Suck/Suck_7
-
-
- Sex/Suck/Suck_8
-
-
- Sex/Suck/Suck_9
-
-
- Sex/Suck/Suck_10
-
+
+ Sex/Suck/Suck_6
+
+
+ Sex/Suck/Suck_7
+
+
+ Sex/Suck/Suck_8
+
+
+ Sex/Suck/Suck_9
+
+
+ Sex/Suck/Suck_10
+
20
@@ -120,8 +120,8 @@
Fuck
MapOnly
- 1
- 1
+ 5
+ 5
@@ -150,10 +150,7 @@
Sex/Clap_8
-
- 45
- 70
-
+ 35~45
1.0
1.0
@@ -171,8 +168,8 @@
Slimy
MapOnly
- 1
- 1
+ 5
+ 5
@@ -209,4 +206,46 @@
+
+ Slap
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Sex/Slap/Slap_1
+
+
+ Sex/Slap/Slap_2
+
+
+ Sex/Slap/Slap_3
+
+
+ Sex/Slap/Slap_4
+
+
+ Sex/Slap/Slap_5
+
+
+
+ 75
+ 85
+
+
+ 0.8
+ 1.2
+
+
+ 0
+ 100
+
+ NeverTwice
+ false
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Arms.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Arms.xml
new file mode 100644
index 0000000..d582b7b
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Arms.xml
@@ -0,0 +1,10 @@
+
+
+
+ TexPathVariants_Arms
+
+ AnimationProps/Doggystyle/Doggy_Arms
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Cat.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Cat.xml
new file mode 100644
index 0000000..474aca4
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Cat.xml
@@ -0,0 +1,11 @@
+
+
+
+ TexPathVariants_Cat
+
+ AnimationProps/Cat/Cat1
+ AnimationProps/Cat/Cat2
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Knees.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Knees.xml
new file mode 100644
index 0000000..5f368ee
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Knees.xml
@@ -0,0 +1,10 @@
+
+
+
+ TexPathVariants_Knees
+
+ AnimationProps/Doggystyle/Doggy_Legs
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Horse.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Horse.xml
new file mode 100644
index 0000000..3b14154
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Horse.xml
@@ -0,0 +1,13 @@
+
+
+
+ TexPathVariants_XrayPenis_Horse
+
+ AnimationProps/Cat/Cat1
+
+ AnimationProps/Cat/Cat2
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Human.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Human.xml
new file mode 100644
index 0000000..235ee3e
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_XrayPenis_Human.xml
@@ -0,0 +1,13 @@
+
+
+
+ TexPathVariants_XrayPenis_Human
+
+ AnimationProps/Cat/Cat1
+
+ AnimationProps/Cat/Cat2
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Xray_Inside.xml b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Xray_Inside.xml
new file mode 100644
index 0000000..4c9f90b
--- /dev/null
+++ b/1.6/Defs/TexPathVariantsDefs/TexPathVariants_Xray_Inside.xml
@@ -0,0 +1,13 @@
+
+
+
+ TexPathVariants_Xray_Inside
+
+ AnimationProps/Cat/Cat1
+
+ AnimationProps/Cat/Cat2
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanFemale.xml b/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanFemale.xml
new file mode 100644
index 0000000..7c9cb6c
--- /dev/null
+++ b/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanFemale.xml
@@ -0,0 +1,130 @@
+
+
+
+ Moan_HumanFemale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/FVoice/Moan1
+
+
+ Voices/FVoice/Moan2
+
+
+ Voices/FVoice/Moan3
+
+
+ Voices/FVoice/Moan4
+
+
+ 40~50
+ 0.99~1.02
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ MoanShort_HumanFemale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/FVoice/MoanShort1
+
+
+ Voices/FVoice/MoanShort2
+
+
+ Voices/FVoice/MoanShort3
+
+
+ 40~50
+ 0.99~1.02
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ Grunt_HumanFemale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/FVoice/Grunt1
+
+
+ Voices/FVoice/Grunt2
+
+
+ Voices/FVoice/Grunt3
+
+
+ Voices/FVoice/Grunt4
+
+
+ Voices/FVoice/Grunt5
+
+
+ Voices/FVoice/Grunt6
+
+
+ 40~50
+ 0.99~1.02
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ Scream_HumanFemale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/FVoice/Scream1
+
+
+ Voices/FVoice/Scream2
+
+
+ Voices/FVoice/Scream3
+
+
+ Voices/FVoice/Scream4
+
+
+
+ 0.99~1.02
+ 40~50
+ 10~50
+ NeverTwice
+ false
+
+
+
+
diff --git a/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanMale.xml b/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanMale.xml
new file mode 100644
index 0000000..a9927cd
--- /dev/null
+++ b/1.6/Defs/VoiceDefs/VoiceDef_Human/SoundDef_HumanMale.xml
@@ -0,0 +1,120 @@
+
+
+
+ Moan_HumanMale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/MVoice/Moan1
+
+
+ Voices/MVoice/Moan2
+
+
+ Voices/MVoice/Moan3
+
+
+ Voices/MVoice/Moan4
+
+
+ 0.99~1.02
+ 20~25
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ MoanShort_HumanMale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/MVoice/MoanShort1
+
+
+ Voices/MVoice/MoanShort2
+
+
+ Voices/MVoice/MoanShort3
+
+
+ 0.99~1.02
+ 20~25
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ Grunt_HumanMale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/MVoice/Grunt1
+
+
+ Voices/MVoice/Grunt2
+
+
+ Voices/MVoice/Grunt3
+
+
+ Voices/MVoice/Grunt4
+
+
+ 0.99~1.02
+ 20~25
+ 10~50
+ NeverTwice
+ false
+
+
+
+
+
+ Scream_HumanMale
+ MapOnly
+
+ 5
+ 5
+
+
+
+
+ Voices/MVoice/Scream1
+
+
+ Voices/MVoice/Scream2
+
+
+ Voices/MVoice/Scream3
+
+
+ 0.99~1.02
+ 20~25
+ 10~50
+ NeverTwice
+ false
+
+
+
+
diff --git a/1.6/Defs/VoiceDefs/VoiceDef_Human/VoiceDef_Human.xml b/1.6/Defs/VoiceDefs/VoiceDef_Human/VoiceDef_Human.xml
new file mode 100644
index 0000000..eef8942
--- /dev/null
+++ b/1.6/Defs/VoiceDefs/VoiceDef_Human/VoiceDef_Human.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+ Voice_HumanFemale
+ Female
+ 60~80
+
+ MoanMoan_HumanFemale
+ MoanShortMoanShort_HumanFemale
+ GruntGrunt_HumanFemale
+ ScreamScream_HumanFemale
+
+
+
+
+ Voice_HumanMale
+ Male
+ 150~180
+
+ MoanMoan_HumanMale
+ MoanShortMoanShort_HumanMale
+ GruntGrunt_HumanMale
+ ScreamScream_HumanMale
+
+
+
+
diff --git a/1.6/Defs/VoiceDefs/VoiceDef_Orassan.xml b/1.6/Defs/VoiceDefs/VoiceDef_Orassan.xml
new file mode 100644
index 0000000..be5bec0
--- /dev/null
+++ b/1.6/Defs/VoiceDefs/VoiceDef_Orassan.xml
@@ -0,0 +1,18 @@
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Defs/VoiceDefs/VoiceTagDef.xml b/1.6/Defs/VoiceDefs/VoiceTagDef.xml
new file mode 100644
index 0000000..1bbc6f2
--- /dev/null
+++ b/1.6/Defs/VoiceDefs/VoiceTagDef.xml
@@ -0,0 +1,26 @@
+
+
+
+ Moan
+ 0.2
+
+
+
+ MoanShort
+ 0.1
+
+
+
+ Grunt
+ 0.1
+
+
+
+
+
+
+ Scream
+ 1
+
+
+
\ No newline at end of file
diff --git a/1.2/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj b/1.6/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj
similarity index 100%
rename from 1.2/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj
rename to 1.6/Patch_HatsDisplaySelection/Patch_HatsDisplaySelection.csproj
diff --git a/1.4/Patch_HumanoidAlienRaces/Assemblies/Patch_HumanoidAlienRaces.dll b/1.6/Patch_HumanoidAlienRaces/Assemblies/Patch_HumanoidAlienRaces.dll
similarity index 100%
rename from 1.4/Patch_HumanoidAlienRaces/Assemblies/Patch_HumanoidAlienRaces.dll
rename to 1.6/Patch_HumanoidAlienRaces/Assemblies/Patch_HumanoidAlienRaces.dll
diff --git a/1.4/Patch_HumanoidAlienRaces/Patch_HumanoidAlienRaces.csproj b/1.6/Patch_HumanoidAlienRaces/Patch_HumanoidAlienRaces.csproj
similarity index 100%
rename from 1.4/Patch_HumanoidAlienRaces/Patch_HumanoidAlienRaces.csproj
rename to 1.6/Patch_HumanoidAlienRaces/Patch_HumanoidAlienRaces.csproj
diff --git a/1.4/Patch_HumanoidAlienRaces/Properties/AssemblyInfo.cs b/1.6/Patch_HumanoidAlienRaces/Properties/AssemblyInfo.cs
similarity index 100%
rename from 1.4/Patch_HumanoidAlienRaces/Properties/AssemblyInfo.cs
rename to 1.6/Patch_HumanoidAlienRaces/Properties/AssemblyInfo.cs
diff --git a/1.3/Patches/AnimationPatchHSK.xml b/1.6/Patches/AnimationPatchHSK.xml
similarity index 90%
rename from 1.3/Patches/AnimationPatchHSK.xml
rename to 1.6/Patches/AnimationPatchHSK.xml
index 74038ea..e061299 100644
--- a/1.3/Patches/AnimationPatchHSK.xml
+++ b/1.6/Patches/AnimationPatchHSK.xml
@@ -21,7 +21,7 @@
Defs/ThingDef[@Name="BaseAnimalPawn" or @Name="SK_BasePawn" or @Name="BasePawnSkynet"]/comps
-
+
diff --git a/1.3/Patches/AnimationPatch_CompBodyAnimator.xml b/1.6/Patches/AnimationPatch_CompExtendedAnimator.xml
similarity index 83%
rename from 1.3/Patches/AnimationPatch_CompBodyAnimator.xml
rename to 1.6/Patches/AnimationPatch_CompExtendedAnimator.xml
index e645747..87f9f7d 100644
--- a/1.3/Patches/AnimationPatch_CompBodyAnimator.xml
+++ b/1.6/Patches/AnimationPatch_CompExtendedAnimator.xml
@@ -21,13 +21,13 @@
Defs/ThingDef[@Name="BasePawn"]/comps
-
+
Defs/AlienRace.ThingDef_AlienRace/comps
-
+
diff --git a/1.6/Patches/AnimationPatch_PawnRenderTree_OffsetSubWorker.xml b/1.6/Patches/AnimationPatch_PawnRenderTree_OffsetSubWorker.xml
new file mode 100644
index 0000000..6aa36a8
--- /dev/null
+++ b/1.6/Patches/AnimationPatch_PawnRenderTree_OffsetSubWorker.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ Always
+
+
+ /Defs/PawnRenderTreeDef/root/subworkerClasses
+ Always
+
+ /Defs/PawnRenderTreeDef/root
+
+
+
+
+
+
+
+ /Defs/PawnRenderTreeDef/root/subworkerClasses
+
+ Rimworld_Animations.PawnRenderSubWorker_ChangeOffset
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.4/Patches/CompPatches/AutoCleaner.xml b/1.6/Patches/CompPatches/AutoCleaner.xml
similarity index 87%
rename from 1.4/Patches/CompPatches/AutoCleaner.xml
rename to 1.6/Patches/CompPatches/AutoCleaner.xml
index c2ad860..c6ba2bb 100644
--- a/1.4/Patches/CompPatches/AutoCleaner.xml
+++ b/1.6/Patches/CompPatches/AutoCleaner.xml
@@ -9,7 +9,7 @@
/Defs/ThingDef[@Name="BaseBaseAutocleaner"]/comps
-
+
diff --git a/1.4/Patches/CompPatches/CombatExtended.xml b/1.6/Patches/CompPatches/CombatExtended.xml
similarity index 86%
rename from 1.4/Patches/CompPatches/CombatExtended.xml
rename to 1.6/Patches/CompPatches/CombatExtended.xml
index 7d35127..aed123b 100644
--- a/1.4/Patches/CompPatches/CombatExtended.xml
+++ b/1.6/Patches/CompPatches/CombatExtended.xml
@@ -9,7 +9,7 @@
/Defs/ThingDef[@Name="BasePawnSimple"]/comps
-
+
diff --git a/1.4/Patches/CompPatches/ZombieLand.xml b/1.6/Patches/CompPatches/ZombieLand.xml
similarity index 86%
rename from 1.4/Patches/CompPatches/ZombieLand.xml
rename to 1.6/Patches/CompPatches/ZombieLand.xml
index e950e0e..87f618c 100644
--- a/1.4/Patches/CompPatches/ZombieLand.xml
+++ b/1.6/Patches/CompPatches/ZombieLand.xml
@@ -9,7 +9,7 @@
/Defs/ThingDef[@Name="BaseZombie"]/comps
-
+
diff --git a/1.2/Patches/CompatibilityPatch_FacialAnimation.xml b/1.6/Patches/CompatibilityPatch_FacialAnimation.xml
similarity index 58%
rename from 1.2/Patches/CompatibilityPatch_FacialAnimation.xml
rename to 1.6/Patches/CompatibilityPatch_FacialAnimation.xml
index 125d79f..53e3f05 100644
--- a/1.2/Patches/CompatibilityPatch_FacialAnimation.xml
+++ b/1.6/Patches/CompatibilityPatch_FacialAnimation.xml
@@ -11,68 +11,21 @@
/Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/targetJobs
Always
- RJW_Masturbate
- GettinBred
- Bestiality
- BestialityForFemale
- ViolateCorpse
- Quickie
- GettingQuickie
- GettinRaped
- JoinInBed
- GettinLoved
- GettinLicked
- GettinSucked
- WhoreIsServingVisitors
JoinInBedAnimation
GettinLovedAnimation
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="WaitCombat" or defName="Wait_Combat_Rare"]/targetJobs
+
+ /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/animationFrames/li[1]/headOffset
Always
-
- RapeComfortPawn
- RandomRape
- RapeEnemy
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="StandAndBeSociallyActive"]/targetJobs
+
+ /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[2]/headOffset
Always
-
- WhoreInvitingVisitors
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Wear" or defName="Wear2" or defName="Wear3"]/targetJobs
+
+ /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[3]/headOffset
Always
-
- CleanSelf
- StruggleInBondageGear
-
-
-
-
- Rimworld-Animations
-
-
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin" or defName="Lovin2"]/animationFrames/li[1]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[2]/headOffset
- Always
-
-
- /Defs/FacialAnimation.FaceAnimationDef[defName="Lovin"]/animationFrames/li[3]/headOffset
- Always
-
-
-
diff --git a/1.4/Patches/CompatibilityPatch_HCSK.xml b/1.6/Patches/CompatibilityPatch_HCSK.xml
similarity index 95%
rename from 1.4/Patches/CompatibilityPatch_HCSK.xml
rename to 1.6/Patches/CompatibilityPatch_HCSK.xml
index ead8783..576a07f 100644
--- a/1.4/Patches/CompatibilityPatch_HCSK.xml
+++ b/1.6/Patches/CompatibilityPatch_HCSK.xml
@@ -22,14 +22,14 @@
/Defs/ThingDef[@Name="SK_BasePawn"]/comps
-
+
/Defs/ThingDef[@Name="BaseAnimalPawn"]/comps
-
+
diff --git a/1.6/Patches/OffsetDefPatchTemplate/AnimationPatch_OffsetDef.xml b/1.6/Patches/OffsetDefPatchTemplate/AnimationPatch_OffsetDef.xml
new file mode 100644
index 0000000..5d45225
--- /dev/null
+++ b/1.6/Patches/OffsetDefPatchTemplate/AnimationPatch_OffsetDef.xml
@@ -0,0 +1,32 @@
+
+
+
+
\ No newline at end of file
diff --git a/1.6/Patches/Patch_GenitaliaRenderNode.xml b/1.6/Patches/Patch_GenitaliaRenderNode.xml
new file mode 100644
index 0000000..553374a
--- /dev/null
+++ b/1.6/Patches/Patch_GenitaliaRenderNode.xml
@@ -0,0 +1,16 @@
+
+
+
+
diff --git a/1.2/Sounds/Sex/Clap_1.wav b/1.6/Sounds/Sex/Clap_1.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_1.wav
rename to 1.6/Sounds/Sex/Clap_1.wav
diff --git a/1.2/Sounds/Sex/Clap_2.wav b/1.6/Sounds/Sex/Clap_2.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_2.wav
rename to 1.6/Sounds/Sex/Clap_2.wav
diff --git a/1.2/Sounds/Sex/Clap_3.wav b/1.6/Sounds/Sex/Clap_3.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_3.wav
rename to 1.6/Sounds/Sex/Clap_3.wav
diff --git a/1.2/Sounds/Sex/Clap_4.wav b/1.6/Sounds/Sex/Clap_4.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_4.wav
rename to 1.6/Sounds/Sex/Clap_4.wav
diff --git a/1.2/Sounds/Sex/Clap_5.wav b/1.6/Sounds/Sex/Clap_5.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_5.wav
rename to 1.6/Sounds/Sex/Clap_5.wav
diff --git a/1.2/Sounds/Sex/Clap_6.wav b/1.6/Sounds/Sex/Clap_6.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_6.wav
rename to 1.6/Sounds/Sex/Clap_6.wav
diff --git a/1.2/Sounds/Sex/Clap_7.wav b/1.6/Sounds/Sex/Clap_7.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_7.wav
rename to 1.6/Sounds/Sex/Clap_7.wav
diff --git a/1.2/Sounds/Sex/Clap_8.wav b/1.6/Sounds/Sex/Clap_8.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Clap_8.wav
rename to 1.6/Sounds/Sex/Clap_8.wav
diff --git a/1.6/Sounds/Sex/Slap/Slap_1.wav b/1.6/Sounds/Sex/Slap/Slap_1.wav
new file mode 100644
index 0000000..3387390
Binary files /dev/null and b/1.6/Sounds/Sex/Slap/Slap_1.wav differ
diff --git a/1.6/Sounds/Sex/Slap/Slap_2.wav b/1.6/Sounds/Sex/Slap/Slap_2.wav
new file mode 100644
index 0000000..1486217
Binary files /dev/null and b/1.6/Sounds/Sex/Slap/Slap_2.wav differ
diff --git a/1.6/Sounds/Sex/Slap/Slap_3.wav b/1.6/Sounds/Sex/Slap/Slap_3.wav
new file mode 100644
index 0000000..8d476db
Binary files /dev/null and b/1.6/Sounds/Sex/Slap/Slap_3.wav differ
diff --git a/1.6/Sounds/Sex/Slap/Slap_4.wav b/1.6/Sounds/Sex/Slap/Slap_4.wav
new file mode 100644
index 0000000..c958a4c
Binary files /dev/null and b/1.6/Sounds/Sex/Slap/Slap_4.wav differ
diff --git a/1.6/Sounds/Sex/Slap/Slap_5.wav b/1.6/Sounds/Sex/Slap/Slap_5.wav
new file mode 100644
index 0000000..033b2c4
Binary files /dev/null and b/1.6/Sounds/Sex/Slap/Slap_5.wav differ
diff --git a/1.2/Sounds/Sex/Slime/Slimy1.wav b/1.6/Sounds/Sex/Slime/Slimy1.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Slime/Slimy1.wav
rename to 1.6/Sounds/Sex/Slime/Slimy1.wav
diff --git a/1.2/Sounds/Sex/Slime/Slimy2.wav b/1.6/Sounds/Sex/Slime/Slimy2.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Slime/Slimy2.wav
rename to 1.6/Sounds/Sex/Slime/Slimy2.wav
diff --git a/1.2/Sounds/Sex/Slime/Slimy3.wav b/1.6/Sounds/Sex/Slime/Slimy3.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Slime/Slimy3.wav
rename to 1.6/Sounds/Sex/Slime/Slimy3.wav
diff --git a/1.2/Sounds/Sex/Slime/Slimy4.wav b/1.6/Sounds/Sex/Slime/Slimy4.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Slime/Slimy4.wav
rename to 1.6/Sounds/Sex/Slime/Slimy4.wav
diff --git a/1.2/Sounds/Sex/Slime/Slimy5.wav b/1.6/Sounds/Sex/Slime/Slimy5.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Slime/Slimy5.wav
rename to 1.6/Sounds/Sex/Slime/Slimy5.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_1.wav b/1.6/Sounds/Sex/Suck/Suck_1.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_1.wav
rename to 1.6/Sounds/Sex/Suck/Suck_1.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_10.wav b/1.6/Sounds/Sex/Suck/Suck_10.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_10.wav
rename to 1.6/Sounds/Sex/Suck/Suck_10.wav
diff --git a/1.4/Sounds/Sex/Suck/Suck_2.wav b/1.6/Sounds/Sex/Suck/Suck_2.wav
similarity index 100%
rename from 1.4/Sounds/Sex/Suck/Suck_2.wav
rename to 1.6/Sounds/Sex/Suck/Suck_2.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_3.wav b/1.6/Sounds/Sex/Suck/Suck_3.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_3.wav
rename to 1.6/Sounds/Sex/Suck/Suck_3.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_4.wav b/1.6/Sounds/Sex/Suck/Suck_4.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_4.wav
rename to 1.6/Sounds/Sex/Suck/Suck_4.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_5.wav b/1.6/Sounds/Sex/Suck/Suck_5.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_5.wav
rename to 1.6/Sounds/Sex/Suck/Suck_5.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_6.wav b/1.6/Sounds/Sex/Suck/Suck_6.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_6.wav
rename to 1.6/Sounds/Sex/Suck/Suck_6.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_7.wav b/1.6/Sounds/Sex/Suck/Suck_7.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_7.wav
rename to 1.6/Sounds/Sex/Suck/Suck_7.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_8.wav b/1.6/Sounds/Sex/Suck/Suck_8.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_8.wav
rename to 1.6/Sounds/Sex/Suck/Suck_8.wav
diff --git a/1.2/Sounds/Sex/Suck/Suck_9.wav b/1.6/Sounds/Sex/Suck/Suck_9.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Suck_9.wav
rename to 1.6/Sounds/Sex/Suck/Suck_9.wav
diff --git a/1.2/Sounds/Sex/Suck/Swallow_1.wav b/1.6/Sounds/Sex/Suck/Swallow_1.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Swallow_1.wav
rename to 1.6/Sounds/Sex/Suck/Swallow_1.wav
diff --git a/1.2/Sounds/Sex/Suck/Swallow_2.wav b/1.6/Sounds/Sex/Suck/Swallow_2.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Swallow_2.wav
rename to 1.6/Sounds/Sex/Suck/Swallow_2.wav
diff --git a/1.2/Sounds/Sex/Suck/Swallow_3.wav b/1.6/Sounds/Sex/Suck/Swallow_3.wav
similarity index 100%
rename from 1.2/Sounds/Sex/Suck/Swallow_3.wav
rename to 1.6/Sounds/Sex/Suck/Swallow_3.wav
diff --git a/1.2/Sounds/Sex/cum.wav b/1.6/Sounds/Sex/cum.wav
similarity index 100%
rename from 1.2/Sounds/Sex/cum.wav
rename to 1.6/Sounds/Sex/cum.wav
diff --git a/1.2/Sounds/Sex/kucyu04.wav b/1.6/Sounds/Sex/kucyu04.wav
similarity index 100%
rename from 1.2/Sounds/Sex/kucyu04.wav
rename to 1.6/Sounds/Sex/kucyu04.wav
diff --git a/1.6/Sounds/Voices/FVoice/Grunt1.wav b/1.6/Sounds/Voices/FVoice/Grunt1.wav
new file mode 100644
index 0000000..3ae3ca3
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt1.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Grunt2.wav b/1.6/Sounds/Voices/FVoice/Grunt2.wav
new file mode 100644
index 0000000..496a02d
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt2.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Grunt3.wav b/1.6/Sounds/Voices/FVoice/Grunt3.wav
new file mode 100644
index 0000000..3e905dd
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt3.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Grunt4.wav b/1.6/Sounds/Voices/FVoice/Grunt4.wav
new file mode 100644
index 0000000..4586e8a
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt4.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Grunt5.wav b/1.6/Sounds/Voices/FVoice/Grunt5.wav
new file mode 100644
index 0000000..6fad8c2
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt5.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Grunt6.wav b/1.6/Sounds/Voices/FVoice/Grunt6.wav
new file mode 100644
index 0000000..e660f30
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Grunt6.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Moan1.wav b/1.6/Sounds/Voices/FVoice/Moan1.wav
new file mode 100644
index 0000000..14d19bc
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Moan1.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Moan2.wav b/1.6/Sounds/Voices/FVoice/Moan2.wav
new file mode 100644
index 0000000..7aba4b5
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Moan2.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Moan3.wav b/1.6/Sounds/Voices/FVoice/Moan3.wav
new file mode 100644
index 0000000..d3fbf99
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Moan3.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Moan4.wav b/1.6/Sounds/Voices/FVoice/Moan4.wav
new file mode 100644
index 0000000..cfe3606
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Moan4.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/MoanShort1.wav b/1.6/Sounds/Voices/FVoice/MoanShort1.wav
new file mode 100644
index 0000000..48eea21
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/MoanShort1.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/MoanShort2.wav b/1.6/Sounds/Voices/FVoice/MoanShort2.wav
new file mode 100644
index 0000000..4e3b5b8
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/MoanShort2.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/MoanShort3.wav b/1.6/Sounds/Voices/FVoice/MoanShort3.wav
new file mode 100644
index 0000000..bcd4b49
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/MoanShort3.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Scream1.wav b/1.6/Sounds/Voices/FVoice/Scream1.wav
new file mode 100644
index 0000000..58ddb69
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Scream1.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Scream2.wav b/1.6/Sounds/Voices/FVoice/Scream2.wav
new file mode 100644
index 0000000..75bbd9b
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Scream2.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Scream3.wav b/1.6/Sounds/Voices/FVoice/Scream3.wav
new file mode 100644
index 0000000..251126d
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Scream3.wav differ
diff --git a/1.6/Sounds/Voices/FVoice/Scream4.wav b/1.6/Sounds/Voices/FVoice/Scream4.wav
new file mode 100644
index 0000000..bd7ca69
Binary files /dev/null and b/1.6/Sounds/Voices/FVoice/Scream4.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Grunt1.wav b/1.6/Sounds/Voices/MVoice/Grunt1.wav
new file mode 100644
index 0000000..d73ca08
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Grunt1.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Grunt2.wav b/1.6/Sounds/Voices/MVoice/Grunt2.wav
new file mode 100644
index 0000000..8307871
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Grunt2.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Grunt3.wav b/1.6/Sounds/Voices/MVoice/Grunt3.wav
new file mode 100644
index 0000000..9cf9162
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Grunt3.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Grunt4.wav b/1.6/Sounds/Voices/MVoice/Grunt4.wav
new file mode 100644
index 0000000..c8b7efa
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Grunt4.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Moan1.wav b/1.6/Sounds/Voices/MVoice/Moan1.wav
new file mode 100644
index 0000000..eafc035
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Moan1.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Moan2.wav b/1.6/Sounds/Voices/MVoice/Moan2.wav
new file mode 100644
index 0000000..636b445
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Moan2.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Moan3.wav b/1.6/Sounds/Voices/MVoice/Moan3.wav
new file mode 100644
index 0000000..b47f6c3
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Moan3.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Moan4.wav b/1.6/Sounds/Voices/MVoice/Moan4.wav
new file mode 100644
index 0000000..dc92d64
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Moan4.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/MoanShort1.wav b/1.6/Sounds/Voices/MVoice/MoanShort1.wav
new file mode 100644
index 0000000..9bf94e4
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/MoanShort1.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/MoanShort2.wav b/1.6/Sounds/Voices/MVoice/MoanShort2.wav
new file mode 100644
index 0000000..481ca2d
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/MoanShort2.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/MoanShort3.wav b/1.6/Sounds/Voices/MVoice/MoanShort3.wav
new file mode 100644
index 0000000..34d5ee1
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/MoanShort3.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Scream1.wav b/1.6/Sounds/Voices/MVoice/Scream1.wav
new file mode 100644
index 0000000..2d987a0
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Scream1.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Scream2.wav b/1.6/Sounds/Voices/MVoice/Scream2.wav
new file mode 100644
index 0000000..b71293b
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Scream2.wav differ
diff --git a/1.6/Sounds/Voices/MVoice/Scream3.wav b/1.6/Sounds/Voices/MVoice/Scream3.wav
new file mode 100644
index 0000000..f7b73c3
Binary files /dev/null and b/1.6/Sounds/Voices/MVoice/Scream3.wav differ
diff --git a/1.3/Source/Actors/Actor.cs b/1.6/Source/Actors/Actor.cs
similarity index 100%
rename from 1.3/Source/Actors/Actor.cs
rename to 1.6/Source/Actors/Actor.cs
diff --git a/1.3/Source/Actors/AlienRaceOffset.cs b/1.6/Source/Actors/AlienRaceOffset.cs
similarity index 100%
rename from 1.3/Source/Actors/AlienRaceOffset.cs
rename to 1.6/Source/Actors/AlienRaceOffset.cs
diff --git a/1.6/Source/Animations/AnimationOffsets/AnimationOffsetDef.cs b/1.6/Source/Animations/AnimationOffsets/AnimationOffsetDef.cs
new file mode 100644
index 0000000..03cdc8d
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/AnimationOffsetDef.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffsetDef : Def
+ {
+
+ public List offsets;
+
+ public bool FindOffset(Pawn pawn, out BaseAnimationOffset offset)
+ {
+ foreach (BaseAnimationOffset animOffset in offsets)
+ {
+ if (animOffset.appliesToPawn(pawn)) {
+
+ offset = animOffset;
+ return true;
+
+ }
+ }
+
+ offset = null;
+ return false;
+ }
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRange.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRange.cs
new file mode 100644
index 0000000..8427c16
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRange.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_AgeRange : BaseAnimationOffset
+ {
+ public List offsets;
+
+ public override Vector3? getOffset(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.offset
+
+ //if outside of range, and less than the smallest element, use smallest element offset; else use largest element offset
+ ?? (pawn.ageTracker.AgeBiologicalYears < offsets.First().ageRange.min ? offsets.First().offset : offsets.Last().offset);
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.rotation
+ ?? (pawn.ageTracker.AgeBiologicalYears < offsets.First().ageRange.min ? offsets.First().rotation : offsets.Last().rotation);
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.scale
+ ?? (pawn.ageTracker.AgeBiologicalYears < offsets.First().ageRange.min ? offsets.First().scale : offsets.Last().scale);
+ }
+
+ public override bool appliesToPawn(Pawn pawn)
+ {
+ if (!base.appliesToPawn(pawn)) return false;
+ return offsets.Any(x => x.bodyType == pawn.story.bodyType);
+
+ }
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRangeGendered.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRangeGendered.cs
new file mode 100644
index 0000000..b5a5532
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_AgeRangeGendered.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_AgeRangeGendered : BaseAnimationOffset
+ {
+ public List offsetsMale;
+ public List offsetsFemale;
+
+ public override Vector3? getOffset(Pawn pawn)
+ {
+ List pawnOffsets = (pawn.gender == Gender.Male ? offsetsMale : offsetsFemale);
+ return pawnOffsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.offset
+ ?? (pawn.ageTracker.AgeBiologicalYears < pawnOffsets.First().ageRange.min ? pawnOffsets.First().offset : pawnOffsets.Last().offset);
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+ List pawnOffsets = (pawn.gender == Gender.Male ? offsetsMale : offsetsFemale);
+ return pawnOffsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.rotation
+ ?? (pawn.ageTracker.AgeBiologicalYears < pawnOffsets.First().ageRange.min ? pawnOffsets.First().rotation : pawnOffsets.Last().rotation);
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+ List pawnOffsets = (pawn.gender == Gender.Male ? offsetsMale : offsetsFemale);
+ return pawnOffsets.Find(x => x.bodyType == pawn.story.bodyType && x.ageRange.Includes(pawn.ageTracker.AgeBiologicalYears))?.scale
+ ?? (pawn.ageTracker.AgeBiologicalYears < pawnOffsets.First().ageRange.min ? pawnOffsets.First().scale : pawnOffsets.Last().scale);
+ }
+
+ public override bool appliesToPawn(Pawn pawn)
+ {
+ if (!base.appliesToPawn(pawn)) return false;
+
+ List pawnOffsets = (pawn.gender == Gender.Male ? offsetsMale : offsetsFemale);
+ return pawnOffsets.Any(x => x.bodyType == pawn.story.bodyType);
+
+ }
+ }
+
+ public class BodyTypeOffset_AgeRange : BodyTypeOffset
+ {
+ public FloatRange ageRange;
+
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyType.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyType.cs
new file mode 100644
index 0000000..06f19ee
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyType.cs
@@ -0,0 +1,45 @@
+using RimWorld;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_BodyType : BaseAnimationOffset
+ {
+
+ public List offsets;
+
+ public override Vector3? getOffset(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType)?.offset;
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType)?.rotation;
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType)?.scale;
+ }
+
+ public override bool appliesToPawn(Pawn pawn)
+ {
+
+ if (!base.appliesToPawn(pawn)) return false;
+
+ return offsets.Any(x => x.bodyType == pawn.story.bodyType);
+
+
+ }
+
+
+ }
+
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyTypeGendered.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyTypeGendered.cs
new file mode 100644
index 0000000..c2716dc
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_BodyTypeGendered.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Unity.Collections;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_BodyTypeGendered : BaseAnimationOffset
+ {
+
+ public List offsetsMale;
+ public List offsetsFemale;
+
+ public override Vector3? getOffset(Pawn pawn)
+ {
+ if (pawn.gender == Gender.Female)
+ {
+ return offsetsFemale.Find(x => x.bodyType == pawn.story.bodyType)?.offset;
+ }
+ else
+ {
+ return offsetsMale.Find(x => x.bodyType == pawn.story.bodyType)?.offset;
+ }
+
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+
+ if (pawn.gender == Gender.Female)
+ {
+ return offsetsFemale.Find(x => x.bodyType == pawn.story.bodyType)?.rotation;
+ }
+ else
+ {
+ return offsetsMale.Find(x => x.bodyType == pawn.story.bodyType)?.rotation;
+ }
+
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+
+ if (pawn.gender == Gender.Female)
+ {
+ return offsetsFemale.Find(x => x.bodyType == pawn.story.bodyType)?.scale;
+ }
+ else
+ {
+ return offsetsMale.Find(x => x.bodyType == pawn.story.bodyType)?.scale;
+ }
+
+ }
+
+ public override bool appliesToPawn(Pawn pawn)
+ {
+
+ if (!base.appliesToPawn(pawn)) return false;
+
+ return offsetsFemale.Any(x => x.bodyType == pawn.story.bodyType) || offsetsMale.Any(x => x.bodyType == pawn.story.bodyType);
+
+
+ }
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Genes.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Genes.cs
new file mode 100644
index 0000000..061cf39
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Genes.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_Genes : BaseAnimationOffset
+ {
+ public List offsets;
+ public override Vector3? getOffset(Pawn pawn)
+ {
+
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && pawn.genes.GenesListForReading.ContainsAny(gene => gene.def == x.geneDef))?.offset ?? offsets.Last().offset;
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && pawn.genes.GenesListForReading.ContainsAny(gene => gene.def == x.geneDef))?.rotation ?? offsets.Last().rotation;
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+ return offsets.Find(x => x.bodyType == pawn.story.bodyType && pawn.genes.GenesListForReading.ContainsAny(gene => gene.def == x.geneDef))?.scale ?? offsets.Last().scale;
+ }
+
+ public override bool appliesToPawn(Pawn pawn)
+ {
+ if (!base.appliesToPawn(pawn)) return false;
+ return offsets.Any(x => x.bodyType == pawn.story.bodyType && pawn.genes.GenesListForReading.ContainsAny(gene => gene.def == x.geneDef));
+
+ }
+ }
+
+ public class BodyTypeOffset_Genes : BodyTypeOffset
+ {
+ public GeneDef geneDef;
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Single.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Single.cs
new file mode 100644
index 0000000..a728834
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/AnimationOffset_Single.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationOffset_Single : BaseAnimationOffset
+ {
+
+ public Vector3 offset;
+ public int? rotation;
+ public Vector3? scale = Vector3.one;
+
+ public override Vector3? getOffset(Pawn pawn)
+ {
+ return offset;
+ }
+
+ public override int? getRotation(Pawn pawn)
+ {
+ return rotation;
+ }
+
+ public override Vector3? getScale(Pawn pawn)
+ {
+ return scale;
+ }
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/BaseAnimationOffset.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/BaseAnimationOffset.cs
new file mode 100644
index 0000000..e5d2243
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/BaseAnimationOffset.cs
@@ -0,0 +1,29 @@
+using RimWorld;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public abstract class BaseAnimationOffset
+ {
+ public List races;
+
+ public abstract Vector3? getOffset(Pawn pawn);
+
+ public abstract int? getRotation(Pawn pawn);
+
+ public abstract Vector3? getScale(Pawn pawn);
+
+ public virtual bool appliesToPawn(Pawn pawn)
+ {
+ return races.Contains(pawn.def);
+
+ }
+
+ }
+}
diff --git a/1.6/Source/Animations/AnimationOffsets/Offsets/BodyTypeOffset.cs b/1.6/Source/Animations/AnimationOffsets/Offsets/BodyTypeOffset.cs
new file mode 100644
index 0000000..b441262
--- /dev/null
+++ b/1.6/Source/Animations/AnimationOffsets/Offsets/BodyTypeOffset.cs
@@ -0,0 +1,19 @@
+using RimWorld;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+
+namespace Rimworld_Animations
+{
+
+ public class BodyTypeOffset
+ {
+ public BodyTypeDef bodyType;
+ public int rotation = 0;
+ public Vector3 offset;
+ public Vector3 scale = Vector3.one;
+ }
+}
diff --git a/1.6/Source/Animations/AnimationProps/AnimationPropDef.cs b/1.6/Source/Animations/AnimationProps/AnimationPropDef.cs
new file mode 100644
index 0000000..2a1f501
--- /dev/null
+++ b/1.6/Source/Animations/AnimationProps/AnimationPropDef.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationPropDef : Def
+ {
+
+ //if this feature is good, maybe expand
+ //to having a list of Alternative props maybe?
+ public List alternateProps;
+ public PawnRenderNodeProperties animPropProperties;
+
+ public virtual PawnRenderNodeProperties GetPawnRenderNodeProperties(Pawn pawn)
+ {
+ if (!alternateProps.NullOrEmpty())
+ {
+ foreach (AlternateAnimationProp animProp in alternateProps)
+ {
+ //if there are special props you want to use for a specific race,
+ if (animProp.test.PawnTest(pawn))
+ {
+ //use it
+ return animProp.props;
+ }
+
+ }
+ }
+
+ //otherwise just stick with defaults
+ return animPropProperties;
+ }
+
+
+ }
+
+ public class AlternateAnimationProp
+ {
+ public BasePawnTest test;
+ public PawnRenderNodeProperties props;
+
+ }
+}
diff --git a/1.6/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs b/1.6/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs
new file mode 100644
index 0000000..dd8f4a1
--- /dev/null
+++ b/1.6/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs
@@ -0,0 +1,229 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class AnimationWorker_KeyframesExtended : AnimationWorker_Keyframes
+ {
+
+ public override bool Enabled(AnimationDef def, PawnRenderNode node, AnimationPart part, PawnDrawParms parms)
+ {
+ return true;
+ }
+
+ /*
+ public override Vector3 OffsetAtTick(int tick, PawnDrawParms parms)
+ {
+ //Todo: Use this for bodyoffsets
+ //or maybe make a rendersubworker for it instead
+ return base.OffsetAtTick(tick, parms);
+ }
+
+ //don't need for anims
+
+ */
+
+ public VoiceTagDef voiceAtTick(int tick, AnimationDef def, PawnRenderNode node)
+ {
+
+ KeyframeAnimationPart keyframeAnimationPart = def.keyframeParts[node.Props.tagDef];
+
+ foreach (Verse.Keyframe keyframe in keyframeAnimationPart.keyframes)
+ {
+ if (tick == keyframe.tick)
+ {
+ VoiceTagDef voiceTag = (keyframe as ExtendedKeyframe).voice;
+
+ //probability checking null fix
+ if (voiceTag != null && Rand.Chance(voiceTag.probability))
+ {
+
+ return voiceTag;
+
+ }
+
+ return null;
+ }
+
+ }
+
+ return null;
+
+ }
+
+ public SoundDef soundAtTick(int tick, AnimationDef def, PawnRenderNode node)
+ {
+ KeyframeAnimationPart keyframeAnimationPart = def.keyframeParts[node.Props.tagDef];
+
+
+ //Verse.Keyframe keyframe = this.part.keyframes[0];
+ Verse.Keyframe keyframe2 = keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1];
+ foreach (Verse.Keyframe keyframe in keyframeAnimationPart.keyframes)
+ {
+ if (tick == keyframe.tick)
+ {
+ return (keyframe as ExtendedKeyframe).sound;
+ }
+
+ }
+
+ return null;
+ }
+
+
+
+ //use extendedkeyframes to determine addon facing
+ public Rot4 facingAtTick(int tick, AnimationDef def, PawnRenderNode node)
+ {
+
+ KeyframeAnimationPart keyframeAnimationPart = def.keyframeParts[node.Props.tagDef];
+
+ //if ticks are < first keyframe tick, just be stuck to first keyframe rot
+ if (tick <= keyframeAnimationPart.keyframes[0].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[0] as ExtendedKeyframe).rotation;
+
+ }
+
+ //if ticks are > last keyframe tick, just be stuck to last keyframe rot
+ if (tick >= keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1] as ExtendedKeyframe).rotation;
+
+ }
+ Verse.Keyframe keyframe = keyframeAnimationPart.keyframes[0];
+ Verse.Keyframe keyframe2 = keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1];
+ int i = 0;
+ while (i < keyframeAnimationPart.keyframes.Count)
+ {
+ if (tick <= keyframeAnimationPart.keyframes[i].tick)
+ {
+ keyframe2 = keyframeAnimationPart.keyframes[i];
+ if (i > 0)
+ {
+ keyframe = keyframeAnimationPart.keyframes[i - 1];
+ break;
+ }
+ break;
+ }
+ else
+ {
+ i++;
+ }
+ }
+
+ return (keyframe as ExtendedKeyframe).rotation;
+
+ }
+ public bool visibleAtTick(int tick, AnimationDef def, PawnRenderNode node)
+ {
+ KeyframeAnimationPart keyframeAnimationPart = def.keyframeParts[node.Props.tagDef];
+
+ //if ticks are < first keyframe tick, just be stuck to first keyframe rot
+ if (tick <= keyframeAnimationPart.keyframes[0].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[0] as ExtendedKeyframe).visible;
+
+ }
+
+ //if ticks are > last keyframe tick, just be stuck to last keyframe rot
+ if (tick >= keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1] as ExtendedKeyframe).visible;
+
+ }
+
+ Verse.Keyframe keyframe = keyframeAnimationPart.keyframes[0];
+ Verse.Keyframe keyframe2 = keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1];
+
+ int i = 0;
+ while (i < keyframeAnimationPart.keyframes.Count)
+ {
+ if (tick <= keyframeAnimationPart.keyframes[i].tick)
+ {
+ keyframe2 = keyframeAnimationPart.keyframes[i];
+ if (i > 0)
+ {
+ keyframe = keyframeAnimationPart.keyframes[i - 1];
+ break;
+ }
+ break;
+ }
+ else
+ {
+ i++;
+ }
+ }
+
+ return (keyframe as ExtendedKeyframe).visible;
+
+
+ }
+
+ public virtual bool shouldRecache(int tick, AnimationDef def, PawnRenderNode node)
+ {
+ if (facingAtTick(tick, def, node) != facingAtTick(tick - 1, def, node)
+ || visibleAtTick(tick, def, node) != visibleAtTick(tick - 1, def, node)
+ || TexPathVariantAtTick(tick, def, node) != TexPathVariantAtTick(tick - 1, def, node))
+ {
+ return true;
+ }
+
+ return true;
+ }
+
+ public int? TexPathVariantAtTick(int tick, AnimationDef def, PawnRenderNode node)
+ {
+
+ KeyframeAnimationPart keyframeAnimationPart = def.keyframeParts[node.Props.tagDef];
+
+ //if ticks are < first keyframe tick, just be stuck to first keyframe rot
+ if (tick <= keyframeAnimationPart.keyframes[0].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[0] as ExtendedKeyframe).variant;
+
+ }
+
+ //if ticks are > last keyframe tick, just be stuck to last keyframe rot
+ if (tick >= keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1].tick)
+ {
+
+ return (keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1] as ExtendedKeyframe).variant;
+
+ }
+ Verse.Keyframe keyframe = keyframeAnimationPart.keyframes[0];
+ Verse.Keyframe keyframe2 = keyframeAnimationPart.keyframes[keyframeAnimationPart.keyframes.Count - 1];
+ int i = 0;
+ while (i < keyframeAnimationPart.keyframes.Count)
+ {
+ if (tick <= keyframeAnimationPart.keyframes[i].tick)
+ {
+ keyframe2 = keyframeAnimationPart.keyframes[i];
+ if (i > 0)
+ {
+ keyframe = keyframeAnimationPart.keyframes[i - 1];
+ break;
+ }
+ break;
+ }
+ else
+ {
+ i++;
+ }
+ }
+
+ return (keyframe as ExtendedKeyframe).variant;
+
+ }
+ }
+}
diff --git a/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs b/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs
new file mode 100644
index 0000000..de5ddc3
--- /dev/null
+++ b/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public abstract class BaseGroupAnimationContext
+ {
+ public int actorShift = 0;
+ public int priority = 0;
+
+ public List whitelist;
+ public List blacklist;
+
+ public virtual bool CanAnimationBeUsed(List actors, int numActors)
+ {
+
+ if (numActors != actors.Count)
+ {
+ return false;
+ }
+
+ if (!whitelist.NullOrEmpty())
+ {
+ for (int i = 0; i < whitelist.Count; i++)
+ {
+ // check whitelist to make sure pawn can be in this act
+ //for each whitelist item, pawntest must hold true for that pawn
+ if (!whitelist[i].PawnTest(actors[i]))
+ {
+ return false;
+ }
+
+ }
+ }
+
+ if (!blacklist.NullOrEmpty())
+ {
+ for (int i = 0; i < blacklist.Count; i++)
+ {
+ // check blacklist to make sure pawn can be in this act
+ // for each blacklist item, pawntest must hold false for that pawn
+ if (blacklist[i].PawnTest(actors[i]))
+ {
+ return false;
+ }
+
+ }
+ }
+
+ return true;
+ }
+ public virtual int AnimationReorder()
+ {
+ return actorShift;
+ }
+ public virtual int AnimationPriority()
+ {
+ return priority;
+ }
+ public abstract string DebugMessage();
+
+ //cool class for designating contexts for animations
+ // configure CanAnimationBeUsed to test whether it can be used
+ }
+}
diff --git a/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext.cs b/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext.cs
new file mode 100644
index 0000000..74d91da
--- /dev/null
+++ b/1.6/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext.cs
@@ -0,0 +1,188 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Verse;
+
+namespace Rimworld_Animations
+{
+ public class GroupAnimationContext
+ {
+ public int priority = 0;
+
+ public List whitelist;
+ public List blacklist;
+
+ /*
+ public virtual bool CanAnimationBeUsed(List actors)
+ {
+
+ if (!whitelist.NullOrEmpty())
+ {
+ for (int i = 0; i < whitelist.Count; i++)
+ {
+ // check whitelist to make sure pawn can be in this act
+ //for each whitelist item, pawntest must hold true for that pawn
+ if (!whitelist[i].PawnTest(actors[i]))
+ {
+ return false;
+ }
+
+ }
+ }
+
+ if (!blacklist.NullOrEmpty())
+ {
+ for (int i = 0; i < blacklist.Count; i++)
+ {
+ // check blacklist to make sure pawn can be in this act
+ // for each blacklist item, pawntest must hold false for that pawn
+ if (blacklist[i].PawnTest(actors[i]))
+ {
+ return false;
+ }
+
+ }
+ }
+
+ return true;
+ }
+ */
+
+ /*
+
+ public List FindWorkingPermutation(List pawns, int index = 0)
+ {
+ //can't play anim for empty list of pawns
+ if (pawns.Count == 0) return null;
+
+ //pawns list doesn't match number in whitelist
+ if (index == 0 && pawns.Count != whitelist.Count) return null;
+
+ //if list only has one pawn and it works for that index, return it
+ if (pawns.Count == 1)
+ {
+ return CanAnimationBeUsedFor(pawns[0], index) ? pawns : null;
+ }
+
+ for (int i = 0; i < pawns.Count; i++)
+ {
+ if (CanAnimationBeUsedFor(pawns[i], index))
+ {
+ //remove the pawn that we know works for that context
+ List smallerSubset = pawns.Where((item, idx) => idx != i).ToList();
+
+ //try to find a working subset for the next indices
+ List newWorkingSubset = FindWorkingPermutation(smallerSubset, index + 1);
+
+ if (newWorkingSubset != null)
+ {
+ newWorkingSubset.Insert(0, pawns[i]);
+ return newWorkingSubset;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ */
+
+ public List FindAnyWorkingSet(List actors)
+ {
+ if (actors.Count != whitelist.Count) return null;
+
+ int numActors = actors.Count;
+
+ Dictionary> validPawnContexts = new Dictionary>();
+
+ for (int i = 0; i < numActors; i++)
+ {
+ validPawnContexts[i] = new List