﻿<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DoublePenetration</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage1</li>
							<li>ReceiverPawn_DP_Stage1</li>
							<li>InitiatorPawn2_DP_Stage1</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>

			<li Class="Rimworld_Animations.AnimationStage_Branch">
				<loops>6</loops>
				<paths>
					<li>GroupAnimation_DP_Stage2_Branch1</li>
					<li>GroupAnimation_DP_Stage2_Branch2</li>
					<li>GroupAnimation_DP_Stage2_Branch3</li>
					<li>GroupAnimation_DP_Stage2_Branch4</li>
				</paths>
			</li>

			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>25</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage3</li>
							<li>ReceiverPawn_DP_Stage3</li>
							<li>InitiatorPawn2_DP_Stage3</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>

			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>30</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage4</li>
							<li>ReceiverPawn_DP_Stage4</li>
							<li>InitiatorPawn2_DP_Stage4</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
			<li Class="Rimworld_Animations.AnimationStage_Branch">
				<loops>1</loops>
				<paths>
					<li>GroupAnimation_DP_Stage5_Branch1</li>
					<li>GroupAnimation_DP_Stage5_Branch2</li>
					<li>GroupAnimation_DP_Stage5_Branch3</li>
				</paths>
			</li>
		</animationStages>
			
		<contexts>
			<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
				<priority>1</priority>
				<whitelist>
					<li Class="Rimworld_Animations.PawnTest_RJWCanFuck" /> <!-- Corresponds to first pawn in list -->
					<li Class="Rimworld_Animations.PawnTest_RJWCanFuck" /> <!-- Corresponds to second pawn in list -->
					<li Class="Rimworld_Animations.PawnTest_RJWCanBeFucked" /> <!-- Corresponds to third pawn in list -->
				</whitelist>
				<actorShift>2</actorShift>
				<interactionDefs>
					<li>Sex_DoublePenetration</li>
					<li>Sex_DoublePenetrationM</li>
					<li>Sex_Anal</li>
					<li>Sex_Vaginal</li>
					<li>Rape_DoublePenetration</li>
					<li>Rape_DoublePenetrationM</li>
					<li>Rape_Anal</li>
					<li>Rape_Vaginal</li>
				</interactionDefs>
			</li>
			<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
				<priority>1</priority>
				<whitelist>
					<li Class="Rimworld_Animations.PawnTest_RJWCanFuck" />
					<li Class="Rimworld_Animations.PawnTest_RJWCanBeFucked" />
					<li Class="Rimworld_Animations.PawnTest_RJWCanFuck" />
				</whitelist>
				<interactionDefs>
					<li>Sex_Reverse_DoublePenetration</li>
					<li>Sex_Reverse_DoublePenetrationM</li>
					<li>Sex_Reverse_Anal</li>
					<li>Sex_Reverse_Vaginal</li>
					<li>Rape_Reverse_DoublePenetration</li>
					<li>Rape_Reverse_DoublePenetrationM</li>
					<li>Rape_Reverse_Anal</li>
					<li>Rape_Reverse_Vaginal</li>
				</interactionDefs>
			</li>
			<!-- all other contexts go here -->
			<!-- the ones that don't make sense but play an animation anyway -->
			<!--
			<li Class="Rimworld_Animations.GroupAnimationContext_RJWSex">
				<priority>0</priority>
				<interactionDefs>

				</interactionDefs>
			</li>
			-->
		</contexts>
		<offsetDefs>
			<li>Offset_Placeholder</li> 
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<!-- Branch stages below -->
	
	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage2_Branch1</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>3</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2a</li>
							<li>ReceiverPawn_DP_Stage2a</li>
							<li>InitiatorPawn2_DP_Stage2a</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>
		
		<offsetDefs>
			<li>Offset_Placeholder</li> <!-- first pawn in animation -->
			<li>Offset_DP_ReceiverPawn</li> <!-- second pawn in animation -->
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage2_Branch2</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>3</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2b</li>
							<li>ReceiverPawn_DP_Stage2b</li>
							<li>InitiatorPawn2_DP_Stage2b</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage2_Branch3</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>3</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2c</li>
							<li>ReceiverPawn_DP_Stage2c</li>
							<li>InitiatorPawn2_DP_Stage2c</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage2_Branch4</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2a</li>
							<li>ReceiverPawn_DP_Stage2a</li>
							<li>InitiatorPawn2_DP_Stage2a</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2d</li>
							<li>ReceiverPawn_DP_Stage2d</li>
							<li>InitiatorPawn2_DP_Stage2d</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>

			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>2</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage2b</li>
							<li>ReceiverPawn_DP_Stage2b</li>
							<li>InitiatorPawn2_DP_Stage2b</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage5_Branch1</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage5a</li>
							<li>ReceiverPawn_DP_Stage5a</li>
							<li>InitiatorPawn2_DP_Stage5a</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage5_Branch2</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage5b</li>
							<li>ReceiverPawn_DP_Stage5b</li>
							<li>InitiatorPawn2_DP_Stage5b</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>

	<Rimworld_Animations.GroupAnimationDef>
		<defName>GroupAnimation_DP_Stage5_Branch3</defName>
		<numActors>3</numActors>
		<animationStages>
			<li Class="Rimworld_Animations.AnimationStage_LoopRandomSelectChance">
				<loops>1</loops>
				<loopOptions>
					<li>
						<probability>1</probability>
						<animationDefs>
							<li>InitiatorPawn_DP_Stage5c</li>
							<li>ReceiverPawn_DP_Stage5c</li>
							<li>InitiatorPawn2_DP_Stage5c</li>
						</animationDefs>

					</li>
				</loopOptions>
			</li>
		</animationStages>

		<offsetDefs>
			<li>Offset_Placeholder</li>
			<li>Offset_DP_ReceiverPawn</li>
			<li>Offset_Placeholder</li>
		</offsetDefs>

	</Rimworld_Animations.GroupAnimationDef>



</Defs>
