diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs
index d02dda3..d37d4dc 100644
--- a/Source/IdeologyAddon/IdeoUtility.cs
+++ b/Source/IdeologyAddon/IdeoUtility.cs
@@ -80,5 +80,18 @@ namespace RJWSexperience.Ideology
return bestSeenSize;
}
+
+ public static bool IsVisiblyPregnant(Pawn pawn)
+ {
+ Hediff pregnancy = PregnancyHelper.GetPregnancy(pawn);
+
+ // Currently RJW does not check Biotech pregnancy
+ if (pregnancy == null && VariousDefOf.PregnantHuman != null)
+ {
+ pregnancy = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnantHuman);
+ }
+
+ return pregnancy?.Visible == true;
+ }
}
}
diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs
index e51ac29..124c0bf 100644
--- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs
+++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs
@@ -1,5 +1,4 @@
using RimWorld;
-using rjw;
using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers
@@ -15,7 +14,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
///
protected override ThoughtState ShouldHaveThought(Pawn p)
{
- return p?.DevelopmentalStage == DevelopmentalStage.Adult && PregnancyHelper.GetPregnancy(p)?.Visible != true;
+ return p?.DevelopmentalStage == DevelopmentalStage.Adult && !IdeoUtility.IsVisiblyPregnant(p);
}
}
}
diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs
index c079682..465c4ce 100644
--- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs
+++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs
@@ -1,5 +1,4 @@
using RimWorld;
-using rjw;
using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers
@@ -18,7 +17,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
{
return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult &&
p?.DevelopmentalStage == DevelopmentalStage.Adult &&
- PregnancyHelper.GetPregnancy(otherPawn)?.Visible != true;
+ !IdeoUtility.IsVisiblyPregnant(otherPawn);
}
}
}
diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs
index 6677ddf..bc980c1 100644
--- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs
+++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs
@@ -1,5 +1,4 @@
using RimWorld;
-using rjw;
using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers
@@ -15,7 +14,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
///
protected override ThoughtState ShouldHaveThought(Pawn p)
{
- return p?.DevelopmentalStage == DevelopmentalStage.Adult && PregnancyHelper.GetPregnancy(p)?.Visible == true;
+ return p?.DevelopmentalStage == DevelopmentalStage.Adult && IdeoUtility.IsVisiblyPregnant(p);
}
}
}
diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs
index f52d009..3a57bc2 100644
--- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs
+++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs
@@ -1,5 +1,4 @@
using RimWorld;
-using rjw;
using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers
@@ -18,7 +17,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
{
return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult &&
p?.DevelopmentalStage == DevelopmentalStage.Adult &&
- PregnancyHelper.GetPregnancy(otherPawn)?.Visible == true;
+ IdeoUtility.IsVisiblyPregnant(otherPawn);
}
}
}
diff --git a/Source/IdeologyAddon/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs
index 52d2180..fb926ce 100644
--- a/Source/IdeologyAddon/VariousDefOf.cs
+++ b/Source/IdeologyAddon/VariousDefOf.cs
@@ -22,5 +22,6 @@ namespace RJWSexperience.Ideology
[MayRequireIdeology] public static readonly PreceptDef Submissive_Male;
[MayRequireIdeology] public static readonly PreceptDef Submissive_Female;
[MayRequireIdeology] public static readonly PreceptDef ProselyzingByOrgasm;
+ [MayRequireBiotech] public static readonly HediffDef PregnantHuman;
}
}