updated for rjw 4.2.6 + fixed potential bug with speed >1x

This commit is contained in:
Platinum 2020-06-16 19:35:14 -07:00
parent 2f046a7977
commit 7f9ee0104e
6 changed files with 386 additions and 11 deletions

View File

@ -0,0 +1,373 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Rimworld_Animations.AnimationDef>
<defName>Missionary</defName>
<label>missionary</label>
<sounds>true</sounds>
<sexTypes>
<li>Vaginal</li>
<li>Anal</li>
</sexTypes>
<actors>
<li>
<!--each type cooresponds to an animation clip in each animationStage-->
<defNames>
<li>Human</li>
</defNames>
<isFucked>true</isFucked>
<bodyTypeOffset>
<Thin>(0.1, 0.1)</Thin>
</bodyTypeOffset>
</li>
<li>
<defNames>
<li>Human</li>
</defNames>
<isFucking>true</isFucking>
<initiator>true</initiator>
<bodyTypeOffset>
<Hulk>(0, 0.2)</Hulk>
</bodyTypeOffset>
</li>
</actors>
<animationStages>
<li>
<stageName>Slow_Insert</stageName>
<isLooping>false</isLooping>
<playTimeTicks>181</playTimeTicks>
<stageIndex>0</stageIndex>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">
<keyframes>
<li>
<tickDuration>120</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.76135</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.00123929977</bodyOffsetZ>
<bodyOffsetX>-0.288235933</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-85.3898849</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.30147323</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.78256</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.30147323</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
</keyframes>
</li>
<li Class="Rimworld_Animations.PawnAnimationClip">
<layer>LayingPawn</layer>
<keyframes>
<li>
<tickDuration>120</tickDuration>
<bodyAngle>-8.415361</bodyAngle>
<headAngle>-24.7466831</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.275328381</bodyOffsetZ>
<bodyOffsetX>0.5114879</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>11.5036926</bodyAngle>
<headAngle>-10.2523956</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.226816757</bodyOffsetZ>
<bodyOffsetX>0.3989886</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
<soundEffect>Slimy</soundEffect>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>3.36438</bodyAngle>
<headAngle>-18.3917084</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.233432038</bodyOffsetZ>
<bodyOffsetX>0.4034014</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
</keyframes>
</li>
</animationClips>
</li>
<li>
<stageName>Breathing</stageName>
<isLooping>true</isLooping>
<playTimeTicks>182</playTimeTicks>
<stageIndex>0</stageIndex>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">
<keyframes>
<li>
<tickDuration>45</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.78256</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.30147323</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>45</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.78256</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.33147323</bodyOffsetX>
<headBob>-0.03</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.78256</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.30147323</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
</keyframes>
</li>
<li Class="Rimworld_Animations.PawnAnimationClip">
<layer>LayingPawn</layer>
<keyframes>
<li>
<tickDuration>45</tickDuration>
<bodyAngle>3.36438</bodyAngle>
<headAngle>-18.3917084</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.233432038</bodyOffsetZ>
<bodyOffsetX>0.4034014</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>45</tickDuration>
<bodyAngle>3.36438</bodyAngle>
<headAngle>-18.3917084</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.273432038</bodyOffsetZ>
<bodyOffsetX>0.4034014</bodyOffsetX>
<headBob>-0.03</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>3.36438</bodyAngle>
<headAngle>-18.3917084</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.233432038</bodyOffsetZ>
<bodyOffsetX>0.4034014</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
</keyframes>
</li>
</animationClips>
</li>
<li>
<stageName>Slow_Fuck_Start</stageName>
<isLooping>true</isLooping>
<playTimeTicks></playTimeTicks>
<stageIndex>0</stageIndex>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">
<keyframes>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-77.78256</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.0254950486</bodyOffsetZ>
<bodyOffsetX>-0.30147323</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-72.1512451</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.025494989</bodyOffsetZ>
<bodyOffsetX>-0.29485938</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
</keyframes>
</li>
<li Class="Rimworld_Animations.PawnAnimationClip">
<layer>LayingPawn</layer>
<keyframes>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>3.36438</bodyAngle>
<headAngle>-18.3917084</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.233432038</bodyOffsetZ>
<bodyOffsetX>0.4034014</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-5.439103</bodyAngle>
<headAngle>-18.591362</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.253895342</bodyOffsetZ>
<bodyOffsetX>0.5181109</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
</keyframes>
</li>
</animationClips>
</li>
<li>
<stageName>Slow_Fuck</stageName>
<isLooping>true</isLooping>
<playTimeTicks>1212</playTimeTicks>
<stageIndex>0</stageIndex>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">
<keyframes>
<li>
<tickDuration>30</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-72.1512451</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.025494989</bodyOffsetZ>
<bodyOffsetX>-0.29485938</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>5</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-67.51352</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.025494989</bodyOffsetZ>
<bodyOffsetX>-0.279417485</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-67.51352</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.025494989</bodyOffsetZ>
<bodyOffsetX>-0.339417485</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-82.7437439</bodyAngle>
<headAngle>-72.1512451</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.025494989</bodyOffsetZ>
<bodyOffsetX>-0.29485938</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>1</bodyFacing>
<headFacing>1</headFacing>
</li>
</keyframes>
</li>
<li Class="Rimworld_Animations.PawnAnimationClip">
<layer>LayingPawn</layer>
<keyframes>
<li>
<tickDuration>30</tickDuration>
<bodyAngle>-5.439103</bodyAngle>
<headAngle>-18.591362</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.253895342</bodyOffsetZ>
<bodyOffsetX>0.5181109</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>5</tickDuration>
<bodyAngle>12.3350525</bodyAngle>
<headAngle>-14.779211</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.2605105</bodyOffsetZ>
<bodyOffsetX>0.449729085</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
<soundEffect>Fuck</soundEffect>
</li>
<li>
<tickDuration>60</tickDuration>
<bodyAngle>12.3350525</bodyAngle>
<headAngle>-14.779211</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.2605105</bodyOffsetZ>
<bodyOffsetX>0.389729085</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
<li>
<tickDuration>1</tickDuration>
<bodyAngle>-5.439103</bodyAngle>
<headAngle>-18.591362</headAngle>
<genitalAngle>0</genitalAngle>
<bodyOffsetZ>0.253895342</bodyOffsetZ>
<bodyOffsetX>0.5181109</bodyOffsetX>
<headBob>0</headBob>
<bodyFacing>3</bodyFacing>
<headFacing>3</headFacing>
</li>
</keyframes>
</li>
</animationClips>
</li>
</animationStages>
</Rimworld_Animations.AnimationDef>
</Defs>

