From 7a234d32b1cdf9358f1cfb2ee7f87a87b694591b Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Mon, 19 Feb 2018 22:23:24 -0500 Subject: [PATCH] Introduced cum/femcum levels and conversion of prey into such --- game.js | 89 +++++++++++++++++++++++++++++++++++++++++------------ stroll.html | 2 ++ 2 files changed, 72 insertions(+), 19 deletions(-) diff --git a/game.js b/game.js index 7a111a0..a667a1c 100644 --- a/game.js +++ b/game.js @@ -66,7 +66,7 @@ var macro = "baseCumRatio": 0.25, "cumScale": 1, get cumVolume() { - return this.ballVolume * this.baseCumRatio * this.cumScale; + return this.ballVolume * this.baseCumRatio * this.cumScale + Math.max(0,this.cumStorage.amount - this.cumStorage.limit); }, "baseVaginaLength": 0.1, @@ -76,11 +76,11 @@ var macro = get vaginaLength() { return this.scaling(this.baseVaginaLength * this.vaginaScale, this.scale, 1); }, get vaginaWidth() { return this.scaling(this.baseVaginaWidth * this.vaginaScale, this.scale, 1); }, get vaginaArea() { return this.vaginaLength * this.vaginaWidth }, - + get vaginaVolume() { return this.vaginaArea * this.vaginaLength }, "femcumRatio": 0.1, "femcumScale": 1, get femcumVolume() { - return this.vaginaArea * this.vaginaLength * this.femcumRatio * this.femcumScale; + return this.vaginaVolume * this.femcumRatio * this.femcumScale + Math.max(0,this.femcumStorage.amount - this.femcumStorage.limit); }, "baseBreastDiameter": 0.1, @@ -122,7 +122,7 @@ var macro = } var line = organ.describeDigestion(container); - + organ.fill(this,container); var summary = summarize(container.sum()); update([line,summary,newline]); @@ -141,6 +141,9 @@ var macro = "describeDigestion": function(container) { return "Your stomach gurgles as it digests " + container.describe(false); }, + "fill": function(owner,container) { + //no-op + }, "contents": [], "maxDigest": 5 }, @@ -158,6 +161,9 @@ var macro = "describeDigestion" : function(container) { return "Your bowels churn as they absorb " + container.describe(false); }, + "fill": function(owner,container) { + //no-op + }, "contents" : [], "maxDigest" : 3 }, @@ -175,6 +181,9 @@ var macro = "describeDigestion" : function(container) { return "Your womb squeezes as it dissolves " + container.describe(false); }, + "fill": function(owner,container) { + owner.femcumStorage.amount += container.sum_property("mass") / 1e3; + }, "contents" : [], "maxDigest" : 1 }, @@ -189,9 +198,12 @@ var macro = setTimeout(function() { owner.digest(self) }, 15000); this.contents.push(prey); }, - "describeDigestion" : function(container) { + "describeDigestion": function(container) { return "Your balls slosh as they transform " + container.describe(false) + " into cum"; }, + "fill": function(owner,container) { + owner.cumStorage.amount += container.sum_property("mass") / 1e3; + }, "contents" : [], "maxDigest" : 1 }, @@ -201,11 +213,46 @@ var macro = this.bowels.owner = this; this.womb.owner = this; this.balls.owner = this; + this.cumStorage.owner = this; + this.femcumStorage.owner = this; + if (this.maleParts) + this.fillCum(this) + if (this.femaleParts) + this.fillFemcum(this) }, "maleParts": true, "femaleParts": true, + "fillCum": function(self) { + self.cumStorage.amount += self.ballVolume / 30; + if (self.cumStorage.amount > self.cumStorage.limit) + self.arouse(10 * (1 - self.cumStorage.amount / self.cumStorage.limit)); + setTimeout(function () { self.fillCum(self) }, 1000); + update(); + }, + + "fillFemcum": function(self) { + self.femcumStorage.amount += self.vaginaVolume / 30; + if (self.femcumStorage.amount > self.femcumStorage.limit) + self.arouse(10 * (self.femcumStorage.amount / self.femcumStorage.limit)); + setTimeout(function () { self.fillFemcum(self) }, 1000); + update(); + }, + + "cumStorage": { + "amount": 0, + get limit() { + return this.owner.ballVolume; + } + }, + + "femcumStorage": { + "amount": 0, + get limit() { + return this.owner.vaginaVolume; + } + }, "orgasm": false, "arousal": 0, @@ -241,7 +288,9 @@ var macro = "maleOrgasm": function(self) { if (self.orgasm) { self.quench(10); - male_orgasm(); + var amount = Math.min(this.cumVolume, this.cumStorage.amount); + this.cumStorage.amount -= amount; + male_orgasm(amount); setTimeout(function() { self.maleOrgasm(self) }, 2000); } }, @@ -249,7 +298,9 @@ var macro = "femaleOrgasm": function(self) { if (this.orgasm) { this.quench(10); - female_orgasm(); + var amount = Math.min(this.femcumVolume, this.femcumStorage.amount); + this.femcumStorage.amount -= amount; + female_orgasm(amount); setTimeout(function() { self.femaleOrgasm(self) }, 2000); } }, @@ -770,10 +821,8 @@ function ball_smother() update([sound,line,linesummary,newline]); } -function male_orgasm() +function male_orgasm(vol) { - var vol = macro.cumVolume; - // let's make it 10cm thick var area = vol * 10; @@ -807,10 +856,8 @@ function male_orgasm() update([sound,line,linesummary,newline]); } -function female_orgasm() +function female_orgasm(vol) { - var vol = macro.femcumVolume; - // let's make it 10cm thick var area = vol * 10; @@ -858,7 +905,9 @@ function update(lines = []) document.getElementById("height").innerHTML = "Height: " + length(macro.height, unit); document.getElementById("mass").innerHTML = "Mass: " + mass(macro.mass, unit); - document.getElementById("arousal").innerHTML = "Arousal: " + macro.arousal + "%"; + document.getElementById("arousal").innerHTML = "Arousal: " + round(macro.arousal,0) + "%"; + document.getElementById("cum").innerHTML = "Cum: " + volume(macro.cumStorage.amount,unit,false) + "/" + volume(macro.cumStorage.limit,unit,false); + document.getElementById("femcum").innerHTML = "Femcum: " + volume(macro.femcumStorage.amount,unit,false) + "/" + volume(macro.femcumStorage.limit,unit,false); for (var type in victims) { if (victims.hasOwnProperty(type)) { @@ -938,7 +987,7 @@ function startGame() { document.getElementById("button-ball_smother").style.display = 'none'; document.getElementById("stats-balls").style.display = 'none'; document.getElementById("stats-cock").style.display = 'none'; - document.getElementById("stats-smothered").style.display = 'none'; + document.getElementById("cum").style.display = 'none'; } if (!macro.femaleParts) { @@ -946,6 +995,7 @@ function startGame() { document.getElementById("button-unbirth").style.display = 'none'; document.getElementById("stats-womb").style.display = 'none'; document.getElementById("stats-breasts").style.display = 'none'; + document.getElementById("femcum").style.display = 'none'; } if (!macro.maleParts && !macro.femaleParts) { @@ -960,10 +1010,15 @@ function startGame() { macro.species = species; } + macro.init(); + + update(); + document.getElementById("stat-container").style.display = 'flex'; } window.addEventListener('load', function(event) { + victims["stomped"] = initVictims(); victims["digested"] = initVictims(); victims["stomach"] = initVictims(); @@ -975,8 +1030,6 @@ window.addEventListener('load', function(event) { victims["smothered"] = initVictims(); victims["splooged"] = initVictims(); - macro.init(); - document.getElementById("button-look").addEventListener("click",look); document.getElementById("button-grow").addEventListener("click",grow); document.getElementById("button-feed").addEventListener("click",feed); @@ -996,6 +1049,4 @@ window.addEventListener('load', function(event) { document.getElementById("button-female-genitals").addEventListener("click",option_female); document.getElementById("button-start").addEventListener("click",startGame); setTimeout(pick_move, 2000); - - update(); }); diff --git a/stroll.html b/stroll.html index d525020..7808da5 100644 --- a/stroll.html +++ b/stroll.html @@ -17,6 +17,8 @@
+
+

Stomped