|  |  | @@ -299,6 +299,14 @@ let macro = | 
		
	
		
			
			|  |  |  | return capital ? result.charAt(0).toUpperCase() + result.slice(1) : result; | 
		
	
		
			
			|  |  |  | }, | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | get preyGrowthFactor() { | 
		
	
		
			
			|  |  |  | if (macro.growthScaleWithSize) { | 
		
	
		
			
			|  |  |  | return this.basePreyGrowthFactor * Math.pow(this.scale, 1); | 
		
	
		
			
			|  |  |  | //this breaks once you get to the size of a planet | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | return this.basePreyGrowthFactor; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }, | 
		
	
		
			
			|  |  |  | get tailLength() { | 
		
	
		
			
			|  |  |  | return this.scaling(this.baseTailLength * this.tailScale, this.scale, 1); | 
		
	
		
			
			|  |  |  | }, | 
		
	
	
		
			
				|  |  | @@ -3890,10 +3898,6 @@ function paw_vore() | 
		
	
		
			
			|  |  |  | update([sound].concat(lines).concat([linesummary,newline])); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.arouse(5); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // if (preyMass > 0){ | 
		
	
		
			
			|  |  |  | //   grow_automatic(preyMass,"paws"); | 
		
	
		
			
			|  |  |  | // } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function breath(type, style) | 
		
	
	
		
			
				|  |  | @@ -4159,217 +4163,51 @@ function grow_automatic(preyMass, part) { | 
		
	
		
			
			|  |  |  | let preyMassBody = (preyMass * macro.preyGrowthFactor); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (part === "tail" && macro.tailGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.tailGrowthFactor) * macro.preyGrowthFactor * preyMass); | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.tailGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldMassPart = macro.tailMass; | 
		
	
		
			
			|  |  |  | let oldLengthPart = macro.tailLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (macro.tailMass + (preyMassPart/macro.tailCount)) / macro.tailDensity; | 
		
	
		
			
			|  |  |  | //mass=volume*density. Since we know what we want our mass to be, we can figure out how much volume the final tail should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/((Math.pow(macro.baseTailDiameter/2, 2)) * Math.PI * macro.baseTailLength * (Math.pow(macro.scale, 3)))); | 
		
	
		
			
			|  |  |  | macro.tailScale = Math.pow(scaleChangerPart, 1/3); | 
		
	
		
			
			|  |  |  | // (tailVolume/((macro.baseTailDiameter/2)^2 * Math.PI * macro.baseTailLength * macro.scale^3)) = macro.tailScale^3 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newMassPart = macro.tailMass; | 
		
	
		
			
			|  |  |  | let newLengthPart = macro.tailLength; | 
		
	
		
			
			|  |  |  | let deltaMassPart = newMassPart - oldMassPart; | 
		
	
		
			
			|  |  |  | let deltaLengthPart = newLengthPart - oldLengthPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.tailType + (macro.tailCount > 1 ? " tails grow " : " tail grows ") + length(deltaLengthPart, unit, false) + " longer and gains " + mass(deltaMassPart, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.tailGrowthFactor) * macro.preyGrowthFactor * preyMass); //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_tail((macro.tailGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "cock" && macro.cockGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.cockGrowthFactor) * macro.preyGrowthFactor * preyMass); | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.cockGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldMassPart = macro.dickMass; | 
		
	
		
			
			|  |  |  | let oldLengthPart = macro.dickLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.dickMass + preyMassPart) / macro.dickDensity); | 
		
	
		
			
			|  |  |  | //mass=volume*density. Since we know what we want our final mass to be, we can figure out how much volume the final part should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart /( Math.pow(macro.baseDickDiameter/2, 2) *Math.PI * Math.pow(macro.scale, 3) * macro.baseDickLength * Math.pow(macro.arousalDickFactor, 3))); | 
		
	
		
			
			|  |  |  | macro.dickScale = Math.pow(scaleChangerPart, 1/3); | 
		
	
		
			
			|  |  |  | // dickScale^3 = volume/ pi * baseDickRadius^2 * macro.scale^3 * baseDickLength * arousalDickFactor^3 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newMassPart = macro.dickMass; | 
		
	
		
			
			|  |  |  | let newLengthPart = macro.dickLength; | 
		
	
		
			
			|  |  |  | let deltaMassPart = newMassPart - oldMassPart; | 
		
	
		
			
			|  |  |  | let deltaLengthPart = newLengthPart - oldLengthPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.dickType + " cock grows " + length(deltaLengthPart, unit, false) + " longer and gains " + mass(deltaMassPart, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.cockGrowthFactor) * macro.preyGrowthFactor * preyMass); //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_dick((macro.cockGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "balls" && macro.ballGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = (1 - macro.ballGrowthFactor) * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.ballGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldMassPart = macro.ballMass; | 
		
	
		
			
			|  |  |  | let oldDiameterPart = macro.ballDiameter; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (macro.ballMass + preyMassPart) / macro.ballDensity; | 
		
	
		
			
			|  |  |  | //mass=volume*density. Since we know what we want our mass to be, we can figure out how much volume the final part should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = Math.pow((6 * volumeChangerPart/ Math.PI), 1/3) | 
		
	
		
			
			|  |  |  | macro.ballScale = scaleChangerPart/(macro.baseBallDiameter * macro.scale); | 
		
	
		
			
			|  |  |  | // (6 * volume / pi)^1/3 = base ball diam * scale *ballScale | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newMassPart = macro.ballMass; | 
		
	
		
			
			|  |  |  | let newDiameterPart = macro.ballDiameter; | 
		
	
		
			
			|  |  |  | let deltaMassPart = newMassPart - oldMassPart; | 
		
	
		
			
			|  |  |  | let deltaDiameterPart = newDiameterPart - oldDiameterPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your balls swell by " + length(deltaDiameterPart, unit, false) + ", gaining " + mass(deltaMassPart, unit, false) + " of mass apiece.",newline]); | 
		
	
		
			
			|  |  |  | preyMassBody = (1 - macro.ballGrowthFactor) * macro.preyGrowthFactor * preyMass; //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_balls((macro.ballGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "bowels" && macro.assGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = (1 - macro.assGrowthFactor) * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.assGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldAreaPart = macro.assArea; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | //this is a hack, but the commented out block below doesn't work | 
		
	
		
			
			|  |  |  | macro.assScale = (macro.assScale + (preyMassPart/macro.mass)); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | //This Code is broken and I dont know why: | 
		
	
		
			
			|  |  |  | //let radiusPart = Math.pow((macro.assArea/(4 * Math.PI)), 1/2); | 
		
	
		
			
			|  |  |  | //let volumeChangerPart = (preyMassPart + (((4 * Math.PI)/3) * Math.pow(radiusPart, 3) * macro.assDensity) / macro.assDensity); | 
		
	
		
			
			|  |  |  | ///volume=(mass1+mass2)/density. Mass2 is calcualted from volume*density   this is modeling the ass as a sphere(2 hemispheres) | 
		
	
		
			
			|  |  |  | //let scaleChangerPart = ((Math.pow(((3/(4 * Math.PI)) * volumeChangerPart), 2/3) * 4 * Math.PI) / (macro.baseAssArea * Math.pow(macro.scale, 2))); | 
		
	
		
			
			|  |  |  | //macro.assScale = scaleChangerPart; | 
		
	
		
			
			|  |  |  | ///V=4/3((baseassArea*scale^2*AssScale)/4pi)^3/2 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newAreaPart = macro.assArea; | 
		
	
		
			
			|  |  |  | let deltaAreaPart = newAreaPart - oldAreaPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your ass swells by "  + length(deltaAreaPart, unit, false) + ".",newline]); | 
		
	
		
			
			|  |  |  | preyMassBody = (1 - macro.assGrowthFactor) * macro.preyGrowthFactor * preyMass; //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_ass((macro.assGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "breasts" && macro.breastGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | let preyMassBody = (1 - macro.breastGrowthFactor) * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.breastGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldMassPart = macro.breastMass; | 
		
	
		
			
			|  |  |  | let oldDiameterPart = macro.breastDiameter; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (preyMassPart + macro.breastMass) / macro.breastDensity; | 
		
	
		
			
			|  |  |  | //volume=(mass1+mass2)/density. Mass2 is calcualted from volume*density | 
		
	
		
			
			|  |  |  | let scaleChangerPart = Math.pow((6 * volumeChangerPart/ Math.PI), 1/3) | 
		
	
		
			
			|  |  |  | macro.breastScale = scaleChangerPart/(macro.baseBreastDiameter * macro.scale); | 
		
	
		
			
			|  |  |  | // (6 * volume / pi)^1/3 = base ball diam * scale *ballScale | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newMassPart = macro.breastMass; | 
		
	
		
			
			|  |  |  | let newDiameterPart = macro.breastDiameter; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let deltaMassPart = newMassPart - oldMassPart; | 
		
	
		
			
			|  |  |  | let deltaDiameterPart = newDiameterPart - oldDiameterPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your breasts swell by " + length(deltaDiameterPart, unit, false) + ", gaining " + mass(deltaMassPart, unit, false) + " of mass apiece.",newline]); | 
		
	
		
			
			|  |  |  | let preyMassBody = (1 - macro.breastGrowthFactor) * macro.preyGrowthFactor * preyMass; //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_breasts((macro.breastGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "womb") { | 
		
	
		
			
			|  |  |  | if (macro.wombGrowthFactor > 0){ | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.wombGrowthFactor) * macro.preyGrowthFactor * preyMass); | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.wombGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldVolumeWomb = macro.wombVolume; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.wombVolume * macro.wombDensity) + preyMassPart) / macro.wombDensity; | 
		
	
		
			
			|  |  |  | //mass = volume*density. Since we know what we want our mass to be, we can figure out how much volume the final tail should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/macro.baseWombVolume); | 
		
	
		
			
			|  |  |  | macro.wombScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | // wombVolume = baseWombVolume * (wombScale * macro.scale)^3 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newVolumeWomb = macro.wombVolume; | 
		
	
		
			
			|  |  |  | let deltaVolumeWomb = newVolumeWomb - oldVolumeWomb; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your womb grows larger, gaining " + volume(deltaVolumeWomb, unit, false) + " of capacity.",newline]); | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.wombGrowthFactor) * macro.preyGrowthFactor * preyMass); //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_womb((macro.wombGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | } if (macro.vaginaGrowthFactor > 0){ | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.vaginaGrowthFactor) * macro.preyGrowthFactor * preyMassBody); | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.vaginaGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldLengthVagina = macro.vaginaLength; | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.vaginaGrowthFactor) * macro.preyGrowthFactor * preyMassBody); //if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_vagina((macro.vaginaGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } else if (part === "paws" && macro.pawGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.pawGrowthFactor) * macro.preyGrowthFactor * preyMassBody); // if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | grow_paws((macro.pawGrowthFactor * macro.preyGrowthFactor * preyMass), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.vaginaVolume * macro.wombDensity) + preyMassPart) / macro.wombDensity; | 
		
	
		
			
			|  |  |  | //mass = volume*density. Since we know what we want our mass to be, we can figure out how much volume the final tail should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/(Math.pow(macro.baseVaginaWidth, 2) * macro.baseVaginaLength)); | 
		
	
		
			
			|  |  |  | macro.vaginaScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | // vaginaVolume = baseVaginaWidth^2 * baseVaginaLength * (vaginaScale * macro.scale)^3 | 
		
	
		
			
			|  |  |  | } else if (part === "souls" && macro.soulGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = 0; //keeps body growth from running | 
		
	
		
			
			|  |  |  | grow((preyMass * macro.soulGrowthFactor), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newLengthVagina = macro.vaginaLength; | 
		
	
		
			
			|  |  |  | let deltaLengthVagina = newLengthVagina - oldLengthVagina; | 
		
	
		
			
			|  |  |  | } else if (part === "goo" && macro.gooGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = 0; //keeps body growth from running | 
		
	
		
			
			|  |  |  | grow((preyMass * macro.gooGrowthFactor), false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your moist slit expands by by " + length(deltaLengthVagina, unit, false) + ".",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "paws" && macro.pawGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | preyMassBody = ((1 - macro.vaginaGrowthFactor) * macro.preyGrowthFactor * preyMassBody); | 
		
	
		
			
			|  |  |  | //if you rewrite this function to incude multiple part growth based on a single action, this line will break | if growth factor is greater than 1, this function will behave oddly | 
		
	
		
			
			|  |  |  | let preyMassPart = macro.pawGrowthFactor * macro.preyGrowthFactor * preyMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldAreaPart = macro.pawArea; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (((Math.pow(macro.pawWidth, 2) * macro.pawLength * macro.pawDensity) + preyMassPart) / (3 *macro.pawDensity)); | 
		
	
		
			
			|  |  |  | //mass = volume*density. Since we know what we want our mass to be, we can figure out how much volume the final tail should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = ((3 * volumeChangerPart)/(Math.pow(macro.basePawWidth, 2) * macro.basePawLength)); | 
		
	
		
			
			|  |  |  | macro.pawScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | // volume = 1/3 basewidth^2 * baselength *scale^3 *pawscale^3 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newAreaPart = macro.pawArea; | 
		
	
		
			
			|  |  |  | let deltaAreaPart = newAreaPart - oldAreaPart; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.footDesc(true) + " grow, gaining " + area(deltaAreaPart, unit, false) + " of area.",newline]); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } else if (part === "souls") { | 
		
	
		
			
			|  |  |  | preyMassBody = 0; | 
		
	
		
			
			|  |  |  | if (macro.soulGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | let oldHeight = macro.height; | 
		
	
		
			
			|  |  |  | let oldMass = macro.mass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let scaleChanger = ((macro.mass + (preyMass * macro.soulGrowthFactor)) / macro.baseMass); | 
		
	
		
			
			|  |  |  | //scale changer works because macro.mass = macro.baseMass * macro.scale^3 | 
		
	
		
			
			|  |  |  | macro.scale = Math.pow(scaleChanger, 1/3); | 
		
	
		
			
			|  |  |  | let newHeight = macro.height; | 
		
	
		
			
			|  |  |  | let newMass = macro.mass; | 
		
	
		
			
			|  |  |  | let deltaHeight = newHeight - oldHeight; | 
		
	
		
			
			|  |  |  | let deltaMass = newMass - oldMass; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | update(["Power surges through you as you grow " + length(deltaHeight, unit, false) + " taller and gain " + mass(deltaMass, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } else if (part === "goo") { | 
		
	
		
			
			|  |  |  | preyMassBody = 0; | 
		
	
		
			
			|  |  |  | if (macro.gooGrowthFactor > 0) { | 
		
	
		
			
			|  |  |  | let oldHeight = macro.height; | 
		
	
		
			
			|  |  |  | let oldMass = macro.mass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let scaleChanger = ((macro.mass + (preyMass * macro.gooGrowthFactor)) / macro.baseMass); | 
		
	
		
			
			|  |  |  | //scale changer works because macro.mass = macro.baseMass * macro.scale^3 | 
		
	
		
			
			|  |  |  | macro.scale = Math.pow(scaleChanger, 1/3); | 
		
	
		
			
			|  |  |  | let newHeight = macro.height; | 
		
	
		
			
			|  |  |  | let newMass = macro.mass; | 
		
	
		
			
			|  |  |  | let deltaHeight = newHeight - oldHeight; | 
		
	
		
			
			|  |  |  | let deltaMass = newMass - oldMass; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | update(["Power surges through you as you grow " + length(deltaHeight, unit, false) + " taller and gain " + mass(deltaMass, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | //Body, runs after organ specific growth so organ specific growth factor kicks in. Doesn't run after goo or soul related growth | 
		
	
		
			
			|  |  |  | } if (preyMassBody > 0){ | 
		
	
		
			
			|  |  |  | let oldHeight = macro.height; | 
		
	
		
			
			|  |  |  | let oldMass = macro.mass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let scaleChanger = ((macro.mass + preyMassBody) / macro.baseMass); | 
		
	
		
			
			|  |  |  | //scale changer works because macro.mass = macro.baseMass * macro.scale^3 | 
		
	
		
			
			|  |  |  | macro.scale = Math.pow(scaleChanger, 1/3); | 
		
	
		
			
			|  |  |  | let newHeight = macro.height; | 
		
	
		
			
			|  |  |  | let newMass = macro.mass; | 
		
	
		
			
			|  |  |  | let deltaHeight = newHeight - oldHeight; | 
		
	
		
			
			|  |  |  | let deltaMass = newMass - oldMass; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | update(["Power surges through you as you grow " + length(deltaHeight, unit, false) + " taller and gain " + mass(deltaMass, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | grow(preyMassBody, false); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | //Manual Growth | 
		
	
	
		
			
				|  |  | @@ -4401,132 +4239,201 @@ function grow_pick(times) { | 
		
	
		
			
			|  |  |  | case "slit": grow_vagina(times); break; | 
		
	
		
			
			|  |  |  | case "womb": grow_womb(times); break; | 
		
	
		
			
			|  |  |  | case "breasts": grow_breasts(times); break; | 
		
	
		
			
			|  |  |  | case "wings": grow_wings(times); break; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow(factor=1) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow(factor=1, simpleCalc=true){ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldHeight = macro.height; | 
		
	
		
			
			|  |  |  | let oldMass = macro.mass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.scale *= factor; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let newHeight = macro.height; | 
		
	
		
			
			|  |  |  | let newMass = macro.mass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let heightDelta = newHeight - oldHeight; | 
		
	
		
			
			|  |  |  | let massDelta = newMass - oldMass; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.scale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | macro.scale = Math.pow(((macro.mass + factor) / macro.baseMass), 1/3); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let heightStr = length(heightDelta, unit); | 
		
	
		
			
			|  |  |  | let massStr = mass(massDelta, unit); | 
		
	
		
			
			|  |  |  | let heightDelta = macro.height - oldHeight; | 
		
	
		
			
			|  |  |  | let massDelta = macro.mass - oldMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as you grow " + heightStr + " taller and gain " + massStr + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | update(["Power surges through you as you grow " + length(heightDelta, unit) + " taller and gain " + mass(massDelta, unit) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_paws(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_paws(factor, simpleCalc=true){ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldArea = macro.pawArea; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.pawScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.pawScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (((Math.pow(macro.pawWidth, 2) * macro.pawLength * macro.pawDensity) + factor) / (3 *macro.pawDensity)); | 
		
	
		
			
			|  |  |  | //mass = volume*density. Since we know what we want our mass to be, we can figure out how much volume the final paw should have | 
		
	
		
			
			|  |  |  | let scaleChangerPart = ((3 * volumeChangerPart)/(Math.pow(macro.basePawWidth, 2) * macro.basePawLength)); | 
		
	
		
			
			|  |  |  | macro.pawScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | // volume = 1/3 basewidth^2 * baselength *scale^3 *pawscale^3 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let areaDelta = macro.pawArea - oldArea; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let areaStr = area(areaDelta, unit, false); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.footDesc(true) + " grow, gaining " + areaStr + " of area.",newline]); | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.footDesc(true) + " grow, gaining " + area(areaDelta, unit, false) + " of area.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_tail(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_tail(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldLength = macro.tailLength; | 
		
	
		
			
			|  |  |  | let oldMass = macro.tailMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.tailScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.tailScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (macro.tailMass + (factor/macro.tailCount)) / macro.tailDensity; | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/((Math.pow(macro.baseTailDiameter/2, 2)) * Math.PI * macro.baseTailLength * (Math.pow(macro.scale, 3)))); | 
		
	
		
			
			|  |  |  | macro.tailScale = Math.pow(scaleChangerPart, 1/3); | 
		
	
		
			
			|  |  |  | // (tailVolume/((macro.baseTailDiameter/2)^2 * Math.PI * macro.baseTailLength * macro.scale^3)) = macro.tailScale^3 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let lengthDelta = macro.tailLength - oldLength; | 
		
	
		
			
			|  |  |  | let massDelta = macro.tailMass - oldMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.tailType + " tail grows " + length(lengthDelta, unit, false) + " longer and gains " + mass(massDelta, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_dick(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_dick(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldLength = macro.dickLength; | 
		
	
		
			
			|  |  |  | let oldMass = macro.dickMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.dickScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.dickScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.dickMass + factor) / macro.dickDensity); | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart /( Math.pow(macro.baseDickDiameter/2, 2) *Math.PI * Math.pow(macro.scale, 3) * macro.baseDickLength * Math.pow(macro.arousalDickFactor, 3))); | 
		
	
		
			
			|  |  |  | macro.dickScale = Math.pow(scaleChangerPart, 1/3); | 
		
	
		
			
			|  |  |  | // dickScale^3 = volume/ pi * baseDickRadius^2 * macro.scale^3 * baseDickLength * arousalDickFactor^3 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let lengthDelta = macro.dickLength - oldLength; | 
		
	
		
			
			|  |  |  | let massDelta = macro.dickMass - oldMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.dickType + " cock grows " + length(lengthDelta, unit, false) + " longer and gains " + mass(massDelta, unit, false) + " of mass.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_balls(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_balls(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldDiameter = macro.ballDiameter; | 
		
	
		
			
			|  |  |  | let oldMass = macro.ballMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.ballScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.ballScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (macro.ballMass + factor) / macro.ballDensity; | 
		
	
		
			
			|  |  |  | let scaleChangerPart = Math.pow((6 * volumeChangerPart/ Math.PI), 1/3) | 
		
	
		
			
			|  |  |  | macro.ballScale = scaleChangerPart/(macro.baseBallDiameter * macro.scale); | 
		
	
		
			
			|  |  |  | // (6 * volume / pi)^1/3 = base ball diam * scale *ballScale | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let diameterDelta = macro.ballDiameter - oldDiameter; | 
		
	
		
			
			|  |  |  | let massDelta = macro.ballMass - oldMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your balls swell by " + length(diameterDelta, unit, false) + ", gaining " + mass(massDelta, unit, false) + " of mass apiece.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_breasts(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_breasts(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldDiameter = macro.breastDiameter; | 
		
	
		
			
			|  |  |  | let oldMass = macro.breastMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.breastScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.breastScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = (factor + macro.breastMass) / macro.breastDensity; | 
		
	
		
			
			|  |  |  | let scaleChangerPart = Math.pow((6 * volumeChangerPart/ Math.PI), 1/3) | 
		
	
		
			
			|  |  |  | macro.breastScale = scaleChangerPart/(macro.baseBreastDiameter * macro.scale); | 
		
	
		
			
			|  |  |  | // (6 * volume / pi)^1/3 = base ball diam * scale * ballScale | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let diameterDelta = macro.breastDiameter - oldDiameter; | 
		
	
		
			
			|  |  |  | let massDelta = macro.breastMass - oldMass; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your breasts swell by " + length(diameterDelta, unit, false) + ", gaining " + mass(massDelta, unit, false) + " of mass apiece.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_vagina(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_vagina(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldLength = macro.vaginaLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.vaginaScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.vaginaScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.vaginaVolume * macro.wombDensity) + factor) / macro.wombDensity; | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/(Math.pow(macro.baseVaginaWidth, 2) * macro.baseVaginaLength)); | 
		
	
		
			
			|  |  |  | macro.vaginaScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | //vaginaVolume = baseVaginaWidth^2 * baseVaginaLength * (vaginaScale * macro.scale)^3 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let lengthDelta = macro.vaginaLength - oldLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your moist slit expands by by " + length(lengthDelta, unit, false) + ".",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_womb(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_womb(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldVolume = macro.wombVolume; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.wombScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.wombScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | let volumeChangerPart = ((macro.wombVolume * macro.wombDensity) + factor) / macro.wombDensity; | 
		
	
		
			
			|  |  |  | let scaleChangerPart = (volumeChangerPart/macro.baseWombVolume); | 
		
	
		
			
			|  |  |  | macro.wombScale = (Math.pow(scaleChangerPart, 1/3)/macro.scale); | 
		
	
		
			
			|  |  |  | //wombVolume = baseWombVolume * (wombScale * macro.scale)^3 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let volumeDelta = macro.wombVolume - oldVolume; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your womb grows larger, gaining " + volume(volumeDelta, unit, false) + " of capacity.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_ass(factor) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | function grow_ass(factor, simpleCalc=true) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldDiameter = Math.pow(macro.assArea,1/2); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | macro.assScale *= factor; | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.assScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | macro.assScale = (macro.assScale + (factor/macro.mass)); //this is a hack, but the commented out block below doesn't work | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | //This Code is broken and I dont know why: | 
		
	
		
			
			|  |  |  | //let radiusPart = Math.pow((macro.assArea/(4 * Math.PI)), 1/2); | 
		
	
		
			
			|  |  |  | //let volumeChangerPart = (preyMassPart + (((4 * Math.PI)/3) * Math.pow(radiusPart, 3) * macro.assDensity) / macro.assDensity); | 
		
	
		
			
			|  |  |  | //volume=(mass1+mass2)/density. Mass2 is calcualted from volume*density   this is modeling the ass as a sphere(2 hemispheres) | 
		
	
		
			
			|  |  |  | //let scaleChangerPart = ((Math.pow(((3/(4 * Math.PI)) * volumeChangerPart), 2/3) * 4 * Math.PI) / (macro.baseAssArea * Math.pow(macro.scale, 2))); | 
		
	
		
			
			|  |  |  | //macro.assScale = scaleChangerPart; | 
		
	
		
			
			|  |  |  | //V=4/3((baseassArea*scale^2*AssScale)/4pi)^3/2 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let diameterDelta = Math.pow(macro.assArea,1/2) - oldDiameter; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your ass swells by " + length(diameterDelta, unit, false) + ".",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function grow_wings(factor, simpleCalc=true){ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let oldLength = macro.wingLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (simpleCalc == true){ | 
		
	
		
			
			|  |  |  | macro.pawScale *= factor; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | macro.wingScale = (macro.wingScale + (factor/macro.mass)) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let lengthDelta = macro.wingLength - oldLength; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | update(["Power surges through you as your " + macro.wingDesc(true) + " grow, gaining " + length(2 * lengthDelta, unit, false) + " of wingspan.",newline]); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function resetSettings() { | 
		
	
		
			
			|  |  |  | document.forms.namedItem("custom-species-form").reset(); | 
		
	
		
			
			|  |  |  | updateAllPreviews(); | 
		
	
	
		
			
				|  |  | 
 |