diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index efcf504..996d9f5 100644 Binary files a/1.5/Assemblies/Rimworld-Animations.dll and b/1.5/Assemblies/Rimworld-Animations.dll differ diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml b/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml new file mode 100644 index 0000000..97d1b7d --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/GroupAnimation_DP.xml @@ -0,0 +1,346 @@ + + + + GroupAnimation_DoublePenetration + 3 + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage1
  • +
  • FemalePawn_DP_Stage1
  • +
  • MalePawn2_DP_Stage1
  • + + + + + + +
  • + 6 + +
  • GroupAnimation_DP_Stage2_Branch1
  • +
  • GroupAnimation_DP_Stage2_Branch2
  • +
  • GroupAnimation_DP_Stage2_Branch3
  • +
  • GroupAnimation_DP_Stage2_Branch4
  • + + + +
  • + 25 + +
  • + 1 + +
  • MalePawn_DP_Stage3
  • +
  • FemalePawn_DP_Stage3
  • +
  • MalePawn2_DP_Stage3
  • + + + + + + +
  • + 30 + +
  • + 1 + +
  • MalePawn_DP_Stage4
  • +
  • FemalePawn_DP_Stage4
  • +
  • MalePawn2_DP_Stage4
  • + + + + + +
  • + 1 + +
  • GroupAnimation_DP_Stage5_Branch1
  • +
  • GroupAnimation_DP_Stage5_Branch2
  • +
  • GroupAnimation_DP_Stage5_Branch3
  • + + +
    + + +
  • + 1 + 2 + +
  • Sex_DoublePenetration
  • +
  • Sex_DoublePenetrationM
  • +
  • Sex_Anal
  • +
  • Sex_Vaginal
  • +
  • Rape_DoublePenetration
  • +
  • Rape_DoublePenetrationM
  • +
  • Rape_Anal
  • +
  • Rape_Vaginal
  • + + +
  • + 1 + +
  • Sex_Reverse_DoublePenetration
  • +
  • Sex_Reverse_DoublePenetrationM
  • +
  • Sex_Reverse_Anal
  • +
  • Sex_Reverse_Vaginal
  • +
  • Rape_Reverse_DoublePenetration
  • +
  • Rape_Reverse_DoublePenetrationM
  • +
  • Rape_Reverse_Anal
  • +
  • Rape_Reverse_Vaginal
  • + + + + + +
    + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage2_Branch1 + 3 + +
  • + 3 + +
  • + 1 + +
  • MalePawn_DP_Stage2a
  • +
  • FemalePawn_DP_Stage2a
  • +
  • MalePawn2_DP_Stage2a
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + + GroupAnimation_DP_Stage2_Branch2 + 3 + +
  • + 3 + +
  • + 1 + +
  • MalePawn_DP_Stage2b
  • +
  • FemalePawn_DP_Stage2b
  • +
  • MalePawn2_DP_Stage2b
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage2_Branch3 + 3 + +
  • + 3 + +
  • + 1 + +
  • MalePawn_DP_Stage2c
  • +
  • FemalePawn_DP_Stage2c
  • +
  • MalePawn2_DP_Stage2c
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage2_Branch4 + 3 + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage2a
  • +
  • FemalePawn_DP_Stage2a
  • +
  • MalePawn2_DP_Stage2a
  • + + + + + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage2d
  • +
  • FemalePawn_DP_Stage2d
  • +
  • MalePawn2_DP_Stage2d
  • + + + + + + +
  • + 2 + +
  • + 1 + +
  • MalePawn_DP_Stage2b
  • +
  • FemalePawn_DP_Stage2b
  • +
  • MalePawn2_DP_Stage2b
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage5_Branch1 + 3 + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage5a
  • +
  • FemalePawn_DP_Stage5a
  • +
  • MalePawn2_DP_Stage5a
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage5_Branch2 + 3 + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage5b
  • +
  • FemalePawn_DP_Stage5b
  • +
  • MalePawn2_DP_Stage5b
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + GroupAnimation_DP_Stage5_Branch3 + 3 + +
  • + 1 + +
  • + 1 + +
  • MalePawn_DP_Stage5c
  • +
  • FemalePawn_DP_Stage5c
  • +
  • MalePawn2_DP_Stage5c
  • + + + + + +
    + + +
  • Offset_Placeholder
  • +
  • Offset_DP_FemalePawn
  • +
  • Offset_Placeholder
  • +
    + +
    + + + +
    diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/OffsetDef_DP.xml b/1.5/Defs/AnimationDefs/DoublePenetration/OffsetDef_DP.xml new file mode 100644 index 0000000..d982e36 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/OffsetDef_DP.xml @@ -0,0 +1,17 @@ + + + + Offset_DP_FemalePawn + +
  • + +
  • Human
  • + + +
  • Female(0.1, 0, -0.1)
  • +
  • Thin(0, 0, -0.15)-19
  • +
    + +
    +
    +
    diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml new file mode 100644 index 0000000..304add6 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage1.xml @@ -0,0 +1,200 @@ + + + + MalePawn_DP_Stage1 + 80 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -80 + true + (-0.6, -1, -0.42) + East +
  • +
  • + 20 + -82 + true + (-0.6, -1, -0.42) + East +
  • +
  • + 40 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 80 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + East +
  • +
  • + 40 + 10 + true + East +
  • +
  • + 80 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage1 + 80 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -40 + true + (-0.6, 0, 0.15) + West +
  • +
  • + 40 + -30 + true + (-0.4, 0, 0.1) + West +
  • +
  • + 80 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 40 + 0 + true + South +
  • +
  • + 80 + 0 + true + South +
  • + + + +
    +
    + + MalePawn2_DP_Stage1 + 80 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -10 + true + (0.25, -1, 0.2) + West +
  • +
  • + 30 + 5 + true + (0.25, -1, 0.2) + West +
  • +
  • + 40 + 25 + true + (0.2, -1, 0.2) + West +
  • +
  • + 80 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 40 + -22 + true + West +
  • +
  • + 80 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml new file mode 100644 index 0000000..d8e397d --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2a.xml @@ -0,0 +1,174 @@ + + + + MalePawn_DP_Stage2a + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 30 + -70 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 40 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 30 + 0 + true + East +
  • +
  • + 40 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage2a + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 30 + -33 + true + (-0.4, 0, 0.1) + West +
  • +
  • + 40 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • + + + +
    +
    + + MalePawn2_DP_Stage2a + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 30 + -15 + true + (0.3, -1, 0.2) + West +
  • +
  • + 40 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 30 + 0 + true + West +
  • +
  • + 40 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml new file mode 100644 index 0000000..2c11ef7 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2b.xml @@ -0,0 +1,174 @@ + + + + MalePawn_DP_Stage2b + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 30 + -70 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 40 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 30 + 0 + true + East +
  • +
  • + 40 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage2b + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 30 + -33 + true + (-0.4, 0, 0.1) + West +
  • +
  • + 40 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + South +
  • + + + +
    +
    + + MalePawn2_DP_Stage2b + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 30 + -15 + true + (0.3, -1, 0.2) + West +
  • +
  • + 40 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 30 + 0 + true + West +
  • +
  • + 40 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml new file mode 100644 index 0000000..35fa184 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2c.xml @@ -0,0 +1,188 @@ + + + + MalePawn_DP_Stage2c + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 15 + -70 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 20 + -83 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 40 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 15 + 0 + true + East +
  • +
  • + 40 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage2c + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 20 + -30 + true + (-0.38, 0, 0.08) + West +
  • +
  • + 30 + -33 + true + (-0.4, 0, 0.1) + West +
  • +
  • + 40 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + South +
  • + + + +
    +
    + + MalePawn2_DP_Stage2c + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 30 + -15 + true + (0.3, -1, 0.2) + West +
  • +
  • + 40 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 30 + 0 + true + West +
  • +
  • + 40 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml new file mode 100644 index 0000000..59ae660 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage2d.xml @@ -0,0 +1,230 @@ + + + + MalePawn_DP_Stage2d + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 30 + -70 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 40 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 30 + 0 + true + East +
  • +
  • + 40 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage2d + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 10 + -33 + true + (-0.48, 0, 0.12) + West +
  • +
  • + 15 + -35 + true + (-0.48, 0, 0.12) + West +
  • +
  • + 30 + -33 + true + (-0.4, 0, 0.1) + West +
  • +
  • + 40 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 15 + 0 + true + South +
  • + + + +
    +
    + + MalePawn2_DP_Stage2d + 40 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 30 + -15 + true + (0.3, -1, 0.2) + West +
  • +
  • + 40 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 30 + 0 + true + West +
  • +
  • + 40 + -22 + true + West +
  • + + + +
  • + RenderNodeTag_Hand + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + (0.5, 1, 0) + North +
  • +
  • + 4 + 0 + true + (0, 1, -0.1) + North +
  • +
  • + 12 + 0 + true + (-0.1, 1, -0.03) + North +
  • +
  • + 15 + 0 + false + (-0.1, 1, -0.03) + North +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml new file mode 100644 index 0000000..3e7cff3 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage3.xml @@ -0,0 +1,186 @@ + + + + MalePawn_DP_Stage3 + 25 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 15 + -50 + true + (-0.64, -1, -0.3) + East +
  • +
  • + 25 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 17 + -10 + true + East +
  • +
  • + 25 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage3 + 25 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 6 + -25 + true + (-0.5, 0, 0.18) + West +
  • +
  • + 25 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 20 + 5 + true + West +
  • +
  • + 25 + 0 + true + West +
  • + + + +
    +
    + + MalePawn2_DP_Stage3 + 25 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 15 + -15 + true + (0.2, -1, 0.28) + West +
  • +
  • + 25 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 17 + 0 + true + West +
  • +
  • + 25 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml new file mode 100644 index 0000000..a2e6f77 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage4.xml @@ -0,0 +1,186 @@ + + + + MalePawn_DP_Stage4 + 17 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 8 + -60 + true + (-0.64, -1, -0.4) + East +
  • +
  • + 17 + -87 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 8 + -10 + true + East +
  • +
  • + 17 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage4 + 17 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 12 + -25 + true + (-0.56, 0, 0.22) + West +
  • +
  • + 17 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 8 + -8 + true + West +
  • +
  • + 17 + 0 + true + West +
  • + + + +
    +
    + + MalePawn2_DP_Stage4 + 17 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 8 + 0 + true + (0.23, -1, 0.28) + West +
  • +
  • + 17 + 20 + true + (0.2, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 8 + 0 + true + West +
  • +
  • + 17 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5_Base.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5_Base.xml new file mode 100644 index 0000000..2f0f273 --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5_Base.xml @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml new file mode 100644 index 0000000..d5383bb --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5a.xml @@ -0,0 +1,283 @@ + + + + MalePawn_DP_Stage5a + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 17 + -68 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 25 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 50 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 55 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 100 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 105 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 180 + -90 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 18 + 20 + true + East +
  • +
  • + 180 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage5a + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 18 + -40 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 60 + -35 + true + (-0.55, 0, 0.12) + West +
  • +
  • + 80 + -38 + true + (-0.55, 0, 0.12) + West +
  • +
  • + 100 + -40 + true + (-0.55, 0, 0.12) + West +
  • +
  • + 180 + -30 + true + (-0.45, 0, 0.12) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 60 + 10 + true + West +
  • +
  • + 70 + 30 + true + West +
  • +
  • + 180 + 10 + true + West +
  • + + + +
    +
    + + MalePawn2_DP_Stage5a + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 18 + -10 + true + (0.33, -1, 0.2) + West +
  • +
  • + 23 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 70 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 75 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 130 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 135 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 180 + 20 + true + (0.16, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 17 + -10 + true + West +
  • +
  • + 180 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml new file mode 100644 index 0000000..43c1cbb --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5b.xml @@ -0,0 +1,270 @@ + + + + MalePawn_DP_Stage5b + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 17 + -68 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 25 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 50 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 55 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 100 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 105 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 180 + -90 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 18 + 20 + true + East +
  • +
  • + 180 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage5b + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 18 + -40 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 60 + -35 + true + (-0.55, 0, 0.12) + West +
  • +
  • + 100 + -60 + true + (-0.6, 0, 0) + West +
  • +
  • + 180 + -60 + true + (-0.6, 0, -0.02) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 70 + 30 + true + South +
  • +
  • + 180 + 10 + true + South +
  • + + + +
    +
    + + MalePawn2_DP_Stage5b + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 18 + -10 + true + (0.33, -1, 0.2) + West +
  • +
  • + 23 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 70 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 75 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 130 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 135 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 180 + 20 + true + (0.16, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 17 + -10 + true + West +
  • +
  • + 180 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml new file mode 100644 index 0000000..7c0d90e --- /dev/null +++ b/1.5/Defs/AnimationDefs/DoublePenetration/Stage5c.xml @@ -0,0 +1,319 @@ + + + + MalePawn_DP_Stage5c + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -87 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 17 + -68 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 25 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 50 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 55 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 100 + -90 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 105 + -95 + true + (-0.6, -1, -0.37) + East +
  • +
  • + 180 + -90 + true + (-0.6, -1, -0.37) + East +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 10 + true + East +
  • +
  • + 18 + 20 + true + East +
  • +
  • + 180 + 10 + true + East +
  • + + + +
    +
    + + FemalePawn_DP_Stage5c + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 18 + -40 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 23 + -30 + true + (-0.45, 0, 0.12) + West +
  • +
  • + 60 + -35 + true + (-0.5, 0, 0.12) + West +
  • +
  • + 65 + -30 + true + (-0.5, 0, 0.12) + West +
  • +
  • + 100 + -35 + true + (-0.5, 0, 0.12) + West +
  • +
  • + 105 + -30 + true + (-0.5, 0, 0.12) + West +
  • +
  • + 140 + -35 + true + (-0.5, 0, 0.12) + West +
  • +
  • + 180 + -25 + true + (-0.5, 0, 0.18) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 0 + true + West +
  • +
  • + 30 + 25 + true + (0, 0, -0.06) + West +
  • +
  • + 90 + 30 + true + (0, 0, -0.06) + West +
  • +
  • + 105 + 50 + true + (0, 0, -0.06) + West +
  • +
  • + 160 + 46 + true + West +
  • +
  • + 180 + 0 + true + West +
  • + + + +
    +
    + + MalePawn2_DP_Stage5c + 180 + +
  • + Root + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + 20 + true + (0.2, -1, 0.2) + West +
  • +
  • + 18 + -10 + true + (0.33, -1, 0.2) + West +
  • +
  • + 23 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 70 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 75 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 130 + 20 + true + (0.16, -1, 0.2) + West +
  • +
  • + 135 + 28 + true + (0.16, -1, 0.2) + West +
  • +
  • + 180 + 20 + true + (0.16, -1, 0.2) + West +
  • + + + +
  • + Head + + Rimworld_Animations.AnimationWorker_KeyframesExtended + +
  • + 0 + -22 + true + West +
  • +
  • + 17 + -10 + true + West +
  • +
  • + 180 + -22 + true + West +
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/1.5/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml b/1.5/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml new file mode 100644 index 0000000..b949979 --- /dev/null +++ b/1.5/Defs/AnimationPropDefs/AnimationPropDef_Hand.xml @@ -0,0 +1,24 @@ + + + + RenderNodeTag_Hand + + + + AnimationProp_Hand + + Hand + Rimworld_Animations.PawnRenderNode_GraphicVariants + Rimworld_Animations.PawnRenderNodeWorker_GraphicVariants + RenderNodeTag_Hand + True + Root + AnimationProps/Hand/Hand + + Head + True + Skin + 95 + + + \ No newline at end of file diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs index 747e154..19f475d 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/BaseGroupAnimationContext.cs @@ -11,7 +11,15 @@ namespace Rimworld_Animations { public int actorShift = 0; public int priority = 0; - public abstract bool CanAnimationBeUsed(List actors); + public virtual bool CanAnimationBeUsed(List actors, int numActors) + { + if (numActors != actors.Count) + { + return false; + } + + return true; + } public virtual int AnimationReorder() { return actorShift; diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext_RJWSex.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext_RJWSex.cs index 62e1928..3914799 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext_RJWSex.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationContexts/GroupAnimationContext_RJWSex.cs @@ -15,12 +15,16 @@ namespace Rimworld_Animations public List interactionDefs; - public override bool CanAnimationBeUsed(List actors) + public override bool CanAnimationBeUsed(List 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() diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs index 965eb8e..b49f14d 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs @@ -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) { diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_Branch.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_Branch.cs index 414879f..3e61f8f 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_Branch.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationStages/AnimationStage_Branch.cs @@ -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)); } diff --git a/1.5/Source/Comps/CompExtendedAnimator.cs b/1.5/Source/Comps/CompExtendedAnimator.cs index bed2411..b6172c2 100644 --- a/1.5/Source/Comps/CompExtendedAnimator.cs +++ b/1.5/Source/Comps/CompExtendedAnimator.cs @@ -155,6 +155,8 @@ namespace Rimworld_Animations { anchor = null; offset = null; pawn.Drawer.renderer.SetAnimation(null); + + pawn.Drawer.renderer.SetAllGraphicsDirty(); } public void PlayGroupAnimation(List 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.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; diff --git a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeProperties_GraphicVariants.cs b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeProperties_GraphicVariants.cs index 15ac022..bd2213f 100644 --- a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeProperties_GraphicVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeProperties_GraphicVariants.cs @@ -10,7 +10,7 @@ namespace Rimworld_Animations public class PawnRenderNodeProperties_GraphicVariants : PawnRenderNodeProperties { - public TexPathVariantsDef texPathVariantsDef; + public TexPathVariantsDef texPathVariantsDef = null; public bool absoluteTransform = false; } diff --git a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs index 0298c51..3dd665c 100644 --- a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs @@ -84,7 +84,7 @@ namespace Rimworld_Animations protected Graphic GenerateMissingTextureGraphic() { - return GraphicDatabase.Get("AnimationProps/MissingTexture"); + return GraphicDatabase.Get("AnimationProps/MissingTexture/MissingTexture"); } } } diff --git a/1.5/Textures/AnimationProps/Hand/Hand_north.png b/1.5/Textures/AnimationProps/Hand/Hand_north.png new file mode 100644 index 0000000..6c82f67 Binary files /dev/null and b/1.5/Textures/AnimationProps/Hand/Hand_north.png differ diff --git a/Rimworld-Animations.csproj b/Rimworld-Animations.csproj index 6410462..3023dc4 100644 --- a/Rimworld-Animations.csproj +++ b/Rimworld-Animations.csproj @@ -150,6 +150,19 @@ + + + + + + + + + + + + + @@ -160,6 +173,7 @@ + @@ -222,6 +236,7 @@ +