diff --git a/darkmode.js b/darkmode.js
index b2a8704..361f03e 100644
--- a/darkmode.js
+++ b/darkmode.js
@@ -1,6 +1,7 @@
// do da dark mode
-let dark = false;
+let dark = true;
+setDarkMode(dark);
function toggleDarkMode(e) {
dark = !dark;
diff --git a/features.js b/features.js
new file mode 100644
index 0000000..94b79eb
--- /dev/null
+++ b/features.js
@@ -0,0 +1,13 @@
+features = {
+ "default": {
+ "dependencies": [
+
+ ],
+ "growth_parts": [
+ "paws"
+ ],
+ "victims": [
+ ["stomped"],
+ ]
+ }
+}
diff --git a/game.js b/game.js
index afb66e5..a2f06af 100644
--- a/game.js
+++ b/game.js
@@ -286,6 +286,9 @@ let macro =
get tailDesc() {
return this.tailType + " " + (this.tailCount > 1 ? "tails" : "tail");
},
+ get tailNoDesc() {
+ return (this.tailCount > 1 ? "tails" : "tail");
+ },
"dickType": "canine",
"baseDickLength": 0.3,
"baseDickDiameter": 0.08,
@@ -1088,8 +1091,9 @@ let macro =
this.fillFemcum(this);
if (this.lactationEnabled && this.hasBreasts)
this.fillBreasts(this);
- if (this.arousalEnabled)
- this.quenchExcess(this);
+
+ this.quenchExcess(this);
+
if (this.gasEnabled)
this.fillGas(this);
if (this.pissEnabled)
@@ -1381,7 +1385,6 @@ let macro =
return;
if (this.orgasm) {
- this.quench(10);
setTimeout(function() { self.nullOrgasm(self); }, 2000);
}
},
@@ -3325,7 +3328,7 @@ function bladder_vore() {
let sound = getSound("insert",preyMass);
- add_victim_people("bladder_vore",prey);
+ add_victim_people("bladder-vore",prey);
macro.bladder.feed(prey);
@@ -4127,10 +4130,9 @@ function add_victim_people(category, prey) {
update();
}
-function enable_victim(category, name) {
+function enable_victim(category) {
victims[category] = {};
victims[category]["people"] = 0;
- victims[category]["name"] = name;
}
function enable_button(name) {
@@ -4316,7 +4318,7 @@ function startGame(e) {
}
if (macro.arousalEnabled) {
- enable_victim("cum-flood","Flooded by cum");
+ enable_victim("cum-flood",describe("victim-cum-flood", null, macro, null));
if (macro.maleMuskEnabled) {
enable_victim("male-spurt-musk","Inundated in masculine precum musk");
@@ -4458,7 +4460,7 @@ function startGame(e) {
if (macro.bladderVore) {
enable_button("bladder_vore");
- enable_victim("bladder_vore","Dissolved into piss");
+ enable_victim("bladder-vore","Dissolved into piss");
if (macro.bladderDigestTime == 0) {
enable_button("digest_bladder");
@@ -4605,7 +4607,7 @@ function showStats() {
let total = 0;
for (var key in victims) {
if (victims.hasOwnProperty(key)) {
- lines.push(victims[key]["name"] + ": " + victims[key]["people"]);
+ lines.push(victims[key]["people"] + " " + describe("victim-" + key, null, macro, false));
total += victims[key]["people"];
}
}
diff --git a/presets.js b/presets.js
index af370af..8b5eebe 100644
--- a/presets.js
+++ b/presets.js
@@ -1017,5 +1017,6 @@ let presets = [{
"pawDigestTime": 15
},
{"name":"Famis","species":"crux","scale":155,"baseHeight":1.52,"baseMass":135,"basePawArea":0.1,"baseHandArea":0.1,"baseAssArea":0.25,"difficulty":"1","brutality":"1","victimsHuman":true,"victimsMilitary":true,"victimsMacros":true,"victimsMicros":true,"sameSizeVore":true,"sameSizeStomp":true,"oralDigestTime":30,"vomitEnabled":false,"footType":"paw","jawType":"jaw","footWear":true,"footSockEnabled":false,"footSock":"sock","footShoeEnabled":false,"footShoe":"shoe","analVore":true,"baseAnalVoreDiameter":0.1,"analVoreToStomach":true,"analDigestTime":30,"arousalEnabled":true,"arousalFactor":1,"hasTail":true,"tailCount":1,"tailType":"slinky","baseTailLength":1,"baseTailDiameter":0.3,"tailMaw":true,"tailStretchiness":50,"tailDigestTime":15,"tailVoreToStomach":true,"hasPouch":false,"maleParts":true,"dickType":"canine","baseDickLength":0.3,"baseDickDiameter":0.08,"dickStretchiness":15,"baseBallDiameter":0.05,"baseCumRatio":1,"cumScale":1,"cumStorageScale":1,"baseCumDigestFactor":1,"cockDigestTime":45,"hasSheath":true,"cumScaleWithSize":true,"maleMuskEnabled":true,"baseMaleMuskArea":5,"hasBreasts":false,"baseBreastDiameter":0.1,"lactationEnabled":false,"lactationFactor":0.25,"lactationScale":1,"milkStorageScale":1,"breastVore":false,"breastStretchiness":1,"baseMilkDigestFactor":1,"breastDigestTime":15,"milkScaleWithSize":false,"femaleParts":false,"baseVaginaLength":0.1,"baseVaginaWidth":0.05,"vaginaStretchiness":1,"baseFemcumRatio":1,"femcumScale":1,"femcumStorageScale":1,"baseFemcumDigestFactor":1,"unbirthDigestTime":15,"femcumScaleWithSize":false,"femaleMuskEnabled":false,"baseFemaleMuskArea":0.5,"stenchEnabled":true,"basePawStenchArea":4,"baseAssStenchArea":0,"basePissStenchArea":0,"baseScatStenchArea":0,"gasEnabled":false,"belchEnabled":false,"fartEnabled":false,"gasScale":1,"gasStorageScale":1,"baseGasDigestFactor":1,"gasScaleWithSize":false,"soulVoreEnabled":true,"soulDigestTime":60,"soulVoreType":"body","pissEnabled":false,"pissScale":1,"pissStorageScale":1,"bladderVore":false,"baseUrethraDiameter":0.03,"urethraStretchiness":5,"basePissDigestFactor":1,"bladderDigestTime":15,"pissScaleWithSize":false,"scatEnabled":false,"baseScatDigestFactor":1,"scatScale":0,"scatStorageScale":1,"scatScaleWithSize":false,"gooEnabled":true,"gooDigestion":true,"gooDigestTime":20,"pawVoreEnabled":true,"pawDigestTime":45,"cropEnabled":false,"cropTransferTime":15,"breathEnabled":false,"breathFire":false,"breathIce":false,"breathElectric":false,"breathSmoke":false,"breathRadiation":false,"breathFoul":false,"droolEnabled":true,"droolBaseVolume":0.0001},
- {"name":"Kassy","species":"Ram","scale":1,"baseHeight":1.7,"baseMass":90,"basePawArea":0.1,"baseHandArea":0.1,"baseAssArea":0.25,"difficulty":"0","brutality":"3","victimsHuman":false,"victimsMilitary":true,"victimsMacros":true,"victimsMicros":true,"sameSizeVore":true,"sameSizeStomp":true,"oralDigestTime":25,"vomitEnabled":false,"footType":"foot","jawType":"jaw","footWear":true,"footSockEnabled":false,"footSock":"sock","footShoeEnabled":true,"footShoe":"sandal","analVore":true,"baseAnalVoreDiameter":0.1,"analVoreToStomach":false,"analDigestTime":20,"arousalEnabled":true,"arousalFactor":1,"hasTail":true,"tailCount":1,"tailType":"Wooly","baseTailLength":0.1,"baseTailDiameter":0.3,"tailMaw":false,"tailStretchiness":1,"tailDigestTime":15,"tailVoreToStomach":true,"hasPouch":false,"maleParts":true,"dickType":"Human","baseDickLength":0.3,"baseDickDiameter":0.08,"dickStretchiness":1,"baseBallDiameter":0.05,"baseCumRatio":1,"cumScale":1,"cumStorageScale":1,"baseCumDigestFactor":1,"cockDigestTime":15,"hasSheath":false,"cumScaleWithSize":true,"maleMuskEnabled":true,"baseMaleMuskArea":0.1,"hasBreasts":false,"baseBreastDiameter":0.1,"lactationEnabled":false,"lactationFactor":0.25,"lactationScale":1,"milkStorageScale":1,"breastVore":false,"breastStretchiness":1,"baseMilkDigestFactor":1,"breastDigestTime":15,"milkScaleWithSize":false,"femaleParts":false,"baseVaginaLength":0.1,"baseVaginaWidth":0.05,"vaginaStretchiness":1,"baseFemcumRatio":1,"femcumScale":1,"femcumStorageScale":1,"baseFemcumDigestFactor":1,"unbirthDigestTime":15,"femcumScaleWithSize":false,"femaleMuskEnabled":false,"baseFemaleMuskArea":0.5,"stenchEnabled":false,"basePawStenchArea":1,"baseAssStenchArea":2,"basePissStenchArea":0.75,"baseScatStenchArea":1.5,"gasEnabled":true,"belchEnabled":true,"fartEnabled":false,"gasScale":1,"gasStorageScale":1,"baseGasDigestFactor":1,"gasScaleWithSize":true,"soulVoreEnabled":false,"soulDigestTime":15,"soulVoreType":"release","pissEnabled":false,"pissScale":1,"pissStorageScale":1,"bladderVore":false,"baseUrethraDiameter":0.03,"urethraStretchiness":5,"basePissDigestFactor":1,"bladderDigestTime":15,"pissScaleWithSize":false,"scatEnabled":false,"baseScatDigestFactor":1,"scatScale":0,"scatStorageScale":1,"scatScaleWithSize":false,"gooEnabled":false,"gooDigestion":true,"gooDigestTime":15,"pawVoreEnabled":false,"pawDigestTime":15,"cropEnabled":false,"cropTransferTime":15,"breathEnabled":false,"breathFire":false,"breathIce":false,"breathElectric":false,"breathSmoke":false,"breathRadiation":false,"breathFoul":false,"droolEnabled":true,"droolBaseVolume":0.00001}
+ {"name":"Kassy","species":"Ram","scale":1,"baseHeight":1.7,"baseMass":90,"basePawArea":0.1,"baseHandArea":0.1,"baseAssArea":0.25,"difficulty":"0","brutality":"3","victimsHuman":false,"victimsMilitary":true,"victimsMacros":true,"victimsMicros":true,"sameSizeVore":true,"sameSizeStomp":true,"oralDigestTime":25,"vomitEnabled":false,"footType":"foot","jawType":"jaw","footWear":true,"footSockEnabled":false,"footSock":"sock","footShoeEnabled":true,"footShoe":"sandal","analVore":true,"baseAnalVoreDiameter":0.1,"analVoreToStomach":false,"analDigestTime":20,"arousalEnabled":true,"arousalFactor":1,"hasTail":true,"tailCount":1,"tailType":"Wooly","baseTailLength":0.1,"baseTailDiameter":0.3,"tailMaw":false,"tailStretchiness":1,"tailDigestTime":15,"tailVoreToStomach":true,"hasPouch":false,"maleParts":true,"dickType":"Human","baseDickLength":0.3,"baseDickDiameter":0.08,"dickStretchiness":1,"baseBallDiameter":0.05,"baseCumRatio":1,"cumScale":1,"cumStorageScale":1,"baseCumDigestFactor":1,"cockDigestTime":15,"hasSheath":false,"cumScaleWithSize":true,"maleMuskEnabled":true,"baseMaleMuskArea":0.1,"hasBreasts":false,"baseBreastDiameter":0.1,"lactationEnabled":false,"lactationFactor":0.25,"lactationScale":1,"milkStorageScale":1,"breastVore":false,"breastStretchiness":1,"baseMilkDigestFactor":1,"breastDigestTime":15,"milkScaleWithSize":false,"femaleParts":false,"baseVaginaLength":0.1,"baseVaginaWidth":0.05,"vaginaStretchiness":1,"baseFemcumRatio":1,"femcumScale":1,"femcumStorageScale":1,"baseFemcumDigestFactor":1,"unbirthDigestTime":15,"femcumScaleWithSize":false,"femaleMuskEnabled":false,"baseFemaleMuskArea":0.5,"stenchEnabled":false,"basePawStenchArea":1,"baseAssStenchArea":2,"basePissStenchArea":0.75,"baseScatStenchArea":1.5,"gasEnabled":true,"belchEnabled":true,"fartEnabled":false,"gasScale":1,"gasStorageScale":1,"baseGasDigestFactor":1,"gasScaleWithSize":true,"soulVoreEnabled":false,"soulDigestTime":15,"soulVoreType":"release","pissEnabled":false,"pissScale":1,"pissStorageScale":1,"bladderVore":false,"baseUrethraDiameter":0.03,"urethraStretchiness":5,"basePissDigestFactor":1,"bladderDigestTime":15,"pissScaleWithSize":false,"scatEnabled":false,"baseScatDigestFactor":1,"scatScale":0,"scatStorageScale":1,"scatScaleWithSize":false,"gooEnabled":false,"gooDigestion":true,"gooDigestTime":15,"pawVoreEnabled":false,"pawDigestTime":15,"cropEnabled":false,"cropTransferTime":15,"breathEnabled":false,"breathFire":false,"breathIce":false,"breathElectric":false,"breathSmoke":false,"breathRadiation":false,"breathFoul":false,"droolEnabled":true,"droolBaseVolume":0.00001},
+ {"name":"Elijah","species":"Blue Jay","scale":1,"baseHeight":1.77,"baseMass":63,"basePawArea":0.031,"baseHandArea":0.023,"baseAssArea":0.15,"difficulty":"0","brutality":"3","victimsHuman":true,"victimsMilitary":false,"victimsMacros":false,"victimsMicros":false,"sameSizeVore":true,"sameSizeStomp":true,"oralDigestTime":15,"vomitEnabled":false,"footType":"avian","jawType":"beak","footWear":true,"footSockEnabled":false,"footSock":"sock","footShoeEnabled":true,"footShoe":"sandal","analVore":true,"baseAnalVoreDiameter":0.08,"analVoreToStomach":false,"analDigestTime":15,"arousalEnabled":true,"arousalFactor":1,"edgeFactor":3,"hasTail":true,"tailCount":1,"tailType":"Feathered","baseTailLength":0.8,"baseTailDiameter":0.2,"tailMaw":false,"tailStretchiness":1,"tailDigestTime":15,"tailVoreToStomach":true,"hasPouch":false,"maleParts":true,"dickType":"Avian","baseDickLength":0.18,"baseDickDiameter":0.08,"dickStretchiness":1,"baseBallDiameter":0.05,"baseCumRatio":1,"cumScale":1,"cumStorageScale":1,"baseCumDigestFactor":1,"cockDigestTime":20,"hasSheath":true,"cumScaleWithSize":true,"maleMuskEnabled":false,"baseMaleMuskArea":0.5,"hasBreasts":false,"baseBreastDiameter":0.1,"lactationEnabled":false,"lactationFactor":0.25,"lactationScale":1,"milkStorageScale":1,"breastVore":false,"breastStretchiness":1,"baseMilkDigestFactor":1,"breastDigestTime":15,"milkScaleWithSize":false,"femaleParts":false,"baseVaginaLength":0.1,"baseVaginaWidth":0.05,"vaginaStretchiness":1,"baseFemcumRatio":1,"femcumScale":1,"femcumStorageScale":1,"baseFemcumDigestFactor":1,"unbirthDigestTime":15,"femcumScaleWithSize":false,"femaleMuskEnabled":false,"baseFemaleMuskArea":0.5,"stenchEnabled":false,"basePawStenchArea":1,"baseAssStenchArea":2,"basePissStenchArea":0.75,"baseScatStenchArea":1.5,"gasEnabled":false,"belchEnabled":true,"fartEnabled":false,"gasScale":1,"gasStorageScale":1,"baseGasDigestFactor":1,"gasScaleWithSize":false,"soulVoreEnabled":false,"soulDigestTime":15,"soulVoreType":"release","pissEnabled":false,"pissScale":1,"pissStorageScale":1,"bladderVore":false,"baseUrethraDiameter":0.03,"urethraStretchiness":5,"basePissDigestFactor":1,"bladderDigestTime":15,"pissScaleWithSize":false,"scatEnabled":false,"baseScatDigestFactor":1,"scatScale":0,"scatStorageScale":1,"scatScaleWithSize":false,"gooEnabled":false,"gooDigestion":true,"gooDigestTime":15,"pawVoreEnabled":false,"pawDigestTime":15,"cropEnabled":true,"cropTransferTime":30,"breathEnabled":false,"breathFire":false,"breathIce":false,"breathElectric":false,"breathSmoke":false,"breathRadiation":false,"breathFoul":false,"droolEnabled":false,"droolBaseVolume":0.0001,"magicEnabled":false}
];
diff --git a/recursive-desc.js b/recursive-desc.js
index 1014186..6984272 100644
--- a/recursive-desc.js
+++ b/recursive-desc.js
@@ -20,7 +20,7 @@ function getDefault(name) {
return window[funcName];
}
-var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","anal-vore","ass-crush","ass-grind","tail-slap","tail-vore","tails-vore",
+var action_keys = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","anal-vore","ass-crush","ass-grind","tail-slap","tail-vore","tails-vore",
"cleavage-stuff","cleavage-crush","cleavage-drop","cleavage-absorb","breast-crush",
"breast-vore","breast-milk","unbirth","sheath-stuff","sheath-clench","sheath-crush",
"sheath-absorb","cock-vore","cockslap","ball-smother","male-spurt","male-orgasm","female-spurt",
@@ -33,8 +33,14 @@ var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","an
"goo-tail-pull","goo-tail-push","goo-paws-pull","goo-paws-push","paw-vore","paw-vore-toes","paws","crop-swallow","crop-transfer",
"breath-fire","breath-ice","breath-electric","breath-smoke","breath-radiation","breath-foul","drool","magic-shrink","magic-hypnotize"];
-for (let i=0; i
Leave a box empty for a sane default value
Lengths in meters, areas in square meters, masses in kilograms, times in seconds
(but you can preview the customary value)
-Click on highlight/darkened titles to enable and disable features.
+Click on boxed titles to enable and disable features.
+