diff --git a/1.4/Assemblies/RJWSexperience.Ideology.dll b/1.4/Assemblies/RJWSexperience.Ideology.dll index ef41f6f..f170f55 100644 Binary files a/1.4/Assemblies/RJWSexperience.Ideology.dll and b/1.4/Assemblies/RJWSexperience.Ideology.dll differ diff --git a/About/Manifest.xml b/About/Manifest.xml index 275894d..7ad9026 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJWSexperienceIdeology - 1.0.1.1 + 1.0.1.0
  • RimJobWorld >= 5.3.0
  • diff --git a/CHANGELOG.md b/CHANGELOG.md index 8accfad..ded613d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,3 @@ -## Version 1.0.1.1 -* Fixed Ideology overwriting Sexperience's mod settings label -* Fixed submissive gender can't be marked for comfort -* Fixed new precepts adding thoughts to children -* Fixed Sexual Proselyzing precept -* Fixed biotech pregnancy not counting for pregnancy precepts ## Version 1.0.1.0 * Rimworld 1.4 ### by Twonki diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs index d37d4dc..d02dda3 100644 --- a/Source/IdeologyAddon/IdeoUtility.cs +++ b/Source/IdeologyAddon/IdeoUtility.cs @@ -80,18 +80,5 @@ 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/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs index 1734583..60e1595 100644 --- a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs +++ b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs @@ -238,7 +238,7 @@ namespace RJWSexperience.Ideology.Patches public static void Postfix(SexProps props) { // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) - if (props.pawn == null || !props.hasPartner()) + if (props.pawn != null && props.hasPartner()) return; if (props.partner.Ideo?.HasPrecept(VariousDefOf.ProselyzingByOrgasm) == true) diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs index f1483d0..b99f610 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs @@ -22,7 +22,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers protected override ThoughtState ShouldHaveThought(Pawn p) { - if (p?.DevelopmentalStage == DevelopmentalStage.Adult && Genital_Helper.get_AllPartsHediffList(p).Count > 0) + if (p != null && Genital_Helper.get_AllPartsHediffList(p).Count > 0) { float bestSize = IdeoUtility.GetGenitalSize(p); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs index b4b2426..1780e2d 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs @@ -23,9 +23,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers // Important Note: For the Social Worker, we measure otherPawns genitalia protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) { - if (otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && - p?.DevelopmentalStage == DevelopmentalStage.Adult && - Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) + if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) { float bestSize = IdeoUtility.GetGenitalSize(otherPawn); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs index 124c0bf..3631cdf 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs @@ -1,4 +1,5 @@ using RimWorld; +using rjw; using Verse; namespace RJWSexperience.Ideology.PreceptWorkers @@ -14,7 +15,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers /// protected override ThoughtState ShouldHaveThought(Pawn p) { - return p?.DevelopmentalStage == DevelopmentalStage.Adult && !IdeoUtility.IsVisiblyPregnant(p); + return PregnancyHelper.GetPregnancy(p)?.Visible != true; } } } diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs index 465c4ce..d12f74a 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs @@ -1,4 +1,5 @@ using RimWorld; +using rjw; using Verse; namespace RJWSexperience.Ideology.PreceptWorkers @@ -15,9 +16,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers /// protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) { - return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && - p?.DevelopmentalStage == DevelopmentalStage.Adult && - !IdeoUtility.IsVisiblyPregnant(otherPawn); + return PregnancyHelper.GetPregnancy(otherPawn)?.Visible != true; } } } diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs index bc980c1..ae3d917 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs @@ -1,4 +1,5 @@ using RimWorld; +using rjw; using Verse; namespace RJWSexperience.Ideology.PreceptWorkers @@ -14,7 +15,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers /// protected override ThoughtState ShouldHaveThought(Pawn p) { - return p?.DevelopmentalStage == DevelopmentalStage.Adult && IdeoUtility.IsVisiblyPregnant(p); + return PregnancyHelper.GetPregnancy(p)?.Visible == true; } } } diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs index 3a57bc2..c54b814 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs @@ -1,4 +1,5 @@ using RimWorld; +using rjw; using Verse; namespace RJWSexperience.Ideology.PreceptWorkers @@ -15,9 +16,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers /// protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) { - return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && - p?.DevelopmentalStage == DevelopmentalStage.Adult && - IdeoUtility.IsVisiblyPregnant(otherPawn); + return PregnancyHelper.GetPregnancy(otherPawn)?.Visible == true; } } } diff --git a/Source/IdeologyAddon/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs index fb926ce..52d2180 100644 --- a/Source/IdeologyAddon/VariousDefOf.cs +++ b/Source/IdeologyAddon/VariousDefOf.cs @@ -22,6 +22,5 @@ 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; } }