From 80b883a694fff08679224d0f6bd8087d01794946 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Fri, 25 May 2018 19:31:16 -0400 Subject: [PATCH] Added puking and goo pull/push --- game.js | 58 +++++++++++++++++++++++++++++++++++++++++++++-- recursive-desc.js | 26 +++++++++++++++++++-- sounds.js | 4 +++- stroll.html | 9 ++++++-- 4 files changed, 90 insertions(+), 7 deletions(-) diff --git a/game.js b/game.js index 490604d..148a985 100644 --- a/game.js +++ b/game.js @@ -2955,8 +2955,8 @@ function setButton(button, state) { function gooButtons(molten) { setButton("melt", !molten); setButton("solidify", molten); - setButton("push-stomach", molten); - setButton("pull-stomach", molten); + setButton("goo_stomach_pull", molten); + setButton("goo_stomach_push", molten); } function melt() @@ -2999,6 +2999,55 @@ function solidify() } } +function vomit() { + let prey = new Container(); + + for (let i = 0; i < macro.stomach.contents.length; i++) { + prey = prey.merge(macro.stomach.contents[i]); + macro.stomach.contents[i] = new Container(); + } + + let line = describe("vomit", prey, macro, verbose); + let linesummary = summarize(prey.sum(), true); + let preyMass = prey.sum_property("mass"); + let sound = getSound("vomit", preyMass); + + update([sound, line, linesummary, newline]); + add_victim_people("vomit", prey); +} + +function move_prey(from, to) { + let prey = new Container(); + + for (let i = 0; i < from.contents.length; i++) { + prey = prey.merge(from.contents[i]); + from.contents[i] = new Container(); + } + + to.feed(prey); + + return prey; +} + +function goo_stomach_pull() { + let prey = move_prey(macro.stomach, macro.goo); + let line = describe("goo-stomach-pull", prey, macro, verbose); + let linesummary = summarize(prey.sum(), false); + let preyMass = prey.sum_property("mass"); + let sound = getSound("goo", preyMass); + + update([sound, line, linesummary, newline]); +} + +function goo_stomach_push() { + let prey = move_prey(macro.goo, macro.stomach); + let line = describe("goo-stomach-push", prey, macro, verbose); + let linesummary = summarize(prey.sum(), false); + let preyMass = prey.sum_property("mass"); + let sound = getSound("goo", preyMass); + + update([sound, line, linesummary, newline]); +} function transformNumbers(line) { @@ -3356,6 +3405,11 @@ function startGame(e) { enable_button("feed"); enable_button("stomp"); + if (macro.vomitEnabled) { + enable_button("vomit"); + enable_victim("vomit"); + } + if (macro.footType != "hoof") enable_button("flex_toes"); diff --git a/recursive-desc.js b/recursive-desc.js index e569f16..e5e8aaa 100644 --- a/recursive-desc.js +++ b/recursive-desc.js @@ -16,14 +16,14 @@ function getDefault(name) { return window[funcName]; } -var actions = ["eat","chew","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", "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", "female-orgasm","grind","pouch-stuff","pouch-rub","pouch-eat","pouch-absorb","soul-vore","soul-absorb-paw", "paw-stench","ass-stench","belch","fart","stomach","womb","balls","bowels","bowels-to-stomach","breasts","bladder","soul-digest", "wear-shoe","remove-shoe","wear-sock","remove-sock","stuff-shoe","dump-shoe","stuff-sock","dump-sock","piss","bladder-vore","scat", -"sheath-toy","slit-toy","breast-toy","melt","solidify","stomp-goo","goo-digest","ass-goo"]; +"sheath-toy","slit-toy","breast-toy","melt","solidify","stomp-goo","goo-digest","ass-goo","goo-stomach-pull","goo-stomach-push"]; for (let i=0; i + @@ -298,8 +299,8 @@
- - + +
@@ -478,6 +479,10 @@ +
  • + + +