mirror of
				https://github.com/amevarashi/RJW-Sexperience.git
				synced 2024-08-14 23:54:08 +00:00 
			
		
		
		
	Create HistoryEvents namespace and folder
This commit is contained in:
		
							parent
							
								
									bfddab0cf1
								
							
						
					
					
						commit
						6a1978414d
					
				
					 9 changed files with 34 additions and 34 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
namespace RJWSexperience.Ideology
 | 
			
		||||
namespace RJWSexperience.Ideology.HistoryEvents
 | 
			
		||||
{
 | 
			
		||||
	public static class HistoryEventArgsNamesCustom
 | 
			
		||||
	public static class ArgsNamesCustom
 | 
			
		||||
	{
 | 
			
		||||
		public const string Tag = "TAG";
 | 
			
		||||
		public const string Partner = "PARTNER";
 | 
			
		||||
| 
						 | 
				
			
			@ -3,9 +3,9 @@ using System.Collections.Generic;
 | 
			
		|||
using System.Diagnostics.CodeAnalysis;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace RJWSexperience.Ideology
 | 
			
		||||
namespace RJWSexperience.Ideology.HistoryEvents
 | 
			
		||||
{
 | 
			
		||||
	public class HistoryEventDefExtension_PartnerDependentOverrides : DefModExtension
 | 
			
		||||
	public class DefExtension_PartnerDependentOverrides : DefModExtension
 | 
			
		||||
	{
 | 
			
		||||
		[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")]
 | 
			
		||||
		public List<PartnerDependentOverride> overrideRules = new List<PartnerDependentOverride>();
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace RJWSexperience.Ideology
 | 
			
		||||
namespace RJWSexperience.Ideology.HistoryEvents
 | 
			
		||||
{
 | 
			
		||||
	public static class HETag
 | 
			
		||||
	public static class Tag
 | 
			
		||||
	{
 | 
			
		||||
		public const string BeenRaped = "[BeenRaped]";
 | 
			
		||||
		public const string Rape = "[Rape]";
 | 
			
		||||
| 
						 | 
				
			
			@ -3,6 +3,7 @@ using RimWorld;
 | 
			
		|||
using rjw;
 | 
			
		||||
using rjw.Modules.Interactions.Internals.Implementation;
 | 
			
		||||
using rjw.Modules.Interactions.Objects;
 | 
			
		||||
using RJWSexperience.Ideology.HistoryEvents;
 | 
			
		||||
using RJWSexperience.Ideology.Precepts;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +15,7 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
	{
 | 
			
		||||
		public static HistoryEvent CreateTaggedEvent(this HistoryEventDef def, Pawn pawn, string tag, Pawn partner)
 | 
			
		||||
		{
 | 
			
		||||
			return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), tag.Named(HistoryEventArgsNamesCustom.Tag), partner.Named(HistoryEventArgsNamesCustom.Partner));
 | 
			
		||||
			return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), tag.Named(ArgsNamesCustom.Tag), partner.Named(ArgsNamesCustom.Partner));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static HistoryEvent CreateEvent(this HistoryEventDef def, Pawn pawn)
 | 
			
		||||
| 
						 | 
				
			
			@ -24,10 +25,10 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
 | 
			
		||||
		public static HistoryEvent CreateEventWithPartner(this HistoryEventDef def, Pawn pawn, Pawn partner)
 | 
			
		||||
		{
 | 
			
		||||
			HistoryEventDefExtension_PartnerDependentOverrides overrides = def.GetModExtension<HistoryEventDefExtension_PartnerDependentOverrides>();
 | 
			
		||||
			DefExtension_PartnerDependentOverrides overrides = def.GetModExtension<DefExtension_PartnerDependentOverrides>();
 | 
			
		||||
 | 
			
		||||
			if (overrides == null)
 | 
			
		||||
				return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), partner.Named(HistoryEventArgsNamesCustom.Partner));
 | 
			
		||||
				return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), partner.Named(ArgsNamesCustom.Partner));
 | 
			
		||||
 | 
			
		||||
			foreach (var rule in overrides.overrideRules)
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +36,7 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
					return rule.historyEventDef.CreateEventWithPartner(pawn, partner);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), partner.Named(HistoryEventArgsNamesCustom.Partner));
 | 
			
		||||
			return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), partner.Named(ArgsNamesCustom.Partner));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static Faction GetFactionUsingPrecept(this Pawn baby, out Ideo ideo)
 | 
			
		||||
