| @@ -1,3 +1,7 @@ | |||
| "use strict"; | |||
| var started = false; | |||
| var strolling = false; | |||
| var maxStomachDigest = 10; | |||
| @@ -13,7 +17,7 @@ var biome = "suburb"; | |||
| var newline = " "; | |||
| victims = {}; | |||
| var victims = {}; | |||
| var humanMode = true; | |||
| @@ -72,7 +76,7 @@ var macro = | |||
| "dickDensity": 1000, | |||
| "dickScale": 1, | |||
| get dickLength() { | |||
| factor = 1; | |||
| var factor = 1; | |||
| if (!this.arousalEnabled || this.arousal < 25) { | |||
| factor = 0.5; | |||
| } else if (this.arousal < 75) { | |||
| @@ -82,7 +86,7 @@ var macro = | |||
| return this.scaling(this.baseDickLength * this.dickScale * factor, this.scale, 1); | |||
| }, | |||
| get dickDiameter() { | |||
| factor = 1; | |||
| var factor = 1; | |||
| if (!this.arousalEnabled || this.arousal < 25) { | |||
| factor = 0.5; | |||
| } else if (this.arousal < 75) { | |||
| @@ -107,7 +111,7 @@ var macro = | |||
| "ballDensity": 1000, | |||
| "ballScale": 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 ballArea() { return 2 * Math.PI * Math.pow(this.ballDiameter/2, 2); }, | |||
| get ballVolume() { | |||
| var radius = this.ballDiameter / 2; | |||
| return 4/3 * Math.PI * Math.pow(radius,3); | |||
| @@ -129,8 +133,8 @@ var macro = | |||
| 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 vaginaArea() { return this.vaginaLength * this.vaginaWidth }, | |||
| get vaginaVolume() { return this.vaginaArea * this.vaginaWidth }, | |||
| get vaginaArea() { return this.vaginaLength * this.vaginaWidth; }, | |||
| get vaginaVolume() { return this.vaginaArea * this.vaginaWidth; }, | |||
| "baseFemcumRatio": 1, | |||
| "femcumScale": 1, | |||
| get femcumVolume() { | |||
| @@ -202,7 +206,7 @@ var macro = | |||
| }, | |||
| "feedFunc": function(prey,self,owner) { | |||
| if (self.contents.length == 0) | |||
| setTimeout(function() { owner.digest(owner,self) }, 15000); | |||
| setTimeout(function() { owner.digest(owner,self); }, 15000); | |||
| this.contents.push(prey); | |||
| }, | |||
| "describeDigestion": function(container) { | |||
| @@ -615,7 +619,7 @@ var macro = | |||
| get describeDick() { | |||
| state = ""; | |||
| var state = ""; | |||
| if (!this.arousalEnabled) { | |||
| state = "limp"; | |||
| } else if (this.orgasm) { | |||
| @@ -637,7 +641,7 @@ var macro = | |||
| }, | |||
| get describeVagina() { | |||
| state = ""; | |||
| var state = ""; | |||
| if (!this.arousalEnabled) { | |||
| state = "unassuming"; | |||
| } else if (this.orgasm) { | |||
| @@ -850,7 +854,7 @@ function getOnePrey(biome,area) | |||
| }); | |||
| for (var i=0; i<potAreas.length; i++) { | |||
| x = potAreas[i]; | |||
| var x = potAreas[i]; | |||
| if (x[1] < area) { | |||
| return new Container([new things[x[0]](1)]); | |||
| } | |||
| @@ -1087,8 +1091,8 @@ function anal_vore() | |||
| var line = describe("anal-vore", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| people = get_living_prey(prey.sum()); | |||
| sound = "Shlp"; | |||
| var people = get_living_prey(prey.sum()); | |||
| var sound = "Shlp"; | |||
| if (people < 3) { | |||
| sound = "Shlp."; | |||
| @@ -1375,7 +1379,7 @@ function breast_vore() | |||
| function milk_breasts(e,vol) | |||
| { | |||
| if (vol == undefined) { | |||
| var vol = Math.min(macro.lactationVolume, macro.milkStorage.amount); | |||
| vol = Math.min(macro.lactationVolume, macro.milkStorage.amount); | |||
| } | |||
| macro.milkStorage.amount -= vol; | |||
| @@ -1383,7 +1387,7 @@ function milk_breasts(e,vol) | |||
| var area = Math.pow(vol, 2/3); | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("breast-milk", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)) | |||
| var line = describe("breast-milk", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1417,7 +1421,7 @@ function unbirth() | |||
| { | |||
| var area = macro.vaginaArea; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("unbirth", prey, macro, verbose) | |||
| var line = describe("unbirth", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1454,7 +1458,7 @@ function sheath_stuff() | |||
| { | |||
| var area = Math.min(macro.handArea, macro.dickGirth*3); | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("sheath-stuff", prey, macro, verbose) | |||
| var line = describe("sheath-stuff", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1486,7 +1490,7 @@ function sheath_stuff() | |||
| function sheath_squeeze() | |||
| { | |||
| var prey = macro.sheath.container; | |||
| var line = describe("sheath-squeeze", prey, macro, verbose) | |||
| var line = describe("sheath-squeeze", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1516,7 +1520,7 @@ function sheath_crush() | |||
| { | |||
| var prey = macro.sheath.container; | |||
| macro.sheath.container = new Container(); | |||
| var line = describe("sheath-crush", prey, macro, verbose) | |||
| var line = describe("sheath-crush", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1546,7 +1550,7 @@ function sheath_absorb() | |||
| { | |||
| var prey = macro.sheath.container; | |||
| macro.sheath.container = new Container(); | |||
| var line = describe("sheath-absorb", prey, macro, verbose) | |||
| var line = describe("sheath-absorb", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1577,7 +1581,7 @@ function cockslap() | |||
| { | |||
| var area = macro.dickArea; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("cockslap", prey, macro, verbose) | |||
| var line = describe("cockslap", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1612,7 +1616,7 @@ function cock_vore() | |||
| { | |||
| var area = macro.dickGirth; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("cock-vore", prey, macro, verbose) | |||
| var line = describe("cock-vore", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1648,7 +1652,7 @@ function ball_smother() | |||
| { | |||
| var area = macro.ballArea * 2; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("ball-smother", prey, macro, verbose) | |||
| var line = describe("ball-smother", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1683,7 +1687,7 @@ function male_spurt(vol) | |||
| var area = Math.pow(vol, 2/3); | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("male-spurt", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)) | |||
| var line = describe("male-spurt", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1716,7 +1720,7 @@ function male_orgasm(vol) | |||
| var area = Math.pow(vol, 2/3); | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("male-orgasm", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)) | |||
| var line = describe("male-orgasm", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1749,7 +1753,7 @@ function female_spurt(vol) | |||
| var area = Math.pow(vol, 2/3); | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("female-spurt", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)) | |||
| var line = describe("female-spurt", prey, macro, verbose).replace("$VOLUME",volume(vol,unit,false)); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1814,7 +1818,7 @@ function tail_slap() | |||
| { | |||
| var area = macro.tailArea * macro.tailCount; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("tail-slap", prey, macro, verbose) | |||
| var line = describe("tail-slap", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), true); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1848,7 +1852,7 @@ function tail_vore() | |||
| { | |||
| var area = macro.tailGirth * macro.tailCount; | |||
| var prey = getPrey(biome, area); | |||
| var line = describe("tail-vore", prey, macro, verbose) | |||
| var line = describe("tail-vore", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -1919,7 +1923,7 @@ function pouch_eat() | |||
| var prey = macro.pouch.container; | |||
| macro.pouch.container = new Container(); | |||
| var line = describe("pouch-eat", prey, macro, verbose) | |||
| var line = describe("pouch-eat", prey, macro, verbose); | |||
| var linesummary = summarize(prey.sum(), false); | |||
| var people = get_living_prey(prey.sum()); | |||
| @@ -2013,22 +2017,22 @@ function pick_move() | |||
| } | |||
| function grow_pick(times) { | |||
| if (document.getElementById("part-body").checked == true) { | |||
| if (document.getElementById("part-body").checked === true) { | |||
| grow(times); | |||
| } | |||
| else if (document.getElementById("part-ass").checked == true) { | |||
| else if (document.getElementById("part-ass").checked === true) { | |||
| grow_ass(times); | |||
| } | |||
| else if (document.getElementById("part-dick").checked == true) { | |||
| else if (document.getElementById("part-dick").checked === true) { | |||
| grow_dick(times); | |||
| } | |||
| else if (document.getElementById("part-balls").checked == true) { | |||
| else if (document.getElementById("part-balls").checked === true) { | |||
| grow_balls(times); | |||
| } | |||
| else if (document.getElementById("part-breasts").checked == true) { | |||
| else if (document.getElementById("part-breasts").checked === true) { | |||
| grow_breasts(times); | |||
| } | |||
| else if (document.getElementById("part-vagina").checked == true) { | |||
| else if (document.getElementById("part-vagina").checked === true) { | |||
| grow_vagina(times); | |||
| } | |||
| } | |||
| @@ -2189,11 +2193,9 @@ function preset(name) { | |||
| } | |||
| function saveSettings() { | |||
| storage = window.localStorage; | |||
| settings = {}; | |||
| form = document.forms.namedItem("custom-species-form"); | |||
| var storage = window.localStorage; | |||
| var settings = {}; | |||
| var form = document.forms.namedItem("custom-species-form"); | |||
| for (var i=0; i<form.length; i++) { | |||
| if (form[i].value != "") { | |||
| @@ -2218,10 +2220,10 @@ function loadSettings() { | |||
| if (window.localStorage.getItem('settings') == null) | |||
| return; | |||
| storage = window.localStorage; | |||
| var storage = window.localStorage; | |||
| settings = JSON.parse(storage.getItem('settings')); | |||
| form = document.forms.namedItem("custom-species-form"); | |||
| var settings = JSON.parse(storage.getItem('settings')); | |||
| var form = document.forms.namedItem("custom-species-form"); | |||
| for (var i=0; i<form.length; i++) { | |||
| if (settings[form[i].name] != undefined) { | |||
| @@ -2240,8 +2242,12 @@ function loadSettings() { | |||
| } | |||
| function startGame(e) { | |||
| if (started) | |||
| return; | |||
| form = document.forms.namedItem("custom-species-form"); | |||
| started = true; | |||
| var form = document.forms.namedItem("custom-species-form"); | |||
| for (var i=0; i<form.length; i++) { | |||
| if (form[i].value != "") { | |||
| @@ -2274,7 +2280,7 @@ function startGame(e) { | |||
| document.getElementById("option-panel").style.display = 'none'; | |||
| document.getElementById("action-panel").style.display = 'flex'; | |||
| victimTypes = ["stomped","digested","stomach","ground"]; | |||
| var victimTypes = ["stomped","digested","stomach","ground"]; | |||
| if (macro.analVore) { | |||
| victimTypes = victimTypes.concat(["bowels"]); | |||
| @@ -1,4 +1,6 @@ | |||
| rules = {}; | |||
| 'use strict'; | |||
| var rules = {}; | |||
| rules["eat"] = []; | |||
| rules["chew"] = []; | |||
| @@ -105,7 +107,7 @@ function nothingLarger(container, thing) { | |||
| } | |||
| function describe(action, container, macro, verbose=true) { | |||
| options = []; | |||
| var options = []; | |||
| for (var i = 0; i < rules[action].length; i++) { | |||
| if(rules[action][i].test(container,macro)) { | |||
| @@ -1,3 +1,5 @@ | |||
| 'use strict'; | |||
| var things = | |||
| { | |||
| "Container": Container, | |||
| @@ -107,9 +109,9 @@ var clusters = | |||
| function fill_area(area, weights, variance=0.15) | |||
| { | |||
| area = area + Math.random() * variance * 2 - variance; | |||
| result = []; | |||
| candidates = []; | |||
| var area = area + Math.random() * variance * 2 - variance; | |||
| var result = []; | |||
| var candidates = []; | |||
| for (var key in weights) { | |||
| if (weights.hasOwnProperty(key)) { | |||
| candidates.push({"name": key, "area": areas[key], "weight": weights[key]}); | |||
| @@ -187,7 +189,7 @@ function merge_things(list,semicolons=false) { | |||
| } else if (list.length == 2) { | |||
| return list[0] + " and " + list[1]; | |||
| } else { | |||
| result = ""; | |||
| var result = ""; | |||
| list.slice(0,list.length-1).forEach(function(term) { | |||
| result += term + ", "; | |||
| @@ -202,7 +204,7 @@ function merge_things(list,semicolons=false) { | |||
| // combine the adjectives for something into a single string | |||
| function merge_desc(list) { | |||
| result = "" | |||
| var result = "" | |||
| list.forEach(function(term) { | |||
| if (term != "") | |||
| @@ -289,7 +291,7 @@ function defaultSum(thing) { | |||
| for (var key in thing.contents) { | |||
| if (thing.contents.hasOwnProperty(key)) { | |||
| subcount = thing.contents[key].sum(); | |||
| var subcount = thing.contents[key].sum(); | |||
| for (var subkey in subcount) { | |||
| if (!counts.hasOwnProperty(subkey)) { | |||
| counts[subkey] = 0; | |||
| @@ -390,19 +392,19 @@ function Person(count = 1) { | |||
| this.describeOne = function (verbose=true) { | |||
| body = random_desc(["skinny","fat","tall","short","stocky","spindly"], (verbose ? 0.6 : 0)); | |||
| sex = random_desc(["male", "female"], (verbose ? 1 : 0)); | |||
| var body = random_desc(["skinny","fat","tall","short","stocky","spindly"], (verbose ? 0.6 : 0)); | |||
| var sex = random_desc(["male", "female"], (verbose ? 1 : 0)); | |||
| if (!humanMode) | |||
| species = random_desc(["wolf","cat","dog","squirrel","horse","hyena","fox","jackal","crux","sergal"]); | |||
| var species = random_desc(["wolf","cat","dog","squirrel","horse","hyena","fox","jackal","crux","sergal"]); | |||
| else | |||
| species = random_desc(["jogger","police officer","road worker","pastor","dog-walker","clerk","accountant","CEO","millionaire","mailman"]); | |||
| var species = random_desc(["jogger","police officer","road worker","pastor","dog-walker","clerk","accountant","CEO","millionaire","mailman"]); | |||
| return "a " + merge_desc([body,sex,species]); | |||
| } | |||
| this.describe = function(verbose=true) { | |||
| if (verbose) { | |||
| if (count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < count; i++) { | |||
| list.push(this.describeOne(this.count <= 2)); | |||
| } | |||
| @@ -428,15 +430,15 @@ function Cow(count = 1) { | |||
| this.describeOne = function (verbose=true) { | |||
| body = random_desc(["skinny","fat","tall","short","stocky","spindly"], (verbose ? 0.6 : 0)); | |||
| sex = random_desc(["male", "female"], (verbose ? 1 : 0)); | |||
| var body = random_desc(["skinny","fat","tall","short","stocky","spindly"], (verbose ? 0.6 : 0)); | |||
| var sex = random_desc(["male", "female"], (verbose ? 1 : 0)); | |||
| return "a " + merge_desc([body,sex,"cow"]); | |||
| } | |||
| this.describe = function(verbose=true) { | |||
| if (verbose) { | |||
| if (count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < count; i++) { | |||
| list.push(this.describeOne(this.count <= 2)); | |||
| } | |||
| @@ -463,16 +465,16 @@ function EmptyCar(count = 1) { | |||
| this.describeOne = function(verbose=true) { | |||
| color = random_desc(["black","black","gray","gray","blue","red","tan","white","white"]); | |||
| adjective = random_desc(["rusty","brand-new"],0.3); | |||
| type = random_desc(["SUV","coupe","sedan","truck","van","convertible"]); | |||
| var color = random_desc(["black","black","gray","gray","blue","red","tan","white","white"]); | |||
| var adjective = random_desc(["rusty","brand-new"],0.3); | |||
| var type = random_desc(["SUV","coupe","sedan","truck","van","convertible"]); | |||
| return "a parked " + merge_desc([adjective,color,type]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne()); | |||
| } | |||
| @@ -497,16 +499,16 @@ function Car(count = 1) { | |||
| this.addContent("Person", 2, 5, count); | |||
| this.describeOne = function(verbose=true) { | |||
| color = random_desc(["black","black","gray","gray","blue","red","tan","white","white"], (verbose ? 1 : 0)); | |||
| adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| type = random_desc(["SUV","coupe","sedan","truck","van","convertible"]); | |||
| var color = random_desc(["black","black","gray","gray","blue","red","tan","white","white"], (verbose ? 1 : 0)); | |||
| var adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| var type = random_desc(["SUV","coupe","sedan","truck","van","convertible"]); | |||
| return "a " + merge_desc([adjective,color,type]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -531,16 +533,16 @@ function Bus(count = 1) { | |||
| this.addContent("Person",10,35,count); | |||
| this.describeOne = function(verbose=true) { | |||
| adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| type = random_desc(["bus","double-decker bus","articulating bus"]); | |||
| var adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| var color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| var type = random_desc(["bus","double-decker bus","articulating bus"]); | |||
| return "a " + merge_desc([adjective,color,type]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -565,16 +567,16 @@ function Tram(count = 1) { | |||
| this.addContent("Person",40,60,count); | |||
| this.describeOne = function(verbose=true) { | |||
| adjective = random_desc(["rusty","weathered"], (verbose ? 0.3 : 0)); | |||
| color = random_desc(["blue","brown","gray"], (verbose ? 1 : 0)); | |||
| type = random_desc(["tram"]); | |||
| var adjective = random_desc(["rusty","weathered"], (verbose ? 0.3 : 0)); | |||
| var color = random_desc(["blue","brown","gray"], (verbose ? 1 : 0)); | |||
| var type = random_desc(["tram"]); | |||
| return "a " + merge_desc([adjective,color,type]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count == 1) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(verbose)); | |||
| } | |||
| @@ -615,16 +617,16 @@ function Train(count = 1) { | |||
| this.addContent("Train Car", 2, 10, count); | |||
| this.describeOne = function(verbose=true) { | |||
| adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| type = random_desc(["train","passenger train","freight train"]); | |||
| var adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| var color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| var type = random_desc(["train","passenger train","freight train"]); | |||
| return "a " + merge_desc([adjective,color,type]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count == 1) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(verbose)); | |||
| } | |||
| @@ -654,9 +656,9 @@ function TrainCar(count = 1) { | |||
| this.addContent("Person",10,40,count); | |||
| this.describeOne = function(verbose=true) { | |||
| adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| type = random_desc(["train car","passenger train car","freight train car"]); | |||
| var adjective = random_desc(["rusty","brand-new"], (verbose ? 0.3 : 0)); | |||
| var color = random_desc(["black","tan","gray"], (verbose ? 1 : 0)); | |||
| var type = random_desc(["train car","passenger train car","freight train car"]); | |||
| return "a " + merge_desc([adjective,color,type]); | |||
| } | |||
| @@ -679,16 +681,16 @@ function House(count = 1) { | |||
| this.addContent("Empty Car",0,2,count); | |||
| this.describeOne = function(verbose=true) { | |||
| size = random_desc(["little","two-story","large"], (verbose ? 0.5 : 0)); | |||
| color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| name = random_desc(["house","house","house","house","house","trailer"], 1); | |||
| var size = random_desc(["little","two-story","large"], (verbose ? 0.5 : 0)); | |||
| var color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| var name = random_desc(["house","house","house","house","house","trailer"], 1); | |||
| return "a " + merge_desc([size,color,name]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -713,16 +715,16 @@ function Barn(count = 1) { | |||
| this.addContent("Cow",30,70,count); | |||
| this.describeOne = function(verbose=true) { | |||
| size = random_desc(["little","big","large"], (verbose ? 0.5 : 0)); | |||
| color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| name = random_desc(["barn","barn","barn","barn","barn","farmhouse"], 1); | |||
| var size = random_desc(["little","big","large"], (verbose ? 0.5 : 0)); | |||
| var color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| var name = random_desc(["barn","barn","barn","barn","barn","farmhouse"], 1); | |||
| return "a " + merge_desc([size,color,name]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -747,15 +749,15 @@ function SmallSkyscraper(count = 1) { | |||
| this.addContent("Empty Car",10,50,count); | |||
| this.describeOne = function(verbose=true) { | |||
| color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| name = random_desc(["skyscraper","office tower","office building"], 1); | |||
| var color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| var name = random_desc(["skyscraper","office tower","office building"], 1); | |||
| return "a " + merge_desc([color,name]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -789,15 +791,15 @@ function LargeSkyscraper(count = 1) { | |||
| this.addContent("Empty Car",20,100,count); | |||
| this.describeOne = function(verbose=true) { | |||
| color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| name = random_desc(["skyscraper","office tower","office building"], 1); | |||
| var color = random_desc(["blue","white","gray","tan","green"], (verbose ? 0.5 : 0)); | |||
| var name = random_desc(["skyscraper","office tower","office building"], 1); | |||
| return "a " + merge_desc(["towering",color,name]); | |||
| } | |||
| this.describe = function(verbose = true) { | |||
| if (verbose) { | |||
| if (this.count <= 3) { | |||
| list = []; | |||
| var list = []; | |||
| for (var i = 0; i < this.count; i++) { | |||
| list.push(this.describeOne(this.count < 2)); | |||
| } | |||
| @@ -1,3 +1,5 @@ | |||
| 'use strict'; | |||
| function round(number,precision=3) { | |||
| return Math.round(number*Math.pow(10,precision)) / Math.pow(10,precision); | |||
| } | |||