Browse Source

Introduced cum/femcum levels and conversion of prey into such

tags/v0.7.0
Fen Dweller 7 years ago
parent
commit
7a234d32b1
2 changed files with 72 additions and 19 deletions
  1. +70
    -19
      game.js
  2. +2
    -0
      stroll.html

+ 70
- 19
game.js View File

@@ -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();
});

+ 2
- 0
stroll.html View File

@@ -17,6 +17,8 @@
<div class=stat-line id=height></div>
<div class=stat-line id=mass></div>
<div class=stat-line id=arousal></div>
<div class=stat-line id=cum></div>
<div class=stat-line id=femcum></div>
</div>
<div class=stat-header id=stats-stomped>
<p>Stomped</p>


Loading…
Cancel
Save