mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Have the womb status button patched into the health tab instead of the hediff row. Modified version of code contributed by Fern.
This commit is contained in:
		
							parent
							
								
									c12f9dbc87
								
							
						
					
					
						commit
						0e708c6c89
					
				
					 4 changed files with 9 additions and 41 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -54,61 +54,28 @@ namespace RJW_Menstruation
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //[HarmonyPatch(typeof(HealthCardUtility), "DrawHediffListing")]
 | 
					    [HarmonyPatch(typeof(HealthCardUtility), "DrawOverviewTab")]
 | 
				
			||||||
    //public class DrawHediffListing_Patch
 | 
					    public class DrawOverviewTab_Patch
 | 
				
			||||||
    //{
 | 
					 | 
				
			||||||
    //    public const float buttonWidth = 80f;
 | 
					 | 
				
			||||||
    //    public const float buttonHeight = 20f;
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    //    public static void Postfix(Rect rect, Pawn pawn, bool showBloodLoss)
 | 
					 | 
				
			||||||
    //    {
 | 
					 | 
				
			||||||
    //        if (Configurations.EnableButtonInHT && pawn.HasMenstruationComp())
 | 
					 | 
				
			||||||
    //        {
 | 
					 | 
				
			||||||
    //            Rect buttonrect = new Rect(rect.xMax - buttonWidth, rect.yMax - buttonHeight, buttonWidth, buttonHeight);
 | 
					 | 
				
			||||||
    //            if (Widgets.ButtonText(buttonrect, "Status"))
 | 
					 | 
				
			||||||
    //            {
 | 
					 | 
				
			||||||
    //                Dialog_WombStatus.ToggleWindow(pawn,pawn.GetMenstruationComp());
 | 
					 | 
				
			||||||
    //            }
 | 
					 | 
				
			||||||
    //        }
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    //    }
 | 
					 | 
				
			||||||
    //}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(HealthCardUtility), "DrawHediffRow")]
 | 
					 | 
				
			||||||
    public class DrawHediffRow_Patch
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public const float buttonWidth = 50f;
 | 
					        public const float buttonWidth = 50f;
 | 
				
			||||||
        public const float buttonHeight = 20f;
 | 
					        public const float buttonHeight = 20f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private static HediffComp_Menstruation GetFirstMenstruation(IEnumerable<Hediff> diffs)
 | 
					        public static void Prefix(Rect leftRect, Pawn pawn, float curY)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            foreach (Hediff diff in diffs)
 | 
					            if (Configurations.EnableButtonInHT && pawn.ShowStatus() && pawn.ShouldCycle())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (diff.Part != Genital_Helper.get_genitalsBPR(diff.pawn)) continue;
 | 
					                HediffComp_Menstruation comp = pawn.GetFirstMenstruationComp();
 | 
				
			||||||
                HediffComp_Menstruation comp = diff.GetMenstruationCompFromVagina();
 | 
					 | 
				
			||||||
                if (comp != null) return comp;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return null;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public static void Prefix(Rect rect, Pawn pawn, IEnumerable<Hediff> diffs, ref float curY)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (Configurations.EnableButtonInHT && pawn.ShowStatus())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                HediffComp_Menstruation comp = GetFirstMenstruation(diffs);
 | 
					 | 
				
			||||||
                if (comp != null)
 | 
					                if (comp != null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    Rect buttonrect = new Rect((rect.xMax) / 2 - 5f, curY + 2f, buttonWidth, buttonHeight);
 | 
					                    Text.Font = GameFont.Tiny;
 | 
				
			||||||
                    if (Widgets.ButtonText(buttonrect, Translations.Button_HealthTab))
 | 
					                    Rect buttonRect = new Rect(leftRect.xMax - buttonWidth - 8f, curY + 4f, buttonWidth, buttonHeight);
 | 
				
			||||||
 | 
					                    if (Widgets.ButtonText(buttonRect, Translations.Button_HealthTab))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        Dialog_WombStatus.ToggleWindow(pawn, comp);
 | 
					                        Dialog_WombStatus.ToggleWindow(pawn, comp);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [HarmonyPatch(typeof(CompBiosculpterPod), nameof(CompBiosculpterPod.CannotUseNowPawnCycleReason), new Type[] { typeof(Pawn), typeof(Pawn), typeof(CompBiosculpterPod_Cycle), typeof(bool) })]
 | 
					    [HarmonyPatch(typeof(CompBiosculpterPod), nameof(CompBiosculpterPod.CannotUseNowPawnCycleReason), new Type[] { typeof(Pawn), typeof(Pawn), typeof(CompBiosculpterPod_Cycle), typeof(bool) })]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ Version 1.0.9.2
 | 
				
			||||||
 - Fix implanting multiple eggs in an animal when configured to use Biotech pregnancies.
 | 
					 - Fix implanting multiple eggs in an animal when configured to use Biotech pregnancies.
 | 
				
			||||||
 - Egglaying races no longer have a menstrual cycle, regardless of vagina type.
 | 
					 - Egglaying races no longer have a menstrual cycle, regardless of vagina type.
 | 
				
			||||||
 - Pawns with the egglaying genes from Alpha Genes or VE Saurids no longer have a menstrual cycle.
 | 
					 - Pawns with the egglaying genes from Alpha Genes or VE Saurids no longer have a menstrual cycle.
 | 
				
			||||||
 | 
					 - The womb status button will now appear in a pawn's health tab when using Compact Hediffs, with thanks to Fern.
 | 
				
			||||||
 - Tampons and pads are now allowed by default in the worker, soldier, and slave starting outfits.
 | 
					 - Tampons and pads are now allowed by default in the worker, soldier, and slave starting outfits.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 1.0.9.1
 | 
					Version 1.0.9.1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue