diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js index 06409c6b00e8aa1ba767a23321910a99a7553a04..cc2d23fa363cafdcbc5e8e3fce5049ce1959af43 100644 --- a/src/js/descriptionWidgets.js +++ b/src/js/descriptionWidgets.js @@ -3536,6 +3536,10 @@ App.Desc.brand = function (slave) { return r; } +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} The slave's boobs + */ App.Desc.boobs = function (slave) { "use strict"; let r = ``; @@ -5140,9 +5144,24 @@ App.Desc.boobs = function (slave) { return r; } +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} The shape of the slave's boobs + */ App.Desc.boobsShape = function(slave) { "use strict"; let r = ``; + /* eslint-disable */ + let pronouns = getPronouns(slave); + let he = pronouns.pronoun; + let him = pronouns.object; + let his = pronouns.possessive; + let hers = pronouns.possessivePronoun; + let himself = pronouns.objectReflexive; + let boy = pronouns.noun; + let He = capFirstChar(he); + let His = capFirstChar(his); + /* eslint-enable */ if (V.showImplantEffects) { if (slave.fuckdoll > 0) { @@ -5363,6 +5382,197 @@ App.Desc.boobsShape = function(slave) { return r; } +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} Extra description of the slave's boobs + */ +App.Desc.boobsExtra = function(slave) { + "use strict"; + let r = ``; + /* eslint-disable */ + let pronouns = getPronouns(slave); + let he = pronouns.pronoun; + let him = pronouns.object; + let his = pronouns.possessive; + let hers = pronouns.possessivePronoun; + let himself = pronouns.objectReflexive; + let boy = pronouns.noun; + let He = capFirstChar(he); + let His = capFirstChar(his); + /* eslint-enable */ + + if ($arcologies[0].FSGenderFundamentalistLawBeauty + $arcologies[0].FSGenderRadicalistLawBeauty > 0) { + if (slave.boobs > 12000) { + r += `They're so large that the fashionable feminine ideal is a bad joke here.`; + } else if (slave.boobs > 1600 && $arcologies[0].FSAssetExpansionist !== "unset") { + r += `They're too big for the fashionable feminine ideal.`; + } else if (slave.boobs > 800 && $arcologies[0].FSAssetExpansionist !== "unset") { + r += `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 += `They're too big for the fashionable feminine ideal.`; + } else if (slave.boobs < 500) { + r += `They're too small for the fashionable feminine ideal.`; + } + } else if ($arcologies[0].FSSlimnessEnthusiastLaw === 1) { + if ((slave.boobs >= 300)) { + r += `They're way too existent for the fashionable feminine ideal.`; + } + } else if ($arcologies[0].FSHedonisticDecadenceLaw2 === 1) { + if ((slave.boobs < 2000)) { + r += `They're too small for the fashionable feminine ideal.`; + } + } + + if (slave.physicalAge >= 18) { + if (slave.boobs > 20000) { + if (slave.fuckdoll > 0) { + r += `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)) { + r += `${His} breasts are so massive that it is difficult for ${him} to move.`; + if (slave.muscles > 95) { + r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`; + } else if (slave.muscles > 30) { + r += `${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) { + r += `${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 === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 12000)) { + r += `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 { + r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`; + } + } else if (slave.boobs >= 40000) { + r += `They each are easily as big as ${him}, making ${him} mostly boob.`; + } else { + r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`; + } + if ((slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) { + if ($boobAccessibility === 1) { + r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`; + } else { + r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`; + } + r += `wider than a standard doorway.`; + } + } + } + } else if (slave.physicalAge <= 3) { + if (slave.boobs > 4000) { + if (slave.fuckdoll > 0) { + r += `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)) { + r += `${His} breasts are so massive that it is difficult for ${him} to move.`; + if (slave.muscles > 95) { + r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`; + } else if (slave.muscles > 30) { + r += `${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) { + r += `${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 === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 510 + slave.muscles*100)) { + r += `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 { + r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`; + } + } else if (slave.boobs >= 40000) { + r += `They each dwarf ${him}, making ${him} mostly boob.`; + } else { + r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`; + } + if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) { + if ($boobAccessibility === 1) { + r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`; + } else { + r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`; + } + r += `wider than a standard doorway.`; + } + } + } + } else if (slave.physicalAge <= 12) { + if (slave.boobs > 8000) { + if (slave.fuckdoll > 0) { + r += `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)) { + r += `${His} breasts are so massive that it is difficult for ${him} to move.`; + if (slave.muscles > 95) { + r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`; + } else if (slave.muscles > 30) { + r += `${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) { + r += `${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 === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 700 + slave.muscles*200)) { + r += `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 { + r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`; + } + } else if (slave.boobs >= 20000) { + r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`; + } + if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) { + if ($boobAccessibility === 1) { + r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`; + } else { + r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`; + } + r += `wider than a standard doorway.`; + } + } + } + } else if (slave.physicalAge < 18) { + if (slave.boobs > 15000) { + if (slave.fuckdoll > 0) { + r += `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)) { + r += `${His} breasts are so massive that it is difficult for ${him} to move.`; + if (slave.muscles > 95) { + r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`; + } else if (slave.muscles > 30) { + r += `${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) { + r += `${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 === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 900 + slave.muscles*500)) { + r += `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 { + r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`; + } + } else if (slave.boobs >= 40000) { + r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`; + } + if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) { + if ($boobAccessibility === 1) { + r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`; + } else { + r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`; + } + r += `wider than a standard doorway.`; + } + } + } + } + + if (!slave.fuckdoll) { + if (slave.markings === "heavily freckled") { + if (slave.boobs > 2000) { + r += `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 += `They're covered in freckles, which are particularly dense in the cleft between them.`; + } else { + r += `${His} chest is covered in dense freckles.`; + } + } else if (slave.markings === "freckles") { + if (slave.boobs > 250) { + r += `The tops of ${his} breasts and ${his} cleavage are lightly freckled.`; + } else { + r += `${His} chest is covered in a light spray of freckles.`; + } + } + } + return r; +} + /** * @param {App.Entity.SlaveState} slave * @returns {string} Description of slave's amputation, if present @@ -6660,7 +6870,7 @@ App.Desc.ClothingDesc = function (slave) { } /** - * @param {App.Entity.SlaveSate} slave + * @param {App.Entity.SlaveState} slave * @returns {string} The slave's horn, if present */ App.Desc.horn = function (slave) {