mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	Added a Gene for Specified Sex using RJW Logic
This commit is contained in:
		
							parent
							
								
									bf4303177e
								
							
						
					
					
						commit
						95fc9b89a0
					
				
					 42 changed files with 318 additions and 186 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,7 @@ namespace RJW_Genes
 | 
			
		|||
	public static class GeneDefOf
 | 
			
		||||
	{
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_genitalia;
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_gender;
 | 
			
		||||
 | 
			
		||||
		// Base Genitalia Types
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneDef rjw_genes_human_genitalia;
 | 
			
		||||
| 
						 | 
				
			
			@ -43,5 +44,8 @@ namespace RJW_Genes
 | 
			
		|||
		[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_anus;
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneDef rjw_genes_tight_anus;
 | 
			
		||||
 | 
			
		||||
		// Gender 
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneDef rjw_genes_female_only;
 | 
			
		||||
		[MayRequireBiotech] public static readonly GeneDef rjw_genes_male_only;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_ExtraAnus : Gene
 | 
			
		||||
    public class Gene_ExtraAnus : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff additional_anus;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,8 +12,6 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            if (additional_anus == null)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_ExtraBreasts : Gene
 | 
			
		||||
    public class Gene_ExtraBreasts : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff additional_breasts;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,13 +12,11 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && additional_breasts == null)
 | 
			
		||||
            // Tits are only added for female pawns!
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
 | 
			
		||||
            {
 | 
			
		||||
                createAndAddPenis();
 | 
			
		||||
                CreateAndAddBreasts();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
| 
						 | 
				
			
			@ -26,10 +24,10 @@ namespace RJW_Genes
 | 
			
		|||
        {
 | 
			
		||||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && additional_breasts == null)
 | 
			
		||||
            // Tits are only added for female pawns!
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
 | 
			
		||||
            {
 | 
			
		||||
                createAndAddPenis();
 | 
			
		||||
                CreateAndAddBreasts();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +38,7 @@ namespace RJW_Genes
 | 
			
		|||
                pawn.health.RemoveHediff(additional_breasts);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void createAndAddPenis()
 | 
			
		||||
        internal void CreateAndAddBreasts()
 | 
			
		||||
        {
 | 
			
		||||
            var correctGene = GenitaliaUtility.GetGenitaliaTypeGeneForPawn(pawn);
 | 
			
		||||
            var breastDef = GenitaliaUtility.GetBreastsForGene(correctGene);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_ExtraPenis : Gene
 | 
			
		||||
    public class Gene_ExtraPenis : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff additional_penis;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,13 +12,11 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for male pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Male && additional_penis == null)
 | 
			
		||||
            if (GenderUtility.IsMale(pawn) && additional_penis == null)
 | 
			
		||||
            {
 | 
			
		||||
                createAndAddPenis();
 | 
			
		||||
                CreateAndAddPenis();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
| 
						 | 
				
			
			@ -27,9 +25,9 @@ namespace RJW_Genes
 | 
			
		|||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for male pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Male && additional_penis == null)
 | 
			
		||||
            if (GenderUtility.IsMale(pawn) && additional_penis == null)
 | 
			
		||||
            {
 | 
			
		||||
                createAndAddPenis();
 | 
			
		||||
                CreateAndAddPenis();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +38,7 @@ namespace RJW_Genes
 | 
			
		|||
                pawn.health.RemoveHediff(additional_penis);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void createAndAddPenis()
 | 
			
		||||
        internal void CreateAndAddPenis()
 | 
			
		||||
        {
 | 
			
		||||
            var correctGene = GenitaliaUtility.GetGenitaliaTypeGeneForPawn(pawn);
 | 
			
		||||
            HediffDef penisDef = GenitaliaUtility.GetPenisForGene(correctGene);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_ExtraVagina : Gene
 | 
			
		||||
    public class Gene_ExtraVagina : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff additional_vagina;
 | 
			
		||||
| 
						 | 
				
			
			@ -17,11 +17,9 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            // Vaginas are only added for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && additional_vagina == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
 | 
			
		||||
            {
 | 
			
		||||
                CreateAndAddVagina();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +30,7 @@ namespace RJW_Genes
 | 
			
		|||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Vaginas are only added for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && additional_vagina == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
 | 
			
		||||
            {
 | 
			
		||||
                CreateAndAddVagina();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_Futa : Gene
 | 
			
		||||
    public class Gene_Futa : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff additional_genital;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,14 +12,12 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            if (pawn.gender == Gender.Female && additional_genital == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && additional_genital == null)
 | 
			
		||||
            {
 | 
			
		||||
                createAndAddPenis();
 | 
			
		||||
            }
 | 
			
		||||
            if (pawn.gender == Gender.Male && additional_genital == null)
 | 
			
		||||
            if (GenderUtility.IsMale(pawn) && additional_genital == null)
 | 
			
		||||
            {
 | 
			
		||||
                CreateAndAddVagina();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_NoAnus : Gene
 | 
			
		||||
    public class Gene_NoAnus : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff removed_anus;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,8 +15,6 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            if (removed_anus == null)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_NoBreasts : Gene
 | 
			
		||||
    public class Gene_NoBreasts : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff removed_breasts;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +15,9 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
            
 | 
			
		||||
            // Breasts are removed for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && removed_breasts == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStoreBreasts();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +28,7 @@ namespace RJW_Genes
 | 
			
		|||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Breasts are removed for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && removed_breasts == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStoreBreasts();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_NoPenis : Gene
 | 
			
		||||
    public class Gene_NoPenis : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff removed_penis;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +15,9 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for male pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Male && removed_penis == null)
 | 
			
		||||
            // Penis are only removed for male pawns!
 | 
			
		||||
            if (GenderUtility.IsMale(pawn) && removed_penis == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStorePenis();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -29,8 +27,8 @@ namespace RJW_Genes
 | 
			
		|||
        {
 | 
			
		||||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Penis are only added for male pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Male && removed_penis == null)
 | 
			
		||||
            // Penis are only removed for male pawns!
 | 
			
		||||
            if (GenderUtility.IsMale(pawn) && removed_penis == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStorePenis();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ using RimWorld;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_NoVagina : Gene
 | 
			
		||||
    public class Gene_NoVagina : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        internal Hediff removed_vagina;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +15,9 @@ namespace RJW_Genes
 | 
			
		|||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            // Vaginas are only removed for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && removed_vagina == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStoreVagina();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +28,7 @@ namespace RJW_Genes
 | 
			
		|||
            base.PostAdd();
 | 
			
		||||
 | 
			
		||||
            // Vaginas are only removed for female pawns!
 | 
			
		||||
            if (pawn.gender == Gender.Female && removed_vagina == null)
 | 
			
		||||
            if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
 | 
			
		||||
            {
 | 
			
		||||
                RemoveButStoreVagina();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										73
									
								
								Source/Genes/Gender/GenderUtility.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								Source/Genes/Gender/GenderUtility.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using RimWorld;
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class GenderUtility
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns if a Pawn is female (Gender==Female) or if it should be (Gene==FemaleOnly)
 | 
			
		||||
        /// This is used as a small helper, as the genes might fire in different orders.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static bool IsFemale(Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            return
 | 
			
		||||
                pawn.gender == Gender.Female || pawn.genes.GenesListForReading.Any(gene => gene.def.defName.EqualsIgnoreCase(GeneDefOf.rjw_genes_female_only.defName));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns if a Pawn is male (Gender==Male) or if it should be (Gene==MaleOnly)
 | 
			
		||||
        /// This is used as a small helper, as the genes might fire in different orders.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static bool IsMale(Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            return
 | 
			
		||||
                pawn.gender == Gender.Male || pawn.genes.GenesListForReading.Any(gene => gene.def.defName.EqualsIgnoreCase(GeneDefOf.rjw_genes_male_only.defName));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adjusts the Body Type to match the given target gender 
 | 
			
		||||
        /// (for male and female only, baby,child and hulks don't change)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pawn"></param>
 | 
			
		||||
        /// <param name="targetGender"></param>
 | 
			
		||||
        public static void AdjustBodyToTargetGender(Pawn pawn, Gender targetGender)
 | 
			
		||||
        {
 | 
			
		||||
            if (pawn == null)
 | 
			
		||||
                return;
 | 
			
		||||
            if (pawn.story.bodyType == BodyTypeDefOf.Baby || pawn.story.bodyType == BodyTypeDefOf.Hulk || pawn.story.bodyType == BodyTypeDefOf.Child)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            if (targetGender == Gender.Male)
 | 
			
		||||
            {
 | 
			
		||||
                pawn.story.bodyType = BodyTypeDefOf.Male;
 | 
			
		||||
            }
 | 
			
		||||
            else if (targetGender == Gender.Female)
 | 
			
		||||
            {
 | 
			
		||||
                pawn.story.bodyType = BodyTypeDefOf.Female; 
 | 
			
		||||
                pawn.style.beardDef = BeardDefOf.NoBeard;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Re-Choose heads if it is wrong gender
 | 
			
		||||
            if (pawn.story.headType.gender == Gender.None || pawn.story.headType.gender == targetGender)
 | 
			
		||||
            {
 | 
			
		||||
                // Do nothing, Gender of Heat is Neutral or matches
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                // Below line tries to get (and set) an available head from the backstory, if it returns true everything worked if it returns false we log it
 | 
			
		||||
                if(! pawn.story.TryGetRandomHeadFromSet(DefDatabase<HeadTypeDef>.AllDefs.Where((Func<HeadTypeDef, bool>)(x => x.randomChosen))))
 | 
			
		||||
                {
 | 
			
		||||
                    Log.Message("Failed to retrieve a correct-gender head for the pawn " + pawn.Name);
 | 
			
		||||
                };
 | 
			
		||||
            } 
 | 
			
		||||
 | 
			
		||||
            // Force Redraw at the spot
 | 
			
		||||
            pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								Source/Genes/Gender/Gene_FemaleOnly.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Source/Genes/Gender/Gene_FemaleOnly.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_FemaleOnly : Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
 | 
			
		||||
            AdjustPawnToFemale();
 | 
			
		||||
            // Here we call Sexualization after the Sex-Change
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public override void PostAdd()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            AdjustPawnToFemale();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void AdjustPawnToFemale()
 | 
			
		||||
        {
 | 
			
		||||
            // Here we really use the Gender.Female and not our helper IsFemale(pawn)
 | 
			
		||||
            if (pawn.gender == Gender.Female)
 | 
			
		||||
                return;
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                GenderHelper.ChangeSex(pawn, () => { 
 | 
			
		||||
                    pawn.gender = Gender.Female;
 | 
			
		||||
                    GenitaliaChanger.RemoveAllGenitalia(pawn);
 | 
			
		||||
                    Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
                });
 | 
			
		||||
                GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Female);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								Source/Genes/Gender/Gene_MaleOnly.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Source/Genes/Gender/Gene_MaleOnly.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_MaleOnly : Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
 | 
			
		||||
            AdjustPawnToMale();
 | 
			
		||||
            // Here we call Sexualization after the Sex-Change
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public override void PostAdd()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            AdjustPawnToMale();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void AdjustPawnToMale()
 | 
			
		||||
        {
 | 
			
		||||
            if (pawn.gender == Gender.Male)
 | 
			
		||||
                return;
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                GenderHelper.ChangeSex(pawn, () => {
 | 
			
		||||
 | 
			
		||||
                    pawn.gender = Gender.Male;
 | 
			
		||||
                    GenitaliaChanger.RemoveAllGenitalia(pawn);
 | 
			
		||||
                    Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
                });
 | 
			
		||||
                GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Male);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_CanineGenitalia : Gene
 | 
			
		||||
    public class Gene_CanineGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.canine_penis,Genital_Helper.canine_vagina,Genital_Helper.generic_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,13 +4,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_DemonicGenitalia : Gene
 | 
			
		||||
    public class Gene_DemonicGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.demon_penis,Genital_Helper.demon_vagina,Genital_Helper.demon_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_DragonGenitalia : Gene
 | 
			
		||||
    public class Gene_DragonGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.dragon_penis,Genital_Helper.dragon_vagina,Genital_Helper.generic_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_EquineGenitalia : Gene
 | 
			
		||||
    public class Gene_EquineGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.equine_penis,Genital_Helper.equine_vagina,Genital_Helper.generic_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_FelineGenitalia : Gene
 | 
			
		||||
    public class Gene_FelineGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.feline_penis,Genital_Helper.feline_vagina,Genital_Helper.generic_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_HumanGenitalia : Gene
 | 
			
		||||
    public class Gene_HumanGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.average_penis,Genital_Helper.average_vagina,Genital_Helper.average_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_OvipositorGenitalia : Gene
 | 
			
		||||
    public class Gene_OvipositorGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.ovipositorM,Genital_Helper.ovipositorF,Genital_Helper.insect_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,11 @@ using rjw;
 | 
			
		|||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_SlimeGenitalia : Gene
 | 
			
		||||
    public class Gene_SlimeGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.slime_penis,Genital_Helper.slime_vagina,Genital_Helper.slime_anus);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,5 +79,14 @@ namespace RJW_Genes
 | 
			
		|||
			return candidate.def.defName.ToLower().Contains("bionic") || candidate.def.defName.ToLower().Contains("archo");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		public static void RemoveAllGenitalia(Pawn pawn)
 | 
			
		||||
		{
 | 
			
		||||
			var parts = Genital_Helper.get_AllPartsHediffList(pawn);
 | 
			
		||||
			foreach (var part in parts)
 | 
			
		||||
            {
 | 
			
		||||
				pawn.health.RemoveHediff(part);
 | 
			
		||||
            }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,12 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_BigBreasts : Gene
 | 
			
		||||
    public class Gene_BigBreasts : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            if (pawn.gender == Gender.Female)
 | 
			
		||||
                SizeAdjuster.AdjustAllBreastSizes(pawn,0.5f,1.0f);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_BigMaleGenitalia : Gene
 | 
			
		||||
    public class Gene_BigMaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllPenisSizes(pawn,0.5f,1.0f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_LooseAnus : Gene
 | 
			
		||||
    public class Gene_LooseAnus : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -24,6 +18,5 @@ namespace RJW_Genes
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_LooseFemaleGenitalia : Gene
 | 
			
		||||
    public class Gene_LooseFemaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,14 +6,12 @@ namespace RJW_Genes
 | 
			
		|||
    /// <summary>
 | 
			
		||||
    /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Gene_NormalAnus : Gene
 | 
			
		||||
    public class Gene_NormalAnus : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,16 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using rjw;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Gene_NormalBreasts : Gene
 | 
			
		||||
    public class Gene_NormalBreasts : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,14 +6,12 @@ namespace RJW_Genes
 | 
			
		|||
    /// <summary>
 | 
			
		||||
    /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Gene_NormalFemaleGenitalia : Gene
 | 
			
		||||
    public class Gene_NormalFemaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,14 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Gene_NormalMaleGenitalia : Gene
 | 
			
		||||
    public class Gene_NormalMaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_SmallBreasts : Gene
 | 
			
		||||
    public class Gene_SmallBreasts : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllBreastSizes(pawn, 0.0f, 0.5f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_SmallMaleGenitalia : Gene
 | 
			
		||||
    public class Gene_SmallMaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllPenisSizes(pawn,0.0f,0.5f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_TightAnus : Gene
 | 
			
		||||
    public class Gene_TightAnus : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllAnusSizes(pawn, 0.0f, 0.5f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,11 @@
 | 
			
		|||
using Verse;
 | 
			
		||||
using rjw;
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class Gene_TightFemaleGenitalia : Gene
 | 
			
		||||
    public class Gene_TightFemaleGenitalia : RJW_Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
 | 
			
		||||
            SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.0f, 0.5f);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								Source/Genes/RJW_Gene.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Source/Genes/RJW_Gene.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
using rjw;
 | 
			
		||||
using Verse;
 | 
			
		||||
 | 
			
		||||
namespace RJW_Genes
 | 
			
		||||
{
 | 
			
		||||
    public class RJW_Gene : Gene
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public override void PostMake()
 | 
			
		||||
        {
 | 
			
		||||
            base.PostMake();
 | 
			
		||||
            if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
 | 
			
		||||
                Sexualizer.sexualize_pawn(pawn);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -58,6 +58,9 @@
 | 
			
		|||
    <Compile Include="Genes\ExtraGenitalia\Gene_NoVagina.cs" />
 | 
			
		||||
    <Compile Include="Genes\ExtraGenitalia\Gene_NoPenis.cs" />
 | 
			
		||||
    <Compile Include="Genes\ExtraGenitalia\Gene_ExtraPenis.cs" />
 | 
			
		||||
    <Compile Include="Genes\Gender\GenderUtility.cs" />
 | 
			
		||||
    <Compile Include="Genes\Gender\Gene_FemaleOnly.cs" />
 | 
			
		||||
    <Compile Include="Genes\Gender\Gene_MaleOnly.cs" />
 | 
			
		||||
    <Compile Include="Genes\GenitaliaSize\Gene_BigBreasts.cs" />
 | 
			
		||||
    <Compile Include="Genes\GenitaliaSize\Gene_LooseAnus.cs" />
 | 
			
		||||
    <Compile Include="Genes\GenitaliaSize\Gene_LooseFemaleGenitalia.cs" />
 | 
			
		||||
| 
						 | 
				
			
			@ -80,6 +83,7 @@
 | 
			
		|||
    <Compile Include="Genes\Genitalia\Gene_EquineGenitalia.cs" />
 | 
			
		||||
    <Compile Include="Genes\Genitalia\Gene_HumanGenitalia.cs" />
 | 
			
		||||
    <Compile Include="Genes\Genitalia\GenitaliaChanger.cs" />
 | 
			
		||||
    <Compile Include="Genes\RJW_Gene.cs" />
 | 
			
		||||
    <Compile Include="GenitaliaUtility.cs" />
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <Compile Include="RJW_Genes.cs" />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue