| @@ -3240,6 +3240,7 @@ function setButton(button, state) { | |||
| function gooButtons(molten) { | |||
| setButton("melt", !molten); | |||
| setButton("solidify", molten); | |||
| setButton("flood", molten); | |||
| setButton("goo_stomach_pull", molten); | |||
| setButton("goo_stomach_push", molten); | |||
| @@ -3258,6 +3259,21 @@ function gooButtons(molten) { | |||
| setButton("goo_balls_push", molten); | |||
| } | |||
| if (macro.hasBreasts) { | |||
| setButton("goo_breasts_pull", molten); | |||
| setButton("goo_breasts_push", molten); | |||
| } | |||
| if (macro.pawVoreEnabled) { | |||
| setButton("goo_paws_pull", molten); | |||
| setButton("goo_paws_push", molten); | |||
| } | |||
| if (macro.hasTail) { | |||
| setButton("goo_tail_pull", molten); | |||
| setButton("goo_tail_push", molten); | |||
| } | |||
| if (macro.gooDigestTime == 0) { | |||
| setButton("digest_goo", molten); | |||
| } | |||
| @@ -3289,6 +3305,26 @@ function melt() | |||
| update([line, newline]); | |||
| } | |||
| function flood() | |||
| { | |||
| let area = Math.pow(macro.totalMass / 1000, 2/3); | |||
| let prey = getPrey(biome, area, macro.sameSizeStomp); | |||
| let line = describe("flood", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), false); | |||
| let people = get_living_prey(prey.sum()); | |||
| let preyMass = prey.sum_property("mass"); | |||
| let sound = getSound("goo",preyMass); | |||
| macro.goo.feed(prey); | |||
| update([sound,line,linesummary,newline]); | |||
| macro.arouse(5); | |||
| } | |||
| function solidify() | |||
| { | |||
| macro.gooMolten = false; | |||
| @@ -3392,6 +3428,30 @@ function goo_balls_push() { | |||
| return goo_move_prey(macro.goo, macro.balls, "goo-balls-push"); | |||
| } | |||
| function goo_breasts_pull() { | |||
| return goo_move_prey(macro.breasts, macro.goo, "goo-breasts-pull"); | |||
| } | |||
| function goo_breasts_push() { | |||
| return goo_move_prey(macro.goo, macro.breasts, "goo-breasts-push"); | |||
| } | |||
| function goo_tail_pull() { | |||
| return goo_move_prey(macro.tail, macro.goo, "goo-tail-pull"); | |||
| } | |||
| function goo_tail_push() { | |||
| return goo_move_prey(macro.goo, macro.tail, "goo-tail-push"); | |||
| } | |||
| function goo_paws_pull() { | |||
| return goo_move_prey(macro.pawsVore, macro.goo, "goo-paws-pull"); | |||
| } | |||
| function goo_paws_push() { | |||
| return goo_move_prey(macro.goo, macro.pawsVore, "goo-paws-push"); | |||
| } | |||
| function paw_vore() | |||
| { | |||
| let prey = new Container(); | |||
| @@ -4082,7 +4142,6 @@ function startGame(e) { | |||
| if (macro.gooDigestion) { | |||
| enable_victim("goo","Absorbed into the goo"); | |||
| } | |||
| } | |||
| @@ -27,8 +27,9 @@ var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","an | |||
| "female-orgasm","grind","pouch-stuff","pouch-rub","pouch-eat","pouch-absorb","soul-vore","soul-absorb-paw", | |||
| "paw-stench","ass-stench","piss-stench","scat-stench","belch","fart","stomach","tail","tail-to-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","goo-stomach-pull","goo-stomach-push", | |||
| "goo-bowels-pull","goo-bowels-push","goo-womb-pull","goo-womb-push","goo-balls-pull","goo-balls-push","paw-vore","paw-vore-toes","paws"]; | |||
| "sheath-toy","slit-toy","breast-toy","melt","solidify","flood","stomp-goo","goo-digest","ass-goo","goo-stomach-pull","goo-stomach-push", | |||
| "goo-bowels-pull","goo-bowels-push","goo-womb-pull","goo-womb-push","goo-balls-pull","goo-balls-push","goo-breasts-pull","goo-breasts-push", | |||
| "goo-tail-pull","goo-tail-push","goo-paws-pull","goo-paws-push","paw-vore","paw-vore-toes","paws"]; | |||
| for (let i=0; i<actions.length; i++) { | |||
| rules[actions[i]] = []; | |||
| @@ -828,6 +829,14 @@ function defaultSolidify(container, macro, verbose) { | |||
| } | |||
| } | |||
| function defaultFlood(container, macro, verbose) { | |||
| if (container.count == 0) { | |||
| return "Your gooey body melts and floods outward..but doesn't catch anything."; | |||
| } else { | |||
| return "Your gooey body melts and floods outward, burying " + container.describe(verbose) + " in your thick, slimy self. You slowly reform, grinning as you feel the " + numberRough(container.count, "of") + " prey sloshing about within."; | |||
| } | |||
| } | |||
| function defaultStompGoo(container, macro, verbose) { | |||
| if (container.count == 0) { | |||
| return "Your gooey paw hits the ground."; | |||
| @@ -880,6 +889,30 @@ function defaultGooBallsPush(container, macro, verobse) { | |||
| return "Your churning goo herds " + container.describe(false) + " into your musky balls."; | |||
| } | |||
| function defaultGooBreastsPull(container, macro, verbose) { | |||
| return "Your molten depths squeeze in around the " + container.describe(false) + " imprisoned in your breasts, drawing them into the viscous goo."; | |||
| } | |||
| function defaultGooBreastsPush(container, macro, verobse) { | |||
| return "Your churning goo herds " + container.describe(false) + " into your breasts."; | |||
| } | |||
| function defaultGooTailPull(container, macro, verbose) { | |||
| return "Your molten depths squeeze in around the " + container.describe(false) + " imprisoned in your " + macro.tailDesc + ", drawing them into the viscous goo."; | |||
| } | |||
| function defaultGooTailPush(container, macro, verobse) { | |||
| return "Your churning goo herds " + container.describe(false) + " into your " + macro.tailDesc; | |||
| } | |||
| function defaultGooPawsPull(container, macro, verbose) { | |||
| return "Your molten depths squeeze in around the " + container.describe(false) + " imprisoned in your " + macro.footOnlyDesc(true) + ", drawing them into the viscous goo."; | |||
| } | |||
| function defaultGooPawsPush(container, macro, verobse) { | |||
| return "Your churning goo herds " + container.describe(false) + " into your " + macro.footOnlyDesc(true) + "."; | |||
| } | |||
| function defaultPawVore(container, macro, verbose) { | |||
| return "Your " + macro.footOnlyDesc(true) + " smother over " + container.describe(false) + ", absorbing them into your soles!"; | |||
| } | |||
| @@ -296,6 +296,7 @@ | |||
| <div class="action-tab" id="actions-goo"> | |||
| <button class="action-button" id="button-action-solidify">Solidify</button> | |||
| <button class="action-button" id="button-action-melt">Melt</button> | |||
| <button class="action-button" id="button-action-flood">Flood</button> | |||
| <button class="action-button" id="button-action-goo_stomach_push">Push to Stomach</button> | |||
| <button class="action-button" id="button-action-goo_stomach_pull">Pull from Stomach</button> | |||
| <button class="action-button" id="button-action-goo_bowels_push">Push to Bowels</button> | |||
| @@ -304,6 +305,12 @@ | |||
| <button class="action-button" id="button-action-goo_womb_pull">Pull from Womb</button> | |||
| <button class="action-button" id="button-action-goo_balls_push">Push to Balls</button> | |||
| <button class="action-button" id="button-action-goo_balls_pull">Pull from Balls</button> | |||
| <button class="action-button" id="button-action-goo_breasts_push">Push to Breasts</button> | |||
| <button class="action-button" id="button-action-goo_breasts_pull">Pull from Breasts</button> | |||
| <button class="action-button" id="button-action-goo_tail_push">Push to Tails</button> | |||
| <button class="action-button" id="button-action-goo_tail_pull">Pull from Tails</button> | |||
| <button class="action-button" id="button-action-goo_paws_push">Push to Paws</button> | |||
| <button class="action-button" id="button-action-goo_paws_pull">Pull from Paws</button> | |||
| <button class="action-button" id="button-action-digest_goo">Digest</button> | |||
| </div> | |||