From 737ddb06163ababbe22c0ca240bdb472bac713a6 Mon Sep 17 00:00:00 2001 From: ezsh <ezsh.junk@gmail.com> Date: Sat, 25 May 2019 15:58:47 +0200 Subject: [PATCH] Convert boob description widgets implementation to JS --- .eslintrc.json | 18 +- src/js/SlaveState.js | 16 +- src/js/descriptionWidgets.js | 38 + src/js/descriptionWidgets/boobs.js | 1726 ++++++++++++++++++++ src/js/descriptionWidgets/piercing.js | 53 + src/js/slaveListing.js | 6 - src/js/walkPastJS.js | 12 +- src/uncategorized/remoteSurgery.tw | 30 +- src/utility/descriptionWidgets.tw | 36 +- src/utility/descriptionWidgetsFlesh.tw | 1462 +---------------- src/utility/descriptionWidgetsPiercings.tw | 30 +- 11 files changed, 1872 insertions(+), 1555 deletions(-) create mode 100644 src/js/descriptionWidgets/boobs.js create mode 100644 src/js/descriptionWidgets/piercing.js diff --git a/.eslintrc.json b/.eslintrc.json index 620e90e3ba9..79f2fa4db6e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -52,8 +52,22 @@ "comma-style": "warn", "object-curly-newline": ["warn", { - "minProperties": 4, - "consistent": true + "ObjectExpression":{ + "minProperties": 4, + "consistent": true + }, + "ImportDeclaration": { + "minProperties": 4, + "consistent": true + }, + "ExportDeclaration": { + "minProperties": 4, + "consistent": true + }, + "ObjectPattern": { + "minProperties": 8, + "consistent": true + } } ], "object-curly-spacing": "warn", diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index d1439399557..c3dcfd72e1e 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -717,7 +717,15 @@ App.Entity.SlaveState = class SlaveState { * * 3950-4299 - Q-cup * * 4300-4699 - R-cup * * 4700-5099 - S-cup - * * 5100-10499- massive + * * 5100-5499 - T-cup + * * 5500-6499 - U-cup + * * 6500-6999 - V-cup + * * 7000-7499 - X-cup + * * 7500-7999 - Y-cup + * * 8000-8499 - Z-cup + * * 8500-19999 - obscenely massive + * * 20000-29999 - beanbag sized + * * 30000-48000 - room filling */ this.boobs = 0; /** breast engorgement from unmilked tits */ @@ -2394,3 +2402,9 @@ App.Entity.SlaveState = class SlaveState { * @param {App.Entity.SlaveState} s * @returns {void} */ + +/** + * @callback slaveTestCallback + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js index eb10bc3a5ef..7c0d7c23189 100644 --- a/src/js/descriptionWidgets.js +++ b/src/js/descriptionWidgets.js @@ -638,3 +638,41 @@ App.Desc.amputee = function(slave) { return r; } }; + +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.inscrip = function(slave) { + const V = State.variables; + + function fetishToObject() { + switch (slave.fetish) { + case "buttslut": + return "Buttsex!"; + case "cumslut": + return "Cum!"; + case "masochist": + case "sadist": + return "Rape!"; + case "dom": + return "Topping!"; + case "submissive": + return "Subbing!"; + case "boobs": + return "Tits!"; + case "pregnancy": + return "Sperm!"; + } + if (slave.energy > 95) { + return "Cock!"; + } + return null; + } + + let object = slave.fetishKnown === 1 ? fetishToObject() : null; + if (!object) { + object = V.PC.title === 0 ? "Mistress!" : "Master!"; + } + return `"I <3 ${object}"`; +}; diff --git a/src/js/descriptionWidgets/boobs.js b/src/js/descriptionWidgets/boobs.js new file mode 100644 index 00000000000..25d3823b814 --- /dev/null +++ b/src/js/descriptionWidgets/boobs.js @@ -0,0 +1,1726 @@ +App.Desc.boobBits = function() { + 'use strict'; + + const data = { + 300: { + cup: "flat", anCup: false, adjective: ["androgynous", "flat"], noun: ["chest"] + }, + 400: { + cup: "A-cup", anCup: true, adjective: ["pointy", "tiny"], noun: ["chest"] + }, + 500: { + cup: "B-cup", anCup: false, adjective: ["perky", "small"], noun: ["boobs", "bosom", "breasts", "tits"] + }, + 650: { + cup: "C-cup", anCup: false, adjective: ["curved", "healthy"], noun: ["boobs", "bosom", "breasts", "bust", "tits"] + }, + 800: { + cup: "D-cup", anCup: false, adjective: ["big", "sizable"], noun: ["boobs", "bosom", "breasts", "bust", "tits"] + }, + 1000: { + cup: "DD-cup", anCup: false, adjective: ["big", "large"], noun: ["boobs", "bosom", "breasts", "bust", "tits"] + }, + 1200: { + cup: "F-cup", anCup: true, adjective: ["hefty", "proud"], noun: ["boobs", "breasts", "mammaries", "tits", "udders"] + }, + 1400: { + cup: "G-cup", anCup: false, adjective: ["hefty", "huge"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 1600: { + cup: "H-cup", anCup: true, adjective: ["huge", "massive"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 1800: { + cup: "I-cup", anCup: true, adjective: ["enormous", "massive"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 2050: { + cup: "J-cup", anCup: false, adjective: ["enormous", "titanic"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 2300: { + cup: "K-cup", anCup: false, adjective: ["stupendous", "titanic"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 2600: { + cup: "L-cup", anCup: true, adjective: ["magnificent", "stupendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 2900: { + cup: "M-cup", anCup: true, adjective: ["magnificent", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 3250: { + cup: "N-cup", anCup: true, adjective: ["awe-inspiring", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 3600: { + cup: "O-cup", anCup: true, adjective: ["absurd", "awe-inspiring"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 3950: { + cup: "P-cup", anCup: false, adjective: ["attention-grabbing", "disproportionate"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 4300: { + cup: "Q-cup", anCup: false, adjective: ["massive", "shocking"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 4700: { + cup: "R-cup", anCup: true, adjective: ["jaw-dropping", "unreal"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 5100: { + cup: "S-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 5500: { + cup: "T-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 6500: { + cup: "U-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 7000: { + cup: "V-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 7500: { + cup: "X-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 8000: { + cup: "Y-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"] + }, + 8500: { + cup: "Z-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["boobs", "breasts", "mammaries", "udders"] + }, + 20000: { + cup: "", anCup: false, + adjective: ["obscenely massive", "enormous"], + noun: ["boobs", "breasts", "mammaries", "udders", "masses of breastflesh"] + }, + 30000: { + cup: "", anCup: false, + adjective: ["beanbag sized"], + noun: ["boobs", "breasts", "mammaries", "udders", "masses of breastflesh"] + }, + 50000: { + cup: "", anCup: false, + adjective: ["room filling"], + noun: ["boobs", "breasts", "mammaries", "udders", "masses of breastflesh"] + }, + }; + + return { + cup: getCup, + adjective: getAdjective, + noun: getNoun, + format: format + }; + + /** + * @param {number} volume + * @returns {{cup: string, anCup: boolean, adjective: string[], noun: string[]}} + */ + function _getRec(volume) { + for (const p in data) { + // @ts-ignore + if (p >= volume) { + return data[p]; + } + } + return data[50000]; + } + + /** + * @param {number} volume in CCs + * @returns {string} + */ + function getCup(volume) { + return _getRec(volume).cup; + } + + /** + * @param {number} volume in CCs + * @returns {string} + */ + function getAdjective(volume) { + return _getRec(volume).adjective.random(); + } + + /** + * @param {number} volume in CCs + * @param {boolean} [cup] prepend cup + * @param {boolean} [adjective] prepend adjective + * @returns {string} + */ + function getNoun(volume, cup = true, adjective = true) { + let r = ""; + const rec = _getRec(volume); + if (adjective ) { + r += rec.adjective.random() + ' '; + } + if (cup && rec.cup.length > 0) { + r += rec.cup + ' '; + } + r += rec.noun.random(); + return r; + } + + /** + * Formats a textual breast description, according to the format string + * @param {string} format + * @param {number} volume + * @returns {string} + * + * The following placeholders are supported: + * '%CUP' => cup size (e.g. "C-cup") + * '%ACUP' => cup size with article (a/an) + * '%ADJ' => adjective (e.g. "small", "big") + * '%NOUN' => plural noun (e.g. "boobs", "tits") + * '%VOLUME' => the passed volume number + */ + function format(format, volume) { + const rec = _getRec(volume); + return format.replace(/%([A-Z]+)/g, (match, p1) => { + switch (p1) { + case 'ACUP': + return rec.cup.length > 0 ? ((rec.anCup ? 'an ' : 'a ') + rec.cup) : ''; + case 'CUP': + return rec.cup; + case 'ADJ': + return rec.adjective.random(); + case 'NOUN': + return rec.noun.random(); + case 'VOLUME': + return num(volume); + } + }); + } +}(); + +App.Desc.boobs = function() { + 'use strict'; + let V; +/** @type {App.Utils.Pronouns} */ + let pr; + /** @type {string} */ + let he, his, him, + He, His, + girl; + + return describe; + + /** + * + * @param {App.Entity.SlaveState} slave + * @param {App.Utils.Pronouns} pronouns + * @returns {string} + */ + function describe(slave, pronouns) { + V = State.variables; + pr = pronouns || getPronouns(slave); + ({he, his, him, He, His, girl} = pr); + if ((V.showClothing === 1) && (V.saleDescription === 0)) { + return outerInspection(slave) + ' ' + detailedInspection(slave); + } else { + return detailedInspection(slave); + } + } + + /** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ + function outerInspection(slave) { + if (V.surgeryDescription === 1) { // unused in the game + if (slave.boobs < 300) { + return `${slave.slaveName}'s flat chest is bare and begging for surgery.`; + } else { + return `${slave.slaveName}'s breasts are bare and ready for surgery.`; + } + } + + if ((slave.assignment === App.Data.Facilities.dairy.jobs.cow.assignment) && (V.dairyRestraintsSetting > 1)) { + return `${slave.slaveName}'s breasts are gently moving with the powerful pumping of the milkers attached to ${his} nipples.`; + } + + return clothesInspection(slave); + } + + /** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ + function clothesInspection(slave) { + const noun = App.Desc.boobBits.noun(slave.boobs, false, false); + const adjNoun = App.Desc.boobBits.noun(slave.boobs, false, true); + let r = ''; + + switch (slave.clothes) { + case "a Fuckdoll suit": + r += `${slave.slaveName}'s Fuckdoll suit `; + if (slave.boobs > 300) { + r += `fits each of ${his} ${adjNoun} `; + if (slave.boobs > 12000) { + r += 'perfectly.'; + } else if (slave.boobs > 300) { + r += 'individually.'; + } + } else { + r += `is flat across ${his} chest.`; + } + break; + case "conservative clothing": + if (slave.boobs > 24000) { + r += `${slave.slaveName} is wearing a tent-like sweater tailored to cover ${his} ${adjNoun}.`; + } else if (slave.boobs > 12000) { + r += `${slave.slaveName} is wearing a massively oversized custom sweater since nothing else comes close to modestly covering ${his} ${adjNoun}. Even so, it's stretched taut struggling to contain their immense mass.`; + } else if (slave.boobs > 8000) { + r += `${slave.slaveName} is wearing an oversized sweater, since that's the only top that will come close to covering ${his} ${adjNoun}. Even so, it's stretched taut just struggling to cover ${his} nipples.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName} is wearing an oversized sweater, since that's the only top that will cover ${his} ${adjNoun}. Even so, it's stretched taut over them.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s blouse is professional, but can't conceal the gigantic dimensions of ${his} ${adjNoun}.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s blouse is professional, but can't conceal how big ${his} ${noun} are.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s blouse is professional and includes a pleated front over ${his} flat chest.`; + } else { + r += `${slave.slaveName}'s blouse is professional and includes a pleated front over ${his} ${adjNoun}.`; + } + break; + case "chains": + r += `${slave.slaveName} has a length of chain painfully`; + if (slave.boobs > 800) { + r += 'tightened around the base of each breast, forcing them out.'; + } else if (slave.boobs < 300) { + switch (slave.nipples) { + case "huge": + r += `wrapped around each of ${his} huge nipples, since they are the only things protruding from ${his} chest.`; + break; + case "inverted": + r += `wrapped tightly across ${his} flat chest, through the cleft of ${his} inverted nipples.`; + break; + default: + r += `wrapped tightly across ${his} flat chest, directly over ${his} ${slave.nipples} nipples.`; + } + } else { + r += `looped under ${his} chest, forcing ${his} breasts up.`; + } + break; + case "Western clothing": + r += `${slave.slaveName}'s flannel shirt`; + if (slave.boobs > 2000) { + r += `can't begin to contain ${his} ${adjNoun}, so ${he}'s just tied it under them for support.`; + } else if (slave.boobs > 800) { + r += `can't close over ${his} ${adjNoun}, so ${he}'s just buttoned it up to where they start and let them fill it out above that.`; + } else if (slave.boobs < 300) { + r += `tightly hugs ${his} flat chest.`; + } else { + r += `rests comfortably over ${his} ${adjNoun}.`; + } + break; + case "body oil": + if (slave.boobs < 300) { + r += `${slave.slaveName}'s flat chest is covered in a sexy sheen of body oil.`; + } else { + r += `${slave.slaveName}'s ${adjNoun} are covered in a sexy sheen of body oil.`; + } + break; + case "a toga": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s ${adjNoun} are too big to cover with ${his} toga, so ${he} leaves them hanging free.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName} is wearing ${his} toga so as to leave one ${slave.nipples} nipple bare.`; + } else { + r += `${slave.slaveName} is wearing ${his} toga so as to leave one breast bare.`; + } + break; + case "a huipil": + if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${noun} are so big that they pull up ${his} huipil uncomfortably high, so ${he} needs to fold it between them.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s huipil rests on ${his} flat chest.`; + } else { + r += `${slave.slaveName} is wearing ${his} huipil which accentuates ${his} ${adjNoun}.`; + } + break; + case "a slutty qipao": + r += `${slave.slaveName}'s qipao`; + if (slave.boobs > 12000) { + r += `can't contain the immense size of ${his} ${adjNoun}, so ${he} wears a modified variant that lets ${his} ${noun} hang free.`; + } else if (slave.boobs > 4000) { + r += `barely covers ${his} ${adjNoun}, it strains to contain their absurd size. Breast flesh spills from any gap it can find.`; + } else if (slave.boobs > 2000) { + r += `demurely covers ${his} ${adjNoun}, though it cannot conceal their absurd size.`; + } else if (slave.boobs < 300) { + r += `demurely hugs ${his} flat chest.`; + } else { + r += `demurely covers ${his} ${adjNoun}.`; + } + break; + case "uncomfortable straps": + r += `${slave.slaveName}'s slave`; + if (slave.boobs > 12000) { + r += `outfit includes a network of straps to support ${his} ${adjNoun}, radiating outwards from the steel rings around ${his} nipples.`; + } else if (slave.boobs > 2000) { + r += `outfit has special straps for ${his} ${adjNoun}: one strap down the front of each with steel rings to let ${his} nipples through, and a strap around the base of each, painfully squeezing ${his} ${noun} out to make them seem even bigger.`; + } else if (slave.boobs > 800) { + r += `outfit's straining straps restrain the flesh of ${his} ${adjNoun} like a string bikini, with steel rings to let ${his} nipples through.`; + } else if (slave.boobs < 300) { + r += `outfit's straps pass over ${his} flat chest like a string bikini, with steel rings to let ${his} ${slave.nipples} nipples through.`; + } else { + r += `outfit's straps pass over ${his} ${adjNoun} like a string bikini, with steel rings to let ${his} nipples through.`; + } + break; + case "shibari ropes": + r += `${slave.slaveName}'s`; + if (slave.boobs > 12000) { + r += `${adjNoun} are restrained by ${V.showInches === 2 ? 'yards and yards' : 'meters and meters'} of rope.`; + } else if (slave.boobs > 2000) { + r += `${adjNoun} are tightly bound with rope, soft flesh pushing out from between them.`; + } else if (slave.boobs < 300) { + r += `flat chest is tightly bound with rope, drawing attention to ${his} flat chest.`; + } else { + r += `chest is tightly bound with rope.`; + } + break; + case "restrictive latex": + r += `${slave.slaveName}'s`; + if (slave.boobs > 2000) { + r += `${adjNoun} protrude through holes in ${his} latex suit, which are too small for them, painfully constricting ${him} and making them seem even bigger.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} protrude through holes in ${his} latex suit.`; + } else if (slave.boobs < 300) { + r += `${slave.nipples} nipples poke through holes in ${his} latex suit, since ${he} has nothing else protruding from ${his} chest.`; + } else { + r += `latex suit leaves ${his} chest bare.`; + } + break; + case "attractive lingerie": + r += `${slave.slaveName}'s`; + if (slave.boobs > 12000) { + r += `lace bra cannot cover the whole breast; its cups are half-moon shaped, and designed to offer what support they can to the bottom of them. They have disappeared completely under the immense quantity of breast flesh.`; + } else if (slave.boobs > 4000) { + r += `lace bra cannot cover the whole breast; its cups are half-moon shaped, and designed to offer what support they can to the bottom of them.`; + } else if (slave.boobs > 800) { + r += `sturdy lace bra supports ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `pretty lace bra hugs ${his} flat chest.`; + } else { + r += `pretty lace bra accentuates ${his} ${adjNoun}.`; + } + break; + case "kitty lingerie": + r += `${slave.slaveName}'s lacy bra features a hole shaped liked a cat's head in the center of ${his} chest;`; + if (slave.boobs > 12000) { + r += `${his} ${adjNoun} have stretched ${his} bra to the point that the hole is unrecognizable as anything feline.`; + } else if (slave.boobs > 4000) { + r += `the size of ${his} ${adjNoun} severely stretches out the hole's shape.`; + } else if (slave.boobs > 800) { + r += `the size of ${his} ${adjNoun} stretches out the hole's shape.`; + } else if (slave.boobs < 300) { + r += `it lies flat against ${his} body.`; + } else { + r += `the hole lies directly over ${his} cleavage.`; + } + break; + case "a succubus outfit": + r += `${slave.slaveName}'s corset ends just below ${his} ${slave.boobs < 300 ? 'non-existent' : ''} breasts, leaving them bare.`; + if (slave.boobs > 2000) { + r += `It hugs ${his} tightly and comes up to right under where they start, forcing them to spill over and hide its upper half.`; + } else if (slave.boobs > 400) { + r += `It hugs ${his} tightly and comes up to right under where they start, presenting them like a push-up bra.`; + } + break; + case "a slutty maid outfit": + r += `${slave.slaveName}'s maid dress stops below ${his} ${slave.boobs < 300 ? 'non-existent' : ''} breasts, but the outfit includes a thin white blouse`; + if (slave.boobs > 4000) { + r += `that fails to even come close to covering ${his} ${adjNoun}.`; + } else if (slave.boobs > 2000) { + r += `that covers them to just over ${his} nipples when ${he} pulls it up over them. It's pulled down by ${his} ${adjNoun} whenever ${he} moves.`; + } else if (slave.boobs > 800) { + r += `that covers them to just over ${his} nipples, leaving a large area of deliciously unsupported and jiggling cleavage.`; + } else if (slave.boobs < 300) { + r += `that hugs ${his} flat chest and lets ${his} ${slave.nipples} nipples protrude through the fabric.`; + } else { + r += 'to cover them.'; + } + break; + case "a nice maid outfit": + r += `${slave.slaveName}'s maid dress front is almost conservative, covering ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ' with a tent-like billow of white fabric.'; + } else if (slave.boobs > 6000) { + r += ' as best it can; it barely succeeds at its task, straining at the seams and allowing breast flesh to spill out of every available gap.'; + } else if (slave.boobs > 2000) { + r += ', though it cannot conceal their enormous mass.'; + } else if (slave.boobs < 300) { + r += `, though it does nothing to hide how flat ${he} is.`; + } else { + r += '.'; + } + break; + case "a fallen nuns habit": + r += `${slave.slaveName}'s latex habit includes a half-corset`; + if (slave.boobs > 20000) { + r += `, but it's completely invisible, being hidden under ${his} ${adjNoun}.`; + } else if (slave.boobs > 4000) { + r += `, but only the bottom edge is visible: the rest is swallowed up under ${his} ${adjNoun}.`; + } else if (slave.boobs > 800) { + r += ` to force ${his} ${adjNoun} up and forward, forming a lot of cleavage even though they're bare.`; + } else if (slave.boobs < 300) { + r += ` that tightly hugs ${his} ${adjNoun}.`; + } else { + r += ` to force ${his} ${adjNoun} up and forward.`; + } + break; + case "a chattel habit": + r += `${slave.slaveName}'s chattel habit's scapular covers ${his} shoulders and arms, but is open in front, leaving ${his} `; + if (slave.boobs > 4000) { + r += `${noun} completely bare. It tucks into a golden belt, though this is buried under ${his} breasts.`; + } else if (slave.boobs > 300) { + r += `boobs completely bare. It tucks into a golden belt, which is cinched up right under ${his} ${adjNoun}.`; + } else { + r += `${adjNoun} completely bare. It tucks into a golden belt cinched around ${his} middle torso.`; + } + break; + case "a penitent nuns habit": + r += `If ${he} fails to hold ${his} torso totally still, the coarse cloth of ${his} top agonizingly scrapes across ${his} nipples, bare under ${his} habit.`; + break; + case "a string bikini": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s ${adjNoun} are so large that the little scraps of cloth intended for ${his} nipples can't really stay centered over them.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${adjNoun} constantly pull ${his} nipples out from under the tiny scrap of cloth that ${his} string bikini affords them.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} threaten to break out of ${his} straining string bikini top.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s string bikini top barely covers anything, affording only a tiny scrap of cloth for each nipple; not that there is much else to cover on ${his} ${adjNoun}.`; + } else { + r += `${slave.slaveName}'s string bikini top barely covers anything, affording only a tiny scrap of cloth for each nipple.`; + } + break; + case "a scalemail bikini": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s ${noun} are so large that it's a testament to ${his} scalemail top that it hasn't broken yet.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${adjNoun} constantly strain ${his} scalemail top.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s scalemail top contains ${his} ${adjNoun} well.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s scalemail bikini top easily covers everything, as there is not much to cover on ${his} ${adjNoun}.`; + } else { + r += `${slave.slaveName}'s scalemail bikini top covers everything, while still flaunting it.`; + } + break; + case "striped panties": + if (slave.boobs < 300) { + r += `${slave.slaveName}'s ${adjNoun} is completely bare.`; + } else { + r += `${slave.slaveName}'s ${adjNoun} are completely bare.`; + } + break; + case "clubslut netting": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} hang out the holes they tore in ${his} clubslut netting.`; + } else if (slave.boobs > 800) { + r += `clubslut netting is stretched ${slave.boobs > 4000 ? 'to the breaking point' : ''} by ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `clubslut netting hugs ${his} ${adjNoun}.`; + } else { + r += `clubslut netting hugs ${his} ${adjNoun} tightly.`; + } + break; + case "a cheerleader outfit": + r += `${slave.slaveName}'s cheerleader top `; + if (slave.boobs > 12000) { + r += `can't support ${his} giant bust and is lost beneath ${his} ${adjNoun}.`; + } else if (slave.boobs > 4000) { + r += `is strongly engineered, but it can barely support ${his} ${adjNoun}.`; + } else if (slave.boobs > 800) { + r += `gives ${him} an acre of cleavage.`; + } else if (slave.boobs < 300) { + r += `tightly clings to ${his} flat chest, prominently displaying ${his} ${slave.nipples} nipples.`; + } else { + r += `does its best to make ${his} ${adjNoun} look bigger than they are.`; + } + break; + case "cutoffs and a t-shirt": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${noun} are so huge that ${his} t-shirt rests pathetically atop their mass.`; + } else if (slave.boobs > 4000) { + r += `${noun} are so big that ${his} t-shirt barely comes down over ${his} nipples, leaving a lot of underboob hanging out.`; + } else if (slave.boobs > 1200) { + r += `t-shirt is held out and away from ${his} midriff by ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `t-shirt is tied across ${his} flat chest to bare ${his} midriff.`; + } else { + r += `t-shirt is tied up to bare ${his} midriff.`; + } + break; + case "spats and a tank top": + r += `${slave.slaveName}'s `; + if (slave.boobs > 20000) { + r += `tank top lies atop ${his} massive rack.`; + } else if (slave.boobs > 12000) { + r += `tank top just barely covers ${his} nipples despite its fairly large size.`; + } else if (slave.boobs > 4000) { + r += `tank top can never completely cover ${his} ${adjNoun}, giving varying amounts of underboob as ${he} moves about.`; + } else if (slave.boobs > 1200) { + r += `midriff is open to see as ${his} ${adjNoun} makes ${his} tank top ride up.`; + } else { + r += `tank top is tight against ${his} ${slave.boobs < 300 ? 'flat' : ''} chest.`; + } + break; + case "a slutty outfit": + r += `${slave.slaveName} `; + if (slave.boobs > 12000) { + r += `has given up trying to contain ${his} immense bust and is now choosing outfits that allow ${his} breasts to hang free.`; + } else if (slave.boobs > 4000) { + r += `has to be careful choosing slutty outfits that can restrain ${his} ${adjNoun}.`; + } else if (slave.boobs > 800) { + r += `has to be careful choosing slutty outfits that can handle ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `chooses slutty outfits that go well on a ${girl} with no tits.`; + } else { + r += `chooses slutty outfits that accentuate ${his} ${noun}.`; + } + break; + case "a slave gown": + r += `${slave.slaveName}'s slave gown `; + if (slave.boobs > 12000) { + r += `is no longer able to cover ${his} ${adjNoun}. Instead, it has been redesigned to draw the eye to them.`; + } else if (slave.boobs > 4000) { + r += `is carefully engineered and is somehow able to cover the enormous mass of ${his} breasts.`; + } else if (slave.boobs > 800) { + r += `is carefully tailored, tastefully covering yet enhancing ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `is carefully tailored to closely hug ${his} flat chest.`; + } else { + r += `subtly accentuates ${his} ${noun}.`; + } + break; + case "a halter top dress": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s ${adjNoun} are far too big for ${his} dress to contain; instead it has been redesigned to allow them to hang freely.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s ${adjNoun} are spill out from every available space in ${his} beautiful halter top dress.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${adjNoun} are bulging inside a beautiful halter top dress.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s is draped inside a beautiful halter top dress, making ${his} ${adjNoun} the center of attention.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName} is wearing a beautiful silky halter top dress, almost as if it was sculpted to hug ${his} flat chest.`; + } else { + r += `${slave.slaveName} is wearing a beautiful silky halter top dress, almost as if it was sculpted to match ${his} frame.`; + } + break; + case "a ball gown": + if (slave.boobs > 12000) { + r += `${slave.slaveName} fabulous silken ball gown is designed to allow ${his} oversized breasts to hang free.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName} somehow managed to cram the immense mass of ${his} breasts inside a fabulous silken ball gown. They spill out of every available gap.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName} somehow managed to fit the enormous mass of ${his} breasts inside a fabulous silken ball gown.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s fabulous silken ball gown is carefully tailored, beautifully covering yet enhancing ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s fabulous silken ball gown is carefully tailored, beautifully caressing ${his} flat chest.`; + } else { + r += `${slave.slaveName}'s draped inside a fabulous silken ball gown.`; + } + break; + case "slutty business attire": + r += `${slave.slaveName}'s suit jacket `; + if (slave.boobs > 12000) { + r += `and blouse are both open in front, leaving ${his} boobs bare, since there's no way ${he} could button ${his} clothes over ${his} ${adjNoun}.`; + } else if (slave.boobs > 2000) { + r += `is open in front, and ${his} straining blouse barely restrains ${his} ${adjNoun}.`; + } else if (slave.boobs < 300) { + r += `is open in front, tightly hugging ${his} flat chest and prominently displaying ${his} ${slave.nipples} nipples.`; + } else { + r += `is open in front, and ${his} blouse barely covers ${his} ${adjNoun}.`; + } + break; + case "nice business attire": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `tits are so immense that ${his} specially tailored blouse and jacket are incapable of being buttoned up.`; + } else if (slave.boobs > 4000) { + r += `tits are so huge that they prevent ${his} jacket from closing. Every motion ${he} makes threatens to turn ${his} blouse buttons into ballistics.`; + } else if (slave.boobs > 2000) { + r += `tits are so big that they strain even ${his} specially tailored blouse and jacket.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} strain against ${his} tailored blouse and jacket.`; + } else if (slave.boobs < 300) { + r += `suit jacket is fitted tightly to ${his} flat chest.`; + } else { + r += `suit jacket conceals a flattering bra that lifts and presents ${his} bosom.`; + } + break; + case "a comfortable bodysuit": + if (slave.boobs < 300) { + r += `${slave.slaveName}'s bodysuit is so tightly form-fitting that it clings to ${his} flat chest and prominently displays ${his} ${slave.nipples} nipples.`; + } else { + r += `${slave.slaveName}'s bodysuit is so tightly form-fitting that ${his} ${adjNoun} are individually hugged and supported by the material.`; + } + break; + case "a latex catsuit": + if (slave.boobs < 300) { + r += `${slave.slaveName}'s latex catsuit fits ${him} like a second skin, showing off every detail of ${his} ${slave.nipples} nipples and distinct lack of breasts.`; + } else { + r += `${slave.slaveName}'s latex catsuit fits ${him} like a second skin, showing off every detail of ${his} nipples and ${adjNoun}.`; + } + break; + case "a military uniform": + case "a schutzstaffel uniform": + case "a slutty schutzstaffel uniform": + case "a mounty outfit": + case "lederhosen": + case "a red army uniform": + case "a police uniform": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s tits are so immense that ${his} specially tailored shirt and tunic are incapable of being buttoned up.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s tits are so huge that they prevent ${his} tunic from closing. Every motion threatens to turn ${his} shirt buttons into shrapnel.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s tits are so big that they strain even ${his} specially tailored shirt and tunic.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} strain against ${his} tailored shirt and tunic.`; + } else { + r += `${slave.slaveName} cuts a dashing figure in ${his} tunic. ${slave.boobs < 300 ? His + ' ' + App.Desc.boobBits.adjective(slave.boobs) : ''} breasts are barely there.`; + } + break; + case "a long qipao": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s tits are so immense that ${his} dress is on the verge of bursting open.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s tits are so huge that ${his} dress is on the verge of bursting open.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${adjNoun} are so big that they strain even ${his} dress greatly.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} strain against ${his} dress.`; + } else { + r += `${slave.slaveName} cuts a dashing figure in ${his} dress. ${slave.boobs < 300 ? His + ' ' + App.Desc.boobBits.adjective(slave.boobs) : ''} breasts are barely there.`; + } + break; + case "battlearmor": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s tits are so immense that ${his} armor is on the verge of bursting open.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s tits are so huge that ${his} armor is on the verge of bursting open.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s tits are so big that they armor even ${his} dress greatly.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} strain against ${his} armor.`; + } else { + r += `${slave.slaveName} cuts a dashing figure in ${his} armor. ${slave.boobs < 300 ? His + ' ' + App.Desc.boobBits.adjective(slave.boobs) : ''} breasts are barely there.`; + } + break; + case "a dirndl": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s tits are so immense that ${his} dress are incapable of being laced up.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s tits are so huge that they prevent ${his} dress from being laced up.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s tits are so big that they strain ${his} dress.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} strain against ${his} dress.`; + } else { + r += `${slave.slaveName} cuts a dashing figure in ${his} dress. ${slave.boobs < 300 ? His + ' ' + App.Desc.boobBits.adjective(slave.boobs) : ''} breasts are barely there.`; + } + break; + case "a biyelgee costume": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s tits are so immense that ${his} dress are incapable of being buttoned up.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName}'s tits are so huge that they prevent ${his} dress from being buttoned up.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s tits are so big that they strain ${his} dress.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s ${adjNoun} strain against ${his} dress.`; + } else { + r += `${slave.slaveName} cuts a dashing figure in ${his} dress. ${slave.boobs < 300 ? His + ' ' + App.Desc.boobBits.adjective(slave.boobs) : ''} breasts are barely there.`; + } + break; + case "a nice nurse outfit": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} are too big for ${his} scrub top, it rests uselessly atop ${his} bust.`; + } else if (slave.boobs > 4000) { + r += `${adjNoun} strain against ${his} scrub top, it only manages to cover ${his} nipples.`; + } else if (slave.boobs > 2000) { + r += `${adjNoun} strain against ${his} scrub top, filling it out completely despite its utilitarian cut.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} nicely fill out ${his} scrub top, despite its utilitarian cut.`; + } else if (slave.boobs < 300) { + r += `scrub top tightly hugs ${his} flat chest.`; + } else { + r += `${adjNoun} are hidden beneath ${his} scrub top.`; + } + break; + case "a mini dress": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `mini dress is pulled down to allow ${his} immense breasts to hang free.`; + } else if (slave.boobs > 4000) { + r += `${adjNoun} stretch ${his} custom tailored dress to its absolute limit.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} stretch taut against ${his} dress, leaving nothing to the imagination.`; + } else if (slave.boobs < 300) { + r += `dress tightly hugs ${his} flat chest, prominently displaying ${his} ${slave.nipples} nipples though the fabric.`; + } else { + r += `${adjNoun} stretches taut against ${his} dress, leaving little to the imagination.`; + } + break; + case "an apron": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `breasts are so immense that ${his} apron can barely contain them, and ${he} has to be careful not to expose one or both of ${his} ${slave.nipples} nipples as ${he} moves.`; + } else if (slave.boobs > 4000) { + r += `${adjNoun} fill out ${his} strained apron, occasionally leaving the sides of ${his} ${slave.nipples} nipples bare.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} fill out ${his} stretched apron, only just managing to fully cover ${his} ${slave.nipples} nipples.`; + } else if (slave.boobs < 300) { + r += `apron lies flatly against ${his} small chest and ${slave.nipples} nipples.`; + } else { + r += `${adjNoun} fill out ${his} apron, which is strategically worn to cover ${his} ${slave.nipples} nipples.`; + } + break; + case "overalls": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} are so immense that ${his} overalls can barely contain them, and ${he} has to be careful not to expose one or both of ${his} ${slave.nipples} nipples as ${he} moves.`; + } else if (slave.boobs > 4000) { + r += `${adjNoun} peek out from the sides of ${his} strained overalls, often exposing the sides of ${his} ${slave.nipples} nipples.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} fill out ${his} stretched overalls, only just managing to fully cover ${his} ${slave.nipples} nipples.`; + } else if (slave.boobs < 300) { + r += `overalls lie flatly against ${his} small chest and ${slave.nipples} nipples.`; + } else { + r += `overalls are filled out by ${his} ${adjNoun}, offering tantalizing views of their sides.`; + } + break; + case "a leotard": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} are so big that even ${his} specially tailored leotard cannot really support them.`; + } else if (slave.boobs > 2000) { + r += `${adjNoun} stretch the spandex of ${his} leotard taut across their width.`; + } else if (slave.boobs < 300) { + r += `leotard tightly hugs ${his} ${adjNoun}, prominently displaying ${his} ${slave.nipples} nipples though the spandex.`; + } else { + r += `${adjNoun} is flattered by ${his} leotard.`; + } + break; + case "a monokini": + r += `The shoulder straps of ${slave.slaveName}'s monokini cross over in the center of ${his} chest, leaving the rest of ${his} ${adjNoun} totally bare`; + break; + case "a cybersuit": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} stretch out the bodysuit so tightly that ${his} nipples are clearly visible.`; + } else if (slave.boobs > 2000) { + r += `${adjNoun} stretch out the bodysuit so tightly that ${his} nipples are nearly visible.`; + } else if (slave.boobs < 300) { + r += `${adjNoun} is hugged tightly by the bodysuit, ${his} nipples pushing against the material.`; + } else { + r += `${adjNoun} are hugged tightly by the bodysuit, ${his} nipples pushing against the material.`; + } + break; + case "a bunny outfit": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `${adjNoun} are so immense that ${his} teddy can't contain them; it's pulled down to allow them to hang free.`; + } else if (slave.boobs > 6000) { + r += `${adjNoun} are so huge that ${his} teddy conceals special stays to keep them from popping out at the slightest movement. Breast flesh massively overflows ${his} top.`; + } else if (slave.boobs > 2000) { + r += `${adjNoun} are so big that ${his} teddy conceals special stays to keep them from popping out at the slightest movement.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} are perpetually on the verge of spilling out of ${his} top.`; + } else if (slave.boobs < 300) { + r += `teddy tightly clings to ${his} flat chest somehow making ${him} look even flatter.`; + } else { + r += `teddy conceals cunning stays designed to make ${his} bosom look considerably bigger than it actually is.`; + } + break; + case "attractive lingerie for a pregnant woman": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `top has been retailored to fit ${his} enormous bust. The ample breast flesh almost completely consumes ${his} silken lingerie. ${His} silken vest is barely visible behind ${his} massive tits.`; + } else if (slave.boobs > 4000) { + r += `${adjNoun} dwarf ${his} tiny top. It barely manages to cover ${his} nipples. ${His} silken vest is parted to either side of ${his} breasts.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} spill out from above and below ${his} tight top.`; + } else if (slave.boobs < 300) { + r += `top tightly clings to ${his} flat chest.`; + } else { + r += `top tightly clings to ${his} chest.`; + } + break; + case "a maternity dress": + r += `${slave.slaveName}'s `; + if (slave.boobs > 12000) { + r += `low cut dress can't contain ${his} ${adjNoun}, so ${he} keeps it pulled up just below ${his} bust.`; + } else if (slave.boobs > 4000) { + r += `low cut dress can barely conceal ${his} ${adjNoun}. They bulge over the top and create a deep valley of cleavage.`; + } else if (slave.boobs > 1000) { + r += `dress is low cut and reveals a large amount of cleavage.`; + } else if (slave.boobs < 300) { + r += `dress is low cut, tightly hugs ${his} flat chest and ends just above ${his} nipples.`; + } else { + r += `dress is low cut and ends just above ${his} nipples.`; + } + break; + case "stretch pants and a crop-top": + if (slave.boobs > 20000) { + r += `${slave.slaveName} is wearing a massively oversized custom crop-top designed to handle ${his} monumental tits. Even so, it's stretched taut just struggling to cover ${his} nipples, causing acres of breast flesh to spill out from under and above it.`; + } else if (slave.boobs > 10000) { + r += `${slave.slaveName}'s oversized crop-top struggles to contain even half of ${his} ${adjNoun} leaving plenty of underboob visible alongside with ${his} cleavage. Every motion risks a nipple popping free.`; + } else if (slave.boobs > 8000) { + r += `${slave.slaveName}'s oversized crop-top struggles to contain ${his} ${adjNoun} leaving plenty of underboob visible alongside with ${his} cleavage.`; + } else if (slave.boobs > 4000) { + r += `${slave.slaveName} has swapped up to the largest crop-top available. Even so, it barely covers them and creates plenty of cleavage.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s crop-top struggles to contain ${his}${adjNoun} leaving plenty of underboob visible alongside with ${his} cleavage.`; + } else if (slave.boobs > 800) { + r += `${slave.slaveName}'s crop-top tightly hugs ${his} ${adjNoun} creating plenty of cleavage.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName}'s crop-top tightly clings to ${his} flat chest.`; + } else { + r += `${slave.slaveName}'s crop-top tightly hugs ${his} ${adjNoun}.`; + } + switch (slave.sexualFlaw) { + case "neglectful": + r += ' "All For You" '; + break; + case "cum addict": + r += ' "Cum \'ere Sexy" '; + break; + case "anal addict": + r += ' "Reach Around Back" '; + break; + case "attention whore": + r += ' "Will Flash For Attention" '; + break; + case "breast growth": + r += ' "Could Be Bigger" '; + break; + case "abusive": + r += ' "Fondlers May Be Slapped" '; + break; + case "malicious": + r += ' "Careful, I Bite" '; + break; + case "self hating": + r += ' "Rough \'em Up" '; + break; + case "breeder": + r += ' "Drink Deep" '; + break; + default: + if (slave.fetishKnown === 1) { + switch (slave.fetish) { + case "submissive": + r += ' "Take Me" '; + break; + case "cumslut": + r += ' "Splash Zone" '; + break; + case "humiliation": + r += ' "Flasher" '; + break; + case "buttslut": + r += ' "Reach Around" '; + break; + case "boobs": + r += " Your Hands Here"; + break; + case "sadist": + r += " Taste the Pain"; + break; + case "masochist": + r += " Be Rough"; + break; + case "dom": + r += " Queen Bitch"; + break; + case "pregnancy": + r += " Milk Me"; + break; + case "mindbroken": + r += " Free Slut"; + break; + default: + r += ' ' + App.Desc.inscrip(slave) + ' '; + break; + } + } else { + r += ' ' + App.Desc.inscrip(slave) + ' '; + } + } + r += `is written across ${his} chest in large, vibrant letters.`; + break; + case "harem gauze": + r += `${slave.slaveName}'s harem girl outfit `; + if (slave.boobs > 12000) { + r += `lets ${his} ${adjNoun} rest beneath`; + } else if (slave.boobs > 800) { + r += `lets ${his} ${adjNoun} swing free beneath`; + } else if (slave.boobs < 300) { + r += `gently covers ${his} flat chest with`; + } else { + r += `only covers ${his} ${adjNoun} with`; + } + r += ` a thin film of gauze.`; + break; + case "a slutty nurse outfit": + r += `${slave.slaveName}'s jacket `; + if (slave.boobs > 4000) { + r += `closes beneath ${his} ${adjNoun}, leaving almost everything visible.`; + } else if (slave.boobs > 800) { + r += `pushes ${his} ${adjNoun} together to form some great cleavage.`; + } else if (slave.boobs < 300) { + r += `tightly hugs ${his} flat chest, since it has no breasts to form cleavage with.`; + } else { + r += `pushes ${his} ${adjNoun} together to form as much cleavage as possible.`; + } + break; + case "a schoolgirl outfit": + r += `${slave.slaveName}'s `; + if (slave.boobs > 4000) { + r += `${adjNoun} are too big for ${his} blouse, so ${he}'s tied it under them; they're so huge that it's buried under them.`; + } else if (slave.boobs > 800) { + r += `${adjNoun} are too big for ${his} blouse, so ${he}'s tied it under them and left them totally bare.`; + } else if (slave.boobs < 300) { + r += `blouse tightly hugs ${his} flat chest.`; + } else { + r += `blouse only barely covers ${his} ${adjNoun}.`; + } + break; + case "a kimono": + r += `${slave.slaveName}'s kimono `; + if (slave.boobs > 12000) { + r += `can't cover ${his} ${adjNoun}, so ${he} leaves it hanging loose; allowing them to hang freely.`; + } else if (slave.boobs > 4000) { + r += `barely covers ${his} ${adjNoun}. It reveals most of ${his} chest, just covering the outer edges of ${his} breasts and their nipples.`; + } else if (slave.boobs > 2000) { + r += `demurely covers ${his} ${adjNoun}, though it cannot conceal their absurd size.`; + } else if (slave.boobs < 300) { + r += `demurely rests over ${his} ${adjNoun}.`; + } else { + r += `demurely covers ${his} ${adjNoun}.`; + } + break; + case "battledress": + if (slave.boobs > 12000) { + r += `${slave.slaveName}'s ${adjNoun} are barely supported by a specially engineered, space-age sports bra.`; + } else if (slave.boobs > 2000) { + r += `${slave.slaveName}'s ${adjNoun} are supported by a specially engineered, space-age sports bra under ${his} tank top.`; + } else if (slave.boobs < 300) { + r += `${slave.slaveName} is flat as an ironing board; ${he} wears ${his} tank top without a bra underneath.`; + } else { + r += `${slave.slaveName}'s ${adjNoun} are supported by a sports bra under ${his} tank top.`; + } + break; + case "slutty jewelry": + r += `${slave.slaveName}'s bangles include a `; + if (slave.boobs > 2000) { + r += `thin chain that runs under ${his} ${adjNoun}, disappearing entirely.`; + } else if (slave.boobs > 800) { + r += `thin chain that runs under ${his} ${adjNoun}, appearing and disappearing enticingly when ${he} moves.`; + } else if (slave.boobs < 300) { + r += `thin chain that runs across ${his} ${adjNoun}.`; + } else { + r += `light chain that loops under ${his} ${adjNoun}.`; + } + break; + case "a burqa": + r += `${slave.slaveName}'s burqa entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a tube top and thong": + case "a tube top": + case "leather pants and a tube top": + r += `${slave.slaveName}'s tube top entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a button-up shirt and panties": + case "a button-up shirt": + case "a t-shirt": + case "a t-shirt and thong": + case "a t-shirt and panties": + case "sport shorts and a t-shirt": + case "a t-shirt and jeans": + r += `${slave.slaveName}'s shirt entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "an oversized t-shirt and boyshorts": + case "an oversized t-shirt": + r += `${slave.slaveName}'s over-sized shirt entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += `, the fabric easily stretches to cover ${his} expansive mounds of flesh.`; + } else if (slave.boobs > 8000) { + r += `, the fabric easily covers ${his} absurdly-sized breasts.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a thong": + case "a skimpy loincloth": + case "boyshorts": + case "cutoffs": + case "leather pants": + case "panties": + case "jeans": + case "sport shorts": + r += `${slave.slaveName}'s ${adjNoun} are completely bare.`; + break; + case "a tank-top": + case "a tank-top and panties": + r += `${slave.slaveName}'s tank-top entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a sweater": + case "a sweater and cutoffs": + case "a sweater and panties": + r += `${slave.slaveName}'s sweater entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "leather pants and pasties": + case "panties and pasties": + case "pasties": + r += `${slave.slaveName}'s breasts `; + if (slave.boobs > 12000) { + r += `are completely bare, except for the pasties covering ${his} nipples.`; + } else if (slave.boobs > 8000) { + r += `are completely bare, except for the pasties covering ${his} nipples.`; + } else if (slave.boobs > 4000) { + r += `are completely bare, except for the pasties covering ${his} nipples.`; + } else if (slave.boobs < 300) { + r += `are completely bare, except for the pasties covering ${his} nipples.`; + } else { + r += `are completely bare, except for the pasties covering ${his} nipples.`; + } + break; + case "a bra": + case "a striped bra": + case "a sports bra": + case "sport shorts and a sports bra": + case "striped underwear": + r += `${slave.slaveName}'s bra entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a nice pony outfit": + case "a slutty pony outfit": + r += `${slave.slaveName}'s outfit entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a one-piece swimsuit": + r += `${slave.slaveName}'s swimsuit entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a gothic lolita dress": + case "a hanbok": + r += `${slave.slaveName}'s blouse entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a hijab and abaya": + case "a niqab and abaya": + r += `${slave.slaveName}'s abaya entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a klan robe": + case "a slutty klan robe": + r += `${slave.slaveName}'s robe entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a hijab and blouse": + r += `${slave.slaveName}'s two shirts entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a burkini": + r += `${slave.slaveName}'s bikini entirely conceals ${his} ${adjNoun}`; + if (slave.boobs > 12000) { + r += ', although the fabric struggles to ensure they are entirely covered.'; + } else if (slave.boobs > 8000) { + r += `. It has been let out a great deal in order to cover the entirety of ${his} chest.`; + } else if (slave.boobs > 4000) { + r += `, though it cannot conceal their absurd size.`; + } else { + r += '.'; + } + break; + case "a Santa dress": + r += `${slave.slaveName}'s red holiday dress is designed with a dangerously low neckline, which `; + if (slave.boobs > 12000) { + r += `${his} colossal breasts spill out of completely unheeded.`; + } else if (slave.boobs > 4000) { + r += `serves only to prop up ${his} massive, otherwise naked breasts.`; + } else if (slave.boobs > 2000) { + r += `lies at nipple-level on ${his} ${adjNoun}, leaving a decent portion of ${his} areolae uncovered.`; + } else if (slave.boobs < 300) { + r += `hangs lowly on ${his} ${adjNoun}, occasionally revealing one of ${his} nipples.`; + } else { + r += `accentuates ${his} cleavage, especially since it always appears to be slipping down ${his} body.`; + } + } + return r; + } + + /** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ + function detailedInspection(slave) { + function musclesTone(slave) { + return slave.muscles > 95 ? 'shredded' : slave.muscles > 30 ? 'rippling' : 'toned'; + } + + function walkingAbility(slave) { + if (slave.amp === 1) { + return `${he} might not be able to walk, if ${he} still had legs.`; + } else if (slave.muscles >= 5) { + return `${his} ${musclesTone(slave)} back muscles get a workout just from supporting them. If they grow any larger, ${he} may not be able to walk.`; + } else { + return `${he} can barely stand. If they grow any larger, ${he} may not be able to walk.`; + } + } + + let r = `${His} `; + if (slave.boobs < 300) { + r += App.Desc.boobBits.adjective(slave.boobs) + ' breasts are practically non - existent.'; + } else if (slave.boobs < 10000) { + if (V.showBoobCCs) { + r += App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs each, would fill %CUPs", slave.boobs); + } else { + r += App.Desc.boobBits.format("%ADJ %NOUN, would fill %CUPs", slave.boobs); + } + if (slave.boobs < 5000 + (slave.muscles * 10) && slave.physicalAge <= 3) { + r += ' and are so large that ' + walkingAbility(slave); + } else { + r += '.'; + } + } else if (slave.boobs < 10000 + (slave.muscles * 20) && slave.physicalAge <= 12) { + r += App.Desc.boobBits.noun(slave.boobs, false) + ' have ' + + slave.boobsImplant ? 'been altered' : 'grown' + + ' past pretense of proportion. '; + if (V.showBoobCCs) { + r += `At ${num(slave.boobs)} CCs each, they`; + } else { + r += 'They'; + } + r += ' and are so large that ' + walkingAbility(slave); + } else if (slave.boobs < 20000 + (slave.muscles * 50) && slave.physicalAge < 18) { + r += App.Desc.boobBits.noun(slave.boobs, false) + ' have ' + + slave.boobsImplant ? 'been altered' : 'grown' + + ' past any pretense of proportion. '; + if (V.showBoobCCs) { + r += `At ${num(slave.boobs)} CCs each, they`; + } else { + r += 'They'; + } + r += ' and are so large that ' + walkingAbility(slave); + } else if (slave.boobs < 20000) { + r += App.Desc.boobBits.noun(slave.boobs, false) + ' have ' + + slave.boobsImplant ? 'been altered' : 'grown' + + ' past any pretense of proportion. '; + } else if (slave.boobs < 30000 + (slave.muscles * 100) && slave.physicalAge >= 18) { + r += App.Desc.boobBits.noun(slave.boobs, false); + if (V.showBoobCCs) { + r += `, ${num(slave.boobs)} CCs each,`; + } + r += ' and are so large that ' + walkingAbility(slave); + } else { + r += App.Desc.boobBits.noun(slave.boobs, false); + if (V.showBoobCCs) { + r += `, ${num(slave.boobs)} CCs each,`; + } + if (slave.amp === 1) { + r += `are so immense it is safer to leave ${him} resting atop them. ${His} udders each weigh more than twice the rest of ${his} body, since ${his} body consists of nothing but ${his} head, torso, and breasts.`; + } else { + r += `are so gargantuan that they effectively immobilize ${him}. ${He}'s most comfortable lying down.`; + } + } + return r; + } +}(); + +/** + * @param {App.Entity.SlaveState} slave + * @param {App.Utils.Pronouns} pronouns + * @returns {string} + */ +App.Desc.boobsExtra = function(slave, pronouns) { + const V = State.variables; + const thisArcology = V.arcologies[0]; + pronouns = pronouns || getPronouns(slave); + const {he, his, him, He, His, girl} = pronouns; + + function penthouseAccessibility() { + let rt = ''; + if (V.boobAccessibility === 1) { + rt = `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`; + } else { + rt = `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`; + } + rt += ' wider than a standard doorway.'; + return rt; + } + + /** + * @param {slaveTestCallback} dairyTest + * @returns {string} + */ + function walkingRestrictions(dairyTest) { + if (slave.muscles > 95) { + return `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`; + } else if (slave.muscles > 30) { + return `${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} arms crossed under ${his} tits to help take their weight.`; + } else if (slave.muscles > 5) { + return `${He} requires assistance to get to ${his} feet, and uses a stand to support them when ${he} must remain upright for more than a short time.`; + } else if ((slave.assignment === App.Data.Facilities.dairy.jobs.cow.assignment) && (V.dairyRestraintsSetting > 1) && (dairyTest(slave))) { + return `The straps that secure ${him} to the milking machine have become less necessary since ${his} breasts grew to the point where they pin ${him} to it.`; + } else { + return `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`; + } + } + + /** + * @param {number} unmovableLimit + * @param {number} bodySize + * @param {slaveTestCallback} dairyTest + * @returns {string} + */ + function livingRestrictions(unmovableLimit, bodySize, dairyTest) { + let res = []; + if (slave.boobs > unmovableLimit) { + if (slave.fuckdoll > 0) { + res.push(`The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since ${he}'s almost always restrained, stationary, or both.`); + } else { + if (canWalk(slave)) { + res.push(`${His} breasts are so massive that it is difficult for ${him} to move.`); + res.push(walkingRestrictions(dairyTest)); + } else if (slave.boobs >= bodySize) { + res.push(`They each are easily as big as ${him}, making ${him} mostly boob.`); + } else { + res.push(`Together they are nearly the same size as ${his} torso, making ${him} about half boob.`); + } + if ((slave.assignment !== App.Data.Facilities.dairy.jobs.cow.assignment) || (V.dairyRestraintsSetting < 2)) { + res.push(penthouseAccessibility()); + } + } + } + return res.join(' '); + } + + let r = []; + if (thisArcology.FSGenderFundamentalistLawBeauty + thisArcology.FSGenderRadicalistLawBeauty > 0) { + if (slave.boobs > 12000) { + r.push("They're so large that the fashionable feminine ideal is a bad joke here."); + } else if (slave.boobs > 1600 && thisArcology.FSAssetExpansionist !== "unset") { + r.push("They're too big for the fashionable feminine ideal."); + } else if (slave.boobs > 800 && thisArcology.FSAssetExpansionist !== "unset") { + r.push("They're bigger than expected for the fashionable feminine ideal, but given the average bust size in your arcology, it's not a surprise."); + } else if (slave.boobs > 800) { + r.push("They're too big for the fashionable feminine ideal."); + } else if (slave.boobs < 500) { + r.push("They're too small for the fashionable feminine ideal."); + } + } else if (thisArcology.FSSlimnessEnthusiastLaw === 1) { + if (slave.boobs >= 300) { + r.push("They're way too existent for the fashionable feminine ideal."); + } + } else if (thisArcology.FSHedonisticDecadenceLaw2 === 1) { + if (slave.boobs < 2000) { + r.push("They're too small for the fashionable feminine ideal."); + } + } + + if (slave.physicalAge <= 3) { + r.push(livingRestrictions(4000, 10000, s => s.boobs > 5100 + (s.muscles * 100))); + } else if (slave.physicalAge <= 12) { + r.push(livingRestrictions(8000, 20000, s => s.boobs > 7000 + (s.muscles * 200))); + } else if (slave.physicalAge < 18) { + r.push(livingRestrictions(15000, 40000, s => s.boobs > 9000 + (s.muscles * 500))); + } else { // slave.physicalAge >= 18 + r.push(livingRestrictions(20000, 40000, s => s.boobs > 12000)); + } + + if (slave.fuckdoll === 0) { + if (slave.markings === "heavily freckled") { + if (slave.boobs > 2000) { + r.push(`They're covered in freckles, though ${his} tits are so big that the freckles are spaced widely across the breadth of each boob.`); + } else if (slave.boobs > 250) { + r.push(`They're covered in freckles, which are particularly dense in the cleft between them.`); + } else { + r.push(`${His} chest is covered in dense freckles.`); + } + } else if (slave.markings === "freckles") { + if (slave.boobs > 250) { + r.push(`The tops of ${his} breasts and ${his} cleavage are lightly freckled.`); + } else { + r.push(`${His} chest is covered in a light spray of freckles.`); + } + } + } + return r.join(' '); +}; + +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.boobsBrand = function(slave) { + if (State.variables.showBodyMods === 1) { + if (slave.fuckdoll === 0) { + // @ts-ignore + if ((typeof slave.brand === 'string') && ["breasts", "left breast", "right breast"].includes(slave.brandLocation)) { + return App.Desc.brand(slave); + } + } + } + return ''; +}; + +/** + * @param {App.Entity.SlaveState} slave + * @param {App.Utils.Pronouns} pronouns + * @returns {string} + */ +App.Desc.nipples = function(slave, pronouns) { + const V = State.variables; + pronouns = pronouns || getPronouns(slave); + const {he, him, his, He, His} = pronouns; + const nipColor = nippleColor(slave); + + let r = ''; + if (slave.fuckdoll > 0) { + if (slave.lactation > 0) { + r += `${His} slave.nipples, ${nipColor}, milky nipples protrude through holes in the suit, to allow drinking.`; + } else { + r += `${His} nipples are completely obscured.`; + } + } else if ((slave.assignment === App.Data.Facilities.dairy.jobs.cow.assignment) && (V.dairyRestraintsSetting > 1)) { + r += `${His} `; + switch (slave.nipples) { + case "tiny": + r += `tiny ${nipColor} nipples are too small for the milkers, and the suction is drawing a lot of boob in with them.`; + break; + case "puffy": + r += `puffy ${nipColor} nipples form a good seal against the milkers' suction.`; + break; + case "partially inverted": + r += `${nipColor}, partially inverted nipples are causing ${him} some discomfort as the milkers haul against them.`; + break; + case "inverted": + r += `${nipColor}, inverted nipples are being kept painfully protruded by the milkers' powerful suction.`; + break; + case "huge": + r += `huge ${nipColor} nipples fill the milkers completely.`; + break; + case "fuckable": + r += `fuckable ${nipColor} nipples leave nothing for the milkers, and the suction is drawing a lot of boob in with them.`; + break; + default: + r += `${nipColor} nipples are being tugged at by the milkers' powerful suction.`; + } + } else { + r += `${His} ${nipColor} nipples are `; + if ((slave.aphrodisiacs > 0) || (slave.energy > 95) || slave.inflationType === "aphrodisiac") { + switch (slave.nipples) { + case "tiny": + r += 'stiff little nubs.'; + break; + case "puffy": + r += 'puffy and erect, the stiff flesh around each swelling outward to a pointy promontory.'; + break; + case "partially inverted": + case "inverted": + r += `stiffly erect. They'd be inverted if ${he} weren't so aroused, but ${he}'s so horny they stay popped out.`; + break; + case "huge": + if ((slave.boobs - slave.boobsImplant > 7500)) { + r += `in proportion with ${his} breasts: they're stiffly erect and `; + if ((slave.dick > 0) && (slave.dick < 3)) { + r += `bigger than ${his} girlcock.`; + } else if ((slave.height < 160) && (slave.amp !== 1)) { + r += `almost as large as ${his} little fists.`; + } else { + r += 'large enough to be jerked off.'; + } + } else { + r += 'enormously erect.'; + } + break; + case "fuckable": + r += `swollen shut ${slave.lactation > 0 ? 'and leaking milk' : ''}.`; + break; + default: + r += 'stiffly erect.'; + } + } else { + switch (slave.nipples) { + case "tiny": + r += 'tiny little nubs.'; + break; + case "puffy": + r += 'puffy, the soft flesh around each swelling outward to a promontory.'; + break; + case "partially inverted": + if (slave.nipplesPiercing !== 0) { + r += "partially inverted, or would be if they weren't pierced. The metal is holding them protruded, causing some discomfort."; + } else { + r += "partially inverted: when soft, they rest flush with the front of the breast."; + } + break; + case "inverted": + if (slave.nipplesPiercing !== 0) { + r += "inverted, or would be if they weren't pierced. The metal is holding them protruded, to the slave's considerable discomfort."; + } else { + r += "inverted: they are completely swallowed by the surrounding breastflesh."; + } + break; + case "huge": + if ((slave.boobs - slave.boobsImplant > 7500)) { + r += `in proportion with ${his} breasts: they've grown `; + if ((slave.dick > 0) && (slave.dick < 3)) { + r += `bigger than ${his} little girlcock.`; + } else if ((slave.height < 160) && (slave.amp !== 1)) { + r += `almost as large as ${his} little fists.`; + } else { + r += `large enough to be jerked off.`; + } + } else { + r += `the size of the last joint of ${his} thumbs when erect.`; + } + break; + case "fuckable": + r += `completely inverted; they extend deep enough into ${his} breasts to be safely penetrated.`; + break; + default: + r += "pretty normal."; + } + } + } + + if (slave.fuckdoll === 0) { + if ((V.showClothing === 1) && (V.saleDescription === 0)) { + switch (slave.clothes) { + case "a monokini": + r += ` Since ${he} is topless, they're plainly visible.`; + break; + default: + if (!["fuckable", "inverted", "partially inverted", "tiny"].includes(slave.nipples)) { + switch (slave.clothes) { + case "cutoffs and a t-shirt": + r += ` Since ${he} isn't wearing a bra, they tent the front of ${his} t-shirt.`; + break; + case "clubslut netting": + r += ` They tent the front of ${his} netting.`; + break; + case "stretch pants and a crop-top": + r += ` Since ${he} isn't wearing a bra, they tent the front of ${his} crop-top.`; + } + } + } + } + } + + if (slave.lactation > 0) { + if ((slave.assignment === App.Data.Facilities.dairy.jobs.cow.assignment) && (V.dairyRestraintsSetting > 1)) { + r += ` The transparent lines coming off the cups attached to each of ${his} nipples are white with a constant stream of milk.`; + } else if (slave.lactation === 1) { + if (slave.boobsMilk > 0) { + r += ` ${His} breasts are painfully engorged with milk.`; + } else { + r += ` ${His} motherly breasts are full of milk.`; + } + } else if (slave.fuckdoll > 0) { + r += ` ${His} overworked, overfull breasts press its nipples through the holes mercilessly.`; + } else { + if (slave.nipples === "fuckable") { + r += ` ${His} fuckable nipples prevent ${him} from releasing milk spontaneously. The lactation drugs are so powerful that if ${he} hasn't been milked in the past hour or so, the built-up pressure leaves ${him} ${!canTalk(slave) ? 'weeping' : 'whining'} piteously; makes for an interesting nipple fuck, however.`; + } else if (slave.nipples === "inverted") { + r += ` ${His} inverted nipples prevent ${him} from releasing milk spontaneously. The lactation drugs are so powerful that if ${he} hasn't been milked in the past hour or so, the built-up pressure leaves ${him} ${!canTalk(slave) ? 'weeping' : 'whining'} piteously.`; + } else if (slave.energy > 95) { + r += ` The powerful lactation drugs keep ${his} breasts so full of milk that when ${he} orgasms ${slave.balls > 0 ? `${he} releases three jets of white fluid: a stream of milk from each nipple and a squirt of cum from ${his} dickhead` : `${he} cums milk out of ${his} nipples`}.`; + } else { + r += ` The lactation drugs are so powerful that if ${he} hasn't been milked in the past hour or so, ${he} leaves a mess wherever ${he} goes.`; + } + } + if (slave.lactationAdaptation > 10) { + if (slave.lactationAdaptation > 50) { + r += ` ${He}'s given so much milk that ${his} body is now well-adapted to copious production.`; + } else { + r += ` ${His} body has become used to milk production.`; + } + } + } + return r; +}; + +/** + * @param {App.Entity.SlaveState} slave + * @param {App.Utils.Pronouns} pronouns + * @returns {string} + */ +App.Desc.areola = function(slave, pronouns) { + const V = State.variables; + pronouns = pronouns || getPronouns(slave); + const {his, His} = pronouns; + const nipColor = nippleColor(slave); + + let r = []; + if (slave.fuckdoll === 0) { + if (V.showBodyMods === 1) { + if (slave.areolaePiercing === 0) { + switch (slave.areolae) { + case 1: + r.push(`${His} areolae form large, lovely circles of ${nipColor} skin around each nipple.`); + break; + case 2: + r.push(`${His} areolae are unusually wide, eye-catching circles of ${nipColor} skin around each nipple.`); + break; + case 3: + r.push(`${His} ${nipColor} areolae are unnaturally broad, covering much of the ${slave.boobShape === "saggy" ? 'bottom' : 'front'} of each breast.`); + break; + case 4: + r.push(`${His} ${nipColor} areolae are unnaturally huge, almost entirely covering the ${slave.boobShape === "saggy" ? 'bottom' : 'front'} of each breast.`); + break; + default: + r.push(`${His} slave.nipples nipples are surrounded by a minimal ${nipColor} areolae.`); + } + if (slave.areolaeShape === "heart") { + r.push(`${His} ${nipColor} areolae are heart-shaped, an obvious surgical alteration.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the curved top of each heart visible.`); + } + } else if (slave.areolaeShape === "star") { + r.push(`${His} ${nipColor} areolae are star-shaped, an obvious surgical alteration.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the pointed top of each star visible.`); + } + } else if (slave.areolaeShape !== "circle") { + r.push(`${His} ${nipColor} areolae are ${slave.areolaeShape}-shaped, an obvious surgical alteration.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the top of each ${slave.areolaeShape} visible.`); + } + } + } else { + r.push(this.areolaePiercing(slave, pronouns)); + } + } + if ((V.showClothing === 1) && (V.saleDescription === 0)) { + if (slave.areolae > 1) { + switch (slave.clothes) { + case "a string bikini": + r.push(`${His} string bikini covers only ${his} nipples, with the rest of ${his} areolae lewdly visible around them.`); + break; + case "slutty business attire": + r.push(`The upper half of each of them is visible above the top of ${his} blouse.`); + break; + case "a cheerleader outfit": + case "a bunny outfit": + r.push('The upper half of each of them is visible.'); + break; + case "a leotard": + r.push(`The material of ${his} leotard is so thin and tight that not only are ${his} nipples obvious, the outline of ${his} areolae can be made out, too.`); + break; + case "a monokini": + r.push(`As ${his} monokini leaves $him topless, ${his} areolae are naturally on public display.`); + break; + } + } + } + } + return r.join(' '); +}; diff --git a/src/js/descriptionWidgets/piercing.js b/src/js/descriptionWidgets/piercing.js new file mode 100644 index 00000000000..04cded3cd68 --- /dev/null +++ b/src/js/descriptionWidgets/piercing.js @@ -0,0 +1,53 @@ +/** + * @param {App.Entity.SlaveState} slave + * @param {App.Utils.Pronouns} pronouns + * @returns {string} + */ +App.Desc.areolaePiercing = function(slave, pronouns) { + pronouns = pronouns || getPronouns(slave); + const {his, He, His} = pronouns; + const nipColor = nippleColor(slave); + let r = []; + if (slave.fuckdoll === 0) { + if (slave.areolaePiercing > 0) { + switch (slave.areolae) { + case 1: + r.push(`${His} areolae form large, lovely circles of ${nipColor} skin around each nipple.`); + r.push(`${He} has stud piercings around their borders, enhancing the contrast.`); + break; + case 2: + r.push(`${His} areolae are unusually wide, eye-catching circles of ${nipColor} skin around each nipple.`); + r.push(`${He} has stud piercings around their borders, enhancing the contrast.`); + break; + case 3: + r.push(`${His} ${nipColor} areolae are unnaturally broad, covering much of the ${slave.boobShape === "saggy" ? 'bottom' : 'front'} of each breast.`); + r.push(`${He} has many stud piercings around their edges, forming a metal border between ${nipColor} nipple and breast.`); + break; + case 4: + r.push(`${His} ${nipColor} areolae are unnaturally huge, almost entirely covering the ${slave.boobShape === "saggy" ? 'bottom' : 'front'} of each breast.`); + r.push(`${He} has many stud piercings around their edges, forming a metal border between ${nipColor} nipple and breast.`); + break; + default: + r.push(`${He} has stud piercings in circles around the edges of ${his} minimal ${nipColor} areolae.`); + r.push(`${His} ${slave.nipples} nipples are surrounded by a minimal ${nipColor} areolae.`); + } + if (slave.areolaeShape === "heart") { + r.push(`${His} ${nipColor} areolae are heart-shaped, an obvious surgical alteration. Their borders are defined by stud piercings with pink stones.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the curved top of each heart visible.`); + } + } else if (slave.areolaeShape === "star") { + r.push(`${His} ${nipColor} areolae are star-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the pointed top of each star visible.`); + } + } else if (slave.areolaeShape !== "circle") { + r.push(`${His} ${nipColor} areolae are ${slave.areolaeShape}-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.`); + if (slave.boobShape === "saggy") { + r.push(`${His} motherly boobs point downward, though, leaving only the top of each ${slave.areolaeShape} visible.`); + } + } + } + } + return r.join(' '); +}; diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js index 97bd7953171..8e36e7d8719 100644 --- a/src/js/slaveListing.js +++ b/src/js/slaveListing.js @@ -769,12 +769,6 @@ App.UI.SlaveList.penthousePage = function() { * @returns {boolean} */ -/** - * @callback slaveTestCallback - * @param {App.Entity.SlaveState} slave - * @returns {boolean} - */ - App.UI.SlaveList.slaveSelectionList = function() { const selectionElementId = "slaveSelectionList"; diff --git a/src/js/walkPastJS.js b/src/js/walkPastJS.js index 3a0d06b51e2..57a99e7f5c0 100644 --- a/src/js/walkPastJS.js +++ b/src/js/walkPastJS.js @@ -1862,13 +1862,15 @@ window.boobWatch = function(slave) { let t = ""; let V = State.variables; - let pronouns = getPronouns(slave); - let he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; - let He = capFirstChar(he), His = capFirstChar(his); + const pronouns = getPronouns(slave); + const { + he, him, his, hers, himself, boy, + He, His + } = pronouns; - let breasts = (slave.boobs < 300) ? `flat chest` : `breasts`; + const breasts = (slave.boobs < 300) ? `flat chest` : `breasts`; - t += `<<BoobsDescription>> `; + t += App.Desc.boobs(slave, pronouns) + ' '; switch (slave.clothes) { case "uncomfortable straps": if (slave.boobs < 300) { diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 2880b6f27fc..2911fa14e79 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -509,27 +509,15 @@ Work on $his chest: <br> $His <<if $activeSlave.boobs < 300>><<print either("androgynous", "flat")>> chest is barely there. - <<elseif $activeSlave.boobs < 400>><<print either("pointy", "tiny")>>, <<print $activeSlave.boobs>>cc chest only fills an A-cup. - <<elseif $activeSlave.boobs < 500>><<print either("perky", "small")>>, <<print $activeSlave.boobs>>cc <<print either("boobs", "bosom", "breasts", "tits")>> would fill a B-cup. - <<elseif $activeSlave.boobs < 650>><<print either("curved", "healthy")>>, <<print $activeSlave.boobs>>cc <<print either("boobs", "bosom", "breasts", "bust", "tits")>> would fill a C-cup. - <<elseif $activeSlave.boobs < 800>><<print either("big", "sizable")>>, <<print $activeSlave.boobs>>cc <<print either("boobs", "bosom", "breasts", "bust", "tits")>> would fill a D-cup. - <<elseif $activeSlave.boobs < 1000>><<print either("big", "large")>>, <<print $activeSlave.boobs>>cc <<print either("boobs", "bosom", "breasts", "bust", "tits")>> would fill a DD-cup. - <<elseif $activeSlave.boobs < 1200>><<print either("hefty", "proud")>>, <<print $activeSlave.boobs>>cc <<print either("boobs", "breasts", "mammaries", "tits", "udders")>> would fill an F-cup. - <<elseif $activeSlave.boobs < 1400>><<print either("hefty", "huge")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill a G-cup. - <<elseif $activeSlave.boobs < 1600>><<print either("huge", "massive")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an H-cup. - <<elseif $activeSlave.boobs < 1800>><<print either("enormous", "massive")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an I-cup. - <<elseif $activeSlave.boobs < 2050>><<print either("enormous", "titanic")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill a J-cup. - <<elseif $activeSlave.boobs < 2300>><<print either("stupendous", "titanic")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill a K-cup. - <<elseif $activeSlave.boobs < 2600>><<print either("magnificent", "stupendous")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an L-cup. - <<elseif $activeSlave.boobs < 2900>><<print either("magnificent", "tremendous")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an M-cup. - <<elseif $activeSlave.boobs < 3250>><<print either("awe-inspiring", "tremendous")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an N-cup. - <<elseif $activeSlave.boobs < 3600>><<print either("absurd", "awe-inspiring")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an O-cup. - <<elseif $activeSlave.boobs < 3950>><<print either("attention-grabbing", "disproportionate")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill a P-cup. - <<elseif $activeSlave.boobs < 4300>><<print either("massive", "shocking")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill a Q-cup. - <<elseif $activeSlave.boobs < 4700>><<print either("jaw-dropping", "unreal")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an R-cup. - <<elseif $activeSlave.boobs < 5100>><<print either("astounding", "tremendous")>>, <<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> would fill an S-cup. - <<elseif ($activeSlave.amp == 1)>><<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> fill out an enormous custom bra; $his tits dominate $his entire frame. - <<else>><<print $activeSlave.boobs>>cc <<print either("breasts", "mammaries", "tits", "udders")>> fill out an enormous custom bra; $his tits dominate $his entire frame. + <<elseif $activeSlave.boobs < 400>><<print either("pointy", "tiny")>>, <<print $activeSlave.boobs>>cc chest only fill A-cups. + <<elseif $activeSlave.boobs < 8500>> + <<if $showBoobCCs == 1>> + <<print App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs, would fill %ACUP.", $activeSlave.boobs)>> + <<else>> + <<print App.Desc.boobBits.format("%ADJ %NOUN, would fill %ACUP.", $activeSlave.boobs)>> + <</if>> + <<else>> + <<print App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs, ", $activeSlave.boobs)>> fill out an enormous custom bra; $his tits dominate $his entire frame. <</if>> <br> diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw index 7d90896103c..6130b384b41 100644 --- a/src/utility/descriptionWidgets.tw +++ b/src/utility/descriptionWidgets.tw @@ -47,39 +47,7 @@ <<widget "InscripDesc">> - -"I <3 -<<if ($activeSlave.fetishKnown == 1)>> - <<switch $activeSlave.fetish>> - <<case "buttslut">> - Buttsex!" - <<case "cumslut">> - Cum!" - <<case "masochist" "sadist">> - Rape!" - <<case "dom">> - Topping!" - <<case "submissive">> - Subbing!" - <<case "boobs">> - Tits!" - <<case "pregnancy">> - Sperm!" - <<default>> - <<if ($activeSlave.energy > 95)>> - Cock!" - <<elseif ($PC.title == 0)>> - Mistress!" - <<else>> - Master!" - <</if>> - <</switch>> -<<elseif ($PC.title == 0)>> - Mistress!" -<<else>> - Master!" -<</if>> - + <<print App.Desc.inscrip($activeSlave)>> <</widget>> <<widget "geneticQuirkAssessment">> @@ -217,7 +185,7 @@ $He is a hypoleptinemia carrier. <</if>> <<if $activeSlave.geneticQuirks.mGain == 2 && $activeSlave.geneticQuirks.mLoss == 2>> - $He has severe genetic flaw resulting in easily replaced, rapidly lost muscle mass. + $He has severe genetic flaw resulting in easily replaced, rapidly lost muscle mass. <<elseif $activeSlave.geneticQuirks.mGain == 2>> $He has myotonic hypertrophy and will easily gain muscle mass. <<elseif $activeSlave.geneticQuirks.mLoss == 2>> diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index c010102989f..eb6f5c1d805 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -287,1478 +287,26 @@ $He has <</widget>> <<widget "BoobsDescription">> - -<<if ($showClothing == 1) && ($saleDescription == 0)>> - <<if $surgeryDescription == 0>> - <<if ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>> - $activeSlave.slaveName's breasts are gently moving with the powerful pumping of the milkers attached to $his nipples. - <<else>> - <<switch $activeSlave.clothes>> - <<case "a Fuckdoll suit">> - $activeSlave.slaveName's Fuckdoll suit - <<if $activeSlave.boobs > 24000>> - fits each of $his awe-inspiring masses of breastflesh perfectly. - <<elseif $activeSlave.boobs > 12000>> - fits each of $his enormous masses of breastflesh perfectly. - <<elseif $activeSlave.boobs > 2000>> - fits each of $his huge breasts individually. - <<elseif $activeSlave.boobs > 800>> - fits each of $his heavy breasts individually. - <<elseif $activeSlave.boobs > 300>> - fits each of $his breasts individually. - <<else>> - is flat across $his chest. - <</if>> - <<case "conservative clothing">> - <<if $activeSlave.boobs > 24000>> - $activeSlave.slaveName is wearing a tent-like sweater tailored to cover $his tits. - <<elseif $activeSlave.boobs > 12000>> - $activeSlave.slaveName is wearing a massively oversized custom sweater since nothing else comes close to modestly covering $his tits. Even so, it's stretched taut struggling to contain their immense mass. - <<elseif $activeSlave.boobs > 8000>> - $activeSlave.slaveName is wearing an oversized sweater, since that's the only top that will come close to covering $his tits. Even so, it's stretched taut just struggling to cover $his nipples. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName is wearing an oversized sweater, since that's the only top that will cover $his tits. Even so, it's stretched taut over them. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's blouse is professional, but can't conceal the gigantic dimensions of $his tits. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's blouse is professional, but can't conceal how big $his tits are. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's blouse is professional and includes a pleated front over $his flat chest. - <<else>> - $activeSlave.slaveName's blouse is professional and includes a pleated front over $his breasts. - <</if>> - <<case "chains">> - $activeSlave.slaveName has a length of chain painfully - <<if $activeSlave.boobs > 800>> - tightened around the base of each breast, forcing them out. - <<elseif $activeSlave.boobs < 300>> - <<switch $activeSlave.nipples>> - <<case "huge">> - wrapped around each of $his huge nipples, since they are the only things protruding from $his chest. - <<case "inverted">> - wrapped tightly across $his flat chest, through the cleft of $his inverted nipples. - <<default>> - wrapped tightly across $his flat chest, directly over $his $activeSlave.nipples nipples. - <</switch>> - <<else>> - looped under $his chest, forcing $his breasts up. - <</if>> - <<case "Western clothing">> - $activeSlave.slaveName's flannel shirt - <<if $activeSlave.boobs > 2000>> - can't begin to contain $his tits, so $he's just tied it under them for support. - <<elseif $activeSlave.boobs > 800>> - can't close over $his tits, so $he's just buttoned it up to where they start and let them fill it out above that. - <<elseif $activeSlave.boobs < 300>> - tightly hugs $his flat chest. - <<else>> - rests comfortably over $his breasts. - <</if>> - <<case "body oil">> - <<if $activeSlave.boobs < 300>> - $activeSlave.slaveName's flat chest is covered in a sexy sheen of body oil. - <<else>> - $activeSlave.slaveName's breasts are covered in a sexy sheen of body oil. - <</if>> - <<case "a toga">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's breasts are too big to cover with $his toga, so $he leaves them hanging free. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName is wearing $his toga so as to leave one $activeSlave.nipples nipple bare. - <<else>> - $activeSlave.slaveName is wearing $his toga so as to leave one breast bare. - <</if>> - <<case "a huipil">> - <<if $activeSlave.boobs > 2000>> - $activeSlave.slaveName's breasts are so big that they pull up $his huipil uncomfortably high, so $he needs to fold it between them. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's huipil rests on $his flat chest. - <<else>> - $activeSlave.slaveName is wearing $his huipil which accentuates $his breasts. - <</if>> - <<case "a slutty qipao">> - $activeSlave.slaveName's qipao - <<if $activeSlave.boobs > 12000>> - can't contain the immense size of $his breasts, so $he wears a modified variant that lets $his tits hang free. - <<elseif $activeSlave.boobs > 4000>> - barely covers $his breasts, it strains to contain their absurd size. Breast flesh spills from any gap it can find. - <<elseif $activeSlave.boobs > 2000>> - demurely covers $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - demurely hugs $his flat chest. - <<else>> - demurely covers $his breasts. - <</if>> - <<case "uncomfortable straps">> - $activeSlave.slaveName's slave - <<if $activeSlave.boobs > 12000>> - outfit includes a network of straps to support $his breasts, radiating outwards from the steel rings around $his nipples. - <<elseif $activeSlave.boobs > 2000>> - outfit has special straps for $his massive boobs: one strap down the front of each with steel rings to let $his nipples through, and a strap around the base of each, painfully squeezing $his breasts out to make them seem even bigger. - <<elseif $activeSlave.boobs > 800>> - outfit's straining straps restrain the flesh of $his tits like a string bikini, with steel rings to let $his nipples through. - <<elseif $activeSlave.boobs < 300>> - outfit's straps pass over $his flat chest like a string bikini, with steel rings to let $his $activeSlave.nipples nipples through. - <<else>> - outfit's straps pass over $his breasts like a string bikini, with steel rings to let $his nipples through. - <</if>> - <<case "shibari ropes">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - breasts are restrained by <<if $showInches == 2>>yards and yards<<else>>meters and meters<</if>> of rope. - <<elseif $activeSlave.boobs > 2000>> - boobs are tightly bound with rope, soft flesh pushing out from between them. - <<elseif $activeSlave.boobs < 300>> - flat chest is tightly bound with rope, drawing attention to $his flat chest. - <<else>> - chest is tightly bound with rope. - <</if>> - <<case "restrictive latex">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 2000>> - breasts protrude through holes in $his latex suit, which are too small for them, painfully constricting $him and making them seem even bigger. - <<elseif $activeSlave.boobs > 800>> - breasts protrude through holes in $his latex suit. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.nipples nipples poke through holes in $his latex suit, since $he has nothing else protruding from $his chest. - <<else>> - latex suit leaves $his chest bare. - <</if>> - <<case "attractive lingerie">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - lace bra cannot cover the whole breast; its cups are half-moon shaped, and designed to offer what support they can to the bottom of them. They have disappeared completely under the immense quantity of breast flesh. - <<elseif $activeSlave.boobs > 4000>> - lace bra cannot cover the whole breast; its cups are half-moon shaped, and designed to offer what support they can to the bottom of them. - <<elseif $activeSlave.boobs > 800>> - sturdy lace bra supports $his huge breasts. - <<elseif $activeSlave.boobs < 300>> - pretty lace bra hugs $his flat chest. - <<else>> - pretty lace bra accentuates $his breasts. - <</if>> - <<case "kitty lingerie">> - $activeSlave.slaveName's lacy bra features a hole shaped liked a cat's head in the center of $his chest; - <<if $activeSlave.boobs > 12000>> - $his breasts have stretched $his bra to the point that the hole is unrecognizable as anything feline. - <<elseif $activeSlave.boobs > 4000>> - the size of $his breasts severely stretches out the hole's shape. - <<elseif $activeSlave.boobs > 800>> - the size of $his breasts stretches out the hole's shape. - <<elseif $activeSlave.boobs < 300>> - it lies flat against $his body. - <<else>> - the hole lies directly over $his cleavage. - <</if>> - <<case "a succubus outfit">> - $activeSlave.slaveName's corset ends just below $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts, leaving them bare. - <<if $activeSlave.boobs > 2000>> - It hugs $his tightly and comes up to right under where they start, forcing them to spill over and hide its upper half. - <<elseif $activeSlave.boobs > 400>> - It hugs $his tightly and comes up to right under where they start, presenting them like a push-up bra. - <</if>> - <<case "a slutty maid outfit">> - $activeSlave.slaveName's maid dress stops below $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts, but the outfit includes a thin white blouse - <<if $activeSlave.boobs > 4000>> - that fails to even come close to covering $his immense breasts. - <<elseif $activeSlave.boobs > 2000>> - that covers them to just over $his nipples when $he pulls it up over them. It's pulled down by $his huge chest whenever $he moves. - <<elseif $activeSlave.boobs > 800>> - that covers them to just over $his nipples, leaving a large area of deliciously unsupported and jiggling cleavage. - <<elseif $activeSlave.boobs < 300>> - that hugs $his flat chest and lets $his $activeSlave.nipples nipples protrude through the fabric. - <<else>> - to cover them. - <</if>> - <<case "a nice maid outfit">> - $activeSlave.slaveName's maid dress front is almost conservative, covering $his - <<if $activeSlave.boobs > 12000>> - immense breasts with a tent-like billow of white fabric. - <<elseif $activeSlave.boobs > 6000>> - immense breasts as best it can; it barely succeeds at its task, straining at the seams and allowing breast flesh to spill out of every available gap. - <<elseif $activeSlave.boobs > 2000>> - breasts, though it cannot conceal their enormous mass. - <<elseif $activeSlave.boobs < 300>> - flat chest, though it does nothing to hide how flat $he is. - <<else>> - breasts. - <</if>> - <<case "a fallen nuns habit">> - $activeSlave.slaveName's latex habit includes a - <<if $activeSlave.boobs > 20000>> - half-corset, but it's completely invisible, being hidden under $his inhuman tits. - <<elseif $activeSlave.boobs > 4000>> - half-corset, but only the bottom edge is visible: the rest is swallowed up under $his gigantic tits. - <<elseif $activeSlave.boobs > 800>> - half-corset to force $his big boobs up and forward, forming a lot of cleavage even though they're bare. - <<elseif $activeSlave.boobs < 300>> - half-corset that tightly hugs $his flat chest. - <<else>> - half-corset to force $his boobs up and forward. - <</if>> - <<case "a chattel habit">> - $activeSlave.slaveName's chattel habit's scapular covers $his shoulders and arms, but is open in front, leaving $his - <<if $activeSlave.boobs > 4000>> - boobs completely bare. It tucks into a golden belt, though this is buried under $his breasts. - <<elseif $activeSlave.boobs > 300>> - boobs completely bare. It tucks into a golden belt, which is cinched up right under $his breasts. - <<else>> - flat chest completely bare. It tucks into a golden belt cinched around $his middle torso. - <</if>> - <<case "a penitent nuns habit">> - If $he fails to hold $his torso totally still, the coarse cloth of $his top agonizingly scrapes across $his nipples, bare under $his habit. - <<case "a string bikini">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's breasts are so large that the little scraps of cloth intended for $his nipples can't really stay centered over them. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's huge breasts constantly pull $his nipples out from under the tiny scrap of cloth that $his string bikini affords them. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big breasts threaten to break out of $his straining string bikini top. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's string bikini top barely covers anything, affording only a tiny scrap of cloth for each nipple; not that there is much else to cover on $his flat chest. - <<else>> - $activeSlave.slaveName's string bikini top barely covers anything, affording only a tiny scrap of cloth for each nipple. - <</if>> - <<case "a scalemail bikini">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's breasts are so large that it's a testament to $his scalemail top that it hasn't broken yet. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's huge breasts constantly strain $his scalemail top. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's scalemail top contains $his big breasts well. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's scalemail bikini top easily covers everything, as there is not much to cover on $his flat chest. - <<else>> - $activeSlave.slaveName's scalemail bikini top covers everything, while still flaunting it. - <</if>> - <<case "striped panties">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's enormous breasts are completely bare. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's huge breasts are completely bare. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's breasts are completely bare. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's flat breasts are completely bare. - <<else>> - $activeSlave.slaveName's breasts are completely bare. - <</if>> - <<case "clubslut netting">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - immense boobs hang out the holes they tore in $his clubslut netting. - <<elseif $activeSlave.boobs > 4000>> - clubslut netting is stretched to the breaking point by $his massive boobs. - <<elseif $activeSlave.boobs > 800>> - clubslut netting is stretched by $his big breasts. - <<elseif $activeSlave.boobs < 300>> - clubslut netting hugs $his flat chest. - <<else>> - clubslut netting hugs $his chest tightly. - <</if>> - <<case "a cheerleader outfit">> - $activeSlave.slaveName's cheerleader top - <<if $activeSlave.boobs > 12000>> - can't support $his giant bust and is lost beneath $his immense breasts. - <<elseif $activeSlave.boobs > 4000>> - is strongly engineered, but it can barely support $his enormous bust. - <<elseif $activeSlave.boobs > 800>> - gives $him an acre of cleavage. - <<elseif $activeSlave.boobs < 300>> - tightly clings to $his flat chest, prominently displaying $his $activeSlave.nipples nipples. - <<else>> - does its best to make $his boobs look bigger than they are. - <</if>> - <<case "cutoffs and a t-shirt">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - tits are so huge that $his t-shirt rests pathetically atop their mass. - <<elseif $activeSlave.boobs > 4000>> - tits are so big that $his t-shirt barely comes down over $his nipples, leaving a lot of underboob hanging out. - <<elseif $activeSlave.boobs > 1200>> - t-shirt is held out and away from $his midriff by $his big breasts. - <<elseif $activeSlave.boobs < 300>> - t-shirt is tied across $his flat chest to bare $his midriff. - <<else>> - t-shirt is tied up to bare $his midriff. - <</if>> - <<case "spats and a tank top">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 20000>> - tank top lies atop $his massive rack. - <<elseif $activeSlave.boobs > 12000>> - tank top just barely covers $his nipples despite its fairly large size. - <<elseif $activeSlave.boobs > 4000>> - tank top can never completely cover $his tits, giving varying amounts of underboob as $he moves about. - <<elseif $activeSlave.boobs > 1200>> - midriff is open to see as $his chest makes $his tank top ride up. - <<else>> - tank top is tight against $his <<if $activeSlave.boobs < 300>> flat <</if>> chest. - <</if>> - <<case "a slutty outfit">> - $activeSlave.slaveName - <<if $activeSlave.boobs > 12000>> - has given up trying to contain $his immense bust and is now choosing outfits that allow $his breasts to hang free. - <<elseif $activeSlave.boobs > 4000>> - has to be careful choosing slutty outfits that can restrain $his massive breasts. - <<elseif $activeSlave.boobs > 800>> - has to be careful choosing slutty outfits that can handle $his big breasts. - <<elseif $activeSlave.boobs < 300>> - chooses slutty outfits that go well on a $girl with no tits. - <<else>> - chooses slutty outfits that accentuate $his breasts. - <</if>> - <<case "a slave gown">> - $activeSlave.slaveName's slave gown - <<if $activeSlave.boobs > 12000>> - is no longer able to cover $his immense breasts. Instead, it has been redesigned to draw the eye to them. - <<elseif $activeSlave.boobs > 4000>> - is carefully engineered and is somehow able to cover the enormous mass of $his breasts. - <<elseif $activeSlave.boobs > 800>> - is carefully tailored, tastefully covering yet enhancing $his big breasts. - <<elseif $activeSlave.boobs < 300>> - is carefully tailored to closely hug $his flat chest. - <<else>> - subtly accentuates $his breasts. - <</if>> - <<case "a halter top dress">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's immense breasts are far too big for $his dress to contain; instead it has been redesigned to allow them to hang freely. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's enormous breasts are spill out from every available space in $his beautiful halter top dress. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's enormous breasts are bulging inside a beautiful halter top dress. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's is draped inside a beautiful halter top dress, making $his big breasts the center of attention. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName is wearing a beautiful silky halter top dress, almost as if it was sculpted to hug $his flat chest. - <<else>> - $activeSlave.slaveName is wearing a beautiful silky halter top dress, almost as if it was sculpted to match $his frame. - <</if>> - <<case "a ball gown">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName fabulous silken ball gown is designed to allow $his oversized breasts to hang free. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName somehow managed to cram the immense mass of $his breasts inside a fabulous silken ball gown. They spill out of every available gap. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName somehow managed to fit the enormous mass of $his breasts inside a fabulous silken ball gown. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's fabulous silken ball gown is carefully tailored, beautifully covering yet enhancing $his big breasts. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's fabulous silken ball gown is carefully tailored, beautifully caressing $his flat chest. - <<else>> - $activeSlave.slaveName's draped inside a fabulous silken ball gown. - <</if>> - <<case "slutty business attire">> - $activeSlave.slaveName's suit jacket - <<if $activeSlave.boobs > 12000>> - and blouse are both open in front, leaving $his boobs bare, since there's no way $he could button $his clothes over $his tits. - <<elseif $activeSlave.boobs > 2000>> - is open in front, and $his straining blouse barely restrains $his tits. - <<elseif $activeSlave.boobs < 300>> - is open in front, tightly hugging $his flat chest and prominently displaying $his $activeSlave.nipples nipples. - <<else>> - is open in front, and $his blouse barely covers $his breasts. - <</if>> - <<case "nice business attire">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - tits are so immense that $his specially tailored blouse and jacket are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - tits are so huge that they prevent $his jacket from closing. Every motion $he makes threatens to turn $his blouse buttons into ballistics. - <<elseif $activeSlave.boobs > 2000>> - tits are so big that they strain even $his specially tailored blouse and jacket. - <<elseif $activeSlave.boobs > 800>> - big tits strain against $his tailored blouse and jacket. - <<elseif $activeSlave.boobs < 300>> - suit jacket is fitted tightly to $his flat chest. - <<else>> - suit jacket conceals a flattering bra that lifts and presents $his bosom. - <</if>> - <<case "a comfortable bodysuit">> - <<if $activeSlave.boobs < 300>> - $activeSlave.slaveName's bodysuit is so tightly form-fitting that it clings to $his flat chest and prominently displays $his $activeSlave.nipples nipples. - <<else>> - $activeSlave.slaveName's bodysuit is so tightly form-fitting that $his breasts are individually hugged and supported by the material. - <</if>> - <<case "a latex catsuit">> - <<if $activeSlave.boobs < 300>> - $activeSlave.slaveName's latex catsuit fits $him like a second skin, showing off every detail of $his $activeSlave.nipples nipples and distinct lack of breasts. - <<else>> - $activeSlave.slaveName's latex catsuit fits $him like a second skin, showing off every detail of $his nipples and breasts. - <</if>> - <<case "a military uniform">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a schutzstaffel uniform">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a slutty schutzstaffel uniform">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a long qipao">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his dress is on the verge of bursting open. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that $his dress is on the verge of bursting open. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his dress greatly. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his dress. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his dress.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "battlearmor">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his armor is on the verge of bursting open. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that $his armor is on the verge of bursting open. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they armor even $his dress greatly. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his armor. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his armor.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a mounty outfit">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a dirndl">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his dress are incapable of being laced up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his dress from being laced up. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain $his dress. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his dress. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his dress.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "lederhosen">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a biyelgee costume">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his dress are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his dress from being buttoned up. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain $his dress. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his dress. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his dress.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a red army uniform" "a police uniform">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's tits are so immense that $his specially tailored shirt and tunic are incapable of being buttoned up. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName's tits are so huge that they prevent $his tunic from closing. Every motion threatens to turn $his shirt buttons into shrapnel. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's tits are so big that they strain even $his specially tailored shirt and tunic. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's big tits strain against $his tailored shirt and tunic. - <<else>> - $activeSlave.slaveName cuts a dashing figure in $his tunic.<<if $activeSlave.boobs < 300>> $His <<print either("androgynous", "flat")>> breasts are barely there.<</if>> - <</if>> - <<case "a nice nurse outfit">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - immense tits are too big for $his scrub top, it rests uselessly atop $his bust. - <<elseif $activeSlave.boobs > 4000>> - massive tits strain against $his scrub top, it only manages to cover $his nipples. - <<elseif $activeSlave.boobs > 2000>> - massive tits strain against $his scrub top, filling it out completely despite its utilitarian cut. - <<elseif $activeSlave.boobs > 800>> - sizable tits nicely fill out $his scrub top, despite its utilitarian cut. - <<elseif $activeSlave.boobs < 300>> - scrub top tightly hugs $his flat chest. - <<else>> - tits are hidden beneath $his scrub top. - <</if>> - <<case "a mini dress">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - mini dress is pulled down to allow $his immense breasts to hang free. - <<elseif $activeSlave.boobs > 4000>> - massive breasts stretch $his custom tailored dress to its absolute limit. - <<elseif $activeSlave.boobs > 800>> - big breasts stretch taut against $his dress, leaving nothing to the imagination. - <<elseif $activeSlave.boobs < 300>> - dress tightly hugs $his flat chest, prominently displaying $his $activeSlave.nipples nipples though the fabric. - <<else>> - chest stretches taut against $his dress, leaving little to the imagination. - <</if>> - <<case "an apron">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - breasts are so immense that $his apron can barely contain them, and $he has to be careful not to expose one or both of $his $activeSlave.nipples nipples as $he moves. - <<elseif $activeSlave.boobs > 4000>> - massive breasts fill out $his strained apron, occasionally leaving the sides of $his $activeSlave.nipples nipples bare. - <<elseif $activeSlave.boobs > 800>> - big breasts fill out $his stretched apron, only just managing to fully cover $his $activeSlave.nipples nipples. - <<elseif $activeSlave.boobs < 300>> - apron lies flatly against $his small chest and $activeSlave.nipples nipples. - <<else>> - breasts fill out $his apron, which is strategically worn to cover $his $activeSlave.nipples nipples. - <</if>> - <<case "overalls">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - breasts are so immense that $his overalls can barely contain them, and $he has to be careful not to expose one or both of $his $activeSlave.nipples nipples as $he moves. - <<elseif $activeSlave.boobs > 4000>> - giant breasts peek out from the sides of $his strained overalls, often exposing the sides of $his $activeSlave.nipples nipples. - <<elseif $activeSlave.boobs > 800>> - huge breasts fill out $his stretched overalls, only just managing to fully cover $his $activeSlave.nipples nipples. - <<elseif $activeSlave.boobs < 300>> - overalls lie flatly against $his small chest and $activeSlave.nipples nipples. - <<else>> - overalls are filled out by $his breasts, offering tantalizing views of their sides. - <</if>> - <<case "a leotard">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - tits are so big that even $his specially tailored leotard cannot really support them. - <<elseif $activeSlave.boobs > 2000>> - big tits stretch the spandex of $his leotard taut across their width. - <<elseif $activeSlave.boobs < 300>> - leotard tightly hugs $his flat chest, prominently displaying $his $activeSlave.nipples nipples though the spandex. - <<else>> - chest is flattered by $his leotard. - <</if>> - <<case "a monokini">> - The shoulder straps of $activeSlave.slaveName's monokini cross over in the center of $his chest, leaving the rest of $his - <<if $activeSlave.boobs > 12000>> - gigantic breasts totally bare. - <<elseif $activeSlave.boobs > 2000>> - large breasts totally bare. - <<elseif $activeSlave.boobs < 300>> - flat chest totally bare. - <<else>> - breasts totally bare. - <</if>> - <<case "a cybersuit">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - gigantic breasts stretch out the bodysuit so tightly that $his nipples are clearly visible. - <<elseif $activeSlave.boobs > 2000>> - large breasts stretch out the bodysuit so tightly that $his nipples are nearly visible. - <<elseif $activeSlave.boobs < 300>> - flat chest is hugged tightly by the bodysuit, $his nipples pushing against the material. - <<else>> - breasts are hugged tightly by the bodysuit, $his nipples pushing against the material. - <</if>> - <<case "a bunny outfit">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - tits are so immense that $his teddy can't contain them; it's pulled down to allow them to hang free. - <<elseif $activeSlave.boobs > 6000>> - tits are so huge that $his teddy conceals special stays to keep them from popping out at the slightest movement. Breast flesh massively overflows $his top. - <<elseif $activeSlave.boobs > 2000>> - tits are so big that $his teddy conceals special stays to keep them from popping out at the slightest movement. - <<elseif $activeSlave.boobs > 800>> - big tits are perpetually on the verge of spilling out of $his top. - <<elseif $activeSlave.boobs < 300>> - teddy tightly clings to $his flat chest somehow making $him look even flatter. - <<else>> - teddy conceals cunning stays designed to make $his bosom look considerably bigger than it actually is. - <</if>> - <<case "attractive lingerie for a pregnant woman">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - top has been retailored to fit $his enormous bust. The ample breast flesh almost completely consumes $his silken lingerie. $His silken vest is barely visible behind $his massive tits. - <<elseif $activeSlave.boobs > 4000>> - gigantic tits dwarf $his tiny top. It barely manages to cover $his nipples. $His silken vest is parted to either side of $his breasts. - <<elseif $activeSlave.boobs > 800>> - large breasts spill out from above and below $his tight top. - <<elseif $activeSlave.boobs < 300>> - top tightly clings to $his flat chest. - <<else>> - top tightly clings to $his chest. - <</if>> - <<case "a maternity dress">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 12000>> - low cut dress can't contain $his enormous breasts, so $he keeps it pulled up just below $his bust. - <<elseif $activeSlave.boobs > 4000>> - low cut dress can barely conceal $his giant breasts. They bulge over the top and create a deep valley of cleavage. - <<elseif $activeSlave.boobs > 1000>> - dress is low cut and reveals a large amount of cleavage. - <<elseif $activeSlave.boobs < 300>> - dress is low cut, tightly hugs $his flat chest and ends just above $his nipples. - <<else>> - dress is low cut and ends just above $his nipples. - <</if>> - <<case "stretch pants and a crop-top">> - <<if $activeSlave.boobs > 20000>> - $activeSlave.slaveName is wearing a massively oversized custom crop-top designed to handle $his monumental tits. Even so, it's stretched taut just struggling to cover $his nipples, causing acres of breast flesh to spill out from under and above it. - <<elseif $activeSlave.boobs > 10000>> - $activeSlave.slaveName's oversized crop-top struggles to contain even half of $his immense breasts leaving plenty of underboob visible alongside with $his cleavage. Every motion risks a nipple popping free. - <<elseif $activeSlave.boobs > 8000>> - $activeSlave.slaveName's oversized crop-top struggles to contain $his enormous breasts leaving plenty of underboob visible alongside with $his cleavage. - <<elseif $activeSlave.boobs > 4000>> - $activeSlave.slaveName has swapped up to the largest crop-top available. Even so, it barely covers them and creates plenty of cleavage. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's crop-top struggles to contain $his huge breasts leaving plenty of underboob visible alongside with $his cleavage. - <<elseif $activeSlave.boobs > 800>> - $activeSlave.slaveName's crop-top tightly hugs $his big breasts creating plenty of cleavage. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName's crop-top tightly clings to $his flat chest. - <<else>> - $activeSlave.slaveName's crop-top tightly hugs $his breasts. - <</if>> - <<switch $activeSlave.sexualFlaw>> - <<case "neglectful">> - "All For You" - <<case "cum addict">> - "Cum 'ere Sexy" - <<case "anal addict">> - "Reach Around Back" - <<case "attention whore">> - "Will Flash For Attention" - <<case "breast growth">> - "Could Be Bigger" - <<case "abusive">> - "Fondlers May Be Slapped" - <<case "malicious">> - "Careful, I Bite" - <<case "self hating">> - "Rough 'em Up" - <<case "breeder">> - "Drink Deep" - <<default>> - <<if $activeSlave.fetishKnown == 1>> - <<switch $activeSlave.fetish>> - <<case "submissive">> - "Take Me" - <<case "cumslut">> - "Splash Zone" - <<case "humiliation">> - "Flasher" - <<case "buttslut">> - "Reach Around" - <<case "boobs">> - "Your Hands Here" - <<case "sadist">> - "Taste the Pain" - <<case "masochist">> - "Be Rough" - <<case "dom">> - "Queen Bitch" - <<case "pregnancy">> - "Milk Me" - <<case "mindbroken">> - "Free Slut" - <<default>> - <<InscripDesc>> - <</switch>> - <<else>> - <<InscripDesc>> - <</if>> - <</switch>> - is written across $his chest in large, vibrant letters. - <<case "harem gauze">> - $activeSlave.slaveName's harem girl outfit - <<if $activeSlave.boobs > 12000>> - lets $his inhuman breasts rest beneath - <<elseif $activeSlave.boobs > 800>> - lets $his breasts swing free beneath - <<elseif $activeSlave.boobs < 300>> - gently covers $his flat chest with - <<else>> - only covers $his breasts with - <</if>> - a thin film of gauze. - <<case "a slutty nurse outfit">> - $activeSlave.slaveName's jacket - <<if $activeSlave.boobs > 4000>> - closes beneath $his tits, leaving almost everything visible. - <<elseif $activeSlave.boobs > 800>> - pushes $his tits together to form some great cleavage. - <<elseif $activeSlave.boobs < 300>> - tightly hugs $his flat chest, since it has no breasts to form cleavage with. - <<else>> - pushes $his tits together to form as much cleavage as possible. - <</if>> - <<case "a schoolgirl outfit">> - $activeSlave.slaveName's - <<if $activeSlave.boobs > 4000>> - breasts are too big for $his blouse, so $he's tied it under them; they're so huge that it's buried under them. - <<elseif $activeSlave.boobs > 800>> - breasts are too big for $his blouse, so $he's tied it under them and left them totally bare. - <<elseif $activeSlave.boobs < 300>> - blouse tightly hugs $his flat chest. - <<else>> - blouse only barely covers $his breasts. - <</if>> - <<case "a kimono">> - $activeSlave.slaveName's kimono - <<if $activeSlave.boobs > 12000>> - can't cover $his breasts, so $he leaves it hanging loose; allowing them to hang freely. - <<elseif $activeSlave.boobs > 4000>> - barely covers $his breasts. It reveals most of $his chest, just covering the outer edges of $his breasts and their nipples. - <<elseif $activeSlave.boobs > 2000>> - demurely covers $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - demurely rests over $his flat chest. - <<else>> - demurely covers $his breasts. - <</if>> - <<case "battledress">> - <<if $activeSlave.boobs > 12000>> - $activeSlave.slaveName's immense breasts are barely supported by a specially engineered, space-age sports bra. - <<elseif $activeSlave.boobs > 2000>> - $activeSlave.slaveName's huge breasts are supported by a specially engineered, space-age sports bra under $his tank top. - <<elseif $activeSlave.boobs < 300>> - $activeSlave.slaveName is flat as an ironing board; $he wears $his tank top without a bra underneath. - <<else>> - $activeSlave.slaveName's breasts are supported by a sports bra under $his tank top. - <</if>> - <<case "slutty jewelry">> - $activeSlave.slaveName's bangles include a - <<if $activeSlave.boobs > 2000>> - thin chain that runs under $his breasts, disappearing entirely. - <<elseif $activeSlave.boobs > 800>> - thin chain that runs under $his breasts, appearing and disappearing enticingly when $he moves. - <<elseif $activeSlave.boobs < 300>> - thin chain that runs across $his flat chest. - <<else>> - light chain that loops under $his breasts. - <</if>> - <<case "a burqa">> - $activeSlave.slaveName's burqa - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a tube top and thong" "a tube top" "leather pants and a tube top">> - $activeSlave.slaveName's tube top - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "a t-shirt and panties" "sport shorts and a t-shirt" "a t-shirt and jeans">> - $activeSlave.slaveName's shirt - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "an oversized t-shirt and boyshorts" "an oversized t-shirt">> - $activeSlave.slaveName's over-sized shirt - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, the fabric easily stretches to cover $his expansive mounds of flesh. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts, the fabric easily covers $his absurdly-sized breasts. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a thong" "a skimpy loincloth" "boyshorts" "cutoffs" "leather pants" "panties" "jeans" "sport shorts">> - $activeSlave.slaveName's breasts - <<if $activeSlave.boobs > 12000>> - are completely bare. - <<elseif $activeSlave.boobs > 8000>> - are completely bare. - <<elseif $activeSlave.boobs > 4000>> - are completely bare. - <<elseif $activeSlave.boobs < 300>> - are completely bare. - <<else>> - are completely bare. - <</if>> - <<case "a tank-top" "a tank-top and panties">> - $activeSlave.slaveName's tank-top - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a sweater" "a sweater and cutoffs" "a sweater and panties">> - $activeSlave.slaveName's sweater - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "leather pants and pasties" "panties and pasties" "pasties">> - $activeSlave.slaveName's breasts - <<if $activeSlave.boobs > 12000>> - are completely bare, except for the pasties covering $his nipples. - <<elseif $activeSlave.boobs > 8000>> - are completely bare, except for the pasties covering $his nipples. - <<elseif $activeSlave.boobs > 4000>> - are completely bare, except for the pasties covering $his nipples. - <<elseif $activeSlave.boobs < 300>> - are completely bare, except for the pasties covering $his nipples. - <<else>> - are completely bare, except for the pasties covering $his nipples. - <</if>> - <<case "a bra" "a striped bra" "a sports bra" "sport shorts and a sports bra" "striped underwear">> - $activeSlave.slaveName's bra - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a nice pony outfit" "a slutty pony outfit">> - $activeSlave.slaveName's outfit - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a one-piece swimsuit">> - $activeSlave.slaveName's swimsuit - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a gothic lolita dress" "a hanbok">> - $activeSlave.slaveName's blouse - <<if $activeSlave.boobs > 12000>> - entirely conceals $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 8000>> - entirely conceals $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 4000>> - entirely conceals $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - entirely conceals $his flat chest. - <<else>> - entirely conceals $his breasts. - <</if>> - <<case "a hijab and abaya" "a niqab and abaya">> - $activeSlave.slaveName's abaya - <<if $activeSlave.boobs > 12000>> - modestly covers $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 4000>> - modestly covers $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 2000>> - modestly covers $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - modestly rests over $his flat chest. - <<else>> - modestly covers $his breasts. - <</if>> - <<case "a klan robe" "a slutty klan robe">> - $activeSlave.slaveName's robe - <<if $activeSlave.boobs > 12000>> - modestly covers $his breasts, although the fabric struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 4000>> - modestly covers $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 2000>> - modestly covers $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - modestly rests over $his flat chest. - <<else>> - modestly cover $his breasts. - <</if>> - <<case "a hijab and blouse">> - $activeSlave.slaveName's two shirts - <<if $activeSlave.boobs > 12000>> - modestly cover $his breasts, although the fabrics struggle to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 4000>> - modestly cover $his breasts. They have both been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 2000>> - modestly cover $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - modestly cover $his flat chest. - <<else>> - modestly cover $his breasts. - <</if>> - <<case "a burkini">> - $activeSlave.slaveName's burkini - <<if $activeSlave.boobs > 12000>> - modestly covers $his breasts, although it struggles to ensure they are entirely covered. - <<elseif $activeSlave.boobs > 4000>> - modestly covers $his breasts. It has been let out a great deal in order to cover the entirety of $his chest. - <<elseif $activeSlave.boobs > 2000>> - modestly covers $his breasts, though it cannot conceal their absurd size. - <<elseif $activeSlave.boobs < 300>> - modestly covers $his flat chest. - <<else>> - modestly covers $his breasts. - <</if>> - <<case "a Santa dress">> - $activeSlave.slaveName's red holiday dress is designed with a dangerously low neckline, which - <<if $activeSlave.boobs > 12000>> - $his colossal breasts spill out of completely unheeded. - <<elseif $activeSlave.boobs > 4000>> - serves only to prop up $his massive, otherwise naked breasts. - <<elseif $activeSlave.boobs > 2000>> - lies at nipple-level on $his big breasts, leaving a decent portion of $his areolae uncovered. - <<elseif $activeSlave.boobs < 300>> - hangs lowly on $his flat chest, occasionally revealing one of $his nipples. - <<else>> - accentuates $his cleavage, especially since it always appears to be slipping down $his body. - <</if>> - <<default>> - <</switch>> - <</if>> - <<else>> - <<if $activeSlave.boobs < 300>> - $activeSlave.slaveName's flat chest is bare and begging for surgery. - <<else>> - $activeSlave.slaveName's breasts are bare and ready for surgery. - <</if>> - <</if>> -<</if>> - -$His -<<if $activeSlave.boobs < 300>><<print either("androgynous", "flat")>> breasts are practically non-existent. -<<elseif $activeSlave.boobs < 400>><<print either("pointy", "tiny")>> breasts<<if $showBoobCCs == 1>>, <<print $activeSlave.boobs>> CCs each,<</if>> would only fill A-cups. -<<elseif $activeSlave.boobs < 500>><<print either("perky", "small")>> <<print either("boobs", "bosoms", "breasts", "tits")>><<if $showBoobCCs == 1>>, <<print $activeSlave.boobs>> CCs each,<</if>> would fill B-cups. -<<elseif $activeSlave.boobs < 650>><<print either("curved", "healthy")>> <<print either("boobs", "bosoms", "breasts", "tits")>><<if $showBoobCCs == 1>>, <<print $activeSlave.boobs>> CCs each,<</if>> would fill C-cups. -<<elseif $activeSlave.boobs < 800>><<print either("big", "sizable")>> <<print either("boobs", "bosoms", "breasts", "tits")>><<if $showBoobCCs == 1>>, <<print $activeSlave.boobs>> CCs each,<</if>> would fill D-cups. -<<elseif $activeSlave.boobs < 1000>><<print either("big", "large")>> <<print either("boobs", "bosoms", "breasts", "tits")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill DD-cups. -<<elseif $activeSlave.boobs < 1200>><<print either("hefty", "proud")>> <<print either("tits", "breasts", "mammaries", "udders", "boobs")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill F-cups. -<<elseif $activeSlave.boobs < 1400>><<print either("hefty", "huge")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill G-cups. -<<elseif $activeSlave.boobs < 1600>><<print either("huge", "massive")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill H-cups. -<<elseif $activeSlave.boobs < 1800>><<print either("enormous", "massive")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill I-cups. -<<elseif $activeSlave.boobs < 2050>><<print either("enormous", "titanic")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill J-cups. -<<elseif $activeSlave.boobs < 2300>><<print either("stupendous", "titanic")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill K-cups. -<<elseif $activeSlave.boobs < 2600>><<print either("magnificent", "stupendous")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill L-cups. -<<elseif $activeSlave.boobs < 2900>><<print either("impressive", "magnificent")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill M-cups. -<<elseif $activeSlave.boobs < 3250>><<print either("awe-inspiring", "impressive")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill N-cups. -<<elseif $activeSlave.boobs < 3600>><<print either("absurd", "awe-inspiring")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill O-cups. -<<elseif $activeSlave.boobs < 3950>><<print either("attention-grabbing", "disproportionate")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill P-cups. -<<elseif $activeSlave.boobs < 4300>><<print either("massive", "shocking")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill Q-cups. -<<elseif $activeSlave.boobs < 4700>><<print either("jaw-dropping", "striking")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill R-cups. -<<elseif $activeSlave.boobs < 5000+($activeSlave.muscles*10) && $activeSlave.physicalAge <= 3>> - <<if ($activeSlave.amp == 1)>> - <<print either("astounding", "tremendous")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill S-cups and are so large that $he might not be able to walk, if $he still had legs. - <<elseif ($activeSlave.muscles > 5)>> - <<print either("astounding", "tremendous")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill S-cups and are so large that $his <<if $activeSlave.muscles > 95>>shredded<<elseif $activeSlave.muscles > 30>>rippling<<else>>toned<</if>> back muscles get a workout just from supporting them. If they grow any larger, $he may not be able to walk. - <<else>> - <<print either("astounding", "tremendous")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill S-cups and are so large that $he can barely stand. If they grow any larger, $he may not be able to walk. - <</if>> -<<elseif $activeSlave.boobs < 5100>><<print either("astounding", "tremendous")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill S-cups. -<<elseif $activeSlave.boobs < 5500>><<print either("frightening", "unmissable")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill T-cups. -<<elseif $activeSlave.boobs < 6000>><<print either("attention-grabbing", "unmissable")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill U-cups. -<<elseif $activeSlave.boobs < 6500>><<print either("attention-grabbing", "spectacular")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill V-cups. -<<elseif $activeSlave.boobs < 7000>><<print either("obviously engineered", "spectacular")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill W-cups. -<<elseif $activeSlave.boobs < 7500>><<print either("disproportionate", "obviously engineered")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill X-cups. -<<elseif $activeSlave.boobs < 8000>><<print either("disproportionate", "nearly inhuman")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill Y-cups. -<<elseif $activeSlave.boobs < 8500>><<print either("nearly alien", "nearly inhuman")>> <<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> would fill Z-cups. -<<elseif $activeSlave.boobs < 10000+($activeSlave.muscles*20) && $activeSlave.physicalAge <= 12>> - <<if ($activeSlave.amp == 1)>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $he might not be able to walk, if $he still had legs. - <<elseif ($activeSlave.muscles >= 5)>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $his <<if $activeSlave.muscles > 95>>shredded<<elseif $activeSlave.muscles > 30>>rippling<<else>>toned<</if>> back muscles get a workout just from supporting them. If they grow any larger, $he may not be able to walk. - <<else>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $he can barely stand. If they grow any larger, $he may not be able to walk. - <</if>> -<<elseif $activeSlave.boobs < 20000+($activeSlave.muscles*50) && $activeSlave.physicalAge < 18>> - <<if ($activeSlave.amp == 1)>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $he might not be able to walk, if $he still had legs. - <<elseif ($activeSlave.muscles >= 5)>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $his <<if $activeSlave.muscles > 95>>shredded<<elseif $activeSlave.muscles > 30>>rippling<<else>>toned<</if>> back muscles get a workout just from supporting them. If they grow any larger, $he may not be able to walk. - <<else>> - <<print either("boobs", "breasts", "mammaries", "udders")>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion.<<if $showBoobCCs == 1>> At <<print num($activeSlave.boobs)>> CCs each, they<<else>> They<</if>> are so large that $he can barely stand. If they grow any larger, $he may not be able to walk. - <</if>> -<<elseif $activeSlave.boobs < 20000>><<print either("breasts", "mammaries", "tits", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> have <<if $activeSlave.boobsImplant>>been altered<<else>>grown<</if>> past any pretense of proportion. -<<elseif $activeSlave.boobs < 30000+($activeSlave.muscles*100) && $activeSlave.physicalAge >= 18>> - <<if $activeSlave.amp == 1>> - <<print either("boobs", "breasts", "mammaries", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> are so large that $he might not be able to walk, if $he still had legs. - <<elseif ($activeSlave.muscles > 5)>> - <<print either("boobs", "breasts", "mammaries", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> are so large that $his <<if $activeSlave.muscles > 95>>shredded<<elseif $activeSlave.muscles > 30>>rippling<<else>>toned<</if>> back muscles get a workout just from supporting them. If they grow any larger, $he may not be able to walk. - <<else>> - <<print either("boobs", "breasts", "mammaries", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> are so large that $he can barely stand. If they grow any larger, $he may not be able to walk. - <</if>> -<<else>> - <<if $activeSlave.amp == 1>> - <<print either("tits", "boobs", "mammaries")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> are so immense it is safer to leave $him resting atop them. $His udders each weigh more than twice the rest of $his body, since $his body consists of nothing but $his head, torso, and breasts. - <<else>> - <<print either("tits", "boobs", "mammaries", "udders")>><<if $showBoobCCs == 1>>, <<print num($activeSlave.boobs)>> CCs each,<</if>> are so gargantuan that they effectively immobilize $him. $He's most comfortable lying down. - <</if>> -<</if>> - + <<print App.Desc.boobs($activeSlave)>> <</widget>> <<widget "boobsExtraDescription">> - -<<if $arcologies[0].FSGenderFundamentalistLawBeauty + $arcologies[0].FSGenderRadicalistLawBeauty > 0>> - <<if $activeSlave.boobs > 12000>> - They're so large that the fashionable feminine ideal is a bad joke here. - <<elseif $activeSlave.boobs > 1600 && $arcologies[0].FSAssetExpansionist != "unset">> - They're too big for the fashionable feminine ideal. - <<elseif $activeSlave.boobs > 800 && $arcologies[0].FSAssetExpansionist != "unset">> - They're bigger than expected for the fashionable feminine ideal, but given the average bust size in your arcology, it's not a surprise. - <<elseif $activeSlave.boobs > 800>> - They're too big for the fashionable feminine ideal. - <<elseif $activeSlave.boobs < 500>> - They're too small for the fashionable feminine ideal. - <</if>> -<<elseif $arcologies[0].FSSlimnessEnthusiastLaw == 1>> - <<if ($activeSlave.boobs >= 300)>> - They're way too existent for the fashionable feminine ideal. - <</if>> -<<elseif $arcologies[0].FSHedonisticDecadenceLaw2 == 1>> - <<if ($activeSlave.boobs < 2000)>> - They're too small for the fashionable feminine ideal. - <</if>> -<</if>> - -<<if $activeSlave.physicalAge >= 18>> - <<if $activeSlave.boobs > 20000>> - <<if $activeSlave.fuckdoll > 0>> - The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since $he's almost always restrained, stationary, or both. - <<else>> - <<if canWalk($activeSlave)>> - $His breasts are so massive that it is difficult for $him to move. - <<if $activeSlave.muscles > 95>> - However, $he is so powerfully built that $he can manage it with effort, using $his arms to support them. - <<elseif $activeSlave.muscles > 30>> - $He can barely manage to get to $his feet unaided, and usually walks with $his arms crossed under $his tits to help take their weight. - <<elseif $activeSlave.muscles > 5>> - $He requires assistance to get to $his feet, and uses a stand to support them when $he must remain upright for more than a short time. - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1) && ($activeSlave.boobs > 12000)>> - The straps that secure $him to the milking machine have become less necessary since $his breasts grew to the point where they pin $him to it. - <<else>> - $He cannot get to $his feet unaided, and uses a wheeled stand to support $his boobs when $he must walk or remain upright. - <</if>> - <<elseif $activeSlave.boobs >= 40000>> - They each are easily as big as $him, making $him mostly boob. - <<else>> - Together they are nearly the same size as $his torso, making $him about half boob. - <</if>> - <<if ($activeSlave.assignment != "work in the dairy") || ($dairyRestraintsSetting < 2)>> - <<if $boobAccessibility == 1>> - Fortunately for $him, the penthouse is adapted for daily life with a bosom - <<else>> - $He has trouble living in your penthouse, which is not designed for <<= $girl>>s with chests - <</if>> - wider than a standard doorway. - <</if>> - <</if>> - <</if>> -<<elseif $activeSlave.physicalAge <= 3>> - <<if $activeSlave.boobs > 4000>> - <<if $activeSlave.fuckdoll > 0>> - The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since $he's almost always restrained, stationary, or both. - <<else>> - <<if canWalk($activeSlave)>> - $His breasts are so massive that it is difficult for $him to move. - <<if $activeSlave.muscles > 95>> - However, $he is so powerfully built that $he can manage it with effort, using $his arms to support them. - <<elseif $activeSlave.muscles > 30>> - $He can barely manage to get to $his feet unaided, and usually walks with $his arms crossed under $his tits to help take their weight. - <<elseif $activeSlave.muscles > 5>> - $He requires assistance to get to $his feet, and uses a stand to support them when $he must remain upright for more than a short time. - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1) && ($activeSlave.boobs > 5100+($activeSlave.muscles*100))>> - The straps that secure $him to the milking machine have become less necessary since $his breasts grew to the point where they pin $him to it. - <<else>> - $He cannot get to $his feet unaided, and uses a wheeled stand to support $his boobs when $he must walk or remain upright. - <</if>> - <<elseif $activeSlave.boobs >= 40000>> - They each dwarf $him, making $him mostly boob. - <<else>> - Together they are nearly the same size as $his torso, making $him about half boob. - <</if>> - <<if $activeSlave.boobs > 20000 && ($activeSlave.assignment != "work in the dairy") || ($dairyRestraintsSetting < 2)>> - <<if $boobAccessibility == 1>> - Fortunately for $him, the penthouse is adapted for daily life with a bosom - <<else>> - $He has trouble living in your penthouse, which is not designed for <<= $girl>>s with chests - <</if>> - wider than a standard doorway. - <</if>> - <</if>> - <</if>> -<<elseif $activeSlave.physicalAge <= 12>> - <<if $activeSlave.boobs > 8000>> - <<if $activeSlave.fuckdoll > 0>> - The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since $he's almost always restrained, stationary, or both. - <<else>> - <<if canWalk($activeSlave)>> - $His breasts are so massive that it is difficult for $him to move. - <<if $activeSlave.muscles > 95>> - However, $he is so powerfully built that $he can manage it with effort, using $his arms to support them. - <<elseif $activeSlave.muscles > 30>> - $He can barely manage to get to $his feet unaided, and usually walks with $his arms crossed under $his tits to help take their weight. - <<elseif $activeSlave.muscles > 5>> - $He requires assistance to get to $his feet, and uses a stand to support them when $he must remain upright for more than a short time. - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1) && ($activeSlave.boobs > 7000+($activeSlave.muscles*200))>> - The straps that secure $him to the milking machine have become less necessary since $his breasts grew to the point where they pin $him to it. - <<else>> - $He cannot get to $his feet unaided, and uses a wheeled stand to support $his boobs when $he must walk or remain upright. - <</if>> - <<elseif $activeSlave.boobs >= 20000>> - Together they are nearly the same size as $his torso, making $him about half boob. - <</if>> - <<if $activeSlave.boobs > 20000 && ($activeSlave.assignment != "work in the dairy") || ($dairyRestraintsSetting < 2)>> - <<if $boobAccessibility == 1>> - Fortunately for $him, the penthouse is adapted for daily life with a bosom - <<else>> - $He has trouble living in your penthouse, which is not designed for <<= $girl>>s with chests - <</if>> - wider than a standard doorway. - <</if>> - <</if>> - <</if>> -<<elseif $activeSlave.physicalAge < 18>> - <<if $activeSlave.boobs > 15000>> - <<if $activeSlave.fuckdoll > 0>> - The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since $he's almost always restrained, stationary, or both. - <<else>> - <<if canWalk($activeSlave)>> - $His breasts are so massive that it is difficult for $him to move. - <<if $activeSlave.muscles > 95>> - However, $he is so powerfully built that $he can manage it with effort, using $his arms to support them. - <<elseif $activeSlave.muscles > 30>> - $He can barely manage to get to $his feet unaided, and usually walks with $his arms crossed under $his tits to help take their weight. - <<elseif $activeSlave.muscles > 5>> - $He requires assistance to get to $his feet, and uses a stand to support them when $he must remain upright for more than a short time. - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1) && ($activeSlave.boobs > 9000+($activeSlave.muscles*500))>> - The straps that secure $him to the milking machine have become less necessary since $his breasts grew to the point where they pin $him to it. - <<else>> - $He cannot get to $his feet unaided, and uses a wheeled stand to support $his boobs when $he must walk or remain upright. - <</if>> - <<elseif $activeSlave.boobs >= 40000>> - Together they are nearly the same size as $his torso, making $him about half boob. - <</if>> - <<if $activeSlave.boobs > 20000 && ($activeSlave.assignment != "work in the dairy") || ($dairyRestraintsSetting < 2)>> - <<if $boobAccessibility == 1>> - Fortunately for $him, the penthouse is adapted for daily life with a bosom - <<else>> - $He has trouble living in your penthouse, which is not designed for <<= $girl>>s with chests - <</if>> - wider than a standard doorway. - <</if>> - <</if>> - <</if>> -<</if>> - -<<if $activeSlave.fuckdoll == 0>> - <<if $activeSlave.markings == "heavily freckled">> - <<if $activeSlave.boobs > 2000>> - They're covered in freckles, though $his tits are so big that the freckles are spaced widely across the breadth of each boob. - <<elseif $activeSlave.boobs > 250>> - They're covered in freckles, which are particularly dense in the cleft between them. - <<else>> - $His chest is covered in dense freckles. - <</if>> - <<elseif $activeSlave.markings == "freckles">> - <<if $activeSlave.boobs > 250>> - The tops of $his breasts and $his cleavage are lightly freckled. - <<else>> - $His chest is covered in a light spray of freckles. - <</if>> - <</if>> -<</if>> - + <<print App.Desc.boobsExtra($activeSlave)>> <</widget>> <<widget "boobBrandDescription">> - -<<if $showBodyMods == 1>> - <<if $activeSlave.fuckdoll == 0>> - <<if ($activeSlave.brand != 0) && ["breasts", "left breast", "right breast"].includes($activeSlave.brandLocation)>> - <<= App.Desc.brand($activeSlave)>> - <</if>> - <</if>> -<</if>> - + <<print App.Desc.boobsBrand($activeSlave)>> <</widget>> <<widget "nipplesDescription">> - -<<set _nipColor = nippleColor($activeSlave)>> - -<<if $activeSlave.fuckdoll > 0>> - <<if $activeSlave.lactation > 0>> - $His $activeSlave.nipples, _nipColor, milky nipples protrude through holes in the suit, to allow drinking. - <<else>> - $His nipples are completely obscured. - <</if>> -<<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>> - $His - <<switch $activeSlave.nipples>> - <<case "tiny">> - tiny _nipColor nipples are too small for the milkers, and the suction is drawing a lot of boob in with them. - <<case "puffy">> - puffy _nipColor nipples form a good seal against the milkers' suction. - <<case "partially inverted">> - _nipColor, partially inverted nipples are causing $him some discomfort as the milkers haul against them. - <<case "inverted">> - _nipColor, inverted nipples are being kept painfully protruded by the milkers' powerful suction. - <<case "huge">> - huge _nipColor nipples fill the milkers completely. - <<case "fuckable">> - fuckable _nipColor nipples leave nothing for the milkers, and the suction is drawing a lot of boob in with them. - <<default>> - _nipColor nipples are being tugged at by the milkers' powerful suction. - <</switch>> -<<else>> - $His _nipColor nipples are - <<if ($activeSlave.aphrodisiacs > 0) || ($activeSlave.energy > 95) || $activeSlave.inflationType == "aphrodisiac">> - <<switch $activeSlave.nipples>> - <<case "tiny">> - stiff little nubs. - <<case "puffy">> - puffy and erect, the stiff flesh around each swelling outward to a pointy promontory. - <<case "partially inverted" "inverted">> - stiffly erect. They'd be inverted if $he weren't so aroused, but $he's so horny they stay popped out. - <<case "huge">> - <<if ($activeSlave.boobs-$activeSlave.boobsImplant > 7500)>> - in proportion with $his breasts: they're stiffly erect and - <<if ($activeSlave.dick > 0) && ($activeSlave.dick < 3)>> - bigger than $his girlcock. - <<elseif ($activeSlave.height < 160) && ($activeSlave.amp != 1)>> - almost as large as $his little fists. - <<else>> - large enough to be jerked off. - <</if>> - <<else>> - enormously erect. - <</if>> - <<case "fuckable">> - swollen shut<<if $activeSlave.lactation > 0>> and leaking milk<</if>>. - <<default>> - stiffly erect. - <</switch>> - <<else>> - <<switch $activeSlave.nipples>> - <<case "tiny">> - tiny little nubs. - <<case "puffy">> - puffy, the soft flesh around each swelling outward to a promontory. - <<case "partially inverted">> - <<if $activeSlave.nipplesPiercing != 0>> - partially inverted, or would be if they weren't pierced. The metal is holding them protruded, causing some discomfort. - <<else>> - partially inverted: when soft, they rest flush with the front of the breast. - <</if>> - <<case "inverted">> - <<if $activeSlave.nipplesPiercing != 0>> - inverted, or would be if they weren't pierced. The metal is holding them protruded, to the slave's considerable discomfort. - <<else>> - inverted: they are completely swallowed by the surrounding breastflesh. - <</if>> - <<case "huge">> - <<if ($activeSlave.boobs-$activeSlave.boobsImplant > 7500)>> - in proportion with $his breasts: they've grown - <<if ($activeSlave.dick > 0) && ($activeSlave.dick < 3)>> - bigger than $his little girlcock. - <<elseif ($activeSlave.height < 160) && ($activeSlave.amp != 1)>> - almost as large as $his little fists. - <<else>> - large enough to be jerked off. - <</if>> - <<else>> - the size of the last joint of $his thumbs when erect. - <</if>> - <<case "fuckable">> - completely inverted; they extend deep enough into $his breasts to be safely penetrated. - <<default>> - pretty normal. - <</switch>> - <</if>> -<</if>> - -<<if $activeSlave.fuckdoll == 0>> - <<if ($showClothing == 1) && ($saleDescription == 0)>> - <<switch $activeSlave.clothes>> - <<case "a monokini")>> - Since $he is topless, they're plainly visible. - <<default>> - <<if !["fuckable", "inverted", "partially inverted", "tiny"].includes($activeSlave.nipples)>> - <<switch $activeSlave.clothes>> - <<case "cutoffs and a t-shirt")>> - Since $he isn't wearing a bra, they tent the front of $his t-shirt. - <<case "clubslut netting")>> - They tent the front of $his netting. - <<case "stretch pants and a crop-top")>> - Since $he isn't wearing a bra, they tent the front of $his crop-top. - <</switch>> - <</if>> - <</switch>> - <</if>> -<</if>> - -<<if $activeSlave.lactation > 0>> - <<if ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>> - The transparent lines coming off the cups attached to each of $his nipples are white with a constant stream of milk. - <<elseif $activeSlave.lactation == 1>> - <<if $activeSlave.boobsMilk > 0>> - $His breasts are painfully engorged with milk. - <<else>> - $His motherly breasts are full of milk. - <</if>> - <<elseif $activeSlave.fuckdoll > 0>> - $His overworked, overfull breasts press its nipples through the holes mercilessly. - <<else>> - <<if $activeSlave.nipples == "fuckable">> - $His fuckable nipples prevent $him from releasing milk spontaneously. The lactation drugs are so powerful that if $he hasn't been milked in the past hour or so, the built-up pressure leaves $him <<if !canTalk($activeSlave)>>weeping<<else>>whining<</if>> piteously; makes for an interesting nipple fuck, however. - <<elseif $activeSlave.nipples == "inverted">> - $His inverted nipples prevent $him from releasing milk spontaneously. The lactation drugs are so powerful that if $he hasn't been milked in the past hour or so, the built-up pressure leaves $him <<if !canTalk($activeSlave)>>weeping<<else>>whining<</if>> piteously. - <<elseif $activeSlave.energy > 95>> - The powerful lactation drugs keep $his breasts so full of milk that when $he orgasms <<if $activeSlave.balls > 0>>$he releases three jets of white fluid: a stream of milk from each nipple and a squirt of cum from $his dickhead<<else>>$he cums milk out of $his nipples<</if>>. - <<else>> - The lactation drugs are so powerful that if $he hasn't been milked in the past hour or so, $he leaves a mess wherever $he goes. - <</if>> - <</if>> - <<if $activeSlave.lactationAdaptation > 10>> - <<if $activeSlave.lactationAdaptation > 50>> - $He's given so much milk that $his body is now well-adapted to copious production. - <<else>> - $His body has become used to milk production. - <</if>> - <</if>> -<</if>> - + <<print App.Desc.nipples($activeSlave)>> <</widget>> <<widget "areolaeDescription">> - -<<set _nipColor = nippleColor($activeSlave)>> -<<if $activeSlave.fuckdoll == 0>> - <<if $showBodyMods == 1>> - <<if $activeSlave.areolaePiercing == 0>> - <<switch $activeSlave.areolae>> - <<case 1>> - $His areolae form large, lovely circles of _nipColor skin around each nipple. - <<case 2>> - $His areolae are unusually wide, eye-catching circles of _nipColor skin around each nipple. - <<case 3>> - $His _nipColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. - <<case 4>> - $His _nipColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. - <<default>> - $His $activeSlave.nipples nipples are surrounded by a minimal _nipColor areolae. - <</switch>> - <<if $activeSlave.areolaeShape == "heart">> - $His _nipColor areolae are heart-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>> - <<elseif $activeSlave.areolaeShape == "star">> - $His _nipColor areolae are star-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>> - <<elseif $activeSlave.areolaeShape != "circle">> - $His _nipColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>> - <</if>> - <<else>> - <<areolaePiercingDescription>> - <</if>> - <</if>> - <<if ($showClothing == 1) && ($saleDescription == 0)>> - <<if $activeSlave.areolae > 1>> - <<switch $activeSlave.clothes>> - <<case "a string bikini">> - $His string bikini covers only $his nipples, with the rest of $his areolae lewdly visible around them. - <<case "slutty business attire">> - The upper half of each of them is visible above the top of $his blouse. - <<case "a cheerleader outfit" "a bunny outfit">> - The upper half of each of them is visible. - <<case "a leotard">> - The material of $his leotard is so thin and tight that not only are $his nipples obvious, the outline of $his areolae can be made out, too. - <<case "a monokini">> - As $his monokini leaves $him topless, $his areolae are naturally on public display. - <</switch>> - <</if>> - <</if>> -<</if>> - + <<print App.Desc.areola($activeSlave)>> <</widget>> diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw index 069acfea657..fb8a5fc00ed 100644 --- a/src/utility/descriptionWidgetsPiercings.tw +++ b/src/utility/descriptionWidgetsPiercings.tw @@ -212,35 +212,7 @@ <</widget>> <<widget "areolaePiercingDescription">> - <<set _nippleColor = nippleColor($activeSlave)>> - <<if $activeSlave.fuckdoll == 0>> - <<if $activeSlave.areolaePiercing > 0>> - <<switch $activeSlave.areolae>> - <<case 1>> - $His areolae form large, lovely circles of _nippleColor skin around each nipple. - $He has stud piercings around their borders, enhancing the contrast. - <<case 2>> - $His areolae are unusually wide, eye-catching circles of _nippleColor skin around each nipple. - $He has stud piercings around their borders, enhancing the contrast. - <<case 3>> - $His _nippleColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. - $He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast. - <<case 4>> - $His _nippleColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. - $He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast. - <<default>> - $He has stud piercings in circles around the edges of $his minimal _nippleColor areolae. - $His $activeSlave.nipples nipples are surrounded by a minimal _nippleColor areolae. - <</switch>> - <<if $activeSlave.areolaeShape == "heart">> - $His _nippleColor areolae are heart-shaped, an obvious surgical alteration. Their borders are defined by stud piercings with pink stones.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>> - <<elseif $activeSlave.areolaeShape == "star">> - $His _nippleColor areolae are star-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>> - <<elseif $activeSlave.areolaeShape != "circle">> - $His _nippleColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>> - <</if>> - <</if>> - <</if>> + <<print App.Desc.areolaePiercing($activeSlave)>> <</widget>> <<widget "navelPiercingDescription">> -- GitLab