Преглед изворни кода

More work on sheaths/cleavage. Added absorption, more lines, pouch options

tags/v0.7.0
Fen Dweller пре 7 година
родитељ
комит
9002894735
3 измењених фајлова са 165 додато и 20 уклоњено
  1. +103
    -5
      game.js
  2. +51
    -15
      recursive-desc.js
  3. +11
    -0
      stroll.html

+ 103
- 5
game.js Прегледај датотеку

@@ -554,7 +554,7 @@ var macro =
result.push(line);

if (this.hasTail) {
line = "Your " + macro.describeTail + (macro.tailCount > 1 ? " tails sway as you walk," : "sways as you walk.");
line = "Your " + macro.describeTail + (macro.tailCount > 1 ? " tails sway as you walk. " : " tail sways as you walk. ");
if (this.tailMaw) {
line += (macro.tailCount > 1 ? "Their maws are drooling" : "Its maw is drooling");
}
@@ -577,19 +577,33 @@ var macro =
}
}
if (this.maleParts) {
if (this.hasSheath && this.arousal < 75) {
line = "Your " + this.describeDick + " cock is hidden away in your bulging sheath, with two " + mass(macro.ballMass, unit, true) + ", " + length(macro.ballDiameter, unit, true) + "-wide balls hanging beneath.";
}
line = "Your " + this.describeDick + " cock hangs from your hips, with two " + mass(macro.ballMass, unit, true) + ", " + length(macro.ballDiameter, unit, true) + "-wide balls hanging beneath.";
result.push(line);
}
if (this.femaleParts) {

if (this.femaleParts) {
line = "Your glistening " + this.describeVagina + " slit peeks out from between your legs."
result.push(line);
}

if (this.hasBreasts) {
line = "You have two " + length(macro.breastDiameter, unit, true) + "-wide breasts that weigh " + mass(macro.breastMass, unit) + " apiece.";
line = "You have two " + length(this.breastDiameter, unit, true) + "-wide breasts that weigh " + mass(macro.breastMass, unit) + " apiece.";

if (this.cleavage.container.count > 0)
line += " Between them are " + this.cleavage.container.describe(false) + ".";
result.push(line);
}

if (this.hasPouch) {
if (this.pouch.container.count == 0)
result.push("Your belly pouch is flat and empty.");
else
result.push("Your belly pouch is bulging, holding " + this.pouch.container.describe(false) + ".");
}

return result;
},

@@ -1174,6 +1188,7 @@ function cleavage_stuff()
function cleavage_crush()
{
var prey = macro.cleavage.container;
macro.cleavage.container = new Container();
var line = describe("cleavage-crush", prey, macro, verbose);
var linesummary = summarize(prey.sum(), true);

@@ -1238,6 +1253,41 @@ function cleavage_drop()
update([sound,line,linesummary,newline]);
}

function cleavage_absorb()
{
var prey = macro.cleavage.container;
macro.cleavage.container = new Container();
var line = describe("cleavage-absorb", prey, macro, verbose);
var linesummary = summarize(prey.sum(), true);

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

var sound = "Thump";

if (people < 3) {
sound = "Shlp.";
} else if (people < 10) {
sound = "Slurp.";
} else if (people < 50) {
sound = "Shlrrrrp!";
} else if (people < 500) {
sound = "SHLRP!";
} else if (people < 5000) {
sound = "SHLLLLURP!!";
} else {
sound = "Oh the humanity!";
}

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

macro.addGrowthPoints(preyMass);

macro.arouse((preyMass > 0 ? 15 : 5));

updateVictims("cleavageabsorbed",prey);
update([sound,line,linesummary,newline]);
}

function breast_crush()
{
var area = macro.breastArea;
@@ -1489,6 +1539,37 @@ function sheath_crush()
update([sound,line,linesummary,newline]);
}

