| @@ -189,7 +189,7 @@ let macro = | |||
| get dickGirth() { | |||
| return Math.pow((this.dickDiameter/ 2),2) * Math.PI; | |||
| }, | |||
| get dickStretchGreath() { | |||
| get dickStretchGirth() { | |||
| return this.dickGirth * this.dickStretchiness * this.dickStretchiness; | |||
| }, | |||
| get dickArea() { | |||
| @@ -1609,7 +1609,7 @@ function breast_crush() | |||
| function breast_vore() | |||
| { | |||
| // todo nipple areas? | |||
| let area = macro.breastArea/2; | |||
| let area = macro.breastStretchArea/4; | |||
| let prey = getPrey(biome, area, macro.sameSizeVore); | |||
| let line = describe("breast-vore", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), false); | |||
| @@ -2121,12 +2121,21 @@ function tail_slap() | |||
| function tail_vore() | |||
| { | |||
| let area = macro.tailStretchGirth * macro.tailCount; | |||
| let prey = getPrey(biome, area, macro.sameSizeVore); | |||
| let line = describe("tail-vore", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), false); | |||
| let lines = []; | |||
| let totalPrey = new Container(); | |||
| for (let i=0; i<macro.tailCount; i++) { | |||
| let area = macro.tailStretchGirth; | |||
| let prey = getPrey(biome, area, macro.sameSizeVore); | |||
| totalPrey = totalPrey.merge(prey); | |||
| let line = describe("tail-vore", prey, macro, verbose); | |||
| lines.push(line); | |||
| } | |||
| let people = get_living_prey(prey.sum()); | |||
| let linesummary = summarize(totalPrey.sum(), false); | |||
| lines.push(linesummary); | |||
| let people = get_living_prey(totalPrey.sum()); | |||
| let sound = ""; | |||
| if (people == 0) { | |||
| @@ -2144,14 +2153,14 @@ function tail_vore() | |||
| } else { | |||
| sound = "Oh the humanity!"; | |||
| } | |||
| let preyMass = prey.sum_property("mass"); | |||
| let preyMass = totalPrey.sum_property("mass"); | |||
| macro.addGrowthPoints(preyMass); | |||
| macro.stomach.feed(prey); | |||
| macro.stomach.feed(totalPrey); | |||
| updateVictims("tailmaw'd",prey); | |||
| update([sound,line,linesummary,newline]); | |||
| updateVictims("tailmaw'd",totalPrey); | |||
| update([sound].concat(lines)); | |||
| macro.arouse(5); | |||
| } | |||
| @@ -174,13 +174,13 @@ function defaultTailSlap(container, macro, verbose) { | |||
| function defaultTailVore(container, macro, verbose) { | |||
| if (container.count == 0) | |||
| return "Your " + (macro.tailCount > 1 ? "drooling tails swing" : "drooling tail swings") + " to and fro"; | |||
| return "Your drooling tail swings to and fro"; | |||
| else if (isFatal(macro)) | |||
| return "Your " + macro.describeTail + (macro.tailCount > 1 ? " tails lunge, maws agape, " : " tail lunges, maw agape, ") + "at " + container.describe(verbose) + | |||
| ". " + (macro.tailCount > 1 ? "They" : "It") + " scarf down everything in a second, gulping forcefully to drag your prey into your sloppy guts."; | |||
| return "Your tail lunges, maw agape, at " + container.describe(verbose) + | |||
| ". It scarfs down everything in seconds, gulping forcefully to drag your prey into your sloppy guts."; | |||
| else | |||
| return "Your " + macro.describeTail + (macro.tailCount > 1 ? " tails lunge, maws agape, " : " tail lunges, maw agape, ") + "at " + container.describe(verbose) + | |||
| ". " + (macro.tailCount > 1 ? "They" : "It") + " scarf down everything in a second, gulping forcefully and pulling everything into your belly."; | |||
| return "Your tail lunges, maw agape, at " + container.describe(verbose) + | |||
| ". It scarfs down everything in a second, gulping forcefully and pulling everything into your belly."; | |||
| } | |||
| function defaultCleavageStuff(container, macro, verbose) { | |||
| @@ -343,7 +343,7 @@ | |||
| </li> | |||
| <li> | |||
| <label for="tailStretchiness">Tail stretchiness</label> | |||
| <input type="number" name="tailStretchiness" placeholder="0.3"/> | |||
| <input type="number" name="tailStretchiness" placeholder="1"/> | |||
| </li> | |||
| </div> | |||
| </div> | |||
| @@ -378,6 +378,10 @@ | |||
| <label for="baseDickDiameter">Cock diameter</label> | |||
| <input type="number" id="baseDickDiameter" name="baseDickDiameter" placeholder="0.08"/> | |||
| </li> | |||
| <li> | |||
| <label for="dickStretchiness">Cock stretchiness</label> | |||
| <input type="number" name="dickStretchiness" placeholder="1"/> | |||
| </li> | |||
| <li> | |||
| <label for="baseBallDiameter">Ball diameter</label> | |||
| <input type="number" id="baseBallDiameter" name="baseBallDiameter" placeholder="0.05"/> | |||
| @@ -401,6 +405,10 @@ | |||
| <label for="baseBreastDiameter">Breast diameter</label> | |||
| <input type="number" id="baseBreastDiameter" name="baseBreastDiameter" placeholder="0.1"/> | |||
| </li> | |||
| <li> | |||
| <label for="breastStretchiness">Breast stretchiness</label> | |||
| <input type="number" name="breastStretchiness" placeholder="1"/> | |||
| </li> | |||
| <li> | |||
| <div class="custom-category-sub"> | |||
| <ul class="flex-outer-sub"> | |||
| @@ -438,6 +446,10 @@ | |||
| <label for="baseVaginaWidth">Slit width</label> | |||
| <input type="number" id="baseVaginaWidth" name="baseVaginaWidth" placeholder="0.05"/> | |||
| </li> | |||
| <li> | |||
| <label for="vaginaStretchiness">Slit stretchiness</label> | |||
| <input type="number" name="vaginaStretchiness" placeholder="1"/> | |||
| </li> | |||
| <li> | |||
| <label for="baseFemcumRatio" class="has-tooltip" title="scales how much femcum is released with each shot">Orgasm femcum ratio</label> | |||
| <input type="number" id="baseFemcumRatio" name="baseFemcumRatio" placeholder="1"/> | |||