Browse Source

Added ways to smash people with all those new parts!

tags/v0.7.0
Fen Dweller 7 years ago
parent
commit
5bb8381892
4 changed files with 175 additions and 6 deletions
  1. +145
    -0
      game.js
  2. +20
    -0
      recursive-macro.js
  3. +5
    -1
      stroll.html
  4. +5
    -5
      style.css

+ 145
- 0
game.js View File

@@ -37,6 +37,9 @@ var macro =
"dickScale": 1, "dickScale": 1,
get dickLength() { return this.scaling(this.baseDickLength * this.dickScale, this.scale, 1); }, get dickLength() { return this.scaling(this.baseDickLength * this.dickScale, this.scale, 1); },
get dickDiameter() { return this.scaling(this.baseDickDiameter * this.dickScale, this.scale, 1); }, get dickDiameter() { return this.scaling(this.baseDickDiameter * this.dickScale, this.scale, 1); },
get dickArea() {
return this.dickLength * this.dickDiameter * Math.PI / 2;
},
get dickVolume() { get dickVolume() {
return this.dickLength * Math.pow(this.dickDiameter/2,2) * Math.PI; return this.dickLength * Math.pow(this.dickDiameter/2,2) * Math.PI;
}, },
@@ -47,6 +50,7 @@ var macro =
"ballDensity": 1000, "ballDensity": 1000,
"ballScale": 1, "ballScale": 1,
get ballDiameter() { return this.scaling(this.baseBallDiameter * this.ballScale, this.scale, 1); }, get ballDiameter() { return this.scaling(this.baseBallDiameter * this.ballScale, this.scale, 1); },
get ballArea() { return 2 * Math.PI * Math.pow(this.ballDiameter/2, 2) },
get ballVolume() { get ballVolume() {
var radius = this.ballDiameter / 2; var radius = this.ballDiameter / 2;
return 4/3 * Math.PI * Math.pow(radius,3); return 4/3 * Math.PI * Math.pow(radius,3);
@@ -62,11 +66,15 @@ var macro =


get vaginaLength() { return this.scaling(this.baseVaginaLength * this.vaginaScale, this.scale, 1); }, get vaginaLength() { return this.scaling(this.baseVaginaLength * this.vaginaScale, this.scale, 1); },
get vaginaWidth() { return this.scaling(this.baseVaginaWidth * this.vaginaScale, this.scale, 1); }, get vaginaWidth() { return this.scaling(this.baseVaginaWidth * this.vaginaScale, this.scale, 1); },
get vaginaArea() { return this.vaginaLength * this.vaginaWidth },


"baseBreastDiameter": 0.1, "baseBreastDiameter": 0.1,
"breastScale": 1, "breastScale": 1,
"breastDensity": 1000, "breastDensity": 1000,
get breastDiameter() { return this.scaling(this.baseDickLength * this.breastScale, this.scale, 1); }, get breastDiameter() { return this.scaling(this.baseDickLength * this.breastScale, this.scale, 1); },
get breastArea() {
return 2 * Math.PI * Math.pow(this.breastDiameter/2,2);
},
get breastVolume() { get breastVolume() {
var radius = this.breastDiameter / 2; var radius = this.breastDiameter / 2;
return 4/3 * Math.PI * Math.pow(radius,3); return 4/3 * Math.PI * Math.pow(radius,3);
@@ -422,6 +430,135 @@ function anal_vore()
update([sound,line1,line1summary,newline,sound2,line2,line2summary,newline]); update([sound,line1,line1summary,newline,sound2,line2,line2summary,newline]);
} }


function breast_crush()
{
var area = macro.breastArea;
var prey = getPrey(biome, area);
var line = prey.breast_crush(verbose);
var linesummary = summarize(prey.sum(), true);

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

var sound = "Thump";

if (people < 3) {
sound = "Thump!";
} else if (people < 10) {
sound = "Squish!";
} else if (people < 50) {
sound = "Crunch!";
} else if (people < 500) {
sound = "CRUNCH!";
} else if (people < 5000) {
sound = "CRRUUUNCH!!";
} else {
sound = "Oh the humanity!";
}
var preyMass = prey.sum_property("mass");

macro.scaleWithMass(preyMass);

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

function unbirth()
{
var area = macro.vaginaArea;
var prey = getPrey(biome, area);
var line = prey.unbirth(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!";
}

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

macro.scaleWithMass(preyMass);

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

function cockslap()
{
var area = macro.dickArea;
var prey = getPrey(biome, area);
var line = prey.cockslap(verbose)
var linesummary = summarize(prey.sum(), true);

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

var sound = "Thump";

if (people < 3) {
sound = "Thump!";
} else if (people < 10) {
sound = "Squish!";
} else if (people < 50) {
sound = "Crunch!";
} else if (people < 500) {
sound = "CRUNCH!";
} else if (people < 5000) {
sound = "CRRUUUNCH!!";
} else {
sound = "Oh the humanity!";
}
var preyMass = prey.sum_property("mass");

macro.scaleWithMass(preyMass);

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

function ball_smother()
{
var area = macro.ballArea * 2;
var prey = getPrey(biome, area);
var line = prey.ball_smother(verbose)
var linesummary = summarize(prey.sum(), true);

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

var sound = "Thump";

if (people < 3) {
sound = "Thump!";
} else if (people < 10) {
sound = "Squish!";
} else if (people < 50) {
sound = "Smoosh!";
} else if (people < 500) {
sound = "SMOOSH!";
} else if (people < 5000) {
sound = "SMOOOOOSH!!";
} else {
sound = "Oh the humanity!";
}
var preyMass = prey.sum_property("mass");

macro.scaleWithMass(preyMass);

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

function update(lines = []) function update(lines = [])
{ {
var log = document.getElementById("log"); var log = document.getElementById("log");
@@ -544,11 +681,19 @@ window.addEventListener('load', function(event) {
victims["digested"] = initVictims(); victims["digested"] = initVictims();
victims["stomach"] = initVictims(); victims["stomach"] = initVictims();
victims["bowels"] = initVictims(); victims["bowels"] = initVictims();
victims["breasts"] = initVictims();
victims["womb"] = initVictims();
victims["cock"] = initVictims();
victims["balls"] = initVictims();


document.getElementById("button-look").addEventListener("click",look); document.getElementById("button-look").addEventListener("click",look);
document.getElementById("button-grow").addEventListener("click",grow); document.getElementById("button-grow").addEventListener("click",grow);
document.getElementById("button-feed").addEventListener("click",feed); document.getElementById("button-feed").addEventListener("click",feed);
document.getElementById("button-stomp").addEventListener("click",stomp); document.getElementById("button-stomp").addEventListener("click",stomp);
document.getElementById("button-breast_crush").addEventListener("click",breast_crush);
document.getElementById("button-unbirth").addEventListener("click",unbirth);
document.getElementById("button-cockslap").addEventListener("click",cockslap);
document.getElementById("button-ball_smother").addEventListener("click",ball_smother);
document.getElementById("button-anal_vore").addEventListener("click",anal_vore); document.getElementById("button-anal_vore").addEventListener("click",anal_vore);
document.getElementById("button-stroll").addEventListener("click",toggle_auto); document.getElementById("button-stroll").addEventListener("click",toggle_auto);
document.getElementById("button-location").addEventListener("click",change_location); document.getElementById("button-location").addEventListener("click",change_location);


+ 20
- 0
recursive-macro.js View File

@@ -250,6 +250,22 @@ function defaultButtcrush(thing) {
return function(verbose=true,height=10) { return "Your heavy ass obliterates " + thing.describe(verbose) + ". "; } return function(verbose=true,height=10) { return "Your heavy ass obliterates " + thing.describe(verbose) + ". "; }
} }


function defaultBreastCrush(thing) {
return function(verbose=true,height=10) { return "Your heavy breasts obliterate " + thing.describe(verbose) + ". "; }
}

function defaultUnbirth(thing) {
return function(verbose=true,height=10) { return "You gasp as you slide " + thing.describe(verbose) + " up your slit. "; }
}

function defaultCockslap(thing) {
return function(verbose=true,height=10) { return "Your swaying shaft crushes " + thing.describe(verbose) + ". "; }
}

function defaultBallSmother(thing) {
return function(verbose=true,height=10) { return "Your weighty balls spread over " + thing.describe(verbose) + ", smothering them in musk. "; }
}

function defaultArea(thing) { function defaultArea(thing) {
return areas[thing.name]; return areas[thing.name];
} }
@@ -330,6 +346,10 @@ function DefaultEntity() {
this.kick = defaultKick; this.kick = defaultKick;
this.anal_vore = defaultAnalVore; this.anal_vore = defaultAnalVore;
this.buttcrush = defaultButtcrush; this.buttcrush = defaultButtcrush;
this.breast_crush = defaultBreastCrush;
this.unbirth = defaultUnbirth;
this.cockslap = defaultCockslap;
this.ball_smother = defaultBallSmother;
this.sum = defaultSum; this.sum = defaultSum;
this.area = defaultArea; this.area = defaultArea;
this.mass = defaultMass; this.mass = defaultMass;


+ 5
- 1
stroll.html View File

@@ -32,7 +32,7 @@
</div> </div>
<div id=log-area> <div id=log-area>
<div id=log> <div id=log>
<div>Welcome to Stroll 0.2.0</div>
<div>Welcome to Stroll 0.2.1</div>
<div><b>This game features 18+ content</b></div> <div><b>This game features 18+ content</b></div>
<div><a href="https://chemicalcrux.org/stroll">Changelog</a></div> <div><a href="https://chemicalcrux.org/stroll">Changelog</a></div>
<div>It's a nice day for a walk</div> <div>It's a nice day for a walk</div>
@@ -45,6 +45,10 @@
<button class=action-button id=button-feed>Eat</button> <button class=action-button id=button-feed>Eat</button>
<button class=action-button id=button-stomp>Stomp</button> <button class=action-button id=button-stomp>Stomp</button>
<button class=action-button id=button-anal_vore>Sit</button> <button class=action-button id=button-anal_vore>Sit</button>
<button class=action-button id=button-breast_crush>Breast Crush</button>
<button class=action-button id=button-unbirth>Unbirth</button>
<button class=action-button id=button-cockslap>Cockslap</button>
<button class=action-button id=button-ball_smother>Ball Smother</button>
<p/> <p/>
<button class=action-button id=button-stroll>Status: Standing</button> <button class=action-button id=button-stroll>Status: Standing</button>
<button class=action-button id=button-location>Location: Suburb</button> <button class=action-button id=button-location>Location: Suburb</button>


+ 5
- 5
style.css View File

@@ -9,13 +9,13 @@ body {
margin: auto; margin: auto;
} }


@media (max-aspect-ratio: 1/1){
@media (max-aspect-ratio: 1.2){
.game-area { .game-area {
width: 100% width: 100%
} }
} }


@media (min-aspect-ratio: 1/1){
@media (min-aspect-ratio: 16/9){
.game-area { .game-area {
width: 75% width: 75%
} }
@@ -59,12 +59,12 @@ body {
.button-container { .button-container {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
flex: 1;
max-width: 300px;
flex: 2;
} }


.action-button { .action-button {
font-size: 24px; font-size: 24px;
width: 200px;
width: 120px;
height: 75px; height: 75px;
} }

Loading…
Cancel
Save