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) protected override void AfterCumIn(Pawn cummer)
{ {
base.AfterCumIn(cummer); base.AfterCumIn(cummer);
if (curStage == Stage.Follicular) GoNextStage(Stage.Ovulatory); switch (curStage)
{
case Stage.Follicular:
GoNextStage(Stage.Ovulatory);
break;
}
} }
public override bool IsDangerDay public override bool IsDangerDay

View file

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

View file

@ -231,11 +231,11 @@ namespace RJW_Menstruation
job.Sexprops != null && job.Sexprops != null &&
!job.Sexprops.usedCondom && !job.Sexprops.usedCondom &&
(job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration)) (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; else break;
} }
if (comp.curStageHrs > comp.CurStageIntervalHours - 30) // Approximate time for ovulation to occur 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; else break;
case HediffComp_Menstruation.Stage.Ovulatory: case HediffComp_Menstruation.Stage.Ovulatory:
if (!includeOvary) break; if (!includeOvary) break;

View file

@ -200,9 +200,12 @@ namespace RJW_Menstruation
if (!VariousDefOf.WombGenes.Contains(gene.def)) return true; if (!VariousDefOf.WombGenes.Contains(gene.def)) return true;
bool keepGene; bool keepGene;
if (PawnGenerator.IsBeingGenerated(___pawn)) 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 // Not the most accurate, but close enough
keepGene = ___pawn.gender == Gender.Female; keepGene = ___pawn.gender == Gender.Female;
}
else keepGene = ___pawn.GetMenstruationComps().Any(); else keepGene = ___pawn.GetMenstruationComps().Any();
if (!keepGene) __result = null; if (!keepGene) __result = null;
return keepGene; return keepGene;

View file

@ -1,5 +1,4 @@
Version 1.0.9.0 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. - Menstruation-related genes will now stay on females during initial pawn setup.
Version 1.0.8.9 Version 1.0.8.9