Exemplo n.º 1
0
        private static void roleOrganMaturity(this RacePubertySetting that, Pawn pawn, float severity)
        {
            //delay puberty onset
            if (Rand.Value < SettingHelper.latest.EarlyPubertyChance ||
                severity < (1f - SettingHelper.latest.PubertyDelay))
            {
                if (Rand.Value < SettingHelper.latest.IntersexInfertileChance)
                {
                    pawn.health.AddHediff(HediffDefOf.LifeStages_Infertile_BirthDefect, null);
                }

                bool intersex = Rand.Value < SettingHelper.latest.IntersexChance;
                bool cis      = Rand.Value > SettingHelper.latest.TransgenderChance;

                if (!cis)
                {
                    pawn.health.AddHediff(HediffDefOf.LifeStages_Transgendered, null);
                }

                that.AddAllParts(pawn);

                if (intersex)
                {
                    that.AddParts(pawn);
                }
                else
                {
                    switch (pawn.gender)
                    {
                    case Gender.Male:

                        that.AddMaleParts(pawn);
                        break;

                    case Gender.Female:
                        that.AddFemaleParts(pawn);
                        break;

                    default:
                        that.AddOtherParts(pawn);
                        break;
                    }
                }
            }
        }
Exemplo n.º 2
0
 private static void AddParts(this RacePubertySetting that, Pawn pawn)
 {
     that.AddOtherParts(pawn);
     that.AddMaleParts(pawn);
     that.AddFemaleParts(pawn);
 }