mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Integration of pregenerated babies into the womb dialog
This commit is contained in:
parent
f5f8eba037
commit
c3176fb0e5
4 changed files with 33 additions and 14 deletions
|
@ -277,8 +277,8 @@ namespace RJW_Menstruation
|
||||||
float mainRectHeight = -3f +
|
float mainRectHeight = -3f +
|
||||||
(Configurations.EnableWombIcon || Configurations.EnableButtonInHT ? 400f : 0f) +
|
(Configurations.EnableWombIcon || Configurations.EnableButtonInHT ? 400f : 0f) +
|
||||||
(Configurations.EstrusOverridesHookupSettings ? 144f : 0f) +
|
(Configurations.EstrusOverridesHookupSettings ? 144f : 0f) +
|
||||||
// TODO: Also for modified Biotech pregnancies
|
|
||||||
(Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ? (Configurations.EnableEnzygoticTwins ? 175f : 75f) : 0f) +
|
(Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ? (Configurations.EnableEnzygoticTwins ? 175f : 75f) : 0f) +
|
||||||
|
(Configurations.PregnancySource == Configurations.PregnancyType.Biotech ? (Configurations.EnableBiotechTwins ? 175f : 75f) : 0f) +
|
||||||
(Configurations.EnableBirthVaginaMorph ? 48f : 0f);
|
(Configurations.EnableBirthVaginaMorph ? 48f : 0f);
|
||||||
Rect mainRect = new Rect(0f, 0f, inRect.width - 30f, Math.Max(inRect.height + mainRectHeight, 1f));
|
Rect mainRect = new Rect(0f, 0f, inRect.width - 30f, Math.Max(inRect.height + mainRectHeight, 1f));
|
||||||
int Adjust;
|
int Adjust;
|
||||||
|
@ -438,7 +438,6 @@ namespace RJW_Menstruation
|
||||||
Configurations.PregnancySource = Configurations.PregnancyType.MultiplePregnancy;
|
Configurations.PregnancySource = Configurations.PregnancyType.MultiplePregnancy;
|
||||||
if (ModsConfig.BiotechActive && listmain.RadioButton(Translations.Option_PregnancyFromBiotech_Label, Configurations.PregnancySource == Configurations.PregnancyType.Biotech))
|
if (ModsConfig.BiotechActive && listmain.RadioButton(Translations.Option_PregnancyFromBiotech_Label, Configurations.PregnancySource == Configurations.PregnancyType.Biotech))
|
||||||
Configurations.PregnancySource = Configurations.PregnancyType.Biotech;
|
Configurations.PregnancySource = Configurations.PregnancyType.Biotech;
|
||||||
|
|
||||||
if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ||
|
if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ||
|
||||||
(Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins))
|
(Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins))
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,7 +115,10 @@ namespace RJW_Menstruation
|
||||||
if (hediff is Hediff_MechanoidPregnancy)
|
if (hediff is Hediff_MechanoidPregnancy)
|
||||||
return ContentFinder<Texture2D>.Get(("Womb/Mechanoid_Fluid"), true);
|
return ContentFinder<Texture2D>.Get(("Womb/Mechanoid_Fluid"), true);
|
||||||
|
|
||||||
ThingDef babydef = comp.Pawn.def; // TODO: Pregenerated babies
|
ThingDef babydef = comp.Pawn.def;
|
||||||
|
HediffComp_PregeneratedBabies babiescomp = hediff?.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||||
|
if (babiescomp?.HasBaby ?? false)
|
||||||
|
babydef = babiescomp.babies.First().def;
|
||||||
float gestationProgress = comp.StageProgress;
|
float gestationProgress = comp.StageProgress;
|
||||||
int babycount = hediff is Hediff_BasePregnancy preg ? preg.babies.Count : 1;
|
int babycount = hediff is Hediff_BasePregnancy preg ? preg.babies.Count : 1;
|
||||||
|
|
||||||
|
|
|
@ -221,19 +221,36 @@ namespace RJW_Menstruation
|
||||||
{
|
{
|
||||||
if (p is Hediff_Pregnant hp && hp.Severity < 0.2f) cum = comp.GetCumIcon();
|
if (p is Hediff_Pregnant hp && hp.Severity < 0.2f) cum = comp.GetCumIcon();
|
||||||
else cum = ContentFinder<Texture2D>.Get("Womb/Empty", true);
|
else cum = ContentFinder<Texture2D>.Get("Womb/Empty", true);
|
||||||
// TODO: Pregenerated babies (base on multiplepregnancy)
|
HediffComp_PregeneratedBabies babiescomp = p.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||||
if (Utility.ShowFetusInfo())
|
if (Utility.ShowFetusInfo())
|
||||||
|
{
|
||||||
|
string feinfo = PregnancyCommon.GetBabyInfo(babiescomp?.babies);
|
||||||
|
string fainfo = PregnancyCommon.GetFatherInfo(babiescomp?.babies, babiescomp.Pawn, true) + " "; // Keep all parents known, for now
|
||||||
|
|
||||||
|
if (feinfo == "Null") feinfo = "1 " + p.Mother.def.label + " " + Translations.Dialog_WombInfo02;
|
||||||
|
if (fainfo == "Null")
|
||||||
|
{
|
||||||
|
string father = p.Father?.LabelShort ?? Translations.Dialog_FatherUnknown;
|
||||||
|
fainfo = Translations.Dialog_WombInfo03 + ": " + father + " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (feinfo.Length + fainfo.Length > 45)
|
||||||
|
{
|
||||||
|
preginfoheight = fontheight + 2;
|
||||||
|
buttonstyle.alignment = TextAnchor.UpperLeft;
|
||||||
|
fontstyleright.alignment = TextAnchor.LowerRight;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
preginfoheight = fontheight;
|
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;
|
buttonstyle.alignment = TextAnchor.MiddleLeft;
|
||||||
|
|
||||||
string father = p.Father?.LabelShort ?? Translations.Dialog_FatherUnknown;
|
}
|
||||||
|
|
||||||
GUI.Box(preginfo, "1 " + p.Mother.def.label + " " + Translations.Dialog_WombInfo02, buttonstyle);
|
Rect preginfo = new Rect(0f, mainRect.yMax - wombRectHeight - 2, wombRectWidth, preginfoheight);
|
||||||
GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + father + " ", fontstyleright);
|
fontstyleright.normal.textColor = Color.white;
|
||||||
|
GUI.Box(preginfo, feinfo, buttonstyle);
|
||||||
|
GUI.Label(preginfo, fainfo, fontstyleright);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else cum = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
|
else cum = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
|
||||||
|
|
|
@ -188,8 +188,8 @@ namespace RJW_Menstruation
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO: Biotech pregenerated babies
|
HediffComp_PregeneratedBabies babiescomp = comp.Pregnancy.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||||
return null;
|
return babiescomp?.babies?.FirstOrDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DrawBreastIcon(this Pawn pawn, Rect rect)
|
public static void DrawBreastIcon(this Pawn pawn, Rect rect)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue