diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll index cba755b..3c05d62 100644 Binary files a/1.4/Assemblies/RJW_Menstruation.dll and b/1.4/Assemblies/RJW_Menstruation.dll differ diff --git a/1.4/MilkModule/Assemblies/MilkModule.dll b/1.4/MilkModule/Assemblies/MilkModule.dll index 20460de..451e5c1 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/HediffComps/HediffComp_Menstruation.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs index 4491d80..027a1b3 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 @@ -550,7 +550,8 @@ namespace RJW_Menstruation break; case Hediff_Labor _: case Hediff_LaborPushing _: - return 1.0f; + is_discovered = true; + break; } if (is_discovered || Configurations.infoDetail == Configurations.DetailLevel.All) return pregnancy.Severity; 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 a243f52..31b61bc 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs @@ -89,34 +89,31 @@ namespace RJW_Menstruation public static Texture2D GetPregnancyIcon(this HediffComp_Menstruation comp, Hediff hediff) { + string icon = ""; + int babycount = 1; if (hediff is Hediff_MechanoidPregnancy) + { return ContentFinder.Get(("Womb/Mechanoid_Fluid"), true); - - string icon = "Fetus/Slime_Abomi02"; - string fetustex = "Fetus/Fetus_Default"; - ThingDef babydef = comp.Pawn.def; // TODO: Pregenerated babies - - float gestationProgress = comp.StageProgress; - int babycount = hediff is Hediff_BasePregnancy preg ? preg.babies.Count : 1; - - if (hediff is Hediff_BasePregnancy h) - { - babydef = h.babies?.FirstOrDefault()?.def ?? ThingDefOf.Human; } - - fetustex = babydef.GetModExtension()?.fetusTexPath ?? "Fetus/Fetus_Default"; - if (gestationProgress < 0.2f) icon = comp.WombTex + "_Implanted"; - else if (gestationProgress < 0.3f) + else if (hediff is Hediff_BasePregnancy h) { - if (babydef.race?.FleshType == FleshTypeDefOf.Insectoid) icon = "Fetus/Insects/Insect_Early00"; - else icon = "Fetus/Fetus_Early00"; + babycount = h.babies.Count; + string fetustex = h.babies?.FirstOrDefault()?.def.GetModExtension()?.fetusTexPath ?? "Fetus/Fetus_Default"; + if (h.GestationProgress < 0.2f) icon = comp.WombTex + "_Implanted"; + else if (h.GestationProgress < 0.3f) + { + if (h.babies?.First()?.def?.race?.FleshType == FleshTypeDefOf.Insectoid) icon += "Fetus/Insects/Insect_Early00"; + else icon += "Fetus/Fetus_Early00"; + } + else if (h.GestationProgress < 0.4f) icon += fetustex + "00"; + else if (h.GestationProgress < 0.5f) icon += fetustex + "01"; + else if (h.GestationProgress < 0.6f) icon += fetustex + "02"; + else if (h.GestationProgress < 0.7f) icon += fetustex + "03"; + else if (h.GestationProgress < 0.8f) icon += fetustex + "04"; + else icon += fetustex + "05"; } - else if (gestationProgress < 0.4f) icon = fetustex + "00"; - else if (gestationProgress < 0.5f) icon = fetustex + "01"; - else if (gestationProgress < 0.6f) icon = fetustex + "02"; - else if (gestationProgress < 0.7f) icon = fetustex + "03"; - else if (gestationProgress < 0.8f) icon = fetustex + "04"; - else icon = fetustex + "05"; + // TODO: Biotech + else icon = "Fetus/Slime_Abomi02"; Texture2D result = TryGetTwinsIcon(icon, babycount); diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs index e640659..8c71bf4 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs @@ -57,16 +57,15 @@ namespace RJW_Menstruation comp.TotalFertCum, comp.ovarypower, comp.GetNumOfEggs); } else description.AppendFormat("{0}\n", comp.GetCurStageLabel); - if (pawn.IsRJWPregnant() || pawn.IsBiotechPregnant()) + if (pawn.IsRJWPregnant()) { - Hediff hediff = comp.Pregnancy; + Hediff_BasePregnancy hediff = comp.Pregnancy; if (hediff != null && Utility.ShowFetusImage(hediff)) { icon = comp.GetPregnancyIcon(hediff); - float gestationProgress = comp.StageProgress; - if (hediff is Hediff_BasePregnancy || hediff is HediffWithParents) + if (hediff is Hediff_BasePregnancy h) { - if (gestationProgress < 0.2f) icon_overay = comp.GetCumIcon(); + if (h.GestationProgress < 0.2f) icon_overay = comp.GetCumIcon(); else icon_overay = ContentFinder.Get(("Womb/Empty"), true); } else icon_overay = ContentFinder.Get(("Womb/Empty"), true); diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/UI/Dialog_WombStatus.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/UI/Dialog_WombStatus.cs index e90643b..bc6fc10 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/UI/Dialog_WombStatus.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/UI/Dialog_WombStatus.cs @@ -217,26 +217,8 @@ namespace RJW_Menstruation GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + father + " ", fontstyleright); } } - else if (hediff is HediffWithParents p) - { - if (p is Hediff_Pregnant hp && hp.Severity < 0.2f) cum = comp.GetCumIcon(); - else cum = ContentFinder.Get("Womb/Empty", true); - // TODO: Pregenerated babies (base on multiplepregnancy) - if (Utility.ShowFetusInfo()) - { - preginfoheight = fontheight; - Rect preginfo = new Rect(0f, mainRect.yMax - wombRectHeight - 2, wombRectWidth, preginfoheight); - fontstyleright.normal.textColor = Color.white; - fontstyleright.alignment = TextAnchor.MiddleRight; - buttonstyle.alignment = TextAnchor.MiddleLeft; - - string father = p.Father.LabelShort; - - GUI.Box(preginfo, "1 " + p.Mother.def.label + " " + Translations.Dialog_WombInfo02, buttonstyle); - GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + father + " ", fontstyleright); - } - } else cum = ContentFinder.Get(("Womb/Empty"), true); + // TODO: Biotech pregnancy } else { diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs index aefa4c2..23a56d7 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs @@ -188,7 +188,7 @@ namespace RJW_Menstruation return null; } } - // TODO: Biotech pregenerated babies + // TODO: Biotech return null; }