diff --git a/src/004-base/facility.js b/src/004-base/facility.js index 00f8912f94886e4c42f10c20877b0ca261f3aecd..30a76db6dd64ab801ac88b1e60036e568bd158ba 100644 --- a/src/004-base/facility.js +++ b/src/004-base/facility.js @@ -259,7 +259,7 @@ App.Entity.Facilities.ManagingJob = class extends App.Entity.Facilities.Job { /** @returns {App.Entity.SlaveState} */ get currentEmployee() { const obj = State.variables[capFirstChar(this.desc.position)]; - return obj === undefined || obj === 0 ? null : obj; + return obj === undefined || obj === 0 ? null : obj; } /** @private */ @@ -336,7 +336,7 @@ App.Entity.Facilities.Facility = class { } /** Facility slave capacity - * @returns {number} */ + * @returns {number} */ get capacity() { return State.variables[this.desc.baseName]; } diff --git a/src/debugging/debugJS.js b/src/debugging/debugJS.js index efce11a2103f244ac1a8ab41e25fe42acf783e38..5fb2964a99ef4d86903c32a6888da6606a5d68c9 100644 --- a/src/debugging/debugJS.js +++ b/src/debugging/debugJS.js @@ -57,7 +57,7 @@ window.diffFlatten = function diffFlatten(data) { // eslint-disable-next-line no-var for (var i=0, l=cur.length; i<l; i++) { // don't change the "var" to "let" recurse(cur[i], prop + "[" + i + "]"); - } + } // eslint-disable-next-line block-scoped-var if (l === 0) { result[prop] = []; } } else { diff --git a/src/endWeek/saNanny.js b/src/endWeek/saNanny.js index fc3685f8c188545f7a1071d73726d07a4b700a7e..5cc9cdf0e418c6ec4dcc59720fc2270596c1a5d2 100644 --- a/src/endWeek/saNanny.js +++ b/src/endWeek/saNanny.js @@ -5,162 +5,162 @@ window.saNanny = function saNanny(slave) { "use strict"; const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); - let t = `works as a nanny. ${He} ${V.nurseryBabies ? `looks after the child${V.nurseryBabies > 0 ? `ren` : ``} in ${V.nurseryName}, ensuring their needs are met and that they are being raised as ${V.nurseryBabies === 1 ? `a good future slave` : `good future slaves`}. ` : `keeps ${V.nurseryName} neat and tidy for the children it will one day support`}. `; + let t = `works as a nanny. ${He} ${V.nurseryBabies ? `looks after the child${V.nurseryBabies > 0 ? `ren` : ``} in ${V.nurseryName}, ensuring their needs are met and that they are being raised as ${V.nurseryBabies === 1 ? `a good future slave` : `good future slaves`}. ` : `keeps ${V.nurseryName} neat and tidy for the children it will one day support`}. `; - // TODO: - t += ` ${He} is `; - if (slave.trust < -20) { - t += `frightened of punishment and works very hard, <span class="yellowgreen">reducing the upkeep</span> of ${V.nurseryName}${V.nurseryBabies ? ` and the children within` : ``}.`; - } else if (slave.devotion <= 20) { - t += `hesitant, requiring your other slaves to demand ${his} services, and only slightly <span class="yellowgreen">reduces upkeep</span> of your slaves.`; - } else if (slave.devotion <= 50) { - t += `obedient, offering your other slaves ${his} services, and moderately <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; - } else if (slave.devotion <= 95) { - t += `devoted, happily giving your other slaves ${his} services, and <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; - } else { - t += `so happy to serve your other slaves that ${he} often sees to their needs before they know they have them, and greatly <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; - } + // TODO: + t += ` ${He} is `; + if (slave.trust < -20) { + t += `frightened of punishment and works very hard, <span class="yellowgreen">reducing the upkeep</span> of ${V.nurseryName}${V.nurseryBabies ? ` and the children within` : ``}.`; + } else if (slave.devotion <= 20) { + t += `hesitant, requiring your other slaves to demand ${his} services, and only slightly <span class="yellowgreen">reduces upkeep</span> of your slaves.`; + } else if (slave.devotion <= 50) { + t += `obedient, offering your other slaves ${his} services, and moderately <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; + } else if (slave.devotion <= 95) { + t += `devoted, happily giving your other slaves ${his} services, and <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; + } else { + t += `so happy to serve your other slaves that ${he} often sees to their needs before they know they have them, and greatly <span class="yellowgreen">reduces the upkeep</span> of your slaves.`; + } - // TODO: - if (slave.releaseRules !== "chastity") { - const oral = jsRandom(5, 10); - slave.counter.oral += oral; - V.oralTotal += oral; - } + // TODO: + if (slave.releaseRules !== "chastity") { + const oral = jsRandom(5, 10); + slave.counter.oral += oral; + V.oralTotal += oral; + } - // TODO: - if (slave.relationship === -2) { - t += ` ${He} does ${his} best to perfect your domesticity due to ${his} emotional bond to you.`; - } else if (slave.relationship === -3 && slave.devotion > 50) { - t += ` ${He} does ${his} very best to be the perfect housewife, making ${him} an outstanding servant.`; - } + // TODO: + if (slave.relationship === -2) { + t += ` ${He} does ${his} best to perfect your domesticity due to ${his} emotional bond to you.`; + } else if (slave.relationship === -3 && slave.devotion > 50) { + t += ` ${He} does ${his} very best to be the perfect housewife, making ${him} an outstanding servant.`; + } - // TODO: - if (setup.servantCareers.includes(slave.career)) { - t += ` ${He} has experience with house keeping from ${his} life before ${he} was a slave, making ${him} more effective.`; - } else if (slave.skill.servant >= V.masteredXP) { - t += ` ${He} has experience with house keeping from working for you, making ${him} more effective.`; - } else { - slave.skill.servant += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8); - } + // TODO: + if (setup.servantCareers.includes(slave.career)) { + t += ` ${He} has experience with house keeping from ${his} life before ${he} was a slave, making ${him} more effective.`; + } else if (slave.skill.servant >= V.masteredXP) { + t += ` ${He} has experience with house keeping from working for you, making ${him} more effective.`; + } else { + slave.skill.servant += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8); + } - // TODO: - if (slave.fetishStrength > 60) { - if (slave.fetish === "submissive" && slave.fetishKnown === 1) { - t += ` ${His} natural affinity for submission increases ${his} effectiveness.`; - } else if (slave.fetishKnown === 1 && slave.fetish === "dom") { - t += ` ${His} sexual appetite for domination reduces ${his} effectiveness.`; - } - } - // TODO: - if (slave.energy < 20) { - t += ` ${His} frigidity allows ${him} to ignore the intercourse all around ${him}, making ${him} very efficient.`; - } else if (slave.energy < 40) { - t += ` ${His} low sex drive keeps ${him} from becoming too distracted by the intercourse all around ${him}, making ${him} more efficient.`; - } - // TODO: - if ((slave.eyes <= -1 && slave.eyewear !== "corrective glasses" && slave.eyewear !== "corrective contacts") || (slave.eyewear === "blurring glasses") || (slave.eyewear === "blurring contacts")) { - t += ` ${His} bad vision makes ${him} a worse nanny.`; + // TODO: + if (slave.fetishStrength > 60) { + if (slave.fetish === "submissive" && slave.fetishKnown === 1) { + t += ` ${His} natural affinity for submission increases ${his} effectiveness.`; + } else if (slave.fetishKnown === 1 && slave.fetish === "dom") { + t += ` ${His} sexual appetite for domination reduces ${his} effectiveness.`; } + } + // TODO: + if (slave.energy < 20) { + t += ` ${His} frigidity allows ${him} to ignore the intercourse all around ${him}, making ${him} very efficient.`; + } else if (slave.energy < 40) { + t += ` ${His} low sex drive keeps ${him} from becoming too distracted by the intercourse all around ${him}, making ${him} more efficient.`; + } + // TODO: + if ((slave.eyes <= -1 && slave.eyewear !== "corrective glasses" && slave.eyewear !== "corrective contacts") || (slave.eyewear === "blurring glasses") || (slave.eyewear === "blurring contacts")) { + t += ` ${His} bad vision makes ${him} a worse nanny.`; + } - if (V.showVignettes === 1 && (slave.assignment === Job.NANNY)) { - const vignette = GetVignette(slave); - t += ` <u>This week</u> ${vignette.text} `; - if (vignette.type === "cash") { - let modifier = FResult(slave); - if (vignette.effect > 0) { - t += `<span class="yellowgreen">making you an extra ${cashFormat(Math.trunc(modifier * vignette.effect))}.</span>`; - } else if (vignette.effect < 0) { - t += `<span class="red">losing you ${cashFormat(Math.abs(Math.trunc(modifier * vignette.effect)))}.</span>`; + if (V.showVignettes === 1 && (slave.assignment === Job.NANNY)) { + const vignette = GetVignette(slave); + t += ` <u>This week</u> ${vignette.text} `; + if (vignette.type === "cash") { + let modifier = FResult(slave); + if (vignette.effect > 0) { + t += `<span class="yellowgreen">making you an extra ${cashFormat(Math.trunc(modifier * vignette.effect))}.</span>`; + } else if (vignette.effect < 0) { + t += `<span class="red">losing you ${cashFormat(Math.abs(Math.trunc(modifier * vignette.effect)))}.</span>`; + } else { + t += `an incident without lasting effect.`; + } + cashX(Math.trunc(modifier * vignette.effect), "houseServant", slave); + } else if (vignette.type === "devotion") { + if (vignette.effect > 0) { + if (slave.devotion > 50) { + t += `<span class="hotpink">increasing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class="hotpink">increasing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class="hotpink">reducing ${his} dislike of you.</span>`; } else { - t += `an incident without lasting effect.`; + t += `<span class="hotpink">reducing ${his} hatred of you.</span>`; } - cashX(Math.trunc(modifier * vignette.effect), "houseServant", slave); - } else if (vignette.type === "devotion") { - if (vignette.effect > 0) { - if (slave.devotion > 50) { - t += `<span class="hotpink">increasing ${his} devotion to you.</span>`; - } else if (slave.devotion >= -20) { - t += `<span class="hotpink">increasing ${his} acceptance of you.</span>`; - } else if (slave.devotion > -10) { - t += `<span class="hotpink">reducing ${his} dislike of you.</span>`; - } else { - t += `<span class="hotpink">reducing ${his} hatred of you.</span>`; - } - } else if (vignette.effect < 0) { - if (slave.devotion > 50) { - t += `<span class="mediumorchid">reducing ${his} devotion to you.</span>`; - } else if (slave.devotion >= -20) { - t += `<span class="mediumorchid">reducing ${his} acceptance of you.</span>`; - } else if (slave.devotion > -10) { - t += `<span class="mediumorchid">increasing ${his} dislike of you.</span>`; - } else { - t += `<span class="mediumorchid">increasing ${his} hatred of you.</span>`; - } + } else if (vignette.effect < 0) { + if (slave.devotion > 50) { + t += `<span class="mediumorchid">reducing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class="mediumorchid">reducing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class="mediumorchid">increasing ${his} dislike of you.</span>`; } else { - t += `an incident without lasting effect.`; + t += `<span class="mediumorchid">increasing ${his} hatred of you.</span>`; } - slave.devotion += (1 * vignette.effect); - } else if (vignette.type === "trust") { - if (vignette.effect > 0) { - if (slave.trust > 20) { - t += `<span class="mediumaquamarine">increasing ${his} trust in you.</span>`; - } else if (slave.trust > -10) { - t += `<span class="mediumaquamarine">reducing ${his} fear of you.</span>`; - } else { - t += `<span class="mediumaquamarine">reducing ${his} terror of you.</span>`; - } - } else if (vignette.effect < 0) { - if (slave.trust > 20) { - t += `<span class="gold">reducing ${his} trust in you.</span>`; - } else if (slave.trust >= -20) { - t += `<span class="gold">increasing ${his} fear of you.</span>`; - } else { - t += `<span class="gold">increasing ${his} terror of you.</span>`; - } + } else { + t += `an incident without lasting effect.`; + } + slave.devotion += (1 * vignette.effect); + } else if (vignette.type === "trust") { + if (vignette.effect > 0) { + if (slave.trust > 20) { + t += `<span class="mediumaquamarine">increasing ${his} trust in you.</span>`; + } else if (slave.trust > -10) { + t += `<span class="mediumaquamarine">reducing ${his} fear of you.</span>`; } else { - t += `an incident without lasting effect.`; + t += `<span class="mediumaquamarine">reducing ${his} terror of you.</span>`; } - slave.trust += (1 * vignette.effect); - } else if (vignette.type === "health") { - if (vignette.effect > 0) { - t += `<span class="green">improving ${his} health.</span>`; - } else if (vignette.effect < 0) { - t += `<span class="red">affecting ${his} health.</span>`; + } else if (vignette.effect < 0) { + if (slave.trust > 20) { + t += `<span class="gold">reducing ${his} trust in you.</span>`; + } else if (slave.trust >= -20) { + t += `<span class="gold">increasing ${his} fear of you.</span>`; } else { - t += `an incident without lasting effect.`; + t += `<span class="gold">increasing ${his} terror of you.</span>`; } - slave.health += (2 * vignette.effect); } else { - let modifier = FResult(slave); - if (vignette.effect > 0) { - t += `<span class="green">gaining you a bit of reputation.</span>`; - } else if (vignette.effect < 0) { - t += `<span class="red">losing you a bit of reputation.</span>`; - } else { - t += `an incident without lasting effect.`; - } - repX((modifier * vignette.effect * 0.1), "vignette", slave); + t += `an incident without lasting effect.`; } - } - - if (V.Matron) { - t += `While there, ${he} benefits from ${V.Matron.slaveName}'s `; - if (V.Matron.physicalAge < 21) { - t += `youthful energy`; + slave.trust += (1 * vignette.effect); + } else if (vignette.type === "health") { + if (vignette.effect > 0) { + t += `<span class="green">improving ${his} health.</span>`; + } else if (vignette.effect < 0) { + t += `<span class="red">affecting ${his} health.</span>`; } else { - t += `care`; + t += `an incident without lasting effect.`; } - if (V.Matron.skill.oral) { // TODO: keep this? replace with something else? - t += ` and talented tongue`; + slave.health += (2 * vignette.effect); + } else { + let modifier = FResult(slave); + if (vignette.effect > 0) { + t += `<span class="green">gaining you a bit of reputation.</span>`; + } else if (vignette.effect < 0) { + t += `<span class="red">losing you a bit of reputation.</span>`; + } else { + t += `an incident without lasting effect.`; } - t += `. `; - /* TODO: farmer is often not set and makes no sense here. What should this be? LCD. + repX((modifier * vignette.effect * 0.1), "vignette", slave); + } + } + + if (V.Matron) { + t += `While there, ${he} benefits from ${V.Matron.slaveName}'s `; + if (V.Matron.physicalAge < 21) { + t += `youthful energy`; + } else { + t += `care`; + } + if (V.Matron.skill.oral) { // TODO: keep this? replace with something else? + t += ` and talented tongue`; + } + t += `. `; + /* TODO: farmer is often not set and makes no sense here. What should this be? LCD. if (slave.devotion < V.FarmerDevotionThreshold) { slave.devotion += V.FarmerDevotionBonus; } @@ -170,7 +170,7 @@ window.saNanny = function saNanny(slave) { if (slave.health < 100) { slave.health += V.FarmerHealthBonus; }*/ - } + } return t; }; diff --git a/src/endWeek/saRules.js b/src/endWeek/saRules.js index 450a0d8ba932aef71f05b9c08abdf233925df66c..9161aae9959308a7c989f3d30380563433a8fbf0 100644 --- a/src/endWeek/saRules.js +++ b/src/endWeek/saRules.js @@ -13,10 +13,10 @@ $(function() { */ function saRules(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let release = slave.releaseRules; @@ -54,7 +54,8 @@ $(function() { r += `is routinely relieved of any built up tension by ${Matron.slaveName} and ${his}`; if (canPenetrate(slave) && V.Matron.boobs >= 500) { r += `luscious breasts. `; - slave.counter.mammary += 14, V.mammaryTotal += 14; + slave.counter.mammary += 14; + V.mammaryTotal += 14; } else { if (slave.lips > 40) { r += `luscious lips. `; @@ -63,7 +64,8 @@ $(function() { } else { r += `willing mouth. `; } - slave.counter.oral += 14, V.oralTotal += 14; + slave.counter.oral += 14; + V.oralTotal += 14; } slave.need = -60; } else { @@ -87,20 +89,26 @@ $(function() { if (slave.devotion <= 20) { if (slave.trust > -20) { r += `takes solace in ${his} permission to masturbate rather than being forced to beg for sex, <span class="mediumaquamarine">reducing ${his} fear</span> of you. `; - slave.trust += 2, slave.need = 0; + slave.trust += 2; + slave.need = 0; } else { r += `enjoys being allowed to masturbate rather than trading sex with other slaves, <span class="mediumaquamarine">slightly reducing ${his} fear</span> of you but <span class="mediumorchid">allowing ${him} to remain in control of ${him} sexuality. </span>`; - slave.devotion--, slave.trust++, slave.need = 0; + slave.devotion--; + slave.trust++; + slave.need = 0; } } else if (slave.devotion <= 50) { r += `accepts having to relieve ${himself} solely through masturbation. `; slave.need = 0; } else if (slave.devotion <= 80) { r += `is a little disappointed that ${he}'s limited to ${his} hands and toys, but <span class="mediumaquamarine">trusts you know what's best for ${him}. </span>`; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } else { r += `<span class="mediumaquamarine">trusts your judgment</span> that only ${he} really knows how to pleasure ${himself}, though ${he} <span class="mediumorchid">often wonders why you don't use ${him}. </span>`; - slave.devotion -= 2, slave.trust++, slave.need = 0; + slave.devotion -= 2; + slave.trust++; + slave.need = 0; } if (slave.devotion >= 20) { @@ -113,52 +121,64 @@ $(function() { if (slave.trust > -20) { if (release === "permissive") { r += `masturbates whenever ${he} can find a private moment to take care of the urges induced by the food, <span class="mediumaquamarine">slightly reducing ${his} fear</span> of you. `; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } else { r += `refuses to ask other slaves for sex, and is <span class="gold">severely punished</span> for illicit masturbation. `; - slave.trust -= 2, slave.need -= 10; + slave.trust -= 2; + slave.need -= 10; } } else { if (release === "permissive") { r += `prefers to masturbate rather than demanding sex from other slaves, <span class="mediumaquamarine">slightly reducing ${his} fear</span> of you. `; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } else { r += `is forced by the urges induced by the food to demand sex from other slaves, and <span class="hotpink">hates ${himself}</span> for it. `; - slave.devotion++, slave.need = 0; + slave.devotion++; + slave.need = 0; } } } else if (slave.devotion <= 50) { r += `<span class="hotpink">accepts the need</span> to ${rapeFetish(slave)} ${rapeDiscoversFetish(slave)}`; - slave.devotion++, slave.need = 0; + slave.devotion++; + slave.need = 0; } else { r += `happily <span class="mediumaquamarine">avails ${himself}</span> of your permission to ${rapeFetish(slave)} ${rapeDiscoversFetish(slave)}`; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } } else { if (slave.devotion <= 20) { if (slave.trust > -20) { if (release === "permissive") { r += `prefers to masturbate rather than asking other slaves for sex or giving free samples, <span class="mediumaquamarine">slightly reducing ${his} fear</span> of you. `; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } else { r += `refuses to ask other slaves for sex, and is <span class="gold">severely punished</span> for illicit masturbation. `; - slave.trust -= 2, slave.need -= 10; + slave.trust -= 2; + slave.need -= 10; } } else { if (release === "permissive") { r += `prefers to masturbate rather than trading sex with other slaves, <span class="mediumaquamarine">slightly reducing ${his} fear</span> of you. `; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } else { r += `is forced by the urges induced by the food to swap sex with other slaves, and <span class="hotpink">hates ${himself}</span> for it. `; - slave.devotion++, slave.need *= 0.5; + slave.devotion++; + slave.need *= 0.5; } } } else if (slave.devotion <= 50) { r += `<span class="hotpink">accepts having to ask</span> other slaves for sex, ${consentFetish(slave)} ${consentDiscoversFetish(slave)}`; - slave.devotion++, slave.need = 0; + slave.devotion++; + slave.need = 0; } else { r += `<span class="mediumaquamarine">relies</span> on your other slaves for mutual satisfaction, ${consentFetish(slave)} ${consentDiscoversFetish(slave)}`; - slave.trust++, slave.need = 0; + slave.trust++; + slave.need = 0; } } r += `${permissiveDrugEffects(slave)}`; @@ -462,10 +482,10 @@ $(function() { function playerFetishPlay(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -490,7 +510,9 @@ $(function() { case "boobs": r += `fondle ${his} breasts`; if (slave.lactation > 0) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } break; case "sadist": @@ -523,10 +545,10 @@ $(function() { function playerEnergy(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -540,11 +562,13 @@ $(function() { } else { r += `<span class="hotpink">eagerly looks forward</span> to each climax ${he} shares with you. `; } - slave.devotion += 2, slave.need = 0; + slave.devotion += 2; + slave.need = 0; SimpleSexAct.Player(slave, 10); } else if (energy === 2) { r += `You have surplus sexual energy to fuck ${him} whenever <<if $slaves[$i].relationship == -3>> you notice ${his} need<<else>>${he} forces ${himself} to ask<</if>>, and ${he} is <span class="hotpink">sexually dependent</span> on you. `; - slave.devotion++, slave.need -= 40; + slave.devotion++; + slave.need -= 40; SimpleSexAct.Player(slave, 5); } else if (slave.relationship === -3) { r += `You have little surplus sexual energy, but you make sure to keep your wife's needs in mind<<if $slaves[$i].devotion < -20>>, even if ${he} doesn't want it<</if>>. `; @@ -565,10 +589,10 @@ $(function() { function playerDiscoversFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -630,10 +654,10 @@ $(function() { function playerDrugEffects(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -711,10 +735,10 @@ $(function() { function masturbationFetishPlay(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -745,7 +769,9 @@ $(function() { case "boobs": r += `pays extra attention to ${his} breasts and nipples. `; if (slave.lactation) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } @@ -793,10 +819,10 @@ $(function() { function masturbationDiscoversFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -822,7 +848,9 @@ $(function() { case "boobs": r += `${he} always has a hand to ${his} nipples; <span class="lightcoral">${he}'s a boob fetishist!</span>`; if (slave.lactation) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } @@ -854,10 +882,10 @@ $(function() { function masturbationDrugEffects(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -912,10 +940,12 @@ $(function() { r += `<span class="lime">${He} is so baby crazed ${he} takes ${his} own virginity. </span>`; slave.vagina++; } - slave.devotion -= 3, slave.trust -= 2; + slave.devotion -= 3; + slave.trust -= 2; } else if (slave.devotion >= -20) { r += `leaving ${him} <span class="mediumorchid">completely unfulfilled</span> since <span class="gold">you won't <<if $PC.dick == 1>>give ${him}<<else>>let ${him} find<</if>> the dick ${he} needs. </span>`; - slave.devotion -= 3, slave.trust -= 2; + slave.devotion -= 3; + slave.trust -= 2; } else { r += `leaving ${him} desperate for a thorough seeding <span class="mediumorchid">that you've forbidden ${him} from having. </span>`; slave.devotion -= 3; @@ -932,10 +962,10 @@ $(function() { function rapeFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``, @@ -950,7 +980,8 @@ $(function() { if ((slave.anus * 40) - (averageDick * 5) < jsRandom(1, 100)) { r += `<span class="lime">${His} asshole is loosened</span> during sex with other slaves, since most of the cocks ${he} enticed a dominating buttfuck from are `; slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.counter.anal += 3; + V.analTotal += 3; } if (averageDick > 5) { @@ -958,7 +989,8 @@ $(function() { if ((slave.vagina * 40) - (averageDick * 5) < jsRandom(1, 100)) { r += `Since most of the slaves ${he} enticed a pounding from are extremely hung, <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; - slave.counter.vaginal += 3, V.vaginalTotal += 3; + slave.counter.vaginal += 3; + V.vaginalTotal += 3; } } } @@ -969,7 +1001,8 @@ $(function() { case "cumslut": r += `suck or be sucked by any slave ${he} fancies. `; fuckCount = jsRandom(5, 15); - slave.counter.oral += fuckCount, V.oralTotal += fuckCount; + slave.counter.oral += fuckCount; + V.oralTotal += fuckCount; break; case "humiliation": r += `demand that other slaves let ${him} fuck them in public. `; @@ -985,11 +1018,15 @@ $(function() { if (rival.assignmentVisible || rival.assignment === slave.assignment) { if (rival.devotion <= 20 && rival.trust < -20) { r += `Craving a rush, ${he} repeatedly forces a reluctant <<= SlaveFullName($slaves[_j])>> to have sex with ${him} in public. $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse <span class="lightsalmon">starts a rivalry</span> between them. `; - slave.rivalry = 1, rival.rivalry = 1, slave.rivalryTarget = rival.ID, rival.rivalryTarget = slave.ID; + slave.rivalry = 1; + rival.rivalry = 1; + slave.rivalryTarget = rival.ID; + rival.rivalryTarget = slave.ID; SimpleSexAct.Slave(rival, 4); if (canPenetrate(rival)) { fuckCount = jsRandom(1, 3); - rival.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + rival.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } } @@ -1000,7 +1037,8 @@ $(function() { SimpleSexAct.Slave(slave, 4); if (canPenetrate(slave)) { fuckCount = jsRandom(1, 3); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "buttslut": @@ -1014,18 +1052,21 @@ $(function() { } } fuckCount = jsRandom(5, 12); - slave.counter.anal += fuckCount, V.analTotal += fuckCount; + slave.counter.anal += fuckCount; + V.analTotal += fuckCount; break; case "boobs": r += `demand that other slaves massage ${his} breasts. `; if (slave.lactation) { slave.lactationDuration = 2; - slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } fuckCount = jsRandom(10, 25); - slave.counter.mammary += fuckCount, V.mammaryTotal += fuckCount; + slave.counter.mammary += fuckCount; + V.mammaryTotal += fuckCount; break; case "sadist": r += `force the most reluctant slaves to let ${him} fuck them. `; @@ -1070,11 +1111,15 @@ $(function() { break; } r += `and the sexual abuse <span class="lightsalmon">starts a rivalry</span> between them. `; - slave.rivalry = 1, rival.rivalry = 1, slave.rivalryTarget = rival.ID, rival.rivalryTarget = slave.ID; + slave.rivalry = 1; + rival.rivalry = 1; + slave.rivalryTarget = rival.ID; + rival.rivalryTarget = slave.ID; SimpleSexAct.Slave(rival, 4); if (canPenetrate(rival)) { fuckCount = jsRandom(1, 3); - rival.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + rival.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } } @@ -1086,7 +1131,8 @@ $(function() { SimpleSexAct.Slave(slave, 4); if (canPenetrate(slave)) { fuckCount = jsRandom(1, 3); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "masochist": @@ -1096,7 +1142,8 @@ $(function() { if ((slave.anus * 30) - (averageDick * 5) < jsRandom(1, 100)) { r += `<span class="lime">${His} asshole is loosened</span> during sex with hung slaves, since ${he} often relies on painal to address ${his} needs. `; slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.counter.anal += 3; + V.analTotal += 3; } } @@ -1105,7 +1152,8 @@ $(function() { if ((slave.vagina * 30) - (averageDick * 5) < jsRandom(1, 100)) { r += `Since ${he} usually demands that hung slaves fuck ${him} hard enough to make ${his} pussy hurt, <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; - slave.counter.vaginal += 3, V.vaginalTotal += 3; + slave.counter.vaginal += 3; + V.vaginalTotal += 3; } } } @@ -1126,7 +1174,10 @@ $(function() { if (rival.assignmentVisible || rival.assignment === slave.assignment) { if (rival.devotion <= 20 && rival.trust < -20) { r += `${He} repeatedly rapes a reluctant <<= SlaveFullName($slaves[_j])>>; ${he} can't seem to keep ${his} hands off the poor slave, who can't avoid ${him}. Not surprisingly, $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse <span class="lightsalmon">starts a rivalry</span> between them. `; - slave.rivalry = 1, rival.rivalry = 1, slave.rivalryTarget = rival.ID, rival.rivalryTarget = slave.ID; + slave.rivalry = 1; + rival.rivalry = 1; + slave.rivalryTarget = rival.ID; + rival.rivalryTarget = slave.ID; SimpleSexAct.Slave(rival, 4); } } @@ -1137,7 +1188,8 @@ $(function() { SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(6, 9); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "pregnancy": @@ -1149,7 +1201,8 @@ $(function() { r += `Since ${he} constantly demands to be fucked deeply to get ${his} womb filled with cum, <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; fuckCount = jsRandom(7, 14); - slave.counter.vaginal += fuckCount, V.vaginalTotal += fuckCount; + slave.counter.vaginal += fuckCount; + V.vaginalTotal += fuckCount; } } } else { @@ -1158,7 +1211,8 @@ $(function() { r += `Since ${he} constantly demands to be fucked deeply to get ${his} womb filled with cum, <span class="lime">${his} ass gets stretched out. </span>`; slave.anus++; fuckCount = jsRandom(7, 14); - slave.counter.anal += fuckCount, V.analTotal += fuckCount; + slave.counter.anal += fuckCount; + V.analTotal += fuckCount; } } } @@ -1166,7 +1220,8 @@ $(function() { if (canPenetrate(slave)) { fuckCount = jsRandom(6, 9); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; default: @@ -1177,7 +1232,8 @@ $(function() { if ((slave.anus * 30) - (averageDick * 5) < jsRandom(1, 100)) { r += `<span class="lime">${His} asshole is loosened</span> during sex with well endowed slaves, since ${he}'s so addicted to sex all ${his} holes see heavy traffic. `; slave.anus++; - slave.counter.anus += 3, slave.counter.anal += 3; + slave.counter.anus += 3; + slave.counter.anal += 3; } } if (averageDick > 5) { @@ -1185,7 +1241,8 @@ $(function() { if ((slave.vagina * 30) - (averageDick * 5) < jsRandom(1, 100)) { r += `${He} indulges in non-stop sex with your well endowed slaves, so much so that <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; - slave.counter.vaginal += 3, V.vaginalTotal += 3; + slave.counter.vaginal += 3; + V.vaginalTotal += 3; } } } @@ -1193,14 +1250,16 @@ $(function() { SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } else { r += `demand that other slaves have sex with ${him}. `; SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } break; @@ -1210,7 +1269,8 @@ $(function() { SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } @@ -1219,10 +1279,10 @@ $(function() { function rapeDiscoversFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -1241,17 +1301,19 @@ $(function() { r += `use ${him} in public; <span class="lightcoral">${he}'s a humiliation fetishist!</span>`; break; case "buttslut": - if (slave.anus > 0) { - r += `<<if canDoAnal($slaves[$i])>>fuck ${his} butt<<else>>tease ${his} anus<</if>>;`; - } else { - r += `tease ${his} virgin anus;`; - } - r += `<span class="lightcoral">${he}'s an anal slut!</span>`; - break; + if (slave.anus > 0) { + r += `<<if canDoAnal($slaves[$i])>>fuck ${his} butt<<else>>tease ${his} anus<</if>>;`; + } else { + r += `tease ${his} virgin anus;`; + } + r += `<span class="lightcoral">${he}'s an anal slut!</span>`; + break; case "boobs": r += `fondle ${his} breasts; <span class="lightcoral">${he}'s a boob fetishist!</span>`; if (slave.lactation) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } @@ -1284,10 +1346,10 @@ $(function() { function consentFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -1297,12 +1359,14 @@ $(function() { r += `usually pairing off with a more dominant slave. `; if (largeDicks(slave, 40)) { r += `<span class="lime">${His} asshole is loosened</span> during sex with other slaves, since most of the cocks ${he} lets dominate ${his} backdoor are very `; - slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.anus++; + slave.counter.anal += 3; + V.analTotal += 3; if (hugeDicks(slave, 40)) { r += `Since most of the slaves ${he} takes a pounding from are extremely hung, <span class="lime">${his} cunt gets stretched out .</span>`; - slave.vagina++; - slave.counter.vagina += 3, V.vaginalTotal += 3; + slave.vagina++; + slave.counter.vagina += 3; + V.vaginalTotal += 3; } } SimpleSexAct.Slave(slave, 7); @@ -1310,14 +1374,16 @@ $(function() { case "cumslut": r += `and is popular for ${his} willingness to give oral. `; fuckCount = jsRandom(5, 15); - slave.counter.oral += fuckCount, V.oralTotal += fuckCount; + slave.counter.oral += fuckCount; + V.oralTotal += fuckCount; break; case "humiliation": r += `usually asking them to fuck out in the open. `; SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(1, 3); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "buttslut": @@ -1326,7 +1392,8 @@ $(function() { if (canDoAnal(slave)) { r += `penetrate`; fuckCount = jsRandom(5, 12); - slave.counter.anal += fuckCount, V.analTotal += fuckCount; + slave.counter.anal += fuckCount; + V.analTotal += fuckCount; } else { r += `tease`; } @@ -1342,19 +1409,23 @@ $(function() { case "boobs": r += `seeing to anyone who will show ${his} breasts some love. `; if (slave.lactation) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } fuckCount = jsRandom(10, 25); - slave.counter.mammary += fuckCount, V.mammaryTotal += fuckCount; + slave.counter.mammary += fuckCount; + V.mammaryTotal += fuckCount; break; case "sadist": r += `usually pairing off with a masochistic slave willing to accept ${his} abuse. `; SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(1, 3); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "masochist": @@ -1362,7 +1433,8 @@ $(function() { if (largeDicks(slave, 30)) { r += `<span class="lime">${His} asshole is loosened,</span> since ${he} begs hung slaves to fuck ${his} butt until ${he} cries. `; slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.counter.anal += 3; + V.analTotal += 3; if (hugeDicks(slave, 30)) { r += `Since ${he} eagerly begs hung slaves to fuck ${him} until ${he} cries, <span class="lime">${his} cunt gets stretched out .</span>`; slave.vagina++; @@ -1376,7 +1448,8 @@ $(function() { SimpleSexAct.Slave(slave, 6); if (canPenetrate(slave)) { fuckCount = jsRandom(1, 3); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; case "pregnancy": @@ -1385,19 +1458,22 @@ $(function() { if (hugeDicks(slave, 40)) { r += `${He} also takes cock whenever ${he} can, begging to be fucked deeply to get ${his} womb filled with cum, so <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; - slave.counter.vagina += 3, V.vaginalTotal += 3; + slave.counter.vagina += 3; + V.vaginalTotal += 3; } } else { if (hugeDicks(slave, 40)) { r += `${He} also takes cock whenever ${he} can, begging to be fucked deeply to get ${his} womb filled with cum, so <span class="lime">${his} ass gets stretched out. </span>`; slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.counter.anal += 3; + V.analTotal += 3; } } SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(6, 9); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } break; default: @@ -1406,24 +1482,28 @@ $(function() { if (largeDicks(slave, 30)) { r += `<span class="lime">${His} asshole is loosened</span> during sex with well endowed slaves, since ${he}'s so addicted to sex all ${his} holes see heavy traffic. `; slave.anus++; - slave.counter.anal += 3, V.analTotal += 3; + slave.counter.anal += 3; + V.analTotal += 3; if (hugeDicks(slave, 30)) { r += `${He} indulges in non-stop sex with your well endowed slaves, so much so that <span class="lime">${his} cunt gets stretched out. </span>`; slave.vagina++; - slave.counter.vaginal += 3, V.vaginalTotal += 3; + slave.counter.vaginal += 3; + V.vaginalTotal += 3; } } SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } else { r += `doing ${his} best to get off and move on. `; SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } break; @@ -1433,7 +1513,8 @@ $(function() { SimpleSexAct.Slave(slave, 7); if (canPenetrate(slave)) { fuckCount = jsRandom(3, 6); - slave.counter.penetrative += fuckCount, V.penetrativeTotal += fuckCount; + slave.counter.penetrative += fuckCount; + V.penetrativeTotal += fuckCount; } } @@ -1442,10 +1523,10 @@ $(function() { function consentDiscoversFetish(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; @@ -1474,7 +1555,9 @@ $(function() { case "boobs": r += `fondles ${his} breasts, and ${he} loves it; <span class="lightcoral">${he}'s a boob fetishist!</span>`; if (slave.lactation) { - slave.lactationDuration = 2, slave.boobs -= slave.boobsMilk, slave.boobsMilk = 0; + slave.lactationDuration = 2; + slave.boobs -= slave.boobsMilk; + slave.boobsMilk = 0; } else { induceLactation(slave); } @@ -1506,10 +1589,10 @@ $(function() { function permissiveDrugEffects(slave) { const - { + { // eslint-disable-next-line no-unused-vars - he, him, his, hers, himself, boy, He, His - } = getPronouns(slave); + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); let r = ``; diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js index ae046a5bbf76ed26edaf851b28320fe52dd5acec..279e166e739597f481300370c76d677d751cf178 100644 --- a/src/endWeek/saServeThePublic.js +++ b/src/endWeek/saServeThePublic.js @@ -1,6 +1,6 @@ window.saServeThePublic = (function saServeThePublic() { "use strict"; - + let T; let r; let arcology; diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js index 1d96fc5f3fa39f7598ca6d521b06971882c9bcb7..e9f2ce3b42ab6c4aa2133676f456bd5d827e459d 100644 --- a/src/endWeek/saWhore.js +++ b/src/endWeek/saWhore.js @@ -1,6 +1,6 @@ window.saWhore = (function saWhore() { "use strict"; - + let T; let r; let arcology; @@ -480,7 +480,7 @@ window.saWhore = (function saWhore() { } else { let canA = canDoAnal(slave); let canV = canDoVaginal(slave); - let skilltarget = (100 + ((slave.skill.anal - 100)*canA*(1.5 - .5*canV) + (slave.skill.vaginal - 100)*canV*(1.5 - .5*canA) + (slave.skill.oral - 100)*(3 - 1.5*canA - 1.5*canV + canA*canV))*3/10); + let skilltarget = (100 + ((slave.skill.anal - 100)*canA*(1.5 - 0.5*canV) + (slave.skill.vaginal - 100)*canV*(1.5 - 0.5*canA) + (slave.skill.oral - 100)*(3 - 1.5*canA - 1.5*canV + canA*canV))*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) { diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js index 19cb42461f0b71e18feca98b066fcb103a3ac19b..2a2f510f60c6f1763b2aca2bb6642cc4657880f0 100644 --- a/src/endWeek/saWorkAGloryHole.js +++ b/src/endWeek/saWorkAGloryHole.js @@ -1,6 +1,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() { "use strict"; - + let T; let r; let beauty;