Fix bad texture error for low fertility during induced ovulator sex

This commit is contained in:
lutepickle 2023-04-10 15:32:51 -07:00
parent 334ef9d52a
commit 25556c464e
6 changed files with 18 additions and 62 deletions

Binary file not shown.

View file

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

View file

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

View file

@ -231,7 +231,7 @@ 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

View file

@ -200,19 +200,16 @@ 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,4 +1,5 @@
Version 1.0.9.0
- Fix errors when opening the womb dialog of an induced ovulator with low fertility during sex.
- Menstruation-related genes will now stay on females during initial pawn setup.
Version 1.0.8.9