Browse Source

Add wing/musk/stench growth

tags/v1.1.2
Fen Dweller 5 years ago
parent
commit
211163814d
3 changed files with 55 additions and 14 deletions
  1. +4
    -1
      features.js
  2. +47
    -12
      game.js
  3. +4
    -1
      stroll.html

+ 4
- 1
features.js View File

@@ -1310,6 +1310,7 @@ options = [
"name": "Musk", "name": "Musk",
"id": "maleMuskEnabled", "id": "maleMuskEnabled",
"type": "subcategory", "type": "subcategory",
"parts": ["musk"],
"entries": "entries":
[ [
{ {
@@ -1447,6 +1448,7 @@ options = [
"name": "Musk", "name": "Musk",
"id": "femaleMuskEnabled", "id": "femaleMuskEnabled",
"type": "subcategory", "type": "subcategory",
"parts": ["musk"],
"entries": "entries":
[ [
{ {
@@ -1574,6 +1576,7 @@ options = [
"id": "stenchEnabled", "id": "stenchEnabled",
"optional": true, "optional": true,
"warning": "Stench is enabled", "warning": "Stench is enabled",
"parts": ["stench"],
"entries": "entries":
[ [
{ {
@@ -2050,7 +2053,7 @@ options = [
"id": "hasWings", "id": "hasWings",
"optional": true, "optional": true,
"panels": ["misc"], "panels": ["misc"],
//"parts": ["wings"],
"parts": ["wings"],
"buttons": ["wings_flap"], "buttons": ["wings_flap"],
"entries": "entries":
[ [


+ 47
- 12
game.js View File

@@ -92,6 +92,9 @@ let macro = //macro controls every customizable part of the players body
"wombScale": 1, "wombScale": 1,
"breastScale": 1, "breastScale": 1,
"tailScale": 1, "tailScale": 1,
"wingScale": 1,
"muskScale": 1,
"stenchScale": 1,


"tailDensity": 1000, "tailDensity": 1000,
"dickDensity": 1000, "dickDensity": 1000,
@@ -115,8 +118,8 @@ let macro = //macro controls every customizable part of the players body
get handWidth() { return this.scaling(this.baseHandWidth, this.scale, 1); }, get handWidth() { return this.scaling(this.baseHandWidth, this.scale, 1); },
get handArea() { return this.handLength * this.handWidth }, get handArea() { return this.handLength * this.handWidth },


get wingLength() { return this.scaling(this.baseWingLength, this.scale, 1); },
get wingWidth() { return this.scaling(this.baseWingWidth, this.scale, 1); },
get wingLength() { return this.scaling(this.baseWingLength, this.scale * this.wingScale, 1); },
get wingWidth() { return this.scaling(this.baseWingWidth, this.scale * this.wingScale, 1); },
get wingArea() { return this.wingLength * this.wingWidth; }, get wingArea() { return this.wingLength * this.wingWidth; },


"footOnlyDesc": function(plural=false,capital=false) { "footOnlyDesc": function(plural=false,capital=false) {
@@ -1456,11 +1459,11 @@ let macro = //macro controls every customizable part of the players body
}, },


get pawStenchArea() { get pawStenchArea() {
return this.pawArea * this.basePawStenchArea;
return this.pawArea * this.basePawStenchArea * this.stenchScale;
}, },


get assStenchArea() { get assStenchArea() {
return this.assArea * this.baseAssStenchArea;
return this.assArea * this.baseAssStenchArea * this.stenchScale;
}, },


get gasDigestFactor() { get gasDigestFactor() {
@@ -3174,7 +3177,7 @@ function male_spurt(vol, active=true)
update([sound,line,linesummary,newline], active); update([sound,line,linesummary,newline], active);


if (macro.maleMuskEnabled) { if (macro.maleMuskEnabled) {
male_spurt_musk(area * macro.baseMaleMuskArea, active);
male_spurt_musk(area * macro.baseMaleMuskArea * macro.muskScale, active);
} }
} }


@@ -3216,7 +3219,7 @@ function male_orgasm(vol, active=true)
update([sound,line,linesummary,newline], active); update([sound,line,linesummary,newline], active);


if (macro.maleMuskEnabled) { if (macro.maleMuskEnabled) {
male_orgasm_musk(area * macro.baseMaleMuskArea, active);
male_orgasm_musk(area * macro.baseMaleMuskArea * macro.muskScale, active);
} }
} }


@@ -3258,7 +3261,7 @@ function female_spurt(vol, active=true)
update([sound,line,linesummary,newline], active); update([sound,line,linesummary,newline], active);


if (macro.femaleMuskEnabled) { if (macro.femaleMuskEnabled) {
female_spurt_musk(area * macro.baseFemaleMuskArea, active);
female_spurt_musk(area * macro.baseFemaleMuskArea * macro.muskScale, active);
} }
} }


@@ -3300,7 +3303,7 @@ function female_orgasm(vol, active=true)
update([sound,line,linesummary,newline], active); update([sound,line,linesummary,newline], active);


if (macro.femaleMuskEnabled) { if (macro.femaleMuskEnabled) {
female_orgasm_musk(area * macro.baseFemaleMuskArea, active);
female_orgasm_musk(area * macro.baseFemaleMuskArea * macro.muskScale, active);
} }
} }


@@ -3793,7 +3796,7 @@ function piss(vol, active=true) {
macro.arouse(20); macro.arouse(20);


if (macro.stenchEnabled && macro.basePissStenchArea > 0) { if (macro.stenchEnabled && macro.basePissStenchArea > 0) {
piss_stench(area * macro.basePissStenchArea, active);
piss_stench(area * macro.basePissStenchArea * macro.stenchScale, active);
} }
} }


@@ -3863,7 +3866,7 @@ function scat(vol, active=true) {
macro.arouse(50); macro.arouse(50);


if (macro.stenchEnabled && macro.baseScatStenchArea > 0) { if (macro.stenchEnabled && macro.baseScatStenchArea > 0) {
scat_stench(area*macro.baseScatStenchArea, active);
scat_stench(area * macro.baseScatStenchArea * macro.stenchScale, active);
} }
} }


@@ -4529,6 +4532,8 @@ function grow_pick(times) {
case "womb": grow_womb(times); break; case "womb": grow_womb(times); break;
case "breasts": grow_breasts(times); break; case "breasts": grow_breasts(times); break;
case "wings": grow_wings(times); break; case "wings": grow_wings(times); break;
case "musk": grow_musk(times); break;
case "stench": grow_stench(times); break;
} }
} }
} }
@@ -4715,14 +4720,44 @@ function grow_wings(factor, simpleCalc=true){
let oldLength = macro.wingLength; let oldLength = macro.wingLength;


if (simpleCalc == true){ if (simpleCalc == true){
macro.pawScale *= factor;
macro.wingScale *= factor;
} else { } else {
macro.wingScale = (macro.wingScale + (factor/macro.mass)) macro.wingScale = (macro.wingScale + (factor/macro.mass))
} }


let lengthDelta = macro.wingLength - oldLength; let lengthDelta = macro.wingLength - oldLength;


update([pickString("Power surges through you","Energy flows into you","Your back muscles fight for space","Your muscles tense","A crackeling fills the air","Your balance shifts","You feel a buzz of power","A warm sensation fills you") + " as your " + macro.wingDesc(true) + " grow, gaining " + length(2 * lengthDelta, unit, false) + " of wingspan.",newline]);
update([pickString("Power surges through you","Energy flows into you","Your back muscles fight for space","Your muscles tense","A crackeling fills the air","Your balance shifts","You feel a buzz of power","A warm sensation fills you") + " as your " + macro.wingDesc + " wings grow, gaining " + length(2 * lengthDelta, unit, false) + " of wingspan.",newline]);
}

function grow_musk(factor, simpleCalc=true){

let oldScale = macro.muskScale;

if (simpleCalc == true){
macro.muskScale *= factor;
} else {
macro.muskScale = (macro.muskScale + (factor/Math.pow(macro.mass, 1/3)))
}

let scaleDelta = macro.muskScale - oldScale;

update([pickString("Power surges through you","Energy flows into you","A crackeling fills the air","Your balance shifts","You feel a buzz of power","A warm sensation fills you") + " as your musk thickens, growing more potent.",newline]);
}

function grow_stench(factor, simpleCalc=true){

let oldScale = macro.muskScale;

if (simpleCalc == true){
macro.stenchScale *= factor;
} else {
macro.stenchScale = (macro.stenchScale + (factor/Math.pow(macro.mass, 1/3)))
}

let scaleDelta = macro.stenchScale - oldScale;

update([pickString("Power surges through you","Energy flows into you","A crackeling fills the air","Your balance shifts","You feel a buzz of power","A warm sensation fills you") + " as your stench thickens, growing more potent.",newline]);
} }


function resetSettings() { function resetSettings() {


+ 4
- 1
stroll.html View File

@@ -171,7 +171,7 @@
<div id="growth-box-left"> <div id="growth-box-left">
<div class="stat-header-self">Growth</div> <div class="stat-header-self">Growth</div>
<select id="growth-part-select"> <select id="growth-part-select">
<option class="growth-part growth-part-active" id="option-growth-body" value="body" >Body</option>
<option class="growth-part growth-part-active" id="option-growth-body" value="body">Body</option>
<option class="growth-part" id="option-growth-paws" value="paws">Paws</option> <option class="growth-part" id="option-growth-paws" value="paws">Paws</option>
<option class="growth-part" id="option-growth-tail" value="tail">Tail</option> <option class="growth-part" id="option-growth-tail" value="tail">Tail</option>
<option class="growth-part" id="option-growth-ass" value="ass">Ass</option> <option class="growth-part" id="option-growth-ass" value="ass">Ass</option>
@@ -180,6 +180,9 @@
<option class="growth-part" id="option-growth-slit" value="slit">Slit</option> <option class="growth-part" id="option-growth-slit" value="slit">Slit</option>
<option class="growth-part" id="option-growth-womb" value="womb">Womb</option> <option class="growth-part" id="option-growth-womb" value="womb">Womb</option>
<option class="growth-part" id="option-growth-breasts" value="breasts">Breasts</option> <option class="growth-part" id="option-growth-breasts" value="breasts">Breasts</option>
<option class="growth-part" id="option-growth-wings" value="wings">Wings</option>
<option class="growth-part" id="option-growth-musk" value="musk">Musk</option>
<option class="growth-part" id="option-growth-stench" value="stench">Stench</option>
</select> </select>
<button class="growth-amount" id="button-growth-1.1">1.1x</button> <button class="growth-amount" id="button-growth-1.1">1.1x</button>
<button class="growth-amount" id="button-growth-1.5">1.5x</button> <button class="growth-amount" id="button-growth-1.5">1.5x</button>


Loading…
Cancel
Save