function sheath_absorb()
{
var prey = macro.sheath.container;
macro.sheath.container = new Container();
var line = describe("sheath-absorb", prey, macro, verbose)
var linesummary = summarize(prey.sum(), true);

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

var sound = "";

if (people < 3) {
sound = "Shlp.";
} else if (people < 10) {
sound = "Squelch.";
} else if (people < 50) {
sound = "Shlurrp.";
} else if (people < 500) {
sound = "SHLRP!";
} else if (people < 5000) {
sound = "SQLCH!!";
} else {
sound = "Oh the humanity!";
}

macro.arouse(45);

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


function cockslap()
{
var area = macro.dickArea;
@@ -2210,7 +2291,13 @@ function startGame(e) {
}

if (macro.maleParts) {
victimTypes = victimTypes.concat(["cock","balls","sheath"]);
victimTypes = victimTypes.concat(["cock","balls"]);
if (macro.hasSheath) {
victimTypes.push("sheath");
} else {
document.getElementById("button-sheath_stuff").style.display = 'none';
document.getElementById("button-sheath_squeeze").style.display = 'none';
}
} else {
document.getElementById("action-part-dick").style.display = 'none';
document.getElementById("button-cockslap").style.display = 'none';
@@ -2220,6 +2307,9 @@ function startGame(e) {
document.getElementById("cumPercent").style.display = 'none';
document.querySelector("#part-balls+label").style.display = 'none';
document.querySelector("#part-dick+label").style.display = 'none';
document.getElementById("button-sheath_stuff").style.display = 'none';
document.getElementById("button-sheath_squeeze").style.display = 'none';
document.getElementById("button-sheath_absorb").style.display = 'none';
}

if (macro.femaleParts) {
@@ -2233,7 +2323,7 @@ function startGame(e) {
}

if (macro.hasBreasts) {
victimTypes = victimTypes.concat(["breasts","cleavage","cleavagecrushed","cleavagedropped"]);
victimTypes = victimTypes.concat(["breasts","cleavage","cleavagecrushed","cleavagedropped","cleavageabsorbed"]);
if (macro.lactationEnabled) {
victimTypes = victimTypes.concat(["flooded"]);
} else {
@@ -2248,6 +2338,10 @@ function startGame(e) {
}
} else {
document.getElementById("action-part-breasts").style.display = 'none';
document.getElementById("button-cleavage_stuff").style.display = 'none';
document.getElementById("button-cleavage_crush").style.display = 'none';
document.getElementById("button-cleavage_drop").style.display = 'none';
document.getElementById("button-cleavage_absorb").style.display = 'none';
document.getElementById("button-breast_vore").style.display = 'none';
document.getElementById("button-breast_milk").style.display = 'none';
document.getElementById("milk").style.display = 'none';
@@ -2355,12 +2449,14 @@ window.addEventListener('load', function(event) {
victims["cleavage"] = initVictims();
victims["cleavagecrushed"] = initVictims();
victims["cleavagedropped"] = initVictims();
victims["cleavageabsorbed"] = initVictims();
victims["breasts"] = initVictims();
victims["breastvored"] = initVictims();
victims["flooded"] = initVictims();
victims["womb"] = initVictims();
victims["sheath"] = initVictims();
victims["sheathcrushed"] = initVictims();
victims["sheathabsorbed"] = initVictims();
victims["cock"] = initVictims();
victims["balls"] = initVictims();
victims["smothered"] = initVictims();
@@ -2382,12 +2478,14 @@ window.addEventListener('load', function(event) {
document.getElementById("button-cleavage_stuff").addEventListener("click",cleavage_stuff);
document.getElementById("button-cleavage_crush").addEventListener("click",cleavage_crush);
document.getElementById("button-cleavage_drop").addEventListener("click",cleavage_drop);
document.getElementById("button-cleavage_absorb").addEventListener("click",cleavage_absorb);
document.getElementById("button-breast_crush").addEventListener("click",breast_crush);
document.getElementById("button-breast_vore").addEventListener("click",breast_vore);
document.getElementById("button-breast_milk").addEventListener("click",milk_breasts);
document.getElementById("button-unbirth").addEventListener("click",unbirth);
document.getElementById("button-sheath_stuff").addEventListener("click",sheath_stuff);
document.getElementById("button-sheath_squeeze").addEventListener("click",sheath_squeeze);
document.getElementById("button-sheath_absorb").addEventListener("click",sheath_absorb);
document.getElementById("button-cockslap").addEventListener("click",cockslap);
document.getElementById("button-cock_vore").addEventListener("click",cock_vore);
document.getElementById("button-ball_smother").addEventListener("click",ball_smother);


+ 51
- 15
recursive-desc.js Прегледај датотеку

@@ -11,6 +11,7 @@ rules["ass-crush"] = [];
rules["cleavage-stuff"] = [];
rules["cleavage-crush"] = [];
rules["cleavage-drop"] = [];
rules["cleavage-absorb"] = [];
rules["breast-crush"] = [];
rules["breast-vore"] = [];
rules["breast-milk"] = [];
@@ -18,6 +19,7 @@ rules["unbirth"] = [];
rules["sheath-stuff"] = [];
rules["sheath-squeeze"] = [];
rules["sheath-crush"] = [];
rules["sheath-absorb"] = [];
rules["cock-vore"] = [];
rules["cockslap"] = [];
rules["ball-smother"] = [];
@@ -133,6 +135,7 @@ function describeDefault(action, container, macro, verbose=true) {
case "cleavage-stuff": return defaultCleavageStuff(container, macro, verbose);
case "cleavage-crush": return defaultCleavageCrush(container, macro, verbose);
case "cleavage-drop": return defaultCleavageDrop(container, macro, verbose);
case "cleavage-absorb": return defaultCleavageAbsorb(container, macro, verbose);
case "breast-crush": return defaultBreastCrush(container, macro, verbose);
case "breast-vore": return defaultBreastVore(container, macro, verbose);
case "breast-milk": return defaultBreastMilk(container, macro, verbose);
@@ -140,6 +143,7 @@ function describeDefault(action, container, macro, verbose=true) {
case "sheath-stuff": return defaultSheathStuff(container, macro, verbose);
case "sheath-squeeze": return defaultSheathSqueeze(container, macro, verbose);
case "sheath-crush": return defaultSheathCrush(container, macro, verbose);
case "sheath-absorb": return defaultSheathAbsorb(container, macro, verbose);
case "cock-vore": return defaultCockVore(container, macro, verbose);
case "cockslap": return defaultCockslap(container, macro, verbose);
case "ball-smother": return defaultBallSmother(container, macro, verbose);
@@ -214,19 +218,30 @@ function defaultCleavageStuff(container, macro, verbose) {
}

function defaultCleavageCrush(container, macro, verbose) {
if (isGory(macro))
return "You grasp your breasts and forcefully shove them together, crushing the life from " + container.describe(verbose) + ".";
if (container.count == 0)
return "You grasp your breasts and forcefully squeeze them together.";
else if (isGory(macro))
return "You grasp your breasts and forcefully shove them together, crushing the life from " + container.describe(false) + ".";
else if (isFatal(macro))
return "You grasp your breasts and forcefully shove them together, crushing " + container.describe(verbose) + ".";
return "You grasp your breasts and forcefully shove them together, crushing " + container.describe(false) + ".";
else
return "You grasp your breasts and squish them together, smooshing " + container.describe(verbose) + ".";
return "You grasp your breasts and squish them together, smooshing " + container.describe(false) + ".";
}

function defaultCleavageAbsorb(container, macro, verbose) {
if (container.count == 0)
return defaultCleavageCrush(container, macro, verbose);
else
return "Your squeeze your breasts together, swiftly absorbing " + container.describe(false) + " into your chest.";
}

function defaultCleavageDrop(container, macro, verbose) {
if (container.count == 0)
return "You pull your breasts apart and give them a shake.";
if (isFatal(macro))
return "You pull your breasts apart far enough for the " + container.describe(verbose) + " trapped within to fall out, tumbling to the ground and smashing to bits.";
return "You pull your breasts apart far enough for the " + container.describe(false) + " trapped within to fall out, tumbling to the ground and smashing to bits.";
else
return "You pull your breasts apart far enough for the " + container.describe(verbose) + " trapped within to fall out.";
return "You pull your breasts apart far enough for the " + container.describe(false) + " trapped within to fall out.";
}

function defaultBreastCrush(container, macro, verbose) {
@@ -257,16 +272,30 @@ function defaultSheathStuff(container, macro, verbose) {
}

function defaultSheathSqueeze(container, macro, verbose) {
if (macro.orgasm) {
return "You stroke your spurting cock, then reach down to give your sheath a firm <i>squeeze</i>. Anything within has been ground away to nothingness by the force of your orgasm.";
} else if (macro.arousal < 25) {
return "You grip your soft sheath and give it a squeeze, feeling " + container.describe(false) + " within rub against your " + macro.describeDick + " cock.";
} else if (macro.arousal < 75) {
return "You grip your swelling sheath and squeeze, feeling " + container.describe(false) + " within grind against your " + macro.describeDick + " cock.";
} else if (macro.arousal < 150) {
return "You run your fingers down your " + macro.describeDick + " shaft and grip your sheath, squeezing it to feel " + container.describe(false) + " being smothered against the musky walls by your throbbing cock.";
if (container.count > 0) {
if (macro.orgasm) {
return "You stroke your spurting cock, then reach down to give your sheath a firm <i>squeeze</i>. Anything within has been ground away to nothingness by the force of your orgasm.";
} else if (macro.arousal < 25) {
return "You grip your soft sheath and give it a squeeze, feeling " + container.describe(false) + " within rub against your " + macro.describeDick + " cock.";
} else if (macro.arousal < 75) {
return "You grip your swelling sheath and squeeze, feeling " + container.describe(false) + " within grind against your " + macro.describeDick + " cock.";
} else if (macro.arousal < 150) {
return "You run your fingers down your " + macro.describeDick + " shaft and grip your sheath, squeezing it to feel " + container.describe(false) + " being smothered against the musky walls by your throbbing cock.";
} else {
return "Trembling with your impending orgasm, your fingers play over your sheath, feeling " + container.describe(false) + " within rub against your " + macro.describeDick + " cock.";
}
} else {
return "Trembling with your impending orgasm, your fingers play over your sheath, feeling " + container.describe(false) + " within rub against your " + macro.describeDick + " cock.";
if (macro.orgasm) {
return "You stroke your spurting cock, then reach down to give your sheath a firm <i>squeeze</i>. Anything within has been ground away to nothingness by the force of your orgasm.";
} else if (macro.arousal < 25) {
return "You grip your soft sheath and give it a squeeze.";
} else if (macro.arousal < 75) {
return "You grip your swelling sheath and squeeze.";
} else if (macro.arousal < 150) {
return "You run your fingers down your " + macro.describeDick + " shaft and grip your sheath, squeezing it gently.";
} else {
return "Trembling with your impending orgasm, your fingers play over your sheath.";
}
}
}

@@ -279,6 +308,13 @@ function defaultSheathCrush(container, macro, verbose) {
return "Your orgasm causes your " + macro.describeDick + " cock to swell, squeezing " + container.describe(false) + " out from your sheath.";
}

function defaultSheathAbsorb(container, macro, verbose) {
if (container.count > 0)
return "You grip your sheath and give it a firm <i>squeeze</i>, abruptly absorbing " + container.describe(false) + " into your musky body.";
else
return defaultSheathSqueeze(container, macro, verbose);
}

function defaultCockVore(container, macro, verbose) {
return "You stuff " + container.describe(verbose) + " into your throbbing shaft, forcing them down to your heavy balls.";
}


+ 11
- 0
stroll.html Прегледај датотеку

@@ -104,6 +104,7 @@
<button class=action-button id=button-cleavage_stuff>Stuff Cleavage</button>
<button class=action-button id=button-cleavage_crush>Crush Cleavage</button>
<button class=action-button id=button-cleavage_drop>Drop Cleavage</button>
<button class=action-button id=button-cleavage_absorb>Absorb Cleavage</button>
<button class=action-button id=button-breast_crush>Breast Crush</button>
<button class=action-button id=button-breast_vore>Breast Vore</button>
<button class=action-button id=button-breast_milk>Milk Breasts</button>
@@ -114,6 +115,7 @@
<div class=action-tab id=actions-dick>
<button class=action-button id=button-sheath_stuff>Stuff Sheath</button>
<button class=action-button id=button-sheath_squeeze>Squeeze Sheath</button>
<button class=action-button id=button-sheath_absorb>Absorb Sheath</button>
<button class=action-button id=button-cockslap>Cockslap</button>
<button class=action-button id=button-cock_vore>Cock Vore</button>
<button class=action-button id=button-ball_smother>Ball Smother</button>
@@ -242,10 +244,19 @@
</div>
</div>
<br>
<li>
<label for="hasPouch">Pouch</label>
<input type="checkbox" name="hasPouch" checked=true /><br>
</li>
<br>
<div>
Male genitals:<br>
<input type="checkbox" checked=true name="maleParts"/><br>
<div class=reveal-if-active>
<li>
<label for="hasSheath">Sheath</label>
<input type="checkbox" name="hasSheath" checked=true /><br>
</li>
<li>
<label for="dickType">Cock type</label>
<input type="text" name="dickType" placeholder="canine"/><br>


Loading…
Откажи
Сачувај