diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll
index 65b1373..2ac459a 100644
Binary files a/1.4/Assemblies/RJW_Menstruation.dll and b/1.4/Assemblies/RJW_Menstruation.dll differ
diff --git a/1.4/Defs/ThoughtDefs/Thoughts_sex.xml b/1.4/Defs/ThoughtDefs/Thoughts_sex.xml
index 0b0bf12..e35d3e8 100644
--- a/1.4/Defs/ThoughtDefs/Thoughts_sex.xml
+++ b/1.4/Defs/ThoughtDefs/Thoughts_sex.xml
@@ -30,10 +30,6 @@
1
-
- CameInsideMIdeo
- CameInsideM
-
@@ -67,9 +63,6 @@
5
-
- CameInsideFIdeo
-
@@ -87,16 +80,6 @@
-10
-
- HaterCameInsideFEstrus
- CameInsideF
- HaterCameInsideFSafe
- CameInsideFLowFert
- CameInsideFFetishSafe
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -110,19 +93,10 @@
What was I thinking, letting him do that?
- -3
+ -2
-5
-
- CameInsideF
- HaterCameInsideFSafe
- CameInsideFLowFert
- CameInsideFFetishSafe
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -139,12 +113,6 @@
-1
-
- CameInsideFFetishSafe
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -162,14 +130,6 @@
-2
-
- HaterCameInsideFSafe
- CameInsideFLowFert
- CameInsideFFetishSafe
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -187,11 +147,6 @@
1
-
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -209,13 +164,6 @@
-5
-
- CameInsideFLowFert
- CameInsideFFetishSafe
- HaterCameInsideFIdeo
- CameInsideFFetish
- CameInsideFIdeo
-
@@ -278,7 +226,7 @@
-
+
EggRestorationReceived
Thought_Memory
4
@@ -291,77 +239,6 @@
-
-
- CameInsideMIdeo
- Thought_MemorySocial
- 1.0
- 5
- 0.4
-
-
-
- It is my duty to make her pregnant.
- 3
- 2
-
-
-
- CameInsideM
-
-
-
-
- CameInsideFIdeo
- Thought_MemorySocial
- 3.0
- 5
- 0.1
- 1
-
-
-
- I hope this makes me pregnant like should be.
- 15
- 10
-
-
-
-
-
- HaterCameInsideFIdeo
- Thought_MemorySocial
- 3.0
- 5
- 0.1
- 1
-
-
-
- I know I should become pregnant, but does it have to be his?
- 5
- 2
-
-
-
- CameInsideFFetish
- CameInsideFIdeo
-
-
-
-
- HateTookContraceptivePillIdeo
- Thought_Memory
- 7.0
- 5
- 0.1
-
-
-
- My beliefs demand I become pregnant.
- -5
-
-
-
-
+
+
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/CompBiosculpterPod_EggRestorationCycle.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/CompBiosculpterPod_EggRestorationCycle.cs
index b7656c8..537ef53 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/CompBiosculpterPod_EggRestorationCycle.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/CompBiosculpterPod_EggRestorationCycle.cs
@@ -1,5 +1,4 @@
using RimWorld;
-using System.Linq;
using Verse;
namespace RJW_Menstruation
@@ -23,8 +22,6 @@ namespace RJW_Menstruation
comp.RestoreEggs(((CompProperties_BiosculpterPod_EggRestorationCycle)Props).yearsToRestore);
Messages.Message(Translations.EggRestorationCompleted(occupant.Named("PAWN")), occupant, MessageTypeDefOf.PositiveEvent);
- if (occupant.GetMenstruationComps().Any())
- occupant.needs.mood?.thoughts?.memories?.TryGainMemoryFast(VariousDefOf.EggRestorationReceived);
}
}
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomeDoers.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomeDoers.cs
index 33e4e11..b618abe 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomeDoers.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/DrugOutcomeDoers.cs
@@ -89,7 +89,7 @@ namespace RJW_Menstruation
else m.moodPowerFactor = 0.3f;
}
- if (pawn.IsProPregnancy(out _)) pawn.needs.mood.thoughts.memories.TryGainMemoryFast(VariousDefOf.HateTookContraceptivePill);
+ if (pawn.IsProPregnancy()) pawn.needs.mood.thoughts.memories.TryGainMemoryFast(VariousDefOf.HateTookContraceptivePill);
else pawn.needs.mood.thoughts.memories.TryGainMemoryFast(VariousDefOf.TookContraceptivePill);
}
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
index f726878..c32ee83 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
@@ -1796,48 +1796,52 @@ namespace RJW_Menstruation
{
if (!xxx.is_human(Pawn) || !xxx.is_human(cummer)) return;
- MemoryThoughtHandler cummerMemories = cummer.needs.mood.thoughts.memories;
- MemoryThoughtHandler pawnMemories = Pawn.needs.mood.thoughts.memories;
-
- if (cummer.IsProPregnancy(out Precept preceptm) || (cummer.HasQuirk(QuirkUtility.Quirks.Teratophile) != (Pawn.GetStatValue(StatDefOf.PawnBeauty) >= 0)))
+ if ((cummer.HasQuirk(QuirkUtility.Quirks.Teratophile) != (Pawn.GetStatValue(StatDefOf.PawnBeauty) >= 0)) ||
+ cummer.IsProPregnancy())
{
- if (cummer.relations.OpinionOf(Pawn) <= -5)
- cummerMemories.TryGainMemory(VariousDefOf.HaterCameInsideM, Pawn);
- else if (preceptm != null)
- cummerMemories.TryGainMemory(VariousDefOf.CameInsideMIdeo, Pawn, preceptm);
+ if (cummer.relations.OpinionOf(Pawn) <= -25)
+ {
+ cummer.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideM, Pawn);
+ }
else
- cummerMemories.TryGainMemory(VariousDefOf.CameInsideM, Pawn);
+ {
+ cummer.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideM, Pawn);
+ }
}
if (IsDangerDay)
{
- if (Pawn.IsProPregnancy(out Precept preceptf))
+ if (Pawn.IsProPregnancy())
{
- if (preceptf != null)
- {
- if (Pawn.relations.OpinionOf(cummer) <= -5)
- pawnMemories.TryGainMemory(VariousDefOf.HaterCameInsideFIdeo, cummer, preceptf);
- else
- pawnMemories.TryGainMemory(VariousDefOf.CameInsideFIdeo, cummer, preceptf);
- }
- else pawnMemories.TryGainMemory(VariousDefOf.CameInsideFFetish, cummer);
+ Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFFetish, cummer);
+ }
+ else if (Pawn.relations.OpinionOf(cummer) <= -5)
+ {
+ Pawn.needs.mood.thoughts.memories.RemoveMemoriesOfDefWhereOtherPawnIs(VariousDefOf.CameInsideF, cummer);
+ Pawn.needs.mood.thoughts.memories.RemoveMemoriesOfDefWhereOtherPawnIs(VariousDefOf.HaterCameInsideFEstrus, cummer);
+ Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideF, cummer);
+ }
+ else if (Pawn.IsInEstrus() && Pawn.relations.OpinionOf(cummer) < RJWHookupSettings.MinimumRelationshipToHookup)
+ {
+ Pawn.needs.mood.thoughts.memories.RemoveMemoriesOfDefWhereOtherPawnIs(VariousDefOf.CameInsideF, cummer);
+ Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideFEstrus, cummer);
}
- else if (Pawn.relations.OpinionOf(cummer) <= -5)
- pawnMemories.TryGainMemory(VariousDefOf.HaterCameInsideF, cummer);
- else if (Pawn.IsInEstrus() && Pawn.relations.OpinionOf(cummer) < RJWHookupSettings.MinimumRelationshipToHookup)
- pawnMemories.TryGainMemory(VariousDefOf.HaterCameInsideFEstrus, cummer);
else if (!Pawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, cummer) && !Pawn.relations.DirectRelationExists(PawnRelationDefOf.Fiance, cummer))
{
- if (Pawn.health.capacities.GetLevel(xxx.reproduction) < 0.50f) pawnMemories.TryGainMemory(VariousDefOf.CameInsideFLowFert, cummer);
- else pawnMemories.TryGainMemory(VariousDefOf.CameInsideF, cummer);
+ if (Pawn.health.capacities.GetLevel(xxx.reproduction) < 0.50f) Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFLowFert, cummer);
+ else Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideF, cummer);
}
}
else
{
- if (Pawn.IsProPregnancy(out Precept _))
- pawnMemories.TryGainMemory(VariousDefOf.CameInsideFFetishSafe, cummer);
+ if (Pawn.IsProPregnancy())
+ {
+ Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFFetishSafe, cummer);
+ }
else if (Pawn.relations.OpinionOf(cummer) <= -5)
- pawnMemories.TryGainMemory(VariousDefOf.HaterCameInsideFSafe, cummer);
+ {
+ Pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideFSafe, cummer);
+ }
}
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
index f1c2e55..c3cd7e4 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
@@ -407,21 +407,20 @@ namespace RJW_Menstruation
return false;
}
- public static bool IsProPregnancy(this Pawn pawn, out Precept precept)
+ public static bool IsProPregnancy(this Pawn pawn)
{
- precept = null;
+ if (pawn.HasQuirk(QuirkUtility.Quirks.Breeder) ||
+ pawn.HasQuirk(QuirkUtility.Quirks.ImpregnationFetish))
+ return true;
Ideo ideo = pawn.Ideo;
- if (ideo != null)
- {
- precept = ideo.GetPrecept(VariousDefOf.Pregnancy_Required) ??
- ideo.GetPrecept(VariousDefOf.Pregnancy_Holy) ??
- ideo.GetPrecept(VariousDefOf.Pregnancy_Elevated);
- }
- if (precept != null) return true;
+ if (ideo == null || VariousDefOf.Pregnancy_Elevated == null) return false;
+ if (ideo.HasPrecept(VariousDefOf.Pregnancy_Elevated) ||
+ ideo.HasPrecept(VariousDefOf.Pregnancy_Holy) ||
+ ideo.HasPrecept(VariousDefOf.Pregnancy_Required))
+ return true;
- else return pawn.HasQuirk(QuirkUtility.Quirks.Breeder) ||
- pawn.HasQuirk(QuirkUtility.Quirks.ImpregnationFetish);
+ return false;
}
public static float DamagePants(this Pawn pawn, float fluidAmount)
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
index 2cc6646..0b5d0c5 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
@@ -27,10 +27,9 @@ namespace RJW_Menstruation
(pawn.relations?.DirectRelations?.Find(x => x.def.Equals(PawnRelationDefOf.Spouse) ||
x.def.Equals(PawnRelationDefOf.Fiance))) != null)
return;
- if (pawn.IsProPregnancy(out Precept precept) || pawn.relations?.DirectRelations?.Find(x => x.def.Equals(PawnRelationDefOf.Lover)) != null)
+ if (pawn.IsProPregnancy() || pawn.relations?.DirectRelations?.Find(x => x.def.Equals(PawnRelationDefOf.Lover)) != null)
{
- if (precept != null)
- pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.UnwantedPregnancyMild);
+ pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.UnwantedPregnancyMild);
}
else
{
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
index 6d307cf..6c5e143 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
@@ -39,7 +39,6 @@ namespace RJW_Menstruation
public static readonly ThoughtDef UnwantedPregnancyMild = DefDatabase.GetNamed("UnwantedPregnancyMild");
public static readonly ThoughtDef TookContraceptivePill = DefDatabase.GetNamed("TookContraceptivePill");
public static readonly ThoughtDef HateTookContraceptivePill = DefDatabase.GetNamed("HateTookContraceptivePill");
- public static readonly ThoughtDef EggRestorationReceived = DefDatabase.GetNamed("EggRestorationReceived");
public static readonly CompProperties_Menstruation HumanVaginaCompProperties = (CompProperties_Menstruation)Genital_Helper.average_vagina.comps.FirstOrDefault(x => x is CompProperties_Menstruation);
public static readonly KeyBindingDef OpenStatusWindowKey = DefDatabase.GetNamed("OpenStatusWindow");
public static readonly RecordDef AmountofCreampied = DefDatabase.GetNamed("AmountofCreampied");
@@ -173,11 +172,5 @@ namespace RJW_Menstruation
public static readonly PreceptDef Pregnancy_Elevated = DefDatabase.GetNamedSilentFail("Pregnancy_Elevated");
public static readonly PreceptDef Pregnancy_Holy = DefDatabase.GetNamedSilentFail("Pregnancy_Holy");
public static readonly PreceptDef Pregnancy_Required = DefDatabase.GetNamedSilentFail("Pregnancy_Required");
- // Related thoughts
- public static readonly ThoughtDef CameInsideMIdeo = DefDatabase.GetNamed("CameInsideMIdeo");
- public static readonly ThoughtDef CameInsideFIdeo = DefDatabase.GetNamed("CameInsideFIdeo");
- public static readonly ThoughtDef HaterCameInsideFIdeo = DefDatabase.GetNamed("HaterCameInsideFIdeo");
- public static readonly ThoughtDef HateTookContraceptivePillIdeo = DefDatabase.GetNamed("HateTookContraceptivePillIdeo");
}
-
}
diff --git a/changelogs.txt b/changelogs.txt
index 04c373b..97ae1c8 100644
--- a/changelogs.txt
+++ b/changelogs.txt
@@ -1,7 +1,3 @@
-Version 1.0.9.1
- - Add new ideology-related thoughts with the sexperience-ideology mod.
- - Using the egg restoration biosculptor cycle will give a small mood buff.
-
Version 1.0.9.0
- Fix errors when opening the womb dialog of some low fertility pawns.
- Updated Traditional Chinese translation by Hydrogen.