Added cowgirl animation, missionary animation

Tweaks to prop visibility, hidden when not animating
made looping general, added to branch stages
This commit is contained in:
c0ffee 2024-04-29 14:21:15 -07:00
parent c3ee13de83
commit 3b1282fd3c
37 changed files with 3138 additions and 25 deletions

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnRenderNodeTagDef>
<defName>RenderNodeTag_Cowgirl_Xray</defName>
</PawnRenderNodeTagDef>
<Rimworld_Animations.AnimationPropDef>
<defName>AnimProp_Cowgirl_Xray</defName>
<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_GraphicVariants">
<debugLabel>Cowgirl Xray</debugLabel>
<nodeClass>Rimworld_Animations.PawnRenderNode_GraphicVariants</nodeClass>
<workerClass>Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants</workerClass>
<tagDef>RenderNodeTag_Cowgirl_Xray</tagDef>
<absoluteTransform>True</absoluteTransform>
<parentTagDef>Body</parentTagDef>
<!-- for height -->
<texPath>AnimationProps/CowgirlXray/XRay2-1</texPath>
<overlayLayer>Head</overlayLayer>
<baseLayer>95</baseLayer>
<texPathVariantsDef>TexPathVariants_Cowgirl_Xray</texPathVariantsDef>
</animPropProperties>
</Rimworld_Animations.AnimationPropDef>
</Defs>

View file

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage1</defName>
<durationTicks>150</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>110</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.75)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>190</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>170</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage1</defName>
<durationTicks>150</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(0.2, 2, 0.5)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(0.1, 2, 0.5)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>110</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.2)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-15</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0, 0, -0.05)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>110</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage2_1</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.65)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage2_1</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, -0.04)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage2_2</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.65)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage2_2</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>7</angle>
<visible>true</visible>
<offset>(0, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-7</angle>
<visible>true</visible>
<offset>(0, 0, -0.04)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage2_3</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.65)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage2_3</defName>
<durationTicks>30</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>7</angle>
<visible>true</visible>
<offset>(0, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-7</angle>
<visible>true</visible>
<offset>(0.03, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>-7</angle>
<visible>true</visible>
<offset>(0, 0, -0.07)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>7</angle>
<visible>true</visible>
<offset>(0, 0, -0.07)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage3</defName>
<durationTicks>25</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.6)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, 0.03)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage3</defName>
<durationTicks>25</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>7</tick>
<angle>3</angle>
<visible>true</visible>
<offset>(0, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, 0.03)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>RenderNodeTag_Cowgirl_Xray</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>1</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.52, 1, 0.52)</scale>
<rotation>North</rotation>
<variant>2</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.52, 1, 0.52)</scale>
<rotation>North</rotation>
<variant>3</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>2</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>2</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>1</variant>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage4</defName>
<durationTicks>200</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.67)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>125</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.67)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.72)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, -0.02)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage4</defName>
<durationTicks>200</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.26)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>85</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.26)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>50</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, 0.02)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, 0.025)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>RenderNodeTag_Cowgirl_Xray</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>3</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>4</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>5</variant>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>1</angle>
<visible>true</visible>
<offset>(1, 0, 0.3)</offset>
<scale>(0.5, 1, 0.5)</scale>
<rotation>North</rotation>
<variant>5</variant>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>Male_Cowgirl_Stage1_5</defName>
<durationTicks>55</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.65)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 0, -0.7)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>180</angle>
<visible>true</visible>
<offset>(0, 1, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>Female_Cowgirl_Stage1_5</defName>
<durationTicks>55</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.43)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 2, 0.23)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 0, -0.04)</offset>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,191 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_Cowgirl</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage1</li>
<li>Female_Cowgirl_Stage1</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>10</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage1_5</li>
<li>Female_Cowgirl_Stage1_5</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_Branch">
<loops>10</loops>
<paths>
<li>GroupAnimation_Cowgirl_Stage2_Branch1</li>
<li>GroupAnimation_Cowgirl_Stage2_Branch2</li>
<li>GroupAnimation_Cowgirl_Stage2_Branch3</li>
</paths>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>20</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage3</li>
<li>Female_Cowgirl_Stage3</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage4</li>
<li>Female_Cowgirl_Stage4</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<contexts>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<interactionDefs>
<li>Sex_Anal</li>
<li>Sex_Vaginal</li>
</interactionDefs>
</li>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<actorShift>1</actorShift>
<interactionDefs>
<li>Sex_Reverse_Anal</li>
<li>Sex_Reverse_Vaginal</li>
</interactionDefs>
</li>
<!-- all other contexts go here -->
<!-- the ones that don't make sense but play an animation anyway -->
<!--
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>0</priority>
<interactionDefs>
</interactionDefs>
</li>
-->
</contexts>
<offsetDefs>
<li>GroinToAppropriateHeight</li> <!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li> <!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_Cowgirl_Stage2_Branch1</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage2_1</li>
<li>Female_Cowgirl_Stage2_1</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_Cowgirl_Stage2_Branch2</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage2_2</li>
<li>Female_Cowgirl_Stage2_2</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_Cowgirl_Stage2_Branch3</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>Male_Cowgirl_Stage2_3</li>
<li>Female_Cowgirl_Stage2_3</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
</Defs>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.TexPathVariantsDef>
<defName>TexPathVariants_Cowgirl_Xray</defName>
<variants>
<li>AnimationProps/CowgirlXray/XRay2-2</li>
<li>AnimationProps/CowgirlXray/XRay2-3</li>
<li>AnimationProps/CowgirlXray/XRay2-4</li>
<li>AnimationProps/CowgirlXray/XRay2-5</li>
<li>AnimationProps/CowgirlXray/XRay2-6</li>
</variants>
</Rimworld_Animations.TexPathVariantsDef>
</Defs>

