diff --git a/src/endWeek/saLongTermMentalEffects.js b/src/endWeek/saLongTermMentalEffects.js index 44f9f2827b189dd53b4cc11354ac60b08fcbd0f2..fafd7a77f55c5b2dc8eccb0a8418731f141d943f 100644 --- a/src/endWeek/saLongTermMentalEffects.js +++ b/src/endWeek/saLongTermMentalEffects.js @@ -409,12 +409,7 @@ App.SlaveAssignment.longTermMentalEffects = (function() { if (!hasAnyArms(slave)) { t.push(`face between`); } else { - if (hasBothArms(slave)) { - t.push(`hands`); - } else { - t.push(`hand`); - } - t.push(`on`); + t.push(`${(hasBothArms(slave)) ? `hands` : `hand`} on`); } t.push(`her breasts. ${He}'s now <span class="positive">more aroused by women.</span>`); } diff --git a/src/endWeek/saRules.js b/src/endWeek/saRules.js index ee970e4645556a04413e51090bf09f0ce367a2f8..0b325131f894578811cd9dab3baee08ced124b1b 100644 --- a/src/endWeek/saRules.js +++ b/src/endWeek/saRules.js @@ -14,6 +14,7 @@ App.SlaveAssignment.rules = function(slave) { He, His, he, his, him, himself, girl, wife } = getPronouns(slave); + const hands = (hasBothArms(slave)) ? `hands` : `hand`; let wife2; let milkResult; let wardenFunTimes; @@ -638,7 +639,7 @@ App.SlaveAssignment.rules = function(slave) { if (!hasAnyArms(slave)) { r.push(`imagination`); } else { - r.push(`${(hasBothArms(slave)) ? `hands` : `hand`}.`); + r.push(`${hands}.`); } r.push(`and toys, but <span class="mediumaquamarine">understands you care about ${his} current health.</span>`); slave.trust += 1; @@ -1029,7 +1030,7 @@ App.SlaveAssignment.rules = function(slave) { if (!hasAnyArms(slave)) { r.push(`figurative`); } - r.push(`${(hasBothArms(slave)) ? `hands` : `hand`}.`); + r.push(`${hands}.`); slave.devotion += 1; slave.trust += 1; r.push(`${He} finds plenty of time to relax between ${his} duties, or during them, should ${his} company be requested.`); @@ -1234,7 +1235,7 @@ App.SlaveAssignment.rules = function(slave) { if (!hasAnyArms(slave)) { r.push(`figurative`); } - r.push(`${(hasBothArms(slave)) ? `hands` : `hand`}.`); + r.push(`${hands}.`); slave.devotion += 1; slave.trust += 1; @@ -1428,7 +1429,7 @@ App.SlaveAssignment.rules = function(slave) { if (!hasAnyArms(slave)) { r.push(`figurative`); } - r.push(`${(hasBothArms(slave)) ? `hands` : `hand`}. It also helps to offset the tiring nature of ${his} position.`); + r.push(`${hands}. It also helps to offset the tiring nature of ${his} position.`); slave.devotion += 1; slave.trust += 1; diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js index c6639b6d0dbfd5bce96287efc11c7e57af0fa1e1..212e9128d9acc433718dac356a44ba3cd97b16cf 100644 --- a/src/js/birth/birth.js +++ b/src/js/birth/birth.js @@ -46,6 +46,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) He, His, he, his, him, himself, wife, girl } = getPronouns(slave); + const hands = (hasBothArms(slave)) ? "hands" : "hand"; if (V.seeImages && V.seeReportImages) { App.UI.DOM.appendNewElement("div", el, App.Art.SlaveArtElement(slave, 2), ["imageRef", "medImg"]); } @@ -2196,13 +2197,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } @@ -2226,13 +2221,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } @@ -3866,13 +3855,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } @@ -3896,13 +3879,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } @@ -3930,13 +3907,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } @@ -3982,13 +3953,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) if (random(1, 20) > suddenBirth) { r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`); if (hasAnyArms(slave)) { - r.push(`${He} runs ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`across the still huge dome of ${his} middle; to`); + r.push(`${He} runs ${his} ${hands} across the still huge dome of ${his} middle; to`); } else { r.push(`To`); } diff --git a/src/npc/descriptions/butt/butt.js b/src/npc/descriptions/butt/butt.js index 53cc54a8b2146046838eacc6a9d23706334c7afe..b88c8ab6b7f49026ab457b7f56fe6bb0535550f5 100644 --- a/src/npc/descriptions/butt/butt.js +++ b/src/npc/descriptions/butt/butt.js @@ -10,6 +10,7 @@ App.Desc.butt = function(slave, {market, eventDescription} = {}) { const { he, him, his, girl, He, His } = getPronouns(slave); + const hands = (hasBothArms(slave)) ? "hands" : "hand"; if (V.showClothing === 1 && !market) { if (V.surgeryDescription === 0) { switch (slave.clothes) { @@ -1229,13 +1230,7 @@ App.Desc.butt = function(slave, {market, eventDescription} = {}) { } r.push(`to support them.`); } else if (slave.muscles > 30) { - r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`sunk into ${his} buttcheeks to help take their weight.`); + r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} ${hands} sunk into ${his} buttcheeks to help take their weight.`); } else if (slave.muscles > 5) { r.push(`${He} requires assistance to get to ${his} feet, and tries to rest ${his} huge cheeks on whatever nearby surfaces ${he} can.`); } else { @@ -1275,13 +1270,7 @@ App.Desc.butt = function(slave, {market, eventDescription} = {}) { } r.push(`to support them.`); } else if (slave.muscles > 30) { - r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`sunk into ${his} buttcheeks to help take their weight.`); + r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} ${hands} sunk into ${his} buttcheeks to help take their weight.`); } else if (slave.muscles > 5) { r.push(`${He} requires assistance to get to ${his} feet, and tries to rest ${his} huge cheeks on whatever nearby surfaces ${he} can.`); } else { @@ -1321,13 +1310,7 @@ App.Desc.butt = function(slave, {market, eventDescription} = {}) { } r.push(`to support them.`); } else if (slave.muscles > 30) { - r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his}`); - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } - r.push(`sunk into ${his} buttcheeks to help take their weight.`); + r.push(`${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} ${hands} sunk into ${his} buttcheeks to help take their weight.`); } else if (slave.muscles > 5) { r.push(`${He} requires assistance to get to ${his} feet, and tries to rest ${his} huge cheeks on whatever nearby surfaces ${he} can.`); } else { diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js index 693c3ae82f69d19d12c7d0ee487ea8abbbf3c3b1..3f7d0824c726d0d05a091f64615590f44c489eee 100644 --- a/src/npc/generate/newSlaveIntro.js +++ b/src/npc/generate/newSlaveIntro.js @@ -14,6 +14,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = His, He, his, him, he, girl, hers, himself, daughter } = getPronouns(slave); const {woman: womanP} = getPronouns(V.PC); + const hands = (hasBothArms(slave)) ? "hands" : "hand"; const el = new DocumentFragment(); let r; @@ -1317,8 +1318,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = r.push(`sees ${himself}`); } else { if (hasAnyArms(slave)) { - r.push(`tenderly uses ${his} hand${hasBothArms(slave) ? 's' : ''}`); - r.push(`and finds ${himself}`); + r.push(`tenderly uses ${his} ${hands} and finds ${himself}`); } else { r.push(`stoically waits while you vividly describe ${his} new appearance. One`); } @@ -2102,7 +2102,8 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = linkName: `Force-feed ${him}`, result(slave) { const r = []; - r.push(`${He} is much too thin and seems to shirk any offered food, but there is an easy solution to that. If ${he} refuses to eat, ${he} can be made to. Pulling the reluctant slave to the feeders, binding ${him} tightly to a chair, and attaching a hose to the slave food nozzle, you give ${him} a choice; suck the hose willingly or have it forced down ${his} throat. ${He} glares defiantly and keeps ${his} mouth firmly shut. You clamp down on ${his} nose, inevitably forcing ${him} to open ${his} mouth to breath. In that moment, you shove the hose in and down ${his} throat, carefully directing it down into ${his} stomach. ${He} gags as you turn on the flow, ${his} eyes filling with tears as ${he} feels the warm food travel down the tube and into ${his} stomach. ${He} sobs as ${his} belly steadily swells with unwelcome sustenance, ${his} eyes pleading with you, desperate to let you know ${he}'ll be good. You ignore ${him}, letting ${him} fill until ${his} belly is noticeably distended compared to ${his} thin frame. Once you feel ${he} has had enough, you pull the hose from ${his} gut, spraying ${his} face with food in the process, and tell ${him} it will go right back in if ${he} doesn't keep it all down. ${He} <span class="gold">nods fearfully,</span> anything to not go through that again. ${He} hobbles away once freed, one hand covering ${his} retching mouth and the other clasping ${his} <span class="mediumorchid">hated, food bloated middle.</span>`); + r.push(`${He} is much too thin and seems to shirk any offered food, but there is an easy solution to that. If ${he} refuses to eat, ${he} can be made to. Pulling the reluctant slave to the feeders, binding ${him} tightly to a chair, and attaching a hose to the slave food nozzle, you give ${him} a choice; suck the hose willingly or have it forced down ${his} throat. ${He} glares defiantly and keeps ${his} mouth firmly shut. You clamp down on ${his} nose, inevitably forcing ${him} to open ${his} mouth to breath. In that moment, you shove the hose in and down ${his} throat, carefully directing it down into ${his} stomach. ${He} gags as you turn on the flow, ${his} eyes filling with tears as ${he} feels the warm food travel down the tube and into ${his} stomach. ${He} sobs as ${his} belly steadily swells with unwelcome sustenance, ${his} eyes pleading with you, desperate to let you know ${he}'ll be good. You ignore ${him}, letting ${him} fill until ${his} belly is noticeably distended compared to ${his} thin frame. Once you feel ${he} has had enough, you pull the hose from ${his} gut, spraying ${his} face with food in the process, and tell ${him} it will go right back in if ${he} doesn't keep it all down. ${He} <span class="gold">nods fearfully,</span> anything to not go through that again. ${He} hobbles away once freed,`); + r.push(`one hand covering ${his} retching mouth and the other clasping ${his} <span class="mediumorchid">hated, food bloated middle.</span>`); //TODO: revise for hands slave.devotion -= 10; slave.trust -= 10; return r.join(" "); @@ -3602,7 +3603,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = } r.push(`${He} tries to squirm away from the moist spot growing under ${his} cheek, but you reveal your nipple and carefully direct ${his} mouth over it.`); if (slave.fetish === "pregnancy") { - r.push(`Slowly ${he} begins to suckle from your swollen breast. You gently brush ${his} head as you try to hold back your pleasure — a wasted effort, as a hand sneaks its way to your`); + r.push(`Slowly ${he} begins to suckle from your swollen breast. You gently brush ${his} head as you try to hold back your pleasure — a wasted effort, as a hand sneaks its way to your`); // TODO: handness if (V.PC.dick !== 0) { r.push(`growing erection and enthusiastically begins pumping away.`); } else { @@ -4069,11 +4070,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`${He}'s not a virgin anywhere, so you'll have to go more extreme to provide a properly introductory level of sexual torture equivalent to defloration. You tie your new slave down on`); if (hasAnyArms(slave)) { - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } + r.push(hands); if (hasAnyLegs(slave)) { r.push(`and`); } @@ -4115,11 +4112,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`${He}'s not an anal virgin, so you'll have to go more extreme to provide an introductory level of sexual torture equivalent to defloration. You tie your new slave down on`); if (hasAnyArms(slave)) { - if (hasBothArms(slave)) { - r.push(`hands`); - } else { - r.push(`hand`); - } + r.push(hands); if (hasAnyLegs(slave)) { r.push(`and`); } @@ -4810,7 +4803,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -4837,7 +4830,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -4871,7 +4864,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -4899,7 +4892,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5007,7 +5000,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5167,7 +5160,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5193,7 +5186,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5280,7 +5273,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5307,7 +5300,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); } @@ -5333,7 +5326,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = const r = []; r.push(`You escort ${him} to the remote surgery, strap ${him} in, and put ${him} under. When ${he} awakes, ${he} can't `); if (hasAnyArms(slave)) { - r.push(`keep ${his} ${(hasBothArms(slave)) ? `hands` : `hand`} off`); + r.push(`keep ${his} ${hands} off`); } else { r.push(`stop shaking around`); }