mirror of
				https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
				synced 2024-08-15 00:43:45 +00:00 
			
		
		
		
	genital rotation, requires special ver. of RimNudeWorld. Enable in options
This commit is contained in:
		
							parent
							
								
									89d93091b0
								
							
						
					
					
						commit
						1707afaa4d
					
				
					 9 changed files with 69 additions and 25 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -471,6 +471,7 @@
 | 
			
		|||
          <li>Human</li>
 | 
			
		||||
        </defNames>
 | 
			
		||||
        <isFucking>true</isFucking>
 | 
			
		||||
        <controlGenitalAngle>true</controlGenitalAngle>
 | 
			
		||||
        <initiator>true</initiator>
 | 
			
		||||
      </li>
 | 
			
		||||
    </actors>
 | 
			
		||||
| 
						 | 
				
			
			@ -622,6 +623,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>59</tickDuration>
 | 
			
		||||
| 
						 | 
				
			
			@ -641,6 +643,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -698,6 +701,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>14</tickDuration>
 | 
			
		||||
| 
						 | 
				
			
			@ -717,6 +721,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -801,6 +806,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>7</tickDuration>
 | 
			
		||||
| 
						 | 
				
			
			@ -849,6 +855,7 @@
 | 
			
		|||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>90</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -1968,8 +1975,6 @@
 | 
			
		|||
      <li>Vaginal</li>
 | 
			
		||||
    </sexTypes>
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    <actors>
 | 
			
		||||
      
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -1986,6 +1991,7 @@
 | 
			
		|||
          <li>Human</li>
 | 
			
		||||
        </defNames>
 | 
			
		||||
        <isFucking>true</isFucking>
 | 
			
		||||
        <controlGenitalAngle>true</controlGenitalAngle>
 | 
			
		||||
      </li>
 | 
			
		||||
      
 | 
			
		||||
    </actors>
 | 
			
		||||
| 
						 | 
				
			
			@ -2178,30 +2184,33 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>33</tickDuration>
 | 
			
		||||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.213</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.313</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0.045</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>1</tickDuration>
 | 
			
		||||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -2256,30 +2265,33 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>13</tickDuration>
 | 
			
		||||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.213</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.313</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0.045</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>1</tickDuration>
 | 
			
		||||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -2420,17 +2432,18 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
              <li>
 | 
			
		||||
                <tickDuration>10</tickDuration>
 | 
			
		||||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.213</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.313</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0.045</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2440,7 +2453,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2451,7 +2464,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2461,7 +2474,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.213</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.313</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0.045</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2471,7 +2484,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2482,7 +2495,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2492,7 +2505,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.213</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.313</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0.045</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2502,7 +2515,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2512,7 +2525,7 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
| 
						 | 
				
			
			@ -2522,10 +2535,11 @@
 | 
			
		|||
                <bodyAngle>180</bodyAngle>
 | 
			
		||||
                <headAngle>180</headAngle>
 | 
			
		||||
                <bodyOffsetX>0</bodyOffsetX>
 | 
			
		||||
                <bodyOffsetZ>-0.263</bodyOffsetZ>
 | 
			
		||||
                <bodyOffsetZ>-0.363</bodyOffsetZ>
 | 
			
		||||
                <bodyFacing>2</bodyFacing>
 | 
			
		||||
                <headFacing>2</headFacing>
 | 
			
		||||
                <headBob>0</headBob>
 | 
			
		||||
                <genitalAngle>0</genitalAngle>
 | 
			
		||||
              </li>
 | 
			
		||||
            </keyframes>
 | 
			
		||||
          </li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,7 @@ namespace Rimworld_Animations {
 | 
			
		|||
        public string gender;
 | 
			
		||||
        public bool isFucking = false;
 | 
			
		||||
        public bool isFucked = false;
 | 
			
		||||
        public bool controlGenitalAngle = false;
 | 
			
		||||
        public Vector3 offset = new Vector2(0, 0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,10 +77,10 @@ namespace Rimworld_Animations {
 | 
			
		|||
                    }
 | 
			
		||||
 | 
			
		||||
                    //TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH
 | 
			
		||||
                    /*
 | 
			
		||||
                    if (x.defName != "Test")
 | 
			
		||||
                    
 | 
			
		||||
                    if (x.defName != "Cowgirl")
 | 
			
		||||
                        return false;
 | 
			
		||||
                    */
 | 
			
		||||
                    
 | 
			
		||||
                    
 | 
			
		||||
 | 
			
		||||
                    if (x.actors[i].isFucking && !rjw.xxx.can_fuck(localParticipants[i])) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@ namespace Rimworld_Animations {
 | 
			
		|||
 | 
			
		||||
        public Dictionary<int, string> SoundEffects = new Dictionary<int, string>();
 | 
			
		||||
        public Dictionary<int, bool> quiver = new Dictionary<int, bool>();
 | 
			
		||||
        public SimpleCurve GenitalAngle = new SimpleCurve();
 | 
			
		||||
        public SimpleCurve BodyAngle = new SimpleCurve();
 | 
			
		||||
        public SimpleCurve HeadAngle = new SimpleCurve();
 | 
			
		||||
        public SimpleCurve HeadBob = new SimpleCurve();
 | 
			
		||||
| 
						 | 
				
			
			@ -60,9 +61,14 @@ namespace Rimworld_Animations {
 | 
			
		|||
                    if (frame.headBob.HasValue)
 | 
			
		||||
                        HeadBob.Add((float)frame.atTick / (float)duration, frame.headBob.Value, true);
 | 
			
		||||
 | 
			
		||||
                    if (frame.genitalAngle.HasValue)
 | 
			
		||||
                        GenitalAngle.Add((float)frame.atTick / (float)duration, frame.genitalAngle.Value, true);
 | 
			
		||||
 | 
			
		||||
                    if (frame.soundEffect != null) {
 | 
			
		||||
                        SoundEffects.Add((int)frame.atTick, frame.soundEffect);
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    if (frame.bodyAngle.HasValue)
 | 
			
		||||
| 
						 | 
				
			
			@ -86,6 +92,9 @@ namespace Rimworld_Animations {
 | 
			
		|||
                    if (frame.headBob.HasValue)
 | 
			
		||||
                        HeadBob.Add((float)keyframePosition / (float)duration, frame.headBob.Value, true);
 | 
			
		||||
 | 
			
		||||
                    if (frame.genitalAngle.HasValue)
 | 
			
		||||
                        GenitalAngle.Add((float)keyframePosition / (float)duration, frame.genitalAngle.Value, true);
 | 
			
		||||
 | 
			
		||||
                    if (frame.soundEffect != null) {
 | 
			
		||||
                        SoundEffects.Add(keyframePosition, frame.soundEffect);
 | 
			
		||||
                    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,8 @@ namespace Rimworld_Animations {
 | 
			
		|||
        public float? bodyAngle;
 | 
			
		||||
        public float? headAngle;
 | 
			
		||||
 | 
			
		||||
        public float? genitalAngle;
 | 
			
		||||
 | 
			
		||||
        public float? bodyOffsetZ;
 | 
			
		||||
        public float? bodyOffsetX;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,9 +43,11 @@ namespace Rimworld_Animations {
 | 
			
		|||
        private float clipPercent = 0;
 | 
			
		||||
 | 
			
		||||
        public Vector3 anchor, deltaPos, headBob;
 | 
			
		||||
        public float bodyAngle, headAngle;
 | 
			
		||||
        public float bodyAngle, headAngle, genitalAngle;
 | 
			
		||||
        public Rot4 headFacing, bodyFacing;
 | 
			
		||||
 | 
			
		||||
        public bool controlGenitalAngle = false;
 | 
			
		||||
 | 
			
		||||
        private AnimationDef anim;
 | 
			
		||||
        private AnimationStage stage => anim.animationStages[curStage];
 | 
			
		||||
        private PawnAnimationClip clip => (PawnAnimationClip)stage.animationClips[actor];
 | 
			
		||||
| 
						 | 
				
			
			@ -117,6 +119,8 @@ namespace Rimworld_Animations {
 | 
			
		|||
            quiver = false;
 | 
			
		||||
            this.shiver = shiver && AnimationSettings.rapeShiver;
 | 
			
		||||
 | 
			
		||||
            controlGenitalAngle = anim.actors[actor].controlGenitalAngle;
 | 
			
		||||
 | 
			
		||||
            //tick once for initialization
 | 
			
		||||
            tickAnim();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -218,6 +222,11 @@ namespace Rimworld_Animations {
 | 
			
		|||
            if (headAngle < 0) headAngle = 360 - ((-1f * headAngle) % 360);
 | 
			
		||||
            if (headAngle > 360) headAngle %= 360;
 | 
			
		||||
 | 
			
		||||
            if (controlGenitalAngle) {
 | 
			
		||||
                genitalAngle = clip.GenitalAngle.Evaluate(clipPercent) * (mirror ? -1 : 1);
 | 
			
		||||
                if (genitalAngle < 0) genitalAngle = 360 - ((-1f * genitalAngle) % 360);
 | 
			
		||||
                if (genitalAngle > 360) genitalAngle %= 360;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            bodyFacing = mirror ? new Rot4((int)clip.BodyFacing.Evaluate(clipPercent)).Opposite : new Rot4((int)clip.BodyFacing.Evaluate(clipPercent));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -231,6 +240,7 @@ namespace Rimworld_Animations {
 | 
			
		|||
                headFacing = headFacing.Opposite;
 | 
			
		||||
            }
 | 
			
		||||
            headBob = new Vector3(0, 0, clip.HeadBob.Evaluate(clipPercent));
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Vector3 getPawnHeadPosition() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,10 +125,16 @@ namespace Rimworld_Animations {
 | 
			
		|||
						quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * headQuatInAnimation, mat: alienComp.addonGraphics[index: i].MatAt(rot: pawnAnimator.headFacing), drawNow: portrait);
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				else {
 | 
			
		||||
 | 
			
		||||
					Quaternion addonRotation = quat;
 | 
			
		||||
					if (AnimationSettings.controlGenitalRotation && pawnAnimator.controlGenitalAngle && ba.hediffGraphics[0] != null && (ba.hediffGraphics[0].path.Contains("Penis") || ba.hediffGraphics[0].path.Contains("penis"))) {
 | 
			
		||||
						addonRotation = Quaternion.AngleAxis(angle: pawnAnimator.genitalAngle, axis: Vector3.up);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					GenDraw.DrawMeshNowOrLater(mesh: alienComp.addonGraphics[index: i].MeshAt(rot: rotation), loc: vector + offsetVector.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: quat)) * 2f * 57.29578f),
 | 
			
		||||
					quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * quat, mat: alienComp.addonGraphics[index: i].MatAt(rot: rotation), drawNow: portrait);
 | 
			
		||||
					quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * addonRotation, mat: alienComp.addonGraphics[index: i].MatAt(rot: rotation), drawNow: portrait);
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,13 +9,14 @@ using UnityEngine;
 | 
			
		|||
namespace Rimworld_Animations {
 | 
			
		||||
    public class AnimationSettings : ModSettings {
 | 
			
		||||
 | 
			
		||||
        public static bool orgasmQuiver, rapeShiver, soundOverride = true, hearts = true;
 | 
			
		||||
        public static bool orgasmQuiver, rapeShiver, soundOverride = true, hearts = true, controlGenitalRotation = false;
 | 
			
		||||
        public static float shiverIntensity = 2f;
 | 
			
		||||
 | 
			
		||||
        public override void ExposeData() {
 | 
			
		||||
 | 
			
		||||
            base.ExposeData();
 | 
			
		||||
 | 
			
		||||
            Scribe_Values.Look(ref controlGenitalRotation, "controlGenitalRotation", false);
 | 
			
		||||
            Scribe_Values.Look(ref orgasmQuiver, "orgasmQuiver");
 | 
			
		||||
            Scribe_Values.Look(ref rapeShiver, "rapeShiver");
 | 
			
		||||
            Scribe_Values.Look(ref hearts, "heartsOnLovin");
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +40,7 @@ namespace Rimworld_Animations {
 | 
			
		|||
            listingStandard.Begin(inRect);
 | 
			
		||||
 | 
			
		||||
            listingStandard.CheckboxLabeled("Enable Sound Override", ref AnimationSettings.soundOverride);
 | 
			
		||||
            listingStandard.CheckboxLabeled("Control Genital Rotation", ref AnimationSettings.controlGenitalRotation);
 | 
			
		||||
            listingStandard.CheckboxLabeled("Enable Orgasm Quiver", ref AnimationSettings.orgasmQuiver);
 | 
			
		||||
            listingStandard.CheckboxLabeled("Enable Rape Shiver", ref AnimationSettings.rapeShiver);
 | 
			
		||||
            listingStandard.CheckboxLabeled("Enable hearts during lovin'", ref AnimationSettings.hearts);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue