Преглед на файлове

Dynamic dick size! Also a jab at more customization

tags/v0.7.0
Fen Dweller преди 7 години
родител
ревизия
aa7aa07c3e
променени са 2 файла, в които са добавени 97 реда и са изтрити 29 реда
  1. +79
    -15
      game.js
  2. +18
    -14
      stroll.html

+ 79
- 15
game.js Целия файл

@@ -34,23 +34,43 @@ var macro =
get handArea() { return this.scaling(this.baseHandArea, this.scale, 2); },

"assScale": 1,

"dickType": "canine",
"baseDickLength": 0.3,
"baseDickDiameter": 0.08,
"dickDensity": 1000,
"dickScale": 1,
get dickLength() { return this.scaling(this.baseDickLength * this.dickScale, this.scale, 1); },
get dickDiameter() { return this.scaling(this.baseDickDiameter * this.dickScale, this.scale, 1); },
get dickLength() {
factor = 1;
if (!this.arousalEnabled || this.arousal < 25) {
factor = 0.5;
} else if (this.arousal < 75) {
factor = 0.5 + (this.arousal - 25) / 10;
}

return this.scaling(this.baseDickLength * this.dickScale * factor, this.scale, 1);
},
get dickDiameter() {
factor = 1;
if (!this.arousalEnabled || this.arousal < 25) {
factor = 0.5;
} else if (this.arousal < 75) {
factor = 0.5 + (this.arousal - 25) / 10;
}

return this.scaling(this.baseDickDiameter * this.dickScale * factor, this.scale, 1);
},
get dickGirth() {
return Math.pow((this.dickDiameter / 2),2) * Math.PI;
return Math.pow((this.dickDiameter/ 2),2) * Math.PI;
},
get dickArea() {
return this.dickLength * this.dickDiameter * Math.PI / 2;
return this.dickLength* this.dickDiameter* Math.PI / 2;
},
get dickVolume() {
return this.dickLength * Math.pow(this.dickDiameter/2,2) * Math.PI;
return this.dickLength* Math.pow(this.dickDiameter2,2) * Math.PI;
},
get dickMass() {
return this.dickVolume * this.dickDensity;
return this.dickVolume* this.dickDensity;
},
"baseBallDiameter": 0.05,
"ballDensity": 1000,
@@ -66,10 +86,10 @@ var macro =
return volume * this.ballDensity;
},

"baseCumRatio": 0.25,
"baseCumRatio": 1,
"cumScale": 1,
get cumVolume() {
return this.ballVolume * this.baseCumRatio * this.cumScale + Math.max(0,this.cumStorage.amount - this.cumStorage.limit);
return this.dickGirth * this.baseCumRatio * this.cumScale + Math.max(0,this.cumStorage.amount - this.cumStorage.limit);
},

"baseVaginaLength": 0.1,
@@ -80,10 +100,10 @@ var macro =
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.vaginaWidth },
"femcumRatio": 0.25,
"baseFemcumRatio": 1,
"femcumScale": 1,
get femcumVolume() {
return this.vaginaVolume * this.femcumRatio * this.femcumScale + Math.max(0,this.femcumStorage.amount - this.femcumStorage.limit);
return this.vaginaArea * this.baseFemcumRatio * this.femcumScale + Math.max(0,this.femcumStorage.amount - this.femcumStorage.limit);
},

"baseBreastDiameter": 0.1,
@@ -226,6 +246,9 @@ var macro =
this.fillCum(this)
if (this.femaleParts)
this.fillFemcum(this)
if (this.maleParts || this.femaleParts) {

}
},

"maleParts": true,
@@ -274,8 +297,8 @@ var macro =

this.arousal += amount * this.arousalFactor;

