| @@ -457,6 +457,16 @@ let macro = | |||||
| }, | }, | ||||
| "baseScatDigestFactor": 1, | |||||
| "scatScaleWithSize": true, | |||||
| get scatDigestFactor() { | |||||
| if (this.scatScaleWithSize) { | |||||
| return this.baseScatDigestFactor * this.scale; | |||||
| } else { | |||||
| return this.baseScatDigestFactor; | |||||
| } | |||||
| }, | |||||
| "stomach": { | "stomach": { | ||||
| "name": "stomach", | "name": "stomach", | ||||
| "setup": function(owner) { | "setup": function(owner) { | ||||
| @@ -476,9 +486,9 @@ let macro = | |||||
| }, | }, | ||||
| "fill": function(owner,container) { | "fill": function(owner,container) { | ||||
| if (owner.gasEnabled) | if (owner.gasEnabled) | ||||
| owner.gasStorage.amount += container.sum_property("mass") * this.owner.gasDigestFactor / 1e4; | |||||
| owner.gasStorage.amount += container.sum_property("mass") * owner.gasDigestFactor / 1e4; | |||||
| if (owner.scatEnabled) { | if (owner.scatEnabled) { | ||||
| owner.scatStorage.amount += container.sum_property("mass") * this.owner.scatDigestFactor / 1e3; | |||||
| owner.scatStorage.amount += container.sum_property("mass") * owner.scatDigestFactor / 1e3; | |||||
| owner.scatStorage.victims = owner.scatStorage.victims.merge(container); | owner.scatStorage.victims = owner.scatStorage.victims.merge(container); | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -524,9 +534,9 @@ let macro = | |||||
| }, | }, | ||||
| "fill": function(owner,container) { | "fill": function(owner,container) { | ||||
| if (owner.gasEnabled) | if (owner.gasEnabled) | ||||
| owner.gasStorage.amount += container.sum_property("mass") * this.owner.gasDigestFactor / 1e3; | |||||
| owner.gasStorage.amount += container.sum_property("mass") * owner.gasDigestFactor / 1e3; | |||||
| if (owner.scatEnabled) { | if (owner.scatEnabled) { | ||||
| owner.scatStorage.amount += container.sum_property("mass") * this.owner.scatDigestFactor / 1e3; | |||||
| owner.scatStorage.amount += container.sum_property("mass") * owner.scatDigestFactor / 1e3; | |||||
| owner.scatStorage.victims = owner.scatStorage.victims.merge(container); | owner.scatStorage.victims = owner.scatStorage.victims.merge(container); | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -550,6 +560,16 @@ let macro = | |||||
| "stages" : 3 | "stages" : 3 | ||||
| }, | }, | ||||
| "baseFemcumDigestFactor": 1, | |||||
| "femcumScaleWithSize": true, | |||||
| get femcumDigestFactor() { | |||||
| if (this.femcumScaleWithSize) { | |||||
| return this.baseFemcumDigestFactor * this.scale; | |||||
| } else { | |||||
| return this.baseFemcumDigestFactor; | |||||
| } | |||||
| }, | |||||
| "womb": { | "womb": { | ||||
| "name" : "womb", | "name" : "womb", | ||||
| "setup": function(owner) { | "setup": function(owner) { | ||||
| @@ -568,7 +588,7 @@ let macro = | |||||
| return describe("womb",container,this.owner,verbose); | return describe("womb",container,this.owner,verbose); | ||||
| }, | }, | ||||
| "fill": function(owner,container) { | "fill": function(owner,container) { | ||||
| owner.femcumStorage.amount += container.sum_property("mass") / 1e3; | |||||
| owner.femcumStorage.amount += container.sum_property("mass") * owner.femcumDigestFactor / 1e3; | |||||
| }, | }, | ||||
| get description() { | get description() { | ||||
| let prey = new Container(); | let prey = new Container(); | ||||
| @@ -590,6 +610,16 @@ let macro = | |||||
| "stages" : 2 | "stages" : 2 | ||||
| }, | }, | ||||
| "baseCumDigestFactor": 1, | |||||
| "cumScaleWithSize": true, | |||||
| get cumDigestFactor() { | |||||
| if (this.cumScaleWithSize) { | |||||
| return this.baseCumDigestFactor * this.scale; | |||||
| } else { | |||||
| return this.baseCumDigestFactor; | |||||
| } | |||||
| }, | |||||
| "balls": { | "balls": { | ||||
| "name" : "balls", | "name" : "balls", | ||||
| "setup": function(owner) { | "setup": function(owner) { | ||||
| @@ -608,7 +638,7 @@ let macro = | |||||
| return describe("balls",container,this.owner,verbose); | return describe("balls",container,this.owner,verbose); | ||||
| }, | }, | ||||
| "fill": function(owner,container) { | "fill": function(owner,container) { | ||||
| owner.cumStorage.amount += container.sum_property("mass") / 1e3; | |||||
| owner.cumStorage.amount += container.sum_property("mass") * owner.cumDigestFactor / 1e3; | |||||
| }, | }, | ||||
| get description() { | get description() { | ||||
| let prey = new Container(); | let prey = new Container(); | ||||
| @@ -630,6 +660,16 @@ let macro = | |||||
| "stages" : 2 | "stages" : 2 | ||||
| }, | }, | ||||
| "baseMilkDigestFactor": 1, | |||||
| "milkScaleWithSize": true, | |||||
| get milkDigestFactor() { | |||||
| if (this.milkScaleWithSize) { | |||||
| return this.baseMilkDigestFactor * this.scale; | |||||
| } else { | |||||
| return this.baseMilkDigestFactor; | |||||
| } | |||||
| }, | |||||
| "breasts": { | "breasts": { | ||||
| "name" : "breasts", | "name" : "breasts", | ||||
| "setup": function(owner) { | "setup": function(owner) { | ||||
| @@ -649,7 +689,7 @@ let macro = | |||||
| }, | }, | ||||
| "fill": function(owner,container) { | "fill": function(owner,container) { | ||||
| if (macro.lactationEnabled) { | if (macro.lactationEnabled) { | ||||
| owner.milkStorage.amount += container.sum_property("mass") / 1e3; | |||||
| owner.milkStorage.amount += container.sum_property("mass") * owner.milkDigestFactor / 1e3; | |||||
| } | } | ||||
| }, | }, | ||||
| get description() { | get description() { | ||||
| @@ -672,7 +712,15 @@ let macro = | |||||
| "stages" : 2 | "stages" : 2 | ||||
| }, | }, | ||||
| "pissDigestFactor": 1, | |||||
| "basePissDigestFactor": 1, | |||||
| "pissScaleWithSize": true, | |||||
| get pissDigestFactor() { | |||||
| if (this.pissScaleWithSize) { | |||||
| return this.basePissDigestFactor * this.scale; | |||||
| } else { | |||||
| return this.basePissDigestFactor; | |||||
| } | |||||
| }, | |||||
| "bladder": { | "bladder": { | ||||
| "name" : "bladder", | "name" : "bladder", | ||||
| @@ -946,6 +994,7 @@ let macro = | |||||
| "pissScale": 1, | "pissScale": 1, | ||||
| "baseUrethraDiameter": 0.03, | "baseUrethraDiameter": 0.03, | ||||
| "urethraStretch": 5, | "urethraStretch": 5, | ||||
| get urethraDiameter() { | get urethraDiameter() { | ||||
| return this.scaling(this.baseUrethraDiameter, this.scale, 1); | return this.scaling(this.baseUrethraDiameter, this.scale, 1); | ||||
| }, | }, | ||||
| @@ -964,8 +1013,6 @@ let macro = | |||||
| update(); | update(); | ||||
| }, | }, | ||||
| "scatDigestFactor": 1, | |||||
| "fillScat": function(self) { | "fillScat": function(self) { | ||||
| self.scatStorage.amount += self.scatScale * self.scatStorage.limit / 100; | self.scatStorage.amount += self.scatScale * self.scatStorage.limit / 100; | ||||
| if (self.scatStorage.amount > self.scatStorage.limit * 2) | if (self.scatStorage.amount > self.scatStorage.limit * 2) | ||||
| @@ -90,7 +90,7 @@ | |||||
| </div> | </div> | ||||
| <div id="log-area"> | <div id="log-area"> | ||||
| <div id="log"> | <div id="log"> | ||||
| <div>Welcome to Stroll 0.5.26</div> | |||||
| <div>Welcome to Stroll 0.5.27</div> | |||||
| <div><b>This game features 18+ content</b></div> | <div><b>This game features 18+ content</b></div> | ||||
| <div>It's a nice day for a walk</div> | <div>It's a nice day for a walk</div> | ||||
| <div> </div> | <div> </div> | ||||
| @@ -184,7 +184,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="character-build"> | <div class="character-build"> | ||||
| <p>Welcome to Stroll 0.5.26</p> | |||||
| <p>Welcome to Stroll 0.5.27</p> | |||||
| <p><b>This game features 18+ content</b></p> | <p><b>This game features 18+ content</b></p> | ||||
| <p><a href="https://chemicalcrux.org/stroll">Changelog</a></p> | <p><a href="https://chemicalcrux.org/stroll">Changelog</a></p> | ||||
| <p><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></p> | <p><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></p> | ||||
| @@ -520,6 +520,14 @@ | |||||
| <label for="cumStorageScale">Cum storage multiplier</label> | <label for="cumStorageScale">Cum storage multiplier</label> | ||||
| <input type="number" step="any" id="cumStorageScale" name="cumStorageScale" placeholder="1" /> | <input type="number" step="any" id="cumStorageScale" name="cumStorageScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="baseCumDigestFactor">Cum digestion factor</label> | |||||
| <input type="number" step="any" id="baseCumDigestFactor" name="baseCumDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | |||||
| <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> | |||||
| <input type="checkbox" id="cumScaleWithSize" name="cumScaleWithSize" /> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -563,6 +571,14 @@ | |||||
| <label for="breastStretchiness">Breast stretchiness</label> | <label for="breastStretchiness">Breast stretchiness</label> | ||||
| <input type="number" step="any" name="breastStretchiness" placeholder="1" /> | <input type="number" step="any" name="breastStretchiness" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="baseMilkDigestFactor">Milk digestion factor</label> | |||||
| <input type="number" step="any" id="baseMilkDigestFactor" name="baseMilkDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | |||||
| <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> | |||||
| <input type="checkbox" id="milkScaleWithSize" name="milkScaleWithSize" /> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </ul> | </ul> | ||||
| </div> | </div> | ||||
| @@ -595,9 +611,17 @@ | |||||
| <input type="number" step="any" id="femcumScale" name="femcumScale" placeholder="1" /> | <input type="number" step="any" id="femcumScale" name="femcumScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label for="femcumStorageScale">Femum storage multiplier</label> | |||||
| <label for="femcumStorageScale">Femcum storage multiplier</label> | |||||
| <input type="number" step="any" id="femcumStorageScale" name="femcumStorageScale" placeholder="1" /> | <input type="number" step="any" id="femcumStorageScale" name="femcumStorageScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="baseFemcumDigestFactor">Femcum digestion factor</label> | |||||
| <input type="number" step="any" id="baseFemcumDigestFactor" name="baseFemcumDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | |||||
| <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> | |||||
| <input type="checkbox" id="femcumScaleWithSize" name="femcumScaleWithSize" /> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -632,14 +656,14 @@ | |||||
| <label for="gasScale">Gas production factor</label> | <label for="gasScale">Gas production factor</label> | ||||
| <input type="number" step="any" id="gasScale" name="gasScale" placeholder="1" /> | <input type="number" step="any" id="gasScale" name="gasScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="baseGasDigestFactor">Gas digestion factor</label> | |||||
| <input type="number" step="any" id="baseGasDigestFactor" name="baseGasDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <label for="gasStorageScale">Gas storage multiplier</label> | <label for="gasStorageScale">Gas storage multiplier</label> | ||||
| <input type="number" step="any" id="gasStorageScale" name="gasStorageScale" placeholder="1" /> | <input type="number" step="any" id="gasStorageScale" name="gasStorageScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label for="baseGasDigestFactor">Gas digestion factor</label> | |||||
| <input type="number" step="any" id="baseGasDigestFactor" name="baseGasDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <label class="has-tooltip" for="gasScaleWithSize" title="If checked, produces more gas from the same prey as you get larger">Scale gas with size</label> | <label class="has-tooltip" for="gasScaleWithSize" title="If checked, produces more gas from the same prey as you get larger">Scale gas with size</label> | ||||
| <input type="checkbox" id="gasScaleWithSize" name="gasScaleWithSize" /> | <input type="checkbox" id="gasScaleWithSize" name="gasScaleWithSize" /> | ||||
| @@ -705,8 +729,12 @@ | |||||
| <input type="number" step="any" id="urethraStretchiness" name="urethraStretchiness" placeholder="5" /> | <input type="number" step="any" id="urethraStretchiness" name="urethraStretchiness" placeholder="5" /> | ||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label for="pissDigestFactor">Piss digestion factor</label> | |||||
| <input type="number" step="any" id="pissDigestFactor" name="pissDigestFactor" placeholder="1" /> | |||||
| <label for="basePissDigestFactor">Piss digestion factor</label> | |||||
| <input type="number" step="any" id="basePissDigestFactor" name="basePissDigestFactor" placeholder="1" /> | |||||
| </li> | |||||
| <li> | |||||
| <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> | |||||
| <input type="checkbox" id="pissScaleWithSize" name="pissScaleWithSize" /> | |||||
| </li> | </li> | ||||
| </div> | </div> | ||||
| </ul> | </ul> | ||||
| @@ -722,8 +750,8 @@ | |||||
| <div>note - setting tailhole diameter requires anal vore to be enabled</div> | <div>note - setting tailhole diameter requires anal vore to be enabled</div> | ||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label for="scatDigestFactor">Scat digestion factor</label> | |||||
| <input type="number" step="any" id="scatDigestFactor" name="scatDigestFactor" placeholder="1" /> | |||||
| <label for="baseScatDigestFactor">Scat digestion factor</label> | |||||
| <input type="number" step="any" id="baseScatDigestFactor" name="baseScatDigestFactor" placeholder="1" /> | |||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <label class="has-tooltip" for="scatScale" title="1 = 1% fill per second">Passive scat production</label> | <label class="has-tooltip" for="scatScale" title="1 = 1% fill per second">Passive scat production</label> | ||||
| @@ -733,6 +761,10 @@ | |||||
| <label for="scatStorageScale">Scat storage multiplier</label> | <label for="scatStorageScale">Scat storage multiplier</label> | ||||
| <input type="number" step="any" id="scatStorageScale" name="scatStorageScale" placeholder="1" /> | <input type="number" step="any" id="scatStorageScale" name="scatStorageScale" placeholder="1" /> | ||||
| </li> | </li> | ||||
| <li> | |||||
| <label class="has-tooltip" for="scatScaleWithSize" title="If checked, produces more scat from the same prey as you get larger">Scale scat with size</label> | |||||
| <input type="checkbox" id="scatScaleWithSize" name="scatScaleWithSize" /> | |||||
| </li> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -194,7 +194,7 @@ body.dark #log { | |||||
| input[type="radio"]:checked ~ .reveal-if-active, | input[type="radio"]:checked ~ .reveal-if-active, | ||||
| input[type="checkbox"]:checked ~ .reveal-if-active { | input[type="checkbox"]:checked ~ .reveal-if-active { | ||||
| opacity: 1; | opacity: 1; | ||||
| max-height: 200px; /* little bit of a magic number :( */ | |||||
| max-height: 500000px; /* little bit of a magic number :( */ | |||||
| overflow: visible; | overflow: visible; | ||||
| } | } | ||||