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
|
@ -111,4 +111,20 @@
|
|||
<li>AnusSize</li>
|
||||
</exclusionTags>
|
||||
</GeneDef>
|
||||
|
||||
<!-- Extra -->
|
||||
|
||||
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||
<defName>rjw_genes_evergrowth</defName>
|
||||
<label>Evergrowth</label>
|
||||
<description>One of the most regretted gene-modifications in the Glitterworlds: The (primary) genitalia will continue growing forever. This affects size and fluid output. Excessive growth can also effect mental stability! (Resizing takes place at 20th Birthday)</description>
|
||||
<iconPath>Genes/Icons/Big_Male_Genitalia</iconPath>
|
||||
<geneClass>RJW_Genes.Gene_EvergrowingGenitalia</geneClass>
|
||||
<displayOrderInCategory>767</displayOrderInCategory>
|
||||
<exclusionTags>
|
||||
<li>PenisSize</li>
|
||||
<li>VaginaSize</li>
|
||||
</exclusionTags>
|
||||
</GeneDef>
|
||||
|
||||
</Defs>
|
52
Common/Defs/HediffDefs/Hediffs_Evergrowth.xml
Normal file
52
Common/Defs/HediffDefs/Hediffs_Evergrowth.xml
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<HediffDef>
|
||||
<defName>rjw_genes_evergrowth_sideeffect</defName>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<label>genital hybris</label>
|
||||
<description>science has gone too far - a tool like this needs constant attention.</description>
|
||||
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_SeverityPerDay">
|
||||
<severityPerDay>-0.025</severityPerDay>
|
||||
</li>
|
||||
</comps>
|
||||
<stages>
|
||||
<li>
|
||||
<label>minor</label>
|
||||
<statFactors>
|
||||
<SexFrequency>3</SexFrequency>
|
||||
</statFactors>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.5</minSeverity>
|
||||
<label>moderate</label>
|
||||
<statFactors>
|
||||
<SexFrequency>5</SexFrequency>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>Consciousness</capacity>
|
||||
<offset>-0.05</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.9</minSeverity>
|
||||
<label>strong</label>
|
||||
<statFactors>
|
||||
<SexFrequency>7</SexFrequency>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>Consciousness</capacity>
|
||||
<offset>-0.1</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
</stages>
|
||||
</HediffDef>
|
||||
|
||||
</Defs>
|
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…
Reference in a new issue