| 
						 | 
				
			
			@ -168,18 +169,18 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
				{
 | 
			
		||||
					if (partner.IsSlave)
 | 
			
		||||
					{
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedSlave.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedSlave.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedSlave.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedSlave.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
 | 
			
		||||
					}
 | 
			
		||||
					else if (partner.IsPrisoner)
 | 
			
		||||
					{
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedPrisoner.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedPrisoner.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedPrisoner.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedPrisoner.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
 | 
			
		||||
					}
 | 
			
		||||
					else
 | 
			
		||||
					{
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.Raped.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRaped.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.Raped.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRaped.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
using RimWorld;
 | 
			
		||||
using rjw;
 | 
			
		||||
using RJWSexperience.Ideology.HistoryEvents;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace RJWSexperience.Ideology.Patches
 | 
			
		||||
| 
						 | 
				
			
			@ -11,23 +12,23 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
			string tag = "";
 | 
			
		||||
			if (props.isRape)
 | 
			
		||||
			{
 | 
			
		||||
				if (pawn == props.pawn && props.isRapist) tag += HETag.Rape;
 | 
			
		||||
				else tag += HETag.BeenRaped;
 | 
			
		||||
				if (pawn == props.pawn && props.isRapist) tag += Tag.Rape;
 | 
			
		||||
				else tag += Tag.BeenRaped;
 | 
			
		||||
			}
 | 
			
		||||
			if (!pawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, partner))
 | 
			
		||||
			{
 | 
			
		||||
				tag += HETag.NotSpouse;
 | 
			
		||||
				tag += Tag.NotSpouse;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (pawn.gender == Gender.Male)
 | 
			
		||||
			{
 | 
			
		||||
				if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenM.CreateTaggedEvent(pawn, tag + HETag.Gender(pawn), partner));
 | 
			
		||||
				Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TookM.CreateTaggedEvent(partner, tag + HETag.Gender(pawn), pawn));
 | 
			
		||||
				if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenM.CreateTaggedEvent(pawn, tag + Tag.Gender(pawn), partner));
 | 
			
		||||
				Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TookM.CreateTaggedEvent(partner, tag + Tag.Gender(pawn), pawn));
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenF.CreateTaggedEvent(pawn, tag + HETag.Gender(pawn), partner));
 | 
			
		||||
				Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TookF.CreateTaggedEvent(partner, tag + HETag.Gender(pawn), pawn));
 | 
			
		||||
				if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenF.CreateTaggedEvent(pawn, tag + Tag.Gender(pawn), partner));
 | 
			
		||||
				Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TookF.CreateTaggedEvent(partner, tag + Tag.Gender(pawn), pawn));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,13 +17,13 @@ namespace RJWSexperience.Ideology.Precepts
 | 
			
		|||
 | 
			
		||||
		public override void Notify_MemberWitnessedAction(HistoryEvent ev, Precept precept, Pawn member)
 | 
			
		||||
		{
 | 
			
		||||
			if (!applyonpartner && ev.args.TryGetArg(HistoryEventArgsNamesCustom.Partner, out Pawn pawn) && pawn == member)
 | 
			
		||||
			if (!applyonpartner && ev.args.TryGetArg(HistoryEvents.ArgsNamesCustom.Partner, out Pawn pawn) && pawn == member)
 | 
			
		||||
			{
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			if (tag != null)
 | 
			
		||||
			{
 | 
			
		||||
				if (ev.args.TryGetArg(HistoryEventArgsNamesCustom.Tag, out string tags))
 | 
			
		||||
				if (ev.args.TryGetArg(HistoryEvents.ArgsNamesCustom.Tag, out string tags))
 | 
			
		||||
				{
 | 
			
		||||
					if (IdeoUtility.ContainAll(tags, tag.Replace(" ", "").Split(',')) ^ exclusive) base.Notify_MemberWitnessedAction(ev, precept, member);
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,13 +11,11 @@ namespace RJWSexperience.Ideology.Precepts
 | 
			
		|||
		[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")]
 | 
			
		||||
		public bool exclusive = false;
 | 
			
		||||
 | 
			
		||||
		public PreceptComp_SelfTookThoughtTagged() { }
 | 
			
		||||
 | 
			
		||||
		public override void Notify_MemberTookAction(HistoryEvent ev, Precept precept, bool canApplySelfTookThoughts)
 | 
			
		||||
		{
 | 
			
		||||
			if (tag != null)
 | 
			
		||||
			{
 | 
			
		||||
				if (ev.args.TryGetArg(HistoryEventArgsNamesCustom.Tag, out string tags))
 | 
			
		||||
				if (ev.args.TryGetArg(HistoryEvents.ArgsNamesCustom.Tag, out string tags))
 | 
			
		||||
				{
 | 
			
		||||
					if (IdeoUtility.ContainAll(tags, tag.Replace(" ", "").Split(',')) ^ exclusive)
 | 
			
		||||
					{
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +40,7 @@ namespace RJWSexperience.Ideology.Precepts
 | 
			
		|||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			Pawn arg = ev.args.GetArg<Pawn>(HistoryEventArgsNames.Doer);
 | 
			
		||||
			Pawn partner = ev.args.GetArg<Pawn>(HistoryEventArgsNamesCustom.Partner);
 | 
			
		||||
			Pawn partner = ev.args.GetArg<Pawn>(HistoryEvents.ArgsNamesCustom.Partner);
 | 
			
		||||
			if (arg.needs?.mood != null && (!this.onlyForNonSlaves || !arg.IsSlave))
 | 
			
		||||
			{
 | 
			
		||||
				if (this.thought.minExpectationForNegativeThought != null && ExpectationsUtility.CurrentExpectationFor(arg).order < this.thought.minExpectationForNegativeThought.order)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,12 +43,12 @@
 | 
			
		|||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="GlobalSuppressions.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HistoryEventDefExtension_PartnerDependentOverrides.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HistoryEvents\DefExtension_PartnerDependentOverrides.cs" />
 | 
			
		||||
    <Compile Include="Ideology\InteractionDefExtension_HistoryEvents.cs" />
 | 
			
		||||
    <Compile Include="Ideology\GoodwillSituationWorker_MemeCompatibility.cs" />
 | 
			
		||||
    <Compile Include="Harmony.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HETag.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HistoryEventArgsNamesCustom.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HistoryEvents\Tag.cs" />
 | 
			
		||||
    <Compile Include="Ideology\HistoryEvents\ArgsNamesCustom.cs" />
 | 
			
		||||
    <Compile Include="Ideology\IssueUtility.cs" />
 | 
			
		||||
    <Compile Include="Ideology\Keyed.cs" />
 | 
			
		||||
    <Compile Include="Ideology\Patches\RJW_Patch_ChancePerHour.cs" />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@
 | 
			
		|||
    <defName>RSI_NonIncestuosMarriage</defName>
 | 
			
		||||
    <label>Non-incestuos marriage</label>
 | 
			
		||||
    <modExtensions>
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.HistoryEventDefExtension_PartnerDependentOverrides">
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_PartnerDependentOverrides">
 | 
			
		||||
        <overrideRules>
 | 
			
		||||
          <li>
 | 
			
		||||
            <filter>
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +81,7 @@
 | 
			
		|||
    <defName>RSI_NonIncestuosSex</defName>
 | 
			
		||||
    <label>Non-incestuos sex</label>
 | 
			
		||||
    <modExtensions>
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.HistoryEventDefExtension_PartnerDependentOverrides">
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_PartnerDependentOverrides">
 | 
			
		||||
        <overrideRules>
 | 
			
		||||
          <li>
 | 
			
		||||
            <filter>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue