diff --git a/src/endWeek/saDrugs.js b/src/endWeek/saDrugs.js index f6f831799f2034a434d5000d6fb6d82e1e483333..60b39ae21201b5fe0f20e2287e0e68b23ea06329 100644 --- a/src/endWeek/saDrugs.js +++ b/src/endWeek/saDrugs.js @@ -778,7 +778,7 @@ App.SlaveAssignment.drugs = (function() { case "growth stimulants": slave.chem += 2; growth = 1; - r += `${He} receives frequent <span class="lime"> injections of growth stimulants.</span>`; + r += `${He} receives frequent <span class="lime">injections of growth stimulants.</span>`; // Hormones if (slave.hormones === 2 || slave.hormones === -2) { growth--; diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js index 41040672cef920539ae2fadd5a3ce2b78f159423..8de6917f25c89bd7c7032fed8be16bc73705880c 100644 --- a/src/endWeek/saGuardYou.js +++ b/src/endWeek/saGuardYou.js @@ -239,7 +239,7 @@ App.SlaveAssignment.guardYou = (function() { * */ function jobEffects(slave) { - r.push(`Being continually trusted with your life <span class="hotpink"> increases ${his} devotion to you</span> and encourages ${him} to <span class="mediumaquamarine"> trust you in turn.</span>`); + r.push(`Being continually trusted with your life <span class="hotpink">increases ${his} devotion to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you in turn.</span>`); slave.devotion += 2; slave.trust += 4; diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js index fcfc84116405ad309d5008f0e78782902b2002d1..f228f2668f94962878dd525764aad3903e46dcaa 100644 --- a/src/endWeek/saServeYourOtherSlaves.js +++ b/src/endWeek/saServeYourOtherSlaves.js @@ -1433,7 +1433,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() { if (slave.fetishKnown) { r.push(`Having all the other slaves see ${him} in such a humiliating role really satisfies ${subName}.`); } else { - r.push(`${He} seems to enjoy ${his} humiliating role; ${he} <span class="lightcoral"> gets off to being degraded.</span>`); + r.push(`${He} seems to enjoy ${his} humiliating role; ${he} <span class="lightcoral">gets off to being degraded.</span>`); slave.fetishKnown = 1; } subSlaveLikedFetish = 1; @@ -1616,7 +1616,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() { if (slave.fetishKnown) { r.push(`Having all the other slaves see ${him} in such a humiliating role really satisfies ${subName}.`); } else { - r.push(`${He} seems to enjoy ${his} humiliating role; ${he} <span class="lightcoral"> gets off to being degraded.</span>`); + r.push(`${He} seems to enjoy ${his} humiliating role; ${he} <span class="lightcoral">gets off to being degraded.</span>`); slave.fetishKnown = 1; } slave.need = 0; diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js index 387bbfe9d44a0e1369ece5dc5c562edef6de02e6..49e046dca051f738dc75f450afbca905fbde290b 100644 --- a/src/events/RESS/lazyEvening.js +++ b/src/events/RESS/lazyEvening.js @@ -240,7 +240,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent let t = []; t.push(`Though there is no shortage of torments you inflict during the course of your day to day life as an arcology owner, there is something refreshing about torturing a slave out of idle boredom rather than corrective disciple or sexual domination. Your night is filled with ${eventSlave.voice === 0 ? "the horrible rasping that a mute throat substitutes for cries of agony" : "echoing shrieks of anguish"}, though every vocal outburst is idly punished with electro shock or strike of the whip. Come the morning, ${eventSlave.slaveName}`); if (eventSlave.fetish === "masochist") { - t.push(`is mortified by the intensity of ${his} orgasms that night,<span class="devotion inc"> and more convinced than ever that ${he}'s a pain slut,</span> and yet`); + t.push(`is mortified by the intensity of ${his} orgasms that night,<span class="devotion inc">and more convinced than ever that ${he}'s a pain slut,</span> and yet`); eventSlave.devotion += 4; } t.push(`<span class="trust dec">scuttles away to tend to the bruises and marks that litter ${his} battered body.</span>`); diff --git a/src/interaction/rename.js b/src/interaction/rename.js index c5c8f696980e4ed7d94123d4ad2af6c436224e15..98609deb9dfe5e4af4d8735f819f6a69f8d12d97 100644 --- a/src/interaction/rename.js +++ b/src/interaction/rename.js @@ -35,15 +35,15 @@ App.UI.SlaveInteract.rename = function(slave, {oldName = "", oldSurname = ""} = } else if ((oldName === slave.birthName && slave.slaveName !== slave.birthName) || (oldSurname === slave.birthSurname && slave.slaveSurname !== slave.birthSurname)) { r.push(`${slave.slaveName}`); if (slave.devotion > 50) { - r.push(`accepts ${his} new name cheerfully. This attachment to you <span class="devotion inc"> increases ${his} devotion.</span>`); + r.push(`accepts ${his} new name cheerfully. This attachment to you <span class="devotion inc">increases ${his} devotion.</span>`); slave.devotion += 4; } else if (slave.devotion >= -20) { - r.push(`obediently accepts ${his} new name. This surrender to you <span class="devotion inc"> increases ${his} obedience.</span>`); + r.push(`obediently accepts ${his} new name. This surrender to you <span class="devotion inc">increases ${his} obedience.</span>`); slave.devotion += 4; } else if (slave.devotion >= -50) { r.push(`reluctantly accepts ${his} new name.`); } else { - r.push(`angrily tries to resist ${his} new name, insisting that ${his} name is ${SlaveFullBirthName(slave)}. This resistance <span class="devotion dec"> increases ${his} rebelliousness.</span>`); + r.push(`angrily tries to resist ${his} new name, insisting that ${his} name is ${SlaveFullBirthName(slave)}. This resistance <span class="devotion dec">increases ${his} rebelliousness.</span>`); slave.devotion -= 5; } } else { diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js index e611ce8452d16ed529e1f2b03640be7a0e3935a7..9273ceb2dd22109c25bde08e6392a1f6b46235af 100644 --- a/src/npc/descriptions/belly/belly.js +++ b/src/npc/descriptions/belly/belly.js @@ -7309,7 +7309,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { r.push(`Traditional battle armor would be useless on ${slave.slaveName}'s unfathomable, hyper-swollen, ${slave.inflationType}-filled belly. Instead, ${he} wears armor more suited to protecting an industrial tanker truck rather than a human being, complete with an internal mechanical frame designed to draw the shock of physical blows away from ${his} dangerously pressurized ${slave.inflationType} and special hookups to optimize the value of mobility aids.`); } else if (slave.bellyImplant > 0) { - r.push(`Traditional battle armor would be useless on ${slave.slaveName} 's unfathomable, hyper-swollen, implant-filled belly. Instead, ${he} wears armor more suited to protecting an industrial tanker truck rather than a human being, complete with an internal mechanical frame designed to draw the shock of physical blows away from ${his} dangerously pressurized implant and special hookups to optimize the value of mobility aids.`); + r.push(`Traditional battle armor would be useless on ${slave.slaveName}'s unfathomable, hyper-swollen, implant-filled belly. Instead, ${he} wears armor more suited to protecting an industrial tanker truck rather than a human being, complete with an internal mechanical frame designed to draw the shock of physical blows away from ${his} dangerously pressurized implant and special hookups to optimize the value of mobility aids.`); } else { r.push(`Traditional battle armor would be useless on ${slave.slaveName}'s unfathomable, hyper-swollen pregnant belly. Instead, ${he} wears armor more suited to protecting an industrial tanker truck rather than a human being, complete with an internal mechanical frame designed to draw the shock of physical blows away from ${his} dangerously pressurized womb and innumerable brood of squirming children, as well as special hookups to optimize the value of mobility aids.`); } diff --git a/src/npc/descriptions/describePiercings.js b/src/npc/descriptions/describePiercings.js index d84364fb08258ae25af45d691ff81bbc12ca7529..8b128f08b7b07bf72a33c26548e345e41f6873d8 100644 --- a/src/npc/descriptions/describePiercings.js +++ b/src/npc/descriptions/describePiercings.js @@ -470,9 +470,9 @@ App.Desc.piercing = function(slave, surface) { r.push(`asshole.`); } } else if (slave.anusPiercing === 2) { - r.push(`${He} has a big ring between ${his} pussy and ${his} asshole`); + r.push(`${He} has a big ring between ${his} pussy and ${his} asshole,`); if (slave.fuckdoll > 0) { - r.push(`, which helps keep the strip of material`); + r.push(`which helps keep the strip of material`); if (slave.vagina > -1) { r.push(`between ${his} holes`); } else { @@ -480,7 +480,7 @@ App.Desc.piercing = function(slave, surface) { } r.push(`in place,`); } - r.push(`and studs in all around ${his} anus.`); + r.push(`and studs all around ${his} anus.`); } } else { if (slave.anusPiercing === 1) { diff --git a/src/npc/descriptions/descriptionWidgets.js b/src/npc/descriptions/descriptionWidgets.js index b8e1a33d8b235ae062651cb000eb1cdfec105ebd..d520c628f8dfa4ccdc15715657ad38838b5e42f3 100644 --- a/src/npc/descriptions/descriptionWidgets.js +++ b/src/npc/descriptions/descriptionWidgets.js @@ -719,11 +719,11 @@ App.Desc.ageAndHealth = function(slave) { } else { r += ` The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is `; if (H.health < -90) { - r += `<span class="red"> in dangerously poor health,</span>`; + r += `<span class="red">in dangerously poor health,</span>`; } else if (H.health < -50) { - r += `<span class="red"> in poor health,</span>`; + r += `<span class="red">in poor health,</span>`; } else if (H.health < -20) { - r += `<span class="red"> unhealthy,</span>`; + r += `<span class="red">unhealthy,</span>`; } else if (H.health <= 20) { r += `<span class="yellow">healthy,</span>`; } else if (H.health <= 50) { diff --git a/src/npc/descriptions/longSlave.js b/src/npc/descriptions/longSlave.js index e3f25897f72553695263f08f2b7f802ea70331a3..995a2d04419a2d92323e896beb6b8f9a88a7d174 100644 --- a/src/npc/descriptions/longSlave.js +++ b/src/npc/descriptions/longSlave.js @@ -390,13 +390,13 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti let scarCounter = 0; for (let scarName in slave.scar) { if (slave.ID === V.BodyguardID && scarCounter > 1) { - r.push(`${His} scars make ${him} look even more menacing than ${he} actually is. `); + r.push(`${His} scars make ${him} look even more menacing than ${he} actually is.`); break; } else if ((slave.ID === V.BodyguardID) && slave.scar[scarName].menacing > 0) { - r.push(`${His} menacing scar makes ${him} look terrifying. `); + r.push(`${His} menacing scar makes ${him} look terrifying.`); break; } else if ((slave.ID === V.WardenessID) && scarCounter > 1) { - r.push(`${His} scars make ${him} look like ${he}'s in the right place. `); + r.push(`${His} scars make ${him} look like ${he}'s in the right place.`); break; } scarCounter++; @@ -404,28 +404,28 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti if (slave.fuckdoll === 0) { if (slave.markings === "birthmark" && slave.prestige === 0 && slave.porn.prestige < 2) { - r.push(`${He} has a large, liver-colored birthmark, detracting from ${his} beauty. `); + r.push(`${He} has a large, liver-colored birthmark, detracting from ${his} beauty.`); } if (slave.skin === "sun tanned") { if ((slave.rules.release.slaves === 1) || App.Utils.hasFamilySex(slave)) { if (slave.fetishStrength > 60 && slave.fetishKnown === 1) { - r.push(`${His} tan is slightly uneven, since ${he} enjoys `); + r.push(`${His} tan is slightly uneven, since ${he} enjoys`); if (slave.fetish === "buttslut") { - r.push(`letting other tanned slaves share a tanning bed with ${him} so they can sodomize ${him} while ${he} tans. `); + r.push(`letting other tanned slaves share a tanning bed with ${him} so they can sodomize ${him} while ${he} tans.`); } else if ((slave.fetish === "cumslut")) { - r.push(`letting other tanned slaves share a tanning bed with ${him} so they get oral from ${him} while ${he} tans. `); + r.push(`letting other tanned slaves share a tanning bed with ${him} so they get oral from ${him} while ${he} tans.`); } else if ((slave.fetish === "sadist")) { - r.push(`forcing inferior slaves into the tanning beds with ${him} so ${he} can sodomize them while ${he} tans. `); + r.push(`forcing inferior slaves into the tanning beds with ${him} so ${he} can sodomize them while ${he} tans.`); } else if ((slave.fetish === "dom")) { - r.push(`bringing other slaves into the tanning beds with ${him} so ${he} can fuck them while ${he} tans. `); + r.push(`bringing other slaves into the tanning beds with ${him} so ${he} can fuck them while ${he} tans.`); } else if ((slave.fetish === "masochist") || (slave.fetish === "submissive")) { - r.push(`letting other slaves into the tanning beds with ${him} so they can fuck ${him} while ${he} tans. `); + r.push(`letting other slaves into the tanning beds with ${him} so they can fuck ${him} while ${he} tans.`); } else if ((slave.fetish === "boobs")) { - r.push(`bringing other slaves into the tanning beds with ${him} so ${he} can tittyfuck them while ${he} tans. `); + r.push(`bringing other slaves into the tanning beds with ${him} so ${he} can tittyfuck them while ${he} tans.`); } else if ((slave.fetish === "pregnancy") && (jsRandom(0, 99) < V.seeDicks)) { - r.push(`letting slaves with dicks into the tanning beds with ${him} so they can cum inside ${him} while ${he} tans. `); + r.push(`letting slaves with dicks into the tanning beds with ${him} so they can cum inside ${him} while ${he} tans.`); } else { - r.push(`bringing other slaves into the tanning beds with ${him} to have sex while ${he} tans. `); + r.push(`bringing other slaves into the tanning beds with ${him} to have sex while ${he} tans.`); } } } @@ -455,7 +455,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti if (slave.hLength >= 10) { if (slave.markings === "freckles" || slave.markings === "heavily freckled") { if (skinToneLevel(slave.skin) > 5 && skinToneLevel(slave.skin) < 10) { - r.push(`It goes perfectly with ${his} ${slave.skin} skin and freckles. `); + r.push(`It goes perfectly with ${his} ${slave.skin} skin and freckles.`); } } } @@ -463,48 +463,48 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti const pubertyAge = Math.min(slave.pubertyAgeXX, slave.pubertyAgeXY); if (slave.physicalAge < pubertyAge - 2) { - r.push(`${He} is too sexually immature to have armpit hair. `); + r.push(`${He} is too sexually immature to have armpit hair.`); } else if (slave.underArmHStyle === "hairless") { - r.push(`${His} armpits are perfectly smooth and naturally hairless. `); + r.push(`${His} armpits are perfectly smooth and naturally hairless.`); } else if (slave.underArmHStyle === "bald") { - r.push(`${His} armpits no longer grow hair, leaving them smooth and hairless. `); + r.push(`${His} armpits no longer grow hair, leaving them smooth and hairless.`); } else if (slave.underArmHStyle === "waxed") { if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) { - r.push(`${His} armpit hair has been removed to prevent chafing. `); + r.push(`${His} armpit hair has been removed to prevent chafing.`); } else { - r.push(`${His} armpits are waxed and smooth. `); + r.push(`${His} armpits are waxed and smooth.`); } } else if (slave.physicalAge < pubertyAge - 1) { r.push(`${He} has a few ${slave.underArmHColor} wisps of armpit hair.`); } else if (slave.physicalAge < pubertyAge) { r.push(`${He} is on the verge of puberty and has a small patch of ${slave.underArmHColor} armpit hair.`); } else if (slave.underArmHStyle === "shaved") { - r.push(`${His} armpits appear hairless, but closer inspection reveals light, ${slave.underArmHColor} stubble. `); + r.push(`${His} armpits appear hairless, but closer inspection reveals light, ${slave.underArmHColor} stubble.`); } else if (slave.underArmHStyle === "neat") { - r.push(`${His} armpit hair is neatly trimmed `); + r.push(`${His} armpit hair is neatly trimmed`); if (!hasBothArms(slave)) { - r.push(`since `); + r.push(`since`); if (hasAnyArms(slave)) { - r.push(`at least half `); + r.push(`at least half`); } else { - r.push(`it `); + r.push(`it`); } - r.push(`is always in full view. `); + r.push(`is always in full view.`); } else { - r.push(`to not be visible unless ${he} lifts ${his} arms. `); + r.push(`to not be visible unless ${he} lifts ${his} arms.`); } } else if (slave.underArmHStyle === "bushy") { r.push(`${His} ${slave.underArmHColor} armpit hair has been allowed to grow freely,`); if (!hasAnyArms(slave)) { - r.push(`creating two bushy patches under where ${his} arms used to be. `); + r.push(`creating two bushy patches under where ${his} arms used to be.`); } else { - r.push(`so it can be seen poking out from under ${his} `); + r.push(`so it can be seen poking out from under ${his}`); if (hasBothArms(slave)) { - r.push(`arms `); + r.push(`arms`); } else { - r.push(`arm `); + r.push(`arm`); } - r.push(`at all times. `); + r.push(`at all times.`); } } } @@ -541,7 +541,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti if (V.showBodyMods === 1) { if (slave.fuckdoll > 0) { if (slave.earPiercing + slave.eyebrowPiercing + slave.nosePiercing > 0) { - r.push(`The piercings on ${his} head run through ${his} suit, helping secure the material to ${his} head. `); + r.push(`The piercings on ${his} head run through ${his} suit, helping secure the material to ${his} head.`); } } else { r.push(App.Desc.mods(slave, "ear")); @@ -566,27 +566,27 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti r.push(App.Desc.mouthAccessory(slave)); if (slave.relationship > 4) { if (hasAnyArms(slave)) { - r.push(`${He} has a simple gold band on the little finger of ${his} `); + r.push(`${He} has a simple gold band on the little finger of ${his}`); if (!hasLeftArm(slave)) { - r.push(`right `); + r.push(`right`); } else { - r.push(`left `); + r.push(`left`); } - r.push(`hand. `); + r.push(`hand.`); } else { - r.push(`${He} has a simple gold band on a length of chain around ${his} neck. `); + r.push(`${He} has a simple gold band on a length of chain around ${his} neck.`); } } else if (slave.relationship === -3) { if (hasAnyArms(slave)) { - r.push(`${He} has a simple steel band on the little finger of ${his} `); + r.push(`${He} has a simple steel band on the little finger of ${his}`); if (!hasLeftArm(slave)) { - r.push(`right `); + r.push(`right`); } else { - r.push(`left `); + r.push(`left`); } - r.push(`hand. `); + r.push(`hand.`); } else { - r.push(`${He} has a simple steel band on a length of cord around ${his} neck. `); + r.push(`${He} has a simple steel band on a length of cord around ${his} neck.`); } } } diff --git a/src/npc/descriptions/sceneIntro.js b/src/npc/descriptions/sceneIntro.js index 159e1cbb6dd65e84b367f2feb99349db312fd573..136a415110203e6630ce96a8d0a5da321dac3100 100644 --- a/src/npc/descriptions/sceneIntro.js +++ b/src/npc/descriptions/sceneIntro.js @@ -258,7 +258,7 @@ App.Desc.sceneIntro = function(slave, {market, eventDescription} = {}) { if (slave.rules.relationship === "restrictive") { r.push(`The rules forbid ${him} from associating freely with other slaves.`); } else if (slave.career === "a Futanari Sister") { - r.push(`The rules encourage ${him} to form friendships with other slaves, but ${he} seems disinclined to do so.${He}'s both friendly with them and eagerly sexual with them when allowed, but ${he} seems to be waiting for someone, deep down.`); + r.push(`The rules encourage ${him} to form friendships with other slaves, but ${he} seems disinclined to do so. ${He}'s both friendly with them and eagerly sexual with them when allowed, but ${he} seems to be waiting for someone, deep down.`); } else if (slave.rules.relationship === "just friends") { r.push(`The rules encourage ${him} to form friendships with other slaves.`); } else { diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js index a9eaff982656532f5b0a71a1169ddefc2c41ecd9..887fd8c97731add0275e8df5005a7f9dee76b7d8 100644 --- a/src/npc/generate/newSlaveIntro.js +++ b/src/npc/generate/newSlaveIntro.js @@ -1290,10 +1290,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { r.push(`sees ${himself}`); } else { if (hasAnyArms(slave)) { - r.push(`tenderly uses ${his} hand`); - if (hasBothArms(slave)) { - r.push(`s`); - } + r.push(`tenderly uses ${his} hand${hasBothArms(slave) ? 's' : ''}`); r.push(`and finds ${himself}`); } else { r.push(`stoically waits while you vividly describe ${his} new appearance. One`); @@ -1394,14 +1391,14 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { }, result: function(slave) { const r = []; - const {He2, he2, his2, him2} = getPronouns(slave2).appendSuffix('2'); - r.push(`Your new slave appears `); + const {He2, he2, his2, him2, sister2} = getPronouns(slave2).appendSuffix('2'); + r.push(`Your new slave appears`); if (slave.devotion < -10) { r.push(`reluctant to assume ${his} new duties.`); } else { r.push(`unsure what ${his} new duties are.`); } - r.push(`You gesture towards ${slave2.slaveName}. ${He2} is `); + r.push(`You gesture towards ${slave2.slaveName}. ${He2} is`); if (slave2.intelligence + slave2.intelligenceImplant > 15) { r.push(`bright enough`); } else if ((slave2.skill.vaginal + slave2.skill.anal + slave2.skill.oral) > 100) { @@ -1409,7 +1406,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`obedient enough`); } - r.push(` to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a `); + r.push(`to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a`); if (slave2.skill.entertainment >= 100) { r.push(`masterful`); } else if (slave2.skill.entertainment > 10) { @@ -1417,29 +1414,29 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`passable`); } - r.push(` striptease, culminating in ${him2} `); + r.push(`striptease, culminating in ${him2}`); if (slave2.anus > 0 && slave2.fetish !== "cumslut") { r.push(`bending over`); } else { r.push(`kneeling`); } - r.push(` in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); + r.push(`in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); if (slave2.energy > 95) { - r.push(` like the slut ${he2} is`); + r.push(`like the slut ${he2} is.`); } else if (slave2.skill.whoring > 30) { - r.push(` like the whore ${he2} is`); + r.push(`like the whore ${he2} is.`); } else if ((slave2.assignment === "serve in the master suite") || (slave2.assignment === "please you")) { - r.push(` like the fucktoy ${he2} is`); + r.push(`like the fucktoy ${he2} is.`); } - r.push(`. As you finish, ${he2} `); + r.push(`As you finish, ${he2}`); if (slave2.fetish === "cumslut") { - r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`); + r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again.`); } else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) { - r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white`); + r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white.`); } else { - r.push(`thanks you`); + r.push(`thanks you.`); } - r.push(`. Witnessing this display of servitude from ${his} big _sister2 <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); + r.push(`Witnessing this display of servitude from ${his} big ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { actX(slave2, "anal"); } else { @@ -1460,14 +1457,14 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { }, result: function(slave) { const r = []; - const {He2, he2, his2, him2} = getPronouns(slave2).appendSuffix('2'); - r.push(`Your new slave appears `); + const {He2, he2, his2, him2, sister2} = getPronouns(slave2).appendSuffix('2'); + r.push(`Your new slave appears`); if (slave.devotion < -10) { - r.push(`reluctant to assume ${his} new duties`); + r.push(`reluctant to assume ${his} new duties.`); } else { - r.push(`unsure what ${his} new duties are`); + r.push(`unsure what ${his} new duties are.`); } - r.push(`. You gesture towards ${slave2.slaveName}. ${He2} is `); + r.push(`You gesture towards ${slave2.slaveName}. ${He2} is`); if (slave2.intelligence + slave2.intelligenceImplant > 15) { r.push(`bright enough`); } else if (((slave2.skill.vaginal + slave2.skill.anal + slave2.skill.oral) > 100)) { @@ -1475,7 +1472,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`obedient enough`); } - r.push(` to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a `); + r.push(`to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a`); if (slave2.skill.entertainment >= 100) { r.push(`masterful`); } else if (slave2.skill.entertainment > 10) { @@ -1483,29 +1480,29 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`passable`); } - r.push(` striptease, culminating in ${him2} `); + r.push(`striptease, culminating in ${him2}`); if (slave2.anus > 0 && slave2.fetish !== "cumslut") { r.push(`bending over`); } else { r.push(`kneeling`); } - r.push(` in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); + r.push(`in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); if (slave2.energy > 95) { - r.push(` like the slut ${he2} is`); + r.push(`like the slut ${he2} is.`); } else if (slave2.skill.whoring > 30) { - r.push(` like the whore ${he2} is`); + r.push(`like the whore ${he2} is.`); } else if ((slave2.assignment === "serve in the master suite") || (slave2.assignment === "please you")) { - r.push(` like the fucktoy ${he2} is`); + r.push(`like the fucktoy ${he2} is.`); } - r.push(`. As you finish, ${he2} `); + r.push(`As you finish, ${he2}`); if (slave2.fetish === "cumslut") { - r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`); + r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again.`); } else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) { - r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white`); + r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white.`); } else { - r.push(`thanks you`); + r.push(`thanks you.`); } - r.push(`. Witnessing this display of servitude from ${his} little _sister2 <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { + r.push(`Witnessing this display of servitude from ${his} little ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { actX(slave2, "anal"); } else { actX(slave2, "oral"); @@ -1525,14 +1522,14 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { }, result: function(slave) { const r = []; - const {He2, he2, his2, him2} = getPronouns(slave2).appendSuffix('2'); - r.push(`Your new slave appears `); + const {He2, he2, his2, him2, sister2} = getPronouns(slave2).appendSuffix('2'); + r.push(`Your new slave appears`); if (slave.devotion < -10) { r.push(`reluctant to assume ${his} new duties.`); } else { r.push(`unsure what ${his} new duties are.`); } - r.push(`You gesture towards ${slave2.slaveName}. ${He2} is `); + r.push(`You gesture towards ${slave2.slaveName}. ${He2} is`); if (slave2.intelligence + slave2.intelligenceImplant > 15) { r.push(`bright enough`); } else if (((slave2.skill.vaginal + slave2.skill.anal + slave2.skill.oral) > 100)) { @@ -1540,7 +1537,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`obedient enough`); } - r.push(` to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a `); + r.push(`to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a`); if (slave2.skill.entertainment >= 100) { r.push(`masterful`); } else if (slave2.skill.entertainment > 10) { @@ -1548,21 +1545,21 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`passable`); } - r.push(` striptease, culminating in ${him2} `); + r.push(`striptease, culminating in ${him2}`); if (slave2.anus > 0 && slave2.fetish !== "cumslut") { r.push(`bending over`); } else { r.push(`kneeling`); } - r.push(` in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); + r.push(`in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); if (slave2.energy > 95) { - r.push(` like the slut ${he2} is`); + r.push(`like the slut ${he2} is.`); } else if (slave2.skill.whoring > 30) { - r.push(` like the whore ${he2} is`); + r.push(`like the whore ${he2} is.`); } else if ((slave2.assignment === "serve in the master suite") || (slave2.assignment === "please you")) { - r.push(` like the fucktoy ${he2} is`); + r.push(`like the fucktoy ${he2} is.`); } - r.push(`. As you finish, ${he2} `); + r.push(`As you finish, ${he2}`); if (slave2.fetish === "cumslut") { r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`); } else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) { @@ -1570,7 +1567,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`thanks you`); } - r.push(`. Witnessing this display of servitude from ${his} twin _sister2 <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); + r.push(`Witnessing this display of servitude from ${his} twin ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { actX(slave2, "anal"); } else { @@ -1589,7 +1586,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { result: function(slave) { const r = []; const {He2, he2, his2, him2} = getPronouns(slave2).appendSuffix('2'); - r.push(`You gesture towards ${slave2.slaveName}. ${He2} is `); + r.push(`You gesture towards ${slave2.slaveName}. ${He2} is`); if (slave2.intelligence + slave2.intelligenceImplant > 15) { r.push(`bright enough`); } else if ((slave2.skill.vaginal + slave2.skill.anal + slave2.skill.oral) > 100) { @@ -1597,7 +1594,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`obedient enough`); } - r.push(` to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a `); + r.push(`to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a`); if (slave2.skill.entertainment >= 100) { r.push(`masterful`); } else if (slave2.skill.entertainment > 10) { @@ -1605,35 +1602,35 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`passable`); } - r.push(` striptease, culminating in ${him2} `); + r.push(`striptease, culminating in ${him2}`); if (slave2.anus > 0 && slave2.fetish !== "cumslut") { r.push(`bending over`); } else { r.push(`kneeling`); } - r.push(` in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); + r.push(`in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); if (slave2.energy > 95) { - r.push(` like the slut ${he2} is`); + r.push(`like the slut ${he2} is.`); } else if (slave2.skill.whoring > 30) { - r.push(` like the whore ${he2} is`); + r.push(`like the whore ${he2} is.`); } else if ((slave2.assignment === "serve in the master suite") || (slave2.assignment === "please you")) { - r.push(` like the fucktoy ${he2} is`); + r.push(`like the fucktoy ${he2} is.`); } - r.push(`. As you finish, ${he2} `); + r.push(`As you finish, ${he2}`); if (slave2.fetish === "cumslut") { - r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`); + r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again.`); } else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) { - r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white`); + r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white.`); } else { - r.push(`thanks you`); + r.push(`thanks you.`); } - r.push(`. Witnessing this display of servitude from ${his} `); + r.push(`Witnessing this display of servitude from ${his}`); if (slave.mother === slave2.ID) { r.push(`mother`); } else { r.push(`father`); } - r.push(` <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); + r.push(`<span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { actX(slave2, "anal"); } else { @@ -1654,8 +1651,8 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { }, result: function(slave) { const r = []; - const {He2, he2, his2, him2} = getPronouns(slave2).appendSuffix('2'); - r.push(`You gesture towards ${slave2.slaveName}. ${He2} is `); + const {He2, he2, his2, him2, daughter2} = getPronouns(slave2).appendSuffix('2'); + r.push(`You gesture towards ${slave2.slaveName}. ${He2} is`); if (slave2.intelligence + slave2.intelligenceImplant > 15) { r.push(`bright enough`); } else if (((slave2.skill.vaginal + slave2.skill.anal + slave2.skill.oral) > 100)) { @@ -1663,7 +1660,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`obedient enough`); } - r.push(` to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a `); + r.push(`to understand you mean a demonstration is in order. ${slave2.slaveName} starts things off with a`); if (slave2.skill.entertainment >= 100) { r.push(`masterful`); } else if (slave2.skill.entertainment > 10) { @@ -1671,29 +1668,29 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`passable`); } - r.push(` striptease, culminating in ${him2} `); + r.push(`striptease, culminating in ${him2}`); if (slave2.anus > 0 && slave2.fetish !== "cumslut") { r.push(`bending over`); } else { r.push(`kneeling`); } - r.push(` in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); + r.push(`in front of you. ${He2} eagerly moans as you enter ${him2}, begging for your seed`); if (slave2.energy > 95) { - r.push(` like the slut ${he2} is`); + r.push(`like the slut ${he2} is.`); } else if (slave2.skill.whoring > 30) { - r.push(` like the whore ${he2} is`); + r.push(`like the whore ${he2} is.`); } else if ((slave2.assignment === "serve in the master suite") || (slave2.assignment === "please you")) { - r.push(` like the fucktoy ${he2} is`); + r.push(`like the fucktoy ${he2} is.`); } - r.push(`. As you finish, ${he2} `); + r.push(`As you finish, ${he2}`); if (slave2.fetish === "cumslut") { - r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`); + r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again.`); } else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) { - r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white`); + r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white.`); } else { - r.push(`thanks you`); + r.push(`thanks you.`); } - r.push(`. Witnessing this display of servitude from ${his} _daughter2 <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); + r.push(`Witnessing this display of servitude from ${his} ${daughter2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") { actX(slave, "anal"); } else { @@ -2858,22 +2855,23 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { result(slave) { const r = []; const num = jsRandom(1, 100); - r.push(`${He} seems reasonably obedient, so you give ${him} a chance to impress.You remain seated and offer ${him} your`); + r.push(`${He} seems reasonably obedient, so you give ${him} a chance to impress. You remain seated and offer ${him} your`); if (V.PC.dick !== 0) { - r.push(`half - erect cock`); + r.push(`half-erect cock`); if (V.PC.vagina !== -1) { r.push(`and ready pussy`); } } else { r.push(`pussy, wet with arousal at the prospect of breaking in a new slut`); } - r.push(`.${He} comes over obediently and gets`); + r.push(r.pop() + "."); + r.push(`${He} comes over obediently and gets`); if (hasBothLegs(slave)) { - r.push(`on ${his} knees`); + r.push(`on ${his} knees.`); } else { - r.push(`into position`); + r.push(`into position.`); } - r.push(`.${He} works hard and is clearly doing ${his} absolute best to please, so you ${him} finish you with ${his} mouth.`); + r.push(`${He} works hard and is clearly doing ${his} absolute best to please, so you ${him} finish you with ${his} mouth.`); if (V.PC.dick !== 0) { if (num > 20) { r.push(`${He}`); @@ -2895,13 +2893,14 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`${He} worked ${his} tongue hard and did ${his} best`); } - r.push(`.You spend the rest of the day with ${him}`); + r.push(`You spend the rest of the day with ${him}`); + r.push(r.pop() + "."); if (hasAnyLegs(slave)) { r.push(`kneeling`); } else { r.push(`resting`); } - r.push(`on a cushion next to your chair.${He} learns obedience, but also learns that you are < span class="mediumaquamarine" > fair</span > and < span class="hotpink" > reasonable.</span >`); + r.push(`on a cushion next to your chair. ${He} learns obedience, but also learns that you are <span class="mediumaquamarine">fair</span> and <span class="hotpink">reasonable.</span>`); slave.devotion += 4; slave.trust += 4; actX(slave, "oral"); @@ -2917,7 +2916,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { linkName: `Make sure ${he} knows pregnant women can still enjoy sex`, result(slave) { const r = []; - r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${WrittenMaster(slave)} before sending ${him} off for a physical.That night, ${he} 's returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${V.PC.dick === 0 ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`); + r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${WrittenMaster(slave)} before sending ${him} off for a physical. That night, ${he}'s returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${V.PC.dick === 0 ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`); if (V.PC.dick !== 0) { r.push(`your cock.`); } else { @@ -2953,7 +2952,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`force the reluctant ${desc}`); } - r.push(`to lie atop your desk in front of you and go back to business.After a few minutes, you extend an idle hand and begin to fondle ${his}`); + r.push(`to lie atop your desk in front of you and go back to business. After a few minutes, you extend an idle hand and begin to fondle ${his}`); if (slave.boobs > 2000) { r.push(`massive tits,`); } else if (slave.boobs > 400) { @@ -2961,7 +2960,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`cute little boobs,`); } - r.push(`continuing your work with your other hand.You quickly focus your fiddling on ${his} ${slave.nipples} nipples, the stimulation`); + r.push(`continuing your work with your other hand. You quickly focus your fiddling on ${his} ${slave.nipples} nipples, the stimulation`); if (slave.nipples === "fuckable") { if (slave.devotion > 20) { r.push(`quickly engorging them around your fingers.`); @@ -2979,7 +2978,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { if (slave.devotion > 20) { if (slave.fetish === "boobs") { if (slave.fetishKnown === 0) { - r.push(`The slave quickly becomes aroused.Before long, an orgasm convulses ${his} entire body, jiggling the feminine flesh under your hand delightfully. < span class="green" > ${He} 's a breast fetishist!</span>`); + r.push(`The slave quickly becomes aroused. Before long, an orgasm convulses ${his} entire body, jiggling the feminine flesh under your hand delightfully. <span class="green"> ${He}'s a breast fetishist!</span>`); slave.fetishKnown = 1; } else { r.push(`${His} breast fixation makes this teasing quite pleasurable for ${him}, almost as good as a handjob. Before long, an orgasm convulses ${his} entire body, jiggling the feminine flesh under your hand delightfully.`); @@ -3050,7 +3049,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { if (V.PC.dick !== 0) { r.push(`and to finish off ${his} twitching dick`); } - r.push(`${he} <span class="hotpink">complies meekly,</span> knowing you are the < span class="gold" > dominant force</span > in ${his} life now.`); + r.push(`${he} <span class="hotpink">complies meekly,</span> knowing you are the <span class="gold">dominant force</span> in ${his} life now.`); slave.devotion += 5; slave.trust -= 3; return r.join(" "); @@ -3113,13 +3112,11 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } else { r.push(`You knew ${he} had a pregnancy fetish and the look on ${his} face confirms it.`); } - r.push(`A kick from within startles you from your thoughts; it would appear your child`); + r.push(`A kick from within startles you from your thoughts; it would appear your`); if (V.PC.pregType > 1) { - r.push(`ren`); - } - r.push(`agree`); - if (V.PC.pregType === 1) { - r.push(`s`); + r.push(`children agree`); + } else { + r.push(`child agrees`); } r.push(`that you'll have to have another ride sometime.`); slave.devotion += 15; @@ -3148,9 +3145,9 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { } r.push(`milk laden breasts.`); } else if (V.PC.boobs >= 1200) { - r.push(`huge, `); + r.push(`huge,`); if (V.PC.boobsImplant > 0) { - r.push(`fake, `); + r.push(`fake,`); } r.push(`milk laden breasts.`); } else if (V.PC.boobs >= 1000) { @@ -3392,7 +3389,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { slave.devotion += 10; slave.trust += 10; } else if (slave.behavioralFlaw === "anorexic") { - r.push(`Only then does ${he} regain composure enough to realize what ${he}'s done. ${He} <span class="mediumorchid"> bursts into tears</span> as ${he} rubs ${his} disgustingly full belly. ${He} glares at you, only to catch you toying with even more food. ${He} begins to <span class="gold">tremble</span> when ${he} realizes how easily you did this to ${him}. You're sure ${he}'ll change ${his} tune in time, since you know ${he}'ll be unable to resist sneaking treats.`); + r.push(`Only then does ${he} regain composure enough to realize what ${he}'s done. ${He} <span class="mediumorchid">bursts into tears</span> as ${he} rubs ${his} disgustingly full belly. ${He} glares at you, only to catch you toying with even more food. ${He} begins to <span class="gold">tremble</span> when ${he} realizes how easily you did this to ${him}. You're sure ${he}'ll change ${his} tune in time, since you know ${he}'ll be unable to resist sneaking treats.`); slave.devotion -= 10; slave.trust -= 10; } else { @@ -3487,10 +3484,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { linkName: `Tie ${him} up and give ${him} a good whipping`, result(slave) { const r = []; - r.push(`You cuff ${his} wrist`); - if (hasBothArms(slave)) { - r.push(`s`); - } + r.push(`You cuff ${his} wrist${hasBothArms(slave) ? 's' : ''}`); r.push(`and tie the cuffs to a hook in the ceiling so ${he}'s forced up on tiptoe. Reflecting that sometimes the old ways are best, you take a whip to ${him}. It's soft leather and you have some skill, so ${his} skin isn't broken, but you lash ${his} buttocks and every stroke draws a scream. After a while, the pain grows dull for ${him} and ${he} slumps in ${his} bindings, moaning. You switch to ${his} nipples, bringing ${him} back to howling life as ${he} dances on tiptoe and tries to dodge.`); if (slave.dick !== 0) { r.push(`You finish by taking the whip to ${his} penis, leaving ${him} sobbing and begging.`); @@ -3513,19 +3507,19 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { 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)) { - r.push(`hand`); if (hasBothArms(slave)) { - r.push(`s`); + r.push(`hands`); + } else { + r.push(`hand`); } if (hasAnyLegs(slave)) { r.push(`and`); } } - if (hasAnyLegs(slave)) { + if (hasBothLegs(slave)) { + r.push(`knees`); + } else if (hasAnyLegs(slave)) { r.push(`knee`); - if (hasBothLegs(slave)) { - r.push(`s`); - } } r.push(`and bring a fuckmachine up from storage. It fits over ${him} as ${he} whimpers down there on`); if (hasAllLimbs(slave)) { @@ -3558,19 +3552,19 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) { 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)) { - r.push(`hand`); if (hasBothArms(slave)) { - r.push(`s`); + r.push(`hands`); + } else { + r.push(`hand`); } if (hasAnyLegs(slave)) { r.push(`and`); } } - if (hasAnyLegs(slave)) { + if (hasBothLegs(slave)) { + r.push(`knees`); + } else if (hasAnyLegs(slave)) { r.push(`knee`); - if (hasBothLegs(slave)) { - r.push(`s`); - } } r.push(`and bring a fuckmachine up from storage. It fits over ${him} as ${he} whimpers down there on`); if (hasAllLimbs(slave)) { diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 9e6128a4681ac946212a102aa1d834bbabf0891b..a43a9b14f7f978128d9480e8c0a4ae782c581f3d 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -7017,7 +7017,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h <</if>> <</replace>> <</link>> -<<if $activeSlave.buttPlug == "none" && ($activeSlave.vagina < 0 || ($activeSlave.vaginalAccessory == "none" && $activeSlave.vaginalAttachment == "none"))>> +<<if $activeSlave.buttplug == "none" && ($activeSlave.vagina < 0 || ($activeSlave.vaginalAccessory == "none" && $activeSlave.vaginalAttachment == "none"))>> <br><<link "Add dildos to $his gear">> <<replace "#result">> You tell $him that you understand, and that you will get $him some new clothing. $He is thrilled, but $his pleasure turns to horror when $he sees that the new clothes are a version of the same slave bondage gear, just with inward-facing dildos for $his <<if $activeSlave.vagina > -1>>pussy and <</if>> asshole. diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 8a6e9aab602fb4b2fa20adaa8d16de614732f23a..0ffdd1c091e88ac316e1e9079cccfc66832dc661 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -435,7 +435,7 @@ Getting a day off each week @@.mediumaquamarine;builds feelings of liberty@@ a slave shouldn't have. <<set $slaves[$i].trust += 3>> <<else>> - $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster()>>.@@ + $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster($slaves[$i])>>.@@ <<set $slaves[$i].trust += 1>> <</if>> <<elseif $slaveUsedRest>> @@ -1018,7 +1018,7 @@ Getting a day off each week @@.mediumaquamarine;builds feelings of liberty@@ a slave shouldn't have. <<set $slaves[$i].trust += 3>> <<else>> - $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster()>>.@@ + $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster($slaves[$i])>>.@@ <<set $slaves[$i].trust += 1>> <</if>> <<elseif $slaveUsedRest>> @@ -4100,7 +4100,7 @@ Getting a day off each week @@.mediumaquamarine;builds feelings of liberty@@ a slave shouldn't have. <<set $slaves[$i].trust += 3>> <<else>> - $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster()>>.@@ + $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster($slaves[$i])>>.@@ <<set $slaves[$i].trust += 1>> <</if>> <<elseif $slaveUsedRest>> @@ -4749,7 +4749,7 @@ Getting a day off each week @@.mediumaquamarine;builds feelings of liberty@@ a slave shouldn't have. <<set $slaves[$i].trust += 3>> <<else>> - $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster()>>.@@ + $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster($slaves[$i])>>.@@ <<set $slaves[$i].trust += 1>> <</if>> <<elseif $slaveUsedRest>> @@ -6222,7 +6222,7 @@ Getting a day off each week @@.mediumaquamarine;builds feelings of liberty@@ a slave shouldn't have. <<set $slaves[$i].trust += 3>> <<else>> - $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster()>>.@@ + $He appreciates having a weekly day off and takes it as a sign that $he has a @@.mediumaquamarine;caring <<= WrittenMaster($slaves[$i])>>.@@ <<set $slaves[$i].trust += 1>> <</if>> <<elseif $slaveUsedRest>>