mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Added new Gene for evergrowing cock
This commit is contained in:
parent
5e3bbe66a3
commit
ada4a87efc
5 changed files with 178 additions and 0 deletions
107
Source/Genes/GenitaliaSize/Gene_EvergrowingGenitalia.cs
Normal file
107
Source/Genes/GenitaliaSize/Gene_EvergrowingGenitalia.cs
Normal file
|
@ -0,0 +1,107 @@
|
|||
using Verse;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
using rjw;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_EvergrowingGenitalia : RJW_Gene
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The age (in years) at which the Pawns Genes will take effect, resizing their genitalia.
|
||||
/// </summary>
|
||||
public const int RESIZING_AGE = 20;
|
||||
|
||||
//public const int GROWTH_INTERVAL = 1000; // Test value for Quick Trials
|
||||
public const int GROWTH_INTERVAL = 60000; // 60k == 1 day
|
||||
|
||||
public override void Tick()
|
||||
{
|
||||
base.Tick();
|
||||
|
||||
if (pawn.IsHashIntervalTick(GROWTH_INTERVAL)
|
||||
&& this.pawn.Map != null
|
||||
&& pawn.ageTracker.AgeBiologicalYears >= RESIZING_AGE)
|
||||
{
|
||||
GrowPenisses();
|
||||
GrowVaginas();
|
||||
}
|
||||
}
|
||||
|
||||
private void GrowPenisses()
|
||||
{
|
||||
List<Hediff> AllPenisses = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => Genital_Helper.is_penis(x));
|
||||
foreach(Hediff penis in AllPenisses)
|
||||
{
|
||||
CompHediffBodyPart CompHediff = penis.TryGetComp<rjw.CompHediffBodyPart>();
|
||||
if (penis.Severity < 1.00)
|
||||
{
|
||||
penis.Severity = Math.Min(1.01f, penis.Severity + 0.05f);
|
||||
} else {
|
||||
if (CompHediff != null)
|
||||
{
|
||||
CompHediff.SizeOwner += 0.015f;
|
||||
if (CompHediff.SizeOwner > 3.0f)
|
||||
{
|
||||
// Add Mental Hediff
|
||||
HandleGenitaliaSizeThoughts(pawn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Increase Fluid
|
||||
if (CompHediff != null)
|
||||
CompHediff.FluidAmmount *= 1.05f;
|
||||
}
|
||||
}
|
||||
|
||||
private void GrowVaginas()
|
||||
{
|
||||
List<Hediff> AllVaginas = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => Genital_Helper.is_vagina(x));
|
||||
foreach (Hediff vagina in AllVaginas)
|
||||
{
|
||||
CompHediffBodyPart CompHediff = vagina.TryGetComp<rjw.CompHediffBodyPart>();
|
||||
if (vagina.Severity < 1.00)
|
||||
{
|
||||
vagina.Severity = Math.Min(1.01f, vagina.Severity + 0.05f);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CompHediff != null)
|
||||
{
|
||||
CompHediff.SizeOwner += 0.015f;
|
||||
if (CompHediff.SizeOwner > 3.0f)
|
||||
{
|
||||
// Add Mental Hediff
|
||||
HandleGenitaliaSizeThoughts(pawn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Increase Fluid
|
||||
if (CompHediff != null)
|
||||
CompHediff.FluidAmmount *= 1.025f;
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleGenitaliaSizeThoughts(Pawn pawn)
|
||||
{
|
||||
Hediff hybridsThoughts = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.rjw_genes_evergrowth_sideeffect);
|
||||
|
||||
if (hybridsThoughts != null)
|
||||
{
|
||||
hybridsThoughts.Severity += 0.025f;
|
||||
}
|
||||
else
|
||||
{
|
||||
hybridsThoughts = HediffMaker.MakeHediff(HediffDefOf.rjw_genes_evergrowth_sideeffect, pawn);
|
||||
hybridsThoughts.Severity = 0.1f;
|
||||
pawn.health.AddHediff(hybridsThoughts);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -17,6 +17,8 @@ namespace RJW_Genes
|
|||
public static readonly HediffDef rjw_genes_orgasm_rush_hediff;
|
||||
public static readonly HediffDef rjw_genes_fertilin_craving;
|
||||
|
||||
public static readonly HediffDef rjw_genes_evergrowth_sideeffect;
|
||||
|
||||
public static readonly HediffDef rjw_genes_orgasmic_mytosis_hediff;
|
||||
public static readonly HediffDef rjw_genes_mytosis_shock_hediff;
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
<Compile Include="Genes\Breeding\Gene_MechBreeder.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
|
||||
<Compile Include="Genes\ExtraGenitalia\Gene_UdderBreasts.cs" />
|
||||
<Compile Include="Genes\GenitaliaSize\Gene_EvergrowingGenitalia.cs" />
|
||||
<Compile Include="Genes\Hive\Defs\HiveOffspringChanceDef.cs" />
|
||||
<Compile Include="Genes\Hive\Genes\Gene_FerventOvipositor.cs" />
|
||||
<Compile Include="Genes\Hive\Genes\Gene_InsectIncubator.cs" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue