| @@ -388,8 +388,8 @@ let macro = | |||||
| return volume * this.breastDensity; | return volume * this.breastDensity; | ||||
| }, | }, | ||||
| "digest": function(owner,organ) { | |||||
| setTimeout(function() { owner.digest(owner,organ); }, 5000); | |||||
| "digest": function(owner, organ, time=15) { | |||||
| setTimeout(function() { owner.digest(owner, organ, time); }, time * 1000 / organ.stages); | |||||
| let count = Math.min(organ.contents.length, organ.maxDigest); | let count = Math.min(organ.contents.length, organ.maxDigest); | ||||
| @@ -454,7 +454,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.oralDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -499,7 +499,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.analDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -538,7 +538,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 3 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| "baseFemcumDigestFactor": 1, | "baseFemcumDigestFactor": 1, | ||||
| @@ -557,7 +557,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.unbirthDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -590,7 +590,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 2 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| "baseCumDigestFactor": 1, | "baseCumDigestFactor": 1, | ||||
| @@ -609,7 +609,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.cockDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -642,7 +642,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 2 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| "baseMilkDigestFactor": 1, | "baseMilkDigestFactor": 1, | ||||
| @@ -661,7 +661,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.breastDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -696,7 +696,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 2 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| "basePissDigestFactor": 1, | "basePissDigestFactor": 1, | ||||
| @@ -715,7 +715,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.bladderDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -748,7 +748,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 3 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| soulVoreEnabled: true, | soulVoreEnabled: true, | ||||
| @@ -759,7 +759,7 @@ let macro = | |||||
| this.owner = owner; | this.owner = owner; | ||||
| for (let i = 0; i < this.stages; i++) | for (let i = 0; i < this.stages; i++) | ||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.soulDigestTime); | |||||
| }, | }, | ||||
| "feed": function(prey) { | "feed": function(prey) { | ||||
| this.feedFunc(prey,this,this.owner); | this.feedFunc(prey,this,this.owner); | ||||
| @@ -793,7 +793,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 2 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| "gooEnabled": true, | "gooEnabled": true, | ||||
| @@ -809,7 +809,7 @@ let macro = | |||||
| this.contents.push(new Container()); | this.contents.push(new Container()); | ||||
| if (owner.gooDigestion) { | if (owner.gooDigestion) { | ||||
| owner.digest(owner,this); | |||||
| owner.digest(owner, this, owner.gooDigestTime); | |||||
| } | } | ||||
| @@ -844,7 +844,7 @@ let macro = | |||||
| } | } | ||||
| }, | }, | ||||
| "contents" : [], | "contents" : [], | ||||
| "stages" : 4 | |||||
| "stages": 3 | |||||
| }, | }, | ||||
| // holding spots | // holding spots | ||||
| @@ -21,8 +21,8 @@ var actions = ["eat","chew","vomit","stomp","stomp-wedge","flex-toes","kick","an | |||||
| "breast-vore","breast-milk","unbirth","sheath-stuff","sheath-clench","sheath-crush", | "breast-vore","breast-milk","unbirth","sheath-stuff","sheath-clench","sheath-crush", | ||||
| "sheath-absorb","cock-vore","cockslap","ball-smother","male-spurt","male-orgasm","female-spurt", | "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", | "female-orgasm","grind","pouch-stuff","pouch-rub","pouch-eat","pouch-absorb","soul-vore","soul-absorb-paw", | ||||
| "paw-stench","ass-stench","belch","fart","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", | |||||
| "paw-stench","ass-stench","piss-stench","scat-stench","belch","fart","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","stomp-goo","goo-digest","ass-goo","goo-stomach-pull","goo-stomach-push", | "sheath-toy","slit-toy","breast-toy","melt","solidify","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-bowels-pull","goo-bowels-push","goo-womb-pull","goo-womb-push","goo-balls-pull","goo-balls-push"]; | ||||
| @@ -478,6 +478,10 @@ | |||||
| <input autocomplete="off" type="checkbox" checked="true" name="sameSizeStomp" id="sameSizeStomp"/> | <input autocomplete="off" type="checkbox" checked="true" name="sameSizeStomp" id="sameSizeStomp"/> | ||||
| <label class="has-tooltip" for="sameSizeStomp" title="Can you stomp and sit on people your own size?">Same-size stomper</label> | <label class="has-tooltip" for="sameSizeStomp" title="Can you stomp and sit on people your own size?">Same-size stomper</label> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="oralDigestTime">Stomach digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="oralDigestTime" name="oralDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <input autocomplete="off" type="checkbox" name="vomitEnabled" id="vomitEnabled"/> | <input autocomplete="off" type="checkbox" name="vomitEnabled" id="vomitEnabled"/> | ||||
| <label for="vomitEnabled">Vomiting</label> | <label for="vomitEnabled">Vomiting</label> | ||||
| @@ -554,6 +558,10 @@ | |||||
| <input autocomplete="off" type="checkbox" name="analVoreToStomach" id="analVoreToStomach" /> | <input autocomplete="off" type="checkbox" name="analVoreToStomach" id="analVoreToStomach" /> | ||||
| <label class="has-tooltip" for="analVoreToStomach" title="Otherwise, bowels absorb/digest">Anal vore goes to stomach</label> | <label class="has-tooltip" for="analVoreToStomach" title="Otherwise, bowels absorb/digest">Anal vore goes to stomach</label> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="analDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="analDigestTime" name="analDigestTime" placeholder="15"> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -668,6 +676,10 @@ | |||||
| <input autocomplete="off" type="number" step="any" id="baseCumDigestFactor" name="baseCumDigestFactor" placeholder="1" /> | <input autocomplete="off" type="number" step="any" id="baseCumDigestFactor" name="baseCumDigestFactor" placeholder="1" /> | ||||
| <div class="preview" id="baseCumDigestFactorPreview"></div> | <div class="preview" id="baseCumDigestFactorPreview"></div> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="cockDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="cockDigestTime" name="cockDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <input autocomplete="off" type="checkbox" id="hasSheath" name="hasSheath" checked="true" /> | <input autocomplete="off" type="checkbox" id="hasSheath" name="hasSheath" checked="true" /> | ||||
| <label for="hasSheath">Sheath</label> | <label for="hasSheath">Sheath</label> | ||||
| @@ -728,6 +740,10 @@ | |||||
| <input autocomplete="off" type="number" step="any" id="baseMilkDigestFactor" name="baseMilkDigestFactor" placeholder="1" /> | <input autocomplete="off" type="number" step="any" id="baseMilkDigestFactor" name="baseMilkDigestFactor" placeholder="1" /> | ||||
| <div class="preview" id="baseMilkDigestFactorPreview"></div> | <div class="preview" id="baseMilkDigestFactorPreview"></div> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="breastDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="breastDigestTime" name="breastDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <input autocomplete="off" type="checkbox" id="milkScaleWithSize" name="milkScaleWithSize" /> | <input autocomplete="off" type="checkbox" id="milkScaleWithSize" name="milkScaleWithSize" /> | ||||
| <label class="has-tooltip" for="milkScaleWithSize" title="If checked, produces more milk from the same prey as you get larger">Scale milk with size</label> | <label class="has-tooltip" for="milkScaleWithSize" title="If checked, produces more milk from the same prey as you get larger">Scale milk with size</label> | ||||
| @@ -777,6 +793,10 @@ | |||||
| <input autocomplete="off" type="number" step="any" id="baseFemcumDigestFactor" name="baseFemcumDigestFactor" placeholder="1" /> | <input autocomplete="off" type="number" step="any" id="baseFemcumDigestFactor" name="baseFemcumDigestFactor" placeholder="1" /> | ||||
| <div class="preview" id="baseFemcumDigestFactorPreview"></div> | <div class="preview" id="baseFemcumDigestFactorPreview"></div> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="unbirthDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="unbirthDigestTime" name="unbirthDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <input autocomplete="off" type="checkbox" id="femcumScaleWithSize" name="femcumScaleWithSize" /> | <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> | <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> | ||||
| @@ -788,16 +808,27 @@ | |||||
| <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="stenchEnabled" name="stenchEnabled" /> | <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="stenchEnabled" name="stenchEnabled" /> | ||||
| <label class="custom-header" for="stenchEnabled">Stench</label> | <label class="custom-header" for="stenchEnabled">Stench</label> | ||||
| <div class="reveal-if-active"> | <div class="reveal-if-active"> | ||||
| <div>Areas are ratios; 1 means stomping 100 people catches 100 in stench</div> | |||||
| <li> | <li> | ||||
| <label class="has-tooltip" for="basePawStenchArea" title="How many times your paw area should be covered in stench">Paw stench area</label> | |||||
| <label for="basePawStenchArea">Paw stench area</label> | |||||
| <input autocomplete="off" type="number" step="any" id="basePawStenchArea" name="basePawStenchArea" placeholder="1" /> | <input autocomplete="off" type="number" step="any" id="basePawStenchArea" name="basePawStenchArea" placeholder="1" /> | ||||
| <div class="preview" id="basePawStenchAreaPreview"></div> | <div class="preview" id="basePawStenchAreaPreview"></div> | ||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label class="has-tooltip" for="baseAssStenchArea" title="How many times your ass area should be covered in stench">Ass stench area</label> | |||||
| <input autocomplete="off" type="number" step="any" id="baseAssStenchArea" name="baseAssStenchArea" placeholder="1" /> | |||||
| <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> | <div class="preview" id="baseAssStenchAreaPreview"></div> | ||||
| </li> | </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> | ||||
| </div> | </div> | ||||
| @@ -839,19 +870,23 @@ | |||||
| <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="soulVoreEnabled" name="soulVoreEnabled" /> | <input autocomplete="off" class="custom-header-checkbox" type="checkbox" id="soulVoreEnabled" name="soulVoreEnabled" /> | ||||
| <label class="custom-header" for="soulVoreEnabled">Soul Vore</label> | <label class="custom-header" for="soulVoreEnabled">Soul Vore</label> | ||||
| <div class="reveal-if-active"> | <div class="reveal-if-active"> | ||||
| <label>Soul destination</label> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" checked="true" id="soulvore-release" value="release"> | |||||
| <label for="soulvore-release">Released</label> | |||||
| </li> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" id="soulvore-body" value="body"> | |||||
| <label for="soulvore-body">Trapped</label> | |||||
| </li> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" id="soulvore-oblivion" value="oblivion"> | |||||
| <label for="soulvore-oblivion">Digested</label> | |||||
| </li> | |||||
| <li> | |||||
| <label for="soulDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="soulDigestTime" name="soulDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <label>Soul destination</label> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" checked="true" id="soulvore-release" value="release"> | |||||
| <label for="soulvore-release">Released</label> | |||||
| </li> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" id="soulvore-body" value="body"> | |||||
| <label for="soulvore-body">Trapped</label> | |||||
| </li> | |||||
| <li> | |||||
| <input autocomplete="off" type="radio" name="soulVoreType" id="soulvore-oblivion" value="oblivion"> | |||||
| <label for="soulvore-oblivion">Digested</label> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -889,6 +924,10 @@ | |||||
| <input autocomplete="off" type="number" step="any" id="basePissDigestFactor" name="basePissDigestFactor" placeholder="1" /> | <input autocomplete="off" type="number" step="any" id="basePissDigestFactor" name="basePissDigestFactor" placeholder="1" /> | ||||
| <div class="preview" id="basePissDigestFactorPreview"></div> | <div class="preview" id="basePissDigestFactorPreview"></div> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="bladderDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="bladderDigestTime" name="bladderDigestTime" placeholder="15"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <input autocomplete="off" type="checkbox" id="pissScaleWithSize" name="pissScaleWithSize" /> | <input autocomplete="off" type="checkbox" id="pissScaleWithSize" name="pissScaleWithSize" /> | ||||
| <label class="has-tooltip" for="pissScaleWithSize" title="If checked, produces more piss from the same prey as you get larger">Scale piss with size</label> | <label class="has-tooltip" for="pissScaleWithSize" title="If checked, produces more piss from the same prey as you get larger">Scale piss with size</label> | ||||
| @@ -936,6 +975,10 @@ | |||||
| <input autocomplete="off" checked="true" type="checkbox" id="gooDigestion" name="gooDigestion" /> | <input autocomplete="off" checked="true" type="checkbox" id="gooDigestion" name="gooDigestion" /> | ||||
| <label for="gooDigestion">Digestion</label> | <label for="gooDigestion">Digestion</label> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="gooDigestTime">Digestion time (0 for manual)</label> | |||||
| <input autocomplete="off" type="number" step="any" id="gooDigestTime" name="gooDigestTime" placeholder="15"> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </ul> | </ul> | ||||