diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll
index 8e79dcf..d531c03 100644
Binary files a/1.5/Assemblies/Rimworld-Animations.dll and b/1.5/Assemblies/Rimworld-Animations.dll differ
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml
new file mode 100644
index 0000000..85c9ded
--- /dev/null
+++ b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/GroupAnimation_DogBeast.xml
@@ -0,0 +1,190 @@
+
+
+
+ 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
+ 1
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Whitefox
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+
+
+ Bestiality_Vaginal
+ Bestiality_Anal
+ Bestiality_Double_Penetration_M
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ Wolf_Timber
+ Wolf_Arctic
+ Warg
+ Husky
+ LabradorRetriever
+
+
+
+
+
+
+ Bestiality_Reverse_Vaginal
+ Bestiality_Reverse_Anal
+ Bestiality_Reverse_Double_Penetration_M
+
+
+
+
+
+
+ Offset_Placeholder
+ Offset_Placeholder
+
+
+
+
+
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage1.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage1.xml
new file mode 100644
index 0000000..f20a9ad
--- /dev/null
+++ b/1.5/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.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage2.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage2.xml
new file mode 100644
index 0000000..642d71f
--- /dev/null
+++ b/1.5/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.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant1.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant1.xml
new file mode 100644
index 0000000..405ea72
--- /dev/null
+++ b/1.5/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.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant2_FollowupWithVariant1.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant2_FollowupWithVariant1.xml
new file mode 100644
index 0000000..12bb44a
--- /dev/null
+++ b/1.5/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.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant3.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage3_Variant3.xml
new file mode 100644
index 0000000..c760fb2
--- /dev/null
+++ b/1.5/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.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage4.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage4.xml
new file mode 100644
index 0000000..c58f5e8
--- /dev/null
+++ b/1.5/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.536873, -2, 0.01179957)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant1.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant1.xml
new file mode 100644
index 0000000..d8b0d4c
--- /dev/null
+++ b/1.5/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.536873, -2, 0.01179957)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant2.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant2.xml
new file mode 100644
index 0000000..c28510d
--- /dev/null
+++ b/1.5/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.536873, -2, 0.01179957)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant3.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage5_Variant3.xml
new file mode 100644
index 0000000..0b5a595
--- /dev/null
+++ b/1.5/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.536873, -2, 0.01179957)
+ West
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage6.xml b/1.5/Defs/GroupAnimationDefs/Beast/DogBeast/Stage6.xml
new file mode 100644
index 0000000..415a908
--- /dev/null
+++ b/1.5/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.536873, -2, 0.01179957)
+ West
+
+
+ 160
+ 5
+ true
+ (-0.536873, -2, 0.01179957)
+ West
+ Slimy
+
+
+ 165
+ -39
+ true
+ (-0.6135694, -2, -0.2831857)
+ 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.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_LoopRandomSelectChance.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_LoopRandomSelectChance.cs
index 1ee90e6..30be305 100644
--- a/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_LoopRandomSelectChance.cs
+++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_LoopRandomSelectChance.cs
@@ -31,7 +31,7 @@ namespace Rimworld_Animations
private AnimationLoopOption getAnimationLoopOptionByWeight(int seed)
{
int totalWeight = loopOptions.Sum(x => x.probability);
- int randomNumber = ((seed * 59) % totalWeight) + 1;
+ int randomNumber = Rand.RangeInclusiveSeeded(0, loopOptions.Count - 1, seed);
int cumulativeWeight = 0;
for (int i = 0; i < loopOptions.Count; i++) {
diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
index ec61598..99964d5 100644
--- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
+++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderer.cs
@@ -35,8 +35,8 @@ namespace Rimworld_Animations
public static void Postfix(PawnRenderer __instance, ref Vector3 __result)
{
- if (__instance.renderTree.rootNode.AnimationWorker is AnimationWorker_KeyframesExtended
- || __instance.renderTree.rootNode.children.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended))
+ if (__instance.renderTree?.rootNode?.AnimationWorker is AnimationWorker_KeyframesExtended
+ || (__instance.renderTree?.rootNode?.children is PawnRenderNode[] childNodes && childNodes.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended)))
{
__result.y = AltitudeLayer.Pawn.AltitudeFor();
}
diff --git a/Rimworld-Animations.csproj b/Rimworld-Animations.csproj
index a43e63e..25ed36e 100644
--- a/Rimworld-Animations.csproj
+++ b/Rimworld-Animations.csproj
@@ -157,6 +157,17 @@
+
+
+
+
+
+
+
+
+
+
+