diff --git a/game.js b/game.js index f852ea9..5c13ae3 100644 --- a/game.js +++ b/game.js @@ -21,10 +21,12 @@ let strolling = false; let unit = "metric"; -let numbers = "full"; +let numbers = "words"; let verbose = true; +let autoVerbose = true; + let biome = "city"; let newline = " "; @@ -1052,7 +1054,7 @@ let macro = if (self.cumStorage.amount > self.cumStorage.limit) self.arouse(1 * (self.cumStorage.amount / self.cumStorage.limit - 1)); setTimeout(function () { self.fillCum(self); }, 100); - update(); + `update`(); }, "fillFemcum": function(self) { @@ -2796,14 +2798,35 @@ function tail_vore(count) { let lines = []; let totalPrey = new Container(); - for (let i=0; i 0) + if (lines.length > 0) { log.scrollTop = log.scrollHeight; + let deltaHeight = log.scrollHeight - oldHeight; + + if (deltaHeight / window.innerHeight >= 0.2 && verbose && autoVerbose) { + update(["Switching to simple text!", newline]); + autoVerbose = false; + toggle_verbose(); + } + } + + + document.getElementById("height").innerHTML = "Height: " + transformNumbers(length(macro.height, unit)); document.getElementById("mass").innerHTML = "Mass: " + transformNumbers(mass(macro.totalMass, unit)); diff --git a/recursive-desc.js b/recursive-desc.js index 9b866d0..e2db037 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","tail-slap","tail-vore", +var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","anal-vore","ass-crush","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", @@ -255,6 +255,17 @@ function defaultTailVore(container, macro, verbose) { ". It scarfs down everything in a second, gulping forcefully and pulling your prey inside."; } +function defaultTailsVore(container, macro, verbose) { + if (container.count == 0) + return "Your drooling tails swing to and fro"; + else if (isFatal(macro)) + return "Your $COUNT tails lunge, maws agape, at " + container.describe(verbose) + + ". They scarf down everything in seconds, gulping forcefully to drag your prey into your sloppy confines."; + else + return "Your $COUNT tails lunge, maws agape, at " + container.describe(verbose) + + ". They scarf down your prey, gulping forcefully and pulling them deep inside."; +} + function defaultCleavageStuff(container, macro, verbose) { if (container.count == 0) return "You can't fit anything into your cleavage right now."; diff --git a/recursive-macro.js b/recursive-macro.js index d78d89a..1f11d37 100644 --- a/recursive-macro.js +++ b/recursive-macro.js @@ -384,6 +384,18 @@ function distribution(min, max, samples) { return result; } +function defaultMultiply(thing) { + return function(amount) { + thing.count *= amount; + for (var key in thing.contents) { + if (thing.contents.hasOwnProperty(key)) { + thing.contents[key].multiply(amount); + } + } + }; + +} + function defaultArea(thing) { return areas[thing.name]; } @@ -429,6 +441,7 @@ function listSum(sum) { return merge_things(result); } + function defaultSum(thing) { return function() { var counts = {}; @@ -486,6 +499,7 @@ function DefaultEntity() { this.mass = defaultMass; this.sum_property = defaultSumProperty; this.merge = defaultMerge; + this.multiply = defaultMultiply; return this; } diff --git a/stroll.html b/stroll.html index e49906a..bfab539 100644 --- a/stroll.html +++ b/stroll.html @@ -324,7 +324,7 @@
- +