Forked from
pregmodfan / fc-pregmod
30032 commits behind the upstream repository.
-
lowercasedonkey authored
fix
lowercasedonkey authoredfix
descriptionWidgets.js 26.75 KiB
/**
* @param {App.Entity.SlaveState} slave
* @returns {string} Slave's eyes
*/
App.Desc.eyes = function(slave) {
"use strict";
const V = State.variables;
let r = ``;
/* eslint-disable no-unused-vars*/
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 (slave.eyes <= -2) {
const HC = hasVisibleHeterochromia(slave) ? 1 : 0;
if (slave.eyes === -2) {
r += `${His} eyes are dull`;
if (V.saleDescription && V.PC.medicine >= 50 || V.PC.slaving >= 50) {
r += `, unfocused`;
if (HC) {
r += `, heterochromatic,`;
}
r += ` and clearly nonfunctional`;
} else {
if (HC) {
r += `, heterochromatic,`;
}
r += ` and unfocused`;
}
} else if (slave.eyes === -3) {
r += `${He} has ${slave.eyeColor} colored glass eyes`;
} else {
r += `${His} gaze is empty`;
}
r += `, `;
if (slave.intelligence > 95) {
r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; `;
if (slave.intelligence + slave.intelligenceImplant >= 130) {
r += `with ${his} education, ${he} is so far <span class="deepskyblue">beyond brilliant</span> that ${he} is nearly peerless. `;
} else if (slave.intelligenceImplant >= 15) {
r += `${he} is both <span class="deepskyblue">brilliant</span> and `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `${he} is so <span class="deepskyblue">brilliant</span> that ${his} `;
if (slave.intelligenceImplant > 0) {
r += `meager`;
} else {
r += `lack of`;
}
r += ` education is unimportant. `;
}
} else if (slave.intelligence > 50) {
if (slave.intelligence + slave.intelligenceImplant > 95) {
r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class="deepskyblue">brilliant.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `but ${his} face is alive with intelligence; ${he} is both <span class="deepskyblue">highly intelligent</span> and `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `but ${his} face is alive with intelligence; ${he} is so <span class="deepskyblue">highly intelligent</span> that ${his} `;
if (slave.intelligenceImplant > 0) {
r += `meager`;
} else {
r += `lack of`;
}
r += ` education is unimportant. `;
}
} else if (slave.intelligence > 15) {
if (slave.intelligence + slave.intelligenceImplant > 50) {
r += `but ${his} face is alive with intelligence; with ${his} education, ${he} can be considered <span class="deepskyblue">highly intelligent.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class="deepskyblue">above average intelligence</span> and`;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class="deepskyblue">above average intelligence</span> despite being undereducated. `;
}
} else if (slave.intelligence >= -15) {
if (slave.intelligence + slave.intelligenceImplant > 15) {
r += `but ${his} facial expressions reveal ${his} cleverness; with ${his} education, ${he} can be considered of <span class="deepskyblue">above average intelligence.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `but ${his} facial expressions reveal ${his} alertness; ${he} is of average intelligence due to being `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `but ${his} facial expressions reveal ${his} alertness; ${he} is of average intelligence and is undereducated. `;
}
} else if (slave.intelligence >= -50) {
if (slave.intelligence + slave.intelligenceImplant >= -15) {
r += `but ${his} facial expressions reveal ${his} alertness; with ${his} education, ${he} can be considered of average intelligence. `;
} else if (slave.intelligenceImplant >= 15) {
r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class="orangered">below average intelligence</span> despite having been `;
if (slave.intelligenceImplant >= 30) {
r += `thoroughly `;
}
r += `educated. `;
} else {
r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class="orangered">below average intelligence</span> and is poorly educated. `;
}
} else if (slave.intelligence >= -95) {
if (slave.intelligence + slave.intelligenceImplant >= -50) {
r += `but ${his} facial expressions reveal ${he} is rather dim; even with ${his} education, ${he} can only be considered of <span class="orangered">below average intelligence.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class="orangered">quite stupid</span> despite having `;
if (slave.intelligenceImplant >= 30) {
r += `an advanced`;
} else {
r += `some`;
}
r += ` education. `;
} else {
r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class="orangered">quite stupid</span> and ignorant. `;
}
} else {
r += `though you doubt it would be much different if (V.{he}) could see; `;
if (slave.intelligence + slave.intelligenceImplant >= -95) {
r += `even with ${his} education, ${he} is still <span class="orangered">really stupid.</span>`;
} else if (slave.intelligenceImplant > 0) {
r += `${he} is <span class="orangered">a moron,</span> yet somehow still remembers the basics of an education. `;
} else {
r += `${he} is <span class="orangered">a moron,</span> and ignorant to boot. `;
}
}
} else {
if (slave.intelligence > 95) {
r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; `;
if (slave.intelligence + slave.intelligenceImplant >= 130) {
r += `with ${his} education, ${he} is so far <span class="deepskyblue">beyond brilliant</span> that ${he} is nearly peerless. `;
} else if (slave.intelligenceImplant >= 15) {
r += `${he} is both <span class="deepskyblue">brilliant</span> and `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `${he} is so <span class="deepskyblue">brilliant</span> that ${his} `;
if (slave.intelligenceImplant > 0) {
r += `meager`;
} else {
r += `lack of`;
}
r += ` education is unimportant. `;
}
} else if (slave.intelligence > 50) {
if (slave.intelligence + slave.intelligenceImplant > 95) {
r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class="deepskyblue">brilliant.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is both <span class="deepskyblue">highly intelligent</span> and `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is so <span class="deepskyblue">highly intelligent</span> that ${his} `;
if (slave.intelligenceImplant > 0) {
r += `meager`;
} else {
r += `lack of`;
}
r += ` education is unimportant. `;
}
} else if (slave.intelligence > 15) {
r += `${His} ${slave.eyeColor} eyes are `;
if (slave.intelligence + slave.intelligenceImplant > 50) {
r += `alive with intelligence; with ${his} education, ${he} can be considered <span class="deepskyblue">highly intelligent.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `clever; ${he} is of <span class="deepskyblue">above average intelligence</span> and `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `clever; ${he} is of <span class="deepskyblue">above average intelligence</span> despite being undereducated. `;
}
} else if (slave.intelligence >= -15) {
r += `${His} ${slave.eyeColor} eyes are `;
if (slave.intelligence + slave.intelligenceImplant > 15) {
r += `clever; with ${his} education, ${he} can be considered of <span class="deepskyblue">above average intelligence.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `alert; ${he} is of average intelligence due to being `;
if (slave.intelligenceImplant >= 30) {
r += `well `;
}
r += `educated. `;
} else {
r += `alert; ${he} is of average intelligence and is undereducated. `;
}
} else if (slave.intelligence >= -50) {
r += `${His} ${slave.eyeColor} eyes are `;
if (slave.intelligence + slave.intelligenceImplant >= -15) {
r += `alert; with ${his} education, ${he} can be considered of average intelligence. `;
} else if (slave.intelligenceImplant >= 15) {
r += `dim; ${he} is of <span class="orangered">below average intelligence</span> despite having been `;
if (slave.intelligenceImplant >= 30) {
r += `thoroughly `;
}
r += `educated. `;
} else {
r += `dim; ${he} is of <span class="orangered">below average intelligence</span> and is poorly educated. `;
}
} else if (slave.intelligence >= -95) {
r += `${His} ${slave.eyeColor} eyes are `;
if (slave.intelligence + slave.intelligenceImplant >= -50) {
r += `dim; even with ${his} education, ${he} can only be considered of <span class="orangered">below average intelligence.</span>`;
} else if (slave.intelligenceImplant >= 15) {
r += `dull; ${he} is <span class="orangered">quite stupid</span> despite having `;
if (slave.intelligenceImplant >= 30) {
r += `an advanced`;
} else {
r += `some`;
}
r += ` education. `;
} else {
r += `dull; ${he} is <span class="orangered">quite stupid</span> and ignorant. `;
}
} else {
r += `${His} ${slave.eyeColor}-eyed gaze betrays near-total insensibility; `;
if (slave.intelligence + slave.intelligenceImplant >= -95) {
r += `even with ${his} education, ${he} is still <span class="orangered">really stupid.</span>`;
} else if (slave.intelligenceImplant > 0) {
r += `${he} is <span class="orangered">a moron,</span> yet somehow still remembers the basics of an education. `;
} else {
r += `${he} is <span class="orangered">a moron,</span> and ignorant to boot. `;
}
}
}
return r;
};
/**
* @param {App.Entity.SlaveState} slave
* @returns {string} Slave's eye color
*/
App.Desc.eyeColor = function(slave) {
"use strict";
let r;
if (slave.eyes === -4) {
r = "empty";
} else if (hasVisibleHeterochromia(slave)) {
r = `heterochromatic ${slave.eyeColor} and ${slave.geneticQuirks.heterochromia}`;
} else {
r = `${slave.eyeColor}`;
}
return r;
};
/**
* @param {App.Entity.SlaveState} slave
* @returns {string} Slave's age and health
*/
App.Desc.ageAndHealth = function(slave) {
"use strict";
const V = State.variables;
let r = ``;
let woman;
/* eslint-disable no-unused-vars*/
let pronouns = getPronouns(slave);
let he = pronouns.he;
let him = pronouns.him;
let his = pronouns.his;
let hers = pronouns.hers;
let himself = pronouns.himself;
let boy = pronouns.boy;
let He = pronouns.He;
let His = pronouns.His;
let girl = pronouns.girl;
/* eslint-enable */
let age;
let birthday = "";
if (V.seeAge !== 0) {
if (slave.birthWeek === 51) {
birthday = `; ${his} birthday is next week`;
} else {
birthday = `; ${his} birthday is in ${52-slave.birthWeek} weeks`;
}
}
woman = (boy === "girl" ? "woman" : "man");
if (!slave.fuckdoll) {
if (slave.health < -90) {
r += `${He} is nearly unresponsive. ${He}'s obviously <span class="red">dangerously sick,</span>`;
} else if (slave.health < -50) {
r += `${He} seems <span class="red">very sick,</span>`;
} else if (slave.health < -20) {
r += `${He} seems <span class="red">ill,</span>`;
} else if (slave.health <= 20) {
r += `${He} seems reasonably <span class="yellow">healthy,</span>`;
} else if (slave.health <= 50) {
r += `${He} shines with <span class="green">good health,</span>`;
} else {
r += `${He} almost gleams; ${he}'s in the absolute <span class="green">best of health,</span>`;
}
age = slave.actualAge + 1;
r += ` and ${he}'s `;
if (slave.birthWeek >= 52 && V.seeAge) {
r += `going to turn ${age} this week,`;
} else if (slave.actualAge < 3) {
r += `an infant, only `;
if (V.showAgeDetail) {
if (!slave.actualAge) {
r += `${0 + V.week-slave.weekAcquired} weeks old${birthday}. `;
} else if (slave.actualAge) {
r += `${num(slave.actualAge)} year old${birthday}. `;
} else {
r += `${num(slave.actualAge)} years old${birthday}. `;
}
} else {
if (!slave.actualAge) {
r += `${0 + V.week-slave.weekAcquired} weeks old. `;
} else if (slave.actualAge) {
r += `${num(slave.actualAge)} year old. `;
} else {
r += `${num(slave.actualAge)} years old. `;
}
}
} else if (slave.actualAge < 5) {
r += `a toddler, `;
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `only ${num(slave.actualAge)} years old. `;
}
} else if (slave.actualAge < 13) {
r += `a little ${girl}, `;
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `only ${num(slave.actualAge)} years old. `;
}
} else if (slave.actualAge < 16) {
r += `almost a child, `;
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `less than 17 years old. `;
}
} else if (slave.actualAge < 17) {
r += `young and fresh at ${num(slave.actualAge)}${birthday}. `;
} else if (slave.actualAge < 18) {
r += `young, fresh, and nearly 18`;
if (V.showAgeDetail && V.seeAge !== 0) {
if (slave.birthWeek === 51) {
r += `; ${his} birthday is next week`;
if (V.seeAge) {
r += ` and people are already beginning to eye ${him}`;
}
}
}
r += `. `;
} else if (slave.actualAge < 19) {
if (!slave.birthWeek && V.seeAge) {
r += `just turned ${num(slave.actualAge)} this week, which many citizens find especially appealing. `;
} else if (slave.birthWeek < 4 && V.seeAge) {
r += `only turned ${num(slave.actualAge)} this month. `;
} else {
r += `${num(slave.actualAge)} years old${birthday}. `;
}
} else if (slave.actualAge < 20) {
r += `in ${his} final year as a teenager at age 19${birthday}. `;
} else if (slave.actualAge < 26) {
r += `a young ${woman}, `;
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `in ${his} early twenties. `;
}
} else if (slave.actualAge < 30) {
r += `a younger ${woman}, `;
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `in ${his} late twenties. `;
}
} else if (slave.actualAge < 36) {
if (V.showAgeDetail) {
r += `${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `in ${his} early thirties. `;
}
} else if (slave.actualAge < 40) {
r += `middle-aged for a slave, `;
if (V.showAgeDetail) {
r += `at ${num(slave.actualAge)} years old${birthday}. `;
} else {
r += `in ${his} late thirties. `;
}
} else {
r += `old for a slave, `;
if (V.showAgeDetail) {
r += `at ${num(slave.actualAge)} years old${birthday}. `;
} else {
if (slave.actualAge < 50) {
r += `in ${his} forties. `;
} else if (slave.actualAge < 60) {
r += `in ${his} fifties. `;
} else if (slave.actualAge < 70) {
r += `extremely old for a slave, in ${his} 60s. `;
} else if (slave.actualAge < 80) {
r += `extremely old for a slave, in ${his} ${num(70)}s. `;
} else if (slave.actualAge < 90) {
r += `extremely old for a slave, in ${his} r += ${num(80)}s. `;
} else if (slave.actualAge < 100) {
r += `extremely old for a slave, in ${his} r += ${num(90)}s. `;
} else if (slave.actualAge >= 100) {
r += `ancient by any measure, over a century old. `;
}
}
if (slave.actualAge !== slave.physicalAge) {
r += ` However, ${he} has the body of a ${num(slave.physicalAge)}-year-old; `;
if (slave.physicalAge < 18 && slave.actualAge >= 18) {
r += `a stark contrast given ${his} maturity. `;
} else if (slave.physicalAge < 18 && slave.actualAge < 18) {
r += `a noticeable difference thanks to ${his} immaturity. `;
} else if (slave.physicalAge <= slave.actualAge - 20 || slave.physicalAge >= slave.actualAge + 20) {
r += `a shocking difference from ${his} actual age. `;
} else if (slave.physicalAge <= slave.actualAge - 10 || slave.physicalAge >= slave.actualAge + 10) {
r += `a noticeable difference from ${his} actual age. `;
} else if (slave.physicalAge <= slave.actualAge - 5 || slave.physicalAge >= slave.actualAge + 5) {
r += `a barely noticeable difference from ${his} actual age. `;
} else {
r += `though it is hard to tell the difference from ${his} actual age. `;
}
}
/*
** This section replaces the age/therapy texts, giving more details for the NCS condition.
*/
if (slave.geneMods.NCS) {
let bodyNCS;
if (slave.vagina < 0 && slave.dick <= 0) {
bodyNCS = "childlike";
} else if (slave.vagina < 0 && slave.dick > 0) {
bodyNCS = "shota";
} else if (slave.vagina > 0 && slave.dick <= 0) {
bodyNCS = "loli";
} else {
bodyNCS = "loli/shota";
}
r += ` ${He} appears to be slave.visualAge years old and ${he} `;
if (slave.visualAge <= 8) {
r += `has induced <span class="orange">NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives. `;
} else if (slave.visualAge < 13) {
r += `has induced <span class="orange">NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life. `;
} else if (slave.visualAge < 20) {
r += `still has a teen body for now, but with ${his} <span class="orange">NCS,</span> ${he} will eventually regress in age to look like a little ${girl} again. `;
} else {
r += `still has the body of an adult, but ${his} <span class="orange">NCS</span> has `;
if (slave.physicalAge - slave.visualAge <= 5) {
r += `not really begun to youthen ${his} appearance yet. `;
} else if (slave.physicalAge - slave.visualAge <= 10) {
r += `clearly been at work on ${him}, making ${him} appear younger. `;
} else if (slave.physicalAge - slave.visualAge <= 20) {
r += `obviously helped take more than a decade off of ${his} age. `;
} else {
r += `intensely youthened ${him}. `;
}
}
} else if (slave.physicalAge !== slave.visualAge) {
if (slave.visualAge <= slave.physicalAge - 20 || slave.visualAge >= slave.physicalAge + 20) {
r += ` ${He} has undergone radical age therapy that makes ${him} look `;
} else if (slave.visualAge <= slave.physicalAge - 10 || slave.visualAge >= slave.physicalAge + 10) {
r += ` ${He} has undergone drastic age therapy that makes ${him} look `;
} else if (slave.visualAge <= slave.physicalAge - 5 || slave.visualAge >= slave.physicalAge + 5) {
r += ` ${He} has undergone noticeable age therapy that makes ${him} look `;
} else {
r += ` For various reasons, ${he} looks `;
}
if (slave.physicalAge > slave.visualAge) {
if (slave.physicalAge < slave.visualAge + 5) {
r += `a slightly younger ${slave.visualAge}. `;
} else if (slave.visualAge < 20) {
r += `like ${he}'s barely an adult. `;
} else if (slave.visualAge < 25) {
r += `barely into ${his} early twenties. `;
} else if (slave.visualAge < 30) {
r += `like ${he}'s still in ${his} twenties. `;
} else if (slave.visualAge < 35) {
r += `barely thirty. `;
} else if (slave.visualAge < 40) {
r += `still in ${his} thirties. `;
} else if (slave.visualAge < 45) {
r += `barely forty. `;
} else if (slave.visualAge < 50) {
r += `still in ${his} forties. `;
} else if (slave.visualAge < 55) {
r += `barely fifty. `;
} else if (slave.visualAge < 60) {
r += `still in ${his} fifties. `;
} else if (slave.visualAge < 65) {
r += `barely sixty. `;
} else if (slave.visualAge < 70) {
r += `still in ${his} sixties. `;
} else if (slave.visualAge < 75) {
r += `barely seventy. `;
} else if (slave.visualAge < 80) {
r += `still in ${his} seventies. `;
} else {
r += `a younger ${slave.visualAge}. `;
}
} else {
if (slave.physicalAge > slave.visualAge - 5) {
r += `a slightly older ${slave.visualAge}. `;
} else if (slave.visualAge < 20) {
r += `like a fresh adult. `;
} else if (slave.visualAge < 25) {
r += `just over twenty. `;
} else if (slave.visualAge < 30) {
r += `nearly thirty. `;
} else if (slave.visualAge < 35) {
r += `just over thirty. `;
} else if (slave.visualAge < 40) {
r += `nearly forty. `;
} else if (slave.visualAge < 45) {
r += `just over forty. `;
} else if (slave.visualAge < 50) {
r += `nearly fifty. `;
} else if (slave.visualAge < 55) {
r += `just over fifty. `;
} else if (slave.visualAge < 60) {
r += `nearly sixty. `;
} else if (slave.visualAge < 65) {
r += `just over sixty. `;
} else if (slave.visualAge < 70) {
r += `nearly seventy. `;
} else if (slave.visualAge < 75) {
r += `just over seventy. `;
} else if (slave.visualAge < 80) {
r += `nearly eighty. `;
} else {
r += `an ancient ${slave.visualAge}. `;
}
}
}
}
} else {
r += ` The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is`;
if (slave.health < -90) {
r += `<span class="red">dangerously sick</span>`;
} else if (slave.health < -50) {
r += `<span class="red">very sick</span>`;
} else if (slave.health < -20) {
r += `<span class="red">ill</span>`;
} else if (slave.health <= 20) {
r += `<span class="yellow">healthy</span>`;
} else if (slave.health <= 50) {
r += `<span class="green">very health</span>`;
} else {
r += `<span class="green">extremely healthy</span>`;
}
r += ` and ${slave.physicalAge} years old. `;
}
return r;
};
/**
* @param {App.Entity.SlaveState} slave
* @returns {string} Slave's brand
*/
App.Desc.brand = function(slave, surface) {
"use strict";
let r = ``;
let bellyAccessory;
/* eslint-disable no-unused-vars*/
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 (State.variables.showBodyMods === 1) {
if (surface) {
if (slave.brand[surface]) {
r += `${He} has ${slave.brand[surface]} branded into the flesh of ${his} ${surface}. `;
}
return r;
}
if (slave.brand) {
bellyAccessory = slave.bellyAccessory;
if (setup.fakeBellies.includes(bellyAccessory) && slave.brand.belly) {
r += `${His} fake belly has ${slave.brand.belly} branded on it. `;
} else {
for (let [key, value] of Object.entries(slave.brand)) {
if (r === ``) {
r += `${He} has `;
}
r += `${value} branded into the flesh of ${his} ${key}, `;
}
if (r !== ``) {
r += `marking him as yours. `;
} else {
r += `${His} body is unmarked by brands. `;
}
}
}
return r;
}
};
/**
* @param {App.Entity.SlaveState} slave
* @returns {string} Description of slave's amputation, if present
*/
App.Desc.amputee = function(slave) {
"use strict";
let r = ``;
/* eslint-disable no-unused-vars*/
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 (slave.amp) {
if (slave.amp === -1) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with a set of modern prosthetic limbs that allow ${him} a fairly normal life. `;
} else if (slave.amp === -2) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with P-Limbs customized for sex. ${His} fingertips vibrate, ${his} finger joints are masked to prevent pinching, and ${his} hands can dispense lube. `;
} else if (slave.amp === -3) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with P-Limbs customized to look natural. They are covered in a material that closely mimics living ${slave.skin} skin, and their servos are noise dampened. `;
} else if (slave.amp === -4) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with P-Limbs customized for combat. They're hardened, strengthened, and more responsive, and they conceal taser knuckles and extensible forearm blades. `;
} else if (slave.amp === -5) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with advanced cybernetic P-Limbs. The ultimate fusion of combat effectiveness and instruments of pleasure, they're capable of performing multiple functions. They can enhance sex through ${his} vibrating hands and increase ${his} combat skills with hardened, yet flexible artificial muscles. They have an advanced artificial skin that can send electrical impulses that can cause stimulation or extreme pain. `;
} else if (slave.amp > 0) {
r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> making ${him} a convenient torso-only sex toy. `;
} else {
r += `The most obvious thing about ${slave.slaveName} is that ${he} is a <span class="pink">quadruple amputee:</span> ${he} has neither arms nor legs. `;
}
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}"`;
};