mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Poke HAR to generate parts early for enzygotic duplication
This commit is contained in:
		
							parent
							
								
									08d84801a6
								
							
						
					
					
						commit
						9891f72fc6
					
				
					 2 changed files with 5 additions and 14 deletions
				
			
		| 
						 | 
					@ -20,6 +20,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp<AlienPartGenerator.AlienComp>();
 | 
					            AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp<AlienPartGenerator.AlienComp>();
 | 
				
			||||||
            if (babyHARComp == null || originalHARComp == null) return;
 | 
					            if (babyHARComp == null || originalHARComp == null) return;
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
					            babyHARComp.addonVariants = new List<int>(originalHARComp.addonVariants);
 | 
				
			||||||
            foreach (KeyValuePair<string, AlienPartGenerator.ExposableValueTuple<Color, Color>> channel in originalHARComp.ColorChannels)
 | 
					            foreach (KeyValuePair<string, AlienPartGenerator.ExposableValueTuple<Color, Color>> channel in originalHARComp.ColorChannels)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                babyHARComp.OverwriteColorChannel(channel.Key, channel.Value.first, channel.Value.second);
 | 
					                babyHARComp.OverwriteColorChannel(channel.Key, channel.Value.first, channel.Value.second);
 | 
				
			||||||
| 
						 | 
					@ -29,15 +30,5 @@ namespace RJW_Menstruation
 | 
				
			||||||
            babyHARComp.headMaskVariant = originalHARComp.headMaskVariant;
 | 
					            babyHARComp.headMaskVariant = originalHARComp.headMaskVariant;
 | 
				
			||||||
            babyHARComp.bodyMaskVariant = originalHARComp.bodyMaskVariant;
 | 
					            babyHARComp.bodyMaskVariant = originalHARComp.bodyMaskVariant;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // HAR doesn't populate variants until the graphics are called for, so this has to happen late
 | 
					 | 
				
			||||||
        public static void CopyHARPropertiesPostBirth(Pawn baby, Pawn original)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            AlienPartGenerator.AlienComp babyHARComp = baby?.TryGetComp<AlienPartGenerator.AlienComp>();
 | 
					 | 
				
			||||||
            AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp<AlienPartGenerator.AlienComp>();
 | 
					 | 
				
			||||||
            if (babyHARComp == null || originalHARComp == null) return;
 | 
					 | 
				
			||||||
            if (originalHARComp.addonVariants != null)  // Testing has shown that the addons are valid by this point, but it's better to be safe
 | 
					 | 
				
			||||||
                babyHARComp.addonVariants = new List<int>(originalHARComp.addonVariants);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -244,8 +244,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
            CopyBodyPartRecord(baby, original, Genital_Helper.get_breastsBPR(baby), Genital_Helper.get_breastsBPR(original));
 | 
					            CopyBodyPartRecord(baby, original, Genital_Helper.get_breastsBPR(baby), Genital_Helper.get_breastsBPR(original));
 | 
				
			||||||
            CopyBodyPartRecord(baby, original, Genital_Helper.get_uddersBPR(baby), Genital_Helper.get_uddersBPR(original));
 | 
					            CopyBodyPartRecord(baby, original, Genital_Helper.get_uddersBPR(baby), Genital_Helper.get_uddersBPR(original));
 | 
				
			||||||
            CopyBodyPartRecord(baby, original, Genital_Helper.get_anusBPR(baby), Genital_Helper.get_anusBPR(original));
 | 
					            CopyBodyPartRecord(baby, original, Genital_Helper.get_anusBPR(baby), Genital_Helper.get_anusBPR(original));
 | 
				
			||||||
            if (baby.IsHAR())
 | 
					 | 
				
			||||||
                HARCompatibility.CopyHARPropertiesPostBirth(baby, original);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override void PostBirth(Pawn mother, Pawn father, Pawn baby)
 | 
					        public override void PostBirth(Pawn mother, Pawn father, Pawn baby)
 | 
				
			||||||
| 
						 | 
					@ -413,6 +411,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
                if (baby == null) break;
 | 
					                if (baby == null) break;
 | 
				
			||||||
                if (division > 1)
 | 
					                if (division > 1)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					                    if (baby.IsHAR())   // necessary for HAR to decide on graphical properties pre-birth
 | 
				
			||||||
 | 
					                        baby.Drawer.renderer.graphics.ResolveAllGraphics();
 | 
				
			||||||
                    if (i == 0)
 | 
					                    if (i == 0)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        firstbaby = baby;
 | 
					                        firstbaby = baby;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue