mirror of
				https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
				synced 2024-08-15 00:43:45 +00:00 
			
		
		
		
	naming conventions for animations
This commit is contained in:
		
							parent
							
								
									8363cddd6a
								
							
						
					
					
						commit
						43944ed90b
					
				
					 68 changed files with 236 additions and 1627 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -10,8 +10,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male1</li>
 | 
			
		||||
							<li>Blowjob_Female1</li>
 | 
			
		||||
							<li>Blowjob_Initiator1</li>
 | 
			
		||||
							<li>Blowjob_Receiver1</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -33,8 +33,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male3</li>
 | 
			
		||||
							<li>Blowjob_Female3</li>
 | 
			
		||||
							<li>Blowjob_Initiator3</li>
 | 
			
		||||
							<li>Blowjob_Receiver3</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -56,8 +56,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male5</li>
 | 
			
		||||
							<li>Blowjob_Female5</li>
 | 
			
		||||
							<li>Blowjob_Initiator5</li>
 | 
			
		||||
							<li>Blowjob_Receiver5</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -129,8 +129,8 @@
 | 
			
		|||
		
 | 
			
		||||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -145,8 +145,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male2a</li>
 | 
			
		||||
							<li>Blowjob_Female2a</li>
 | 
			
		||||
							<li>Blowjob_Initiator2a</li>
 | 
			
		||||
							<li>Blowjob_Receiver2a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -155,8 +155,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -171,8 +171,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male2b</li>
 | 
			
		||||
							<li>Blowjob_Female2b</li>
 | 
			
		||||
							<li>Blowjob_Initiator2b</li>
 | 
			
		||||
							<li>Blowjob_Receiver2b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -181,8 +181,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -197,8 +197,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male2c</li>
 | 
			
		||||
							<li>Blowjob_Female2c</li>
 | 
			
		||||
							<li>Blowjob_Initiator2c</li>
 | 
			
		||||
							<li>Blowjob_Receiver2c</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +207,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -223,8 +223,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male4a</li>
 | 
			
		||||
							<li>Blowjob_Female4a</li>
 | 
			
		||||
							<li>Blowjob_Initiator4a</li>
 | 
			
		||||
							<li>Blowjob_Receiver4a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -233,8 +233,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li>
 | 
			
		||||
			<li>Offset_Blowjob_Female</li>
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li>
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -249,8 +249,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male4b</li>
 | 
			
		||||
							<li>Blowjob_Female4b</li>
 | 
			
		||||
							<li>Blowjob_Initiator4b</li>
 | 
			
		||||
							<li>Blowjob_Receiver4b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -259,8 +259,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li>
 | 
			
		||||
			<li>Offset_Blowjob_Female</li>
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li>
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -275,8 +275,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male4a</li>
 | 
			
		||||
							<li>Blowjob_Female4a</li>
 | 
			
		||||
							<li>Blowjob_Initiator4a</li>
 | 
			
		||||
							<li>Blowjob_Receiver4a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -288,8 +288,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male4c</li>
 | 
			
		||||
							<li>Blowjob_Female4c</li>
 | 
			
		||||
							<li>Blowjob_Initiator4c</li>
 | 
			
		||||
							<li>Blowjob_Receiver4c</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -301,8 +301,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male4a</li>
 | 
			
		||||
							<li>Blowjob_Female4a</li>
 | 
			
		||||
							<li>Blowjob_Initiator4a</li>
 | 
			
		||||
							<li>Blowjob_Receiver4a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -311,8 +311,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li>
 | 
			
		||||
			<li>Offset_Blowjob_Female</li>
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li>
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -327,8 +327,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male6a</li>
 | 
			
		||||
							<li>Blowjob_Female6a</li>
 | 
			
		||||
							<li>Blowjob_Initiator6a</li>
 | 
			
		||||
							<li>Blowjob_Receiver6a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -337,8 +337,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li>
 | 
			
		||||
			<li>Offset_Blowjob_Female</li>
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li>
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -353,8 +353,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Blowjob_Male6b</li>
 | 
			
		||||
							<li>Blowjob_Female6b</li>
 | 
			
		||||
							<li>Blowjob_Initiator6b</li>
 | 
			
		||||
							<li>Blowjob_Receiver6b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -363,8 +363,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Blowjob_Male</li>
 | 
			
		||||
			<li>Offset_Blowjob_Female</li>
 | 
			
		||||
			<li>Offset_Blowjob_Initiator</li>
 | 
			
		||||
			<li>Offset_Blowjob_Receiver</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?> 
 | 
			
		||||
<Defs>
 | 
			
		||||
	<Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
		<defName>Offset_Blowjob_Female</defName>
 | 
			
		||||
		<defName>Offset_Blowjob_Receiver</defName>
 | 
			
		||||
		<offsets>
 | 
			
		||||
			<li Class="Rimworld_Animations.AnimationOffset_BodyType">
 | 
			
		||||
				<races>
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@
 | 
			
		|||
	</Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
 | 
			
		||||
	<Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
		<defName>Offset_Blowjob_Male</defName>
 | 
			
		||||
		<defName>Offset_Blowjob_Initiator</defName>
 | 
			
		||||
		<offsets>
 | 
			
		||||
			<li Class="Rimworld_Animations.AnimationOffset_BodyType">
 | 
			
		||||
				<races>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male1</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator1</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +100,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female1</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver1</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male2a</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator2a</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female2a</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver2a</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male2b</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator2b</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female2b</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver2b</defName>
 | 
			
		||||
    <durationTicks>60</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male2c</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator2c</defName>
 | 
			
		||||
    <durationTicks>80</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female2c</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver2c</defName>
 | 
			
		||||
    <durationTicks>80</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male3</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +57,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female3</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male4a</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator4a</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female4a</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver4a</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male4b</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator4b</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female4b</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver4b</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male4c</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator4c</defName>
 | 
			
		||||
    <durationTicks>120</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female4c</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver4c</defName>
 | 
			
		||||
    <durationTicks>120</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male5</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator5</defName>
 | 
			
		||||
    <durationTicks>15</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female5</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver5</defName>
 | 
			
		||||
    <durationTicks>15</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male6a</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator6a</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -193,7 +193,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female6a</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver6a</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Male6b</defName>
 | 
			
		||||
    <defName>Blowjob_Initiator6b</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +205,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Blowjob_Female6b</defName>
 | 
			
		||||
    <defName>Blowjob_Receiver6b</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage1</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage1</defName>
 | 
			
		||||
    <durationTicks>150</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage1</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage1</defName>
 | 
			
		||||
    <durationTicks>150</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage2_1</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage2_1</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +67,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage2_1</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage2_1</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage2_2</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage2_2</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +67,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage2_2</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage2_2</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage2_3</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage2_3</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +67,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage2_3</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage2_3</defName>
 | 
			
		||||
    <durationTicks>30</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage3</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +80,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage3</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage4</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage4</defName>
 | 
			
		||||
    <durationTicks>200</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -117,7 +117,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage4</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage4</defName>
 | 
			
		||||
    <durationTicks>200</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Male_Cowgirl_Stage1_5</defName>
 | 
			
		||||
    <defName>Initiator_Cowgirl_Stage1_5</defName>
 | 
			
		||||
    <durationTicks>55</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>Female_Cowgirl_Stage1_5</defName>
 | 
			
		||||
    <defName>Receiver_Cowgirl_Stage1_5</defName>
 | 
			
		||||
    <durationTicks>55</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,8 +10,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage1</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage1</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage1</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage1</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -24,8 +24,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage1_5</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage1_5</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage1_5</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage1_5</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -47,8 +47,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage3</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage3</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage3</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage3</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -61,8 +61,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage4</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage4</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage4</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage4</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -131,8 +131,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage2_1</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage2_1</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage2_1</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage2_1</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -157,8 +157,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage2_2</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage2_2</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage2_2</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage2_2</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -183,8 +183,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>Male_Cowgirl_Stage2_3</li>
 | 
			
		||||
							<li>Female_Cowgirl_Stage2_3</li>
 | 
			
		||||
							<li>Initiator_Cowgirl_Stage2_3</li>
 | 
			
		||||
							<li>Receiver_Cowgirl_Stage2_3</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,9 +10,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage1</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage1</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage1</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage1</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage1</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage1</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -35,9 +35,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage3</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage3</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage3</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage3</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage3</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage3</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -50,9 +50,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage4</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage4</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage4</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage4</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage4</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage4</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +119,7 @@
 | 
			
		|||
		</contexts>
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li> 
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -137,9 +137,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2a</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2a</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2a</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2a</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2a</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +149,7 @@
 | 
			
		|||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -165,9 +165,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2b</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2b</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2b</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2b</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2b</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -177,7 +177,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -193,9 +193,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2c</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2c</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2c</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2c</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2c</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2c</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +205,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -221,9 +221,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2a</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2a</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2a</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2a</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2a</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -235,9 +235,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2d</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2d</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2d</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2d</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2d</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2d</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -250,9 +250,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage2b</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage2b</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage2b</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage2b</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage2b</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage2b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +262,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -278,9 +278,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage5a</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage5a</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage5a</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage5a</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage5a</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage5a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -290,7 +290,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -306,9 +306,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage5b</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage5b</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage5b</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage5b</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage5b</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage5b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -318,7 +318,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -334,9 +334,9 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_DP_Stage5c</li>
 | 
			
		||||
							<li>FemalePawn_DP_Stage5c</li>
 | 
			
		||||
							<li>MalePawn2_DP_Stage5c</li>
 | 
			
		||||
							<li>InitiatorPawn_DP_Stage5c</li>
 | 
			
		||||
							<li>ReceiverPawn_DP_Stage5c</li>
 | 
			
		||||
							<li>InitiatorPawn2_DP_Stage5c</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -346,7 +346,7 @@
 | 
			
		|||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
			<li>Offset_DP_FemalePawn</li>
 | 
			
		||||
			<li>Offset_DP_ReceiverPawn</li>
 | 
			
		||||
			<li>Offset_Placeholder</li>
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?> 
 | 
			
		||||
<Defs>
 | 
			
		||||
	<Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
		<defName>Offset_DP_FemalePawn</defName>
 | 
			
		||||
		<defName>Offset_DP_ReceiverPawn</defName>
 | 
			
		||||
		<offsets>
 | 
			
		||||
			<li Class="Rimworld_Animations.AnimationOffset_BodyType">
 | 
			
		||||
				<races>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage1</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage1</defName>
 | 
			
		||||
    <durationTicks>80</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +70,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage1</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage1</defName>
 | 
			
		||||
    <durationTicks>80</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage1</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage1</defName>
 | 
			
		||||
    <durationTicks>80</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage2a</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage2a</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +64,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage2a</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage2a</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage2a</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage2a</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage2b</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage2b</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +63,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage2b</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage2b</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -113,7 +113,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage2b</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage2b</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage2c</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage2c</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +70,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage2c</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage2c</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -127,7 +127,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage2c</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage2c</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage2d</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage2d</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +63,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage2d</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage2d</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -133,7 +133,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage2d</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage2d</defName>
 | 
			
		||||
    <durationTicks>40</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage3</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +64,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage3</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +126,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage3</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage3</defName>
 | 
			
		||||
    <durationTicks>25</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage4</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage4</defName>
 | 
			
		||||
    <durationTicks>17</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +64,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage4</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage4</defName>
 | 
			
		||||
    <durationTicks>17</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +126,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage4</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage4</defName>
 | 
			
		||||
    <durationTicks>17</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
	<!-- do not use; only for reference -->
 | 
			
		||||
	<!-- 
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn</defName>
 | 
			
		||||
    <defName>InitiatorPawn</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +99,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn</defName>
 | 
			
		||||
    <defName>ReceiverPawn</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -148,7 +148,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2</defName>
 | 
			
		||||
    <defName>InitiatorPawn2</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage5a</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage5a</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +101,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage5a</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage5a</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage5a</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage5a</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage5b</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage5b</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +101,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage5b</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage5b</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +178,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage5b</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage5b</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_DP_Stage5c</defName>
 | 
			
		||||
    <defName>InitiatorPawn_DP_Stage5c</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +101,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_DP_Stage5c</defName>
 | 
			
		||||
    <defName>ReceiverPawn_DP_Stage5c</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +228,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn2_DP_Stage5c</defName>
 | 
			
		||||
    <defName>InitiatorPawn2_DP_Stage5c</defName>
 | 
			
		||||
    <durationTicks>180</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,8 +10,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage1</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage1</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage1</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage1</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -34,8 +34,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage3</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage3</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage3</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage3</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -48,8 +48,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage4</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage4</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage4</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage4</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -62,8 +62,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage5</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage5</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage5</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage5</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -76,8 +76,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage6</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage6</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage6</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage6</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -129,8 +129,8 @@
 | 
			
		|||
			
 | 
			
		||||
		</contexts>
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Missionary_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -145,8 +145,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage2a</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage2a</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage2a</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage2a</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -155,8 +155,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
		
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Missionary_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -171,8 +171,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage2b</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage2b</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage2b</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage2b</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -181,8 +181,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Missionary_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -197,8 +197,8 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>MalePawn_Missionary_Stage2c</li>
 | 
			
		||||
							<li>FemalePawn_Missionary_Stage2c</li>
 | 
			
		||||
							<li>InitiatorPawn_Missionary_Stage2c</li>
 | 
			
		||||
							<li>ReceiverPawn_Missionary_Stage2c</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
 | 
			
		||||
					</li>
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +207,8 @@
 | 
			
		|||
		</animationStages>
 | 
			
		||||
 | 
			
		||||
		<offsetDefs>
 | 
			
		||||
			<li>Offset_Missionary_Male</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Female</li> <!-- second pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Initiator</li> <!-- first pawn in animation -->
 | 
			
		||||
			<li>Offset_Missionary_Receiver</li> <!-- second pawn in animation -->
 | 
			
		||||
		</offsetDefs>
 | 
			
		||||
 | 
			
		||||
	</Rimworld_Animations.GroupAnimationDef>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<Defs>
 | 
			
		||||
	<Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
		<defName>Offset_Missionary_Female</defName>
 | 
			
		||||
		<defName>Offset_Missionary_Receiver</defName>
 | 
			
		||||
		<offsets>
 | 
			
		||||
			<li Class="Rimworld_Animations.AnimationOffset_BodyType">
 | 
			
		||||
				<races>
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
	</Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
	
 | 
			
		||||
		<Rimworld_Animations.AnimationOffsetDef>
 | 
			
		||||
		<defName>Offset_Missionary_Male</defName>
 | 
			
		||||
		<defName>Offset_Missionary_Initiator</defName>
 | 
			
		||||
		<offsets>
 | 
			
		||||
			<li Class="Rimworld_Animations.AnimationOffset_BodyType">
 | 
			
		||||
				<races>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage1</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage1</defName>
 | 
			
		||||
    <durationTicks>100</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage1</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage1</defName>
 | 
			
		||||
    <durationTicks>100</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage2a</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage2a</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage2a</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage2a</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage2b</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage2b</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage2b</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage2b</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage2c</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage2c</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage2c</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage2c</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage3</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage3</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage3</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage3</defName>
 | 
			
		||||
    <durationTicks>35</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage4</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage4</defName>
 | 
			
		||||
    <durationTicks>20</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage4</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage4</defName>
 | 
			
		||||
    <durationTicks>20</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage5</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage5</defName>
 | 
			
		||||
    <durationTicks>13</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage5</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage5</defName>
 | 
			
		||||
    <durationTicks>13</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Defs>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>MalePawn_Missionary_Stage6</defName>
 | 
			
		||||
    <defName>InitiatorPawn_Missionary_Stage6</defName>
 | 
			
		||||
    <durationTicks>200</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			@ -117,7 +117,7 @@
 | 
			
		|||
    </animationParts>
 | 
			
		||||
  </AnimationDef>
 | 
			
		||||
  <AnimationDef>
 | 
			
		||||
    <defName>FemalePawn_Missionary_Stage6</defName>
 | 
			
		||||
    <defName>ReceiverPawn_Missionary_Stage6</defName>
 | 
			
		||||
    <durationTicks>200</durationTicks>
 | 
			
		||||
    <animationParts>
 | 
			
		||||
      <li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ namespace Rimworld_Animations
 | 
			
		|||
    {
 | 
			
		||||
        static AnimationDefOf()
 | 
			
		||||
        {
 | 
			
		||||
            DefOfHelper.EnsureInitializedInCtor(typeof(SoundDefOf));
 | 
			
		||||
            DefOfHelper.EnsureInitializedInCtor(typeof(AnimationDefOf));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static AnimationDef TestAnimation1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,25 +4,23 @@
 | 
			
		|||
  <PropertyGroup>
 | 
			
		||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
			
		||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
			
		||||
    <ProjectGuid>{87763712-0536-4D5F-9EAA-520F15D4F84E}</ProjectGuid>
 | 
			
		||||
    <ProjectGuid>{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}</ProjectGuid>
 | 
			
		||||
    <OutputType>Library</OutputType>
 | 
			
		||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
			
		||||
    <RootNamespace>Patch_SexToysMasturbation</RootNamespace>
 | 
			
		||||
    <AssemblyName>Patch_SexToysMasturbation</AssemblyName>
 | 
			
		||||
    <RootNamespace>Milkable_Colonists_Animations</RootNamespace>
 | 
			
		||||
    <AssemblyName>Milkable-Colonists-Animations</AssemblyName>
 | 
			
		||||
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
 | 
			
		||||
    <FileAlignment>512</FileAlignment>
 | 
			
		||||
    <Deterministic>true</Deterministic>
 | 
			
		||||
    <TargetFrameworkProfile />
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
			
		||||
    <DebugSymbols>false</DebugSymbols>
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>1.5\Assemblies\</OutputPath>
 | 
			
		||||
    <OutputPath>bin\Debug\</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
| 
						 | 
				
			
			@ -34,26 +32,17 @@
 | 
			
		|||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="0Harmony">
 | 
			
		||||
      <HintPath>..\..\..\..\..\workshop\content\294100\1127530465\1.3\Assemblies\0Harmony.dll</HintPath>
 | 
			
		||||
      <HintPath>..\..\..\..\..\workshop\content\294100\839005762\1.5\Assemblies\0Harmony.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Assembly-CSharp">
 | 
			
		||||
      <HintPath>..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Rimworld-Animations, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\1.3\Assemblies\Rimworld-Animations.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="RJW">
 | 
			
		||||
      <HintPath>..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="RJW-ToysAndMasturbation">
 | 
			
		||||
      <HintPath>..\..\rjw-toys-and-masturbation\Assemblies\RJW-ToysAndMasturbation.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="System.Core" />
 | 
			
		||||
    <Reference Include="System.Xml.Linq" />
 | 
			
		||||
| 
						 | 
				
			
			@ -66,21 +55,10 @@
 | 
			
		|||
      <HintPath>..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="UnityEngine.CoreModule">
 | 
			
		||||
      <HintPath>..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
 | 
			
		||||
      <Private>False</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="1.5\Source\Defs\SexToyAnimationDef.cs" />
 | 
			
		||||
    <Compile Include="1.5\Source\Harmony\Harmony_PatchAll.cs" />
 | 
			
		||||
    <Compile Include="1.5\Source\Patches\HarmonyPatch_JobDriver_SexBaseInitiator.cs" />
 | 
			
		||||
    <Compile Include="1.5\Source\Utilities\AnimSexToyUtility.cs" />
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Folder Include="1.5\Assemblies\" />
 | 
			
		||||
    <Folder Include="1.5\Defs\AnimationDefs\" />
 | 
			
		||||
    <Compile Include="Source\Patches\Harmony_PatchAll.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
			
		||||
</Project>
 | 
			
		||||
| 
						 | 
				
			
			@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
 | 
			
		|||
// General Information about an assembly is controlled through the following
 | 
			
		||||
// set of attributes. Change these attribute values to modify the information
 | 
			
		||||
// associated with an assembly.
 | 
			
		||||
[assembly: AssemblyTitle("Patch_SexToysMasturbation")]
 | 
			
		||||
[assembly: AssemblyTitle("Milkable-Colonists-Animations")]
 | 
			
		||||
[assembly: AssemblyDescription("")]
 | 
			
		||||
[assembly: AssemblyConfiguration("")]
 | 
			
		||||
[assembly: AssemblyCompany("")]
 | 
			
		||||
[assembly: AssemblyProduct("Patch_SexToysMasturbation")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright ©  2022")]
 | 
			
		||||
[assembly: AssemblyProduct("Milkable-Colonists-Animations")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright ©  2024")]
 | 
			
		||||
[assembly: AssemblyTrademark("")]
 | 
			
		||||
[assembly: AssemblyCulture("")]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
 | 
			
		|||
[assembly: ComVisible(false)]
 | 
			
		||||
 | 
			
		||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
			
		||||
[assembly: Guid("87763712-0536-4d5f-9eaa-520f15d4f84e")]
 | 
			
		||||
[assembly: Guid("11dc70af-ff23-4d4d-a4e5-6453664b1a12")]
 | 
			
		||||
 | 
			
		||||
// Version information for an assembly consists of the following four values:
 | 
			
		||||
//
 | 
			
		||||
| 
						 | 
				
			
			@ -7,15 +7,14 @@ using Verse;
 | 
			
		|||
using HarmonyLib;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
namespace MC_Animations {
 | 
			
		||||
 | 
			
		||||
    [StaticConstructorOnStartup]
 | 
			
		||||
    public static class Harmony_PatchAll {
 | 
			
		||||
 | 
			
		||||
        static Harmony_PatchAll() {
 | 
			
		||||
 | 
			
		||||
            Harmony val = new Harmony("harmonypatch");
 | 
			
		||||
            Harmony val = new Harmony("mcanim");
 | 
			
		||||
            val.PatchAll(Assembly.GetExecutingAssembly());
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -1,465 +0,0 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<Defs>
 | 
			
		||||
	<Patch_SexToysMasturbation.SexToyAnimationDef>
 | 
			
		||||
		<defName>Masturbation_DildoVaginal</defName>
 | 
			
		||||
		<label>dildo masturbation</label>
 | 
			
		||||
		<requiredBodyPart>vagina</requiredBodyPart>
 | 
			
		||||
		<sounds>true</sounds>
 | 
			
		||||
		<sexTypes>
 | 
			
		||||
			<li>Masturbation</li>
 | 
			
		||||
		</sexTypes>
 | 
			
		||||
		<actors>
 | 
			
		||||
			<li>
 | 
			
		||||
				<defNames>
 | 
			
		||||
					<li>Human</li>
 | 
			
		||||
				</defNames>
 | 
			
		||||
				<isFucked>true</isFucked>
 | 
			
		||||
			</li>
 | 
			
		||||
		</actors>
 | 
			
		||||
 | 
			
		||||
		<animationStages>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>Masturbating</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<playTimeTicks>917</playTimeTicks>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>40</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>76.4867554</bodyAngle>
 | 
			
		||||
								<headAngle>45.3887634</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0506898165</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08564949</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!-- in -->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>78.22131</bodyAngle>
 | 
			
		||||
								<headAngle>48.0072327</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.039129138</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.07794231</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>76.4867554</bodyAngle>
 | 
			
		||||
								<headAngle>45.3887634</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0506898165</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08564949</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>40</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.2783391</positionX>
 | 
			
		||||
								<positionZ>-0.0514066666</positionZ>
 | 
			
		||||
								<rotation>81.16443</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--in-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.1704393</positionX>
 | 
			
		||||
								<positionZ>-0.0668209046</positionZ>
 | 
			
		||||
								<rotation>72.8611145</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.2783391</positionX>
 | 
			
		||||
								<positionZ>-0.0514066666</positionZ>
 | 
			
		||||
								<rotation>81.16443</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>GettingIntoPosition</stageName>
 | 
			
		||||
				<isLooping>false</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>50</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>50</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>FastMasturbation</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<playTimeTicks>1610</playTimeTicks>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>20</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>25</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>25</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>20</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>VeryFastMasturbation</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<playTimeTicks>225</playTimeTicks>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>8</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>8</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>Orgasm</stageName>
 | 
			
		||||
				<isLooping>false</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>80</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>90</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>80</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>90</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
		</animationStages>
 | 
			
		||||
	</Patch_SexToysMasturbation.SexToyAnimationDef>
 | 
			
		||||
</Defs>
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -1,465 +0,0 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<Defs>
 | 
			
		||||
	<Patch_SexToysMasturbation.SexToyAnimationDef>
 | 
			
		||||
		<defName>Masturbation_DildoVaginal</defName>
 | 
			
		||||
		<label>dildo masturbation</label>
 | 
			
		||||
		<requiredBodyPart>vagina</requiredBodyPart>
 | 
			
		||||
		<sounds>true</sounds>
 | 
			
		||||
		<sexTypes>
 | 
			
		||||
			<li>Masturbation</li>
 | 
			
		||||
		</sexTypes>
 | 
			
		||||
		<actors>
 | 
			
		||||
			<li>
 | 
			
		||||
				<defNames>
 | 
			
		||||
					<li>Human</li>
 | 
			
		||||
				</defNames>
 | 
			
		||||
				<isFucked>true</isFucked>
 | 
			
		||||
			</li>
 | 
			
		||||
		</actors>
 | 
			
		||||
 | 
			
		||||
		<animationStages>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>Masturbating</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<playTimeTicks>917</playTimeTicks>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>40</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>76.4867554</bodyAngle>
 | 
			
		||||
								<headAngle>45.3887634</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0506898165</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08564949</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!-- in -->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>78.22131</bodyAngle>
 | 
			
		||||
								<headAngle>48.0072327</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.039129138</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.07794231</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<bodyAngle>76.4867554</bodyAngle>
 | 
			
		||||
								<headAngle>45.3887634</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0506898165</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08564949</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>40</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.2783391</positionX>
 | 
			
		||||
								<positionZ>-0.0514066666</positionZ>
 | 
			
		||||
								<rotation>81.16443</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--in-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.1704393</positionX>
 | 
			
		||||
								<positionZ>-0.0668209046</positionZ>
 | 
			
		||||
								<rotation>72.8611145</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--almost out-->
 | 
			
		||||
								<tickDuration>30</tickDuration>
 | 
			
		||||
								<positionX>-0.2783391</positionX>
 | 
			
		||||
								<positionZ>-0.0514066666</positionZ>
 | 
			
		||||
								<rotation>81.16443</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>GettingIntoPosition</stageName>
 | 
			
		||||
				<isLooping>false</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>50</tickDuration>
 | 
			
		||||
								<bodyAngle>73.01611</bodyAngle>
 | 
			
		||||
								<headAngle>40.0739746</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.054543376</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.112624526</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>50</tickDuration>
 | 
			
		||||
								<positionX>-0.359264076</positionX>
 | 
			
		||||
								<positionZ>-0.00901746</positionZ>
 | 
			
		||||
								<rotation>114.011215</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>FastMasturbation</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<playTimeTicks>1610</playTimeTicks>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>20</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>25</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>25</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>20</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>VeryFastMasturbation</stageName>
 | 
			
		||||
				<isLooping>true</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<playTimeTicks>225</playTimeTicks>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>8</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>8</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
			<li>
 | 
			
		||||
				<stageName>Orgasm</stageName>
 | 
			
		||||
				<isLooping>false</isLooping>
 | 
			
		||||
				<stageIndex>0</stageIndex>
 | 
			
		||||
				<animationClips>
 | 
			
		||||
					<li Class="Rimworld_Animations.PawnAnimationClip">
 | 
			
		||||
						<layer>LayingPawn</layer>
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<soundEffect>Slimy</soundEffect>
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>80</tickDuration>
 | 
			
		||||
								<bodyAngle>85.17255</bodyAngle>
 | 
			
		||||
								<headAngle>58.0615845</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03527552</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0471138731</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>90</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<quiver>True</quiver>
 | 
			
		||||
								<soundEffect>Cum</soundEffect>
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<bodyAngle>92.15109</bodyAngle>
 | 
			
		||||
								<headAngle>96.34238</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.0237147212</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.0432603136</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<bodyAngle>81.65927</bodyAngle>
 | 
			
		||||
								<headAngle>58.8843079</headAngle>
 | 
			
		||||
								<genitalAngle>0</genitalAngle>
 | 
			
		||||
								<bodyOffsetZ>0.03912908</bodyOffsetZ>
 | 
			
		||||
								<bodyOffsetX>0.08950315</bodyOffsetX>
 | 
			
		||||
								<headBob>0</headBob>
 | 
			
		||||
								<bodyFacing>3</bodyFacing>
 | 
			
		||||
								<headFacing>3</headFacing>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
					<li Class="Rimworld_Animations.ThingAnimationClip">
 | 
			
		||||
						<keyframes>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>6</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>80</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>90</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>70</tickDuration>
 | 
			
		||||
								<positionX>-0.178146541</positionX>
 | 
			
		||||
								<positionZ>-0.01672452</positionZ>
 | 
			
		||||
								<rotation>96.95889</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
							<li>
 | 
			
		||||
								<!--out-->
 | 
			
		||||
								<tickDuration>1</tickDuration>
 | 
			
		||||
								<positionX>-0.2899</positionX>
 | 
			
		||||
								<positionZ>-0.0282852575</positionZ>
 | 
			
		||||
								<rotation>98.13748</rotation>
 | 
			
		||||
							</li>
 | 
			
		||||
						</keyframes>
 | 
			
		||||
					</li>
 | 
			
		||||
				</animationClips>
 | 
			
		||||
			</li>
 | 
			
		||||
		</animationStages>
 | 
			
		||||
	</Patch_SexToysMasturbation.SexToyAnimationDef>
 | 
			
		||||
</Defs>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
using Rimworld_Animations;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class SexToyAnimationDef : AnimationDef
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public String requiredBodyPart = null;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,23 +0,0 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
using HarmonyLib;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    [StaticConstructorOnStartup]
 | 
			
		||||
    public static class Harmony_PatchAll {
 | 
			
		||||
 | 
			
		||||
        static Harmony_PatchAll() {
 | 
			
		||||
 | 
			
		||||
            Harmony val = new Harmony("animtoyspatch");
 | 
			
		||||
            val.PatchAll(Assembly.GetExecutingAssembly());
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,76 +0,0 @@
 | 
			
		|||
using HarmonyLib;
 | 
			
		||||
using Rimworld_Animations;
 | 
			
		||||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
 | 
			
		||||
    public class HarmonyPatch_JobDriver_SexBaseInitiator
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static void Postfix(ref JobDriver_SexBaseInitiator __instance)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            if(__instance is JobDriver_MasturbateWithToy masturbateJobDriver)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                Log.Message("Rerolling animations...");
 | 
			
		||||
                Pawn pawn = masturbateJobDriver.pawn;
 | 
			
		||||
                Thing sexToy = masturbateJobDriver.dildo;
 | 
			
		||||
 | 
			
		||||
                RerollAnimationsForSexToy(pawn, sexToy, masturbateJobDriver.Bed);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void RerollAnimationsForSexToy(Pawn pawn, Thing thing, Thing bed)
 | 
			
		||||
        {
 | 
			
		||||
            CompSexToy sextoy = thing.TryGetComp<CompSexToy>();
 | 
			
		||||
 | 
			
		||||
            SexToyAnimationDef anim = AnimSexToyUtility.tryFindAnimation(sextoy, pawn);
 | 
			
		||||
            
 | 
			
		||||
            if (anim != null)
 | 
			
		||||
            {
 | 
			
		||||
                Log.Message("Playing anim " + anim.defName);
 | 
			
		||||
 | 
			
		||||
                if(bed != null)
 | 
			
		||||
                {
 | 
			
		||||
                    pawn.TryGetComp<CompBodyAnimator>().setAnchor(bed);
 | 
			
		||||
                    thing.TryGetComp<CompThingAnimator>().setAnchor(bed);
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    pawn.TryGetComp<CompBodyAnimator>().setAnchor(pawn.Position);
 | 
			
		||||
                    thing.TryGetComp<CompThingAnimator>().setAnchor(pawn.Position);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                bool mirror = GenTicks.TicksGame % 2 == 0;
 | 
			
		||||
 | 
			
		||||
                pawn.TryGetComp<CompBodyAnimator>().StartAnimation(anim, new List<Pawn> { pawn }, 0, mirror);
 | 
			
		||||
                thing.TryGetComp<CompThingAnimator>().StartAnimation(anim, pawn, mirror);
 | 
			
		||||
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).ticks_left = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).sex_ticks = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).orgasmStartTick = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).duration = anim.animationTimeTicks;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Log.Message("No animation found");
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,47 +0,0 @@
 | 
			
		|||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class AnimSexToyUtility
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static SexToyAnimationDef tryFindAnimation(CompSexToy sexToy, Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            IEnumerable<SexToyAnimationDef> options = DefDatabase<SexToyAnimationDef>.AllDefs.Where((SexToyAnimationDef x) =>
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                if(!sexToy.Props.requiredBodyParts.Contains(x.requiredBodyPart))
 | 
			
		||||
                {
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if(x.requiredBodyPart == "vagina" && !Genital_Helper.has_vagina(pawn))
 | 
			
		||||
                {
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return true;
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            if(options != null && options.Any())
 | 
			
		||||
            {
 | 
			
		||||
                return options.RandomElement();
 | 
			
		||||
            } 
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
using Rimworld_Animations;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class SexToyAnimationDef : AnimationDef
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public String requiredBodyPart = null;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,23 +0,0 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
using HarmonyLib;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    [StaticConstructorOnStartup]
 | 
			
		||||
    public static class Harmony_PatchAll {
 | 
			
		||||
 | 
			
		||||
        static Harmony_PatchAll() {
 | 
			
		||||
 | 
			
		||||
            Harmony val = new Harmony("animtoyspatch");
 | 
			
		||||
            val.PatchAll(Assembly.GetExecutingAssembly());
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,42 +0,0 @@
 | 
			
		|||
using HarmonyLib;
 | 
			
		||||
using Rimworld_Animations;
 | 
			
		||||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
 | 
			
		||||
    public class HarmonyPatch_JobDriver_SexBaseInitiator
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static void Postfix(ref JobDriver_SexBaseInitiator __instance)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            if(__instance is JobDriver_MasturbateWithToy masturbateJobDriver)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                Log.Message("Rerolling animations...");
 | 
			
		||||
                Pawn pawn = masturbateJobDriver.pawn;
 | 
			
		||||
                Thing sexToy = masturbateJobDriver.dildo;
 | 
			
		||||
 | 
			
		||||
                RerollAnimationsForSexToy(pawn, sexToy, masturbateJobDriver.Bed);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void RerollAnimationsForSexToy(Pawn pawn, Thing thing, Thing bed)
 | 
			
		||||
        {
 | 
			
		||||
            //play anim for sex toy
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class AnimSexToyUtility
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static SexToyAnimationDef tryFindAnimation(CompSexToy sexToy, Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            return null;
 | 
			
		||||
            //todo
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
using Rimworld_Animations;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class SexToyAnimationDef : AnimationDef
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public String requiredBodyPart = null;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,23 +0,0 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
using HarmonyLib;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    [StaticConstructorOnStartup]
 | 
			
		||||
    public static class Harmony_PatchAll {
 | 
			
		||||
 | 
			
		||||
        static Harmony_PatchAll() {
 | 
			
		||||
 | 
			
		||||
            Harmony val = new Harmony("animtoyspatch");
 | 
			
		||||
            val.PatchAll(Assembly.GetExecutingAssembly());
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,76 +0,0 @@
 | 
			
		|||
using HarmonyLib;
 | 
			
		||||
using Rimworld_Animations;
 | 
			
		||||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
 | 
			
		||||
    public class HarmonyPatch_JobDriver_SexBaseInitiator
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static void Postfix(ref JobDriver_SexBaseInitiator __instance)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            if(__instance is JobDriver_MasturbateWithToy masturbateJobDriver)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                Log.Message("Rerolling animations...");
 | 
			
		||||
                Pawn pawn = masturbateJobDriver.pawn;
 | 
			
		||||
                Thing sexToy = masturbateJobDriver.dildo;
 | 
			
		||||
 | 
			
		||||
                RerollAnimationsForSexToy(pawn, sexToy, masturbateJobDriver.Bed);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void RerollAnimationsForSexToy(Pawn pawn, Thing thing, Thing bed)
 | 
			
		||||
        {
 | 
			
		||||
            CompSexToy sextoy = thing.TryGetComp<CompSexToy>();
 | 
			
		||||
 | 
			
		||||
            SexToyAnimationDef anim = AnimSexToyUtility.tryFindAnimation(sextoy, pawn);
 | 
			
		||||
            
 | 
			
		||||
            if (anim != null)
 | 
			
		||||
            {
 | 
			
		||||
                Log.Message("Playing anim " + anim.defName);
 | 
			
		||||
 | 
			
		||||
                if(bed != null)
 | 
			
		||||
                {
 | 
			
		||||
                    pawn.TryGetComp<CompBodyAnimator>().setAnchor(bed);
 | 
			
		||||
                    thing.TryGetComp<CompThingAnimator>().setAnchor(bed);
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    pawn.TryGetComp<CompBodyAnimator>().setAnchor(pawn.Position);
 | 
			
		||||
                    thing.TryGetComp<CompThingAnimator>().setAnchor(pawn.Position);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                bool mirror = GenTicks.TicksGame % 2 == 0;
 | 
			
		||||
 | 
			
		||||
                pawn.TryGetComp<CompBodyAnimator>().StartAnimation(anim, new List<Pawn> { pawn }, 0, mirror);
 | 
			
		||||
                thing.TryGetComp<CompThingAnimator>().StartAnimation(anim, pawn, mirror);
 | 
			
		||||
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).ticks_left = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).sex_ticks = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).orgasmStartTick = anim.animationTimeTicks;
 | 
			
		||||
                (pawn.jobs.curDriver as JobDriver_Sex).duration = anim.animationTimeTicks;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Log.Message("No animation found");
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,47 +0,0 @@
 | 
			
		|||
using rjw;
 | 
			
		||||
using RJW_ToysAndMasturbation;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace Patch_SexToysMasturbation
 | 
			
		||||
{
 | 
			
		||||
    public class AnimSexToyUtility
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public static SexToyAnimationDef tryFindAnimation(CompSexToy sexToy, Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            IEnumerable<SexToyAnimationDef> options = DefDatabase<SexToyAnimationDef>.AllDefs.Where((SexToyAnimationDef x) =>
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                if(!sexToy.Props.requiredBodyParts.Contains(x.requiredBodyPart))
 | 
			
		||||
                {
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if(x.requiredBodyPart == "vagina" && !Genital_Helper.has_vagina(pawn))
 | 
			
		||||
                {
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return true;
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            if(options != null && options.Any())
 | 
			
		||||
            {
 | 
			
		||||
                return options.RandomElement();
 | 
			
		||||
            } 
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -5,11 +5,7 @@ VisualStudioVersion = 16.0.29905.134
 | 
			
		|||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rimworld-Animations", "Rimworld-Animations.csproj", "{71B05D71-67B2-4014-82CD-18C20AC0882F}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Patch_HatsDisplaySelection", "Patch_HatsDisplaySelection\Patch_HatsDisplaySelection.csproj", "{BA766964-1716-422D-A09E-29426F8EB9D5}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Patch_SexToysMasturbation", "Patch_SexToysMasturbation\Patch_SexToysMasturbation.csproj", "{87763712-0536-4D5F-9EAA-520F15D4F84E}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Patch_HumanoidAlienRaces", "Patch_HumanoidAlienRaces\Patch_HumanoidAlienRaces.csproj", "{C76F3790-9AC0-4827-ACD5-84174238954F}"
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Milkable-Colonists-Animations", "Milkable-Colonists-Animations\Milkable-Colonists-Animations.csproj", "{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}"
 | 
			
		||||
EndProject
 | 
			
		||||
Global
 | 
			
		||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
			
		||||
| 
						 | 
				
			
			@ -21,17 +17,10 @@ Global
 | 
			
		|||
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{87763712-0536-4D5F-9EAA-520F15D4F84E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{87763712-0536-4D5F-9EAA-520F15D4F84E}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{87763712-0536-4D5F-9EAA-520F15D4F84E}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{87763712-0536-4D5F-9EAA-520F15D4F84E}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{C76F3790-9AC0-4827-ACD5-84174238954F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{C76F3790-9AC0-4827-ACD5-84174238954F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{C76F3790-9AC0-4827-ACD5-84174238954F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{C76F3790-9AC0-4827-ACD5-84174238954F}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{11DC70AF-FF23-4D4D-A4E5-6453664B1A12}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue