Fixed bugs with group anims, branch anim selection, added DP animation

This commit is contained in:
c0ffee 2024-04-30 20:15:23 -07:00
parent 1419a57f30
commit 5a43b135b3
24 changed files with 2890 additions and 15 deletions

View File

@ -0,0 +1,346 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DoublePenetration</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage1</li>
<li>FemalePawn_DP_Stage1</li>
<li>MalePawn2_DP_Stage1</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_Branch">
<loops>6</loops>
<paths>
<li>GroupAnimation_DP_Stage2_Branch1</li>
<li>GroupAnimation_DP_Stage2_Branch2</li>
<li>GroupAnimation_DP_Stage2_Branch3</li>
<li>GroupAnimation_DP_Stage2_Branch4</li>
</paths>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>25</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage3</li>
<li>FemalePawn_DP_Stage3</li>
<li>MalePawn2_DP_Stage3</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>30</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage4</li>
<li>FemalePawn_DP_Stage4</li>
<li>MalePawn2_DP_Stage4</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_Branch">
<loops>1</loops>
<paths>
<li>GroupAnimation_DP_Stage5_Branch1</li>
<li>GroupAnimation_DP_Stage5_Branch2</li>
<li>GroupAnimation_DP_Stage5_Branch3</li>
</paths>
</li>
</animationStages>
<contexts>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<actorShift>2</actorShift>
<interactionDefs>
<li>Sex_DoublePenetration</li>
<li>Sex_DoublePenetrationM</li>
<li>Sex_Anal</li>
<li>Sex_Vaginal</li>
<li>Rape_DoublePenetration</li>
<li>Rape_DoublePenetrationM</li>
<li>Rape_Anal</li>
<li>Rape_Vaginal</li>
</interactionDefs>
</li>
<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
<priority>1</priority>
<interactionDefs>
<li>Sex_Reverse_DoublePenetration</li>
<li>Sex_Reverse_DoublePenetrationM</li>
<li>Sex_Reverse_Anal</li>
<li>Sex_Reverse_Vaginal</li>
<li>Rape_Reverse_DoublePenetration</li>
<li>Rape_Reverse_DoublePenetrationM</li>
<li>Rape_Reverse_Anal</li>
<li>Rape_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>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage2_Branch1</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2a</li>
<li>FemalePawn_DP_Stage2a</li>
<li>MalePawn2_DP_Stage2a</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li> <!-- first pawn in animation -->
<li>Offset_DP_FemalePawn</li> <!-- second pawn in animation -->
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage2_Branch2</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2b</li>
<li>FemalePawn_DP_Stage2b</li>
<li>MalePawn2_DP_Stage2b</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage2_Branch3</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>3</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2c</li>
<li>FemalePawn_DP_Stage2c</li>
<li>MalePawn2_DP_Stage2c</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage2_Branch4</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2a</li>
<li>FemalePawn_DP_Stage2a</li>
<li>MalePawn2_DP_Stage2a</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2d</li>
<li>FemalePawn_DP_Stage2d</li>
<li>MalePawn2_DP_Stage2d</li>
</animationDefs>
</li>
</loopOptions>
</li>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>2</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage2b</li>
<li>FemalePawn_DP_Stage2b</li>
<li>MalePawn2_DP_Stage2b</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage5_Branch1</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage5a</li>
<li>FemalePawn_DP_Stage5a</li>
<li>MalePawn2_DP_Stage5a</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage5_Branch2</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage5b</li>
<li>FemalePawn_DP_Stage5b</li>
<li>MalePawn2_DP_Stage5b</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
<Rimworld_Animations.GroupAnimationDef>
<defName>GroupAnimation_DP_Stage5_Branch3</defName>
<numActors>3</numActors>
<animationStages>
<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
<loops>1</loops>
<loopOptions>
<li>
<probability>1</probability>
<animationDefs>
<li>MalePawn_DP_Stage5c</li>
<li>FemalePawn_DP_Stage5c</li>
<li>MalePawn2_DP_Stage5c</li>
</animationDefs>
</li>
</loopOptions>
</li>
</animationStages>
<offsetDefs>
<li>Offset_Placeholder</li>
<li>Offset_DP_FemalePawn</li>
<li>Offset_Placeholder</li>
</offsetDefs>
</Rimworld_Animations.GroupAnimationDef>
</Defs>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.AnimationOffsetDef>
<defName>Offset_DP_FemalePawn</defName>
<offsets>
<li Class="Rimworld_Animations.AnimationOffset_BodyType">
<races>
<li>Human</li>
</races>
<offsets>
<li><bodyType>Female</bodyType><offset>(0.1, 0, -0.1)</offset></li>
<li><bodyType>Thin</bodyType><offset>(0, 0, -0.15)</offset><rotation>-19</rotation></li>
</offsets>
</li>
</offsets>
</Rimworld_Animations.AnimationOffsetDef>
</Defs>

View File

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage1</defName>
<durationTicks>80</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-80</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.42)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>-82</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.42)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage1</defName>
<durationTicks>80</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.6, 0, 0.15)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.4, 0, 0.1)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage1</defName>
<durationTicks>80</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.25, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>5</angle>
<visible>true</visible>
<offset>(0.25, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>25</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage2a</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-70</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage2a</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-33</angle>
<visible>true</visible>
<offset>(-0.4, 0, 0.1)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage2a</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0.3, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage2b</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-70</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage2b</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-33</angle>
<visible>true</visible>
<offset>(-0.4, 0, 0.1)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage2b</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0.3, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage2c</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-70</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>-83</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage2c</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.38, 0, 0.08)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-33</angle>
<visible>true</visible>
<offset>(-0.4, 0, 0.1)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage2c</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0.3, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage2d</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-70</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage2d</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>10</tick>
<angle>-33</angle>
<visible>true</visible>
<offset>(-0.48, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.48, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-33</angle>
<visible>true</visible>
<offset>(-0.4, 0, 0.1)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage2d</defName>
<durationTicks>40</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0.3, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>40</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
<li>
<key>RenderNodeTag_Hand</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.5, 1, 0)</offset>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>4</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0, 1, -0.1)</offset>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>12</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(-0.1, 1, -0.03)</offset>
<rotation>North</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>0</angle>
<visible>false</visible>
<offset>(-0.1, 1, -0.03)</offset>
<rotation>North</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_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>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-50</angle>
<visible>true</visible>
<offset>(-0.64, -1, -0.3)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_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>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>6</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.18)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>20</tick>
<angle>5</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_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>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>15</tick>
<angle>-15</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.28)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage4</defName>
<durationTicks>17</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>8</tick>
<angle>-60</angle>
<visible>true</visible>
<offset>(-0.64, -1, -0.4)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>8</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage4</defName>
<durationTicks>17</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>12</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.56, 0, 0.22)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>8</tick>
<angle>-8</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage4</defName>
<durationTicks>17</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>8</tick>
<angle>0</angle>
<visible>true</visible>
<offset>(0.23, -1, 0.28)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>8</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!-- do not use; only for reference -->
<!--
<AnimationDef>
<defName>MalePawn</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-68</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>50</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>20</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.53, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>17</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-10</angle>
<visible>true</visible>
<offset>(0.33, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>23</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>130</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
-->
</Defs>

View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage5a</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-68</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>50</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>20</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage5a</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.55, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>80</tick>
<angle>-38</angle>
<visible>true</visible>
<offset>(-0.55, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.55, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>30</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage5a</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-10</angle>
<visible>true</visible>
<offset>(0.33, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>23</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>130</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage5b</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-68</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>50</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>20</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage5b</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.55, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-60</angle>
<visible>true</visible>
<offset>(-0.6, 0, 0)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-60</angle>
<visible>true</visible>
<offset>(-0.6, 0, -0.02)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>30</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>South</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage5b</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-10</angle>
<visible>true</visible>
<offset>(0.33, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>23</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>130</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,319 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AnimationDef>
<defName>MalePawn_DP_Stage5c</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>-87</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-68</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>25</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>50</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>55</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>-95</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-90</angle>
<visible>true</visible>
<offset>(-0.6, -1, -0.37)</offset>
<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>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>20</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>10</angle>
<visible>true</visible>
<rotation>East</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>FemalePawn_DP_Stage5c</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</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.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-40</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>23</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.45, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>60</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>65</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>100</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>-30</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>140</tick>
<angle>-35</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.12)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-25</angle>
<visible>true</visible>
<offset>(-0.5, 0, 0.18)</offset>
<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>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>30</tick>
<angle>25</angle>
<visible>true</visible>
<offset>(0, 0, -0.06)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>90</tick>
<angle>30</angle>
<visible>true</visible>
<offset>(0, 0, -0.06)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>105</tick>
<angle>50</angle>
<visible>true</visible>
<offset>(0, 0, -0.06)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>160</tick>
<angle>46</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>0</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
<AnimationDef>
<defName>MalePawn2_DP_Stage5c</defName>
<durationTicks>180</durationTicks>
<animationParts>
<li>
<key>Root</key>
<value>
<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
<keyframes>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>0</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.2, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>18</tick>
<angle>-10</angle>
<visible>true</visible>
<offset>(0.33, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>23</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>70</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>75</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>130</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>135</tick>
<angle>28</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>20</angle>
<visible>true</visible>
<offset>(0.16, -1, 0.2)</offset>
<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>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>17</tick>
<angle>-10</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
<li Class="Rimworld_Animations.ExtendedKeyframe">
<tick>180</tick>
<angle>-22</angle>
<visible>true</visible>
<rotation>West</rotation>
</li>
</keyframes>
</value>
</li>
</animationParts>
</AnimationDef>
</Defs>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnRenderNodeTagDef>
<defName>RenderNodeTag_Hand</defName>
</PawnRenderNodeTagDef>
<Rimworld_Animations.AnimationPropDef>
<defName>AnimationProp_Hand</defName>
<animPropProperties Class="Rimworld_Animations.PawnRenderNodeProperties_GraphicVariants">
<debugLabel>Hand</debugLabel>
<nodeClass>Rimworld_Animations.PawnRenderNode_GraphicVariants</nodeClass>
<workerClass>Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants</workerClass>
<tagDef>RenderNodeTag_Hand</tagDef>
<absoluteTransform>True</absoluteTransform>
<parentTagDef>Root</parentTagDef>
<texPath>AnimationProps/Hand/Hand</texPath>
<!-- for height -->
<overlayLayer>Head</overlayLayer>
<useSkinShader>True</useSkinShader>
<colorType>Skin</colorType>
<baseLayer>95</baseLayer>
</animPropProperties>
</Rimworld_Animations.AnimationPropDef>
</Defs>

View File

@ -11,7 +11,15 @@ namespace Rimworld_Animations
{
public int actorShift = 0;
public int priority = 0;
public abstract bool CanAnimationBeUsed(List<Pawn> actors);
public virtual bool CanAnimationBeUsed(List<Pawn> actors, int numActors)
{
if (numActors != actors.Count)
{
return false;
}
return true;
}
public virtual int AnimationReorder()
{
return actorShift;

View File

@ -15,12 +15,16 @@ namespace Rimworld_Animations
public List<InteractionDef> interactionDefs;
public override bool CanAnimationBeUsed(List<Pawn> actors)
public override bool CanAnimationBeUsed(List<Pawn> actors, int numActors)
{
JobDriver_SexBaseInitiator latestSexBaseInitiator = (actors.FindLast(x => x.jobs?.curDriver is JobDriver_SexBaseInitiator).jobs.curDriver as JobDriver_SexBaseInitiator);
return interactionDefs.Contains(latestSexBaseInitiator.Sexprops.dictionaryKey);
if (!interactionDefs.Contains(latestSexBaseInitiator.Sexprops.dictionaryKey)) {
return false;
}
return base.CanAnimationBeUsed(actors, numActors);
}
public override string DebugMessage()

View File

@ -28,7 +28,7 @@ namespace Rimworld_Animations
{
foreach (BaseGroupAnimationContext context in contexts)
{
if (context.CanAnimationBeUsed(actors))
if (context.CanAnimationBeUsed(actors, numActors))
{
//find all where context matches actors
return true;
@ -48,7 +48,7 @@ namespace Rimworld_Animations
foreach (BaseGroupAnimationContext context in contexts)
{
if (context.CanAnimationBeUsed(actors))
if (context.CanAnimationBeUsed(actors, numActors))
{
if (context.AnimationPriority() > priority)
{

View File

@ -16,11 +16,9 @@ namespace Rimworld_Animations
for (int i = 0; i < loops; i++)
{
//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));
}
GroupAnimationDef selectedDef = paths[((seed * 341 + 1582 * i) % 15823) % paths.Count];
animationDefs.AddRange(selectedDef.GetAllAnimationsForActor(actorNumber, seed));
}

View File

@ -155,6 +155,8 @@ namespace Rimworld_Animations {
anchor = null;
offset = null;
pawn.Drawer.renderer.SetAnimation(null);
pawn.Drawer.renderer.SetAllGraphicsDirty();
}
public void PlayGroupAnimation(List<AnimationDef> groupAnimation, Vector3? positionOffset, int? rotationOffset)
@ -162,6 +164,10 @@ namespace Rimworld_Animations {
this.Offset = positionOffset;
this.Rotation = rotationOffset;
animationQueue = groupAnimation;
//set all graphics dirty; necessary because sometimes rjw doesn't call during threesomes
pawn.Drawer.renderer.SetAllGraphicsDirty();
PlayNextAnimation();
}
@ -192,15 +198,14 @@ namespace Rimworld_Animations {
// for all animationpropdefs,
foreach (AnimationPropDef animationProp in DefDatabase<AnimationPropDef>.AllDefsListForReading)
{
//if animation makes use of prop,
if (AnimationMakesUseOfProp(animationProp))
{
PawnRenderNodeProperties props = animationProp.animPropProperties;
if (props.texPath.NullOrEmpty())
{
props.texPath = "AnimationProps/MissingTexture/MissingTexture";
}
@ -274,6 +279,7 @@ namespace Rimworld_Animations {
{
foreach (PawnRenderNodeTagDef propTag in animation.animationParts.Keys)
{
// if that proptag is the same as the one for animationProp,
if (propTag == animationProp.animPropProperties.tagDef)
{
@ -283,7 +289,6 @@ namespace Rimworld_Animations {
}
}
//for ALL animations (only recaches at start of rjw job),
return false;

View File

@ -10,7 +10,7 @@ namespace Rimworld_Animations
public class PawnRenderNodeProperties_GraphicVariants : PawnRenderNodeProperties
{
public TexPathVariantsDef texPathVariantsDef;
public TexPathVariantsDef texPathVariantsDef = null;
public bool absoluteTransform = false;
}

View File

@ -84,7 +84,7 @@ namespace Rimworld_Animations
protected Graphic GenerateMissingTextureGraphic()
{
return GraphicDatabase.Get<Graphic_Multi>("AnimationProps/MissingTexture");
return GraphicDatabase.Get<Graphic_Multi>("AnimationProps/MissingTexture/MissingTexture");
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -150,6 +150,19 @@
<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\Cowgirl\OffsetDef_Cowgirl.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\GroupAnimation_DP.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\OffsetDef_DP.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage1.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage2a.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage2b.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage2c.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage2d.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage3.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage4.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage5a.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage5b.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage5c.xml" />
<Content Include="1.5\Defs\AnimationDefs\DoublePenetration\Stage5_Base.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\GroupAnimation_Missionary.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\OffsetDef_Missionary.xml" />
<Content Include="1.5\Defs\AnimationDefs\Missionary\Stage1.xml" />
@ -160,6 +173,7 @@
<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\AnimationPropDefs\AnimationPropDef_Hand.xml" />
<Content Include="1.5\Defs\OffsetDefs\OffsetDef_Placeholder.xml" />
<Content Include="1.5\Defs\TexPathVariantsDefs\TexPathVariants_XrayPenis_Human.xml" />
<Content Include="1.5\Defs\AnimationDefs\TestAnimation1.xml" />
@ -222,6 +236,7 @@
<Content Include="1.5\Textures\AnimationProps\Banana\Banana_west.png" />
<Content Include="1.5\Textures\AnimationProps\Doggystyle\Doggy_Arms_north.png" />
<Content Include="1.5\Textures\AnimationProps\Doggystyle\Doggy_Legs_north.png" />
<Content Include="1.5\Textures\AnimationProps\Hand\Hand_north.png" />
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_east.png" />
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_north.png" />
<Content Include="1.5\Textures\AnimationProps\MissingTexture\MissingTexture_south.png" />