mirror of
https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
synced 2024-08-15 00:43:45 +00:00
Compare commits
4 commits
c0b0a9b993
...
bd30363a1e
Author | SHA1 | Date | |
---|---|---|---|
|
bd30363a1e | ||
|
eb7fe1a280 | ||
|
82d1e2f614 | ||
|
8888f76708 |
11 changed files with 6574 additions and 35 deletions
|
@ -504,14 +504,29 @@ namespace Rimworld_Animations {
|
|||
|
||||
public bool LoopNeverending()
|
||||
{
|
||||
if(pawn?.jobs?.curDriver != null &&
|
||||
(pawn.jobs.curDriver is JobDriver_Sex) && (pawn.jobs.curDriver as JobDriver_Sex).neverendingsex ||
|
||||
(pawn.jobs.curDriver is JobDriver_SexBaseReciever) && (pawn.jobs.curDriver as JobDriver_Sex).Partner?.jobs?.curDriver != null && ((pawn.jobs.curDriver as JobDriver_Sex).Partner.jobs.curDriver as JobDriver_Sex).neverendingsex)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return IsNeverEndingSex(pawn) || IsNeverEndingSexPartner(pawn);
|
||||
}
|
||||
|
||||
return false;
|
||||
public static bool IsNeverEndingSex(Pawn pawn)
|
||||
{
|
||||
bool hasDriver = pawn?.jobs?.curDriver != null;
|
||||
if (!hasDriver)
|
||||
return false;
|
||||
|
||||
return (pawn.jobs.curDriver is JobDriver_Sex jds) && jds.neverendingsex;
|
||||
}
|
||||
|
||||
public static bool IsNeverEndingSexPartner(Pawn pawn)
|
||||
{
|
||||
bool hasDriver = pawn?.jobs?.curDriver != null;
|
||||
if (!hasDriver)
|
||||
return false;
|
||||
|
||||
var partner = (pawn.jobs.curDriver is JobDriver_SexBaseReciever jds) ? jds.Partner : null;
|
||||
if (partner == null)
|
||||
return false;
|
||||
|
||||
return IsNeverEndingSex(partner);
|
||||
}
|
||||
|
||||
public void ResetOnLoop()
|
||||
|
|
Binary file not shown.
1534
1.4/Defs/AnimationDefs/AggressiveDoggy.xml
Normal file
1534
1.4/Defs/AnimationDefs/AggressiveDoggy.xml
Normal file
File diff suppressed because it is too large
Load diff
1921
1.4/Defs/AnimationDefs/DoubleBlowjob.xml
Normal file
1921
1.4/Defs/AnimationDefs/DoubleBlowjob.xml
Normal file
File diff suppressed because it is too large
Load diff
686
1.4/Defs/AnimationDefs/FacingForwardFuck.xml
Normal file
686
1.4/Defs/AnimationDefs/FacingForwardFuck.xml
Normal file
|
@ -0,0 +1,686 @@
|
|||
<?xml version="1.0"?>
|
||||
<Defs>
|
||||
<Rimworld_Animations.AnimationDef>
|
||||
<defName>FacingForwardFuck</defName>
|
||||
<label>facing forward fuck</label>
|
||||
<sounds>true</sounds>
|
||||
<sexTypes>
|
||||
<li>Vaginal</li>
|
||||
<li>Anal</li>
|
||||
<li>None</li>
|
||||
</sexTypes>
|
||||
<interactionDefTypes>
|
||||
<li>Rape_Anal</li>
|
||||
<li>Rape_Cunnilingus</li>
|
||||
<li>Rape_Vaginal</li>
|
||||
<li>Rape_Reverse_Anal</li>
|
||||
<li>Rape_Reverse_Vaginal</li>
|
||||
<li>Sex_Reverse_Anal</li>
|
||||
<li>Sex_Reverse_Vaginal</li>
|
||||
<li>Sex_Anal</li>
|
||||
<li>Sex_Vaginal</li>
|
||||
</interactionDefTypes>
|
||||
<actors>
|
||||
<li>
|
||||
<defNames>
|
||||
<li>Human</li>
|
||||
</defNames>
|
||||
<bodyTypeOffset>
|
||||
<Male>(0, -0.05)</Male>
|
||||
<Thin>(0, -0.05)</Thin>
|
||||
<Hulk>(0.07, 0.15)</Hulk>
|
||||
</bodyTypeOffset>
|
||||
</li>
|
||||
<li>
|
||||
<defNames>
|
||||
<li>Human</li>
|
||||
</defNames>
|
||||
<requiredGenitals>
|
||||
<li>Penis</li>
|
||||
</requiredGenitals>
|
||||
<controlGenitalAngle>true</controlGenitalAngle>
|
||||
<bodyTypeOffset>
|
||||
<Female>(-0.03, 0.03)</Female>
|
||||
<Hulk>(-0.05, 0.2)</Hulk>
|
||||
<Fat>(-0.02, 0.05)</Fat>
|
||||
</bodyTypeOffset>
|
||||
</li>
|
||||
</actors>
|
||||
<animationStages>
|
||||
<li>
|
||||
<stageName>SlowFuck</stageName>
|
||||
<playTimeTicks>500</playTimeTicks>
|
||||
<playTimeTicksQuick>300</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>63</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.09562898</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>36</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>63</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>36</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>FemaleFaceForward</stageName>
|
||||
<playTimeTicks>200</playTimeTicks>
|
||||
<playTimeTicksQuick>100</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.393279</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>64</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>7.09635925</headAngle>
|
||||
<headBob>-0.06650379</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>35</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.393279</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>64</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>35</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>HipMovement</stageName>
|
||||
<playTimeTicks>300</playTimeTicks>
|
||||
<playTimeTicksQuick>200</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.393279</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>55</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>7.09635925</headAngle>
|
||||
<headBob>-0.06650379</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>20</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>20.0933418</bodyAngle>
|
||||
<headAngle>7.5340724</headAngle>
|
||||
<headBob>-0.0468387455</headBob>
|
||||
<bodyOffsetX>0.299985439</bodyOffsetX>
|
||||
<bodyOffsetZ>0.210036</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>24</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.393279</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>55</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>20</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.047</headBob>
|
||||
<bodyOffsetX>-0.021</bodyOffsetX>
|
||||
<bodyOffsetZ>0.047</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>5</genitalAngle>
|
||||
<tickDuration>24</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>MediumFuck</stageName>
|
||||
<playTimeTicks>560</playTimeTicks>
|
||||
<playTimeTicksQuick>280</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>39</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.09562898</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>30</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>39</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>30</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>FastFuckFaceForward</stageName>
|
||||
<playTimeTicks>360</playTimeTicks>
|
||||
<playTimeTicksQuick>270</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.393279</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>14</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>7.09635925</headAngle>
|
||||
<headBob>-0.06650379</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>15</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>8.489082</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>2</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>14</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>15</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>FastFuck</stageName>
|
||||
<playTimeTicks>144</playTimeTicks>
|
||||
<playTimeTicksQuick>72</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>8</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.09562898</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>9</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>8</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>9</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
<li>
|
||||
<stageName>Orgasm</stageName>
|
||||
<playTimeTicks>300</playTimeTicks>
|
||||
<playTimeTicksQuick>400</playTimeTicksQuick>
|
||||
<isLooping>true</isLooping>
|
||||
<animationClips>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>Pawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<quiver>true</quiver>
|
||||
<tickDuration>66</tickDuration>
|
||||
<soundEffect>Cum</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>0.0103825331</headBob>
|
||||
<bodyOffsetX>0.251721561</bodyOffsetX>
|
||||
<bodyOffsetZ>0.1278264</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>16</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>14.6821575</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.09562898</headBob>
|
||||
<bodyOffsetX>0.3166983</bodyOffsetX>
|
||||
<bodyOffsetZ>0.241406</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>17</tickDuration>
|
||||
<soundEffect>Slimy</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>16.6431561</bodyAngle>
|
||||
<headAngle>0.9831765</headAngle>
|
||||
<headBob>-0.0039331913</headBob>
|
||||
<bodyOffsetX>0.263521016</bodyOffsetX>
|
||||
<bodyOffsetZ>0.141592383</bodyOffsetZ>
|
||||
<headFacing>3</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<tickDuration>1</tickDuration>
|
||||
<soundEffect>None</soundEffect>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
<li Class="Rimworld_Animations.PawnAnimationClip">
|
||||
<layer>LayingPawn</layer>
|
||||
<keyframes>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>66</tickDuration>
|
||||
<soundEffect>Fuck</soundEffect>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.0120656937</headBob>
|
||||
<bodyOffsetX>-0.0200668052</bodyOffsetX>
|
||||
<bodyOffsetZ>0.0886991248</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>16</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.058226347</headBob>
|
||||
<bodyOffsetX>-0.0200669244</bodyOffsetX>
|
||||
<bodyOffsetZ>0.036534965</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>15</genitalAngle>
|
||||
<tickDuration>17</tickDuration>
|
||||
</li>
|
||||
<li>
|
||||
<bodyAngle>-19.129</bodyAngle>
|
||||
<headAngle>-14.649</headAngle>
|
||||
<headBob>0.022</headBob>
|
||||
<bodyOffsetX>-0.024</bodyOffsetX>
|
||||
<bodyOffsetZ>0.071</bodyOffsetZ>
|
||||
<headFacing>1</headFacing>
|
||||
<bodyFacing>2</bodyFacing>
|
||||
<genitalAngle>10</genitalAngle>
|
||||
<tickDuration>1</tickDuration>
|
||||
</li>
|
||||
</keyframes>
|
||||
</li>
|
||||
</animationClips>
|
||||
</li>
|
||||
</animationStages>
|
||||
</Rimworld_Animations.AnimationDef>
|
||||
</Defs>
|
1086
1.4/Defs/AnimationDefs/LezThreesome.xml
Normal file
1086
1.4/Defs/AnimationDefs/LezThreesome.xml
Normal file
File diff suppressed because it is too large
Load diff
1283
1.4/Defs/AnimationDefs/SidewaysBJ.xml
Normal file
1283
1.4/Defs/AnimationDefs/SidewaysBJ.xml
Normal file
File diff suppressed because it is too large
Load diff
|
@ -22,16 +22,10 @@ namespace Rimworld_Animations {
|
|||
|
||||
InteractionWithExtension interaction = InteractionHelper.GetWithExtension(sexProps.dictionaryKey);
|
||||
|
||||
|
||||
if(interaction.HasInteractionTag(InteractionTag.Reverse))
|
||||
{
|
||||
Pawn buffer = participants[1];
|
||||
participants[1] = participants[0];
|
||||
participants[0] = buffer;
|
||||
}
|
||||
|
||||
participants =
|
||||
participants.OrderBy(p => p.jobs.curDriver is rjw.JobDriver_SexBaseInitiator)
|
||||
participants.OrderBy(p =>
|
||||
p.jobs.curDriver is rjw.JobDriver_Sex
|
||||
&& !(p.jobs.curDriver as rjw.JobDriver_Sex).Sexprops.isReceiver)
|
||||
.OrderBy(p => rjw.xxx.can_fuck(p))
|
||||
.ToList();
|
||||
|
||||
|
@ -42,31 +36,36 @@ namespace Rimworld_Animations {
|
|||
|
||||
|
||||
if (x.actors.Count != localParticipants.Count) {
|
||||
Log.Message(x.defName.ToStringSafe() + " not selected -- doesn't match count");
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i < x.actors.Count; i++) {
|
||||
|
||||
if (rjw.RJWPreferenceSettings.Malesex == rjw.RJWPreferenceSettings.AllowedSex.Nohomo) {
|
||||
if (rjw.xxx.is_male(localParticipants[i]) && x.actors[i].isFucked) {
|
||||
|
||||
if (AnimationSettings.debugMode)
|
||||
Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " is fucked, shouldn't be due to homo rules");
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (x.actors[i].requiredGender != null && !x.actors[i].requiredGender.Contains(localParticipants[i].gender.ToStringSafe<Gender>()))
|
||||
{
|
||||
if (AnimationSettings.debugMode)
|
||||
{
|
||||
Log.Message(string.Concat(new string[]
|
||||
{
|
||||
x.defName.ToStringSafe<string>(),
|
||||
" not selected -- ",
|
||||
localParticipants[i].def.defName.ToStringSafe<string>(),
|
||||
" ",
|
||||
localParticipants[i].Name.ToStringSafe<Name>(),
|
||||
" does not match required gender"
|
||||
}));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (x.actors[i].requiredGender != null && !x.actors[i].requiredGender.Contains(localParticipants[i].gender.ToStringSafe<Gender>()))
|
||||
{
|
||||
if (AnimationSettings.debugMode)
|
||||
{
|
||||
Log.Message(string.Concat(new string[]
|
||||
{
|
||||
x.defName.ToStringSafe<string>(),
|
||||
" not selected -- ",
|
||||
localParticipants[i].def.defName.ToStringSafe<string>(),
|
||||
" ",
|
||||
localParticipants[i].Name.ToStringSafe<Name>(),
|
||||
" does not match required gender"
|
||||
}));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if ((x.actors[i].blacklistedRaces != null) && x.actors[i].blacklistedRaces.Contains(localParticipants[i].def.defName)) {
|
||||
if(AnimationSettings.debugMode)
|
||||
Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " is blacklisted");
|
||||
|
@ -101,7 +100,8 @@ namespace Rimworld_Animations {
|
|||
//genitals checking
|
||||
|
||||
if(!GenitalCheckForPawn(x.actors[i].requiredGenitals, localParticipants[i], out string failReason)) {
|
||||
Debug.Log("Didn't select " + x.defName + ", " + localParticipants[i].Name + " " + failReason);
|
||||
if (AnimationSettings.debugMode)
|
||||
Log.Message("Didn't select " + x.defName + ", " + localParticipants[i].Name + " " + failReason);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -124,8 +124,13 @@ namespace Rimworld_Animations {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (AnimationSettings.debugMode)
|
||||
Log.Message(x.defName.ToStringSafe() + " selected");
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
List<AnimationDef> optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.sexType.ToStringSafe()));
|
||||
if (optionsWithInteractionType.Any()) {
|
||||
if (AnimationSettings.debugMode)
|
||||
|
|
Binary file not shown.
|
@ -108,7 +108,16 @@ namespace Rimworld_Animations {
|
|||
|
||||
else
|
||||
{
|
||||
Quaternion addonRotation = Quaternion.AngleAxis(pawnAnimator.bodyAngle, Vector3.up);
|
||||
Quaternion addonRotation;
|
||||
if (AnimationSettings.controlGenitalRotation && ba.path.ToLower().Contains("penis"))
|
||||
{
|
||||
addonRotation = Quaternion.AngleAxis(pawnAnimator.genitalAngle, Vector3.up);
|
||||
}
|
||||
else
|
||||
{
|
||||
addonRotation = Quaternion.AngleAxis(pawnAnimator.bodyAngle, Vector3.up);
|
||||
}
|
||||
|
||||
if (AnimationSettings.controlGenitalRotation && pawnAnimator.controlGenitalAngle && ba?.hediffGraphics != null && ba.hediffGraphics.Count != 0 && ba.hediffGraphics[0]?.path != null && (ba.hediffGraphics[0].path.Contains("Penis") || ba.hediffGraphics[0].path.Contains("penis")))
|
||||
{
|
||||
GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: rotation), loc: vector + (ba.alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue