Sfoglia il codice sorgente

Added puking and goo pull/push

tags/v0.7.0
Fen Dweller 7 anni fa
parent
commit
80b883a694
4 ha cambiato i file con 90 aggiunte e 7 eliminazioni
  1. +56
    -2
      game.js
  2. +24
    -2
      recursive-desc.js
  3. +3
    -1
      sounds.js
  4. +7
    -2
      stroll.html

+ 56
- 2
game.js Vedi File

@@ -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");



+ 24
- 2
recursive-desc.js Vedi File

@@ -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<actions.length; i++) {
rules[actions[i]] = [];
@@ -140,6 +140,20 @@ function defaultChew(container, macro, verbose) {
}
}

function defaultVomit(container, macro, verbose) {
if (container.count == 0) {
return "You retch, but nothing happens.";
} else if (isSadistic(macro)) {
return "You gag and lean over, vomiting up " + container.describe(false) + ". A thick, hissing slurry of molten meat and acid drenches your still-writhing prey, searing flesh and ensuring their wretched, rancid deaths.";
} else if (isGory(macro)) {
return "You retch and vomit up " + container.describe(false) + ", spewing them out amidst a thick slurry of chyme and leaving them to melt.";
} else if (isFatal(macro)) {
return "You vomit up " + container.describe(false) + ", leaving them to stew in your stomach juices.";
} else {
return "You hack up " + container.describe(false) + ".";
}
}

function defaultStomp(container, macro, verbose) {
if (container.count == 0)
return "Your " + macro.footDesc() + " thumps the ground.";
@@ -784,6 +798,14 @@ function defaultGooDigest(container, macro, verbose) {
return "Your goopy depths dissolve " + container.describe(false) + ".";
}

function defaultGooStomachPull(container, macro, verbose) {
return "Your molten depths squeeze in around the " + container.describe(false) + " imprisoned in your stomach, drawing them into the viscous goo.";
}

function defaultGooStomachPush(container, macro, verobse) {
return "Your churning goo herds " + container.describe(false) + " into your churning stomach.";
}

// EATING

rules["eat"].push({


+ 3
- 1
sounds.js Vedi File

@@ -12,7 +12,9 @@ let sounds = {
"digest":
["Grrgle.","Grrrrgle","Grrrrlglorp.","GrrrrGLRRRLPH!","GRRRRRLGPRLHK!"],
"goo":
["Splat.", "Squish.", "Squish!", "SQLCH!", "SQLLLLRCH!", "SQQQQUEEEEELLCH!"]
["Splat.", "Squish.", "Squish!", "SQLCH!", "SQLLLLRCH!", "SQQQQUEEEEELLCH!"],
"vomit":
["Hurk.", "Hurrk.", "Bleugh.", "Bleugh!", "Bleeeugh!", "BLEEEUGHK!"]
};

function pickByMass(list, mass) {


+ 7
- 2
stroll.html Vedi File

@@ -230,6 +230,7 @@
<div class="action-tab" id="actions-body">
<button class="action-button" id="button-action-feed">Eat</button>
<button class="action-button" id="button-action-chew">Chew</button>
<button class="action-button" id="button-action-vomit">Vomit</button>
<button class="action-button" id="button-action-stomp">Stomp</button>
<button class="action-button" id="button-action-flex_toes">Flex Toes</button>
<button class="action-button" id="button-action-sit">Sit</button>
@@ -298,8 +299,8 @@
<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-push-stomach">Push to Stomach</button>
<button class="action-button" id="button-action-pull-stomach">Pull from Stomach</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>
</div>

<div class="action-tab" id="actions-misc">
@@ -478,6 +479,10 @@
<input autocomplete="off" type="checkbox" checked="true" name="sameSizeStomp" id="sameSizeStomp"/>
<label class="has-tooltip" for="sameSizeStomp" title="Can you stomp and sit on people your own size?">Same-size stomper</label>
</li>
<li>
<input autocomplete="off" type="checkbox" name="vomitEnabled" id="vomitEnabled"/>
<label for="vomitEnabled">Vomiting</label>
</li>
<li>
<label for="footType">Foot type</label>
<select name="footType">


Loading…
Annulla
Salva