diff --git a/Source/IdeologyAddon/DebugAction.cs b/Source/IdeologyAddon/DebugAction.cs
index 91f5b20..f80e708 100644
--- a/Source/IdeologyAddon/DebugAction.cs
+++ b/Source/IdeologyAddon/DebugAction.cs
@@ -15,8 +15,8 @@ namespace RJWSexperience.Ideology
Pawn hero = p.Map.PlayerPawnsForStoryteller.First(x => x.IsDesignatedHero());
if (hero == null)
return;
- RsiHistoryEventDefOf.RSI_NonIncestuosMarriage.RecordEventWithPartner(hero, p);
- RsiHistoryEventDefOf.RSI_NonIncestuosMarriage.RecordEventWithPartner(p, hero);
+ RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(hero, p);
+ RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(p, hero);
}
[DebugAction("RJW Sexperience Ideology", "Manual romance check", false, true, actionType = DebugActionType.Action, allowedGameStates = AllowedGameStates.PlayingOnMap)]
diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs
index 206b8eb..05ffd75 100644
--- a/Source/IdeologyAddon/IdeoUtility.cs
+++ b/Source/IdeologyAddon/IdeoUtility.cs
@@ -12,9 +12,9 @@ namespace RJWSexperience.Ideology
if (ideo == null)
return false;
- if (ideo.HasPrecept(RsiPreceptDefOf.Submissive_Female) && pawn.gender == Gender.Female)
+ if (ideo.HasPrecept(RsiDefOf.Precept.Submissive_Female) && pawn.gender == Gender.Female)
return true;
- else if (ideo.HasPrecept(RsiPreceptDefOf.Submissive_Male) && pawn.gender == Gender.Male)
+ else if (ideo.HasPrecept(RsiDefOf.Precept.Submissive_Male) && pawn.gender == Gender.Male)
return true;
return false;
@@ -89,7 +89,7 @@ namespace RJWSexperience.Ideology
Hediff pregnancy = PregnancyHelper.GetPregnancy(pawn);
// Currently RJW does not check Biotech pregnancy
- if (pregnancy == null && VariousDefOf.PregnantHuman != null)
+ if (pregnancy == null && RsiDefOf.Hediff.PregnantHuman != null)
{
pregnancy = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnantHuman);
}
diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj
index 63f6689..9f06941 100644
--- a/Source/IdeologyAddon/IdeologyAddon.csproj
+++ b/Source/IdeologyAddon/IdeologyAddon.csproj
@@ -63,8 +63,6 @@
-
-
@@ -95,7 +93,7 @@
-
+
diff --git a/Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs b/Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs
index 2a22c2c..18d8550 100644
--- a/Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs
+++ b/Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs
@@ -15,7 +15,7 @@ namespace RJWSexperience.Ideology.Patches
if (__result < 0f || pawn.Ideo == null) // ideo is null if don't have dlc
return;
- if (!RsiHistoryEventDefOf.RSI_SexWithAnimal.CreateEvent(pawn).DoerWillingToDo())
+ if (!RsiDefOf.HistoryEvent.RSI_SexWithAnimal.CreateEvent(pawn).DoerWillingToDo())
{
__result = -2f;
return;
@@ -32,7 +32,7 @@ namespace RJWSexperience.Ideology.Patches
if (__result < 0f || pawn.Ideo == null) // ideo is null if don't have dlc
return;
- if (!RsiHistoryEventDefOf.RSI_Raped.CreateEvent(pawn).DoerWillingToDo())
+ if (!RsiDefOf.HistoryEvent.RSI_Raped.CreateEvent(pawn).DoerWillingToDo())
{
__result = -2f;
return;
@@ -48,7 +48,7 @@ namespace RJWSexperience.Ideology.Patches
if (__result < 0f || pawn.Ideo == null) // ideo is null if don't have dlc
return;
- if (!RsiHistoryEventDefOf.RSI_SexWithCorpse.CreateEvent(pawn).DoerWillingToDo())
+ if (!RsiDefOf.HistoryEvent.RSI_SexWithCorpse.CreateEvent(pawn).DoerWillingToDo())
{
__result = -2f;
return;
@@ -65,7 +65,7 @@ namespace RJWSexperience.Ideology.Patches
if (__result < 0f || p.Ideo == null) // ideo is null if don't have dlc
return;
- if (!RsiHistoryEventDefOf.RSI_Masturbated.CreateEvent(p).DoerWillingToDo())
+ if (!RsiDefOf.HistoryEvent.RSI_Masturbated.CreateEvent(p).DoerWillingToDo())
{
__result = -2f;
return;
diff --git a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs
index e52b361..239ce81 100644
--- a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs
+++ b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs
@@ -19,7 +19,7 @@ namespace RJWSexperience.Ideology.Patches
Ideo ideo = pawn.Ideo;
if (ideo != null && !pawn.IsSubmissive())
{
- __result = __result || ideo.HasMeme(VariousDefOf.Rapist);
+ __result = __result || ideo.HasMeme(RsiDefOf.Meme.Rapist);
}
}
}
@@ -32,7 +32,7 @@ namespace RJWSexperience.Ideology.Patches
Ideo ideo = pawn.Ideo;
if (ideo != null)
{
- __result = __result || ideo.HasMeme(VariousDefOf.Zoophile);
+ __result = __result || ideo.HasMeme(RsiDefOf.Meme.Zoophile);
}
}
}
@@ -45,7 +45,7 @@ namespace RJWSexperience.Ideology.Patches
Ideo ideo = pawn.Ideo;
if (ideo != null)
{
- __result = __result || ideo.HasMeme(VariousDefOf.Necrophile);
+ __result = __result || ideo.HasMeme(RsiDefOf.Meme.Necrophile);
}
}
}
@@ -85,10 +85,10 @@ namespace RJWSexperience.Ideology.Patches
private static void AfterSexHuman(Pawn human, Pawn partner)
{
- RsiHistoryEventDefOf.RSI_NonIncestuosSex.RecordEventWithPartner(human, partner);
+ RsiDefOf.HistoryEvent.RSI_NonIncestuosSex.RecordEventWithPartner(human, partner);
if (partner.IsAnimal())
- RsiHistoryEventDefOf.RSI_SexWithAnimal.RecordEventWithPartner(human, partner);
+ RsiDefOf.HistoryEvent.RSI_SexWithAnimal.RecordEventWithPartner(human, partner);
}
}
@@ -148,7 +148,7 @@ namespace RJWSexperience.Ideology.Patches
public static void Postfix(Pawn pawn, ref bool __result)
{
Ideo ideo = pawn.Ideo;
- if (ideo?.HasMeme(VariousDefOf.Zoophile) == true)
+ if (ideo?.HasMeme(RsiDefOf.Meme.Zoophile) == true)
{
SaveStorage.DataStore.GetPawnData(pawn).CanDesignateBreeding = true;
__result = true;
@@ -213,14 +213,14 @@ namespace RJWSexperience.Ideology.Patches
Ideo mainideo = playerfaction.ideos.PrimaryIdeo;
if (mainideo != null)
{
- if (mainideo.HasPrecept(RsiPreceptDefOf.BabyFaction_AlwaysFather))
+ if (mainideo.HasPrecept(RsiDefOf.Precept.BabyFaction_AlwaysFather))
{
Pawn parent = baby.GetFather() ?? baby.GetMother();
ideo = parent.Ideo;
return parent.Faction;
}
- else if (mainideo.HasPrecept(RsiPreceptDefOf.BabyFaction_AlwaysColony))
+ else if (mainideo.HasPrecept(RsiDefOf.Precept.BabyFaction_AlwaysColony))
{
ideo = mainideo;
return playerfaction;
@@ -241,7 +241,7 @@ namespace RJWSexperience.Ideology.Patches
if (props.pawn?.Ideo == null || !props.hasPartner())
return;
- if (props.partner.Ideo?.HasPrecept(RsiPreceptDefOf.ProselyzingByOrgasm) == true)
+ if (props.partner.Ideo?.HasPrecept(RsiDefOf.Precept.ProselyzingByOrgasm) == true)
{
// Pawn is the one having the orgasm
// Partner is "giving" the orgasm, hence the pawn will be converted towards the partners ideology
diff --git a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
index 9a54dd4..5bd03b3 100644
--- a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
+++ b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
@@ -16,8 +16,8 @@ namespace RJWSexperience.Ideology.Patches
{
public static void Postfix(Pawn firstPawn, Pawn secondPawn)
{
- RsiHistoryEventDefOf.RSI_NonIncestuosMarriage.RecordEventWithPartner(firstPawn, secondPawn);
- RsiHistoryEventDefOf.RSI_NonIncestuosMarriage.RecordEventWithPartner(secondPawn, firstPawn);
+ RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(firstPawn, secondPawn);
+ RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(secondPawn, firstPawn);
}
}
@@ -81,7 +81,7 @@ namespace RJWSexperience.Ideology.Patches
/// Forbid romance option
public static bool RsiIncestuous(Pawn one, Pawn two)
{
- PreceptDef incestuousPrecept = one.Ideo?.PreceptsListForReading.Select(precept => precept.def).FirstOrFallback(def => def.issue == VariousDefOf.Incestuos);
+ PreceptDef incestuousPrecept = one.Ideo?.PreceptsListForReading.Select(precept => precept.def).FirstOrFallback(def => def.issue == RsiDefOf.Issue.Incestuos);
var allowManualRomanceOnlyFor = incestuousPrecept?.GetModExtension()?.allowManualRomanceOnlyFor;
BloodRelationDegree relationDegree = RelationHelpers.GetBloodRelationDegree(one, two);
diff --git a/Source/IdeologyAddon/Patches/Sexperience_Patch.cs b/Source/IdeologyAddon/Patches/Sexperience_Patch.cs
index 1be61cd..4f7471e 100644
--- a/Source/IdeologyAddon/Patches/Sexperience_Patch.cs
+++ b/Source/IdeologyAddon/Patches/Sexperience_Patch.cs
@@ -15,11 +15,11 @@ namespace RJWSexperience.Ideology.Patches
const int femaleAfterSurgery = 1;
if (props.isRape && exVirgin == props.partner)
- RsiHistoryEventDefOf.RSI_VirginStolen.RecordEventWithPartner(exVirgin, partner);
+ RsiDefOf.HistoryEvent.RSI_VirginStolen.RecordEventWithPartner(exVirgin, partner);
else if (degree != femaleAfterSurgery)
- RsiHistoryEventDefOf.RSI_VirginTaken.RecordEventWithPartner(exVirgin, partner);
+ RsiDefOf.HistoryEvent.RSI_VirginTaken.RecordEventWithPartner(exVirgin, partner);
- RsiHistoryEventDefOf.RSI_TookVirgin.RecordEventWithPartner(partner, exVirgin);
+ RsiDefOf.HistoryEvent.RSI_TookVirgin.RecordEventWithPartner(partner, exVirgin);
}
}
}
diff --git a/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs b/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
index a7eacb0..ce0251d 100644
--- a/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
+++ b/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
@@ -32,9 +32,9 @@ namespace RJWSexperience.Ideology
Pawn target = FindPartner(pawn, duty);
- if (target == null || !pawn.CanReserveAndReach(target, PathEndMode.ClosestTouch, Danger.None,1)) return JobMaker.MakeJob(VariousDefOf.DrugMasturbate);
+ if (target == null || !pawn.CanReserveAndReach(target, PathEndMode.ClosestTouch, Danger.None,1)) return JobMaker.MakeJob(RsiDefOf.Job.DrugMasturbate);
- return JobMaker.MakeJob(VariousDefOf.DrugSex, target);
+ return JobMaker.MakeJob(RsiDefOf.Job.DrugSex, target);
}
protected Pawn FindPartner(Pawn pawn, PawnDuty duty)
@@ -65,7 +65,7 @@ namespace RJWSexperience.Ideology
protected override IEnumerable MakeNewToils()
{
setup_ticks();
- var PartnerJob = VariousDefOf.GettinDrugSex;
+ var PartnerJob = RsiDefOf.Job.GettinDrugSex;
this.FailOnDespawnedNullOrForbidden(iTarget);
this.FailOn(() => !Partner.health.capacities.CanBeAwake);
diff --git a/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs b/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
index dc6dc15..48b4353 100644
--- a/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
+++ b/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
@@ -34,7 +34,7 @@ namespace RJWSexperience.Ideology
if (!pawn.CanReach(target, PathEndMode.ClosestTouch, Danger.None)) return null;
- return JobMaker.MakeJob(VariousDefOf.Gangbang, target);
+ return JobMaker.MakeJob(RsiDefOf.Job.Gangbang, target);
}
}
@@ -65,7 +65,7 @@ namespace RJWSexperience.Ideology
var dri = Partner.jobs.curDriver as JobDriver_SexBaseRecieverRaped;
if (dri == null)
{
- Job gettin_loved = JobMaker.MakeJob(VariousDefOf.GettinGangbang, pawn, Bed);
+ Job gettin_loved = JobMaker.MakeJob(RsiDefOf.Job.GettinGangbang, pawn, Bed);
Partner.jobs.StartJob(gettin_loved, JobCondition.InterruptForced);
}
};
@@ -75,7 +75,7 @@ namespace RJWSexperience.Ideology
SexToil.defaultCompleteMode = ToilCompleteMode.Never;
SexToil.defaultDuration = duration;
SexToil.handlingFacing = true;
- SexToil.FailOn(() => Partner.CurJob.def != VariousDefOf.GettinGangbang);
+ SexToil.FailOn(() => Partner.CurJob.def != RsiDefOf.Job.GettinGangbang);
SexToil.initAction = delegate
{
Start();
diff --git a/Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs b/Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs
index ce2ec72..bc4bfdf 100644
--- a/Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs
+++ b/Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs
@@ -35,7 +35,7 @@ namespace RJWSexperience.Ideology
if (!pawn.CanReach(target, PathEndMode.ClosestTouch, Danger.None)) return null;
- return JobMaker.MakeJob(VariousDefOf.RapeVictim, target);
+ return JobMaker.MakeJob(RsiDefOf.Job.RapeVictim, target);
}
}
diff --git a/Source/IdeologyAddon/Rituals/RitualRoles.cs b/Source/IdeologyAddon/Rituals/RitualRoles.cs
index 691bb28..699f2d1 100644
--- a/Source/IdeologyAddon/Rituals/RitualRoles.cs
+++ b/Source/IdeologyAddon/Rituals/RitualRoles.cs
@@ -92,7 +92,7 @@ namespace RJWSexperience.Ideology
public static bool CanBeBreeder(Pawn animal, Precept_Ritual precept)
{
- if (precept != null && precept.ideo.HasPrecept(RsiPreceptDefOf.Bestiality_OnlyVenerated) && !precept.ideo.IsVeneratedAnimal(animal))
+ if (precept != null && precept.ideo.HasPrecept(RsiDefOf.Precept.Bestiality_OnlyVenerated) && !precept.ideo.IsVeneratedAnimal(animal))
{
return false;
}
diff --git a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
index bae549e..6d970f3 100644
--- a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
+++ b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
@@ -22,7 +22,7 @@ namespace RJWSexperience.Ideology
if (!pawn.relations.FamilyByBlood.Contains(partner))
{
- if (pawn.Ideo?.HasPrecept(RsiPreceptDefOf.Incestuos_IncestOnly) == true)
+ if (pawn.Ideo?.HasPrecept(RsiDefOf.Precept.Incestuos_IncestOnly) == true)
{
return parentRomanceChanceFactor;
}
@@ -32,7 +32,7 @@ namespace RJWSexperience.Ideology
}
}
- PreceptDef incestuousPrecept = pawn.Ideo?.PreceptsListForReading.Select(precept => precept.def).FirstOrFallback(def => def.issue == VariousDefOf.Incestuos);
+ PreceptDef incestuousPrecept = pawn.Ideo?.PreceptsListForReading.Select(precept => precept.def).FirstOrFallback(def => def.issue == RsiDefOf.Issue.Incestuos);
IEnumerable relations = pawn.GetRelations(partner).Where(def => def.familyByBloodRelation);
foreach (PawnRelationDef relationDef in relations)
{
@@ -74,7 +74,7 @@ namespace RJWSexperience.Ideology
{
IEnumerable incestuousPrecepts = DefDatabase
.AllDefsListForReading
- .Where(def => def.issue == VariousDefOf.Incestuos);
+ .Where(def => def.issue == RsiDefOf.Issue.Incestuos);
IEnumerable> preceptGetters = incestuousPrecepts
.Select(precept => new TableDataGetter(precept.defName,(PawnRelationDef rel) => GetRomanceChanceFactor(rel, precept)));
diff --git a/Source/IdeologyAddon/RsiDefOf.cs b/Source/IdeologyAddon/RsiDefOf.cs
new file mode 100644
index 0000000..d5b0cfa
--- /dev/null
+++ b/Source/IdeologyAddon/RsiDefOf.cs
@@ -0,0 +1,65 @@
+using RimWorld;
+using Verse;
+
+namespace RJWSexperience.Ideology
+{
+ public static class RsiDefOf
+ {
+ [DefOf]
+ public static class Job
+ {
+ public static readonly JobDef RapeVictim;
+ public static readonly JobDef Gangbang;
+ public static readonly JobDef GettinGangbang;
+ public static readonly JobDef DrugSex;
+ public static readonly JobDef GettinDrugSex;
+ public static readonly JobDef DrugMasturbate;
+ }
+
+ [DefOf]
+ public static class Meme
+ {
+ public static readonly MemeDef Zoophile;
+ public static readonly MemeDef Rapist;
+ public static readonly MemeDef Necrophile;
+ }
+
+ [DefOf]
+ public static class Issue
+ {
+ public static readonly IssueDef Incestuos;
+ }
+
+ [DefOf]
+ public static class Precept
+ {
+ public static readonly PreceptDef Incestuos_IncestOnly;
+ public static readonly PreceptDef Bestiality_OnlyVenerated;
+ public static readonly PreceptDef BabyFaction_AlwaysFather;
+ public static readonly PreceptDef BabyFaction_AlwaysColony;
+ public static readonly PreceptDef Submissive_Male;
+ public static readonly PreceptDef Submissive_Female;
+ public static readonly PreceptDef ProselyzingByOrgasm;
+ }
+
+ [DefOf]
+ public static class HistoryEvent
+ {
+ public static readonly HistoryEventDef RSI_SexWithAnimal;
+ public static readonly HistoryEventDef RSI_Raped;
+ public static readonly HistoryEventDef RSI_NonIncestuosMarriage;
+ public static readonly HistoryEventDef RSI_NonIncestuosSex;
+ public static readonly HistoryEventDef RSI_SexWithCorpse;
+ public static readonly HistoryEventDef RSI_VirginTaken;
+ public static readonly HistoryEventDef RSI_VirginStolen;
+ public static readonly HistoryEventDef RSI_TookVirgin;
+ public static readonly HistoryEventDef RSI_Masturbated;
+ }
+
+ [DefOf]
+ public static class Hediff
+ {
+ [MayRequireBiotech] public static readonly HediffDef PregnantHuman;
+ }
+ }
+}
diff --git a/Source/IdeologyAddon/RsiHistoryEventDefOf.cs b/Source/IdeologyAddon/RsiHistoryEventDefOf.cs
deleted file mode 100644
index 4cb9bc7..0000000
--- a/Source/IdeologyAddon/RsiHistoryEventDefOf.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using RimWorld;
-
-namespace RJWSexperience.Ideology
-{
- [DefOf]
- public static class RsiHistoryEventDefOf
- {
- public static readonly HistoryEventDef RSI_SexWithAnimal;
- public static readonly HistoryEventDef RSI_Raped;
- public static readonly HistoryEventDef RSI_NonIncestuosMarriage;
- public static readonly HistoryEventDef RSI_NonIncestuosSex;
- public static readonly HistoryEventDef RSI_SexWithCorpse;
- public static readonly HistoryEventDef RSI_VirginTaken;
- public static readonly HistoryEventDef RSI_VirginStolen;
- public static readonly HistoryEventDef RSI_TookVirgin;
- public static readonly HistoryEventDef RSI_Masturbated;
- }
-}
diff --git a/Source/IdeologyAddon/RsiPreceptDefOf.cs b/Source/IdeologyAddon/RsiPreceptDefOf.cs
deleted file mode 100644
index 1638e76..0000000
--- a/Source/IdeologyAddon/RsiPreceptDefOf.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using RimWorld;
-
-namespace RJWSexperience.Ideology
-{
- [DefOf]
- public static class RsiPreceptDefOf
- {
- public static readonly PreceptDef Incestuos_IncestOnly;
- public static readonly PreceptDef Bestiality_OnlyVenerated;
- public static readonly PreceptDef BabyFaction_AlwaysFather;
- public static readonly PreceptDef BabyFaction_AlwaysColony;
- public static readonly PreceptDef Submissive_Male;
- public static readonly PreceptDef Submissive_Female;
- public static readonly PreceptDef ProselyzingByOrgasm;
- }
-}
\ No newline at end of file
diff --git a/Source/IdeologyAddon/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs
deleted file mode 100644
index 19a104d..0000000
--- a/Source/IdeologyAddon/VariousDefOf.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using RimWorld;
-using Verse;
-
-namespace RJWSexperience.Ideology
-{
- [DefOf]
- public static class VariousDefOf
- {
- public static readonly JobDef RapeVictim;
- public static readonly JobDef Gangbang;
- public static readonly JobDef GettinGangbang;
- public static readonly JobDef DrugSex;
- public static readonly JobDef GettinDrugSex;
- public static readonly JobDef DrugMasturbate;
-
- public static readonly MemeDef Zoophile;
- public static readonly MemeDef Rapist;
- public static readonly MemeDef Necrophile;
- public static readonly IssueDef Incestuos;
- [MayRequireBiotech] public static readonly HediffDef PregnantHuman;
- }
-}