Browse Source

More additions to the features list.

tags/v1.0.0
Fen Dweller 6 years ago
parent
commit
43731e233c
3 changed files with 319 additions and 56 deletions
  1. +299
    -30
      features.js
  2. +16
    -24
      game.js
  3. +4
    -2
      stroll.html

+ 299
- 30
features.js View File

@@ -116,27 +116,24 @@ options = [
"entries": "entries":
[ [
{ {
"type": "checkbox",
"id": "victims",
"choices":
[
{
"name": "Human prey",
"value": "Human"
},
{
"name": "Military",
"value": "Military"
},
{
"name": "Other macros",
"value": "Macros"
},
{
"name": "Micros",
"value": "Micros"
},
]
"name": "Human prey",
"id": "victimsHuman",
"type": "checkbox"
},
{
"name": "Military",
"id": "victimsMilitary",
"type": "checkbox"
},
{
"name": "Macros",
"id": "victimsMacros",
"type": "checkbox"
},
{
"name": "Micros",
"id": "victimsMicros",
"type": "checkbox"
} }
] ]
}, },
@@ -174,15 +171,9 @@ options = [
"default": "15" "default": "15"
}, },
{ {
"id": "analVore",
"type": "checkbox",
"choices":
[
{
"name": "Anal vore goes to stomach",
"value": "ToStomach"
}
]
"name": "Anal vore goes to stomach",
"id": "analVoreToStomach",
"type": "checkbox"
} }
] ]
}, },
@@ -245,5 +236,283 @@ options = [
] ]
} }
] ]
},
{
"name": "Arousal",
"id": "arousalEnabled",
"optional": true,
"entries":
[
{
"name": "Arousal multiplier",
"id": "arousalFactor",
"type": "float",
"default": "1"
},
{
"name": "Edge multiplier",
"id": "edgeFactor",
"type": "float",
"default": "1"
}
]
},
{
"name": "Tail",
"id": "hasTail",
"optional": true,
"entries":
[
{
"name": "Number of tails",
"id": "tailCount",
"type": "float",
"default": "1"
},
{
"name": "Tail description",
"id": "tailType",
"type": "text",
"default": "fluffy"
},
{
"name": "Tail length",
"id": "baseTailLength",
"type": "float",
"default": "1",
"unit": "length"
},
{
"name": "Tail diameter",
"id": "baseTailDiameter",
"type": "float",
"default": "0.3",
"unit": "length"
},
{
"name": "Tail Vore",
"id": "tailMaw",
"type": "subcategory",
"entries":
[
{
"name": "Tail stretchiness",
"id": "tailStretchiness",
"type": "float",
"default": "1"
},
{
"name": "Digestion time",
"id": "tailDigestTime",
"type": "float",
"default": "15"
},
{
"name": "Tail vore goes to stomach",
"id": "tailVoreToStomach",
"type": "checkbox"
}
]
}
]
},
{
"name": "Pouch",
"id": "hasPouch",
"optional": true,
"entries":
[
{
"name": "Absorption",
"id": "pouchAbsorption",
"type": "checkbox"
}
]
},
{
"name": "Male Genitals",
"id": "maleParts",
"optional": true,
"entries":
[
{
"name": "Cock description",
"id": "dickType",
"type": "text",
"default": "canine"
},
{
"name": "Cock length",
"id": "baseDickLength",
"type": "float",
"default": "0.3",
"unit": "length"
},
{
"name": "Cock diameter",
"id": "baseDickDiameter",
"type": "float",
"default": "0.08",
"unit": "length"
},
{
"name": "Cock stretchiness",
"id": "dickStretchiness",
"type": "float",
"default": "1"
},
{
"name": "Ball diameter",
"id": "baseBallDiameter",
"type": "float",
"default": "0.05",
"unit": "length",
},
{
"name": "Orgasm size",
"id": "baseCumRatio",
"type": "float",
"default": "1",
},
{
"name": "Passive cum production",
"id": "cumScale",
"type": "float",
"default": "0.01"
},
{
"name": "Cum storage factor",
"id": "cumStorageScale",
"type": "float",
"default": "1"
},
{
"name": "Cock Vore",
"id": "cockVoreEnabled",
"type": "subcategory",
"entries":
[
{
"name": "Cum digestion factor",
"id": "baseCumDigestFactor",
"type": "float",
"default": "1"
},
{
"name": "Digestion time",
"id": "cockDigestTime",
"type": "float",
"default": "15"
}
]
},
{
"name": "Sheath",
"id": "hasSheath",
"type": "subcategory",
"entries":
[
{
"name": "Absorption",
"id": "sheathAbsorptionEnabled",
"type": "checkbox"
}
]
},
{
"name": "Musk",
"id": "maleMuskEnabled",
"type": "subcategory",
"entries":
[
{
"name": "Musk factor",
"id": "baseMaleMuskArea",
"type": "float",
"default": "0.5"
}
]
}
]
},
{
"name": "Female Genitals",
"id": "femaleParts",
"optional": true,
"entries":
[
{
"name": "Slit length",
"id": "baseVaginaLength",
"type": "float",
"default": "0.1",
"unit": "length"
},
{
"name": "Slit width",
"id": "baseVaginaWidth",
"type": "float",
"default": "0.05",
"unit": "length"
},
{
"name": "Slit stretchiness",
"id": "vaginaStretchiness",
"type": "float",
"default": "1"
},
{
"name": "Orgasm size",
"id": "baseFemcumRatio",
"type": "float",
"default": "1",
},
{
"name": "Passive femcum production",
"id": "femcumScale",
"type": "float",
"default": "0.01"
},
{
"name": "Femcum storage factor",
"id": "femcumStorageScale",
"type": "float",
"default": "1"
},
{
"name": "Unbirth",
"id": "unbirthEnabled",
"type": "subcategory",
"entries":
[
{
"name": "Femcum digestion factor",
"id": "baseFemcumDigestFactor",
"type": "float",
"default": "1"
},
{
"name": "Digestion time",
"id": "unbirthDigestTime",
"type": "float",
"default": "15"
}
]
},
{
"name": "Musk",
"id": "femaleMuskEnabled",
"type": "subcategory",
"entries":
[
{
"name": "Musk factor",
"id": "baseFemaleMuskArea",
"type": "float",
"default": "0.5"
}
]
}
]
} }
]; ];

+ 16
- 24
game.js View File

@@ -4860,36 +4860,31 @@ function render_radio_option(options_div, option) {
}); });
} }


function render_checkbox_option(options_div, option) {
option.choices.forEach(function(choice) {
let li = document.createElement("li");

let input = document.createElement("input");
input.setAttribute("autocomplete", "off");
input.setAttribute("id", option.id + choice.value);
input.setAttribute("name", option.id + choice.value);
input.setAttribute("type", "checkbox");
function render_checkbox_option(li, option) {


if (choice.default) {
input.setAttribute("checked", true);
}
let input = document.createElement("input");
input.setAttribute("autocomplete", "off");
input.setAttribute("id", option.id);
input.setAttribute("name", option.id);
input.setAttribute("type", "checkbox");


let label = document.createElement("label");
label.setAttribute("for", option.id + choice.value);
label.innerText = choice.name;
if (option.default) {
input.setAttribute("checked", true);
}


li.appendChild(input);
li.appendChild(label);
options_div.appendChild(li);
let label = document.createElement("label");
label.setAttribute("for", option.id);
label.innerText = option.name;


});
li.appendChild(input);
li.appendChild(label);
} }


function render_select_option(li, option) { function render_select_option(li, option) {
let label = document.createElement("label"); let label = document.createElement("label");
label.setAttribute("for", option.id); label.setAttribute("for", option.id);
label.innerText = option.name; label.innerText = option.name;
let select = document.createElement("select"); let select = document.createElement("select");
select.setAttribute("name", option.id); select.setAttribute("name", option.id);


@@ -4960,10 +4955,7 @@ function render_option(root_div, li, option) {
} }


if (option.type == "checkbox") { if (option.type == "checkbox") {
render_checkbox_option(root_div, option);

// we added n li elements; we need to skip the default one
return;
render_checkbox_option(li, option);
} }


if (option.type == "select") { if (option.type == "select") {


+ 4
- 2
stroll.html View File

@@ -590,7 +590,6 @@
</li> </li>
</div> </div>
</div> </div>
-->
<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="arousalEnabled" name="arousalEnabled" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="arousalEnabled" name="arousalEnabled" />
<label class="custom-header" for="arousalEnabled">Arousal</label> <label class="custom-header" for="arousalEnabled">Arousal</label>
@@ -652,7 +651,6 @@
</li> </li>
</div> </div>
</div> </div>

<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="hasPouch" name="hasPouch" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="hasPouch" name="hasPouch" />
<label class="custom-header" for="hasPouch">Pouch</label> <label class="custom-header" for="hasPouch">Pouch</label>
@@ -663,6 +661,7 @@
</div> </div>
</div> </div>



<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="maleParts" name="maleParts" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="maleParts" name="maleParts" />
<label class="custom-header" for="maleParts">Male genitals</label> <label class="custom-header" for="maleParts">Male genitals</label>
@@ -738,6 +737,7 @@
</li> </li>
</div> </div>
</div> </div>
-->


<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="hasBreasts" name="hasBreasts" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="hasBreasts" name="hasBreasts" />
@@ -803,6 +803,7 @@
</div> </div>
</div> </div>


<!--
<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="femaleParts" name="femaleParts" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="femaleParts" name="femaleParts" />
<label class="custom-header" for="femaleParts">Female genitals</label> <label class="custom-header" for="femaleParts">Female genitals</label>
@@ -865,6 +866,7 @@
</li> </li>
</div> </div>
</div> </div>
-->


<div class="custom-category"> <div class="custom-category">
<input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="stenchEnabled" name="stenchEnabled" /> <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="stenchEnabled" name="stenchEnabled" />


Loading…
Cancel
Save