mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	GenitaliaUtility tweaks
- Un-hardcoded GetXForGene methods, allowing genderbending genes to affect more part types * Left GetBreastsForGene alone for now since genital genes don't currently seem to change breasts when added initially - Refactored GetGenitaliaTypeGeneForPawn to use shared gene class instead of requiring defName take a specific form
This commit is contained in:
		
							parent
							
								
									bbf7bb2847
								
							
						
					
					
						commit
						1a132da48a
					
				
					 2 changed files with 6 additions and 38 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -19,7 +19,7 @@ namespace RJW_Genes
 | 
			
		|||
           
 | 
			
		||||
            foreach (var gene in pawn.genes.GenesListForReading)
 | 
			
		||||
            {
 | 
			
		||||
                if (gene.def.defName.Contains("rjw_genes") && gene.def.defName.EndsWith("_genitalia"))
 | 
			
		||||
                if (gene is Gene_GenitaliaType)
 | 
			
		||||
                    if (!gene.Overridden)
 | 
			
		||||
                        return gene.def;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -32,18 +32,7 @@ namespace RJW_Genes
 | 
			
		|||
            if (gene == null)
 | 
			
		||||
                return Genital_Helper.average_penis;
 | 
			
		||||
 | 
			
		||||
            switch (gene.defName)
 | 
			
		||||
            {
 | 
			
		||||
                case "rjw_genes_equine_genitalia":      return Genital_Helper.equine_penis;
 | 
			
		||||
                case "rjw_genes_canine_genitalia":      return Genital_Helper.canine_penis;
 | 
			
		||||
                case "rjw_genes_feline_genitalia":      return Genital_Helper.feline_penis;
 | 
			
		||||
                case "rjw_genes_demonic_genitalia":     return Genital_Helper.demon_penis;
 | 
			
		||||
                case "rjw_genes_dragon_genitalia":      return Genital_Helper.dragon_penis;
 | 
			
		||||
                case "rjw_genes_slime_genitalia":       return Genital_Helper.slime_penis;
 | 
			
		||||
                case "rjw_genes_ovipositor_genitalia":  return Genital_Helper.ovipositorM;
 | 
			
		||||
 | 
			
		||||
                default: return Genital_Helper.average_penis;
 | 
			
		||||
            }
 | 
			
		||||
            return gene.GetModExtension<GenitaliaTypeExtension>()?.Penis ?? Genital_Helper.average_penis;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -52,37 +41,16 @@ namespace RJW_Genes
 | 
			
		|||
            if (gene == null)
 | 
			
		||||
                return Genital_Helper.average_vagina;
 | 
			
		||||
 | 
			
		||||
            switch (gene.defName)
 | 
			
		||||
            {
 | 
			
		||||
                case "rjw_genes_equine_genitalia": return Genital_Helper.equine_vagina;
 | 
			
		||||
                case "rjw_genes_canine_genitalia": return Genital_Helper.canine_vagina;
 | 
			
		||||
                case "rjw_genes_feline_genitalia": return Genital_Helper.feline_vagina;
 | 
			
		||||
                case "rjw_genes_demonic_genitalia": return Genital_Helper.demon_vagina;
 | 
			
		||||
                case "rjw_genes_dragon_genitalia": return Genital_Helper.dragon_vagina;
 | 
			
		||||
                case "rjw_genes_slime_genitalia": return Genital_Helper.slime_vagina;
 | 
			
		||||
                case "rjw_genes_ovipositor_genitalia": return Genital_Helper.ovipositorF;
 | 
			
		||||
 | 
			
		||||
                default: return Genital_Helper.average_vagina;
 | 
			
		||||
            }
 | 
			
		||||
            return gene.GetModExtension<GenitaliaTypeExtension>()?.Vagina ?? Genital_Helper.average_vagina;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static HediffDef GetAnusForGene(GeneDef gene)
 | 
			
		||||
        {
 | 
			
		||||
            if (gene == null)
 | 
			
		||||
                return Genital_Helper.average_anus;
 | 
			
		||||
            switch (gene.defName)
 | 
			
		||||
            {
 | 
			
		||||
                //TODO: Do I want the default to be generic or average for feline,equine and canine?
 | 
			
		||||
                case "rjw_genes_equine_genitalia": return Genital_Helper.average_anus;
 | 
			
		||||
                case "rjw_genes_canine_genitalia": return Genital_Helper.average_anus;
 | 
			
		||||
                case "rjw_genes_feline_genitalia": return Genital_Helper.average_anus;
 | 
			
		||||
                case "rjw_genes_demonic_genitalia": return Genital_Helper.demon_anus;
 | 
			
		||||
                case "rjw_genes_dragon_genitalia": return Genital_Helper.average_anus;
 | 
			
		||||
                case "rjw_genes_slime_genitalia": return Genital_Helper.slime_anus;
 | 
			
		||||
                case "rjw_genes_ovipositor_genitalia": return Genital_Helper.insect_anus;
 | 
			
		||||
            
 | 
			
		||||
                default: return Genital_Helper.generic_anus;
 | 
			
		||||
            }
 | 
			
		||||
            //TODO: Do I want the default to be generic or average for feline,equine and canine?
 | 
			
		||||
            return gene.GetModExtension<GenitaliaTypeExtension>()?.Anus ?? Genital_Helper.average_anus;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static HediffDef GetBreastsForGene(GeneDef gene)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue