diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll
index dd71d1f..ad2bc84 100644
Binary files a/1.4/Assemblies/RJW_Menstruation.dll and b/1.4/Assemblies/RJW_Menstruation.dll differ
diff --git a/1.4/Languages/English/Keyed/RJW_Menstruation.xml b/1.4/Languages/English/Keyed/RJW_Menstruation.xml
index 7e88099..e428696 100644
--- a/1.4/Languages/English/Keyed/RJW_Menstruation.xml
+++ b/1.4/Languages/English/Keyed/RJW_Menstruation.xml
@@ -121,9 +121,6 @@
Estimated sperm lifespan
Estimated egg lifespan
Implantation chance of fertilized eggs.
Chance of fertilization this hour: {0}%
- Use basic RJW pregnancy
- Use menstruation multiple pregnancy
- Use Biotech pregnancy
Reset to default
Gather cum
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
index af6761d..31cfe5d 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
@@ -53,8 +53,7 @@ namespace RJW_Menstruation
public static float EstrusFuckabilityToHookup = RJWHookupSettings.MinimumFuckabilityToHookup;
public static float EstrusAttractivenessToHookup = RJWHookupSettings.MinimumAttractivenessToHookup;
public static float EstrusRelationshipToHookup = RJWHookupSettings.MinimumRelationshipToHookup;
- // public static bool UseMultiplePregnancy = true;
- public static PregnancyType PregnancySource = PregnancyType.MultiplePregnancy;
+ public static bool UseMultiplePregnancy = true;
public static bool EnableHeteroOvularTwins = true;
public static bool EnableEnzygoticTwins = true;
public static float EnzygoticTwinsChance = EnzygoticTwinsChanceDefault;
@@ -90,8 +89,7 @@ namespace RJW_Menstruation
EnzygoticTwinsChanceAdjust = EnzygoticTwinsChanceAdjustDefault;
EnableEnzygoticTwins = true;
EnableHeteroOvularTwins = true;
- // UseMultiplePregnancy = true;
- PregnancySource = PregnancyType.MultiplePregnancy;
+ UseMultiplePregnancy = true;
MaxEnzygoticTwins = MaxEnzygoticTwinsDefault;
BleedingAmount = BleedingAmountDefault;
MotherFirst = false;
@@ -168,13 +166,6 @@ namespace RJW_Menstruation
Hostile = 16
}
- public enum PregnancyType
- {
- BaseRJW,
- MultiplePregnancy,
- Biotech
- }
-
public override void ExposeData()
{
Scribe_Values.Look(ref ImplantationChanceAdjust, "ImplantationChanceAdjust", ImplantationChanceAdjust, true);
@@ -198,8 +189,7 @@ namespace RJW_Menstruation
Scribe_Values.Look(ref EstrusFuckabilityToHookup, "EstrusFuckabilityToHookup", EstrusFuckabilityToHookup, true);
Scribe_Values.Look(ref EstrusAttractivenessToHookup, "EstrusAttractivenessToHookup", EstrusAttractivenessToHookup, true);
Scribe_Values.Look(ref EstrusRelationshipToHookup, "EstrusRelationshipToHookup", EstrusRelationshipToHookup, true);
- //Scribe_Values.Look(ref UseMultiplePregnancy, "UseMultiplePregnancy", UseMultiplePregnancy, true);
- Scribe_Values.Look(ref PregnancySource, "PregnancySource", PregnancySource, true);
+ Scribe_Values.Look(ref UseMultiplePregnancy, "UseMultiplePregnancy", UseMultiplePregnancy, true);
Scribe_Values.Look(ref EnableHeteroOvularTwins, "EnableHeteroOvularTwins", EnableHeteroOvularTwins, true);
Scribe_Values.Look(ref EnableEnzygoticTwins, "EnableEnzygoticTwins", EnableEnzygoticTwins, true);
Scribe_Values.Look(ref EnzygoticTwinsChance, "EnzygoticTwinsChance", EnzygoticTwinsChance, true);
@@ -255,10 +245,8 @@ namespace RJW_Menstruation
public RJW_Menstruation(ModContentPack content) : base(content)
{
GetSettings();
- if (!ModsConfig.BiotechActive && Configurations.PregnancySource == Configurations.PregnancyType.Biotech)
- Configurations.PregnancySource = Configurations.PregnancyType.MultiplePregnancy;
- Configurations.HARActivated = ModsConfig.IsActive("erdelf.HumanoidAlienRaces");
- Configurations.AnimalGeneticsActivated = ModsConfig.IsActive("Mlie.AnimalGenetics");
+ Configurations.HARActivated = ModLister.GetActiveModWithIdentifier("erdelf.HumanoidAlienRaces") != null;
+ Configurations.AnimalGeneticsActivated = ModLister.GetActiveModWithIdentifier("Mlie.AnimalGenetics") != null;
}
@@ -274,8 +262,7 @@ namespace RJW_Menstruation
float mainRectHeight = -3f +
(Configurations.EnableWombIcon || Configurations.EnableButtonInHT ? 400f : 0f) +
(Configurations.EstrusOverridesHookupSettings ? 144f : 0f) +
- // TODO: Also for modified Biotech pregnancies
- (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ? (Configurations.EnableEnzygoticTwins ? 175f : 75f) : 0f) +
+ (Configurations.UseMultiplePregnancy ? (Configurations.EnableEnzygoticTwins ? 175f : 75f) : 0f) +
(Configurations.EnableBirthVaginaMorph ? 48f : 0f);
Rect mainRect = new Rect(0f, 0f, inRect.width - 30f, Math.Max(inRect.height + mainRectHeight, 1f));
int Adjust;
@@ -428,15 +415,8 @@ namespace RJW_Menstruation
Configurations.EstrusRelationshipToHookup = listmain.Slider((int)Configurations.EstrusRelationshipToHookup, -100f, 100f);
}
- // listmain.CheckboxLabeled(Translations.Option13_Label, ref Configurations.UseMultiplePregnancy, Translations.Option13_Desc);
- if (listmain.RadioButton(Translations.Option_PregnancyFromBaseRJW_Label, Configurations.PregnancySource == Configurations.PregnancyType.BaseRJW))
- Configurations.PregnancySource = Configurations.PregnancyType.BaseRJW;
- if (listmain.RadioButton(Translations.Option_PregnancyFromMultiplePregnancy_Label, Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy))
- Configurations.PregnancySource = Configurations.PregnancyType.MultiplePregnancy;
- if (ModsConfig.BiotechActive && listmain.RadioButton(Translations.Option_PregnancyFromBiotech_Label, Configurations.PregnancySource == Configurations.PregnancyType.Biotech))
- Configurations.PregnancySource = Configurations.PregnancyType.Biotech;
- // TODO: Also for modified Biotech pregnancy
- if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy)
+ listmain.CheckboxLabeled(Translations.Option13_Label, ref Configurations.UseMultiplePregnancy, Translations.Option13_Desc);
+ if (Configurations.UseMultiplePregnancy)
{
float sectionheight = 75f;
if (Configurations.EnableEnzygoticTwins) sectionheight += 100;
@@ -479,14 +459,19 @@ namespace RJW_Menstruation
listmain.EndSection(vmsection);
}
+
+ Widgets.EndScrollView();
+
listmain.CheckboxLabeled(Translations.Option8_Label, ref Configurations.Debug, Translations.Option8_Desc);
if (listmain.ButtonText(Translations.Button_ResetToDefault))
{
Configurations.SettoDefault();
+
}
listmain.End();
- Widgets.EndScrollView();
+
+
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
index 16e2156..4491d80 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
@@ -1223,6 +1223,13 @@ namespace RJW_Menstruation
deadeggs.Add(egg);
continue;
}
+ else if (Pawn.IsBiotechPregnant())
+ {
+ // TODO: Initiate Biotech pregnancy
+ if (Configurations.Debug) Log.Message($"Could not implant {Pawn}'s egg due to existing Biotech pregnancy");
+ deadeggs.Add(egg);
+ continue;
+ }
else if (Pawn.health.hediffSet.GetFirstHediff() != null || pregnancy is Hediff_MechanoidPregnancy)
{
if (Configurations.Debug) Log.Message($"Could not implant {Pawn}'s egg due to insect or mechanoid pregnancy");
@@ -1234,8 +1241,7 @@ namespace RJW_Menstruation
if (Configurations.Debug) Log.Message($"Implanting fertilized egg of {Pawn} into {parent}, father {egg.fertilizer}");
if (pregnancy != null)
{
- // TODO: Modified Biotech pregnancy
- if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy && Configurations.EnableHeteroOvularTwins)
+ if (Configurations.UseMultiplePregnancy && Configurations.EnableHeteroOvularTwins)
{
if (pregnancy is Hediff_MultiplePregnancy h)
{
@@ -1253,41 +1259,30 @@ namespace RJW_Menstruation
}
else
{
- Configurations.PregnancyType usePregnancy = xxx.is_human(Pawn) ? Configurations.PregnancySource : Configurations.PregnancyType.MultiplePregnancy;
- switch (usePregnancy)
+ if (!Configurations.UseMultiplePregnancy)
{
- case Configurations.PregnancyType.BaseRJW:
-
- if (Configurations.Debug) Log.Message($"Creating new base RJW pregnancy");
- PregnancyHelper.PregnancyDecider(Pawn, egg.fertilizer);
- // I hate having to do this, but it gets the newest pregnancy
- List pregnancies = new List();
- Pawn.health.hediffSet.GetHediffs(ref pregnancies);
- pregnancy = pregnancies.MaxBy(hediff => hediff.loadID);
- pregnant = true;
- break;
-
- case Configurations.PregnancyType.MultiplePregnancy:
- if (Configurations.Debug) Log.Message($"Creating new menstruation pregnancy");
- pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer);
- pregnant = true;
- deadeggs.Add(egg);
- break;
-
- case Configurations.PregnancyType.Biotech:
- if (Configurations.Debug) Log.Message($"Creating new biotech pregnancy");
- pregnancy = HediffMaker.MakeHediff(HediffDefOf.PregnantHuman, Pawn);
- ((Hediff_Pregnant)pregnancy).SetParents(Pawn, egg.fertilizer, PregnancyUtility.GetInheritedGeneSet(egg.fertilizer, Pawn));
- Pawn.health.AddHediff(pregnancy);
- break;
+ if (Configurations.Debug) Log.Message($"Creating new base RJW pregnancy");
+ PregnancyHelper.PregnancyDecider(Pawn, egg.fertilizer);
+ // I hate having to do this, but it gets the newest pregnancy
+ List pregnancies = new List();
+ Pawn.health.hediffSet.GetHediffs(ref pregnancies);
+ pregnancy = pregnancies.MaxBy(hediff => hediff.loadID);
+ pregnant = true;
+ break;
+ }
+ else
+ {
+ if (Configurations.Debug) Log.Message($"Creating new menstruation pregnancy");
+ pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer);
+ pregnant = true;
+ deadeggs.Add(egg);
}
if (pregnancy is Hediff_BasePregnancy rjw_preg)
{
- // TODO: advance biotech pregnancy
rjw_preg.p_start_tick -= egg.fertstage / Configurations.CycleAcceleration * GenDate.TicksPerHour;
rjw_preg.p_end_tick -= egg.fertstage / Configurations.CycleAcceleration * GenDate.TicksPerHour;
}
- if (!(pregnancy is Hediff_MultiplePregnancy)) break;
+ // TODO: advance biotech pregnancy
}
}
@@ -1298,7 +1293,7 @@ namespace RJW_Menstruation
}
}
- if (pregnant && (Configurations.PregnancySource != Configurations.PregnancyType.MultiplePregnancy || !Configurations.EnableHeteroOvularTwins))
+ if (pregnant && (!Configurations.UseMultiplePregnancy || !Configurations.EnableHeteroOvularTwins))
{
eggs.Clear();
return true;
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
index 973a90b..8f0de67 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs
@@ -122,9 +122,6 @@ namespace RJW_Menstruation
public static readonly string Option_EstrusFuckability_Label = "Option_EstrusFuckability_Label".Translate();
public static readonly string Option_EstrusAttractability_Label = "Option_EstrusAttractability_Label".Translate();
public static readonly string Option_EstrusRelationship_Label = "Option_EstrusRelationship_Label".Translate();
- public static readonly string Option_PregnancyFromBaseRJW_Label = "Option_PregnancyFromBaseRJW_Label".Translate();
- public static readonly string Option_PregnancyFromMultiplePregnancy_Label = "Option_PregnancyFromMultiplePregnancy_Label".Translate();
- public static readonly string Option_PregnancyFromBiotech_Label = "Option_PregnancyFromBiotech_Label".Translate();
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
diff --git a/About/Manifest.xml b/About/Manifest.xml
index a46c110..b1bb3ff 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -1,7 +1,7 @@
RJW Menstruation
- 1.0.8.1
+ 1.0.8.0
diff --git a/changelogs.txt b/changelogs.txt
index 5734acd..0e21230 100644
--- a/changelogs.txt
+++ b/changelogs.txt
@@ -1,12 +1,6 @@
-Version 1.0.8.1
- - Added the option for humans to start Biotech pregnancies if the DLC is enabled. If set, non-humans will use the old multiple pregnancy instead.
-
Version 1.0.8.0
- - Support for RimWorld 1.4. All future changes to Menstruation will only be for Rimworld 1.4.
- - Existing Biotech pregnancies will appear in a womb, but no support yet for starting a Biotech pregnancy.
- - Identical twins will have identical genes.
- - Biotech: A human will lactate upon giving birth with multiple pregnancy.
- - Updated Traditional Chinese translation by Hydrogen.
+ - Partial support for RimWorld 1.4
+ - Updated Traditional Chinese translation by Hydrogen
Version 1.0.7.5
- Requires RJW 5.2.2.