Compare commits

...

3 Commits

Author SHA1 Message Date
lutepickle 9eff6cc2cd Have the obsolete GetMenstruationComp produce an error 2024-03-16 18:36:33 -07:00
lutepickle b855c5291e Remove compatibility code for hour-based saves 2024-03-15 20:59:27 -07:00
lutepickle 374a43c6e5 Don't let an egg implant if the father is destroyed 2024-03-15 08:04:25 -07:00
5 changed files with 3 additions and 45 deletions

View File

@ -136,7 +136,6 @@ namespace RJW_Menstruation
public override void CompExposeData()
{
base.CompExposeData();
Scribe_Values.Look(ref ageOfLastBirth, "ageOfLastBirth", -1);
Scribe_Values.Look(ref maxBreastIncrement, "maxBreastIncrement", maxBreastIncrement, true);
Scribe_Values.Look(ref breastSizeIncreased, "breastSizeIncreased", 0.0f);

View File

@ -622,16 +622,6 @@ namespace RJW_Menstruation
public override void CompExposeData()
{
base.CompExposeData();
if (Scribe.mode == LoadSaveMode.LoadingVars)
{
int curStageHrs = -1;
int currentIntervalHours = -1;
Scribe_Values.Look(ref curStageHrs, "curStageHrs", curStageHrs, true);
Scribe_Values.Look(ref currentIntervalHours, "currentIntervalHours", currentIntervalHours, true);
if (curStageHrs >= 0) curStageTicks = curStageHrs * GenDate.TicksPerHour;
if (currentIntervalHours >= 0) currentIntervalTicks = currentIntervalHours * GenDate.TicksPerHour;
}
Scribe_Collections.Look(ref cums, saveDestroyedThings: true, label: "cums", lookMode: LookMode.Deep, ctorArgs: new object[0]);
Scribe_Collections.Look(ref eggs, saveDestroyedThings: true, label: "eggs", lookMode: LookMode.Deep, ctorArgs: new object[0]);
Scribe_Values.Look(ref curStage, "curStage", curStage, true);
@ -1383,9 +1373,9 @@ namespace RJW_Menstruation
egg.ticksSinceFertilization < minImplantAgeHours * GenDate.TicksPerHour ||
egg.ageTicks < Math.Min(Props.lutealIntervalDays * GenDate.TicksPerDay / 2, maxImplantDelayHours * GenDate.TicksPerHour))
continue;
else if (egg.fertilizer == null)
else if (egg.fertilizer == null || egg.fertilizer.Destroyed)
{
if (Configurations.Debug) Log.Message($"Could not implant {Pawn}'s egg due to null father");
if (Configurations.Debug) Log.Message($"Could not implant {Pawn}'s egg due to null or destroyed father");
deadeggs.Add(egg);
continue;
}
@ -1995,27 +1985,11 @@ namespace RJW_Menstruation
public void ExposeData()
{
if (Scribe.mode == LoadSaveMode.LoadingVars)
{
int lifespanhrs = -1;
int position = -1;
Scribe_Values.Look(ref lifespanhrs, "lifespanhrs", lifespanhrs, true);
Scribe_Values.Look(ref position, "position", position, true);
if (lifespanhrs >= 0) lifeSpanTicks = lifespanhrs * GenDate.TicksPerHour;
if (position >= 0) ageTicks = position * GenDate.TicksPerHour;
}
Scribe_References.Look(ref fertilizer, "fertilizer", true);
Scribe_Values.Look(ref fertilized, "fertilized", false);
Scribe_Values.Look(ref lifeSpanTicks, "lifeSpanTicks", lifeSpanTicks, true);
Scribe_Values.Look(ref ageTicks, "ageTicks", ageTicks, true);
Scribe_Values.Look(ref ticksSinceFertilization, "ticksSinceFertilization", 0);
if (ticksSinceFertilization == 0 && Scribe.mode == LoadSaveMode.LoadingVars)
{
// A bit awkward to do this twice, but it prevents ticksSinceFertilization from getting overwritten on a fertstage load
int fertstage = -1;
Scribe_Values.Look(ref fertstage, "fertstage", fertstage, true);
if (fertstage >= 0) ticksSinceFertilization = fertstage * GenDate.TicksPerHour;
}
}
}
}

View File

@ -57,15 +57,6 @@ namespace RJW_Menstruation
public override void CompExposeData()
{
base.CompExposeData();
if (Scribe.mode == LoadSaveMode.LoadingVars)
{
int hoursToNextCycle = -1;
int averageCycleIntervalHours = -1;
Scribe_Values.Look(ref hoursToNextCycle, "hoursToNextCycle", hoursToNextCycle, true);
Scribe_Values.Look(ref averageCycleIntervalHours, "averageCycleIntervalHours", averageCycleIntervalHours, true);
if (hoursToNextCycle >= 0) ticksToNextCycle = hoursToNextCycle * GenDate.TicksPerHour;
if (averageCycleIntervalHours >= 0) averageCycleIntervalTicks = averageCycleIntervalHours * GenDate.TicksPerHour;
}
Scribe_Values.Look(ref ticksToNextCycle, "ticksToNextCycle", ticksToNextCycle, true);
Scribe_Values.Look(ref averageCycleIntervalTicks, "averageCycleIntervalTicks", averageCycleIntervalTicks, true);
}

View File

@ -10,7 +10,7 @@ namespace RJW_Menstruation
{
public static class MenstruationUtility
{
[Obsolete("This method is obsolete. Use GetMenstruationComps or a related function instead", false)]
[Obsolete("This method is obsolete. Use GetMenstruationComps or a related function instead", true)]
public static HediffComp_Menstruation GetMenstruationComp(this Pawn pawn)
{
return pawn.GetFirstMenstruationComp();

View File

@ -237,12 +237,6 @@ namespace RJW_Menstruation
public override void ExposeData()
{
base.ExposeData();
if(Scribe.mode == LoadSaveMode.LoadingVars)
{
int wearhours = -1;
Scribe_Values.Look(ref wearhours, "wearhours", wearhours, true);
if (wearhours >= 0) wearTicks = wearhours * GenDate.TicksPerHour;
}
Scribe_Values.Look(ref absorbedfluids, "absorbedfluids", 0);
Scribe_Values.Look(ref dirty, "dirty", false);
Scribe_Values.Look(ref wearTicks, "wearTicks", 0);