diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll index 936deef..f289122 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/ChineseTraditional/DefInjected/RecipeDef/Recipes_Surgery_Breast.xml b/1.4/Languages/ChineseTraditional/DefInjected/Recipe_Surgery/Recipes_Surgery_Breast.xml similarity index 100% rename from 1.4/Languages/ChineseTraditional/DefInjected/RecipeDef/Recipes_Surgery_Breast.xml rename to 1.4/Languages/ChineseTraditional/DefInjected/Recipe_Surgery/Recipes_Surgery_Breast.xml diff --git a/1.4/Languages/English/Keyed/RJW_Menstruation.xml b/1.4/Languages/English/Keyed/RJW_Menstruation.xml index 5be5d11..8ff0f64 100644 --- a/1.4/Languages/English/Keyed/RJW_Menstruation.xml +++ b/1.4/Languages/English/Keyed/RJW_Menstruation.xml @@ -124,8 +124,6 @@ Use basic RJW pregnancy Use menstruation multiple pregnancy Use Biotech pregnancy - Show womb status when drafted - Draw womb icon for drafted pawns Reset to default Gather cum diff --git a/1.4/MilkModule/Assemblies/MilkModule.dll b/1.4/MilkModule/Assemblies/MilkModule.dll index 7320b77..7337849 100644 Binary files a/1.4/MilkModule/Assemblies/MilkModule.dll and b/1.4/MilkModule/Assemblies/MilkModule.dll differ diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Compatibility/HARCompatibility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Compatibility/HARCompatibility.cs index add9b43..7ef52c7 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Compatibility/HARCompatibility.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Compatibility/HARCompatibility.cs @@ -19,16 +19,23 @@ namespace RJW_Menstruation AlienPartGenerator.AlienComp babyHARComp = baby?.TryGetComp(); AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp(); if (babyHARComp == null || originalHARComp == null) return; - - babyHARComp.addonVariants = new List(originalHARComp.addonVariants); - foreach (KeyValuePair> channel in originalHARComp.ColorChannels) + + foreach(KeyValuePair> channel in originalHARComp.ColorChannels) { babyHARComp.OverwriteColorChannel(channel.Key, channel.Value.first, channel.Value.second); } - babyHARComp.headVariant = originalHARComp.headVariant; - babyHARComp.bodyVariant = originalHARComp.bodyVariant; babyHARComp.headMaskVariant = originalHARComp.headMaskVariant; babyHARComp.bodyMaskVariant = originalHARComp.bodyMaskVariant; } + + // HAR doesn't populate variants until the graphics are called for, so this has to happen late + public static void CopyHARPropertiesPostBirth(Pawn baby, Pawn original) + { + AlienPartGenerator.AlienComp babyHARComp = baby?.TryGetComp(); + AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp(); + if (babyHARComp == null || originalHARComp == null) return; + if (originalHARComp.addonVariants != null) // Testing has shown that the addons are valid by this point, but it's better to be safe + babyHARComp.addonVariants = new List(originalHARComp.addonVariants); + } } } diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs index 6a843bb..94daadc 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs @@ -42,7 +42,6 @@ namespace RJW_Menstruation public static int CumFertilityDecayRatioAdjust = CumFertilityDecayRatioAdjustDefault; public static int CycleAcceleration = CycleAccelerationDefault; public static bool EnableWombIcon = true; - public static bool EnableDraftedIcon = true; public static bool EnableAnimalCycle = false; public static bool DrawWombStatus = true; public static bool DrawVaginaStatus = true; @@ -73,14 +72,13 @@ namespace RJW_Menstruation public static float MaxBreastIncrementFactor = MaxBreastIncrementFactorDefault; public static float MaxNippleIncrementFactor = MaxNippleIncrementFactorDefault; public static float PermanentNippleChange = PermanentNippleChangeDefault; - public static void SetToDefault() + public static void SettoDefault() { ImplantationChanceAdjust = ImplantationChanceAdjustDefault; FertilizeChanceAdjust = FertilizeChanceAdjustDefault; CumDecayRatioAdjust = CumDecayRatioAdjustDefault; CumFertilityDecayRatioAdjust = CumFertilityDecayRatioAdjustDefault; EnableWombIcon = true; - EnableDraftedIcon = true; EnableGatherCumGizmo = true; EnableAnimalCycle = false; CycleAcceleration = CycleAccelerationDefault; @@ -187,7 +185,6 @@ namespace RJW_Menstruation Scribe_Values.Look(ref CumFertilityDecayRatio, "CumFertilityDecayRatio", CumFertilityDecayRatio, true); Scribe_Values.Look(ref CycleAcceleration, "CycleAcceleration", CycleAcceleration, true); Scribe_Values.Look(ref EnableWombIcon, "EnableWombIcon", EnableWombIcon, true); - Scribe_Values.Look(ref EnableDraftedIcon, "EnableDraftedIcon", EnableDraftedIcon, true); Scribe_Values.Look(ref EnableAnimalCycle, "EnableAnimalCycle", EnableAnimalCycle, true); Scribe_Values.Look(ref DrawWombStatus, "DrawWombStatus", DrawWombStatus, true); Scribe_Values.Look(ref DrawVaginaStatus, "DrawVaginaStatus", DrawVaginaStatus, true); @@ -293,7 +290,7 @@ namespace RJW_Menstruation Widgets.CheckboxLabeled(middleAndRightCells.RightHalf(), Translations.Option_EnableGatherCumGizmo_Label, ref Configurations.EnableGatherCumGizmo, false, null, null, true); if (Configurations.EnableWombIcon || Configurations.EnableButtonInHT) { - Listing_Standard wombsection = listmain.BeginSection(380); + Listing_Standard wombsection = listmain.BeginSection(350); wombsection.CheckboxLabeled(Translations.Option9_Label, ref Configurations.DrawWombStatus, Translations.Option9_Desc); if (Configurations.DrawWombStatus) { @@ -302,7 +299,6 @@ namespace RJW_Menstruation wombsection.CheckboxLabeled(Translations.Option10_Label, ref Configurations.DrawVaginaStatus, Translations.Option10_Desc); wombsection.CheckboxLabeled(Translations.Option29_Label, ref Configurations.AllowShrinkIcon, Translations.Option29_Desc); - wombsection.CheckboxLabeled(Translations.Option_EnableDraftedIcon_Label, ref Configurations.EnableDraftedIcon, Translations.Option_EnableDraftedIcon_Desc); if (wombsection.ButtonText(Translations.Option11_Label + ": " + Configurations.LevelString(Configurations.infoDetail))) { if (Configurations.infoDetail == Configurations.DetailLevel.Hide) Configurations.infoDetail = Configurations.DetailLevel.All; @@ -482,7 +478,7 @@ namespace RJW_Menstruation listmain.CheckboxLabeled(Translations.Option8_Label, ref Configurations.Debug, Translations.Option8_Desc); if (listmain.ButtonText(Translations.Button_ResetToDefault)) { - Configurations.SetToDefault(); + Configurations.SettoDefault(); } listmain.End(); diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Breast.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Breast.cs index b0d8b79..6edeabe 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Breast.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Breast.cs @@ -257,7 +257,7 @@ namespace RJW_Menstruation } } // Scenario B: Pregnant, grow in the second half of first trimester - else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant()) + else if (Pawn.IsRJWPregnant()) { float pregnancySize = Mathf.InverseLerp(breastGrowthStart, breastGrowthEnd, Pawn.GetFarthestPregnancyProgress()) * MaxBreastIncrement; if (breastSizeIncreased > pregnancySize) @@ -293,7 +293,7 @@ namespace RJW_Menstruation float newNippleProgress; if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks) newNippleProgress = 1f; - else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant()) + else if (Pawn.IsRJWPregnant()) newNippleProgress = nippleTransitions.Evaluate(Pawn.GetFarthestPregnancyProgress()); else newNippleProgress = 0f; diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs index 18a9604..7d3ffa3 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs @@ -362,34 +362,5 @@ namespace RJW_Menstruation if (ModsConfig.BiotechActive && pawn.health.hediffSet.HasHediff(HediffDefOf.ImplantedIUD)) return true; return false; } - - public static float DamagePants(this Pawn pawn, float fluidAmount) - { - if (pawn.apparel == null) return 0; - Apparel pants = null; - foreach(Apparel apparel in pawn.apparel.WornApparel.Where(app => app.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs))) - { - if (apparel.def.apparel.LastLayer == ApparelLayerDefOf.OnSkin) - { - pants = apparel; - break; - } - else if (pants == null || apparel.def.apparel.LastLayer == ApparelLayerDefOf.Middle) - // Either grab whatever's available or reassign the pants from shell to a middle - pants = apparel; - // Pants are middle and this is a shell - else continue; - } - if (pants == null) return 0; - - const float HPPerMl = 0.5f; - - DamageWorker.DamageResult damage = pants.TakeDamage(new DamageInfo(DamageDefOf.Deterioration, fluidAmount * HPPerMl, spawnFilth: false)); - - if (pants.Destroyed && PawnUtility.ShouldSendNotificationAbout(pawn) && !pawn.Dead) - Messages.Message("MessageWornApparelDeterioratedAway".Translate(GenLabel.ThingLabel(pants.def, pants.Stuff), pawn).CapitalizeFirst(), pawn, MessageTypeDefOf.NegativeEvent); - - return damage.totalDamageDealt; - } } } diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs index 0641e24..119613e 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -244,6 +244,8 @@ namespace RJW_Menstruation CopyBodyPartRecord(baby, original, Genital_Helper.get_breastsBPR(baby), Genital_Helper.get_breastsBPR(original)); CopyBodyPartRecord(baby, original, Genital_Helper.get_uddersBPR(baby), Genital_Helper.get_uddersBPR(original)); CopyBodyPartRecord(baby, original, Genital_Helper.get_anusBPR(baby), Genital_Helper.get_anusBPR(original)); + if (baby.IsHAR()) + HARCompatibility.CopyHARPropertiesPostBirth(baby, original); } public override void PostBirth(Pawn mother, Pawn father, Pawn baby) @@ -396,8 +398,7 @@ namespace RJW_Menstruation //fixedIdeo: mother.Ideo, forbidAnyTitle: true, forceNoBackstory: true, - forcedEndogenes: PregnancyUtility.GetInheritedGenes(father, mother), - forcedXenotype: ModsConfig.BiotechActive ? XenotypeDefOf.Baseliner : null + forcedEndogenes: PregnancyUtility.GetInheritedGenes(father, mother) ); int division = 1; @@ -409,30 +410,28 @@ namespace RJW_Menstruation { Pawn baby = GenerateBaby(request, mother, father, parentTraits, traitSeed); if (baby == null) break; - if (baby.genes != null && ModsConfig.BiotechActive) - { - if (GeneUtility.SameHeritableXenotype(mother, father) && mother.genes.UniqueXenotype) - { - baby.genes.xenotypeName = mother.genes.xenotypeName; - baby.genes.iconDef = mother.genes.iconDef; - } - XenotypeDef xenoTypeDef = BabyXenoTypeDecider(mother, father, out bool hybridBaby); - if (xenoTypeDef != null) baby.genes.SetXenotypeDirect(xenoTypeDef); - if (hybridBaby) - { - baby.genes.hybrid = true; - baby.genes.xenotypeName = "Hybrid".Translate(); - } - } if (division > 1) { if (i == 0) - { - if (baby.IsHAR()) // Have HAR determine the first baby's properties - baby.Drawer.renderer.graphics.ResolveAllGraphics(); + { firstbaby = baby; request.FixedGender = baby.gender; - request.ForcedEndogenes = baby.genes?.Endogenes.Select(gene => gene.def).ToList(); + request.ForcedEndogenes = baby.genes?.Endogenes.Select(gene => gene.def).ToList(); + if (baby.genes != null && ModsConfig.BiotechActive) + { + if (GeneUtility.SameHeritableXenotype(mother, father) && mother.genes.UniqueXenotype) + { + baby.genes.xenotypeName = mother.genes.xenotypeName; + baby.genes.iconDef = mother.genes.iconDef; + } + XenotypeDef xenoTypeDef = BabyXenoTypeDecider(mother, father, out bool hybridBaby); + if (xenoTypeDef != null) baby.genes.SetXenotypeDirect(xenoTypeDef); + if(hybridBaby) + { + baby.genes.hybrid = true; + baby.genes.xenotypeName = "Hybrid".Translate(); + } + } } else { @@ -635,8 +634,8 @@ namespace RJW_Menstruation } XenotypeDef motherInheritableXenotype = mother?.genes?.Xenotype; XenotypeDef fatherInheritableXenotype = father?.genes?.Xenotype; - if (!(motherInheritableXenotype?.inheritable ?? false)) motherInheritableXenotype = null; - if (!(fatherInheritableXenotype?.inheritable ?? false)) fatherInheritableXenotype = null; + if (!motherInheritableXenotype.inheritable) motherInheritableXenotype = null; + if (!fatherInheritableXenotype.inheritable) fatherInheritableXenotype = null; // If they're the same (or both null) if (motherInheritableXenotype == fatherInheritableXenotype) diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/IngestionOutcomeDoers.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/IngestionOutcomeDoers.cs index a413f42..0ebf299 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/IngestionOutcomeDoers.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/IngestionOutcomeDoers.cs @@ -9,9 +9,11 @@ namespace RJW_Menstruation { Hediff hediff = HediffMaker.MakeHediff(hediffDef, pawn); float effect = ((!(severity > 0f)) ? hediffDef.initialSeverity : severity) * ingested.stackCount; - AddictionUtility.ModifyChemicalEffectForToleranceAndBodySize_NewTemp(pawn, toleranceChemical, ref effect, multiplyByGeneToleranceFactors); + AddictionUtility.ModifyChemicalEffectForToleranceAndBodySize(pawn, toleranceChemical, ref effect); hediff.Severity = effect; pawn.health.AddHediff(hediff); } + + } } diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs index a6d34e2..7bbdefb 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs @@ -3,7 +3,6 @@ using System.Linq; using RimWorld; using Verse; using System.Collections.Generic; -using System.Reflection; namespace RJW_Menstruation { @@ -109,71 +108,4 @@ namespace RJW_Menstruation comp.TakeLoosePregnancy(); } } - - [HarmonyPatch(typeof(PregnancyUtility), nameof(PregnancyUtility.ApplyBirthOutcome))] - public class ApplyBirthOutcome_Patch - { - public static void PostFix(Thing birtherThing) - { - if (birtherThing is Pawn pawn && !pawn.health.Dead) - pawn.GetBreastComp()?.GaveBirth(); - } - } - - [HarmonyPatch(typeof(PregnancyUtility), nameof(PregnancyUtility.TryTerminatePregnancy))] - public class TryTerminatePregnancy_Patch - { - private static Hediff GetEarliestPregnancy(Pawn pawn) - { - Hediff Earliest_Pregnancy = PregnancyUtility.GetPregnancyHediff(pawn); - foreach (HediffComp_Menstruation comp in pawn.GetMenstruationComps()) - { - Hediff pregnancy = comp.Pregnancy; - if (pregnancy == null) continue; - if (Earliest_Pregnancy == null || Earliest_Pregnancy.Severity > pregnancy.Severity) Earliest_Pregnancy = pregnancy; - } - - return Earliest_Pregnancy; - } - - private static readonly MethodInfo GetPregnancyHediff = AccessTools.Method(typeof(PregnancyUtility), nameof(PregnancyUtility.GetPregnancyHediff), new System.Type[] { typeof(Pawn) }); - - // Also called for Recipe_TerminatePregnancy.ApplyOnPawn - public static IEnumerable Transpiler(IEnumerable instructions) - { - if (GetPregnancyHediff == null || GetPregnancyHediff.ReturnType != typeof(Hediff)) throw new System.InvalidOperationException("GetPregnancyHediff not found"); - foreach (CodeInstruction instruction in instructions) - { - if (instruction.Calls(GetPregnancyHediff)) - yield return CodeInstruction.Call(typeof(TryTerminatePregnancy_Patch), nameof(TryTerminatePregnancy_Patch.GetEarliestPregnancy)); - else yield return instruction; - } - } - - public static void Postfix(bool __result, Pawn pawn) - { - if (__result) - foreach (HediffComp_Menstruation comp in pawn.GetMenstruationComps()) - _ = comp.Pregnancy; // get_Pregnancy will remove the hediff attached to the comp that doesn't have it anymore - } - } - - [HarmonyPatch(typeof(Recipe_TerminatePregnancy), nameof(Recipe_TerminatePregnancy.AvailableOnNow))] - public class TerminatePregnancy_AvailableOnNow_Patch - { - public static void Postfix(ref bool __result, Thing thing) - { - if (!ModsConfig.BiotechActive || !(thing is Pawn pawn)) return; - __result |= pawn.GetMenstruationComps().Any(comp => comp.Pregnancy != null); - } - } - - [HarmonyPatch(typeof(Recipe_TerminatePregnancy), nameof(Recipe_TerminatePregnancy.ApplyOnPawn))] - public class TerminatePregnancy_ApplyOnPawn_Patch - { - public static IEnumerable Transpiler(IEnumerable instructions) - { - return TryTerminatePregnancy_Patch.Transpiler(instructions); - } - } } \ No newline at end of file diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs index 9032766..cb98f78 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs @@ -96,7 +96,7 @@ namespace RJW_Menstruation } [HarmonyPatch(typeof(PregnancyHelper), nameof(PregnancyHelper.DoImpregnate))] - public static class DoImpregnate_Patch + public static class Doimpregnate_Patch { public static bool Prefix(Pawn pawn, Pawn partner) // partner has vagina { @@ -132,7 +132,7 @@ namespace RJW_Menstruation private static readonly MethodInfo IsPregnant = AccessTools.Method(typeof(PawnExtensions), nameof(PawnExtensions.IsPregnant), new System.Type[] {typeof(Pawn), typeof(bool)}); public static IEnumerable Transpiler(IEnumerable instructions) { - if (IsPregnant == null || IsPregnant.ReturnType != typeof(bool)) throw new System.InvalidOperationException("IsPregnant not found"); + if (IsPregnant == null) throw new System.InvalidOperationException("IsPregnant not found"); foreach(CodeInstruction instruction in instructions) { if (instruction.Calls(IsPregnant)) @@ -239,7 +239,7 @@ namespace RJW_Menstruation private static readonly FieldInfo MinimumFuckabilityToHookup = AccessTools.Field(typeof(RJWHookupSettings), nameof(RJWHookupSettings.MinimumFuckabilityToHookup)); public static IEnumerable Transpiler(IEnumerable instructions) { - if (MinimumFuckabilityToHookup == null || MinimumFuckabilityToHookup.FieldType != typeof(float)) throw new System.InvalidOperationException("MinimumFuckabilityToHookup not found"); + if (MinimumFuckabilityToHookup == null) throw new System.InvalidOperationException("MinimumFuckabilityToHookup not found"); bool first_fuckability = true; foreach (CodeInstruction instruction in instructions) { @@ -275,8 +275,8 @@ namespace RJW_Menstruation private static readonly FieldInfo MinimumRelationshipToHookup = AccessTools.Field(typeof(RJWHookupSettings), nameof(RJWHookupSettings.MinimumRelationshipToHookup)); public static IEnumerable Transpiler(IEnumerable instructions) { - if (MinimumAttractivenessToHookup == null || MinimumAttractivenessToHookup.FieldType != typeof(float)) throw new System.InvalidOperationException("MinimumAttractivenessToHookup not found"); - if (MinimumRelationshipToHookup == null || MinimumRelationshipToHookup.FieldType != typeof(float)) throw new System.InvalidOperationException("MinimumRelationshipToHookup not found"); + if (MinimumAttractivenessToHookup == null) throw new System.InvalidOperationException("MinimumAttractivenessToHookup not found"); + if (MinimumRelationshipToHookup == null) throw new System.InvalidOperationException("MinimumRelationshipToHookup not found"); LocalBuilder pawn_index = null; // Like in the last one, we switch the arguments around for the second load bool first_attractiveness = true; diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs index 426991d..35d95c8 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Translations.cs @@ -125,8 +125,6 @@ namespace RJW_Menstruation 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 Option_EnableDraftedIcon_Label = "Option_EnableDraftedIcon_Label".Translate(); - public static readonly string Option_EnableDraftedIcon_Desc = "Option_EnableDraftedIcon_Desc".Translate(); public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate(); diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs index 73cdf7e..aefa4c2 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs @@ -449,10 +449,7 @@ namespace RJW_Menstruation public static bool ShouldShowWombGizmo(this Pawn pawn) { - if (!Configurations.EnableWombIcon) return false; - if (pawn.Drafted && !Configurations.EnableDraftedIcon) return false; - if (pawn.IsAnimal() && !Configurations.EnableAnimalCycle) return false; - return true; + return Configurations.EnableWombIcon && (!pawn.IsAnimal() || Configurations.EnableAnimalCycle); } } } diff --git a/About/Manifest.xml b/About/Manifest.xml index 72e60db..84c2a83 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.8.4 + 1.0.8.3 diff --git a/changelogs.txt b/changelogs.txt index ddd0654..cfa0841 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,10 +1,3 @@ -Version 1.0.8.4 - - Fix Biotech xenotype inheritance for single-child pregnancies. - - Fix error in Traditional Chinese translation. - - New option in the mod settings to hide the womb icon for drafted pawns. - - Newborns should now be baseliners if there are no xenotypes to inherit. - - The Biotech terminate pregnancy recipe can now terminate a menstruation pregnancy, too. - Version 1.0.8.3 - Compatibility update for RJW 5.3.0.9 - Requires RJW 5.3.0.9 @@ -20,7 +13,7 @@ Version 1.0.8.2 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. - Babies conceived through the multiple pregnancy option will now properly inherit xenotypes. - - Properly track Biotech pregnancy through labor. + - Properly track biotech pregnancy through labor. - Pawns that are genetically sterile will no longer produce fertile cum, nor have a menstrual cycle. - Biotech IUDs will now reduce pregnancy chances the same as an RJW IUD. Using both will not stack. - A biotech pregnancy will pause before going into labor if another womb already is in labor.