| @@ -189,7 +189,7 @@ let macro = | |||||
| get dickGirth() { | get dickGirth() { | ||||
| return Math.pow((this.dickDiameter/ 2),2) * Math.PI; | return Math.pow((this.dickDiameter/ 2),2) * Math.PI; | ||||
| }, | }, | ||||
| get dickStretchGreath() { | |||||
| get dickStretchGirth() { | |||||
| return this.dickGirth * this.dickStretchiness * this.dickStretchiness; | return this.dickGirth * this.dickStretchiness * this.dickStretchiness; | ||||
| }, | }, | ||||
| get dickArea() { | get dickArea() { | ||||
| @@ -1609,7 +1609,7 @@ function breast_crush() | |||||
| function breast_vore() | function breast_vore() | ||||
| { | { | ||||
| // todo nipple areas? | // todo nipple areas? | ||||
| let area = macro.breastArea/2; | |||||
| let area = macro.breastStretchArea/4; | |||||
| let prey = getPrey(biome, area, macro.sameSizeVore); | let prey = getPrey(biome, area, macro.sameSizeVore); | ||||
| let line = describe("breast-vore", prey, macro, verbose); | let line = describe("breast-vore", prey, macro, verbose); | ||||
| let linesummary = summarize(prey.sum(), false); | let linesummary = summarize(prey.sum(), false); | ||||
| @@ -2121,12 +2121,21 @@ function tail_slap() | |||||
| function tail_vore() | 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 = ""; | let sound = ""; | ||||
| if (people == 0) { | if (people == 0) { | ||||
| @@ -2144,14 +2153,14 @@ function tail_vore() | |||||
| } else { | } else { | ||||
| sound = "Oh the humanity!"; | sound = "Oh the humanity!"; | ||||
| } | } | ||||
| let preyMass = prey.sum_property("mass"); | |||||
| let preyMass = totalPrey.sum_property("mass"); | |||||
| macro.addGrowthPoints(preyMass); | 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); | macro.arouse(5); | ||||
| } | } | ||||
| @@ -174,13 +174,13 @@ function defaultTailSlap(container, macro, verbose) { | |||||
| function defaultTailVore(container, macro, verbose) { | function defaultTailVore(container, macro, verbose) { | ||||
| if (container.count == 0) | 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)) | 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 | 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) { | function defaultCleavageStuff(container, macro, verbose) { | ||||
| @@ -343,7 +343,7 @@ | |||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label for="tailStretchiness">Tail stretchiness</label> | <label for="tailStretchiness">Tail stretchiness</label> | ||||
| <input type="number" name="tailStretchiness" placeholder="0.3"/> | |||||
| <input type="number" name="tailStretchiness" placeholder="1"/> | |||||
| </li> | </li> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -378,6 +378,10 @@ | |||||
| <label for="baseDickDiameter">Cock diameter</label> | <label for="baseDickDiameter">Cock diameter</label> | ||||
| <input type="number" id="baseDickDiameter" name="baseDickDiameter" placeholder="0.08"/> | <input type="number" id="baseDickDiameter" name="baseDickDiameter" placeholder="0.08"/> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="dickStretchiness">Cock stretchiness</label> | |||||
| <input type="number" name="dickStretchiness" placeholder="1"/> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <label for="baseBallDiameter">Ball diameter</label> | <label for="baseBallDiameter">Ball diameter</label> | ||||
| <input type="number" id="baseBallDiameter" name="baseBallDiameter" placeholder="0.05"/> | <input type="number" id="baseBallDiameter" name="baseBallDiameter" placeholder="0.05"/> | ||||
| @@ -401,6 +405,10 @@ | |||||
| <label for="baseBreastDiameter">Breast diameter</label> | <label for="baseBreastDiameter">Breast diameter</label> | ||||
| <input type="number" id="baseBreastDiameter" name="baseBreastDiameter" placeholder="0.1"/> | <input type="number" id="baseBreastDiameter" name="baseBreastDiameter" placeholder="0.1"/> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="breastStretchiness">Breast stretchiness</label> | |||||
| <input type="number" name="breastStretchiness" placeholder="1"/> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <div class="custom-category-sub"> | <div class="custom-category-sub"> | ||||
| <ul class="flex-outer-sub"> | <ul class="flex-outer-sub"> | ||||
| @@ -438,6 +446,10 @@ | |||||
| <label for="baseVaginaWidth">Slit width</label> | <label for="baseVaginaWidth">Slit width</label> | ||||
| <input type="number" id="baseVaginaWidth" name="baseVaginaWidth" placeholder="0.05"/> | <input type="number" id="baseVaginaWidth" name="baseVaginaWidth" placeholder="0.05"/> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="vaginaStretchiness">Slit stretchiness</label> | |||||
| <input type="number" name="vaginaStretchiness" placeholder="1"/> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <label for="baseFemcumRatio" class="has-tooltip" title="scales how much femcum is released with each shot">Orgasm femcum ratio</label> | <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"/> | <input type="number" id="baseFemcumRatio" name="baseFemcumRatio" placeholder="1"/> | ||||