Compare commits

..

No commits in common. "f5ec31f8e7177888b11ea2befd77e3e9ce0a5cad" and "d483924c478eb2565ea5395e005c2d04c6717988" have entirely different histories.

12 changed files with 12 additions and 34 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest> <Manifest>
<identifier>RJWSexperienceIdeology</identifier> <identifier>RJWSexperienceIdeology</identifier>
<version>1.0.1.1</version> <version>1.0.1.0</version>
<dependencies> <dependencies>
<li>RimJobWorld >= 5.3.0</li> <li>RimJobWorld >= 5.3.0</li>
</dependencies> </dependencies>

View file

@ -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 ## Version 1.0.1.0
* Rimworld 1.4 * Rimworld 1.4
### by Twonki ### by Twonki

View file

@ -80,18 +80,5 @@ namespace RJWSexperience.Ideology
return bestSeenSize; 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;
}
} }
} }

View file

@ -238,7 +238,7 @@ namespace RJWSexperience.Ideology.Patches
public static void Postfix(SexProps props) public static void Postfix(SexProps props)
{ {
// ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) // 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; return;
if (props.partner.Ideo?.HasPrecept(VariousDefOf.ProselyzingByOrgasm) == true) if (props.partner.Ideo?.HasPrecept(VariousDefOf.ProselyzingByOrgasm) == true)

View file

@ -22,7 +22,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
protected override ThoughtState ShouldHaveThought(Pawn p) 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); float bestSize = IdeoUtility.GetGenitalSize(p);
return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize));

View file

@ -23,9 +23,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
// Important Note: For the Social Worker, we measure otherPawns genitalia // Important Note: For the Social Worker, we measure otherPawns genitalia
protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn)
{ {
if (otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0)
p?.DevelopmentalStage == DevelopmentalStage.Adult &&
Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0)
{ {
float bestSize = IdeoUtility.GetGenitalSize(otherPawn); float bestSize = IdeoUtility.GetGenitalSize(otherPawn);
return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize));

View file

@ -1,4 +1,5 @@
using RimWorld; using RimWorld;
using rjw;
using Verse; using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers namespace RJWSexperience.Ideology.PreceptWorkers
@ -14,7 +15,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
/// <returns></returns> /// <returns></returns>
protected override ThoughtState ShouldHaveThought(Pawn p) protected override ThoughtState ShouldHaveThought(Pawn p)
{ {
return p?.DevelopmentalStage == DevelopmentalStage.Adult && !IdeoUtility.IsVisiblyPregnant(p); return PregnancyHelper.GetPregnancy(p)?.Visible != true;
} }
} }
} }

View file

@ -1,4 +1,5 @@
using RimWorld; using RimWorld;
using rjw;
using Verse; using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers namespace RJWSexperience.Ideology.PreceptWorkers
@ -15,9 +16,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
/// <returns></returns> /// <returns></returns>
protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn)
{ {
return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && return PregnancyHelper.GetPregnancy(otherPawn)?.Visible != true;
p?.DevelopmentalStage == DevelopmentalStage.Adult &&
!IdeoUtility.IsVisiblyPregnant(otherPawn);
} }
} }
} }

View file

@ -1,4 +1,5 @@
using RimWorld; using RimWorld;
using rjw;
using Verse; using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers namespace RJWSexperience.Ideology.PreceptWorkers
@ -14,7 +15,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
/// <returns></returns> /// <returns></returns>
protected override ThoughtState ShouldHaveThought(Pawn p) protected override ThoughtState ShouldHaveThought(Pawn p)
{ {
return p?.DevelopmentalStage == DevelopmentalStage.Adult && IdeoUtility.IsVisiblyPregnant(p); return PregnancyHelper.GetPregnancy(p)?.Visible == true;
} }
} }
} }

View file

@ -1,4 +1,5 @@
using RimWorld; using RimWorld;
using rjw;
using Verse; using Verse;
namespace RJWSexperience.Ideology.PreceptWorkers namespace RJWSexperience.Ideology.PreceptWorkers
@ -15,9 +16,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers
/// <returns></returns> /// <returns></returns>
protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn)
{ {
return otherPawn?.DevelopmentalStage == DevelopmentalStage.Adult && return PregnancyHelper.GetPregnancy(otherPawn)?.Visible == true;
p?.DevelopmentalStage == DevelopmentalStage.Adult &&
IdeoUtility.IsVisiblyPregnant(otherPawn);
} }
} }
} }

View file

@ -22,6 +22,5 @@ namespace RJWSexperience.Ideology
[MayRequireIdeology] public static readonly PreceptDef Submissive_Male; [MayRequireIdeology] public static readonly PreceptDef Submissive_Male;
[MayRequireIdeology] public static readonly PreceptDef Submissive_Female; [MayRequireIdeology] public static readonly PreceptDef Submissive_Female;
[MayRequireIdeology] public static readonly PreceptDef ProselyzingByOrgasm; [MayRequireIdeology] public static readonly PreceptDef ProselyzingByOrgasm;
[MayRequireBiotech] public static readonly HediffDef PregnantHuman;
} }
} }