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.10.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 @@
ProcessCumbucketRJW_Genes.JobDriver_ProcessingCumbucket
- true
+ falsefalseprocessing 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;