From 1551ca766136fa38bde39e4436f639bdcd35b73c Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Fri, 28 Dec 2018 21:13:47 -0600 Subject: [PATCH] Cum/femcum production is volume based now. Added womb/womb scaling for femcum storage --- features.js | 13 ++++++++++--- game.js | 40 ++++++++++++++++++++++++++++++++++++---- stroll.html | 1 + 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/features.js b/features.js index 47ca73e..937355c 100644 --- a/features.js +++ b/features.js @@ -931,7 +931,7 @@ options = [ }, { "name": "Passive cum production", - "id": "cumScale", + "id": "baseCumProduction", "type": "float", "default": "1" }, @@ -1016,15 +1016,22 @@ options = [ "type": "float", "default": "1" }, + { + "name": "Womb volume", + "id": "baseWombVolume", + "type": "float", + "default": "0.0001", + "unit": "volume" + }, { "name": "Orgasm size", "id": "baseFemcumVolume", "type": "float", - "default": "1", + "default": "0.1", }, { "name": "Passive femcum production", - "id": "femcumScale", + "id": "baseFemcumProduction", "type": "float", "default": "1" }, diff --git a/game.js b/game.js index bb3bb21..5a86e53 100644 --- a/game.js +++ b/game.js @@ -56,6 +56,7 @@ let macro = "dickScale": 1, "ballScale": 1, "vaginaScale": 1, + "wombScale": 1, "breastScale": 1, "tailScale": 1, @@ -274,6 +275,7 @@ let macro = "biteDesc": function(plural=false,capital=false) { let result = ""; + switch(this.jawType) { case "jaw": result = plural ? "crushes" : "crush"; @@ -373,8 +375,12 @@ let macro = get vaginaWidth() { return this.scaling(this.baseVaginaWidth * this.vaginaScale, this.scale, 1); }, get vaginaArea() { return this.vaginaLength * this.vaginaWidth; }, get vaginaStretchArea() { return this.vaginaStretchiness * this.vaginaStretchiness * this.vaginaLength * this.vaginaWidth; }, + // this isn't how biology works but I'll leave it in + get vaginaVolume() { return this.vaginaArea * this.vaginaWidth; }, + get wombVolume() { return this.scaling(this.baseWombVolume, this.wombScale * this.scale, 3); }, + get femcumVolume() { let vol = this.scaling(this.baseFemcumVolume, this.scale, 3); return this.scaling(vol, this.vaginaScale, 2); @@ -1130,7 +1136,7 @@ let macro = }, "fillCum": function(self) { - self.cumStorage.amount += self.cumScale * self.cumStorage.limit / self.cumStorageScale / 1000; + self.cumStorage.amount += self.scaling(self.baseCumProduction / 10, self.scale * self.ballScale, 3); if (self.cumStorage.amount > self.cumStorage.limit) self.arouse(1 * (self.cumStorage.amount / self.cumStorage.limit - 1)); setTimeout(function () { self.fillCum(self); }, 100); @@ -1138,7 +1144,7 @@ let macro = }, "fillFemcum": function(self) { - self.femcumStorage.amount += self.femcumScale * self.femcumStorage.limit / self.femcumStorageScale / 1000; + self.femcumStorage.amount += self.scaling(self.baseFemcumProduction / 10, self.scale * self.wombScale, 3); if (self.femcumStorage.amount > self.femcumStorage.limit) self.arouse(1 * (self.femcumStorage.amount / self.femcumStorage.limit - 1)); setTimeout(function () { self.fillFemcum(self); }, 100); @@ -1210,14 +1216,14 @@ let macro = "cumStorage": { "amount": 0, get limit() { - return this.owner.ballVolume * this.owner.cumStorageScale; + return this.owner.ballVolume * this.owner.cumStorageScale * 2; } }, "femcumStorage": { "amount": 0, get limit() { - return this.owner.vaginaVolume * this.owner.femcumStorageScale; + return this.owner.wombVolume * this.owner.femcumStorageScale; } }, @@ -1356,6 +1362,11 @@ let macro = if (self.orgasm) { let spurt = Math.min(this.cumVolume, this.cumStorage.amount); + + if (spurt == this.cumVolume) { + let excess = this.cumStorage.amount - this.cumVolume; + spurt += excess / 5; + } this.cumStorage.amount -= spurt; male_orgasm(spurt, false); setTimeout(function() { self.maleOrgasm(self); }, 5000); @@ -1368,6 +1379,12 @@ let macro = if (this.orgasm) { let spurt = Math.min(this.femcumVolume, this.femcumStorage.amount); + + if (spurt == this.femcumVolume) { + let excess = this.femcumStorage.amount - this.femcumVolume; + spurt += excess / 5; + } + this.femcumStorage.amount -= spurt; female_orgasm(spurt, false); setTimeout(function() { self.femaleOrgasm(self); }, 5000); @@ -3925,6 +3942,7 @@ function grow_pick(times) { case "dick": grow_dick(times); break; case "balls": grow_balls(times); break; case "slit": grow_vagina(times); break; + case "womb": grow_womb(times); break; case "breasts": grow_breasts(times); break; } } @@ -4028,6 +4046,19 @@ function grow_vagina(factor) update(["Power surges through you as your moist slit expands by by " + length(lengthDelta, unit, false),newline]); } +function grow_womb(factor) +{ + + let oldVolume = macro.wombVolume; + + macro.wombScale *= factor; + + let volumeDelta = macro.wombVolume - oldVolume; + + update(["Power surges through you as your womb grows larger, gaining " + volume(volumeDelta, unit, false) + " of capacity",newline]); +} + + function grow_ass(factor) { @@ -4375,6 +4406,7 @@ function startGame(e) { enable_stat("femcum"); enable_growth_part("slit"); + enable_growth_part("womb"); if (macro.arousalEnabled) { enable_victim("femcum-flood","Flooded by femcum"); diff --git a/stroll.html b/stroll.html index 22f4259..5762510 100644 --- a/stroll.html +++ b/stroll.html @@ -172,6 +172,7 @@ +