diff --git a/CHANGELOG.md b/CHANGELOG.md index 78025cd..20e573b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -182,9 +182,11 @@ 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 +- Great icons by @Alpenglow -**Beta-2** (17-07-2024) +**Since Beta-2** (17-07-2024) + +- Changed behaviour of living cumbucket. Now, once "really full" the output happens more rarely but is much more at once. # 2.1.0 (27-06-2024) diff --git a/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml b/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml index 42281b1..2c55a7a 100644 --- a/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml +++ b/Mods/Sexperience/Defs/HediffDefs/Sexperience_HediffDefs.xml @@ -20,7 +20,7 @@
  • 0.5
  • 0.25
  • 0.1
  • -
  • 0.005
  • +
  • 0.5
  • @@ -74,7 +74,7 @@
  • - + 10.1 0.1 diff --git a/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml b/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml index 2c42bea..6cbb372 100644 --- a/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml +++ b/Mods/Sexperience/Defs/JobDefs/Sexperience_JobProcessCumbucket.xml @@ -6,7 +6,7 @@ ProcessCumbucket RJW_Genes.JobDriver_ProcessingCumbucket - true + false false processing internal cumbucket. false diff --git a/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs b/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs index efcd7de..b924a6d 100644 --- a/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs +++ b/Source/Genes/Cum/JobDriver_ProcessingCumbucket.cs @@ -97,15 +97,32 @@ namespace RJW_Genes return; } - //TODO: Fine-Tune the amount and how things calm down. + // Case 1: "Normal Severity", just puke out a bit of cum here and there. + if (hediff.Severity <= 10) + { + Thing cum = ThingMaker.MakeThing(cumDef); + cum.Position = cell; + 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); + hediff.Severity -= (stacks / 50); + } else + // Case 2: Reserviour mode, put out a lot of cum at once but less often. + { + int stacks = Math.Max(1, (int)(hediff.Severity * 1.5)); - Thing cum = ThingMaker.MakeThing(cumDef); - cum.Position = cell; - 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); - hediff.Severity -= (stacks / 50); + while (stacks > 0) + { + Thing cum = ThingMaker.MakeThing(cumDef); + cum.Position = cell; + var curStacks = Math.Min(stacks, 75); // 75 is the default max stacksize ... + cum.stackCount = stacks; + cum.SpawnSetup(map, false); + hediff.Severity -= (curStacks / 50); + stacks -= curStacks; + } + } } private int ticksLeft;