View file

@ -0,0 +1,206 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_Missionary</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage1</li>
<li>FemalePawn_Missionary_Stage1</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_Branch">
<loops>5</loops>
<paths>
<li>Missionary_Stage2_Branch1</li>
<li>Missionary_Stage2_Branch2</li>
<li>Missionary_Stage2_Branch3</li>
</paths>
</li>
<!-- don't loop -->
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage3</li>
<li>FemalePawn_Missionary_Stage3</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>20</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage4</li>
<li>FemalePawn_Missionary_Stage4</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>35</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage5</li>
<li>FemalePawn_Missionary_Stage5</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage6</li>
<li>FemalePawn_Missionary_Stage6</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<contexts>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<interactionDefs>
<li>Sex_Anal</li>
<li>Sex_Vaginal</li>
</interactionDefs>
</li>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<actorShift>1</actorShift>
<interactionDefs>
<li>Sex_Reverse_Anal</li>
<li>Sex_Reverse_Vaginal</li>
</interactionDefs>
</li>
<!-- all other contexts go here -->
<!-- the ones that don't make sense but play an animation anyway -->
<!--
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>0</priority>
<interactionDefs>
</interactionDefs>
</li>
-->
</contexts>
<offsetDefs>
<li>GroinToAppropriateHeight</li> <!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li> <!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>Missionary_Stage2_Branch1</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage2a</li>
<li>FemalePawn_Missionary_Stage2a</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>Missionary_Stage2_Branch2</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage2b</li>
<li>FemalePawn_Missionary_Stage2b</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>Missionary_Stage2_Branch3</defName>
<numActors>2</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_Missionary_Stage2c</li>
<li>FemalePawn_Missionary_Stage2c</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>GroinToAppropriateHeight</li>
<!-- first pawn in animation -->
<li>GroinToAppropriateHeight</li>
<!-- second pawn in animation -->
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
</Defs>

