mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Track the changing hediff through pregnancy and labor
This commit is contained in:
		
							parent
							
								
									483ab2f7c0
								
							
						
					
					
						commit
						2846117881
					
				
					 3 changed files with 52 additions and 0 deletions
				
			
		| 
						 | 
					@ -0,0 +1,50 @@
 | 
				
			||||||
 | 
					using HarmonyLib;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJW_Menstruation
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Hediff_Pregnant), "Miscarry")]
 | 
				
			||||||
 | 
					    public class Miscarry_Patch
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Hediff_Pregnant __instance)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy();
 | 
				
			||||||
 | 
					            if (comp == null) return;
 | 
				
			||||||
 | 
					            comp.Pregnancy = null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Hediff_Pregnant), nameof(Hediff_Pregnant.StartLabor))]
 | 
				
			||||||
 | 
					    public class StartLabor_Patch
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Hediff_Pregnant __instance)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy();
 | 
				
			||||||
 | 
					            if (comp == null) return;
 | 
				
			||||||
 | 
					            comp.Pregnancy = __instance.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnancyLabor);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Hediff_Labor), nameof(Hediff_Labor.PreRemoved))]
 | 
				
			||||||
 | 
					    public class Labor_PreRemoved_Patch
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void PostFix(Hediff_Labor __instance)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy();
 | 
				
			||||||
 | 
					            if (comp == null) return;
 | 
				
			||||||
 | 
					            comp.Pregnancy = __instance.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnancyLaborPushing);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Hediff_LaborPushing), nameof(Hediff_LaborPushing.PreRemoved))]
 | 
				
			||||||
 | 
					    public class LaborPushing_PreRemoved_Patch
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void PostFix(Hediff_LaborPushing __instance)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy();
 | 
				
			||||||
 | 
					            if (comp == null) return;
 | 
				
			||||||
 | 
					            comp.Pregnancy = null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -70,6 +70,7 @@
 | 
				
			||||||
    <Compile Include="HediffComps\MenstruationUtility.cs" />
 | 
					    <Compile Include="HediffComps\MenstruationUtility.cs" />
 | 
				
			||||||
    <Compile Include="Hediff_Estrus.cs" />
 | 
					    <Compile Include="Hediff_Estrus.cs" />
 | 
				
			||||||
    <Compile Include="IngestionOutcomeDoers.cs" />
 | 
					    <Compile Include="IngestionOutcomeDoers.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Patch\Biotech_Patch.cs" />
 | 
				
			||||||
    <Compile Include="Patch\GC_Patch.cs" />
 | 
					    <Compile Include="Patch\GC_Patch.cs" />
 | 
				
			||||||
    <Compile Include="Recipe_Surgery.cs" />
 | 
					    <Compile Include="Recipe_Surgery.cs" />
 | 
				
			||||||
    <Compile Include="StatParts.cs" />
 | 
					    <Compile Include="StatParts.cs" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
Version 1.0.8.1
 | 
					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.
 | 
					 - 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.
 | 
				
			||||||
 | 
					 - Properly track biotech pregnancy through labor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 1.0.8.0
 | 
					Version 1.0.8.0
 | 
				
			||||||
 - Support for RimWorld 1.4. All future changes to Menstruation will only be for Rimworld 1.4.
 | 
					 - Support for RimWorld 1.4. All future changes to Menstruation will only be for Rimworld 1.4.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue