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>
|
<li>AnusSize</li>
|
||||||
</exclusionTags>
|
</exclusionTags>
|
||||||
</GeneDef>
|
</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>
|
</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_orgasm_rush_hediff;
|
||||||
public static readonly HediffDef rjw_genes_fertilin_craving;
|
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_orgasmic_mytosis_hediff;
|
||||||
public static readonly HediffDef rjw_genes_mytosis_shock_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\Gene_MechBreeder.cs" />
|
||||||
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
|
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_UdderBreasts.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\Defs\HiveOffspringChanceDef.cs" />
|
||||||
<Compile Include="Genes\Hive\Genes\Gene_FerventOvipositor.cs" />
|
<Compile Include="Genes\Hive\Genes\Gene_FerventOvipositor.cs" />
|
||||||
<Compile Include="Genes\Hive\Genes\Gene_InsectIncubator.cs" />
|
<Compile Include="Genes\Hive\Genes\Gene_InsectIncubator.cs" />
|
||||||
|
|
Loading…
Reference in a new issue