View File

@ -188,8 +188,8 @@
</li>
</grains>
<volumeRange>
<min>15</min>
<max>25</max>
<min>45</min>
<max>75</max>
</volumeRange>
<pitchRange>
<min>1.4</min>
@ -197,7 +197,7 @@
</pitchRange>
<distRange>
<min>0</min>
<max>25</max>
<max>100</max>
</distRange>
<repeatMode>NeverTwice</repeatMode>
<sustainLoop>false</sustainLoop>

View File

@ -114,6 +114,7 @@
<Content Include="Defs\AnimationDefs\Animations_Masturbate.xml" />
<Content Include="Defs\AnimationDefs\Animations_Multi.xml" />
<Content Include="Defs\AnimationDefs\Animations_vanilla.xml" />
<Content Include="Defs\AnimationDefs\Animations_Vanilla2.xml" />
<Content Include="Defs\JobDefs\Jobs_SexForAnim.xml" />
<Content Include="Defs\MainTabDefs\MainButtonDef.xml" />
<Content Include="Defs\SoundDefs\Sounds_Sex.xml" />

View File

@ -82,11 +82,11 @@ namespace Rimworld_Animations {
}
//TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH
/*
if (x.defName != "Doggystyle")
return false;
*/
if (x.defName != "Missionary")
return false;
if (x.actors[i].isFucking && !rjw.xxx.can_fuck(localParticipants[i])) {
Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't fuck");

View File

@ -104,8 +104,6 @@ namespace Rimworld_Animations {
}
public void StartAnimation(AnimationDef anim, int actor, bool mirror = false, bool shiver = false, bool fastAnimForQuickie = false) {
isAnimating = true;
AlienRaceOffset raceOffset = anim?.actors[actor]?.raceOffsets?.Find(x => x.defName == pawn.def.defName);
if (raceOffset != null) {
@ -153,9 +151,12 @@ namespace Rimworld_Animations {
controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
isAnimating = true;
//tick once for initialization
tickAnim();
}
public override void CompTick() {
@ -261,9 +262,9 @@ namespace Rimworld_Animations {
public void calculateDrawValues() {
if(Find.TickManager.TickRateMultiplier > 1 && (lastDrawFrame + 1 >= RealTime.frameCount || RealTime.deltaTime < 0.05f)) {
/*if(Find.TickManager.TickRateMultiplier > 1 && (lastDrawFrame + 1 >= RealTime.frameCount || RealTime.deltaTime < 0.05f)) {
return;
}
}*/
deltaPos = new Vector3(clip.BodyOffsetX.Evaluate(clipPercent) * (mirror ? -1 : 1), clip.layer.AltitudeFor(), clip.BodyOffsetZ.Evaluate(clipPercent));