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 Tag = "TAG";
|
||||||
public const string Partner = "PARTNER";
|
public const string Partner = "PARTNER";
|
|
@ -3,9 +3,9 @@ using System.Collections.Generic;
|
||||||
using System.Diagnostics.CodeAnalysis;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using Verse;
|
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")]
|
[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")]
|
||||||
public List<PartnerDependentOverride> overrideRules = new List<PartnerDependentOverride>();
|
public List<PartnerDependentOverride> overrideRules = new List<PartnerDependentOverride>();
|
|
@ -1,8 +1,8 @@
|
||||||
using Verse;
|
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 BeenRaped = "[BeenRaped]";
|
||||||
public const string Rape = "[Rape]";
|
public const string Rape = "[Rape]";
|
|
@ -3,6 +3,7 @@ using RimWorld;
|
||||||
using rjw;
|
using rjw;
|
||||||
using rjw.Modules.Interactions.Internals.Implementation;
|
using rjw.Modules.Interactions.Internals.Implementation;
|
||||||
using rjw.Modules.Interactions.Objects;
|
using rjw.Modules.Interactions.Objects;
|
||||||
|
using RJWSexperience.Ideology.HistoryEvents;
|
||||||
using RJWSexperience.Ideology.Precepts;
|
using RJWSexperience.Ideology.Precepts;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
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)
|
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)
|
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)
|
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)
|
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)
|
foreach (var rule in overrides.overrideRules)
|
||||||
{
|
{
|
||||||
|
@ -35,7 +36,7 @@ namespace RJWSexperience.Ideology.Patches
|
||||||
return rule.historyEventDef.CreateEventWithPartner(pawn, partner);
|
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)
|
public static Faction GetFactionUsingPrecept(this Pawn baby, out Ideo ideo)
|
||||||
|
@ -168,18 +169,18 @@ namespace RJWSexperience.Ideology.Patches
|
||||||
{
|
{
|
||||||
if (partner.IsSlave)
|
if (partner.IsSlave)
|
||||||
{
|
{
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedSlave.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedSlave.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedSlave.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedSlave.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
|
||||||
}
|
}
|
||||||
else if (partner.IsPrisoner)
|
else if (partner.IsPrisoner)
|
||||||
{
|
{
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedPrisoner.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedPrisoner.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedPrisoner.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedPrisoner.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.Raped.CreateTaggedEvent(human, HETag.Rape + HETag.Gender(human), partner));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.Raped.CreateTaggedEvent(human, Tag.Rape + Tag.Gender(human), partner));
|
||||||
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRaped.CreateTaggedEvent(partner, HETag.BeenRaped + HETag.Gender(partner), human));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRaped.CreateTaggedEvent(partner, Tag.BeenRaped + Tag.Gender(partner), human));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using RimWorld;
|
using RimWorld;
|
||||||
using rjw;
|
using rjw;
|
||||||
|
using RJWSexperience.Ideology.HistoryEvents;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
|
||||||
namespace RJWSexperience.Ideology.Patches
|
namespace RJWSexperience.Ideology.Patches
|
||||||
|
@ -11,23 +12,23 @@ namespace RJWSexperience.Ideology.Patches
|
||||||
string tag = "";
|
string tag = "";
|
||||||
if (props.isRape)
|
if (props.isRape)
|
||||||
{
|
{
|
||||||
if (pawn == props.pawn && props.isRapist) tag += HETag.Rape;
|
if (pawn == props.pawn && props.isRapist) tag += Tag.Rape;
|
||||||
else tag += HETag.BeenRaped;
|
else tag += Tag.BeenRaped;
|
||||||
}
|
}
|
||||||
if (!pawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, partner))
|
if (!pawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, partner))
|
||||||
{
|
{
|
||||||
tag += HETag.NotSpouse;
|
tag += Tag.NotSpouse;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pawn.gender == Gender.Male)
|
if (pawn.gender == Gender.Male)
|
||||||
{
|
{
|
||||||
if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenM.CreateTaggedEvent(pawn, tag + HETag.Gender(pawn), partner));
|
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 + HETag.Gender(pawn), pawn));
|
Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TookM.CreateTaggedEvent(partner, tag + Tag.Gender(pawn), pawn));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (degree > 1) Find.HistoryEventsManager.RecordEvent(VariousDefOf.Virgin_TakenF.CreateTaggedEvent(pawn, tag + HETag.Gender(pawn), partner));
|
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 + HETag.Gender(pawn), pawn));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
if (tag != null)
|
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);
|
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")]
|
[SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")]
|
||||||
public bool exclusive = false;
|
public bool exclusive = false;
|
||||||
|
|
||||||
public PreceptComp_SelfTookThoughtTagged() { }
|
|
||||||
|
|
||||||
public override void Notify_MemberTookAction(HistoryEvent ev, Precept precept, bool canApplySelfTookThoughts)
|
public override void Notify_MemberTookAction(HistoryEvent ev, Precept precept, bool canApplySelfTookThoughts)
|
||||||
{
|
{
|
||||||
if (tag != null)
|
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)
|
if (IdeoUtility.ContainAll(tags, tag.Replace(" ", "").Split(',')) ^ exclusive)
|
||||||
{
|
{
|
||||||
|
@ -42,7 +40,7 @@ namespace RJWSexperience.Ideology.Precepts
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Pawn arg = ev.args.GetArg<Pawn>(HistoryEventArgsNames.Doer);
|
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 (arg.needs?.mood != null && (!this.onlyForNonSlaves || !arg.IsSlave))
|
||||||
{
|
{
|
||||||
if (this.thought.minExpectationForNegativeThought != null && ExpectationsUtility.CurrentExpectationFor(arg).order < this.thought.minExpectationForNegativeThought.order)
|
if (this.thought.minExpectationForNegativeThought != null && ExpectationsUtility.CurrentExpectationFor(arg).order < this.thought.minExpectationForNegativeThought.order)
|
||||||
|
|
|
@ -43,12 +43,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="GlobalSuppressions.cs" />
|
<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\InteractionDefExtension_HistoryEvents.cs" />
|
||||||
<Compile Include="Ideology\GoodwillSituationWorker_MemeCompatibility.cs" />
|
<Compile Include="Ideology\GoodwillSituationWorker_MemeCompatibility.cs" />
|
||||||
<Compile Include="Harmony.cs" />
|
<Compile Include="Harmony.cs" />
|
||||||
<Compile Include="Ideology\HETag.cs" />
|
<Compile Include="Ideology\HistoryEvents\Tag.cs" />
|
||||||
<Compile Include="Ideology\HistoryEventArgsNamesCustom.cs" />
|
<Compile Include="Ideology\HistoryEvents\ArgsNamesCustom.cs" />
|
||||||
<Compile Include="Ideology\IssueUtility.cs" />
|
<Compile Include="Ideology\IssueUtility.cs" />
|
||||||
<Compile Include="Ideology\Keyed.cs" />
|
<Compile Include="Ideology\Keyed.cs" />
|
||||||
<Compile Include="Ideology\Patches\RJW_Patch_ChancePerHour.cs" />
|
<Compile Include="Ideology\Patches\RJW_Patch_ChancePerHour.cs" />
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<defName>RSI_NonIncestuosMarriage</defName>
|
<defName>RSI_NonIncestuosMarriage</defName>
|
||||||
<label>Non-incestuos marriage</label>
|
<label>Non-incestuos marriage</label>
|
||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li Class="RJWSexperience.Ideology.HistoryEventDefExtension_PartnerDependentOverrides">
|
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_PartnerDependentOverrides">
|
||||||
<overrideRules>
|
<overrideRules>
|
||||||
<li>
|
<li>
|
||||||
<filter>
|
<filter>
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
<defName>RSI_NonIncestuosSex</defName>
|
<defName>RSI_NonIncestuosSex</defName>
|
||||||
<label>Non-incestuos sex</label>
|
<label>Non-incestuos sex</label>
|
||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li Class="RJWSexperience.Ideology.HistoryEventDefExtension_PartnerDependentOverrides">
|
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_PartnerDependentOverrides">
|
||||||
<overrideRules>
|
<overrideRules>
|
||||||
<li>
|
<li>
|
||||||
<filter>
|
<filter>
|
||||||
|
|
Loading…
Reference in a new issue