mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
WIP for Twinkification
This commit is contained in:
parent
f1debffbb3
commit
420e14f7af
4 changed files with 86 additions and 1 deletions
|
@ -224,7 +224,7 @@
|
|||
<li Class="RJW_Genes.HediffIncreaseOnSexExtension">
|
||||
<hediffDef>rjw_genes_twinkification_progress</hediffDef>
|
||||
<canCreateHediff>true</canCreateHediff>
|
||||
<severityIncrease>0.01</severityIncrease>
|
||||
<severityIncrease>0.99</severityIncrease>
|
||||
<applicationChance>1.00</applicationChance>
|
||||
<applicableForWomen>false</applicableForWomen>
|
||||
<applicableForMen>true</applicableForMen>
|
||||
|
|
|
@ -133,6 +133,12 @@ namespace RJW_Genes
|
|||
public static readonly GeneDef rjw_genes_major_vulnerability;
|
||||
public static readonly GeneDef rjw_genes_fluctual_sexual_needs;
|
||||
public static readonly GeneDef rjw_genes_size_blinded;
|
||||
public static readonly GeneDef rjw_genes_infectious_low_fertility;
|
||||
public static readonly GeneDef rjw_genes_infectious_increased_sex_need;
|
||||
public static readonly GeneDef rjw_genes_infectious_bisexuality;
|
||||
public static readonly GeneDef rjw_genes_infectious_homosexuality;
|
||||
public static readonly GeneDef rjw_genes_infectious_hypersexuality;
|
||||
public static readonly GeneDef rjw_genes_stretcher;
|
||||
|
||||
//Other Defs
|
||||
public static readonly XenotypeDef rjw_genes_succubus;
|
||||
|
|
78
Source/Genes/Special/Patches/Patch_Twinkifier.cs
Normal file
78
Source/Genes/Special/Patches/Patch_Twinkifier.cs
Normal file
|
@ -0,0 +1,78 @@
|
|||
using HarmonyLib;
|
||||
using rjw;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
/// <summary>
|
||||
/// This patch handles the changes produced by `rjw_genes_twinkifier`.
|
||||
/// It requires the hediff `rjw_genes_twinkification_in_progress` which is managed separately, in `Patch_HediffIncreaseOnSex`.
|
||||
/// </summary>
|
||||
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
|
||||
public static class Patch_Twinkifier
|
||||
{
|
||||
const float MINOR_APPLICATION_CHANCE = 0.25f; // = 25% to have a minor transformation
|
||||
const float MAJOR_APPLICATION_CHANCE = 0.10f; // = 10% to have a major transformation
|
||||
|
||||
public static void Postfix(SexProps props)
|
||||
{
|
||||
if (props == null || props.pawn == null || !props.hasPartner() || props.partner == null)
|
||||
return;
|
||||
if (props.pawn.IsAnimal() || props.partner.IsAnimal())
|
||||
return;
|
||||
|
||||
ApplyTwinkification(props.pawn);
|
||||
ApplyTwinkification(props.partner);
|
||||
}
|
||||
|
||||
private static void ApplyTwinkification(Pawn pawn)
|
||||
{
|
||||
if (pawn == null) return;
|
||||
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.rjw_genes_twinkification_progress);
|
||||
if (hediff == null) return;
|
||||
|
||||
var Random = new Random();
|
||||
switch (hediff.SeverityLabel)
|
||||
{
|
||||
case "severe":
|
||||
case "critical":
|
||||
{
|
||||
if (Random.NextDouble() < MAJOR_APPLICATION_CHANCE)
|
||||
majorChange(pawn);
|
||||
} break;
|
||||
case "minor":
|
||||
{
|
||||
if (Random.NextDouble() < MINOR_APPLICATION_CHANCE)
|
||||
minorChange(pawn);
|
||||
} break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void minorChange(Pawn pawn)
|
||||
{
|
||||
// Minor Infectious Vulnerability
|
||||
// Smaller Genitalia
|
||||
// Remove Beard
|
||||
// Thin Body Type
|
||||
}
|
||||
|
||||
private static void majorChange(Pawn pawn)
|
||||
{
|
||||
// Final Gene-Pool should have:
|
||||
// - Fragile (?)
|
||||
// - Infectious Vulnerability
|
||||
// - Infectious Homosexuality
|
||||
// - Beauty
|
||||
// - Fertile Anus
|
||||
|
||||
pawn.genes.AddGene(GeneDefOf.rjw_genes_fertile_anus, !RJW_Genes_Settings.rjw_genes_genetic_disease_as_endogenes);
|
||||
pawn.genes.AddGene(GeneDefOf.rjw_genes_infectious_homosexuality, !RJW_Genes_Settings.rjw_genes_genetic_disease_as_endogenes);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -197,6 +197,7 @@
|
|||
<Compile Include="Genes\Special\Patches\Patch_OrgasmMytosis.cs" />
|
||||
<Compile Include="Genes\Special\Patches\Patch_PregnancyOverwrite.cs" />
|
||||
<Compile Include="Genes\Special\Patches\Patch_SexualTamer.cs" />
|
||||
<Compile Include="Genes\Special\Patches\Patch_Twinkifier.cs" />
|
||||
<Compile Include="Genes\Special\Thoughts\ThoughtWorker_Aphrodisiac_Pheromones_Social.cs" />
|
||||
<Compile Include="LetterDefOf.cs" />
|
||||
<Compile Include="Interactions\SuccubusTailjob\CompAbility_SexInteractionRequirements.cs" />
|
||||
|
|
Loading…
Reference in a new issue