mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Compare commits
	
		
			2 commits
		
	
	
		
			31c3026ca0
			...
			592cb361ad
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							 | 
						592cb361ad | ||
| 
							 | 
						c72ff42da1 | 
					 7 changed files with 50 additions and 29 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -550,8 +550,7 @@ namespace RJW_Menstruation
 | 
			
		|||
                        break;
 | 
			
		||||
                    case Hediff_Labor _:
 | 
			
		||||
                    case Hediff_LaborPushing _:
 | 
			
		||||
                        is_discovered = true;
 | 
			
		||||
                        break;
 | 
			
		||||
                        return 1.0f;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (is_discovered || Configurations.infoDetail == Configurations.DetailLevel.All) return pregnancy.Severity;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,31 +89,34 @@ 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<Texture2D>.Get(("Womb/Mechanoid_Fluid"), true);
 | 
			
		||||
            }
 | 
			
		||||
            else if (hediff is Hediff_BasePregnancy h)
 | 
			
		||||
 | 
			
		||||
            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)
 | 
			
		||||
            {
 | 
			
		||||
                babycount = h.babies.Count;
 | 
			
		||||
                string fetustex = h.babies?.FirstOrDefault()?.def.GetModExtension<PawnDNAModExtension>()?.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";
 | 
			
		||||
                babydef = h.babies?.FirstOrDefault()?.def ?? ThingDefOf.Human;
 | 
			
		||||
            }
 | 
			
		||||
            // TODO: Biotech
 | 
			
		||||
            else icon = "Fetus/Slime_Abomi02";
 | 
			
		||||
            
 | 
			
		||||
            fetustex = babydef.GetModExtension<PawnDNAModExtension>()?.fetusTexPath ?? "Fetus/Fetus_Default";
 | 
			
		||||
            if (gestationProgress < 0.2f) icon = comp.WombTex + "_Implanted";
 | 
			
		||||
            else if (gestationProgress < 0.3f)
 | 
			
		||||
            {
 | 
			
		||||
                if (babydef.race?.FleshType == FleshTypeDefOf.Insectoid) icon = "Fetus/Insects/Insect_Early00";
 | 
			
		||||
                else icon = "Fetus/Fetus_Early00";
 | 
			
		||||
            }
 | 
			
		||||
            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";
 | 
			
		||||
 | 
			
		||||
            Texture2D result = TryGetTwinsIcon(icon, babycount);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,15 +57,16 @@ namespace RJW_Menstruation
 | 
			
		|||
                                  comp.TotalFertCum, comp.ovarypower, comp.GetNumOfEggs);
 | 
			
		||||
            }
 | 
			
		||||
            else description.AppendFormat("{0}\n", comp.GetCurStageLabel);
 | 
			
		||||
            if (pawn.IsRJWPregnant())
 | 
			
		||||
            if (pawn.IsRJWPregnant() || pawn.IsBiotechPregnant())
 | 
			
		||||
            {
 | 
			
		||||
                Hediff_BasePregnancy hediff = comp.Pregnancy;
 | 
			
		||||
                Hediff hediff = comp.Pregnancy;
 | 
			
		||||
                if (hediff != null && Utility.ShowFetusImage(hediff))
 | 
			
		||||
                {
 | 
			
		||||
                    icon = comp.GetPregnancyIcon(hediff);
 | 
			
		||||
                    if (hediff is Hediff_BasePregnancy h)
 | 
			
		||||
                    float gestationProgress = comp.StageProgress;
 | 
			
		||||
                    if (hediff is Hediff_BasePregnancy || hediff is HediffWithParents)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (h.GestationProgress < 0.2f) icon_overay = comp.GetCumIcon();
 | 
			
		||||
                        if (gestationProgress < 0.2f) icon_overay = comp.GetCumIcon();
 | 
			
		||||
                        else icon_overay = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
 | 
			
		||||
                    }
 | 
			
		||||
                    else icon_overay = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,8 +217,26 @@ 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<Texture2D>.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<Texture2D>.Get(("Womb/Empty"), true);
 | 
			
		||||
                // TODO: Biotech pregnancy
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -188,7 +188,7 @@ namespace RJW_Menstruation
 | 
			
		|||
                    return null;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            // TODO: Biotech
 | 
			
		||||
            // TODO: Biotech pregenerated babies
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue