diff --git a/src/interaction/wardrobeUse.js b/src/interaction/wardrobeUse.js index 2d00eea7b39aada17f8919ed60c5119b6b59abb9..ed249dadbac321db8fb066a8af86812328ab3bf7 100644 --- a/src/interaction/wardrobeUse.js +++ b/src/interaction/wardrobeUse.js @@ -93,7 +93,7 @@ App.UI.Wardrobe.collar = function(slave) { if (slave.fuckdoll !== 0) { return; } - // <<collarDescription>> + // <<= App.Desc.collar($activeSlave)>> let el = document.createElement('div'); let label = document.createElement('div'); diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js index 899184ad04dfcb5420291e52de071d291421e1ae..8a604f5e2e4f3e08ea0682a3489824f7dcf80a7c 100644 --- a/src/npc/descriptions/belly/belly.js +++ b/src/npc/descriptions/belly/belly.js @@ -2314,7 +2314,7 @@ App.Desc.belly = function(slave) { } } if (slave.mpreg === 1 && slave.belly < 100) { - r.push(`${He} has a slight curve to ${his} abdomen, unusual for a male ${slave}.`); + r.push(`${He} has a slight curve to ${his} abdomen, unusual for a male slave.`); } if (V.showClothing === 1 && V.saleDescription === 0) { diff --git a/src/npc/descriptions/describeTattoos.js b/src/npc/descriptions/describeTattoos.js index 03a09900f1a2f7564f2c7d321053e2239833d87f..5d08d394fbc826a4ceeda0d4f5caf7197d824ec2 100644 --- a/src/npc/descriptions/describeTattoos.js +++ b/src/npc/descriptions/describeTattoos.js @@ -587,7 +587,7 @@ App.Desc.tattoo = function(slave, surface) { if (slave.vagina > -1) { r.push(`'Make me suffer.'`); } else { - r.push(`'As a ${slave}.'`); + r.push(`'As a slave.'`); } r.push(`is tattooed across ${his} right.`); break; @@ -682,7 +682,7 @@ App.Desc.tattoo = function(slave, surface) { } else if (slave.physicalAge > 35) { r.push(`'horny old bitch.'`); } else { - r.push(`'sex ${slave}.'`); + r.push(`'sex slave.'`); } break; case "scenes": diff --git a/src/npc/descriptions/style/clothing.js b/src/npc/descriptions/style/clothing.js index 2f155cbecadb796fcd7d492461faab01ec13df7f..a909cb308966c3c6eba4567886b7567ad5cb6c95 100644 --- a/src/npc/descriptions/style/clothing.js +++ b/src/npc/descriptions/style/clothing.js @@ -245,7 +245,7 @@ App.Desc.clothing = function(slave) { } break; case "a chattel habit": - r.push(`the revealing white and gold vestments of an ordained sex ${slave}.`); + r.push(`the revealing white and gold vestments of an ordained sex slave.`); if (hasAnyLegs(slave)) { r.push(`They include`); r.push(App.Desc.footwear(slave)); diff --git a/src/npc/descriptions/style/collar.js b/src/npc/descriptions/style/collar.js new file mode 100644 index 0000000000000000000000000000000000000000..add1e5c611c66014016bf8316baf662b29309512 --- /dev/null +++ b/src/npc/descriptions/style/collar.js @@ -0,0 +1,152 @@ +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.collar = function(slave) { + const r = []; + let daddy; + const pregCollar = either(1, 2, 3); + const { + he, him, his, He + } = getPronouns(slave); + switch (slave.collar) { + case "uncomfortable leather": + r.push(`${He} is wearing an uncomfortable leather collar with a useful steel ring in front.`); + break; + case "preg biometrics": + if (slave.pregSource > 0) { + daddy = findFather(slave.pregSource).slaveName; + } + r.push(`${He} is wearing a heavy metal collar with a digital display; it currently reads:`); + if (slave.preg > 0 && slave.pregKnown === 0) { + r.push(`"I might be preggers! Rub my belly for luck!"`); + } else { + if (pregCollar === 1) { + if (slave.pregWeek < 0) { + r.push(`"I'm a mommy now!"`); + } else if (slave.pregKnown === 0) { + r.push(`"Knock me up!"`); + } else if (slave.pregKnown === 1) { + if (slave.pregType === 0) { + r.push(`"1 baby`); + } else { + r.push(`${slave.pregType} babies`); + } + r.push(`on board!"`); + } else { + r.push(`"I'm infertile!"`); + } + } else if (pregCollar === 2) { + if (slave.pregWeek < 0) { + r.push(`"${num(slave.pregWeek * -1)}`); + if (slave.pregWeek === -1) { + r.push(`week`); + } else { + r.push(`weeks`); + } + r.push(`until I can get preggers again!"`); + } else if (slave.pregKnown === 1) { + if (slave.broodmother === 2) { + if (slave.preg > 37) { + r.push(`"I'm crowning as you read this!"`); + } else { + r.push(`"${38 - Math.ceil(slave.preg)} weeks till I pop!"`); + } + } else if (slave.broodmother === 1) { + r.push(`"${38 - Math.ceil(slave.preg)} weeks till I pop!"`); + } else { + r.push(`"${40 - slave.preg} weeks till I pop!"`); + } + } else { + r.push(`"My womb needs filling!"`); + } + } else { + if (slave.pregWeek < 0) { + r.push(`"I can't wait for my belly to swell with life again!"`); + } else if (slave.pregKnown === 0) { + r.push(`"Put a baby in me today!"`); + } else if (slave.pregSource === -1) { + r.push(`"Womb claimed by my ${WrittenMaster(slave)}!"`); + } else if (slave.pregSource === 0 || slave.pregSource === -2 || slave.pregSource === -5) { + r.push(`"Baby made by slutting around!"`); + } else if (slave.pregSource === -7) { + r.push(`"My baby was made with science!"`); + } else if (slave.pregSource === -9) { + r.push(`"Futanari Sisters, now two for the price of one!"`); + } else if (slave.pregSource > 0) { + r.push(`"Womb claimed by ${daddy}!"`); + } else { + r.push(`"Put a baby in me today!"`); + } + } + } + break; + case "silk ribbon": + r.push(`${He} is wearing a tight silk ribbon fitted to ${his} neck, it is oddly elegant.`); + break; + case "tight steel": + r.push(`${He} is wearing a tight steel collar whose restricting metal touch ${he} cannot escape.`); + break; + case "shock punishment": + r.push(`${He} is wearing a utilitarian collar with a punishment device at ${his} throat to administer agonizing shocks.`); + break; + case "neck corset": + r.push(`${He} is wearing a fitted leather neck corset that constricts ${his} breathing and holds ${his} head rigidly upright.`); + break; + case "stylish leather": + r.push(`${He} is wearing a stylish leather collar buckled in the front, a classic accessory for the well behaved slave.`); + break; + case "satin choker": + r.push(`${He} is wearing a steel reinforced black satin choker that is at once elegant and functional.`); + break; + case "heavy gold": + r.push(`${He} is wearing a heavy gold collar, an outstanding bit of ostentation.`); + break; + case "pretty jewelry": + r.push(`${He} is wearing a pretty slave collar that can almost be mistaken for jewelry.`); + break; + case "bell collar": + r.push(`${He} is wearing a comfortable leather collar with a small brass bell at ${his} throat.`); + break; + case "leather with cowbell": + r.push(`${He} is wearing a comfortable leather collar with a small steel cowbell at ${his} throat.`); + break; + case "bowtie": + r.push(`${He} is wearing the collar from a white formal shirt, and a black bowtie, though these conceal an actual collar that works perfectly well for restraint.`); + break; + case "neck tie": + r.push(`${He} is wearing a neck tie, though it conceals an actual collar that works perfectly well for restraint.`); + break; + case "ancient Egyptian": + r.push(`${He} is wearing a beautiful golden wesekh, a collar that spreads from ${his} neck out onto both shoulders and down ${his} front.`); + break; + case "cruel retirement counter": + case "nice retirement counter": + r.push(`${He} is wearing a`); + if (slave.collar === "cruel retirement counter") { + r.push(`heavy metal collar`); + } else { + r.push(`nice collar, almost a necklace,`); + } + r.push(`with a small numerical display reading`); + if (slave.indenture > -1) { + r.push(`${slave.indenture}, the number of weeks left in ${his} indenture.`); + } else if (V.policies.retirement.sex > 0) { + r.push(`${V.policies.retirement.sex - (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.penetrative + slave.counter.mammary)}, for the number of cocks between ${him} and ${his} freedom.`); + } else if (V.policies.retirement.milk > 0) { + r.push(`${V.policies.retirement.milk - slave.counter.milk}, for the amount of milk ${he} has yet to give.`); + } else if (V.policies.retirement.cum > 0) { + r.push(`${V.policies.retirement.cum - slave.counter.cum}, for the amount of cum ${he} has yet to give.`); + } else if (V.policies.retirement.births > 0) { + r.push(`${V.policies.retirement.births - slave.counter.births}, for the number of pregnancies still between ${him} and freedom.`); + } else if (V.policies.retirement.kills > 0) { + r.push(`${V.policies.retirement.kills - slave.counter.pitKills}, for the number of lives still between ${him} and freedom.`); + } else if (V.policies.retirement.physicalAgePolicy === 0) { + r.push(`${(365 * (V.retirementAge - slave.actualAge)) + (7 * (52 - slave.birthWeek))}, the number of days of sexual slavery ahead of ${him}.`); + } else { + r.push(`${(365 * (V.retirementAge - slave.physicalAge)) + (7 * (52 - slave.birthWeek))}, the number of days of sexual slavery ahead of ${him}.`); + } + } + + return r.join(" "); +}; diff --git a/src/npc/descriptions/style/upperFace.js b/src/npc/descriptions/style/upperFace.js new file mode 100644 index 0000000000000000000000000000000000000000..9e4963b48101ac9d582bf0232829e867614bb9e4 --- /dev/null +++ b/src/npc/descriptions/style/upperFace.js @@ -0,0 +1,241 @@ +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.upperFace = function(slave) { + const r = []; + const { + he, him, his, He, His + } = getPronouns(slave); + if (slave.fuckdoll === 0) { + switch (slave.clothes) { + case "restrictive latex": + r.push(`The upper half of ${his} face is covered by the hood of ${his} latex suit: though`); + if (canSee(slave)) { + r.push(`${he} can see through eye-holes, these can easily be closed to blind ${him}.`); + } else { + r.push(`there are eye-holes, they are currently closed due to their lack of use.`); + } + break; + case "harem gauze": + r.push(`${His} harem outfit includes the traditional veil for ${his} face.`); + break; + case "a burkini": + r.push(`Above ${his} shoulders, ${his} burkini leaves only ${his} face bare.`); + break; + case "a hijab and blouse": + r.push(`Above the shoulders of ${his} blouse, ${his} hijab leaves only ${his} face bare.`); + break; + case "a hijab and abaya": + r.push(`Above the shoulders of ${his} abaya, ${his} hijab leaves only ${his} face bare.`); + break; + case "a niqab and abaya": + r.push(`Above the shoulders of ${his} abaya, ${his} niqab leaves only the area around ${his} eyes bare.`); + break; + case "a klan robe": + case "a slutty klan robe": + r.push(`Above the shoulders of ${his} robe, ${his} hood leaves only the area around ${his} eyes bare.`); + break; + case "a burqa": + r.push(`${His} burqa near totally covers ${his} face, aside from what can be seen behind the fabric mesh that covers ${his} eyes.`); + break; + case "a chattel habit": + r.push(`A golden circlet crowns ${his} white cowl, securing ${his} habit to ${his} head.`); + break; + case "a succubus outfit": + r.push(`${He} has a pair of false horns sprouting from just behind ${his} hairline and sweeping backward, which are anchored to a wire headband hidden by ${his} hair.`); + break; + case "a bunny outfit": + r.push(`A pair of bunny ears sprout from a headband atop ${his} head.`); + break; + } + if (hasAnyCyberneticEyes(slave)) { + r.push(`${He} has artificial`); + if (hasBothCyberneticEyes(slave)) { + r.push(`eyes.`); + } else { + r.push(`an eye.`); + } + } + if (slave.eyewear === "corrective glasses" || slave.eyewear === "blurring glasses" || slave.eyewear === "glasses") { + r.push(`${He}'s wearing a pair of`); + switch (slave.clothes) { + case "chains": + case "shibari ropes": + case "uncomfortable straps": + case "a chattel habit": + case "overalls": + case "Western clothing": + r.push(`sturdy glasses,`); + break; + case "restrictive latex": + r.push(`glasses over the hood,`); + break; + case "a ball gown": + case "a slave gown": + case "conservative clothing": + case "cutoffs and a t-shirt": + case "a halter top dress": + case "a maternity dress": + case "a courtesan dress": + r.push(`nice frameless glasses,`); + break; + case "body oil": + r.push(`big retro glasses,`); + break; + case "slutty business attire": + r.push(`horn-rimmed glasses to accent ${his} business attire,`); + break; + case "a schoolgirl outfit": + r.push(`horn-rimmed glasses to improve ${his} schoolgirl look,`); + break; + case "nice business attire": + r.push(`wire-frame glasses to accent ${his} business attire,`); + break; + case "attractive lingerie": + case "attractive lingerie for a pregnant woman": + case "an apron": + case "a hijab and blouse": + r.push(`feminine glasses,`); + break; + case "kitty lingerie": + r.push(`cat-eye glasses,`); + break; + case "a succubus outfit": + r.push(`severe steel-frame glasses,`); + break; + case "harem gauze": + case "slutty jewelry": + r.push(`glasses with golden wire frames,`); + break; + case "a burqa": + case "a niqab and abaya": + case "a penitent nuns habit": + case "a klan robe": + case "a slutty klan robe": + r.push(`cheap glasses,`); + break; + case "a gothic lolita dress": + r.push(`Victorian-styled glasses,`); + break; + case "a hanbok": + r.push(`folding spectacle glasses,`); + break; + case "a police uniform": + r.push(`aviator sunglasses,`); + break; + case "a Santa dress": + r.push(`antique reading glasses,`); + break; + case "a bunny outfit": + case "a monokini": + r.push(`girly retro glasses,`); + break; + case "a hijab and abaya": + case "a huipil": + case "a kimono": + case "a long qipao": + case "a nice maid outfit": + case "a slutty qipao": + case "a slutty maid outfit": + r.push(`an old fashioned pair of horn rimmed glasses,`); + break; + case "a fallen nuns habit": + case "a cheerleader outfit": + case "a slutty nurse outfit": + r.push(`a daring pair of horn rimmed glasses,`); + break; + case "clubslut netting": + case "a string bikini": + case "striped panties": + case "a bimbo outfit": + r.push(`a pair of girly pastel glasses,`); + break; + case "a scalemail bikini": + r.push(`a pair of ancient-looking glasses,`); + break; + case "a burkini": + case "a one-piece swimsuit": + r.push(`swim goggles,`); + break; + default: + r.push(`simple wire-frame glasses,`); + } + if (getBestVision(slave) === 0) { + r.push(`which, since ${he} is <span class="red">blind,</span> are just for show. ${He} moves carefully as to not bump into things.`); + } else { + if (slave.eyewear === "blurring glasses") { + if (anyVisionEquals(slave, 2)) { + r.push(`which are designed to blur ${his} vision, making ${him} clumsy.`); + } else { + r.push(`which do nothing to help ${his} <span class="yellow">nearsightedness</span> and consequent clumsiness.`); + } + } else if (slave.eyewear === "corrective glasses") { + if (anyVisionEquals(slave, 1)) { + r.push(`which correct ${his} vision.`); + } else { + r.push(`which are just for show.`); + } + } else { + r.push(`which are just for show.`); + } + } + } else { + if (!canSee(slave)) { + r.push(`${He} is <span class="red">blind,</span> and moves very carefully as a result.`); + } else if (!canSeePerfectly(slave)) { + if (slave.eyewear === "blurring contacts") { + r.push(`${He}'s wearing contacts designed to blur ${his} vision, making ${him} clumsy.`); + } else { + r.push(`${He}'s <span class="yellow">nearsighted,</span> and a bit clumsy as a result.`); + } + } else { + if (slave.eyewear === "corrective contacts") { + r.push(`${He}'s wearing contact lenses to correct ${his} <span class="yellow">nearsightedness.</span>`); + } + } + } + // CLOSES EYEWEAR + if (slave.earwear === "hearing aids" || slave.earwear === "muffling ear plugs" || slave.earwear === "deafening ear plugs") { + r.push(`In ${his} ears, ${he} wears`); + if (slave.earwear === "hearing aids") { + r.push(`a pair of hearing aids,`); + if (slave.hears > -1) { + r.push(`which do little to correct ${his} already adequate hearing.`); + } else if (slave.hears === -1) { + r.push(`which are used to correct ${his} <span class="yellow">hearing impairment.</span>`); + } else if (slave.hears < -1) { + r.push(`which, due to ${his} <span class="red">deafness,</span> are useless.`); + } + } else if (slave.earwear === "muffling ear plugs") { + r.push(`a pair of small foam ear plugs,`); + if (slave.hears > -1) { + r.push(`which noticeably <span class="yellow">muffle ${his} hearing.</span>`); + } else if (slave.hears === -1) { + r.push(`which are pointless, as ${he} is already <span class="yellow">hard of hearing.</span>`); + } else if (slave.hears < -1) { + r.push(`which are pointless, as ${he} is totally <span class="red">deaf.</span>`); + } + } else if (slave.earwear === "deafening ear plugs") { + r.push(`a pair of large silicone ear plugs,`); + if (slave.hears > -1) { + r.push(`which <span class="red">nullify ${his} sense of hearing.</span>`); + } else if (slave.hears === -1) { + r.push(`which impair ${his} hearing to the point of <span class="red">deafness.</span>`); + } else if (slave.hears < -1) { + r.push(`which are pointless, as ${he} is already <span class="red">deaf.</span>`); + } + } + } else { + if (slave.hears === -1) { + r.push(`${He}'s <span class="yellow">hard of hearing,</span> and a bit nervous as a result.`); + } else if (slave.hears < -1) { + r.push(`${He} is <span class="red">deaf,</span> and overly paranoid as a result.`); + } + } + } else { + r.push(`${His} face is featurelessly obscured by the Fuckdoll suit from the top of ${his} head down to ${his} face hole.`); + } + + return r.join(" "); +}; diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 8bbf589512a7bde5c84045c66827d6f6ba363a62..bcb8415400947af71b7a41ac986777af78a7ea2e 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -1838,7 +1838,7 @@ $He is <<= App.Desc.ears($activeSlave)>> - <<upperFaceDescription>> + <<= App.Desc.upperFace($activeSlave)>> <<= App.Desc.hair($activeSlave)>> @@ -1915,7 +1915,7 @@ $He is <<if ($showClothing == 1) && ($saleDescription == 0)>> <<if $activeSlave.fuckdoll == 0>> - <<collarDescription>> + <<= App.Desc.collar($activeSlave)>> <<= App.Desc.faceAccessory($activeSlave)>> <<= App.Desc.mouthAccessory($activeSlave)>> <<if ($activeSlave.relationship > 4)>> diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw index 2a2c9a9ffc7a8b69d9413d216420bd95be97b2bb..626dc4abdd3cac43671a7ca01fd97723ca642199 100644 --- a/src/utility/descriptionWidgetsStyle.tw +++ b/src/utility/descriptionWidgetsStyle.tw @@ -1,269 +1,5 @@ :: clothing description widgets [widget nobr] -<<widget "upperFaceDescription">> - <<if $activeSlave.fuckdoll == 0>> - <<switch $activeSlave.clothes>> - <<case "restrictive latex">> - The upper half of $his face is covered by the hood of $his latex suit: though <<if canSee($activeSlave)>>$he can see through eye-holes, these can easily be closed to blind $him<<else>>there are eye-holes, they are currently closed due to their lack of use<</if>>. - <<case "harem gauze">> - $His harem outfit includes the traditional veil for $his face. - <<case "a burkini">> - Above $his shoulders, $his burkini leaves only $his face bare. - <<case "a hijab and blouse">> - Above the shoulders of $his blouse, $his hijab leaves only $his face bare. - <<case "a hijab and abaya">> - Above the shoulders of $his abaya, $his hijab leaves only $his face bare. - <<case "a niqab and abaya">> - Above the shoulders of $his abaya, $his niqab leaves only the area around $his eyes bare. - <<case "a klan robe" "a slutty klan robe">> - Above the shoulders of $his robe, $his hood leaves only the area around $his eyes bare. - <<case "a burqa">> - $His burqa near totally covers $his face, aside from what can be seen behind the fabric mesh that covers $his eyes. - <<case "a chattel habit">> - A golden circlet crowns $his white cowl, securing $his habit to $his head. - <<case "a succubus outfit">> - $He has a pair of false horns sprouting from just behind $his hairline and sweeping backward, which are anchored to a wire headband hidden by $his hair. - <<case "a bunny outfit">> - A pair of bunny ears sprout from a headband atop $his head. - <</switch>> - <<if hasAnyCyberneticEyes($activeSlave)>> - $He has artificial <<if hasBothCyberneticEyes($activeSlave)>>eyes<<else>>an eye<</if>>. - <</if>> - <<if ($activeSlave.eyewear == "corrective glasses") || ($activeSlave.eyewear == "blurring glasses") || ($activeSlave.eyewear == "glasses")>> - $He's wearing a pair of - <<switch $activeSlave.clothes>> - <<case "chains" "shibari ropes" "uncomfortable straps" "a chattel habit" "overalls" "Western clothing">> - sturdy glasses, - <<case "restrictive latex">> - glasses over the hood, - <<case "a ball gown" "a slave gown" "conservative clothing" "cutoffs and a t-shirt" "a halter top dress" "a maternity dress" "a courtesan dress">> - nice frameless glasses, - <<case "body oil">> - big retro glasses, - <<case "slutty business attire">> - horn-rimmed glasses to accent $his business attire, - <<case "a schoolgirl outfit">> - horn-rimmed glasses to improve $his schoolgirl look, - <<case "nice business attire">> - wire-frame glasses to accent $his business attire, - <<case "attractive lingerie" "attractive lingerie for a pregnant woman" "an apron" "a hijab and blouse">> - feminine glasses, - <<case "kitty lingerie">> - cat-eye glasses, - <<case "a succubus outfit">> - severe steel-frame glasses, - <<case "harem gauze" "slutty jewelry">> - glasses with golden wire frames, - <<case "a burqa" "a niqab and abaya" "a penitent nuns habit" "a klan robe" "a slutty klan robe">> - cheap glasses, - <<case "a gothic lolita dress">> - Victorian-styled glasses, - <<case "a hanbok">> - folding spectacle glasses, - <<case "a police uniform">> - aviator sunglasses, - <<case "a Santa dress">> - antique reading glasses, - <<case "a bunny outfit" "a monokini">> - girly retro glasses, - <<case "a hijab and abaya" "a huipil" "a kimono" "a long qipao" "a nice maid outfit" "a slutty qipao" "a slutty maid outfit">> - an old fashioned pair of horn rimmed glasses, - <<case "a fallen nuns habit" "a cheerleader outfit" "a slutty nurse outfit">> - a daring pair of horn rimmed glasses, - <<case "clubslut netting" "a string bikini" "striped panties" "a bimbo outfit">> - a pair of girly pastel glasses, - <<case "a scalemail bikini">> - a pair of ancient-looking glasses, - <<case "a burkini" "a one-piece swimsuit">> - swim goggles, - <<default>> - simple wire-frame glasses, - <</switch>> - <<if getBestVision($activeSlave) === 0>> - which, since $he is @@.red;blind,@@ are just for show. $He moves carefully as to not bump into things. - <<else>> - <<if $activeSlave.eyewear == "blurring glasses">> - <<if anyVisionEquals($activeSlave, 2)>> - which are designed to blur $his vision, making $him clumsy. - <<else>> - which do nothing to help $his @@.yellow;nearsightedness@@ and consequent clumsiness. - <</if>> - <<elseif $activeSlave.eyewear == "corrective glasses">> - <<if anyVisionEquals($activeSlave, 1)>> - which correct $his vision. - <<else>> - which are just for show. - <</if>> - <<else>> - which are just for show. - <</if>> - <</if>> - <<else>> - <<if !canSee($activeSlave)>> - $He is @@.red;blind,@@ and moves very carefully as a result. - <<elseif !canSeePerfectly($activeSlave)>> - <<if $activeSlave.eyewear == "blurring contacts">> - $He's wearing contacts designed to blur $his vision, making $him clumsy. - <<else>> - $He's @@.yellow;nearsighted,@@ and a bit clumsy as a result. - <</if>> - <<else>> - <<if $activeSlave.eyewear == "corrective contacts">> - $He's wearing contact lenses to correct $his @@.yellow;nearsightedness.@@ - <</if>> - <</if>> - <</if>> /* CLOSES EYEWEAR */ - <<if ($activeSlave.earwear == "hearing aids") || ($activeSlave.earwear == "muffling ear plugs") || ($activeSlave.earwear == "deafening ear plugs")>> - In $his ears, $he wears - <<if $activeSlave.earwear == "hearing aids">> - a pair of hearing aids, - <<if $activeSlave.hears > -1>> - which do little to correct $his already adequate hearing. - <<elseif $activeSlave.hears == -1>> - which are used to correct $his @@.yellow;hearing impairment.@@ - <<elseif $activeSlave.hears < -1>> - which, due to $his @@.red;deafness,@@ are useless. - <</if>> - <<elseif $activeSlave.earwear == "muffling ear plugs">> - a pair of small foam ear plugs, - <<if $activeSlave.hears > -1>> - which noticeably @@.yellow;muffle $his hearing.@@ - <<elseif $activeSlave.hears == -1>> - which are pointless, as $he is already @@.yellow;hard of hearing.@@ - <<elseif $activeSlave.hears < -1>> - which are pointless, as $he is totally @@.red;deaf.@@ - <</if>> - <<elseif $activeSlave.earwear == "deafening ear plugs">> - a pair of large silicone ear plugs, - <<if $activeSlave.hears > -1>> - which @@.red;nullify $his sense of hearing.@@ - <<elseif $activeSlave.hears == -1>> - which impair $his hearing to the point of @@.red;deafness.@@ - <<elseif $activeSlave.hears < -1>> - which are pointless, as $he is already @@.red;deaf.@@ - <</if>> - <</if>> - <<else>> - <<if $activeSlave.hears == -1>> - $He's @@.yellow;hard of hearing,@@ and a bit nervous as a result. - <<elseif $activeSlave.hears < -1>> - $He is @@.red;deaf,@@ and overly paranoid as a result. - <</if>> - <</if>> - <<else>> - $His face is featurelessly obscured by the Fuckdoll suit from the top of $his head down to $his face hole. - <</if>> -<</widget>> - -<<widget "collarDescription">> - <<switch $activeSlave.collar>> - <<case "uncomfortable leather">> - $He is wearing an uncomfortable leather collar with a useful steel ring in front. - <<case "preg biometrics">> - <<if $activeSlave.pregSource > 0>> - <<set _daddy = findFather($activeSlave.pregSource), _daddy = _daddy.slaveName>> - <</if>> - <<set _pregCollar = either(1, 2, 3)>> - $He is wearing a heavy metal collar with a digital display; it currently reads: - <<if $activeSlave.preg > 0 && $activeSlave.pregKnown == 0>> - "I might be preggers! Rub my belly for luck!" - <<else>> - <<if _pregCollar == 1>> - <<if $activeSlave.pregWeek < 0>> - "I'm a mommy now!" - <<elseif $activeSlave.pregKnown == 0>> - "Knock me up!" - <<elseif $activeSlave.pregKnown == 1>> - "<<if $activeSlave.pregType == 0>>1<<else>>$activeSlave.pregType<</if>> bab<<if $activeSlave.pregType > 1>>ies<<else>>y<</if>> on board!" - <<else>> - "I'm infertile!" - <</if>> - <<elseif _pregCollar == 2>> - <<if $activeSlave.pregWeek < 0>> - "<<= num($activeSlave.pregWeek*-1)>> week<<if $activeSlave.pregWeek != -1>>s<</if>> until I can get preggers again!" - <<elseif $activeSlave.pregKnown == 1>> - <<if $activeSlave.broodmother == 2>> - <<if $activeSlave.preg > 37>> - "I'm crowning as you read this!" - <<else>> - "<<print 38-Math.ceil($activeSlave.preg)>> weeks till I pop!" - <</if>> - <<elseif $activeSlave.broodmother == 1>> - "<<print 38-Math.ceil($activeSlave.preg)>> weeks till I pop!" - <<else>> - "<<print 40-$activeSlave.preg>> weeks till I pop!" - <</if>> - <<else>> - "My womb needs filling!" - <</if>> - <<else>> - <<if $activeSlave.pregWeek < 0>> - "I can't wait for my belly to swell with life again!" - <<elseif $activeSlave.pregKnown == 0>> - "Put a baby in me today!" - <<elseif $activeSlave.pregSource == -1>> - "Womb claimed by my <<= WrittenMaster($activeSlave)>>!" - <<elseif ($activeSlave.pregSource == 0 || $activeSlave.pregSource == -2 || $activeSlave.pregSource == -5)>> - "Baby made by slutting around!" - <<elseif $activeSlave.pregSource == -7>> - "My baby was made with science!" - <<elseif $activeSlave.pregSource == -9>> - "Futanari Sisters, now two for the price of one!" - <<elseif $activeSlave.pregSource > 0>> - "Womb claimed by _daddy!" - <<else>> - "Put a baby in me today!" - <</if>> - <</if>> - <</if>> - <<case "silk ribbon">> - $He is wearing a tight silk ribbon fitted to $his neck, it is oddly elegant. - <<case "tight steel">> - $He is wearing a tight steel collar whose restricting metal touch $he cannot escape. - <<case "shock punishment">> - $He is wearing a utilitarian collar with a punishment device at $his throat to administer agonizing shocks. - <<case "neck corset">> - $He is wearing a fitted leather neck corset that constricts $his breathing and holds $his head rigidly upright. - <<case "stylish leather">> - $He is wearing a stylish leather collar buckled in the front, a classic accessory for the well behaved slave. - <<case "satin choker">> - $He is wearing a steel reinforced black satin choker that is at once elegant and functional. - <<case "heavy gold">> - $He is wearing a heavy gold collar, an outstanding bit of ostentation. - <<case "pretty jewelry">> - $He is wearing a pretty slave collar that can almost be mistaken for jewelry. - <<case "bell collar">> - $He is wearing a comfortable leather collar with a small brass bell at $his throat. - <<case "leather with cowbell">> - $He is wearing a comfortable leather collar with a small steel cowbell at $his throat. - <<case "bowtie">> - $He is wearing the collar from a white formal shirt, and a black bowtie, though these conceal an actual collar that works perfectly well for restraint. - <<case "neck tie">> - $He is wearing a neck tie, though it conceals an actual collar that works perfectly well for restraint. - <<case "ancient Egyptian">> - $He is wearing a beautiful golden wesekh, a collar that spreads from $his neck out onto both shoulders and down $his front. - <<case "cruel retirement counter" "nice retirement counter">> - $He is wearing a <<if $activeSlave.collar == "cruel retirement counter">>heavy metal collar<<else>>nice collar, almost a necklace,<</if>> with a small numerical display reading - <<if $activeSlave.indenture > -1>> - $activeSlave.indenture, the number of weeks left in $his indenture. - <<elseif $policies.retirement.sex > 0>> - <<print $policies.retirement.sex - ($activeSlave.counter.oral + $activeSlave.counter.anal + $activeSlave.counter.vaginal + $activeSlave.counter.penetrative + $activeSlave.counter.mammary)>>, for the number of cocks between $him and $his freedom. - <<elseif $policies.retirement.milk > 0>> - <<print $policies.retirement.milk - $activeSlave.counter.milk>>, for the amount of milk $he has yet to give. - <<elseif $policies.retirement.cum > 0>> - <<print $policies.retirement.cum - $activeSlave.counter.cum>>, for the amount of cum $he has yet to give. - <<elseif $policies.retirement.births > 0>> - <<print $policies.retirement.births - $activeSlave.counter.births>>, for the number of pregnancies still between $him and freedom. - <<elseif $policies.retirement.kills > 0>> - <<print $policies.retirement.kills - $activeSlave.counter.pitKills>>, for the number of lives still between $him and freedom. - <<elseif $policies.retirement.physicalAgePolicy == 0>> - <<print (365*($retirementAge-$activeSlave.actualAge))+(7*(52-$activeSlave.birthWeek))>>, the number of days of sexual slavery ahead of $him. - <<else>> - <<print (365*($retirementAge-$activeSlave.physicalAge))+(7*(52-$activeSlave.birthWeek))>>, the number of days of sexual slavery ahead of $him. - <</if>> - <</switch>> -<</widget>> - <<widget "armwearDescription">> /* check clothing descriptions from above for glove references */ <<if (hasAnyArms($activeSlave))>>