mirror of
				https://github.com/amevarashi/RJW-Sexperience.git
				synced 2024-08-14 23:54:08 +00:00 
			
		
		
		
	Move rape events to the new system, add sextype events for doer
This commit is contained in:
		
							parent
							
								
									111b5b2450
								
							
						
					
					
						commit
						a6098bed72
					
				
					 5 changed files with 170 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -59,9 +59,9 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
			if (props.hasPartner())
 | 
			
		||||
			{
 | 
			
		||||
				if (xxx.is_human(props.pawn))
 | 
			
		||||
					AfterSexHuman(props.pawn, props.partner, props.isRape);
 | 
			
		||||
					AfterSexHuman(props.pawn, props.partner);
 | 
			
		||||
				else if (xxx.is_human(props.partner))
 | 
			
		||||
					AfterSexHuman(props.partner, props.pawn, false);
 | 
			
		||||
					AfterSexHuman(props.partner, props.pawn);
 | 
			
		||||
 | 
			
		||||
				if (xxx.is_human(props.partner) && props.isRape)
 | 
			
		||||
				{
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,7 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static void AfterSexHuman(Pawn human, Pawn partner, bool rape)
 | 
			
		||||
		public static void AfterSexHuman(Pawn human, Pawn partner)
 | 
			
		||||
		{
 | 
			
		||||
			RsiHistoryEventDefOf.RSI_NonIncestuosSex.RecordEventWithPartner(human, partner);
 | 
			
		||||
			RsiHistoryEventDefOf.RSI_NonIncestuosSex.RecordEventWithPartner(partner, human);
 | 
			
		||||
| 
						 | 
				
			
			@ -99,11 +99,6 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
			{
 | 
			
		||||
				RsiHistoryEventDefOf.RSI_SexWithAnimal.RecordEventWithPartner(human, partner);
 | 
			
		||||
			}
 | 
			
		||||
			else if (xxx.is_human(partner) && rape)
 | 
			
		||||
			{
 | 
			
		||||
				RsiHistoryEventDefOf.RSI_Raped.RecordEventWithPartner(human, partner);
 | 
			
		||||
				RsiHistoryEventDefOf.RSI_WasRaped.RecordEventWithPartner(partner, human);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static void RapeEffectSlave(Pawn victim)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,12 @@
 | 
			
		|||
using RimWorld;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace RJWSexperience.Ideology
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	[DefOf]
 | 
			
		||||
	public static class RsiHistoryEventDefOf
 | 
			
		||||
	{
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithAnimal;
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_Raped;
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_WasRaped;
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosMarriage;
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosSex;
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithCorpse;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ namespace RJWSexperience.Ideology
 | 
			
		|||
			if (doer?.Applies(pawn) == false)
 | 
			
		||||
				return false;
 | 
			
		||||
 | 
			
		||||
			if (this.partner?.Applies(pawn) == false)
 | 
			
		||||
			if (this.partner?.Applies(partner) == false)
 | 
			
		||||
				return false;
 | 
			
		||||
 | 
			
		||||
			if (relations?.Applies(pawn, partner) == false)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										83
									
								
								RJWSexperience_Ideology/Patches/InteractionDef/Rape.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								RJWSexperience_Ideology/Patches/InteractionDef/Rape.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<Patch>
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Vaginal"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_VaginalSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_VaginalSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Anal" or defName="Rape_Rimming"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_AnalSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_AnalSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Beakjob" or defName="Rape_Cunnilingus" or defName="Rape_Fellatio" or defName="Rape_Oral"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_OralSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_OralSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Breastjob" or defName="Rape_Fingering" or defName="Rape_Footjob" or defName="Rape_Handjob"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_MiscSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_MiscSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_DoublePenetration" or defName="Rape_DoublePenetrationM" or defName="Rape_Fisting" or defName="Rape_Scissoring"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_PromiscuousSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_PromiscuousSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
</Patch>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<Patch>
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Vaginal"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_VaginalSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_VaginalSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Anal" or defName="Rape_Reverse_Rimming"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_AnalSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_AnalSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Beakjob" or defName="Rape_Reverse_Cunnilingus" or defName="Rape_Reverse_Fellatio"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_OralSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_OralSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Breastjob" or defName="Rape_Reverse_Fingering" or defName="Rape_Reverse_Footjob" or defName="Rape_Reverse_Handjob"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_MiscSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_MiscSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
 | 
			
		||||
	<Operation Class="PatchOperationAddModExtension">
 | 
			
		||||
		<xpath>/Defs/InteractionDef[defName="Rape_Reverse_DoublePenetration" or defName="Rape_Reverse_DoublePenetrationM" or defName="Rape_Reverse_Fisting" or defName="Rape_Reverse_Scissoring"]</xpath>
 | 
			
		||||
		<value>
 | 
			
		||||
			<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
 | 
			
		||||
				<pawnEvents>
 | 
			
		||||
					<li>RSI_PromiscuousSex</li>
 | 
			
		||||
					<li>RSI_Raped</li>
 | 
			
		||||
				</pawnEvents>
 | 
			
		||||
				<partnerEvents>
 | 
			
		||||
					<!--<li>RSI_PromiscuousSex</li>-->
 | 
			
		||||
					<li>RSI_WasRaped</li>
 | 
			
		||||
				</partnerEvents>
 | 
			
		||||
			</li>
 | 
			
		||||
		</value>
 | 
			
		||||
	</Operation>
 | 
			
		||||
</Patch>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue