From 5e5d85f795ab21c7e5e728aaf76e276bad0d6990 Mon Sep 17 00:00:00 2001 From: Blank_Alt <12406-Blank_Alt@users.noreply.gitgud.io> Date: Sat, 17 Jun 2023 01:51:05 +0000 Subject: [PATCH] shellScriptTweaks, Sanity check cleanup and more classNames string -> [ string ] --- devTools/updateTool.sh | 36 ++- devTools/upload.sh | 12 +- src/endWeek/reports/personalAttention.js | 270 +++++++++++------------ src/js/birth/birth.js | 2 +- 4 files changed, 169 insertions(+), 151 deletions(-) diff --git a/devTools/updateTool.sh b/devTools/updateTool.sh index 1eef102895c..7171aa5f7b3 100644 --- a/devTools/updateTool.sh +++ b/devTools/updateTool.sh @@ -1,6 +1,20 @@ #!/bin/bash +status=0 +verbose=false repo=upstream branch=pregmod-master +function displayHelp() { +cat <<HelpText +Package required: git + +Usage: $0 [OPTION]... +Options: + -r, --repo X : Repo to check. Default: $repo + -b, --branch X : Branch to check. Default: $branch + -v, --verbose X : Be verbose. Default: $verbose + -h, --help : Show this help text +HelpText +} while [[ "$1" ]]; do case $1 in -r | --repo) @@ -11,6 +25,13 @@ while [[ "$1" ]]; do branch=$2 shift ;; + -v | --verbose) + verbose=true + ;; + -h | --help) + displayHelp + exit 0 + ;; *) echo "Unknown argument $1." displayHelp @@ -21,10 +42,13 @@ while [[ "$1" ]]; do done git fetch $repo -q -check=$(git rev-list HEAD..$repo/$branch) # https://adamj.eu/tech/2020/01/18/a-git-check-for-missing-commits-from-a-remote/ -if [[ $check && $(git rev-parse --abbrev-ref HEAD) = "$branch" ]]; then - git reset --hard $repo/$branch -q -elif [[ $check && $(git rev-parse --abbrev-ref HEAD) != "$branch" ]]; then - git merge $repo/$branch -q +if [[ $(git rev-list HEAD...$repo/$branch) ]]; then # https://adamj.eu/tech/2020/01/18/a-git-check-for-missing-commits-from-a-remote/ + if [[ $(git rev-parse --abbrev-ref HEAD) = "$branch" ]]; then + git reset --hard $repo/$branch -q + elif [[ $(git rev-parse --abbrev-ref HEAD) != "$branch" ]]; then + git merge $repo/$branch -q + fi + status=1 fi -echo "Updated: $(if [ $check ]; then echo "Yes" && exit 1; else echo "No" && exit 0; fi)" # stackoverflow.com/a/73539272 +$verbose -n && echo "Updated: $(if [ $status -gt 0 ]; then echo "Yes"; else echo "No"; fi)" # stackoverflow.com/a/73539272 +exit=$status diff --git a/devTools/upload.sh b/devTools/upload.sh index 0c2ff826897..4ae5294736f 100755 --- a/devTools/upload.sh +++ b/devTools/upload.sh @@ -5,7 +5,6 @@ local=fc/ remote=FC/ gen=0; runstep=0 -hash=$(git log --oneline|head -n 1|cut -c1-7) function displayHelp() { cat <<HelpText @@ -59,12 +58,7 @@ while [[ "$1" ]]; do done find $local > /dev/null -if [[ `echo $?` > 0 ]]; then - git clone -q https://gitgud.io/pregmodfan/fc-pregmod.git --depth 1 $local - if [[ ! `mega-ls $remote|grep .html|cut -c21-29|paste -sd,` =~ $hash ]];then - gen=1; - fi # stackoverflow.com/a/15394738 -fi +if [[ `echo $?` > 0 ]]; then git clone -q https://gitgud.io/pregmodfan/fc-pregmod.git --depth 1 $local && gen=1; fi cd $local find js/000-browserSupport.js > /dev/null @@ -73,7 +67,7 @@ if [[ `echo $?` > 0 ]]; then echo "const globalThis = eval.call(undefined, 'this');" > js/000-browserSupport.js fi -git fetch -q && if [[ $runstep == 0 && $(./devTools/updateTool.sh -r origin) && `echo $?` > 0 ]]; then +if [[ $runstep == 0 && $(./devTools/updateTool.sh -r origin) && `echo $?` > 0 ]]; then git reset --hard HEAD -q && git pull -q && gen=1; fi # stackoverflow.com/a/17192101 @@ -86,7 +80,7 @@ if [[ $gen > 0 || $runstep == 1 ]]; then fi if [[ $gen > 0 || $runstep == 2 ]]; then - rm bin/*.html > /dev/null 2>&1 ; ./compile.sh -q -m -f preCompiled-FC-`git log -1 --format=%cd --date=format:%Y-%m-%d-%H-%M`-$hash + rm bin/*.html > /dev/null 2>&1 ; ./compile.sh -q -m -f preCompiled-FC-`git log -1 --format=%cd --date=format:%Y-%m-%d-%H-%M`-$(git rev-parse --short HEAD) fi mega-login $email $password > /dev/null 2>&1 diff --git a/src/endWeek/reports/personalAttention.js b/src/endWeek/reports/personalAttention.js index 1e04cfc223e..ce8a8376ce4 100644 --- a/src/endWeek/reports/personalAttention.js +++ b/src/endWeek/reports/personalAttention.js @@ -45,20 +45,20 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`you won't be able to until you're back on your feet.`); if (!hasBothLegs(V.PC) || V.PC.physicalImpairment > 1) { r.push(`Since that will never happen,`); - r.push(App.UI.DOM.makeElement("span", `you'll focus on building ${his} devotion for now.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `you'll focus on building ${his} devotion for now.`, ["yellow"])); pa.objective = "build devotion"; } } else if (!hasAnyArms(V.PC)) { r.push(`you wouldn't be able to without a helping hand, and then it wouldn't really be you training ${him}, would it?`); - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } else if (!canWalk(slave)) { r.push(`you won't be able to until you find a way to get ${him} back on ${his} feet;`); - r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } else { r.push(`${he} lacks the ability to fight back;`); - r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } App.Events.addNode(el, r, "div", "indent"); @@ -68,7 +68,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`Plowing`); r.push(App.UI.DOM.makeElement("span", slave.slaveName, ["slave-name"])); r.push(`senseless just isn't the same when you aren't getting any pleasure out of it.`); - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, ["yellow"])); r.push(`to better prepare ${him} for future fuckings.`); pa.objective = "build devotion"; App.Events.addNode(el, r, "div", "indent"); @@ -76,7 +76,7 @@ App.PersonalAttention.slaveReport = function(slave) { } else if (!canDoVaginal(slave) && !canDoAnal(slave)) { r.push(App.UI.DOM.makeElement("span", slave.slaveName, ["slave-name"])); r.push(`is completely secured in chastity, leaving no holes suitable for constant sex.`); - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, ["yellow"])); r.push(`until you decide what to do with ${him}.`); pa.objective = "build devotion"; App.Events.addNode(el, r, "div", "indent"); @@ -86,7 +86,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`You find it rather difficult to get dicked when`); r.push(App.UI.DOM.makeElement("span", slave.slaveName, ["slave-name"])); r.push(`doesn't have a working one.`); - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion`, ["yellow"])); r.push(`until you figure out what to do with ${him}.`); pa.objective = "build devotion"; App.Events.addNode(el, r, "div", "indent"); @@ -306,11 +306,11 @@ App.PersonalAttention.slaveReport = function(slave) { } if (slave.trust > 10) { r.push(`Spending time with you`); - r.push(App.UI.DOM.makeElement("span", `builds ${his} trust in ${his} ${getWrittenTitle(slave)}.`, "mediumaquamarine")); + r.push(App.UI.DOM.makeElement("span", `builds ${his} trust in ${his} ${getWrittenTitle(slave)}.`, ["mediumaquamarine"])); slave.trust += 4; } else { r.push(`Spending time with you`); - r.push(App.UI.DOM.makeElement("span", `reduces ${his} fear towards you.`, "mediumaquamarine")); + r.push(App.UI.DOM.makeElement("span", `reduces ${his} fear towards you.`, ["mediumaquamarine"])); slave.trust += 6; } currentSlaveValue = 0.2; @@ -338,13 +338,13 @@ App.PersonalAttention.slaveReport = function(slave) { if ((slave.anus >= 3 || slave.vagina >= 3) && slave.geneMods.rapidCellGrowth !== 1) { r.push(`${slave.slaveName} is a veteran sex slave and has seen hard use. Tightening up a slave is difficult, but with close supervision and attention it can be done. You and your other slaves carefully apply injections, creams, and massage, and ${his} other work is carefully managed to reduce wear and tear.`); if (slave.anus >= 3 && (random(1, 100)) > 50) { - r.push(App.UI.DOM.makeElement("span", `${His} anus has recovered and is now merely loose.`, "orange")); + r.push(App.UI.DOM.makeElement("span", `${His} anus has recovered and is now merely loose.`, ["orange"])); slave.anus--; } else if (slave.anus >= 3) { r.push(`${His} distended anus does not improve this week.`); } if (slave.vagina >= 3 && random(1, 100) > 50) { - r.push(App.UI.DOM.makeElement("span", `${His} pussy has tightened.`, "orange")); + r.push(App.UI.DOM.makeElement("span", `${His} pussy has tightened.`, ["orange"])); slave.vagina--; } else if (slave.vagina >= 3) { r.push(`${His} loose pussy does not recover this week.`); @@ -370,7 +370,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`softening ${his} sexual flaw.`); pa.objective = "soften sexual flaw"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); } else { if (slave.behavioralFlaw === "arrogant") { r.push(`${slave.slaveName} thinks ${he}'s better than everyone else. ${He} has some basis for a high opinion of ${himself}; otherwise you wouldn't be bothering with ${him}. You do your best to maintain ${his} belief that ${he} has something special to offer while training ${him} to offer it to you without objection.`); @@ -446,7 +446,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`softening ${his} sexual flaw.`); pa.objective = "soften sexual flaw"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); } } break; @@ -467,7 +467,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`softening ${his} behavioral flaw.`); pa.objective = "soften behavioral flaw"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); } else { r.push(`${slave.slaveName}`); switch (slave.sexualFlaw) { @@ -553,7 +553,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`fostering devotion.`); pa.objective = "build devotion"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); break; default: r.push(`has something. You should probably report this as nobody knows what is currently happening. ${His} flaw was supposed to be ${slave.sexualFlaw}.`); @@ -603,7 +603,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`softening ${his} behavioral flaw.`); pa.objective = "soften behavioral flaw"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); } } break; @@ -844,7 +844,7 @@ App.PersonalAttention.slaveReport = function(slave) { } else { r.push(`slave;`); } - r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } currentSlaveValue = 0.1; @@ -953,7 +953,7 @@ App.PersonalAttention.slaveReport = function(slave) { } else { r.push(`${He}'s learned everything you can teach ${him}, but you both could possibly discover further combat insights by sparring with each other.`); } - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } currentSlaveValue = 0.1; @@ -994,7 +994,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`turn, forcing ${him} to swiftly send you to the floor. ${He} expected you to take this seriously; why invite ${him} to hone ${his} skills just to use the opportunity to ogle ${him}? ${He}`); r.push(App.UI.DOM.makeElement("span", `ends the session resentful`, ["mediumorchid"])); r.push(`of the wasted time, and obstinately refuses further challenges.`); - r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to restoring ${his} devotion to you.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${His} assignment has defaulted to restoring ${his} devotion to you.`, ["yellow"])); pa.objective = "build devotion"; slave.devotion -= 20; } else if (slave.energy > 20) { @@ -1128,7 +1128,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`You manage to overpower ${him}, tossing ${him} to the floor beside you and pinning ${him} down until ${he} surrenders.`); r.push(App.UI.DOM.makeElement("span", `A look of terror crosses ${his} face`, ["gold"])); r.push(`as the realization of just how screwed ${he} is washes over ${him}. ${He} clearly needs to relearn ${his} place, so`); - r.push(App.UI.DOM.makeElement("span", `${his} assignment has been corrected to harshly breaking ${his} will.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has been corrected to harshly breaking ${his} will.`, ["yellow"])); pa.objective = "harshly break will"; slave.trust -= 20; } @@ -1174,7 +1174,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`and quickly penetrates you.`); } else { r.push(`and slowly eases it in to hopefully`); - r.push(App.UI.DOM.makeElement("span", `make your first time less memorable,`, "red")); + r.push(App.UI.DOM.makeElement("span", `make your first time less memorable,`, ["red"])); r.push(`for ${his} sake.`); V.PC.vagina++; } @@ -1186,7 +1186,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`and quickly shoves it in your ass.`); } else { r.push(`and slowly breaks in your asshole in the hopes that`); - r.push(App.UI.DOM.makeElement("span", `making your first time less memorable,`, "red")); + r.push(App.UI.DOM.makeElement("span", `making your first time less memorable,`, ["red"])); r.push(`will keep you from remembering it.`); V.PC.anus++; } @@ -1268,7 +1268,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`You manage to overpower ${him}, tossing ${him} to the floor beside you and pinning ${him} down until ${he} surrenders.`); r.push(App.UI.DOM.makeElement("span", `A look of uncertainty crosses ${his} face`, ["gold"])); r.push(`as the realization that ${he} isn't going to be able to talk ${his} way out of this dawns on ${him}. ${He} clearly needs to relearn ${his} place, so`); - r.push(App.UI.DOM.makeElement("span", `${his} assignment has been corrected to breaking ${his} will.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has been corrected to breaking ${his} will.`, ["yellow"])); pa.objective = "break will"; slave.trust -= 5; } @@ -1279,7 +1279,7 @@ App.PersonalAttention.slaveReport = function(slave) { } } else if (Math.abs(V.PC.skill.combat - slave.skill.combat) > 30) { r.push(`The skill difference between you is just too great for your bouts to not end instantly;`); - r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } else { r.push(`You hone your combat skills against each other in an effort to perfect what you already know and discover new ways to improve yourselves.`); @@ -1360,9 +1360,9 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`office.`); } r.push(`Yours is a busy week, with a lot of business interviews, so whenever the interviewee has pleased you, you offer him or her the use of the poor slave's body on the way out. The chair is specially designed so that the seat, back and armrests can rotate vertically relative to the ground, so ${his} body can be spun to make any of ${his} available holes convenient. Fortunately, it also has a pan beneath it to stop the generous stream of ejaculate and lubricant that drips from ${him} from besmirching the floor. ${He} can't help but`); - r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold")); + r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, ["gold"])); r.push(`despite ${his}`); - r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `resentment.`, ["mediumorchid"])); r.push(VCheck.Both(slave, 10, 5)); } else if (slave.devotion < -60 && slave.anus !== 0) { r.push(`${slave.slaveName} is really wild and stern measures must be taken. So, ${he} is`); @@ -1378,9 +1378,9 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`pussy`); } r.push(`and backdoor. For ${him}, time becomes a featureless, torturous boredom broken only by occasional rape. Eventually, ${he} becomes so`); - r.push(App.UI.DOM.makeElement("span", `desperate`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `desperate`, ["mediumorchid"])); r.push(`for something, anything, to break the monotony that ${he} begins to look forward to the next time a phallus will`); - r.push(App.UI.DOM.makeElement("span", `force`, "gold")); + r.push(App.UI.DOM.makeElement("span", `force`, ["gold"])); r.push(`its way into ${him}.`); r.push(VCheck.Both(slave, 6, 3)); } else if (slave.devotion < -50 && slave.hStyle !== "shaved" && random(1, 100) > 90) { @@ -1393,9 +1393,9 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`feels the cool touch of`); } r.push(`an electric shaver. ${He} luxuriates in ${his} hair, flaunting it every chance ${he} gets; it's something of value in a bleak slave world and ${he} sobs as you shave it off ${him}. Afterward, ${he} sniffles and`); - r.push(App.UI.DOM.makeElement("span", `looks at you in fear`, "gold")); + r.push(App.UI.DOM.makeElement("span", `looks at you in fear`, ["gold"])); r.push(`and`); - r.push(App.UI.DOM.makeElement("span", `unhappiness`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `unhappiness`, ["mediumorchid"])); r.push(`when you rub ${his} newly bald scalp. Of course, there's always the body modification studio if you ever feel like ${he}'s earned ${his} hair back.`); slave.hStyle = "shaved"; slave.hLength = 0; @@ -1407,9 +1407,9 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`strap-on`); } r.push(`being shoved up ${his} ass. Not knowing what is happening, ${he} struggles, but since ${he} was already lying in ${his} bed you just lie on top of ${him} and press ${his} wriggling body into the sheets as you assrape ${him}. For the rest of the week, ${he} finds ${himself} grabbed and fucked. ${He} can't help but`); - r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold")); + r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, ["gold"])); r.push(`despite ${his}`); - r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `resentment.`, ["mediumorchid"])); r.push(VCheck.Anal(slave, 6)); } else if (canDoVaginal(slave) && (random(1, 100) < 10)) { r.push(`Sometimes, there's no need to be clever. The first indication ${he} gets that you've decided to train ${him} this week is when ${he} wakes suddenly in the middle of the night to the filling sensation of a`); @@ -1419,37 +1419,37 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`strap-on`); } r.push(`being shoved up into ${his} pussy. Not knowing what is happening, ${he} struggles, but since ${he} was already lying in ${his} bed you just lie on top of ${him} and press ${his} wriggling body into the sheets as you rape ${him}. For the rest of the week, ${he} finds ${himself} grabbed and fucked. ${He} can't help but`); - r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold")); + r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, ["gold"])); r.push(`despite ${his}`); - r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `resentment.`, ["mediumorchid"])); r.push(VCheck.Vaginal(slave, 6)); } else { r.push(`${slave.slaveName} violently resists you whenever ${he} can. This cannot be permitted, so after a particularly severe bout of physical resistance, you decide to employ an old method of breaking a mind without damaging a body. You secure ${him} to a board and gently wash ${his} face with a wet cloth. ${He} spits in defiance, only to be surprised when you lower the board so that ${his} feet are higher than ${his} head. You tie the cloth around ${his} face. A thin stream of water onto the cloth produces all the feeling and none of the reality of a slow death by drowning. Waterboarding isn't much use for extracting information, but it works well for`); - r.push(App.UI.DOM.makeElement("span", `slavebreaking.`, "gold")); + r.push(App.UI.DOM.makeElement("span", `slavebreaking.`, ["gold"])); } if (V.PC.skill.slaving >= 100) { r.push(`Your`); r.push(App.UI.DOM.makeElement("span", `slavebreaking experience`, ["skill", "player"])); r.push(`allows you to apply`); - r.push(App.UI.DOM.makeElement("span", `exquisitely calibrated`, "gold")); + r.push(App.UI.DOM.makeElement("span", `exquisitely calibrated`, ["gold"])); r.push(`mental pressure.`); slave.trust -= 2; } if (slave.trust < -20 && slave.fetishKnown === 0) { r.push(`${He} is now fully broken;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to exploring ${his} sexuality.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to exploring ${his} sexuality.`, ["yellow"])); pa.objective = "explore sexuality"; } else if (slave.trust < -20) { r.push(`${He} is now fully broken;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } else if (slave.devotion > 20 && slave.fetishKnown === 0) { r.push(`${He} is now obedient and attentive;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to exploring ${his} sexuality.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to exploring ${his} sexuality.`, ["yellow"])); pa.objective = "explore sexuality"; } else if (slave.devotion > 20) { r.push(`${He} is now obedient and attentive;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } currentSlaveValue = 0.7; @@ -1468,8 +1468,8 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`Old traditions should not be forgotten. The scourge is the oldest slavebreaking tool known to man, and to slave${girl}s who do not properly obey ${womenP}. For the whole week, whenever ${slave.slaveName} disobeys you or whenever the whim strikes, you bind ${him} securely and flog ${him} without mercy. You use a soft leather appliance and apply medical care afterward, so there will be no permanent scarring, but`); r.push(App.UI.DOM.makeElement("span", `${his} health is affected and the beatings leave ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); r.push(`${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience.`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience.`, ["gold"])); } else if (slave.devotion < -50 && canDoAnal(slave)) { slave.minorInjury = either("black eye", "bruise", "split lip"); r.push(`${slave.slaveName} is willing to physically defend ${himself} against sexual abuse. Training ${him} out of this rebelliousness is a nice sexual change of pace. For the entire week, whenever ${he} commits some minor sin, you fight ${him} into a state of physical submission and then sodomize ${him}. This usually requires an extended beating to render ${him} quiescent, followed by holding ${him} down so that ${his} struggles do not dislodge your`); @@ -1479,8 +1479,8 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`strap-on`); } r.push(`from ${his} delightfully spasming butthole. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the extreme stress`); r.push(App.UI.DOM.makeElement("span", `affects ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); r.push(VCheck.Anal(slave, 6)); @@ -1495,47 +1495,47 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`member and`); } r.push(`sack, while beating the rest of ${him} thoroughly. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the beatings`); r.push(App.UI.DOM.makeElement("span", `affect ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); } else if (slave.dick > 0) { slave.minorInjury = either("black eye", "bruise", "split lip"); r.push(`${slave.slaveName} has an indefensible, obvious target for harsh breaking. Whenever ${he} falls short in the smallest way, you bind ${him} in such a way that ${his} cock is dangling defenseless, and ${he} cannot move to avoid blows. You then indulge your inventiveness, applying clips, weights, and simple beatings to ${his} member, while beating the rest of ${him} thoroughly. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the beatings`); r.push(App.UI.DOM.makeElement("span", `affect ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); } else if (slave.clit > 0) { slave.minorInjury = either("black eye", "bruise", "split lip"); r.push(`${slave.slaveName} has an indefensible, obvious target for harsh breaking. Whenever ${he} falls short in the smallest way, you bind ${him} in such a way that ${his} unusually large clit is visible and defenseless, and ${he} cannot move to avoid blows. You then indulge your inventiveness, applying clips, weights, and simple slaps to ${his} womanhood, while beating the rest of ${him} thoroughly. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the beatings`); r.push(App.UI.DOM.makeElement("span", `affect ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); } else if (slave.nipples === "huge") { slave.minorInjury = either("black eye", "bruise", "split lip"); r.push(`${slave.slaveName}'s nipples beg for punishment. Whenever ${he} falls short in the smallest way, you bind ${him} in such a way that breasts dangle, ${his} nipples are free and at your mercy, and ${he} can only move enough to cause ${his} boobs to sway erotically when ${he} flinches with pain. You then indulge your inventiveness, applying clips, weights, and simple abuse to ${his} nipples, while beating the rest of ${him} thoroughly. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the beatings`); r.push(App.UI.DOM.makeElement("span", `affect ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); } else if (slave.anus > 0 && canDoAnal(slave)) { r.push(`You bind ${slave.slaveName} with the head of an uncomfortably large dildo just inside ${his} anus. The setup offers ${him} a choice: ${he} can either stand and have only tip up ${his} butt, or ${he} can take ${his} weight off ${his} legs, and take a massive phallus up the ass. You keep ${him} like this for hours on end. At the start ${he} tries to stand all the time. Then, ${he} tries to rest on it for short periods, but realizes that this up and down motion really just leads to ${him} assraping ${himself}. Finally, ${he} becomes so`); - r.push(App.UI.DOM.makeElement("span", `tired and apathetic`, "red")); + r.push(App.UI.DOM.makeElement("span", `tired and apathetic`, ["red"])); r.push(`that ${he} accepts having a dildo up the ass, and sits down. ${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the extreme stress`); r.push(App.UI.DOM.makeElement("span", `affects ${his} health.`, ["health", "dec"])); slave.health.tired = Math.clamp(slave.health.tired + 20, 0, 1000); } else { slave.minorInjury = either("black eye", "bruise", "split lip"); r.push(`The first time you force ${slave.slaveName} to please you this week, ${he} could be forgiven for thinking sexual abuse is to be ${his} sentence. By the end of the week ${he} remembers only fearing rape as a pleasant dream. This change is due to your program of roughly using ${him} whenever ${he} shows any sign of sleeping. You reward ${him} with a short doze now and then, but ${he} is slowly reduced to a nearly insensible state of`); - r.push(App.UI.DOM.makeElement("span", `agonizing fatigue.`, "red")); + r.push(App.UI.DOM.makeElement("span", `agonizing fatigue.`, ["red"])); r.push(`${He} is subjected to`); - r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, "mediumorchid")); - r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold")); + r.push(App.UI.DOM.makeElement("span", `immense mental pressure`, ["mediumorchid"])); + r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, ["gold"])); r.push(`but the extreme stress and rough treatment`); r.push(App.UI.DOM.makeElement("span", `affect ${his} health and leave ${him} with a ${slave.minorInjury}.`, ["health", "dec"])); if (slave.health.tired < 120) { @@ -1546,32 +1546,32 @@ App.PersonalAttention.slaveReport = function(slave) { seed = random(1, 100); if (seed > 90) { r.push(`This abuse has shattered ${his} already-fragile self;`); - r.push(App.UI.DOM.makeElement("span", `${his} mind has been broken.`, "red")); + r.push(App.UI.DOM.makeElement("span", `${his} mind has been broken.`, ["red"])); applyMindbroken(slave); } else if (seed > 80 && slave.behavioralFlaw !== "hates men" && slave.behavioralFlaw !== "hates women") { r.push(`This abuse has associated`); if (V.PC.dick !== 0) { r.push(`cocks and masculinity with pain in ${his} mind;`); - r.push(App.UI.DOM.makeElement("span", `${he} now instinctively hates men.`, "red")); + r.push(App.UI.DOM.makeElement("span", `${he} now instinctively hates men.`, ["red"])); slave.behavioralFlaw = "hates men"; } else { r.push(`pussies and femininity with pain in ${his} mind;`); - r.push(App.UI.DOM.makeElement("span", `${he} now instinctively hates women.`, "red")); + r.push(App.UI.DOM.makeElement("span", `${he} now instinctively hates women.`, ["red"])); slave.behavioralFlaw = "hates women"; } } else if (seed > 70 && slave.behavioralFlaw !== "odd") { r.push(`This abuse has changed ${him} a bit;`); - r.push(App.UI.DOM.makeElement("span", `${he} has begun to act strangely.`, "red")); + r.push(App.UI.DOM.makeElement("span", `${he} has begun to act strangely.`, ["red"])); slave.behavioralFlaw = "odd"; } } r.push(`A week of agony`); if (slave.trust > 20) { - r.push(App.UI.DOM.makeElement("span", `reduces ${his} trust`, "gold")); + r.push(App.UI.DOM.makeElement("span", `reduces ${his} trust`, ["gold"])); r.push(`in you.`); slave.trust -= 10; } else { - r.push(App.UI.DOM.makeElement("span", `encourages ${his} fear`, "gold")); + r.push(App.UI.DOM.makeElement("span", `encourages ${his} fear`, ["gold"])); r.push(`of you.`); slave.trust -= 10; } @@ -1579,17 +1579,17 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`Your`); r.push(App.UI.DOM.makeElement("span", `slave-breaking experience`, ["skill", "player"])); r.push(`allows you to apply`); - r.push(App.UI.DOM.makeElement("span", `exquisite agony`, "gold")); + r.push(App.UI.DOM.makeElement("span", `exquisite agony`, ["gold"])); r.push(`without any increase in damage.`); slave.trust -= 5; } if (slave.trust < -20) { r.push(`${He} is now fully broken;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } else if (slave.devotion > 20) { r.push(`${He} is now obedient and attentive;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } currentSlaveValue = 1.4; @@ -1603,9 +1603,9 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`As an added insult, you opt to violently rape ${him} throughout the day; some by surprise, others drawn out so the fear of what's to come can supplement ${his} anguish.`); } r.push(`You spare ${him} no amount of`); - r.push(App.UI.DOM.makeElement("span", `suffering;`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `suffering;`, ["mediumorchid"])); r.push(`every second spent in your presence is one spent`); - r.push(App.UI.DOM.makeElement("span", `dreading`, "gold")); + r.push(App.UI.DOM.makeElement("span", `dreading`, ["gold"])); r.push(`your next assault.`); if (App.EndWeek.saVars.slaveTortured === "broken") { if (slave.fetish !== Fetish.MINDBROKEN) { @@ -1665,7 +1665,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} ends ${his} week thoroughly`); r.push(App.UI.DOM.makeElement("span", `beaten`, ["health", "dec"])); r.push(`and`); - r.push(App.UI.DOM.makeElement("span", `exhausted.`, "red")); + r.push(App.UI.DOM.makeElement("span", `exhausted.`, ["red"])); if (slave.health.tired < 120) { slave.health.tired = 120; } @@ -1728,12 +1728,12 @@ App.PersonalAttention.slaveReport = function(slave) { } else if (holeCheck === "anal") { if (slave.anus === 0) { r.push(App.UI.DOM.makeElement("span", `once virgin hole.`, ["virginity", "loss"])); - slave.anus = 6; + slave.anus = 4; // 6 -> 4, TODO: Expand "anus size" to account for values above 4 } else { r.push(`rectum other than the`); r.push(App.UI.DOM.makeElement("span", `cavernous excavation`, ["change", "negative"])); r.push(`you've left.`); - slave.anus = 6; + slave.anus = 4; // 6 -> 4, TODO: Expand "anus size" to account for values above 4 } } // Attempt to scramble fetus @@ -1746,17 +1746,17 @@ App.PersonalAttention.slaveReport = function(slave) { startLabor(slave); } else if (slave.fetish === Fetish.MASOCHIST && slave.devotion > 20) { r.push(`The destruction you've wrought upon ${his} reproductive organs unsurprisingly`); - r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry,`, "miscarriage")); + r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry,`, ["miscarriage"])); r.push(`but it seems ${he} accepted this inevitability the moment you entered ${him}.`); aborted = true; } else if (slave.fetish === Fetish.MINDBROKEN) { r.push(`The destruction you've wrought upon ${his} reproductive organs unsurprisingly`); - r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry,`, "miscarriage")); + r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry,`, ["miscarriage"])); r.push(`but ${his} broken mind fails to notice it amongst the other damage.`); aborted = true; } else { r.push(`The destruction you've wrought upon ${his} reproductive organs unsurprisingly`); - r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry.`, "miscarriage")); + r.push(App.UI.DOM.makeElement("span", `caused ${him} to miscarry.`, ["miscarriage"])); if (slave.sexualFlaw === "breeder") { r.push(`${He} is`); r.push(App.UI.DOM.makeElement("span", `filled with violent, all-consuming hatred`, ["devotion", "dec"])); @@ -1805,7 +1805,7 @@ App.PersonalAttention.slaveReport = function(slave) { if (slave.fetish === Fetish.MINDBROKEN) { r.push(`At least you're seeking quantity over quality, since the mindbroken ${V.PC.balls > 0 ? "cumdump" : "slut"} brings little to the bedroom.`); } else if (slave.energy < 20) { - r.push(`Since ${he} is sexually frigid, this existance is nothing but`); + r.push(`Since ${he} is sexually frigid, this existence is nothing but`); r.push(App.UI.DOM.makeElement("span", `torment`, ["devotion", "dec"])); r.push(`to ${him}.`); if (bigDick) { @@ -1924,7 +1924,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(App.UI.DOM.makeElement("span", `${his} urges intensifying,`, ["libido", "inc"])); r.push(`${he} feels like ${he} can`); r.push(App.UI.DOM.makeElement("span", `depend on you`, ["trust", "inc"])); - r.push(`to them them in check.`); + r.push(`to keep them in check.`); slave.energy = Math.clamp(slave.energy + 2, 0, 100); slave.devotion += 2; slave.trust += 1; @@ -2011,7 +2011,7 @@ App.PersonalAttention.slaveReport = function(slave) { } else { if (slave.anus === 0) { r.push(`If ${he} was a anal virgin,`); - r.push(App.UI.DOM.makeElement("span", `you've definetly broken in ${his} backdoor;`, ["virginity", "loss"])); + r.push(App.UI.DOM.makeElement("span", `you've definitely broken in ${his} backdoor;`, ["virginity", "loss"])); r.push(`it wasn't on your mind when you started pounding, and it certainly isn't on ${his} with the asspain.`); slave.anus += 1; } else if (bigDick) { @@ -2045,7 +2045,7 @@ App.PersonalAttention.slaveReport = function(slave) { } seX(slave, holeCheck, V.PC, "penetrative", fuckCount); if (V.PC.visualAge < V.minimumSlaveAge && slave.fetish !== Fetish.MINDBROKEN) { - if (slave.behavioralFlaw === "sinful") { + if (slave.behavioralQuirk === "sinful") { r.push(`${He} may try to deny it, but you can tell ${he}`); r.push(App.UI.DOM.makeElement("span", `enjoyed`, ["devotion", "inc"])); r.push(`having sex with an underaged ${girlP}.`); @@ -2081,14 +2081,14 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He}'ll need to`); r.push(App.UI.DOM.makeElement("span", `rest and recover`, ["job", "change"])); r.push(`after being split in half;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to caring for ${his} health`, "noteworthy")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to caring for ${his} health`, ["noteworthy"])); r.push(`so that you may keep an eye on ${him}. You're still pretty horny, though.`); pa.objective = "health"; r.push(assignJob(slave, Job.REST)); } } else if (!isHorny(V.PC)) { r.push(`With your libido back under control, you turn your attention to putting ${his} piesces back where they belong;`); - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to caring for ${his} health.`, "noteworthy")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to caring for ${his} health.`, ["noteworthy"])); pa.objective = "health"; } else { r.push(`While you are managing to keep your libido in check,`); @@ -2164,14 +2164,14 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`With ${his} behavioral flaw trained out,`); if (slave.sexualFlaw === "none") { if (slave.devotion <= 20 && slave.trust >= -20) { - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to breaking ${his} will.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to breaking ${his} will.`, ["yellow"])); pa.objective = "break will"; } else { - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to fostering devotion.`, ["yellow"])); pa.objective = "build devotion"; } } else { - r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to addressing ${his} sexual flaw.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `${his} training assignment has defaulted to addressing ${his} sexual flaw.`, ["yellow"])); pa.objective = "fix sexual flaw"; } } @@ -2415,7 +2415,7 @@ App.PersonalAttention.slaveReport = function(slave) { coloredText.push(`addressing ${his} behavioral flaw.`); pa.objective = "fix behavioral flaw"; } - r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), "yellow")); + r.push(App.UI.DOM.makeElement("span", coloredText.join(" "), ["yellow"])); } break; case "explore sexuality": @@ -2423,7 +2423,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`You set about investigating ${his} sexuality.`); if (slave.devotion < -20 && slave.trust >= -20) { r.push(`${He}'s so resistant that you have to fill ${him} with psychoactive drugs and restrain ${him} painfully in order to learn anything. This abuse`); - r.push(App.UI.DOM.makeElement("span", `increases ${his} hatred.`, "mediumorchid")); + r.push(App.UI.DOM.makeElement("span", `increases ${his} hatred.`, ["mediumorchid"])); slave.devotion -= 5; } else if (slave.devotion <= 20) { r.push(`You anticipate that ${he} won't be sufficiently compliant with some of the extreme practices you mean to investigate, so you give ${him} a hearty dose of aphrodisiacs and place ${him} in bondage gear. ${He} isn't happy, but soon ${he}'s too horny to care.`); @@ -2432,11 +2432,11 @@ App.PersonalAttention.slaveReport = function(slave) { } r.push(`You start off by making ${him} view a medley of pornography while ${V.assistant.name} monitors ${him} for arousal. It seems ${he} is`); if (slave.attrXY <= 5) { - r.push(App.UI.DOM.makeElement("span", `disgusted by men`, "red")); + r.push(App.UI.DOM.makeElement("span", `disgusted by men`, ["red"])); } else if (slave.attrXY <= 15) { - r.push(App.UI.DOM.makeElement("span", `turned off by men`, "red")); + r.push(App.UI.DOM.makeElement("span", `turned off by men`, ["red"])); } else if (slave.attrXY <= 35) { - r.push(App.UI.DOM.makeElement("span", `not attracted to men`, "red")); + r.push(App.UI.DOM.makeElement("span", `not attracted to men`, ["red"])); } else if (slave.attrXY <= 65) { r.push(`indifferent to men,`); } else if (slave.attrXY <= 85) { @@ -2448,11 +2448,11 @@ App.PersonalAttention.slaveReport = function(slave) { } r.push(`and`); if (slave.attrXX <= 5) { - r.push(App.UI.DOM.makeElement("span", `disgusted by women.`, "red")); + r.push(App.UI.DOM.makeElement("span", `disgusted by women.`, ["red"])); } else if (slave.attrXX <= 15) { - r.push(App.UI.DOM.makeElement("span", `turned off by women.`, "red")); + r.push(App.UI.DOM.makeElement("span", `turned off by women.`, ["red"])); } else if (slave.attrXX <= 35) { - r.push(App.UI.DOM.makeElement("span", `not attracted to women.`, "red")); + r.push(App.UI.DOM.makeElement("span", `not attracted to women.`, ["red"])); } else if (slave.attrXX <= 65) { r.push(`indifferent to women.`); } else if (slave.attrXX <= 85) { @@ -2589,17 +2589,17 @@ App.PersonalAttention.slaveReport = function(slave) { case "sadist": case "submissive": r.push(`is a`); - r.push(App.UI.DOM.makeElement("span", `${slave.fetish},`, "coral")); + r.push(App.UI.DOM.makeElement("span", `${slave.fetish},`, ["coral"])); break; case Fetish.MINDBROKEN: r.push(`is`); - r.push(App.UI.DOM.makeElement("span", `mindbroken,`, "red")); + r.push(App.UI.DOM.makeElement("span", `mindbroken,`, ["red"])); break; case "boobs": case "humiliation": case "pregnancy": r.push(`loves`); - r.push(App.UI.DOM.makeElement("span", `${slave.fetish},`, "coral")); + r.push(App.UI.DOM.makeElement("span", `${slave.fetish},`, ["coral"])); break; default: r.push(`lacks a fetish,`); @@ -2616,7 +2616,7 @@ App.PersonalAttention.slaveReport = function(slave) { } else { slave.training = 0; r.push(`${He} begins to think ${himself} special, and is now`); - r.push(App.UI.DOM.makeElement("span", `arrogant.`, "red")); + r.push(App.UI.DOM.makeElement("span", `arrogant.`, ["red"])); slave.behavioralFlaw = "arrogant"; r.push(basicTrainingDefaulter(slave)); } @@ -2628,7 +2628,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} goes along, but remains cautious and will need more practice.`); } else { r.push(`${He} starts making`); - r.push(App.UI.DOM.makeElement("span", `bitchy`, "red")); + r.push(App.UI.DOM.makeElement("span", `bitchy`, ["red"])); r.push(`remarks without being prompted.`); slave.behavioralFlaw = "bitchy"; r.push(basicTrainingDefaulter(slave)); @@ -2648,7 +2648,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to tolerate the abuse.`); } else { r.push(`${He} starts`); - r.push(App.UI.DOM.makeElement("span", `behaving oddly,`, "red")); + r.push(App.UI.DOM.makeElement("span", `behaving oddly,`, ["red"])); r.push(`jumping at noises and mumbling to ${himself}.`); slave.behavioralFlaw = "odd"; r.push(basicTrainingDefaulter(slave)); @@ -2674,7 +2674,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} focuses more on you than on the masculine aspects of this. You'll need to be more subtle next week.`); } else { r.push(`You notice ${him} starting to`); - r.push(App.UI.DOM.makeElement("span", `shoot hateful glances`, "red")); + r.push(App.UI.DOM.makeElement("span", `shoot hateful glances`, ["red"])); r.push(`at any men ${he} sees.`); slave.behavioralFlaw = "hates men"; r.push(basicTrainingDefaulter(slave)); @@ -2693,7 +2693,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} focuses more on you than on the feminine aspects of this. You'll need to be more subtle next week.`); } else { r.push(`You notice ${him} starting to`); - r.push(App.UI.DOM.makeElement("span", `shoot hateful glances`, "red")); + r.push(App.UI.DOM.makeElement("span", `shoot hateful glances`, ["red"])); r.push(`at any vaginas ${he} sees.`); slave.behavioralFlaw = "hates women"; r.push(basicTrainingDefaulter(slave)); @@ -2706,7 +2706,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} eats when ordered, but isn't deeply affected. ${He}'ll need more practice being a pig.`); } else { r.push(`You notice ${him} starting to`); - r.push(App.UI.DOM.makeElement("span", `enjoy eating`, "red")); + r.push(App.UI.DOM.makeElement("span", `enjoy eating`, ["red"])); r.push(`for its own sake, even when ${he}'s not hungry.`); slave.behavioralFlaw = "gluttonous"; r.push(basicTrainingDefaulter(slave)); @@ -2719,7 +2719,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} continues consuming ${his} rations when ordered, and will need further training.`); } else { r.push(`${He} begins to`); - r.push(App.UI.DOM.makeElement("span", `eat only when repeatedly ordered to.`, "red")); + r.push(App.UI.DOM.makeElement("span", `eat only when repeatedly ordered to.`, ["red"])); slave.behavioralFlaw = "anorexic"; r.push(basicTrainingDefaulter(slave)); } @@ -2731,7 +2731,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} keeps ${his} head down and shows no sign of religious introspection, at least this week.`); } else { r.push(`${He} begins to read it when ${he} thinks ${he}'s alone, and`); - r.push(App.UI.DOM.makeElement("span", `talks to God`, "red")); + r.push(App.UI.DOM.makeElement("span", `talks to God`, ["red"])); r.push(`when ${he} thinks only He is listening.`); slave.behavioralFlaw = "devout"; r.push(basicTrainingDefaulter(slave)); @@ -2744,7 +2744,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to endure the abuse, unknowingly condemning ${himself} to more.`); } else { r.push(`A deep`); - r.push(App.UI.DOM.makeElement("span", `anger about slavery`, "red")); + r.push(App.UI.DOM.makeElement("span", `anger about slavery`, ["red"])); r.push(`builds within ${him}.`); slave.behavioralFlaw = "liberated"; r.push(basicTrainingDefaulter(slave)); @@ -2758,7 +2758,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to comply with the oral abuse, unknowingly condemning ${himself} to more.`); } else { r.push(`After gagging enough, ${he} finally starts to`); - r.push(App.UI.DOM.makeElement("span", `hate oral.`, "red")); + r.push(App.UI.DOM.makeElement("span", `hate oral.`, ["red"])); slave.sexualFlaw = "hates oral"; r.push(basicTrainingDefaulter(slave)); } @@ -2774,7 +2774,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to comply with your abuse of ${his} butthole, unknowingly condemning ${himself} to more assrape.`); } else { r.push(`After feeling ${his} poor sphincter grow sorer and sorer, ${he} starts to`); - r.push(App.UI.DOM.makeElement("span", `hate anal.`, "red")); + r.push(App.UI.DOM.makeElement("span", `hate anal.`, ["red"])); slave.sexualFlaw = "hates anal"; r.push(basicTrainingDefaulter(slave)); } @@ -2793,7 +2793,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to comply with your abuse, unknowingly condemning ${himself} to more of it.`); } else { r.push(`After feeling ${his} poor holes grow sorer and sorer, ${he} starts to`); - r.push(App.UI.DOM.makeElement("span", `hate getting fucked.`, "red")); + r.push(App.UI.DOM.makeElement("span", `hate getting fucked.`, ["red"])); slave.sexualFlaw = "hates penetration"; r.push(basicTrainingDefaulter(slave)); } @@ -2805,7 +2805,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to keep ${his} chin up, unknowingly condemning ${himself} to more of this abuse.`); } else { r.push(`${He} wants nothing more than to hide in corner and cry, and is now`); - r.push(App.UI.DOM.makeElement("span", `shamefast.`, "red")); + r.push(App.UI.DOM.makeElement("span", `shamefast.`, ["red"])); slave.sexualFlaw = "shamefast"; r.push(basicTrainingDefaulter(slave)); } @@ -2817,7 +2817,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} doesn't know what to make of this; you'll have to keep at it.`); } else { r.push(`${He} follows along, and is now`); - r.push(App.UI.DOM.makeElement("span", `sexually idealistic.`, "red")); + r.push(App.UI.DOM.makeElement("span", `sexually idealistic.`, ["red"])); slave.sexualFlaw = "idealistic"; r.push(basicTrainingDefaulter(slave)); } @@ -2829,7 +2829,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to keep ${his} chin up, unknowingly condemning ${himself} to more of this abuse.`); } else { r.push(`${He} desperately tries to avoid even thinking about subjects that get ${him} punished, and is now`); - r.push(App.UI.DOM.makeElement("span", `sexually repressed.`, "red")); + r.push(App.UI.DOM.makeElement("span", `sexually repressed.`, ["red"])); slave.sexualFlaw = "repressed"; r.push(basicTrainingDefaulter(slave)); } @@ -2848,7 +2848,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} continues to experience arousal when fucked, and will need more of this treatment.`); } else { r.push(`${He} desperately tries to avoid arousal, and is now`); - r.push(App.UI.DOM.makeElement("span", `sexually apathetic.`, "red")); + r.push(App.UI.DOM.makeElement("span", `sexually apathetic.`, ["red"])); slave.sexualFlaw = "apathetic"; r.push(basicTrainingDefaulter(slave)); } @@ -2867,7 +2867,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} does ${his} best to tolerate the unclean feelings, condemning ${himself} to more of this.`); } else { r.push(`${He} slowly stops caring, and is now`); - r.push(App.UI.DOM.makeElement("span", `sexually crude.`, "red")); + r.push(App.UI.DOM.makeElement("span", `sexually crude.`, ["red"])); slave.sexualFlaw = "crude"; r.push(basicTrainingDefaulter(slave)); } @@ -2884,7 +2884,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} writes this off as bravado, and will need more training.`); } else { r.push(`${He} starts to consider ${himself} reserved for special sexual treatment, and is now`); - r.push(App.UI.DOM.makeElement("span", `sexually judgemental.`, "red")); + r.push(App.UI.DOM.makeElement("span", `sexually judgemental.`, ["red"])); slave.sexualFlaw = "judgemental"; r.push(basicTrainingDefaulter(slave)); } @@ -2902,7 +2902,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys giving you lots of oral, but will need more training to develop psychological addiction to it.`); } else { r.push(`${He} begins to develop a psychological`); - r.push(App.UI.DOM.makeElement("span", `addiction to cum.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `addiction to cum.`, ["yellow"])); slave.sexualFlaw = "cum addict"; r.push(basicTrainingDefaulter(slave)); } @@ -2918,7 +2918,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys all the anal attention, but will need more training to develop psychological addiction to buttsex.`); } else { r.push(`${He} begins to develop a psychological`); - r.push(App.UI.DOM.makeElement("span", `addiction to anal sex.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `addiction to anal sex.`, ["yellow"])); slave.sexualFlaw = "anal addict"; r.push(basicTrainingDefaulter(slave)); } @@ -2936,7 +2936,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys all the humiliation, but will need more training to become a true attention whore.`); } else { r.push(`${He} becomes a`); - r.push(App.UI.DOM.makeElement("span", `true attention whore,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `true attention whore,`, ["yellow"])); r.push(`caring more about the spectators than the sex.`); slave.sexualFlaw = "attention whore"; r.push(basicTrainingDefaulter(slave)); @@ -2948,7 +2948,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys your attention to ${his} favorite part of ${himself}, but doesn't truly internalize your focus on their growth.`); } else { r.push(`${He} begins to believe you despite ${himself}, and becomes`); - r.push(App.UI.DOM.makeElement("span", `obsessed with breast growth.`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `obsessed with breast growth.`, ["yellow"])); slave.sexualFlaw = "breast growth"; r.push(basicTrainingDefaulter(slave)); } @@ -2960,7 +2960,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} has fun, but ${he} continues to enjoy getting off more than getting to use bitches. ${He}'ll need more practice.`); } else { r.push(`${He} becomes`); - r.push(App.UI.DOM.makeElement("span", `sexually abusive,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `sexually abusive,`, ["yellow"])); r.push(`looking over each slave that comes into your office in the hope they'll resist.`); slave.sexualFlaw = "abusive"; r.push(basicTrainingDefaulter(slave)); @@ -2973,7 +2973,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys ${himself}, but still betrays occasional concern when slaves are really broken by what ${he} does to them. ${He}'ll need more practice.`); } else { r.push(`${He} becomes`); - r.push(App.UI.DOM.makeElement("span", `sexually malicious,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `sexually malicious,`, ["yellow"])); r.push(`going so far as to lick tears off ${his} victims' faces.`); slave.sexualFlaw = "malicious"; r.push(basicTrainingDefaulter(slave)); @@ -2992,7 +2992,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} gets off on the pain, but ${his} sense of self isn't seriously affected this week.`); } else { r.push(`${He} becomes`); - r.push(App.UI.DOM.makeElement("span", `sexually self hating,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `sexually self hating,`, ["yellow"])); r.push(`and tearfully begs to you do worse to ${him}, no matter how bad it gets.`); slave.sexualFlaw = "self hating"; r.push(basicTrainingDefaulter(slave)); @@ -3011,7 +3011,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} accepts ${his} utterly submissive role, but ${his} sense of self isn't seriously affected this week.`); } else { r.push(`${He} becomes`); - r.push(App.UI.DOM.makeElement("span", `sexually self neglectful,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `sexually self neglectful,`, ["yellow"])); r.push(`and loses all expectation that those who use ${him} will address ${his} pleasure at all.`); slave.sexualFlaw = "neglectful"; r.push(basicTrainingDefaulter(slave)); @@ -3027,7 +3027,7 @@ App.PersonalAttention.slaveReport = function(slave) { r.push(`${He} enjoys ${himself}, but mostly because of the pleasure. ${He}'ll need more training.`); } else { r.push(`${He} develops an`); - r.push(App.UI.DOM.makeElement("span", `obsession with breeding,`, "yellow")); + r.push(App.UI.DOM.makeElement("span", `obsession with breeding,`, ["yellow"])); r.push(`and begins to stroke ${his} belly in a disturbingly masturbatory way.`); slave.sexualFlaw = "breeder"; r.push(basicTrainingDefaulter(slave)); @@ -3049,18 +3049,18 @@ App.PersonalAttention.slaveReport = function(slave) { slave.trust -= 5; el.append(`${He}'s `); if (slave.devotion > 20) { - App.UI.DOM.appendNewElement("span", el, `desperately confused`, "mediumorchid"); + App.UI.DOM.appendNewElement("span", el, `desperately confused`, ["mediumorchid"]); el.append(` by this treatment, since the effect would be ruined if you explained it to ${him}, and ${his} `); - App.UI.DOM.appendNewElement("span", el, `trust in you is reduced. `, "gold"); + App.UI.DOM.appendNewElement("span", el, `trust in you is reduced. `, ["gold"]); } else if (slave.devotion >= -20) { - App.UI.DOM.appendNewElement("span", el, `confused, depressed`, "mediumorchid"); + App.UI.DOM.appendNewElement("span", el, `confused, depressed`, ["mediumorchid"]); el.append(` and `); - App.UI.DOM.appendNewElement("span", el, `frightened`, "gold"); + App.UI.DOM.appendNewElement("span", el, `frightened`, ["gold"]); el.append(` by this treatment, since the effect would be ruined if you explained it to ${him}. `); } else { - App.UI.DOM.appendNewElement("span", el, `angry`, "mediumorchid"); + App.UI.DOM.appendNewElement("span", el, `angry`, ["mediumorchid"]); el.append(` and `); - App.UI.DOM.appendNewElement("span", el, `afraid`, "gold"); + App.UI.DOM.appendNewElement("span", el, `afraid`, ["gold"]); el.append(` that you would treat ${him} like this. `); } if (slave.energy > 10) { @@ -3080,7 +3080,7 @@ App.PersonalAttention.slaveReport = function(slave) { const {He, him} = getPronouns(slave); slave.trust += 5; el.append(`${He} doesn't understand what you intend by this strange treatment, but it does make ${him} `); - App.UI.DOM.appendNewElement("span", el, `inappropriately trusting. `, "mediumaquamarine"); + App.UI.DOM.appendNewElement("span", el, `inappropriately trusting. `, ["mediumaquamarine"]); } return el; } @@ -3093,26 +3093,26 @@ App.PersonalAttention.slaveReport = function(slave) { const {He, His, his, he} = getPronouns(slave); if (slave.devotion > 20 && slave.behavioralFlaw !== "none" && slave.behavioralQuirk === "none") { el.append(`Since ${he}'s obedient, `); - App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to softening ${his} behavioral flaw. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to softening ${his} behavioral flaw. `, ["yellow"]); pa.objective = "soften behavioral flaw"; } else if ((slave.devotion > 20) && (slave.sexualQuirk === "none") && !App.Data.misc.paraphiliaList.includes(slave.sexualFlaw) && slave.sexualFlaw !== "none") { el.append(`Since ${he}'s obedient, `); - App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to softening ${his} sexual flaw. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to softening ${his} sexual flaw. `, ["yellow"]); pa.objective = "soften sexual flaw"; } else if (slave.devotion > 20 && slave.behavioralFlaw !== "none" && slave.behavioralQuirk !== "none") { el.append(`Since ${he}'s obedient and already has a behavioral quirk, `); - App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to removing ${his} behavioral flaw. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to removing ${his} behavioral flaw. `, ["yellow"]); pa.objective = "fix behavioral flaw"; } else if ((slave.devotion > 20) && !App.Data.misc.paraphiliaList.includes(slave.sexualFlaw) && slave.sexualFlaw !== "none") { el.append(`Since ${he}'s obedient and already has a sexual quirk, `); - App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to removing ${his} sexual flaw. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to removing ${his} sexual flaw. `, ["yellow"]); pa.objective = "fix sexual flaw"; } else if (slave.devotion <= 20 && slave.trust >= -20) { - App.UI.DOM.appendNewElement("span", el, `${His} training assignment has defaulted to breaking ${his} will. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${His} training assignment has defaulted to breaking ${his} will. `, ["yellow"]); pa.objective = "break will"; } else { el.append(`${He} is now fully broken; `); - App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to fostering devotion. `, "yellow"); + App.UI.DOM.appendNewElement("span", el, `${his} training assignment has defaulted to fostering devotion. `, ["yellow"]); pa.objective = "build devotion"; } slave.training = 0; diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js index 32004166b0a..c34387acd49 100644 --- a/src/js/birth/birth.js +++ b/src/js/birth/birth.js @@ -4972,7 +4972,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen r.push(`You groan in displeasure as you feel yourself starting to be edged out of ${his} pussy by another of ${his} brood being born. You sigh and resort to masturbating until the brat is fully born and sent away so you can get back to fucking ${his} baby-stuffed body until you inevitably send ${him} back into labor and this all repeats again.`); } else if (canDoVaginal(slave)) { if (canPenetrate(V.PC) || V.PC.clit >= 3) { - r.push(`You moan with pleasure at the pressure of another of ${his} brood begining to move through ${his} rectum. The feeling of it pushing down against your ${V.PC.clit >= 3 ? "clit" : "dick"} makes everything feel so wonderfully tight. In fact, maybe too tight; you struggle to extract yourself from the clenching orifice before you find your tool painfully crushed. With a stimulating pop, you pull out just as ${his} baby slips from ${his} rectum, climaxing in the`); + r.push(`You moan with pleasure at the pressure of another of ${his} brood beginning to move through ${his} rectum. The feeling of it pushing down against your ${V.PC.clit >= 3 ? "clit" : "dick"} makes everything feel so wonderfully tight. In fact, maybe too tight; you struggle to extract yourself from the clenching orifice before you find your tool painfully crushed. With a stimulating pop, you pull out just as ${his} baby slips from ${his} rectum, climaxing in the`); if (isVirile(V.PC)) { r.push(`process and christening it in a shower of cum.`); } else { -- GitLab