| @@ -2592,8 +2592,32 @@ function male_spurt(vol) | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("cum-flood",prey); | |||
| update([sound,line,linesummary,newline]); | |||
| if (macro.maleMuskEnabled) { | |||
| male_spurt_musk(area * macro.baseMaleMuskArea); | |||
| } | |||
| } | |||
| function male_spurt_musk(area) { | |||
| let prey = getPrey(biome, area); | |||
| let line = describe("male-spurt-musk", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), true); | |||
| let people = get_living_prey(prey.sum()); | |||
| if (get_living_prey(prey.sum()) == 0) | |||
| return; | |||
| let preyMass = prey.sum_property("mass"); | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("emale-spurt-musk",prey); | |||
| update([line,linesummary,newline]); | |||
| macro.arouse(5); | |||
| } | |||
| function male_orgasm(vol,times) | |||
| @@ -2614,6 +2638,31 @@ function male_orgasm(vol,times) | |||
| add_victim_people("cum-flood",prey); | |||
| update([sound,line,linesummary,newline]); | |||
| if (macro.maleMuskEnabled) { | |||
| male_orgasm_musk(area * macro.baseMaleMuskArea); | |||
| } | |||
| } | |||
| function male_orgasm_musk(area) { | |||
| let prey = getPrey(biome, area); | |||
| let line = describe("male-orgasm-musk", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), true); | |||
| let people = get_living_prey(prey.sum()); | |||
| if (get_living_prey(prey.sum()) == 0) | |||
| return; | |||
| let preyMass = prey.sum_property("mass"); | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("male-orgasm-musk",prey); | |||
| update([line,linesummary,newline]); | |||
| macro.arouse(5); | |||
| } | |||
| function female_spurt(vol) | |||
| @@ -2633,8 +2682,32 @@ function female_spurt(vol) | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("femcum-flood",prey); | |||
| update([sound,line,linesummary,newline]); | |||
| if (macro.femaleMuskEnabled) { | |||
| female_spurt_musk(area * macro.baseFemaleMuskArea); | |||
| } | |||
| } | |||
| function female_spurt_musk(area) { | |||
| let prey = getPrey(biome, area); | |||
| let line = describe("female-spurt-musk", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), true); | |||
| let people = get_living_prey(prey.sum()); | |||
| if (get_living_prey(prey.sum()) == 0) | |||
| return; | |||
| let preyMass = prey.sum_property("mass"); | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("female-spurt-musk",prey); | |||
| update([line,linesummary,newline]); | |||
| macro.arouse(5); | |||
| } | |||
| function female_orgasm(vol,times) | |||
| @@ -2654,8 +2727,32 @@ function female_orgasm(vol,times) | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("femcum-flood",prey); | |||
| update([sound,line,linesummary,newline]); | |||
| if (macro.femaleMuskEnabled) { | |||
| female_orgasm_musk(area * macro.baseFemaleMuskArea); | |||
| } | |||
| } | |||
| function female_orgasm_musk(area) { | |||
| let prey = getPrey(biome, area); | |||
| let line = describe("female-orgasm-musk", prey, macro, verbose); | |||
| let linesummary = summarize(prey.sum(), true); | |||
| let people = get_living_prey(prey.sum()); | |||
| if (get_living_prey(prey.sum()) == 0) | |||
| return; | |||
| let preyMass = prey.sum_property("mass"); | |||
| macro.addGrowthPoints(preyMass); | |||
| add_victim_people("female-orgasm-musk",prey); | |||
| update([line,linesummary,newline]); | |||
| macro.arouse(5); | |||
| } | |||
| function tail_slap() | |||
| @@ -3977,6 +4074,11 @@ function startGame(e) { | |||
| if (macro.arousalEnabled) { | |||
| enable_victim("cum-flood","Flooded by cum"); | |||
| if (macro.maleMuskEnabled) { | |||
| enable_victim("male-spurt-musk","Inundated in masculine precum musk"); | |||
| enable_victim("male-orgasm-musk","Inundated in masculine cum musk"); | |||
| } | |||
| } | |||
| } | |||
| @@ -3994,6 +4096,11 @@ function startGame(e) { | |||
| if (macro.arousalEnabled) { | |||
| enable_victim("femcum-flood","Flooded by femcum"); | |||
| if (macro.femaleMuskEnabled) { | |||
| enable_victim("female-spurt-musk","Inundated in feminine precum musk"); | |||
| enable_victim("female-orgasm-musk","Inundated in feminine cum musk"); | |||
| } | |||
| } | |||
| if (macro.unbirthDigestTime == 0) { | |||
| @@ -25,7 +25,8 @@ var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","an | |||
| "breast-vore","breast-milk","unbirth","sheath-stuff","sheath-clench","sheath-crush", | |||
| "sheath-absorb","cock-vore","cockslap","ball-smother","male-spurt","male-orgasm","female-spurt", | |||
| "female-orgasm","grind","pouch-stuff","pouch-rub","pouch-eat","pouch-absorb","soul-vore","soul-absorb-paw", | |||
| "paw-stench","ass-stench","piss-stench","scat-stench","belch","fart","stomach","tail","tail-to-stomach","womb","balls","bowels","bowels-to-stomach","breasts","bladder", | |||
| "paw-stench","ass-stench","piss-stench","scat-stench","male-orgasm-musk","female-orgasm-musk","male-spurt-musk","female-spurt-musk", | |||
| "belch","fart","stomach","tail","tail-to-stomach","womb","balls","bowels","bowels-to-stomach","breasts","bladder", | |||
| "soul-digest","wear-shoe","remove-shoe","wear-sock","remove-sock","stuff-shoe","dump-shoe","stuff-sock","dump-sock","piss","bladder-vore","scat", | |||
| "sheath-toy","slit-toy","breast-toy","melt","solidify","flood","stomp-goo","goo-digest","ass-goo","goo-stomach-pull","goo-stomach-push", | |||
| "goo-bowels-pull","goo-bowels-push","goo-womb-pull","goo-womb-push","goo-balls-pull","goo-balls-push","goo-breasts-pull","goo-breasts-push", | |||
| @@ -568,6 +569,46 @@ function defaultScatStench(container, macro, verbose) { | |||
| return "Your stinky scat overwhelms " + (sum > 1 ? sum + " people" : "a person") + " with your scent!"; | |||
| } | |||
| function defaultMaleSpurtMusk(container, macro, verbose) { | |||
| let sum = get_living_prey(container.sum()); | |||
| if (isSadistic(macro)) | |||
| return "Waves of corrosive musk waft from your precum, the bitter cloud liquefying the flesh of " + (sum > 1 ? numberRough(sum,"of") + " people" : "a person") + " as it dissolves " + container.describe(false) + "."; | |||
| if (isFatal(macro)) | |||
| return "Powerful musk wafts from your precum, choking the life from " + (sum > 1 ? sum + " people." : "a person."); | |||
| else | |||
| return "Your musky precum overwhelms " + (sum > 1 ? sum + " people" : "a person") + " with your scent!"; | |||
| } | |||
| function defaultFemaleSpurtMusk(container, macro, verbose) { | |||
| let sum = get_living_prey(container.sum()); | |||
| if (isSadistic(macro)) | |||
| return "Waves of corrosive musk waft from your precum, the bitter cloud liquefying the flesh of " + (sum > 1 ? numberRough(sum,"of") + " people" : "a person") + " as it dissolves " + container.describe(false) + "."; | |||
| if (isFatal(macro)) | |||
| return "Powerful musk wafts from your precum, choking the life from " + (sum > 1 ? sum + " people." : "a person."); | |||
| else | |||
| return "Your musky precum overwhelms " + (sum > 1 ? sum + " people" : "a person") + " with your scent!"; | |||
| } | |||
| function defaultMaleOrgasmMusk(container, macro, verbose) { | |||
| let sum = get_living_prey(container.sum()); | |||
| if (isSadistic(macro)) | |||
| return "Waves of corrosive musk waft from your cum, the bitter cloud liquefying the flesh of " + (sum > 1 ? numberRough(sum,"of") + " people" : "a person") + " as it dissolves " + container.describe(false) + "."; | |||
| if (isFatal(macro)) | |||
| return "Powerful musk wafts from your cum, choking the life from " + (sum > 1 ? sum + " people." : "a person."); | |||
| else | |||
| return "Your musky cum overwhelms " + (sum > 1 ? sum + " people" : "a person") + " with your scent!"; | |||
| } | |||
| function defaultFemaleOrgasmMusk(container, macro, verbose) { | |||
| let sum = get_living_prey(container.sum()); | |||
| if (isSadistic(macro)) | |||
| return "Waves of corrosive musk waft from your cum, the bitter cloud liquefying the flesh of " + (sum > 1 ? numberRough(sum,"of") + " people" : "a person") + " as it dissolves " + container.describe(false) + "."; | |||
| if (isFatal(macro)) | |||
| return "Powerful musk wafts from your cum, choking the life from " + (sum > 1 ? sum + " people." : "a person."); | |||
| else | |||
| return "Your musky cum overwhelms " + (sum > 1 ? sum + " people" : "a person") + " with your scent!"; | |||
| } | |||
| function defaultBelch(container, macro, verbose) { | |||
| let sum = get_living_prey(container.sum()); | |||
| if (container.count == 0) | |||
| @@ -717,6 +717,20 @@ | |||
| <input autocomplete="off" type="checkbox" id="cumScaleWithSize" name="cumScaleWithSize" /> | |||
| <label class="has-tooltip" for="cumScaleWithSize" title="If checked, produces more cum from the same prey as you get larger">Scale cum with size</label> | |||
| </li> | |||
| <li> | |||
| <div class="custom-category-sub"> | |||
| <ul class="flex-outer-sub"> | |||
| <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="maleMuskEnabled" name="maleMuskEnabled" /> | |||
| <label class="custom-header" for="maleMuskEnabled">Musk</label> | |||
| <div class="reveal-if-active"> | |||
| <li> | |||
| <label for="baseMaleMuskArea">Musk area</label> | |||
| <input autocomplete="off" type="number" step="any" id="baseMaleMuskArea" name="baseMaleMuskArea" placeholder="0.5" /> | |||
| </li> | |||
| </div> | |||
| </ul> | |||
| </div> | |||
| </li> | |||
| </div> | |||
| </div> | |||
| @@ -830,6 +844,20 @@ | |||
| <input autocomplete="off" type="checkbox" id="femcumScaleWithSize" name="femcumScaleWithSize" /> | |||
| <label class="has-tooltip" for="femcumScaleWithSize" title="If checked, produces more femcum from the same prey as you get larger">Scale femcum with size</label> | |||
| </li> | |||
| <li> | |||
| <div class="custom-category-sub"> | |||
| <ul class="flex-outer-sub"> | |||
| <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="femaleMuskEnabled" name="femaleMuskEnabled" /> | |||
| <label class="custom-header" for="femaleMuskEnabled">Musk</label> | |||
| <div class="reveal-if-active"> | |||
| <li> | |||
| <label for="baseFemaleMuskArea">Musk area</label> | |||
| <input autocomplete="off" type="number" step="any" id="baseFemaleMuskArea" name="baseFemaleMuskArea" placeholder="0.5" /> | |||
| </li> | |||
| </div> | |||
| </ul> | |||
| </div> | |||
| </li> | |||
| </div> | |||
| </div> | |||
| @@ -841,22 +869,18 @@ | |||
| <li> | |||
| <label for="basePawStenchArea">Paw stench area</label> | |||
| <input autocomplete="off" type="number" step="any" id="basePawStenchArea" name="basePawStenchArea" placeholder="1" /> | |||
| <div class="preview" id="basePawStenchAreaPreview"></div> | |||
| </li> | |||
| <li> | |||
| <label for="baseAssStenchArea">Ass stench area</label> | |||
| <input autocomplete="off" type="number" step="any" id="baseAssStenchArea" name="baseAssStenchArea" placeholder="2" /> | |||
| <div class="preview" id="baseAssStenchAreaPreview"></div> | |||
| </li> | |||
| <li> | |||
| <label for="basePissStenchArea">Piss stench area</label> | |||
| <input autocomplete="off" type="number" step="any" id="basePissStenchArea" name="basePissStenchArea" placeholder="0.75" /> | |||
| <div class="preview" id="basePissStenchAreaPreview"></div> | |||
| </li> | |||
| <li> | |||
| <label for="baseScatStenchArea">Scat stench area</label> | |||
| <input autocomplete="off" type="number" step="any" id="baseScatStenchArea" name="baseScatStenchArea" placeholder="1.5" /> | |||
| <div class="preview" id="baseScatStenchAreaPreview"></div> | |||
| </li> | |||
| </div> | |||
| </div> | |||