Compare commits

...

4 commits

Author SHA1 Message Date
Vegapnk
4ef1c95f1f Add Binary for 2.2 beta 2024-07-17 22:17:25 +02:00
Vegapnk
3a050b5d92 Added great new images by WasMachenDennSachen 2024-07-17 22:16:19 +02:00
Vegapnk
35d9662663 Simple implementation of a Rut gene 2024-07-17 22:01:31 +02:00
Vegapnk
8d1d43b691 Some notes on Living Cumbucket, including Patchnotes 2024-07-17 21:02:18 +02:00
47 changed files with 168 additions and 27 deletions

View file

@ -123,10 +123,13 @@ Because this is the genes mod, and I find things here quite robust.
- Gene: Sexual Genetic Swap. Pawns have a chance to switch a random gene with their sexpartner.
- (Archite) Gene: Sexual Genetic Thief. Pawns have a chance to steal a gene from their sexpartner. Genetic Disease Immunity shields against this.
- Gene: Sperm Displacement. Pawns might overwrite an existing pregnancy, becoming the new father. The pregnancy will stay in its gestation progress.
- Gene: Twinkification: Pawns turn their (male) sexual partners into breedable twinks.
- Gene: Feminization: Pawns turn their (male) sexual partners into women.
- Gene: Blocked Masturbation: Pawns cannot masturbate.
- Gene: Twinkification. Pawns turn their (male) sexual partners into breedable twinks.
- Gene: Feminization. Pawns turn their (male) sexual partners into women.
- Gene: Blocked Masturbation. Pawns cannot masturbate.
- {Sexperience} Gene: Living Cumbucket. Pawns with this Gene get "filled" upon sex, and slowly disperse usable gathered cum.
- Disease Gene: Infectious Blocked Masturbation
- Gene: Rut. Pawns have a chance to go into heat and need more sex for a day. (Default: 5% chance per day, to go 1 day in heat).
- Disease Gene: Infectious Rut.
- Pawns will have negative thoughts about pawns with more genetic diseases than themselves.
- Faction Penalties for spreading diseases, stealing genes and aging pawns with age transfer
- Patch for [Imphilee Xeno](https://steamcommunity.com/sharedfiles/filedetails/?id=2990674516) by @Bunuffin
@ -178,7 +181,10 @@ Its just meant if you want to drop me a tip.
- Made the Feminizer and Twinkifier configurable with XML.
- Typos in the Hediff Defs, tweaking of some values.
- Living Cum-Bucket & Rut Genes
- Great images by @WasMachenDennSachen
**Beta-2** (17-07-2024)
# 2.1.0 (27-06-2024)

Binary file not shown.

View file

@ -41,7 +41,8 @@
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_fertile_anus</defName>
<label>fertile anus</label>
<description>Xenotypes with this gene have a functional uterus if they do not possess one by means of their vagina.
<description>Xenotypes with this gene have a functional uterus if they do not possess one by
means of their vagina.
For males, it is connected to the anal cavity and leads to a normal pregnancy.</description>
<iconPath>Genes/Icons/Fertile_anus</iconPath>
<displayOrderInCategory>54</displayOrderInCategory>
@ -115,8 +116,9 @@
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_hardwired_progenity</defName>
<label>Hardwired Progenity</label>
<description>Carriers of this gene need to procreate. They suffer negative effects if they are childless, and have increased capabilities if they reach a high amount of offsprings.</description>
<iconPath>Genes/Icons/RJW_Genes_PheromoneSpit</iconPath>
<description>Carriers of this gene need to procreate. They suffer negative effects if they are
childless, and have increased capabilities if they reach a high amount of offsprings.</description>
<iconPath>Genes/Icons/hardwired_progenity</iconPath>
<displayOrderInCategory>70</displayOrderInCategory>
<conditionalStatAffecters>
@ -150,4 +152,23 @@
<biostatMet>0</biostatMet>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_basic_rut</defName>
<label>Rut</label>
<description>Carriers of this gene can enter a state of heat, resulting in drastically higher
sexual activity.</description>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
<displayOrderInCategory>11</displayOrderInCategory>
<geneClass>RJW_Genes.Gene_Rut</geneClass>
<modExtensions>
<li Class="RJW_Genes.TickBasedChanceExtension">
<!-- 60k = 1 days -->
<tickInterval>60000</tickInterval>
<eventChance>0.05</eventChance>
</li>
</modExtensions>
</GeneDef>
</Defs>

View file

@ -23,7 +23,7 @@
imply negative side-effects.</description>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<iconPath>Genes/Icons/TrialDefend</iconPath>
<iconPath>Genes/Icons/disease_immunity</iconPath>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
Class="VanillaGenesExpanded.GeneExtension">
@ -42,7 +42,7 @@
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
<marketValueFactor>0.85</marketValueFactor>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<iconPath>Genes/Icons/minor_vulnerability</iconPath>
<displayOrderInCategory>5</displayOrderInCategory>
<statOffsets>
@ -67,7 +67,7 @@
rape.</description>
<biostatCpx>2</biostatCpx>
<biostatMet>1</biostatMet>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<iconPath>Genes/Icons/major_vulnerability</iconPath>
<displayOrderInCategory>6</displayOrderInCategory>
<exclusionTags>
@ -90,7 +90,7 @@
<defName>rjw_genes_infectious_blocked_masturbation</defName>
<label>infectious masturbation block</label>
<description>Carriers of this gene are unable to masturbate - they need a partner or equipment.</description>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<iconPath>Genes/Icons/blocked_masturbation</iconPath>
<displayOrderInCategory>55</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>2</biostatMet>
@ -194,7 +194,7 @@
<defName>rjw_genes_infectious_bisexuality</defName>
<label>infectious bisexuality</label>
<description>This gene makes the pawn bisexual, and has a chance to spread on intercourse.</description>
<iconPath>Genes/Icons/RoundC</iconPath>
<iconPath>Genes/Icons/bisexuality</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>0</biostatMet>
<displayOrderInCategory>8</displayOrderInCategory>
@ -221,7 +221,7 @@
<defName>rjw_genes_infectious_homosexuality</defName>
<label>infectious homosexuality</label>
<description>This gene makes the pawn homosexual, and has a chance to spread on intercourse.</description>
<iconPath>Genes/Icons/RoundC</iconPath>
<iconPath>Genes/Icons/homosexuality</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>0</biostatMet>
<displayOrderInCategory>9</displayOrderInCategory>
@ -270,7 +270,7 @@
<defName>rjw_genes_size_blinded</defName>
<label>size blinded</label>
<description>This genetic disease makes the carrier dramatically more drawn to pawns with huge cocks.</description>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<iconPath>Genes/Icons/size_blinded</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
<displayOrderInCategory>11</displayOrderInCategory>
@ -285,7 +285,7 @@
<defName>rjw_genes_stretcher</defName>
<label>genetic stretcher</label>
<description>Pawns with this gene have a chance to alter the genes of their sexual partners to prefer large cocks.</description>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<iconPath>Genes/Icons/stretcher</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>0</biostatMet>
<displayOrderInCategory>12</displayOrderInCategory>
@ -304,4 +304,28 @@
</modExtensions>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_infectious_rut</defName>
<label>Rut</label>
<description>Carriers of this gene can enter a state of heat, resulting in drastically higher
sexual activity.</description>
<iconPath>UI/Icons/ColonistBar/Idle</iconPath>
<biostatCpx>1</biostatCpx>
<biostatMet>2</biostatMet>
<displayOrderInCategory>11</displayOrderInCategory>
<geneClass>RJW_Genes.Gene_Rut</geneClass>
<modExtensions>
<li Class="RJW_Genes.TickBasedChanceExtension">
<!-- 60k = 1 days -->
<tickInterval>60000</tickInterval>
<eventChance>0.05</eventChance>
</li>
<li Class="RJW_Genes.GeneticDiseaseExtension">
<infectionChance>0.1</infectionChance>
</li>
</modExtensions>
</GeneDef>
</Defs>

View file

@ -187,7 +187,7 @@
<displayCategory>Reproduction</displayCategory>
<description>Carriers of this gene can 'overwrite' an existing pregnancy, keeping the
progress but effectively replacing the father.</description>
<iconPath>Genes/Icons/RJW_Genes_PheromoneSpit</iconPath>
<iconPath>Genes/Icons/pregnancy_overwrite</iconPath>
<displayOrderInCategory>120</displayOrderInCategory>
<biostatCpx>4</biostatCpx>
@ -210,7 +210,7 @@
<label>no masturbation</label>
<displayCategory>Reproduction</displayCategory>
<description>Carriers of this gene are unable to masturbate - they need a partner or equipment.</description>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<iconPath>Genes/Icons/blocked_masturbation</iconPath>
<displayOrderInCategory>60</displayOrderInCategory>
<biostatCpx>0</biostatCpx>
<biostatMet>1</biostatMet>

View file

@ -153,7 +153,7 @@
<defName>rjw_genes_sexual_genetic_swap</defName>
<label>sexual genetic swap</label>
<description>Carriers with this gene may switch a gene with their sex-partner. Switched Genes are always endogenes.</description>
<iconPath>UI/Icons/Genes/Gene_PsychicBonding</iconPath>
<iconPath>Genes/Icons/sexual_genetic_swap</iconPath>
<displayOrderInCategory>20</displayOrderInCategory>
<biostatCpx>3</biostatCpx>
<biostatMet>0</biostatMet>
@ -168,7 +168,7 @@
<defName>rjw_genes_sexual_genetic_thief</defName>
<label>sexual gene thief</label>
<description>Carriers with this gene may steal a gene from their sex-partner. Stolen genes are always xenogenes.</description>
<iconPath>UI/Icons/Genes/Gene_PsychicBonding</iconPath>
<iconPath>Genes/Icons/sexual_genetic_thief</iconPath>
<displayOrderInCategory>21</displayOrderInCategory>
<biostatCpx>5</biostatCpx>
<biostatMet>-2</biostatMet>
@ -184,7 +184,7 @@
<defName>rjw_genes_feminizer</defName>
<label>feminizer</label>
<description>Carriers with this gene slowly turn male sexual partners into females.</description>
<iconPath>UI/Icons/Genes/Gene_PsychicBonding</iconPath>
<iconPath>Genes/Icons/feminizer</iconPath>
<displayOrderInCategory>31</displayOrderInCategory>
<biostatCpx>4</biostatCpx>
<biostatMet>-1</biostatMet>
@ -225,7 +225,7 @@
<defName>rjw_genes_twinkifier</defName>
<label>twinkifier</label>
<description>Carriers with this gene slowly turn male sexual partners into breedabel cute twinks.</description>
<iconPath>UI/Icons/Genes/Gene_PsychicBonding</iconPath>
<iconPath>Genes/Icons/twinkifier</iconPath>
<displayOrderInCategory>50</displayOrderInCategory>
<biostatCpx>4</biostatCpx>
<biostatMet>-1</biostatMet>
@ -264,6 +264,4 @@
</modExtensions>
</GeneDef>
</Defs>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<HediffDef>
<defName>rjw_genes_genetic_rut</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>Rut</label>
<description>Based on genetics, this pawn is in heat.</description>
<defaultLabelColor>(240,200,110)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<isBad>false</isBad>
<tendable>false</tendable>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-1.00</severityPerDay>
</li>
</comps>
<stages>
<li>
<label>calming down</label>
<statOffsets>
<SexFrequency>0.50</SexFrequency>
</statOffsets>
<capMods>
<li>
<capacity>BloodPumping</capacity>
<offset>0.1</offset>
</li>
</capMods>
</li>
<li>
<label>in heat</label>
<minSeverity>0.4</minSeverity>
<statOffsets>
<SexFrequency>2.00</SexFrequency>
</statOffsets>
<capMods>
<li>
<capacity>Moving</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>BloodPumping</capacity>
<offset>0.15</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -75,6 +75,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_insectincubator;
public static readonly GeneDef rjw_genes_hardwired_progenity;
public static readonly GeneDef rjw_genes_blocked_masturbation;
public static readonly GeneDef rjw_genes_basic_rut;
// Cum
public static readonly GeneDef rjw_genes_no_cum;
@ -142,6 +143,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_infectious_hypersexuality;
public static readonly GeneDef rjw_genes_stretcher;
public static readonly GeneDef rjw_genes_infectious_blocked_masturbation;
public static readonly GeneDef rjw_genes_infectious_rut;
//Other Defs
public static readonly XenotypeDef rjw_genes_succubus;

View file

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace RJW_Genes
{
public class Gene_Rut : Gene
{
public override void Tick()
{
base.Tick();
if (pawn == null || pawn.genes == null)
return;
var chanceExtension = this.def.GetModExtension<TickBasedChanceExtension>();
if (chanceExtension == null) return;
if (pawn.IsHashIntervalTick(chanceExtension.tickInterval)){
Random r = new Random();
if (r.NextDouble() < chanceExtension.eventChance)
{
Hediff rut = pawn.health.GetOrAddHediff(HediffDefOf.rjw_genes_genetic_rut);
rut.Severity = 1;
ModLog.Debug($"Pawn {pawn} gained rjw_genes_genetic_rut based on chance.");
}
}
}
}
}

View file

@ -41,6 +41,9 @@ namespace RJW_Genes
}
if (c.InBounds(this.pawn.Map) && c.Standable(this.pawn.Map))
{
// DevNote: I am not 100% what this all means, but IL_77 is a jump to the case below (it says IL_77).
// basically, this calls the next part of the function, but I am not super sure why this has to be like this.
// JobDrivers are scary.
goto IL_77;
}
}
@ -94,15 +97,15 @@ namespace RJW_Genes
return;
}
//TODO: Fine-Tune the amount and how things calm down.
Thing cum = ThingMaker.MakeThing(cumDef);
cum.Position = cell;
int stacks = Math.Max(1, (int)(hediff.Severity * 3));
int stacks = Math.Max(1, (int)(hediff.Severity * 1.5));
stacks = Math.Min(stacks, 75); // 75 is the default max stacksize ...
cum.stackCount = stacks;
cum.SpawnSetup(map, false);
//TODO: Reduce this ... better?
hediff.Severity -= stacks / 50;
hediff.Severity -= (stacks / 50);
}
private int ticksLeft;

View file

@ -23,6 +23,8 @@ namespace RJW_Genes
public static readonly HediffDef rjw_genes_twinkification_progress;
public static readonly HediffDef rjw_genes_feminization_progress;
public static readonly HediffDef rjw_genes_genetic_rut;
// Note: Counter does meant it counters it, not it's counting
[MayRequire("LustLicentia.RJWLabs")] public static readonly HediffDef rjw_genes_cumstuffed_counter;
[MayRequire("LustLicentia.RJWLabs")] public static readonly HediffDef rjw_genes_cumflation_counter;

View file

@ -81,6 +81,7 @@
<Compile Include="Genes\Breeding\ConditionalStatAffecters\ConditionalStatAffecter_VeryManyChildren.cs" />
<Compile Include="Genes\Breeding\Genes\Gene_FerventOvipositor.cs" />
<Compile Include="Genes\Breeding\Genes\Gene_InsectIncubator.cs" />
<Compile Include="Genes\Breeding\Genes\Gene_Rut.cs" />
<Compile Include="Genes\Breeding\Patches\Patch_BlockedMasturbation.cs" />
<Compile Include="Genes\Cum\HediffComp_ProcessCumbucket.cs" />
<Compile Include="Genes\Cum\HediffsCompProperties_ProcessCumbucketMTB.cs" />