瀏覽代碼

Added breast vore

tags/v0.7.0
Fen Dweller 7 年之前
父節點
當前提交
511a04d788
共有 3 個檔案被更改,包括 104 行新增3 行删除
  1. +81
    -1
      game.js
  2. +16
    -0
      recursive-desc.js
  3. +7
    -2
      stroll.html

+ 81
- 1
game.js 查看文件

@@ -274,11 +274,34 @@ var macro =
"maxDigest" : 1
},

"breasts": {
"name" : "breasts",
"feed": function(prey) {
this.feedFunc(prey,this,this.owner);
},
"feedFunc": function(prey,self,owner) {
if (self.contents.length == 0)
setTimeout(function() { owner.digest(owner,self) }, 1500);
this.contents.push(prey);
},
"describeDigestion": function(container) {
return describe("breasts",container,this.owner,verbose);
},
"fill": function(owner,container) {
if (macro.lactationEnabled) {
owner.milkStorage.amount += container.sum_property("mass") / 1e3;
}
},
"contents" : [],
"maxDigest" : 1
},

"init": function() {
this.stomach.owner = this;
this.bowels.owner = this;
this.womb.owner = this;
this.balls.owner = this;
this.breasts.owner = this;
this.cumStorage.owner = this;
this.femcumStorage.owner = this;
this.milkStorage.owner = this;
@@ -314,9 +337,14 @@ var macro =
},

"fillBreasts": function(self) {
if (self.milkStorage.amount > self.milkStorage.limit) {
milk_breasts(null, self.milkStorage.amount - self.milkStorage.limit);
}
self.milkStorage.amount += self.lactationScale * self.milkStorage.limit / 1200;
if (self.milkStorage.amount > self.milkStorage.limit)

if (self.milkStorage.amount > self.milkStorage.limit) {
self.milkStorage.amount = self.milkStorage.limit;
}
setTimeout(function () { self.fillBreasts(self) }, 100);
update();
},
@@ -1086,6 +1114,48 @@ function breast_crush()
}
}

function breast_vore()
{
// todo nipple areas?
var area = macro.breastArea/2;
var prey = getPrey(biome, area);
var line = describe("breast-vore", prey, macro, verbose);
var linesummary = summarize(prey.sum(), false);

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

var sound = "";

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.breasts.feed(prey);

macro.arouse(10);

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

if (macro.lactationEnabled && macro.milkStorage.amount / macro.milkStorage.limit > 0.5) {
var amount = Math.min(macro.lactationVolume, (macro.milkStorage.amount / macro.milkStorage.limit - 0.5) * macro.milkStorage.limit);
milk_breasts(null, amount);
}
}