View file

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage1</defName>
<durationTicks>100</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(-0.85, 4, 0.5)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(-0.79, 4, 0.44)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>66</tick>
<angle>-10</angle>
<visible>true</visible>
<offset>(-0.6, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>13</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>30</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage1</defName>
<durationTicks>100</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>66</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.1, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-15</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>66</tick>
<angle>0</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage2a</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.6, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>30</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>60</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<offset>(0, -6, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage2a</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>3</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>88</angle>
<visible>true</visible>
<offset>(0.12, 2, 0.03)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>-10</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage2b</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.6, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>60</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage2b</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>3</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>88</angle>
<visible>true</visible>
<offset>(0.12, 2, 0.03)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>-17</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage2c</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.6, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>60</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage2c</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>3</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>88</angle>
<visible>true</visible>
<offset>(0.12, 2, 0.03)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>-17</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>North</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage3</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>10</angle>
<visible>true</visible>
<offset>(-0.75, 4, 0.38)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>3</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage3</defName>
<durationTicks>35</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>90</angle>
<visible>true</visible>
<offset>(0.03, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage4</defName>
<durationTicks>20</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(-0.42, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage4</defName>
<durationTicks>20</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.2, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>-26</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage5</defName>
<durationTicks>13</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(-0.45, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>5</tick>
<angle>40</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>35</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage5</defName>
<durationTicks>13</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>3</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.16, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>3</tick>
<angle>-34</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_Missionary_Stage6</defName>
<durationTicks>200</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>15</angle>
<visible>true</visible>
<offset>(-0.65, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>-20</angle>
<visible>true</visible>
<offset>(-0.43, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(-0.49, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>85</tick>
<angle>-20</angle>
<visible>true</visible>
<offset>(-0.43, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(-0.49, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>155</tick>
<angle>-20</angle>
<visible>true</visible>
<offset>(-0.43, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(-0.49, 4, 0.42)</offset>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>25</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
<li MayRequire="shauaputa.rimnudeworld">
<key>RimNude_Penis</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>30</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>60</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<offset>(0, -6, 0)</offset>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_Missionary_Stage6</defName>
<durationTicks>200</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>95</angle>
<visible>true</visible>
<offset>(0.07, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>13</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.23, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.2, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>85</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.23, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>150</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.2, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>155</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.23, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>100</angle>
<visible>true</visible>
<offset>(0.2, 2, 0)</offset>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>Head</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-20</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-10</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>200</tick>
<angle>-23</angle>
<visible>true</visible>
<scale>(1, 1, 1)</scale>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View file

@ -35,7 +35,7 @@
-->
</animationStages>
<!--
<contexts>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
@ -56,11 +56,11 @@
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>0</priority>
<interactionDefs>
<!-- all other contexts go here -->
<!-- the ones that don't make sense but play an animation anyway -->
</interactionDefs>
</li>
</contexts>
-->
<offsetDefs>
<li>GroinToAppropriateHeight</li> <!-- first pawn in animation -->

View file

@ -3,6 +3,7 @@
<Rimworld_Animations.AnimationOffsetDef>
<defName>GroinToAppropriateHeight</defName>
<offsets>
<!--
<li Class="Rimworld_Animations.AnimationOffset_Single" MayRequire="erdelf.HumanoidAlienRaces,dianawinters.Orassans">
<races>
<li>Alien_Orassan</li>
@ -39,6 +40,7 @@
<li><bodyType>Thin</bodyType><offset>(0, 0, 0.3)</offset></li>
</offsetsFemale>
</li>
-->
</offsets>
</Rimworld_Animations.AnimationOffsetDef>
</Defs>

View file

@ -24,17 +24,20 @@ namespace Rimworld_Animations
Log.Message("[anims] Checking if " + defName + " is valid animation");
}
foreach (BaseGroupAnimationContext context in contexts)
if (!contexts.NullOrEmpty())
{
if (context.CanAnimationBeUsed(actors))
foreach (BaseGroupAnimationContext context in contexts)
{
//find all where context matches actors
return true;
if (context.CanAnimationBeUsed(actors))
{
//find all where context matches actors
return true;
}
}
}
return false;
}

View file

@ -11,6 +11,7 @@ namespace Rimworld_Animations
{
//Return a list containing a tuple; int for how long the animation should play for
public int loops;
public abstract List<AnimationDef> GetAnimations(int actorNumber, int seed);
}

View file

@ -14,10 +14,14 @@ namespace Rimworld_Animations
{
List<AnimationDef> animationDefs = new List<AnimationDef>();
//loop thru the selected groupanimationdef path
foreach (AnimationStage stage in paths[(seed * 59) % paths.Count].animationStages)
for (int i = 0; i < loops; i++)
{
animationDefs.AddRange(stage.GetAnimations(actorNumber, seed));
//loop thru the selected groupanimationdef path
foreach (AnimationStage stage in paths[((seed * 30 + 12 * i) % 59) % paths.Count].animationStages)
{
animationDefs.AddRange(stage.GetAnimations(actorNumber, seed));
}
}
return animationDefs;

View file

@ -9,7 +9,6 @@ namespace Rimworld_Animations
{
public class AnimationStage_LoopRandomSelectChance : AnimationStage
{
public int loops;
public List<AnimationLoopOption> loopOptions;
public override List<AnimationDef> GetAnimations(int actorNumber, int seed)

View file

@ -186,11 +186,13 @@ namespace Rimworld_Animations {
//only if pawn is animating for performance
if (IsAnimating)
{
List<PawnRenderNode> animRenderNodes = new List<PawnRenderNode>();
// for all animationpropdefs,
foreach (AnimationPropDef animationProp in DefDatabase<AnimationPropDef>.AllDefsListForReading)
{
//if animation makes use of prop,
if (AnimationMakesUseOfProp(animationProp))
{
@ -267,16 +269,22 @@ namespace Rimworld_Animations {
// never true if not animating; anim props shouldn't be attached
if (!IsAnimating) return false;
//for ONLY THE CURRENT animation,
foreach (PawnRenderNodeTagDef propTag in animationQueue[0].animationParts.Keys)
//for all anims in queue (because it's only recached at start)
foreach (AnimationDef animation in animationQueue)
{
// if that proptag is the same as the one for animationProp,
if (propTag == animationProp.animPropProperties.tagDef)
foreach (PawnRenderNodeTagDef propTag in animation.animationParts.Keys)
{
//that prop is being used in the animation
return true;
// if that proptag is the same as the one for animationProp,
if (propTag == animationProp.animPropProperties.tagDef)
{
//that prop is being used in the animation
return true;
}
}
}
//for ALL animations (only recaches at start of rjw job),
return false;
}

View file

@ -26,6 +26,16 @@ namespace Rimworld_Animations
__result = false;
return false;
}
//visible when animating
return true;
}
//set graphic variant nodes to invisible when not animating
if (node is PawnRenderNode_GraphicVariants)
{
__result = false;
return false;
}
return true;

View file

@ -14,8 +14,7 @@ namespace Rimworld_Animations
public override void TransformOffset(PawnRenderNode node, PawnDrawParms parms, ref Vector3 offset, ref Vector3 pivot)
{
if (node.AnimationWorker is AnimationWorker_KeyframesExtended
&& node.tree.pawn.TryGetComp<CompExtendedAnimator>(out CompExtendedAnimator extendedAnimator)
&& extendedAnimator.IsAnimating)
&& node.tree.pawn.TryGetComp<CompExtendedAnimator>(out CompExtendedAnimator extendedAnimator))
{
Vector3? pawnOffset = extendedAnimator.Offset;
if (pawnOffset != null)
@ -30,8 +29,7 @@ namespace Rimworld_Animations
public override void TransformRotation(PawnRenderNode node, PawnDrawParms parms, ref Quaternion rotation)
{
if (node.AnimationWorker is AnimationWorker_KeyframesExtended
&& node.tree.pawn.TryGetComp<CompExtendedAnimator>(out CompExtendedAnimator extendedAnimator)
&& extendedAnimator.IsAnimating)
&& node.tree.pawn.TryGetComp<CompExtendedAnimator>(out CompExtendedAnimator extendedAnimator))
{
int? pawnRotation = extendedAnimator.Rotation;
if (pawnRotation != null)

View file

@ -85,10 +85,10 @@ namespace Rimworld_Animations {
int reorder2 = 0;
//find all, reorder randomly, then find max priority context
GroupAnimationDef result = DefDatabase<GroupAnimationDef>.AllDefsListForReading
DefDatabase<GroupAnimationDef>.AllDefsListForReading
.FindAll((GroupAnimationDef x) => x.canAnimationBeUsed(participants))
.OrderBy(_ => Rand.Int)
.MaxBy((GroupAnimationDef x) => x.Priority(participants, out reorder2));
.TryMaxBy((GroupAnimationDef x) => x.Priority(participants, out reorder2), out GroupAnimationDef result);
reorder = reorder2;

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

View file

@ -140,6 +140,25 @@
<Content Include="1.5\Assemblies\0MultiplayerAPI.dll" />
<Content Include="1.5\Assemblies\Rimworld-Animations.dll" />
<Content Include="1.5\Assemblies\RJW.dll" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\AnimationPropDef_Cowgirl_Xray.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage1.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage2_1.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage2_2.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage2_3.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage3_XRay.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage4.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\Cowgirl_Stage_1_5.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\GroupAnimation_Cowgirl.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\GroupAnimation_Missionary.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage1.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage2.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage2b.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage2c.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage3_DontLoop.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage4.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage5.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage6.xml" />
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_XrayPenis_Human.xml" />
<Content Include="1.5\Defs\AnimationDefs\TestAnimation1.xml" />
<Content Include="1.5\Defs\AnimationDefs\TestAnimation2.xml" />
<Content Include="1.5\Defs\AnimationDefs\TestAnimation3.xml" />
@ -156,7 +175,7 @@
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_Knees.xml" />
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_Xray_Inside.xml" />
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_XrayPenis_Horse.xml" />
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_XrayPenis_Human.xml" />
<Content Include="1.5\Defs\AnimationDefs\Cowgirl\TexPathVariants_Cowgirl.xml" />
<Content Include="1.5\Patches\AnimationPatchHSK.xml" />
<Content Include="1.5\Patches\AnimationPatch_CompExtendedAnimator.xml" />
<Content Include="1.5\Patches\AnimationPatch_PawnRenderTree_OffsetSubWorker.xml" />
@ -204,6 +223,12 @@
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_north.png" />
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_south.png" />
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_west.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-1.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-2.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-3.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-4.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-5.png" />
<Content Include="1.5\Textures\AnimationProps\CowgirlXray\XRay2-6.png" />
<Content Include="1.5\Textures\UI\MainTab.png" />
<Content Include="About\About.xml" />
<Content Include="About\Manifest.xml" />