Browse Source

Cum/femcum production is volume based now. Added womb/womb scaling for femcum storage

tags/v1.0.0
Fen Dweller 6 years ago
parent
commit
1551ca7661
3 changed files with 47 additions and 7 deletions
  1. +10
    -3
      features.js
  2. +36
    -4
      game.js
  3. +1
    -0
      stroll.html

+ 10
- 3
features.js View File

@@ -931,7 +931,7 @@ options = [
}, },
{ {
"name": "Passive cum production", "name": "Passive cum production",
"id": "cumScale",
"id": "baseCumProduction",
"type": "float", "type": "float",
"default": "1" "default": "1"
}, },
@@ -1016,15 +1016,22 @@ options = [
"type": "float", "type": "float",
"default": "1" "default": "1"
}, },
{
"name": "Womb volume",
"id": "baseWombVolume",
"type": "float",
"default": "0.0001",
"unit": "volume"
},
{ {
"name": "Orgasm size", "name": "Orgasm size",
"id": "baseFemcumVolume", "id": "baseFemcumVolume",
"type": "float", "type": "float",
"default": "1",
"default": "0.1",
}, },
{ {
"name": "Passive femcum production", "name": "Passive femcum production",
"id": "femcumScale",
"id": "baseFemcumProduction",
"type": "float", "type": "float",
"default": "1" "default": "1"
}, },


+ 36
- 4
game.js View File

@@ -56,6 +56,7 @@ let macro =
"dickScale": 1, "dickScale": 1,
"ballScale": 1, "ballScale": 1,
"vaginaScale": 1, "vaginaScale": 1,
"wombScale": 1,
"breastScale": 1, "breastScale": 1,
"tailScale": 1, "tailScale": 1,


@@ -274,6 +275,7 @@ let macro =


"biteDesc": function(plural=false,capital=false) { "biteDesc": function(plural=false,capital=false) {
let result = ""; let result = "";

switch(this.jawType) { switch(this.jawType) {
case "jaw": case "jaw":
result = plural ? "crushes" : "crush"; result = plural ? "crushes" : "crush";
@@ -373,8 +375,12 @@ let macro =
get vaginaWidth() { return this.scaling(this.baseVaginaWidth * 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 vaginaArea() { return this.vaginaLength * this.vaginaWidth; },
get vaginaStretchArea() { return this.vaginaStretchiness * this.vaginaStretchiness * 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 vaginaVolume() { return this.vaginaArea * this.vaginaWidth; },


get wombVolume() { return this.scaling(this.baseWombVolume, this.wombScale * this.scale, 3); },

get femcumVolume() { get femcumVolume() {
let vol = this.scaling(this.baseFemcumVolume, this.scale, 3); let vol = this.scaling(this.baseFemcumVolume, this.scale, 3);
return this.scaling(vol, this.vaginaScale, 2); return this.scaling(vol, this.vaginaScale, 2);
@@ -1130,7 +1136,7 @@ let macro =
}, },


"fillCum": function(self) { "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) if (self.cumStorage.amount > self.cumStorage.limit)
self.arouse(1 * (self.cumStorage.amount / self.cumStorage.limit - 1)); self.arouse(1 * (self.cumStorage.amount / self.cumStorage.limit - 1));
setTimeout(function () { self.fillCum(self); }, 100); setTimeout(function () { self.fillCum(self); }, 100);
@@ -1138,7 +1144,7 @@ let macro =
}, },


"fillFemcum": function(self) { "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) if (self.femcumStorage.amount > self.femcumStorage.limit)
self.arouse(1 * (self.femcumStorage.amount / self.femcumStorage.limit - 1)); self.arouse(1 * (self.femcumStorage.amount / self.femcumStorage.limit - 1));
setTimeout(function () { self.fillFemcum(self); }, 100); setTimeout(function () { self.fillFemcum(self); }, 100);
@@ -1210,14 +1216,14 @@ let macro =
"cumStorage": { "cumStorage": {
"amount": 0, "amount": 0,
get limit() { get limit() {
return this.owner.ballVolume * this.owner.cumStorageScale;
return this.owner.ballVolume * this.owner.cumStorageScale * 2;
} }
}, },


"femcumStorage": { "femcumStorage": {
"amount": 0, "amount": 0,
get limit() { 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) { if (self.orgasm) {
let spurt = Math.min(this.cumVolume, this.cumStorage.amount); 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; this.cumStorage.amount -= spurt;
male_orgasm(spurt, false); male_orgasm(spurt, false);
setTimeout(function() { self.maleOrgasm(self); }, 5000); setTimeout(function() { self.maleOrgasm(self); }, 5000);
@@ -1368,6 +1379,12 @@ let macro =


if (this.orgasm) { if (this.orgasm) {
let spurt = Math.min(this.femcumVolume, this.femcumStorage.amount); 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; this.femcumStorage.amount -= spurt;
female_orgasm(spurt, false); female_orgasm(spurt, false);
setTimeout(function() { self.femaleOrgasm(self); }, 5000); setTimeout(function() { self.femaleOrgasm(self); }, 5000);
@@ -3925,6 +3942,7 @@ function grow_pick(times) {
case "dick": grow_dick(times); break; case "dick": grow_dick(times); break;
case "balls": grow_balls(times); break; case "balls": grow_balls(times); break;
case "slit": grow_vagina(times); break; case "slit": grow_vagina(times); break;
case "womb": grow_womb(times); break;
case "breasts": grow_breasts(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]); 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) function grow_ass(factor)
{ {


@@ -4375,6 +4406,7 @@ function startGame(e) {
enable_stat("femcum"); enable_stat("femcum");


enable_growth_part("slit"); enable_growth_part("slit");
enable_growth_part("womb");


if (macro.arousalEnabled) { if (macro.arousalEnabled) {
enable_victim("femcum-flood","Flooded by femcum"); enable_victim("femcum-flood","Flooded by femcum");


+ 1
- 0
stroll.html View File

@@ -172,6 +172,7 @@
<button class="growth-part" id="button-growth-dick">Cock</button> <button class="growth-part" id="button-growth-dick">Cock</button>
<button class="growth-part" id="button-growth-balls">Balls</button> <button class="growth-part" id="button-growth-balls">Balls</button>
<button class="growth-part" id="button-growth-slit">Slit</button> <button class="growth-part" id="button-growth-slit">Slit</button>
<button class="growth-part" id="button-growth-womb">Womb</button>
<button class="growth-part" id="button-growth-breasts">Breasts</button> <button class="growth-part" id="button-growth-breasts">Breasts</button>
</div> </div>
<div id="growth-box-right"> <div id="growth-box-right">


Loading…
Cancel
Save