Bladeren bron

Slapped goo together, and fixed some typos

tags/v0.7.0
Fen Dweller 7 jaren geleden
bovenliggende
commit
c981102152
4 gewijzigde bestanden met toevoegingen van 149 en 15 verwijderingen
  1. +114
    -9
      game.js
  2. +23
    -4
      recursive-desc.js
  3. +2
    -0
      sounds.js
  4. +10
    -2
      stroll.html

+ 114
- 9
game.js Bestand weergeven

@@ -787,14 +787,21 @@ let macro =

"gooEnabled": true,
"gooMolten": false,
"gooDigestion": true,

"goo": {
"name" : "goo",
"setup": function(owner) {
this.owner = owner;

for (let i = 0; i < this.stages; i++)
this.contents.push(new Container());
owner.digest(owner,this);

if (owner.gooDigestion) {
owner.digest(owner,this);
}


},
"feed": function(prey) {
this.feedFunc(prey,this,this.owner);
@@ -803,7 +810,8 @@ let macro =
this.contents[0] = this.contents[0].merge(prey);
},
"describeDigestion": function(container) {
return describe("goo",container,this.owner,verbose);
add_victim_people("goo", container);
return describe("goo-digest",container,this.owner,verbose);
},
"fill": function(owner,container) {

@@ -817,7 +825,7 @@ let macro =
if (prey.count == 0) {
return "You contain no prey.";
} else {
if (macro.gooDigestion > 0) {
if (macro.gooDigestion) {
return "Your gooey body contains " + prey.describe(false) + ", gradually absorbing them into your bulk.";
} else {
return "Your gooey body contains " + prey.describe(false) + ".";
@@ -928,6 +936,7 @@ let macro =
this.breasts.setup(this);
this.bladder.setup(this);
this.souls.setup(this);
this.goo.setup(this);
this.cumStorage.owner = this;
this.femcumStorage.owner = this;
this.milkStorage.owner = this;
@@ -1358,6 +1367,10 @@ let macro =

result.push(line);

if (this.gooMolten) {
result.push(this.goo.description);
}

return result;
},

@@ -1530,11 +1543,11 @@ function summarize(sum, fatal = true)
let word;
let count = get_living_prey(sum);
if (fatal && macro.brutality > 0)
word = count == 1 ? "kills" : "kill";
word = count != 1 ? "kills" : "kill";
else if (!fatal && macro.brutality > 0)
word = "prey";
else
word = count == 1 ? "victims" : "victim";
word = count != 1 ? "victims" : "victim";

return "<b>(" + count + " " + word + ")</b>";
}
@@ -1713,10 +1726,15 @@ function chew()

function stomp()
{
if (macro.gooMolten) {
stomp_goo();
return;
}

let area = macro.pawArea;
let prey = getPrey(biome, area, macro.sameSizeStomp);
let line = describe("stomp", prey, macro, verbose);
let linesummary = summarize(prey.sum(), true);
let linesummary = summarize(prey.sum(), false);

let people = get_living_prey(prey.sum());

@@ -1773,6 +1791,31 @@ function stomp_wedge() {
update([sound,line,linesummary,newline]);
}

function stomp_goo() {
let area = macro.pawArea;
let prey = getPrey(biome, area, macro.sameSizeStomp);
let line = describe("stomp-goo", prey, macro, verbose);
let linesummary = summarize(prey.sum(), true);

let people = get_living_prey(prey.sum());

let preyMass = prey.sum_property("mass");

let sound = getSound("goo",preyMass);

macro.addGrowthPoints(preyMass);

macro.goo.feed(prey);

update([sound,line,linesummary,newline]);

macro.arouse(5);

if (macro.stenchEnabled) {
paw_stench();
}
}

function flex_toes() {

let prey = new Container();
@@ -1894,6 +1937,11 @@ function anal_vore()

function sit()
{
if (macro.gooMolten) {
sit_goo();
return;
}

let area = macro.assArea;
let crushed = getPrey(biome, area, macro.sameSizeStomp);

@@ -1919,6 +1967,33 @@ function sit()
}
}

function sit_goo()
{
let area = macro.assArea;
let prey = getPrey(biome, area, macro.sameSizeStomp);

let line = describe("ass-goo", prey, macro, verbose);
let linesummary = summarize(prey.sum(), false);

let people = get_living_prey(prey.sum());

let crushedMass = prey.sum_property("mass");

let sound = getSound("goo",crushedMass);

macro.goo.feed(prey);

macro.addGrowthPoints(crushedMass);

update([sound,line,linesummary,newline]);

macro.arouse(15);

if (macro.stenchEnabled) {
ass_stench();
}
}

function ass_stench() {

let area = macro.assStenchArea;
@@ -2863,10 +2938,27 @@ function scat(vol) {
macro.arouse(50);
}

function setButton(button, state) {
if (state) {
enable_button(button);
} else {
disable_button(button);
}
}

function gooButtons(molten) {
setButton("melt", !molten);
setButton("solidify", molten);
setButton("push-stomach", molten);
setButton("pull-stomach", molten);
}

function melt()
{
macro.gooMolten = true;

gooButtons(macro.gooMolten);

let line = describe("melt", new Container(), macro, verbose);

update([line, newline]);
@@ -2874,6 +2966,10 @@ function melt()

function solidify()
{
macro.gooMolten = false;

gooButtons(macro.gooMolten);

let prey = new Container();
macro.goo.contents.forEach(function(x) {
prey = prey.merge(x);
@@ -2889,10 +2985,9 @@ function solidify()

let sound = getSound("insert",preyMass);

macro.gooMolten = false;

if (macro.gooDigest) {
if (macro.gooDigestion) {
update([sound, line, linesummary, newline]);
add_victim_people("goo", prey);
} else {
update([sound, line, newline]);
}
@@ -3456,6 +3551,16 @@ function startGame(e) {
enable_victim("scat","Shat on");
}

if (macro.gooEnabled) {
enable_panel("goo");

enable_button("melt");

if (macro.gooDigestion) {
enable_victim("goo","Absorbed into the goo");
}
}

document.getElementById("button-arousal").innerHTML = (macro.arousalEnabled ? "Arousal On" : "Arousal Off");
if (!macro.arousalEnabled) {
document.getElementById("arousal").style.display = "none";


+ 23
- 4
recursive-desc.js Bestand weergeven

@@ -23,7 +23,7 @@ var actions = ["eat","chew","stomp","stomp-wedge","flex-toes","kick","anal-vore"
"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"];
"sheath-toy","slit-toy","breast-toy","melt","solidify","stomp-goo","goo-digest","ass-goo"];

for (let i=0; i<actions.length; i++) {
rules[actions[i]] = [];
@@ -132,7 +132,7 @@ function defaultChew(container, macro, verbose) {
if (container.count == 0)
return "You reach down for a delicious treat and grab - oh, nothing.";
else if (isSadistic(macro))
return "Your greedy fingers gather up " + container.describe(verbose) + ", stuffing " + pronoun + " into your " + macro.jawDesc(true) + ". A slow, lazy bite " + macro.biteDesc() + pronoun + ", rending flesh, snapping bone, and crushing everything between your savage " + macro.jawDesc(true) + ". You tip back your head and swallow...consigning the gory remains to your roiling gut.";
return "Your greedy fingers gather up " + container.describe(verbose) + ", stuffing " + pronoun + " into your " + macro.jawDesc(true) + ". A slow, lazy bite " + macro.biteDesc(true) + " " + pronoun + ", rending flesh, snapping bone, and crushing everything between your savage " + macro.jawDesc(true) + ". You tip back your head and swallow...consigning the gory remains to your roiling gut.";
else if (isNonFatal(macro))
return defaultEat(container, macro, verbose);
else {
@@ -758,12 +758,31 @@ function defaultSolidify(container, macro, verbose) {
if (container.count == 0) {
return "Your body turns solid.";
} else if (macro.gooDigest > 0) {
return "Your body turns solid, pushing out " + container.describe(verbose);
return "Your body turns solid, pushing out " + container.describe(verbose) + ".";
} else {
return "Your body turns solid, swiftly absorbing" + container.describe(verbose);
return "Your body turns solid, swiftly absorbing " + container.describe(verbose) + ".";
}
}

function defaultStompGoo(container, macro, verbose) {
if (container.count == 0) {
return "Your gooey paw hits the ground.";
} else {
return "Your gooey paws falls over " + container.describe(verbose) + ", smothering them in goo and pulling them into your body.";
}
}

function defaultAssGoo(container, macro, verbose) {
if (container.count == 0) {
return "Your gooey ass sits down on the ground.";
} else {
return "You sit your gooey ass down on " + container.describe(verbose) + ", pulling them right into your body.";
}
}

function defaultGooDigest(container, macro, verbose) {
return "Your goopy depths dissolve " + container.describe(false) + ".";
}

// EATING



+ 2
- 0
sounds.js Bestand weergeven

@@ -11,6 +11,8 @@ let sounds = {
["Clench.","Squeeeeeze.","Squeeeeeeeeeeeze.","Sqlllllch.","SQLLLLLLCH!"],
"digest":
["Grrgle.","Grrrrgle","Grrrrlglorp.","GrrrrGLRRRLPH!","GRRRRRLGPRLHK!"],
"goo":
["Splat.", "Squish.", "Squish!", "SQLCH!", "SQLLLLRCH!", "SQQQQUEEEEELLCH!"]
};

function pickByMass(list, mass) {


+ 10
- 2
stroll.html Bestand weergeven

@@ -182,6 +182,7 @@
<button class="action-part-button" id="action-part-souls">Souls</button>
<button class="action-part-button" id="action-part-shoes">Shoes</button>
<button class="action-part-button" id="action-part-waste">Waste</button>
<button class="action-part-button" id="action-part-goo">Goo</button>
<button class="action-part-button" id="action-part-misc">Misc</button>
</div>

@@ -253,6 +254,13 @@
<button class="action-button" id="button-action-scat">Scat</button>
</div>

<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>
</div>

<div class="action-tab" id="actions-misc">
<button class="action-button" id="button-action-pouch_stuff">Stuff Pouch</button>
<button class="action-button" id="button-action-pouch_rub">Rub Pouch</button>
@@ -880,8 +888,8 @@
<label class="custom-header" for="gooEnabled">Goo</label>
<div class="reveal-if-active">
<li>
<input autocomplete="off" checked="true" type="checkbox" id="gooDigests" name="gooDigests" />
<label class="has-tooltip" for="scatScaleWithSize" title="If checked, produces more scat from the same prey as you get larger">Digestion</label>
<input autocomplete="off" checked="true" type="checkbox" id="gooDigestion" name="gooDigestion" />
<label for="gooDigestion">Digestion</label>
</li>
</div>
</div>


Laden…
Annuleren
Opslaan