function milk_breasts(e,vol)
{
if (vol == undefined) {
@@ -1121,6 +1191,8 @@ function milk_breasts(e,vol)

macro.addGrowthPoints(preyMass);

macro.arouse(20);
updateVictims("flooded",prey);
update([sound,line,linesummary,newline]);
}
@@ -1836,7 +1908,13 @@ function startGame(e) {
document.getElementById("milk").style.display = 'none';
document.getElementById("milkPercent").style.display = 'none';
}
if (macro.breastVore) {
victimTypes = victimTypes.concat(["breastvored"]);
} else {
document.getElementById("button-breast_vore").style.display = 'none';
}
} else {
document.getElementById("button-breast_vore").style.display = 'none';
document.getElementById("button-breast_milk").style.display = 'none';
document.getElementById("milk").style.display = 'none';
document.getElementById("milkPercent").style.display = 'none';
@@ -1916,6 +1994,7 @@ window.addEventListener('load', function(event) {
victims["digested"] = initVictims();
victims["stomach"] = initVictims();
victims["breasts"] = initVictims();
victims["breastvored"] = initVictims();
victims["flooded"] = initVictims();
victims["womb"] = initVictims();
victims["cock"] = initVictims();
@@ -1932,6 +2011,7 @@ window.addEventListener('load', function(event) {
document.getElementById("button-tail_slap").addEventListener("click",tail_slap);
document.getElementById("button-tail_vore").addEventListener("click",tail_vore);
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-cockslap").addEventListener("click",cockslap);


+ 16
- 0
recursive-desc.js 查看文件

@@ -9,6 +9,7 @@ rules["tail-slap"] = [];
rules["tail-vore"] = [];
rules["ass-crush"] = [];
rules["breast-crush"] = [];
rules["breast-vore"] = [];
rules["breast-milk"] = [];
rules["unbirth"] = [];
rules["cock-vore"] = [];
@@ -24,6 +25,7 @@ rules["stomach"] = [];
rules["balls"] = [];
rules["womb"] = [];
rules["bowels"] = [];
rules["breasts"] = [];

function isNonFatal(macro) {
return macro.brutality == 0;
@@ -121,6 +123,7 @@ function describeDefault(action, container, macro, verbose=true) {
case "tail-slap": return defaultTailSlap(container, macro, verbose);
case "tail-vore": return defaultTailVore(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);
case "unbirth": return defaultUnbirth(container, macro, verbose);
case "cock-vore": return defaultCockVore(container, macro, verbose);
@@ -135,6 +138,7 @@ function describeDefault(action, container, macro, verbose=true) {
case "bowels": return defaultBowels(container, macro, verbose);
case "womb": return defaultWomb(container, macro, verbose);
case "balls": return defaultBalls(container, macro, verbose);
case "breasts": return defaultBreasts(container, macro, verbose);
}
}

@@ -197,6 +201,11 @@ function defaultBreastCrush(container, macro, verbose) {
return "You smoosh " + container.describe(verbose) + " with your breasts.";
}

function defaultBreastVore(container, macro, verbose) {
return "Your nipples envelop " + container.describe(verbose) + ", pulling them into your breasts. ";
}


function defaultBreastMilk(container, macro, verbose) {
if (isFatal(macro))
return "You squeeze your breasts, coaxing out $VOLUME of warm, creamy milk that floods " + container.describe(verbose) + " in an unstoppable wave of white.";
@@ -296,6 +305,13 @@ function defaultBalls(container, macro, verbose) {
return "Your balls slosh as they absorb " + container.describe(false);
}

function defaultBreasts(container, macro, verbose) {
if (isFatal(macro))
return "Your breasts grrgle as they digest " + container.describe(false) + " into milk";
else
return "Your breasts slosh as they absorb " + container.describe(false);
}

// EATING

rules["eat"].push({


+ 7
- 2
stroll.html 查看文件

@@ -62,7 +62,7 @@
</div>
<div id=log-area>
<div id=log>
<div>Welcome to Stroll 0.4.4</div>
<div>Welcome to Stroll 0.4.5</div>
<div><b>This game features 18+ content</b></div>
<div><a href="https://chemicalcrux.org/stroll">Changelog</a></div>
<div>It's a nice day for a walk</div>
@@ -79,6 +79,7 @@
<button class=action-button id=button-tail_vore>Tail Vore</button>
<button class=action-button id=button-grind>Grind</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>
<button class=action-button id=button-unbirth>Unbirth</button>
<button class=action-button id=button-cockslap>Cockslap</button>
@@ -95,7 +96,7 @@


<div class=option-container id=option-panel>
<p>Welcome to Stroll 0.4.4</p>
<p>Welcome to Stroll 0.4.5</p>
<p><b>This game features 18+ content</b></p>
<a href="https://chemicalcrux.org/stroll">Changelog</a>
<br>
@@ -259,6 +260,10 @@
</li>
</div>
</ul>
<li>
<label for="breastVore">Breast vore</label>
<input type="checkbox" checked=true name="breastVore"/><br>
</li>
</div>
</div>
<br>


Loading…
取消
儲存