diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js index c4ad50c058e74f5d95819a102811635fe62d843a..68aeada5f74fe3b371e2be2e5bfc73f6ea8e031e 100644 --- a/src/endWeek/saServeThePublic.js +++ b/src/endWeek/saServeThePublic.js @@ -317,70 +317,44 @@ window.saServeThePublic = (function saServeThePublic() { r += ` protect ${him} from the wear of being a slut.`; } else if (slave.health < -50) { r += ` The stress of being a slut while ill is <span class="red">very hard on ${him}.</span>`; - slave.health -= 10; - injury = 1; } else if (slave.health < -20 && jsRandom(1, 100) > 50) { r += ` The stress of being a slut while ill is <span class="red">hard on ${him}.</span>`; - slave.health -= 7; - injury = 1; } else if (slave.vagina < 0) { - if ((slave.skill.anal + slave.skill.oral) >= 200) { + if (slave.minorInjury === 0) { r += ` ${He}'s such an expert public servant that ${he} copes with the stress of being a ${SlaveTitle(slave)} slut.`; - } else if (jsRandom(1, 100) > (40 + (10 * (slave.skill.anal + slave.skill.oral)))) { + } else { r += ` The stress of being a ${SlaveTitle(slave)} slut is <span class="red">hard on ${him}.</span>`; - slave.health -= 7; - injury = 1; } } else if (slave.vagina > 0 && !canDoVaginal(slave)) { if (canDoAnal(slave)) { - if ((slave.skill.anal + slave.skill.oral) >= 200) { + if (slave.minorInjury === 0) { r += ` ${He}'s such an expert slut that ${he} copes with the stress of being limited to buttsex and oral.`; - } else if (jsRandom(1, 100) > (40 + (10 * (slave.skill.anal + slave.skill.oral)))) { + } else { r += ` The stress of being limited to buttsex and oral is <span class="red">hard on ${him}.</span>`; - slave.health -= 7; - injury = 1; } } else { - if (slave.skill.oral >= 100) { + if (slave.minorInjury === 0) { r += ` ${He}'s such an expert slut that ${he} copes with the stress of being limited to oral.`; - } else if (jsRandom(1, 100) > (40 + (10 * slave.skill.oral))) { + } else { r += ` The stress of being limited to oral sex is <span class="red">hard on ${him}.</span>`; - slave.health -= 7; - injury = 1; } } - } else if ((slave.skill.anal + slave.skill.oral + slave.skill.vaginal) < 300) { - if (jsRandom(1, 100) > (10 + ((slave.skill.anal + slave.skill.oral + slave.skill.vaginal) / 10))) { - injury = 1; - } } } - if (injury === 1) { - slave.health -= 3; - let injuryChance; - if (canDoAnal(slave)) { - injuryChance = jsRandom(1, 100); - } else { - injuryChance = jsRandom(1, 80); - } - if (injuryChance > 80) { - slave.minorInjury = "sore ass"; + if (slave.minorInjury !== 0) { + if (slave.minorInjury === "sore ass") { r += ` Rough anal with a careless citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`; r += minorInjuryResponse(slave); - } else if (injuryChance > 60) { - slave.minorInjury = "black eye"; + } else if (slave.minorInjury === "black eye") { r += ` A violent citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`; r += minorInjuryResponse(slave); - } else if (injuryChance > 40) { - slave.minorInjury = "split lip"; + } else if (slave.minorInjury === "split lip") { r += ` An abusive citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`; r += minorInjuryResponse(slave); - } else if (injuryChance > 20) { - slave.minorInjury = "bad bruise"; + } else if (slave.minorInjury === "bad bruise") { r += ` A rough citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`; r += minorInjuryResponse(slave); } else { - slave.minorInjury = "sore muscle"; r += ` The hard labor of constant sex left ${him} with a <span class="red">${slave.minorInjury}.</span>`; } } diff --git a/src/js/economyJS.js b/src/js/economyJS.js index e435f4fdd23efaa44456816cc36ffe0b988e14a8..6c77e5e20ffc4b74db841e0692f479b5e6bc570a 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1143,30 +1143,24 @@ window.slaveJobValues = function() { // Injuries if (s.curatives < 1 && s.inflationType !== "curative") { if (s.health < -50) { - s.health -= 8; + s.health -= 13; s.minorInjury = 1; } else if (s.health < -20 && jsRandom(1, 100) > 50) { - s.health -= 5; + s.health -= 10; s.minorInjury = 1; - } else if (!canDoVaginal(s)) { - if (canDoAnal(s)) { - if (jsRandom(1, 100) > 40 + (3 * (s.skill.anal + s.skill.oral)/10)) { - s.health -= 5; - s.minorInjury = 1; - } - } else if (jsRandom(1, 100) > 70 + (3/10 * s.skill.oral)) { - s.health -= 5; - s.minorInjury = 1; - } - } else if (s.skill.anal + s.skill.oral + s.skill.vaginal < 300) { - if (jsRandom(1, 100) > 10 + (3*(s.skill.anal + s.skill.oral + s.skill.vaginal) / 10)) { + } else { + let skilltarget = (100 + ((s.skill.anal - 100)*canDoAnal(s)*(1 + .5*!canDoVaginal(s)) + (s.skill.vaginal - 100)*canDoVaginal(s)*(1 + .5*!canDoAnal(s)) + (s.skill.oral - 100)*(1 + .5*!canDoAnal(s) + .5*!canDoVaginal(s) + !canDoAnal(s)*!canDoVaginal(s)))*3/10); + //Complicated, I know - but it should automatically account for what acts are possible to scale the injury risk smoothly between 90% when totally unskilled + //and 0% when perfectly skilled in the relevant method or methods. + + if (jsRandom(1,100) > skilltarget) { + s.health -= 10 - 7*canDoAnal(s)*canDoVaginal(s); //Any limitations means an injury inflicts the harsher 10 instead of 3 s.minorInjury = 1; } } } - if (s.minorInjury === 1 && s.assignment === "serve the public") { + if (s.minorInjury === 1) { let injuryChance; - s.health -= 5; beautyMultiplier -= 0.05; if (canDoAnal(s)) { injuryChance = jsRandom(1, 100);