Compare commits

..

No commits in common. "1088a4c8e92d55246288217e4796f23613ed0660" and "334ef9d52af9df4390e6f2b50c188d87f8e7d228" have entirely different histories.

6 changed files with 63 additions and 19 deletions

Binary file not shown.

View file

@ -55,7 +55,12 @@ namespace RJW_Menstruation
protected override void AfterCumIn(Pawn cummer)
{
base.AfterCumIn(cummer);
if (curStage == Stage.Follicular) GoNextStage(Stage.Ovulatory);
switch (curStage)
{
case Stage.Follicular:
GoNextStage(Stage.Ovulatory);
break;
}
}
public override bool IsDangerDay

View file

@ -242,15 +242,24 @@ namespace RJW_Menstruation
public float TotalCum
{
get => cums?.Sum(cum => cum.Volume) ?? 0;
get
{
return cums?.Sum(cum => cum.Volume) ?? 0;
}
}
public float TotalFertCum
{
get => cums?.Sum(cum => cum.FertVolume) ?? 0;
get
{
return cums?.Sum(cum => cum.FertVolume) ?? 0;
}
}
public float TotalCumPercent
{
get => cums?.Sum(cum => cum.Volume) / Props.maxCumCapacity ?? 0;
get
{
return cums?.Sum(cum => cum.Volume) / Props.maxCumCapacity ?? 0;
}
}
public float CumCapacity
{
@ -266,7 +275,7 @@ namespace RJW_Menstruation
{
get
{
if (QuirkUtility.HasQuirk(Pawn, QuirkUtility.Quirks.Breeder)) return 0.5f;
if (xxx.has_quirk(Pawn, "Breeder")) return 0.5f;
return 1.0f;
}
@ -440,13 +449,25 @@ namespace RJW_Menstruation
public string WombTex
{
get => customwombtex ?? Props.wombTex;
set => customwombtex = value;
get
{
return customwombtex ?? Props.wombTex;
}
set
{
customwombtex = value;
}
}
public string VagTex
{
get => customvagtex ?? Props.vagTex;
set => customvagtex = value;
get
{
return customvagtex ?? Props.vagTex;
}
set
{
customvagtex = value;
}
}
public string GetFertilizingInfo
{
@ -499,12 +520,18 @@ namespace RJW_Menstruation
}
public bool IsEggExist
{
get => !eggs.NullOrEmpty();
get
{
return !eggs.NullOrEmpty();
}
}
public int EggLifespanHours
{
get => eggLifeSpanHours;
get
{
return eggLifeSpanHours;
}
}
public virtual bool IsDangerDay
@ -528,7 +555,10 @@ namespace RJW_Menstruation
}
public int GetNumOfEggs
{
get => eggs?.Count ?? 0;
get
{
return eggs?.Count ?? 0;
}
}
public Color BloodColor
{
@ -543,6 +573,7 @@ namespace RJW_Menstruation
{
return Colors.blood;
}
}
}
@ -556,12 +587,18 @@ namespace RJW_Menstruation
}
return originvagsize ?? 0.1f;
}
set => originvagsize = value;
set
{
originvagsize = value;
}
}
public float CurStageIntervalHours
{
get => currentIntervalHours;
get
{
return currentIntervalHours;
}
}
public float StageProgress

View file

@ -231,11 +231,11 @@ namespace RJW_Menstruation
job.Sexprops != null &&
!job.Sexprops.usedCondom &&
(job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries/Ovary_00", true);
return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries_Ovary_00", true);
else break;
}
if (comp.curStageHrs > comp.CurStageIntervalHours - 30) // Approximate time for ovulation to occur
return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries/Ovary_00", true);
return ContentFinder<Texture2D>.Get((comp.OvulationChance >= ovaryChanceToShow_01) ? "Ovaries/Ovary_01" : "Ovaries_Ovary_00", true);
else break;
case HediffComp_Menstruation.Stage.Ovulatory:
if (!includeOvary) break;

View file

@ -200,16 +200,19 @@ namespace RJW_Menstruation
if (!VariousDefOf.WombGenes.Contains(gene.def)) return true;
bool keepGene;
if (PawnGenerator.IsBeingGenerated(___pawn))
// During pawn generation, the vagina hediff doesn't exist yet, so use gender to decide instead
{
// During pawn generation, the vagina hediff doesn't exist yet
// So use gender to decide instead
// Not the most accurate, but close enough
keepGene = ___pawn.gender == Gender.Female;
}
else keepGene = ___pawn.GetMenstruationComps().Any();
if (!keepGene) __result = null;
return keepGene;
}
}
[HarmonyPatch(typeof(Pawn_GeneTracker), "Notify_GenesChanged")]
[HarmonyPatch(typeof(Pawn_GeneTracker), "Notify_GenesChanged")]
public class Notify_GenesChanged_Patch
{
public static void Postfix(Pawn_GeneTracker __instance)

View file

@ -1,5 +1,4 @@
Version 1.0.9.0
- Fix errors when opening the womb dialog of some low fertility pawns.
- Menstruation-related genes will now stay on females during initial pawn setup.
Version 1.0.8.9