if (this.arousal >= 100) {
this.arousal = 100;
if (this.arousal >= 200) {
this.arousal = 200;

if (!this.orgasm) {
this.orgasm = true;
@@ -303,6 +326,14 @@ var macro =
}
},

"quenchExcess": function(self) {
if (self.arousalEnabled) {
if (self.arousal > 100 && !self.orgasm) {
self.arousal = Math.max(100,self.arousal-10);
}
}
}

"maleOrgasm": function(self) {
if (!this.arousalEnabled)
return;
@@ -335,11 +366,44 @@ var macro =
line = "You are a " + length(macro.height, unit, true) + " tall " + macro.species + ". You weigh " + mass(macro.mass, unit) + ".";
result.push(line);
if (this.maleParts) {
line = "Your " + length(macro.dickLength, unit, true) + " long dick hangs from your hips, with two " + mass(macro.ballMass, unit, true) + ", " + length(macro.ballDiameter, unit, true) + "-wide balls hanging beneath.";
state = "";
if (!this.arousalEnabled) {
state = "limp";
} else if (this.orgasm) {
state = "spurting";
} else {
if (this.arousal < 25) {
state = "limp";
} else if (this.arousal < 50) {
state = "swelling";
} else if (this.arousal < 75) {
state = "erect";
} else if (this.arousal < 100) {
state = "erect, precum-oozing";
}
}

line = "Your " + length(macro.dickLength, unit, true) + " long " + state + " " + macro.dickType + " cock hangs from your hips, with two " + mass(macro.ballMass, unit, true) + ", " + length(macro.ballDiameter, unit, true) + "-wide balls hanging beneath.";
result.push(line);
}
if (this.femaleParts) {
line = "Your glistening " + length(macro.vaginaLength, unit, true) + " long slit is oozing between your legs."
state = "";
if (!this.arousalEnabled) {
state = "unassuming";
} else if (this.orgasm) {
state = "gushing, quivering";
} else {
if (this.arousal < 25) {
state = "unassuming";
} else if (this.arousal < 50) {
state = "moist";
} else if (this.arousal < 75) {
state = "glistening";
} else if (this.arousal < 100) {
state = "dripping";
}
}
line = "Your glistening " + length(macro.vaginaLength, unit, true) + " long " + state + " slit is oozing between your legs."
result.push(line);
line = "You have two " + length(macro.breastDiameter, unit, true) + "-wide breasts that weigh " + mass(macro.breastMass, unit) + " apiece.";
result.push(line);
@@ -1096,7 +1160,7 @@ function grow_dick(times=1)

var lengthDelta = macro.dickLength - oldLength;
var massDelta = macro.dickMass - oldMass;
update(["Power surges through you as your cock grows " + length(lengthDelta, unit, false) + " longer and gains " + mass(massDelta, unit, false) + " of mass",newline]);
update(["Power surges through you as your " + macro.dickType + " cock grows " + length(lengthDelta, unit, false) + " longer and gains " + mass(massDelta, unit, false) + " of mass",newline]);
}

function grow_balls(times=1)


+ 18
- 14
stroll.html Целия файл

@@ -126,7 +126,7 @@
</li>
<li>
<label for="baseAsArea">Ass area</label>
<input type="number" name="baseAsArea" placeholder="0.4"><br>
<input type="number" name="baseAssArea" placeholder="0.4"><br>
</li>
<br>
<div>
@@ -135,7 +135,7 @@
<div class=reveal-if-active>
<li>
<label class="has-tooltip" for="arousalFactor" title="Multiplies arousal gain by this much">Arousal multiplier</label>
<input type="text" name="arousalFactor" placeholder="1"/><br>
<input type="number" name="arousalFactor" placeholder="1"/><br>
</li>
</div>
</div>
@@ -144,25 +144,29 @@
Male genitals:<br>
<input type="checkbox" checked=true name="maleParts"/><br>
<div class=reveal-if-active>
<li>
<label for="baseDickLength">Cock type</label>
<input type="text" name="baseDickLength" placeholder="canine"/><br>
</li>
<li>
<label for="baseDickLength">Cock length</label>
<input type="text" name="baseDickLength" placeholder="0.3"/><br>
<input type="number" name="baseDickLength" placeholder="0.3"/><br>
</li>
<li>
<label for="baseDickDiameter">Cock diameter</label>
<input type="text" name="baseDickDiameter" placeholder="0.08"/><br>
<input type="number" name="baseDickDiameter" placeholder="0.08"/><br>
</li>
<li>
<label for="baseBallDiameter">Ball diameter</label>
<input type="text" name="baseBallDiameter" placeholder="0.05"/><br>
<input type="number" name="baseBallDiameter" placeholder="0.05"/><br>
</li>
<li>
<label for="baseCumRatio" class="has-tooltip" title="1 = all in one shot, 0.25 = four shots to empty">Orgasm cum ratio</label>
<input type="text" name="baseCumRatio" placeholder="0.25"/><br>
<label for="baseCumRatio" class="has-tooltip" title="scales how much cum is released with each shot">Orgasm cum ratio</label>
<input type="number" name="baseCumRatio" placeholder="1"/><br>
</li>
<li>
<label for="baseMass">Cum production factor</label>
<input type="text" name="cumScale" placeholder="1"/><br>
<input type="number" name="cumScale" placeholder="1"/><br>
</li>
</div>
</div>
@@ -173,23 +177,23 @@
<div class=reveal-if-active>
<li>
<label for="baseVaginaLength">Slit length</label>
<input type="text" name="baseVaginaLength" placeholder="0.1"/><br>
<input type="number" name="baseVaginaLength" placeholder="0.1"/><br>
</li>
<li>
<label for="baseVaginaWidth">Slit width</label>
<input type="text" name="baseVaginaWidth" placeholder="0.05"/><br>
<input type="number" name="baseVaginaWidth" placeholder="0.05"/><br>
</li>
<li>
<label for="baseBreastDiameter">Breast diameter</label>
<input type="text" name="baseBreastDiameter" placeholder="0.1"/><br>
<input type="number" name="baseBreastDiameter" placeholder="0.1"/><br>
</li>
<li>
<label for="baseFemcumRatio" class="has-tooltip" title="1 = all in one shot, 0.25 = four shots to empty">Orgasm femcum ratio</label>
<input type="text" name="baseFemcumRatio" placeholder="0.25"/><br>
<label for="baseFemcumRatio" class="has-tooltip" title="scales how much femcum is released with each shot">Orgasm femcum ratio</label>
<input type="number" name="baseFemcumRatio" placeholder="1"/><br>
</li>
<li>
<label for="femcumScale">Femcum production factor</label>
<input type="text" name="femcumScale" placeholder="1"/><br>
<input type="number" name="femcumScale" placeholder="1"/><br>
</li>
</div>
</div>


Loading…
Отказ
Запис