diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css index e380ff8791f1bc0c60203b6c2562700912828939..a48a978db6fed407fe344251cfd7515804ac7854 100644 --- a/src/gui/css/mainStyleSheet.css +++ b/src/gui/css/mainStyleSheet.css @@ -351,6 +351,11 @@ div.double-choices, p.double-choices { text-decoration-color: white; } +.slave-name-simple { + color: pink; + font-weight: bold; +} + .name { font-weight: bold; } diff --git a/src/npc/descriptions/name.js b/src/npc/descriptions/name.js new file mode 100644 index 0000000000000000000000000000000000000000..7967f98bdb7c7e61e5c17950bb362ebed43ba516 --- /dev/null +++ b/src/npc/descriptions/name.js @@ -0,0 +1,90 @@ +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.name = function(slave) { + const r = []; + const { + he, his, He + } = getPronouns(slave); + if (slave.slaveName !== slave.birthName || slave.slaveSurname !== slave.birthSurname) { + let nameloss = 0; + if (slave.fuckdoll === 0) { + if (slave.slaveName !== slave.birthName && slave.slaveSurname !== slave.birthSurname) { + r.push(`${SlaveFullName(slave)} is not ${his} original full name;`); + if (slave.birthName === "" || slave.birthSurname === "") { + r.push(`whatever it was, however, has been lost forever.`); + nameloss = 1; + } + } else if (slave.slaveName !== slave.birthName) { + r.push(`${slave.slaveName} is not ${his} original given name;`); + if (slave.birthName === "") { + r.push(`whatever it was, however, has been lost forever.`); + nameloss = 1; + } + } else if (slave.slaveSurname !== slave.birthSurname) { + if (slave.slaveSurname === 0 && slave.birthSurname === "") { + r.push(`${He} once had a surname; whatever it was, however, has been lost forever.`); + nameloss = 1; + } else if (slave.slaveSurname !== 0) { + r.push(`${slave.slaveSurname} is not ${his} original surname;`); + if (slave.birthSurname === "") { + r.push(`whatever it was, however, has been lost forever.`); + nameloss = 1; + } + } else { + nameloss = 1; + } + } + if (slave.birthName !== "" || slave.birthSurname !== "") { + if (nameloss === 1) { + r.push(`${He}`); + } else { + r.push(`${he}`); + } + if (slave.devotion > 95) { + r.push(`adores ${his} slave name and affects to have forgotten that ${he} was ever called`); + } else if (slave.devotion > 50) { + r.push(`uses ${his} slave name automatically and gives no sign that ${he} was ever called`); + } else if (slave.devotion > 20) { + r.push(`uses ${his} slave name despite once being known as`); + } else if (slave.devotion >= -20) { + r.push(`uses ${his} slave name hesitantly since ${he} was once called`); + } else if (slave.devotion >= -50) { + r.push(`uses ${his} slave name with resentment since ${he} prefers ${his} original name,`); + } else { + r.push(`uses ${his} slave name only when constantly punished, since ${he} feels ${his} real name is`); + } + if (slave.slaveName !== slave.birthName && slave.slaveSurname !== slave.birthSurname) { + r.push(`${SlaveFullBirthName(slave)}.`); + } else if (slave.slaveName !== slave.birthName) { + if (slave.slaveName.endsWith(slave.birthName)) { + r.push(`just plain`); + } + r.push(`${slave.birthName}.`); + } else if (slave.slaveSurname !== slave.birthSurname) { + r.push(`${slave.birthSurname}.`); + } + } if (slave.slaveSurname === 0) { + r.push(`${He} has no surname as a slave, which ${he}`); + if (slave.devotion > 95) { + r.push(`loves.`); + } else if (slave.devotion > 50) { + r.push(`likes.`); + } else if (slave.devotion > 20) { + r.push(`accepts.`); + } else if (slave.devotion >= -20) { + r.push(`tolerates.`); + } else if (slave.devotion >= -50) { + r.push(`resents.`); + } else { + r.push(`hates.`); + } + } + } else { + r.push(`${SlaveFullName(slave)} is not ${his} original name: ${he} was once called ${SlaveFullBirthName(slave)}.`); + } + } + + return r.join(" "); +}; diff --git a/src/npc/descriptions/sceneIntro.js b/src/npc/descriptions/sceneIntro.js new file mode 100644 index 0000000000000000000000000000000000000000..2658cd9f3f6349fc7adf4f422d909339236e824a --- /dev/null +++ b/src/npc/descriptions/sceneIntro.js @@ -0,0 +1,297 @@ +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.sceneIntro = function(slave) { + const r = []; + const { + he, him, his, He, His, himself + } = getPronouns(slave); + + if (V.eventDescription === 1) { + r.push(`${He} is currently involved in an event, but is assigned to ${slave.assignment}.`); + if (slave.assignment === "be a subordinate slave") { + let lsd = V.slaveIndices[slave.subTarget]; + if (lsd) { + r.push(`${He} has been ordered to serve <span class="slave-name-simple">${SlaveFullName(V.slaves[_lsd])}</span> specifically.`); + } + } + } else if (V.ui !== "start" && V.saleDescription !== 1) { + r.push(inspectionIntro()); + if (slave.sentence > 0) { + r.push(sentence()); + } + if (slave.fuckdoll === 0) { + if (slave.voice !== 0) { + r.push(voice()); + } + } + r.push(relationship()); + if (slave.fuckdoll === 0) { + r.push(sleepLoc()); + } + } + return r.join(" "); + + function inspectionIntro() { + const r = []; + if (slave.fuckdoll > 0) { + r.push(`You order another slave to bring ${him} before your desk so you can inspect ${him}.`); + } else if ((slave.assignment === "work in the dairy") && (V.dairyRestraintsSetting > 1)) { + r.push(`You go down to ${V.dairyName} to inspect ${his} heaving body.`); + } else if (slave.assignment === "be your agent") { + r.push(`You place a call to`); + let agentLocation = `${his} current location`; + for (let _i = 0; _i < V.arcologies.length; _i++) { + if (V.arcologies[_i].leaderID === slave.ID) { + agentLocation = V.arcologies[_i].name; + break; + } + } + r.push(`${agentLocation}, and ${he} instantly appears on camera.`); + } else { + r.push(`${He} comes to you for an inspection`); + switch (slave.assignment) { + case "whore": + r.push(`between customers.`); + break; + case "serve the public": + r.push(`from where ${he} was offering ${him}self publicly.`); + break; + case "work a glory hole": + r.push(`straight from confinement in a glory hole.`); + break; + case "get milked": + r.push(`between milkings.`); + break; + case "work as a farmhand": + r.push(`from where ${he} was taking care of crops and animals.`); + break; + case "rest": + r.push(`from where ${he} was resting.`); + break; + case "work as a nanny": + r.push(`from where ${he} was`); + if (V.nurseryBabies === 1) { + r.push(`taking care of a child.`); + } else if (V.nurseryBabies > 0) { + r.push(`taking care of children.`); + } else { + r.push(`keeping ${V.nurseryName} clean.`); + } + break; + case "please you": + r.push(`from where ${he} was offering ${himself} to you.`); + break; + case "be a subordinate slave": + if (slave.subTarget === -1) { + r.push(`from where ${he} was resting after ${his} latest baby-making session.`); + } else { + r.push(`straight from orally servicing another slave.`); + } + break; + case "be a servant": + r.push(`straight from bathing another slave.`); + break; + case "train slaves": + r.push(`between slave training contracts.`); + break; + case "stay confined": + r.push(`straight from ${his} confinement.`); + break; + case "guard you": + r.push(`armed and alert.`); + break; + case "recruit girls": + if (V.recruiterTarget !== "other arcologies") { + r.push(`after ${he} finishes cybering with a prospective recruit.`); + } else { + if (V.arcologies[0].influenceTarget === -1) { + r.push(`right away, since you haven't decided on an arcology to target for cultural influence, leaving ${him} with nothing to do.`); + } else { + r.push(`from where ${he} was resting after ${his} latest sexually exhausting visit to`); + for (let i = 0; i < V.arcologies.length; i++) { + if (V.arcologies[i].direction === V.arcologies[0].influenceTarget) { + r.push(`${V.arcologies[i].name}.`); + break; + } + } + } + } + break; + case "be your Head Girl": + r.push(`with updates on your other slaves ready for your review.`); + break; + default: + r.push(`as quickly as ${he} can.`); + } + } + return r.join(" "); + } + + function sentence() { + const r = []; + + if (slave.assignment === "work a glory hole") { + r.push(`${His} sentence lasts another`); + if (slave.sentence > 1) { + r.push(`${slave.sentence} weeks.`); + } else { + r.push(`week.`); + } + } else { + r.push(`${His} work assignment lasts another`); + if (slave.sentence > 1) { + r.push(`${slave.sentence} weeks.`); + } else { + r.push(`week.`); + } + } + + return r.join(" "); + } + + function voice() { + const r = []; + + if (slave.rules.speech === "restrictive") { + r.push(`${He} is not allowed to speak unless spoken to, but when allowed, ${he} speaks in a`); + } else { + r.push(`${He} is allowed to ask questions, and when ${he} speaks, ${he} does so in a`); + } + if (slave.voice === 1) { + if (slave.voiceImplant < 0) { + r.push(`ridiculously deep, gravelly voice.`); + } else { + r.push(`deep, unfeminine voice.`); + } + } else if (slave.voice === 2) { + if (slave.voiceImplant !== 0) { + r.push(`slightly artificial feminine voice.`); + } else { + r.push(`pretty, feminine voice.`); + } + } else if (slave.voice === 3) { + if (slave.voiceImplant > 0) { + r.push(`ridiculously high, bubblegum voice.`); + } else { + r.push(`high, girly voice.`); + } + } + + if (canTalk(slave, false)) { + r.push(App.Desc.accent(slave)); + } + + return r.join(" "); + } + + function relationship() { + const r = []; + if (slave.relationship === -3) { + if (slave.fetish === "mindbroken") { + r.push(`${He} is <span class="relationship"> married to you,</span> not that it matters to ${his} broken mind; to ${him}, ${he} is a slave, nothing more.`); + } else if (slave.devotion + slave.trust >= 175) { + r.push(`${He} is <span class="relationship"> happily married to you,</span> though of course ${he} is still your slave; albeit a loving, devoted one.`); + } else if (slave.devotion < -20 && slave.trust > 20) { + r.push(`${He} is <span class="relationship"> reluctantly married to you,</span> though of course ${he} is still your slave.`); + } else if (slave.devotion < -20) { + r.push(`${He} is <span class="relationship"> forcibly married to you,</span> though of course ${he} is still your slave.`); + } else { + r.push(`${He} is <span class="relationship"> married to you,</span> though of course ${he} is still your slave.`); + } + } else if (slave.relationship === -1) { + r.push(`${He} is an <span class="relationship"> emotional slut,</span> happy to remain officially single and free to treat everyone equally.`); + } else if (slave.relationship === -2) { + r.push(`${He} is <span class="relationship"> emotionally bound to you;</span> ${his} feelings for you are comparable to those in a healthy, loving relationship.`); + } else if (slave.relationship !== 0) { + let lsd = V.slaveIndices[slave.relationshipTarget]; + if (lsd) { + r.push(`${He} is`); + // TODO: update this with the new relationship rules + if (slave.relationship <= 1) { + r.push(`<span style="font-weight:bold" class="relationship">friends with ${SlaveFullName(V.slaves[lsd])};</span> the rules`); + if (slave.rules.relationship !== "restrictive") { + r.push(`encourage`); + } else { + r.push(`discourage`); + } + r.push(`their relationship.`); + } else if (slave.relationship <= 2) { + r.push(`<span style="font-weight:bold" class="relationship">best friends with ${SlaveFullName(V.slaves[lsd])};</span> the rules`); + if (slave.rules.relationship !== "restrictive") { + r.push(`encourage`); + } else { + r.push(`discourage`); + } + r.push(`their close relationship.`); + } else if (slave.relationship <= 3) { + r.push(`<span style="font-weight:bold" class="relationship">${SlaveFullName(V.slaves[lsd])}'s friend with benefits;</span> the rules`); + if (slave.rules.relationship === "permissive") { + r.push(`encourage`); + } else { + r.push(`discourage`); + } + r.push(`their sexual relationship.`); + } else if (slave.relationship <= 4) { + r.push(`<span style="font-weight:bold" class="relationship">${SlaveFullName(V.slaves[lsd])}'s lover;</span> the rules`); + if (slave.rules.relationship === "permissive") { + r.push(`encourage`); + } else { + r.push(`discourage`); + } + r.push(`their passionate relationship.`); + } else if (V.slaves[lsd].relationship > 4) { + r.push(`<span style="font-weight:bold" class="relationship">${SlaveFullName(V.slaves[lsd])}'s slave ${V.wife};</span> the rules`); + if (slave.rules.relationship === "permissive") { + r.push(`encourage`); + } else { + r.push(`discourage`); + } + r.push(`marital bliss.`); + } + } + } else if (slave.fuckdoll === 0) { + if (slave.rules.relationship === "restrictive") { + r.push(`The rules forbid ${him} from associating freely with other slaves.`); + } else if (slave.career === "a Futanari Sister") { + r.push(`The rules encourage ${him} to form friendships with other slaves, but ${he} seems disinclined to do so.${He}'s both friendly with them and eagerly sexual with them when allowed, but ${he} seems to be waiting for someone, deep down.`); + } else if (slave.rules.relationship === "just friends") { + r.push(`The rules encourage ${him} to form friendships with other slaves.`); + } else { + r.push(`The rules encourage ${him} to form relationships with other slaves.`); + } + } + + return r.join(" "); + } + + function sleepLoc() { + const r = []; + + if (slave.ID === V.HeadGirl.ID && V.HGSuite === 1) { + r.push(`${He} lives in ${his} own suite within your penthouse,`); + } else if ((slave.ID === V.Bodyguard.ID) && (V.dojo > 1)) { + r.push(`${He} lives in ${his} own room within the armory,`); + } else if ((slave.assignment === "work in the dairy") && (V.dairyRestraintsSetting > 1)) { + r.push(`${He} sleeps attached to a milking machine,`); + } else if (slave.rules.living === "spare") { + r.push(`${He} sleeps on a bedroll,`); + } else if (slave.rules.living === "normal") { + r.push(`${He} sleeps on a cot,`); + } else if (slave.relationship >= 4) { + r.push(`${He} has ${his} own room, which ${he} shares with ${his}`); + if (slave.relationship === 5) { + r.push(getPronouns(slave).wife); + } else { + r.push(`${getPronouns(slave).girl}friend`); + } + r.push(`whenever they can manage it,`); + } else { + r.push(`${He} sleeps in ${his} own little room,`); + } + r.push(App.Desc.releaseDesc(slave)); + + return r.join(" "); + } +}; diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 75fea3a756d7564cad0d2736d6fb01009f7641d0..d94d60c5a4c80811714c271b8b99d70a76058303 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -82,267 +82,9 @@ is <</if>> <</if>> -<<if $ui == "start">> -<<elseif $saleDescription == 1>> -<<elseif $eventDescription == 1>> - $He is currently involved in an event, but is assigned to $activeSlave.assignment. - <<if $activeSlave.assignment == "be a subordinate slave">> - <<set _lsd = $slaveIndices[$activeSlave.subTarget]>> - <<if def _lsd>> - $He has been ordered to serve <span style="font-weight:bold"><span class="pink"><<= SlaveFullName($slaves[_lsd])>></span></span> specifically. - <</if>> - <</if>> -<<else>> - - <<if $activeSlave.fuckdoll > 0>> - You order another slave to bring $him before your desk so you can inspect $him. - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>> - You go down to $dairyName to inspect $his heaving body. - <<elseif $activeSlave.assignment == "be your agent">> - You place a call to - <<set _agentLocation = "$his current location">> - <<for _i = 0; _i < $arcologies.length; _i++>> - <<if $arcologies[_i].leaderID == $activeSlave.ID>> - <<set _agentLocation = $arcologies[_i].name>> - <<break>> - <</if>> - <</for>> - <<print _agentLocation>>, and $he instantly appears on camera. - <<else>> - $He comes to you for an inspection - <<switch $activeSlave.assignment>> - <<case "whore">> - between customers. - <<case "serve the public">> - from where $he was offering $himself publicly. - <<case "work a glory hole">> - straight from confinement in a glory hole. - <<case "get milked">> - between milkings. - <<case "work as a farmhand">> - from where $he was taking care of crops and animals. - <<case "rest">> - from where $he was resting. - <<case "work as a nanny">> - from where $he was <<if $nurseryBabies > 0>>taking care of children<<else>>keeping $nurseryName clean<</if>>. - <<case "please you">> - from where $he was offering $himself to you. - <<case "be a subordinate slave">> - <<if $activeSlave.subTarget == -1>> - from where $he was resting after $his latest baby-making session. - <<else>> - straight from orally servicing another slave. - <</if>> - <<case "be a servant">> - straight from bathing another slave. - <<case "train slaves">> - between slave training contracts. - <<case "stay confined">> - straight from $his confinement. - <<case "guard you">> - armed and alert. - <<case "recruit girls">> - <<if $recruiterTarget != "other arcologies">> - after $he finishes cybering with a prospective recruit. - <<else>> - <<if $arcologies[0].influenceTarget == -1>> - right away, since you haven't decided on an arcology to target for cultural influence, leaving $him with nothing to do. - <<else>> - from where $he was resting after $his latest sexually exhausting visit to <<for $i = 0; $i < $arcologies.length; $i++>><<if $arcologies[$i].direction == $arcologies[0].influenceTarget>>$arcologies[$i].name<<break>><</if>><</for>>. - <</if>> - <</if>> - <<case "be your Head Girl">> - with updates on your other slaves ready for your review. - <<default>> - as quickly as $he can. - <</switch>> - <</if>> - - <<if $activeSlave.sentence > 0>> - <<if $activeSlave.assignment == "work a glory hole">> - $His sentence lasts another <<if $activeSlave.sentence > 1>>$activeSlave.sentence weeks<<else>>week<</if>>. - <<else>> - $His work assignment lasts another <<if $activeSlave.sentence > 1>>$activeSlave.sentence weeks<<else>>week<</if>>. - <</if>> - <</if>> - - <<if $activeSlave.fuckdoll == 0>> - <<if $activeSlave.voice != 0>> - <<if $activeSlave.rules.speech == "restrictive">> - $He is not allowed to speak unless spoken to, but when allowed, $he speaks in a - <<else>> - $He is allowed to ask questions, and when $he speaks, $he does so in a - <</if>> - <<if $activeSlave.voice == 1>> - <<if $activeSlave.voiceImplant < 0>> - ridiculously deep, gravelly voice. - <<else>> - deep, unfeminine voice. - <</if>> - <<elseif $activeSlave.voice == 2>> - <<if $activeSlave.voiceImplant != 0>> - slightly artificial feminine voice. - <<else>> - pretty, feminine voice. - <</if>> - <<elseif $activeSlave.voice == 3>> - <<if $activeSlave.voiceImplant > 0>> - ridiculously high, bubblegum voice. - <<else>> - high, girly voice. - <</if>> - <</if>> - - <<if canTalk($activeSlave, false)>> - <<= App.Desc.accent($activeSlave)>> - <</if>> - - <</if>> - <</if>> - - <<if $activeSlave.relationship == -3>> - <<if $activeSlave.fetish == "mindbroken">> - $He is <span class="lightgreen">married to you,</span> not that it matters to $his broken mind; to $him, $he is a slave, nothing more. - <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> - $He is <span class="lightgreen">happily married to you,</span> though of course $he is still your slave; albeit a loving, devoted one. - <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> - $He is <span class="lightgreen">reluctantly married to you,</span> though of course $he is still your slave. - <<elseif $activeSlave.devotion < -20>> - $He is <span class="lightgreen">forcibly married to you,</span> though of course $he is still your slave. - <<else>> - $He is <span class="lightgreen">married to you,</span> though of course $he is still your slave. - <</if>> - <<elseif $activeSlave.relationship == -1>> - $He is an <span class="lightgreen">emotional slut,</span> happy to remain officially single and free to treat everyone equally. - <<elseif $activeSlave.relationship == -2>> - $He is <span class="lightgreen">emotionally bound to you;</span> $his feelings for you are comparable to those in a healthy, loving relationship. - <<elseif $activeSlave.relationship != 0>> - <<set _lsd = $slaveIndices[$activeSlave.relationshipTarget]>> - <<if def _lsd>> - $He is - /* TODO: update this with the new relationship rules */ - <<if $activeSlave.relationship <= 1>> - <span style="font-weight:bold" class="lightgreen">friends with <<= SlaveFullName($slaves[_lsd])>>;</span> the rules <<if $activeSlave.rules.relationship != "restrictive">>encourage<<else>> discourage<</if>> their relationship. - <<elseif $activeSlave.relationship <= 2>> - <span style="font-weight:bold" class="lightgreen">best friends with <<= SlaveFullName($slaves[_lsd])>>;</span> the rules <<if $activeSlave.rules.relationship != "restrictive">>encourage<<else>> discourage<</if>> their close relationship. - <<elseif $activeSlave.relationship <= 3>> - <span style="font-weight:bold" class="lightgreen"><<= SlaveFullName($slaves[_lsd])>>'s friend with benefits;</span> the rules <<if $activeSlave.rules.relationship == "permissive">>encourage<<else>> discourage<</if>> their sexual relationship. - <<elseif $activeSlave.relationship <= 4>> - <span style="font-weight:bold" class="lightgreen"><<= SlaveFullName($slaves[_lsd])>>'s lover;</span> the rules <<if $activeSlave.rules.relationship == "permissive">>encourage<<else>> discourage<</if>> their passionate relationship. - <<elseif $slaves[_lsd].relationship > 4>> - <span style="font-weight:bold" class="lightgreen"><<= SlaveFullName($slaves[_lsd])>>'s slave $wife;</span> the rules <<if $activeSlave.rules.relationship == "permissive">>encourage<<else>> discourage<</if>> marital bliss. - <</if>> - <</if>> - <<elseif $activeSlave.fuckdoll == 0>> - <<if $activeSlave.rules.relationship == "restrictive">> - The rules forbid $him from associating freely with other slaves. - <<elseif $activeSlave.career == "a Futanari Sister">> - The rules encourage $him to form friendships with other slaves, but $he seems disinclined to do so. $He's both friendly with them and eagerly sexual with them when allowed, but $he seems to be waiting for someone, deep down. - <<elseif $activeSlave.rules.relationship == "just friends">> - The rules encourage $him to form friendships with other slaves. - <<else>> - The rules encourage $him to form relationships with other slaves. - <</if>> - <</if>> +<<= App.Desc.sceneIntro($activeSlave)>> - <<if $activeSlave.fuckdoll == 0>> - <<set _lover = getSlave($activeSlave.relationshipTarget)>> - <<if def _lover>> - <<setLocalPronouns _lover 2>> - <</if>> - <<if ($activeSlave.ID == $HeadGirl.ID) && ($HGSuite == 1)>> - $He lives in $his own suite within your penthouse, - <<elseif ($activeSlave.ID == $Bodyguard.ID) && ($dojo > 1)>> - $He lives in $his own room within the armory, - <<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>> - $He sleeps attached to a milking machine, - <<elseif $activeSlave.rules.living == "spare">> - $He sleeps on a bedroll, - <<elseif $activeSlave.rules.living == "normal">> - $He sleeps on a cot, - <<elseif $activeSlave.relationship >= 4>> - $He has $his own room, which $he shares with $his <<if $activeSlave.relationship == 5>>_wife2<<else>><<= _girl2>>friend<</if>> whenever they can manage it, - <<else>> - $He sleeps in $his own little room, - <</if>> - <<= App.Desc.releaseDesc($activeSlave)>> - <</if>> - -<</if>> /* CLOSES SALE AND EVENT RULES NONDISPLAY */ - -<<if $activeSlave.slaveName != $activeSlave.birthName || $activeSlave.slaveSurname != $activeSlave.birthSurname>> - <<set _nameloss = 0>> - <<if $activeSlave.fuckdoll == 0>> - <<if $activeSlave.slaveName != $activeSlave.birthName && $activeSlave.slaveSurname != $activeSlave.birthSurname>> - <<= SlaveFullName($activeSlave)>> is not $his original full name; - <<if $activeSlave.birthName === "" || $activeSlave.birthSurname === "">> - whatever it was, however, has been lost forever. - <<set _nameloss = 1>> - <</if>> - <<elseif $activeSlave.slaveName != $activeSlave.birthName>> - $activeSlave.slaveName is not $his original given name; - <<if $activeSlave.birthName === "">> - whatever it was, however, has been lost forever. - <<set _nameloss = 1>> - <</if>> - <<elseif $activeSlave.slaveSurname != $activeSlave.birthSurname>> - <<if $activeSlave.slaveSurname === 0 && $activeSlave.birthSurname === "">> - $He once had a surname; whatever it was, however, has been lost forever. - <<set _nameloss = 1>> - <<elseif $activeSlave.slaveSurname !== 0>> - $activeSlave.slaveSurname is not $his original surname; - <<if $activeSlave.birthSurname === "">> - whatever it was, however, has been lost forever. - <<set _nameloss = 1>> - <</if>> - <<else>> - <<set _nameloss = 1>> - <</if>> - <</if>> - <<if $activeSlave.birthName !== "" || $activeSlave.birthSurname !== "">> - <<if _nameloss == 1>> - $He - <<else>> - $he - <</if>> - <<if $activeSlave.devotion > 95>> - adores $his slave name and affects to have forgotten that $he was ever called - <<elseif $activeSlave.devotion > 50>> - uses $his slave name automatically and gives no sign that $he was ever called - <<elseif $activeSlave.devotion > 20>> - uses $his slave name despite once being known as - <<elseif $activeSlave.devotion >= -20>> - uses $his slave name hesitantly since $he was once called - <<elseif $activeSlave.devotion >= -50>> - uses $his slave name with resentment since $he prefers $his original name, - <<else>> - uses $his slave name only when constantly punished, since $he feels $his real name is - <</if>> - <<if $activeSlave.slaveName !== $activeSlave.birthName && $activeSlave.slaveSurname !== $activeSlave.birthSurname>> - <<= SlaveFullBirthName($activeSlave)>>. - <<elseif $activeSlave.slaveName !== $activeSlave.birthName>> - <<if $activeSlave.slaveName.endsWith($activeSlave.birthName)>> - just plain - <</if>> - $activeSlave.birthName. - <<elseif $activeSlave.slaveSurname !== $activeSlave.birthSurname>> - $activeSlave.birthSurname. - <</if>> - <</if>> - <<if $activeSlave.slaveSurname == 0>> - $He has no surname as a slave, which $he - <<if $activeSlave.devotion > 95>>loves. - <<elseif $activeSlave.devotion > 50>>likes. - <<elseif $activeSlave.devotion > 20>>accepts. - <<elseif $activeSlave.devotion >= -20>>tolerates. - <<elseif $activeSlave.devotion >= -50>>resents. - <<else>>hates. - <</if>> - <</if>> - <<else>> - <<= SlaveFullName($activeSlave)>> is not $his original name: $he was once called <<= SlaveFullBirthName($activeSlave)>>. - <</if>> -<</if>> +<<= App.Desc.name($activeSlave)>> <<= App.Desc.ageAndHealth($activeSlave)>>