From 04934d855f67204a81e0d0ab3472e5577f27d087 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Thu, 27 Dec 2018 15:18:00 -0600 Subject: [PATCH] Removed a bunch of properties for the macro that get set automatically --- features.js | 36 +++++++---- game.js | 183 +++++++++++----------------------------------------- 2 files changed, 60 insertions(+), 159 deletions(-) diff --git a/features.js b/features.js index 6b36141..9c8fa32 100644 --- a/features.js +++ b/features.js @@ -6,12 +6,8 @@ options = [ { "name": "Name", "id": "name", - "type": "text" - }, - { - "name": "Species", - "id": "species", - "type": "text" + "type": "text", + "default": "Fen" }, { "name": "Scale", @@ -28,7 +24,7 @@ options = [ }, { "name": "Weight", - "id": "baseWeight", + "id": "baseMass", "type": "float", "default": "135", "unit": "mass" @@ -66,6 +62,12 @@ options = [ "optional": false, "entries": [ + { + "name": "Species", + "id": "species", + "type": "text", + "default": "crux" + }, { "name": "Foot type", "id": "footType", @@ -397,12 +399,6 @@ options = [ "optional": true, "entries": [ - { - "name": "Cock description", - "id": "dickType", - "type": "text", - "default": "canine" - }, { "name": "Cock length", "id": "baseDickLength", @@ -423,12 +419,18 @@ options = [ "type": "float", "default": "1" }, + { + "name": "Cock description", + "id": "dickType", + "type": "text", + "default": "canine" + }, { "name": "Ball diameter", "id": "baseBallDiameter", "type": "float", "default": "0.05", - "unit": "length", + "unit": "length" }, { "name": "Orgasm size", @@ -607,6 +609,12 @@ options = [ "id": "lactationScale", "type": "float", "default": "1" + }, + { + "name": "Milk storage scale", + "id": "milkStorageScale", + "type": "float", + "default": "1" } ] }, diff --git a/game.js b/game.js index c9da3d3..1b99bd5 100644 --- a/game.js +++ b/game.js @@ -35,40 +35,42 @@ let victims = {}; let macro = { + "shrunkPrey": null, + "fastDigestFactor": 1, + "fastDigestTimer": null, + + "growthPoints": 0, + + "orgasm": false, + "afterglow": false, + + "arousal": 0, + "edge": 0, + + "maleSpurt": 0, + "femaleSpurt": 0, + + "scale": 1, + "assScale": 1, + "dickScale": 1, + "ballScale": 1, + "vaginaScale": 1, + "breastScale": 1, + "tailScale": 1, + + "tailDensity": 1000, + "dickDensity": 1000, + "ballDensity": 1000, + "breastDensity": 1000, + "scaling": function(value, scale, factor) { return value * Math.pow(scale,factor); }, - "name": "", - "species": "crux", - "color" : "blue", - "baseHeight": 2.26, get height() { return this.scaling(this.baseHeight, this.scale, 1); }, - "baseMass": 135, get mass () { return this.scaling(this.baseMass, this.scale, 3); }, - "pawScale": 1, - "basePawArea": 0.1, get pawArea() { return this.scaling(this.basePawArea * this.pawScale * this.pawScale, this.scale, 2); }, - "baseAnalVoreDiameter": 0.1, get analVoreArea() { return this.scaling(Math.pow(this.baseAnalVoreDiameter * this.assScale, 2), this.scale, 2); }, - "baseAssArea": 0.25, get assArea() { return this.scaling(this.baseAssArea * this.assScale, this.scale, 2); }, - "baseHandArea": 0.1, get handArea() { return this.scaling(this.baseHandArea, this.scale, 2); }, - "sameSizeVore": true, - "sameSizeStomp": true, - - "assScale": 1, - "analVore": true, - - // part types - - "footType": "paw", - "footSockEnabled": false, - "footShoeEnabled": false, - "footSock": "none", - "footShoe": "none", - "footSockWorn": false, - "footShoeWorn": false, - "footOnlyDesc": function(plural=false,capital=false) { let result = ""; @@ -221,8 +223,6 @@ let macro = return capital ? result.charAt(0).toUpperCase() + result.slice(1) : result; }, - "jawType": "jaw", - "jawDesc": function(plural=false,capital=false) { let result = ""; switch(this.jawType) { @@ -249,16 +249,6 @@ let macro = return capital ? result.charAt(0).toUpperCase() + result.slice(1) : result; }, - "hasTail": true, - "tailType": "slinky", - "tailCount": 1, - "baseTailLength": 1, - "baseTailDiameter": 0.1, - "tailDensity": 250, - "tailStretchiness": 2, - "tailScale": 1, - "tailMaw": false, - get tailLength() { return this.scaling(this.baseTailLength * this.tailScale, this.scale, 1); }, @@ -289,12 +279,7 @@ let macro = get tailNoDesc() { return (this.tailCount > 1 ? "tails" : "tail"); }, - "dickType": "canine", - "baseDickLength": 0.3, - "baseDickDiameter": 0.08, - "dickDensity": 1000, - "dickStretchiness": 2, - "dickScale": 1, + get dickLength() { let factor = 1; if (!this.arousalEnabled || this.arousal < 25) { @@ -330,9 +315,8 @@ let macro = get dickMass() { return this.dickVolume * this.dickDensity; }, - "baseBallDiameter": 0.05, - "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 ballVolume() { @@ -344,41 +328,24 @@ let macro = return volume * this.ballDensity; }, - "baseCumRatio": 1, - "cumScale": 1, get cumVolume() { return this.dickGirth * this.baseCumRatio * (1 + this.edge) + Math.max(0,this.cumStorage.amount - this.cumStorage.limit); }, - "baseVaginaLength": 0.1, - "baseVaginaWidth": 0.05, - "vaginaStretchiness": 2, - "vaginaScale": 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 vaginaArea() { return this.vaginaLength * this.vaginaWidth; }, get vaginaStretchArea() { return this.vaginaStretchiness * this.vaginaStretchiness * this.vaginaLength * this.vaginaWidth; }, get vaginaVolume() { return this.vaginaArea * this.vaginaWidth; }, - "baseFemcumRatio": 1, - "femcumScale": 1, get femcumVolume() { return this.vaginaArea * this.baseFemcumRatio * (1 + this.edge) + Math.max(0,this.femcumStorage.amount - this.femcumStorage.limit); }, - hasBreasts: true, - lactationEnabled: true, - lactationScale: 1, - lactationFactor: 0.25, - get lactationVolume() { return this.milkStorage.limit * this.lactationFactor; }, - "baseBreastDiameter": 0.1, - "breastScale": 1, - "breastStretchiness": 2, - "breastDensity": 1000, + get breastDiameter() { return this.scaling(this.baseBreastDiameter * this.breastScale, this.scale, 1); }, get breastStretchDiameter() { return this.scaling(this.breastStretchiness * this.baseBreastDiameter * this.breastScale, this.scale, 1); }, get breastArea() { @@ -419,8 +386,6 @@ let macro = }, - "baseScatDigestFactor": 1, - "scatScaleWithSize": true, get scatDigestFactor() { if (this.scatScaleWithSize) { return this.baseScatDigestFactor * this.scale; @@ -573,8 +538,6 @@ let macro = "stages": 3 }, - "baseFemcumDigestFactor": 1, - "femcumScaleWithSize": true, get femcumDigestFactor() { if (this.femcumScaleWithSize) { return this.baseFemcumDigestFactor * this.scale; @@ -625,8 +588,6 @@ let macro = "stages": 3 }, - "baseCumDigestFactor": 1, - "cumScaleWithSize": true, get cumDigestFactor() { if (this.cumScaleWithSize) { return this.baseCumDigestFactor * this.scale; @@ -677,8 +638,6 @@ let macro = "stages": 3 }, - "baseMilkDigestFactor": 1, - "milkScaleWithSize": true, get milkDigestFactor() { if (this.milkScaleWithSize) { return this.baseMilkDigestFactor * this.scale; @@ -730,9 +689,6 @@ let macro = "contents" : [], "stages": 3 }, - - "basePissDigestFactor": 1, - "pissScaleWithSize": true, get pissDigestFactor() { if (this.pissScaleWithSize) { return this.basePissDigestFactor * this.scale; @@ -783,8 +739,6 @@ let macro = "stages": 3 }, - soulVoreEnabled: true, - "souls": { "name" : "souls", "setup": function(owner) { @@ -828,10 +782,6 @@ let macro = "stages": 3 }, - "gooEnabled": true, - "gooMolten": false, - "gooDigestion": true, - "goo": { "name" : "goo", "setup": function(owner) { @@ -878,13 +828,8 @@ let macro = "stages": 3 }, - "breathEnabled": false, - "baseBreathArea": 10, - "breathStyle": "cone", get breathArea() { return this.scaling(this.baseBreathArea, this.scale, 2); }, - "pawVoreEnabled": false, - "pawsVore": { "name" : "paws", "setup": function(owner) { @@ -921,8 +866,6 @@ let macro = "stages": 3 }, - "cropEnabled": false, - "crop": { "name" : "crop", "setup": function(owner) { @@ -964,7 +907,6 @@ let macro = // holding spots - hasPouch: true, "pouch": { "name": "pouch", "container": new Container(), @@ -979,7 +921,6 @@ let macro = } }, - hasSheath: true, "sheath": { "name": "sheath", "container": new Container(), @@ -994,7 +935,6 @@ let macro = } }, - hasCleavage: true, "cleavage": { "name": "cleavage", "container": new Container(), @@ -1102,9 +1042,6 @@ let macro = this.fillScat(this); }, - "maleParts": true, - "femaleParts": true, - "fillCum": function(self) { self.cumStorage.amount += self.cumScale * self.cumStorage.limit / self.cumStorageScale / 1000; if (self.cumStorage.amount > self.cumStorage.limit) @@ -1157,11 +1094,6 @@ let macro = update(); }, - "pissEnabled": true, - "pissScale": 1, - "baseUrethraDiameter": 0.03, - "urethraStretchiness": 5, - get urethraDiameter() { return this.scaling(this.baseUrethraDiameter, this.scale, 1); }, @@ -1223,8 +1155,6 @@ let macro = } }, - "scatEnabled": true, - "scatStorage": { "amount": 0, "victims": new Container(), @@ -1233,21 +1163,14 @@ let macro = } }, - "stenchEnabled": true, - "basePawStenchArea": 1, get pawStenchArea() { return this.pawArea * this.basePawStenchArea; }, - "baseAssStenchArea": 1, + get assStenchArea() { return this.assArea * this.baseAssStenchArea; }, - "gasEnabled": true, - "gasScale": 1, - "gasFactor": 1, - "baseGasDigestFactor": 1, - "gasScaleWithSize": true, get gasDigestFactor() { if (this.gasScaleWithSize) { return this.baseGasDigestFactor * this.scale; @@ -1255,22 +1178,6 @@ let macro = return this.baseGasDigestFactor; } }, - "belchEnabled": true, - "fartEnabled": true, - - "orgasm": false, - "afterglow": false, - - "arousalEnabled": true, - - "arousalFactor": 1, - "edgeFactor": 1, - - "arousal": 0, - "edge": 0, - - "maleSpurt": 0, - "femaleSpurt": 0, "arouse": function(amount) { if (!this.arousalEnabled) @@ -1563,24 +1470,6 @@ let macro = return length(this.vaginaLength, unit, true) + " long " + state; }, - - "droolEnabled": false, - - "magicEnabled": false, - "shrunkPrey": null, - "fastDigestFactor": 1, - "fastDigestTimer": null, - - "growthPoints": 0, - - // 0 = entirely non-fatal - // 1 = fatal, but not specific - // 2 = gory - // 3 = uwu - - "brutality": 1, - - "scale": 1, }; function look() @@ -2156,9 +2045,11 @@ function grind() if (macro.maleParts) area += macro.dickArea; - if (macro.femalePartS) + if (macro.femaleParts) area += macro.vaginaArea; + console.log(area) + let prey = getPrey(biome, area); let line = describe("grind", prey, macro, verbose); @@ -4694,6 +4585,8 @@ function updatePreview(name) { if (unitType == undefined) return; + // we might have a second scale to worry about! + if (unitType == "length") result = length(value * scale, unit); else if (unitType == "area")