diff --git a/.eslintrc.json b/.eslintrc.json index 043a972497d5e9d3c3a801414bd23311886a777b..592018b2b290d02ba67560e362cf52f9bbf8aabe 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -42,7 +42,7 @@ "padded-blocks": ["error", "never"], "comma-spacing": "error", "comma-style": "error", - "object-curly-newline": ["warn", + "object-curly-newline": ["warn", { "minProperties": 4, "consistent": true diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index fe378c141282b4ec29f3e43dd9162153a6753218..9107cdfbf4e7953da6ae4a359a8a6bda17ed46bc 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -2836,7 +2836,7 @@ LORE: INTERVIEWS <<case "FCTVReceiver">> While nearly indistinguishable from a standard satellite antenna, the satellite dish used to receive FCTV-Citizen content is special because of the unique FCTV Receiver. Utilizing the latest in matched-pair quantum encryption, it is the only device capable of decrypting and encrypting your arcology-specific FCTV content communication. Simple additions to your arcology's existing fiber optics extend the [[FCTV|Encyclopedia][$encyclopedia = "FCTV"]] network to your citizens. In exchange for bearing the cost of the encrypted network, arcology owners get a certain level of control over available content for cultural purposes, and also discounted rates for local advertisement. - <br><br>Some owners choose to have their citizens subsidize the installation: having them pay for fiber to their residence, or possibly even charging for a portion of the receiver. FCTV service experts warn that forcing citizens to bear too much of the cost usually results in angry citizens and many citizens who refuse to pay for access to the service. They suggest that it is in the best interests of FCTV and arcology owners alike to have greater service penetration, as low penetration results in less revenue for 8HGG inc. and less advertising and cultural benefits for owners. + <br><br>Some owners choose to have their citizens subsidize the installation: having them pay for fiber to their residence, or possibly even charging for a portion of the receiver. FCTV service experts warn that forcing citizens to bear too much of the cost usually results in angry citizens and many citizens who refuse to pay for access to the service. They suggest that it is in the best interests of FCTV and arcology owners alike to have greater service penetration, as low penetration results in less revenue for 8HGG Inc. and less advertising and cultural benefits for owners. <<case "Repopulationist Breeding School">> With the sheer number of children being brought into the world in the average Repopulationist society, society had to come up with a way to rear them all. Breeding schools are publicly funded institutions devoted to raising children into future breeders. Their hormone levels are carefully managed both to encourage early puberty and to maximize fertility. Once a class has become sexual active, boys and girls are encouraged to pair off and explore each other's bodies. Virginities are quickly lost, and more often than not, girls find themselves pregnant, usually with multiples. The pairings, or groups should females outnumber males, are encouraged to stay together and form caring family-like units. In addition, girls are taught to enjoy and idolize motherhood, while boys are taught that it is their duty to mount and fuck any non-gravid slave girls they see until pregnancy is assured. Free women are encouraged to avoid the schools, lest they get pinned and gang raped by horny adolescents. While administration respects rape fetishists and their desire to have a rape baby, doing this sets a poor example to the impressionable youths and may lead to the rape and impregnation of other free women later on in their lives. diff --git a/src/js/colorinput.js b/src/js/colorinput.js index 066743e17728444ceeb71145bdbf4b66f7f96bf4..b27365c2e6461c5ad165f26dd88d465f6bee69bc 100644 --- a/src/js/colorinput.js +++ b/src/js/colorinput.js @@ -51,7 +51,7 @@ Macro.add("colorinput", { .on("change", function() { State.setVar(varName, this.value); // eslint-disable-next-line eqeqeq - if (this.value != value) { // If the value has actually changed, reload the page. Note != and not !== because types might be different + if (this.value != value) { // If the value has actually changed, reload the page. Note != and not !== because types might be different gotoPassage(); } }) diff --git a/src/js/economyJS.js b/src/js/economyJS.js index 51eb187d5a8e45004a0d8547bb07439178be29ef..819da686affa66dd8f68379cf623e2fd0b57a000 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1566,7 +1566,7 @@ window.repX = function(rep, what, who) { V.rep = 20000; } - // Rep should never be lower than 0. Record this rounding purely to keep the books balanced. + // Rep should never be lower than 0. Record this rounding purely to keep the books balanced. else if (V.rep < 0) { V.lastWeeksRepIncome.overflow += (0 - V.rep); V.rep = 0; diff --git a/src/js/nurseryWidgets.js b/src/js/nurseryWidgets.js index 92bff88e24a4ed978dacf9ecdca00a8b818e3f01..235a44b457e369530a22b2ad2161f2b8f3705044 100644 --- a/src/js/nurseryWidgets.js +++ b/src/js/nurseryWidgets.js @@ -1,7 +1,7 @@ App.Facilities.Nursery.ChildSummary = function(child) { - const V = State.variables; - let r = ``; - r += `${child} will stay in ${V.nurseryName} for another ${child.weeksLeft} weeks. `; - r += SlaveSummary(child); - return r; + const V = State.variables; + let r = ``; + r += `${child} will stay in ${V.nurseryName} for another ${child.weeksLeft} weeks. `; + r += SlaveSummary(child); + return r; }; diff --git a/src/js/textbox2.js b/src/js/textbox2.js index 50022b705650e3dbfcbe180a82ba59c33fcb2618..a434e8015b787503c360c42c83df75f41f85eba2 100644 --- a/src/js/textbox2.js +++ b/src/js/textbox2.js @@ -73,7 +73,7 @@ Macro.add("textbox2", { }).on("blur", function() { State.setVar(t, valueToNumberIfSame(this.value)); // eslint-disable-next-line eqeqeq - if (this.value != a) { // If the value has actually changed, reload the page. Note != and not !== because types might be different + if (this.value != a) { // If the value has actually changed, reload the page. Note != and not !== because types might be different gotoPassage(); } }) diff --git a/src/pregmod/seFCTVremote.tw b/src/pregmod/seFCTVremote.tw index bf36f34991ecb740b6d9866b4621d45b2e476e10..2d7d9f2c698a31a59ae655268c27805c213664f0 100644 --- a/src/pregmod/seFCTVremote.tw +++ b/src/pregmod/seFCTVremote.tw @@ -52,7 +52,7 @@ /* 000-250-006 */ </span> -You have a gap in your schedule in the morning, and decide to watch some FCTV<<if $Concubine != 0>> with your concubine, @@.pink;$Concubine.slaveName@@<</if>>. No sooner do you begin to watch a random show, than you have a notification that someone is here to see you. It seems to be a tech of some sort, complete with a small utility drone. A camera reveals the back of their shirt, on which is written in block letters "FCTV SERVICE." Incredible. How do these people always find the worst time to stop in. <<if $assistant > 0>>Your assistant shrugs. At a gesture from you, _heA lets $him in.<<else>>You push a button to allow $him to come in.<</if>> This had better be good. +You have a gap in your schedule in the morning, and decide to watch some FCTV<<if $Concubine != 0>> with your concubine, @@.pink;$Concubine.slaveName@@<</if>>. No sooner do you begin to watch a random show, than you have a notification that someone is here to see you. It seems to be a tech of some sort, complete with a small utility drone. A camera reveals the back of $his shirt, on which is written in block letters "FCTV SERVICE." Incredible. How do these people always find the worst time to stop in. <<if $assistant > 0>>Your assistant shrugs. At a gesture from you, _heA lets $him in.<<else>>You push a button to allow $him to come in.<</if>> This had better be good. <br> Presently, the tech enters the room and asks how your FCTV product is working. You tersely reply that it is fine, <<if $FCTVremote == 1>> although you're annoyed you had to purchase your own remote,<<else>> although you find the random nature of the shows a little annoying,<</if>> then ask the tech to cut to the point. $He shifts from one foot to the other, and then sheepishly admits that the service comes with a free remote that allows you to change the channels. Incredible! Why didn't you receive one? "It's, uh, 8HGG Inc policy to distribute remotes only after a trial period." <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> quietly notifies you that "$He's lying. We've had no notification from 8HGG of a visit. It's definitely the same tech as last time; $he's trying to cover up $his mistake on a big contract. <i>They don't know $he's here.</i>" <br> @@ -131,7 +131,7 @@ At the touch of a button, $his drone whirs to a stop and begins to fall to the f <br><br> As the tech wakes up $he finds $himself resting on your couch, with you looking into $his eyes with concern. $He winces in pain and asks what happened. You gravely informed $him that $he must been working very hard and may have been dehydrated: $he passed out. $His back was quite bruised but other than some nausea, your systems report $he should be fine. You encourage $him to keep up $his fluids, then hand $him back $his communicator and mention it looks like $he is going to be late for $his other appointment. With a panicked look on $his face the tech thanks you, seizes $his device and heads out the door followed by $his drone. "I haven't seen that much debt outside of a slave in quite some time," <<if $assistantName == "your personal assistant">>your personal assistant<<else>>$assistantName<</if>> remarks. "$He's fortunate to have that job." <br><br> -The tech, $activeSlave.slaveName, shoves their way through the crowd as quickly as they can. In front of $him no one pays much attention, but the crowd behind begins to titter and even point and laugh. Oblivious, $activeSlave.slaveName arrives at the desired address and pauses to catch a breath. Watching from the eyes of $his drone, you can tell $his back is stiff and $his running had been uncomfortable. You can't help but laugh at $his shirt. Unknown to $activeSlave.slaveName, the entire back of $his shirt has been replaced with a clear panel of similar feeling material. It clearly shows $his $activeSlave.skin skin, as well as $his new tattoo. Like the lettered shirt it replaced it also says "FCTV SERVICE" in identical block letters, but below that it reads +The tech, $activeSlave.slaveName, shoves $his way through the crowd as quickly as $he can. In front of $him no one pays much attention, but the crowd behind begins to titter and even point and laugh. Oblivious, $activeSlave.slaveName arrives at the desired address and pauses to catch a breath. Watching from the eyes of $his drone, you can tell $his back is stiff and $his running had been uncomfortable. You can't help but laugh at $his shirt. Unknown to $activeSlave.slaveName, the entire back of $his shirt has been replaced with a clear panel of similar feeling material. It clearly shows $his $activeSlave.skin skin, as well as $his new tattoo. Like the lettered shirt it replaced it also says "FCTV SERVICE" in identical block letters, but below that it reads <<if $seeDicks == 0>> "for clits." <<elseif $seeDicks == 100>> @@ -148,24 +148,24 @@ You finger your new TV remote, as well as a second remote designed for... <i>oth </div> </div> <</if>> -The door opens, and one of your citizens appears. $activeSlave.slaveName doesn't know it, but you've made a small change to $his calendar. $His new client has a <<if _customer.dick > 0>>legendarily large dick<<else>>legendary love of anal<</if>>, even for $arcologies[0].name. The tech loses their professional façade for a moment, glancing at the customer's <<if _customer.dick > 0>>enormous dick<<else>>hips<</if>> before gulping and gluing their eyes on the customer's face. "Hi, I'm $activeSlave.slaveName from FCTV, and I'm here to take a look at your receiver." +The door opens, and one of your citizens appears. $activeSlave.slaveName doesn't know it, but you've made a small change to $his calendar. $His new client has a <<if _customer.dick > 0>>legendarily large dick<<else>>legendary love of anal<</if>>, even for $arcologies[0].name. The tech loses $his professional façade for a moment, glancing at the customer's <<if _customer.dick > 0>>enormous dick<<else>>hips<</if>> before gulping and gluing $his eyes on the customer's face. "Hi, I'm $activeSlave.slaveName from FCTV, and I'm here to take a look at your receiver." <br> -"Certainly, it's in the bedroom on the bottom shelf." As the tech takes a step forward you touch the first button on your other remote. The tech freezes. You know from the work you did that they would be experiencing a puzzling throbbing or buzzing sensation at the moment. Their smart piercing was installed with a few blockers to pain, but their sense of touch should be very acute, even heightened with some local aphrodisiacs. There is also a vibe deep inside their ass, with a glue that will take some time to wear off. <<if $activeSlave.prostate>>Its buzzing should be impacting their prostrate directly, albeit subtley.<</if>> +"Certainly, it's in the bedroom on the bottom shelf." As the tech takes a step forward you touch the first button on your other remote. The tech freezes. You know from the work you did that $he would be experiencing a puzzling throbbing or buzzing sensation at the moment. $His smart piercing was installed with a few blockers to pain, but $his sense of touch should be very acute, even heightened with some local aphrodisiacs. There is also a vibe deep inside $his ass, with a glue that will take some time to wear off. <<if $activeSlave.prostate>>Its buzzing should be impacting $his prostrate directly, albeit subtly.<</if>> <br> -"Are you ok, <<if $activeSlave.dick > 0>>sir<<else>>ma'am<</if>>?" The customer looks concerned. "It's... it's nothing." The tech replies. What on earth was happening? $He enters the house and follows the customer inside. You can see everything from the drone, and the tech seems to struggle a bit going up the stairs. The customer gestures inside a door, "it's just in here, like I said, bottom shelf." "Thank you!" the tech responds, and you notice $him checking out their <<if _customer.dick > 0>>enormous dick<<else>>hips<</if>> a second time. This time they're a little slower to meet their customer's eyes. It's difficult to tell from the low quality of the drone camera, but you think you can begin to see a question forming there. As the tech passes them and enters the room, even you can hear the sharp intake of breath from the customer. "Everything ok?" $activeSlave.slaveName asks, turning stiffly. "Uh, sure. Yeah." The customer responds. The tech turns back to the TV and the customer stares at their back. You move the drone into the room and subtly find a good angle. Then bump up the vibration on the remote. +"Are you ok, <<if $activeSlave.dick > 0>>sir<<else>>ma'am<</if>>?" The customer looks concerned. "It's... it's nothing." The tech replies. What on earth was happening? $He enters the house and follows the customer inside. You can see everything from the drone, and the tech seems to struggle a bit going up the stairs. The customer gestures inside a door, "it's just in here, like I said, bottom shelf." "Thank you!" the tech responds, and you notice $him checking out _his2 <<if _customer.dick > 0>>enormous dick<<else>>hips<</if>> a second time. This time $he's a little slower to meet $his customer's eyes. It's difficult to tell from the low quality of the drone camera, but you think you can begin to see a question forming there. As the tech passes _him2 and enters the room, even you can hear the sharp intake of breath from the customer. "Everything ok?" $activeSlave.slaveName asks, turning stiffly. "Uh, sure. Yeah." The customer responds. The tech turns back to the TV and the customer stares at $his back. You move the drone into the room and subtly find a good angle. Then bump up the vibration on the remote. <br> -$activeSlave.slaveName stands perfectly still for a moment, clearly not sure what was going on. They'd never been dehydrated before, and surely it always made you feel hot and dizzy. The head of the archology had mentioned nausea, did that cover this odd feeling down below? They felt... horny. +$activeSlave.slaveName stands perfectly still for a moment, clearly not sure what was going on. $He'd never been dehydrated before, and surely it always made you feel hot and dizzy. The head of the archology had mentioned nausea; did that cover this odd feeling down below? $He felt... horny. <br> -The customer quietly placed a hand on their shoulder and the tech jumped several inches. "Like I said, bottom shelf," _he2 repeated softly in $his ear. +The customer quietly places a hand on $his shoulder and the tech jumps several inches. "Like I said, bottom shelf," _he2 repeated softly in $his ear. <br> -The tech slowly lowers themselves to the floor, and as their modified shirt rode up their pants rode down, revealing your second modification: A tramp stamp that read "Shove that upgraded package here." The customer whistles and in an instant grabs a handful of ass. Perfect! The tech tries to stand up and object: "Excuse me sir, what...!" "Hold on baby," the customer replies and you pick that moment to hit the third button. +The tech slowly lowers $himself to the floor, and as $his modified shirt rides up $his pants ride down, they reveal your second modification: a tramp stamp that read "Shove that upgraded package here." The customer whistles and in an instant grabs a handful of ass. Perfect! The tech tries to stand up and object: "Excuse me sir, what...!" "Hold on baby," the customer replies and you pick that moment to hit the third button. <br><br> -Channel 14 had fascinated you. Thanks to this bumbling tech you hadn't been able to see it very often, but the idea of an aphrodisiac that took effect instantly and then quickly vanished seemed incredibly useful to you. How fortunate that it had arrived in time for this moment. The tech would have felt a fairly large liquid *splurt* from the vibe inside their ass that would have been difficult to explain. Equally difficult to explain would be the now undeniably raging vibrations. But as they turn their head and you can see their face on the camera, it's clear none of that matters. "Please," the now flushed tech says. "M...mm my ass." +Channel 14 had fascinated you. Thanks to this bumbling tech you hadn't been able to see it very often, but the idea of an aphrodisiac that took effect instantly and then quickly vanished seemed incredibly useful to you. How fortunate that it had arrived in time for this moment. The tech would have felt a fairly large liquid *splurt* from the vibe inside $his ass that would have been difficult to explain. Equally difficult to explain would be the now undeniably raging vibrations. But as $he turns $his head and you can see $his face on the camera, it's clear none of that matters. "Please," the now flushed tech says. "M...mm my ass." <br><br> <<if _customer.dick == 0>> "Hmmm, I'm not sure I have the right <i>cable</i>." The _woman2 replies with a lewd smirk. "Let me see what I can do." The titanic plug _he2 produces was clearly purchased from the FCTV shopping network, but from the fact it was still in the box _he2 hadn't worked up the guts to try it $himself and hadn't had any other takers either. <br> - Some part of the tech's mind is clearly clawing it's way back toward reason, but the moment passes and they quickly drop their pants and bend over. "Now I want to make sure that the remote works correctly, so start testing it." The bent over tech turns and begins cycling through porn, watching anal insertion after anal insertion. "Annnnnd IN" the _woman2 proclaims. _He2 slowly grinds the plug home, ridges, bumps, warts and all. The tech winds up with their nose pressed into the box, and their lower back pressed into the TV, their butt unable to go higher (or further from the intruder!) Then, with a slip you've seen many times, it slides home. + Some part of the tech's mind is clearly clawing it's way back toward reason, but the moment passes and $he quickly drops $his pants and bend over. "Now I want to make sure that the remote works correctly, so start testing it." The bent over tech turns and begins cycling through porn, watching anal insertion after anal insertion. "Annnnnd IN!" the _woman2 proclaims. _He2 slowly grinds the plug home, ridges, bumps, warts and all. The tech winds up with $his nose pressed into the box, and $his lower back pressed into the TV, $his butt unable to go higher (or further from the intruder!) Then, with a slip you've seen many times, it slides home. <br> "Hmm, let me see. I think I have my OWN remote" the _woman2 says, as _he2 leans back on _his2 bed. Vibration sets in, strong enough that you can see $activeSlave.slaveName's ass quaking from your own suite. The _woman2 leans further back and beings to masturbate, moving _his2 eyes from the porn on the TV to the ass in front of _his2. "Ahh," _he2 says with a bit of malice. "I think..." _he2 stretches "I think your box needs an <i>update</i>." This time you have the drone in place to see the button _he2 presses, so you know it's "Fluid: All." You aren't sure how much "all" is but the dildo is enormous, and you can see the tech's stomach distend. They both come at the same time. <<else>> @@ -177,7 +177,7 @@ Channel 14 had fascinated you. Thanks to this bumbling tech you hadn't been able <br><br> Time passes... <br><br> -It seems the aphrodisiacs are wearing off, and the tech is stirring. Sitting up, they look confused. Time for a call. Once they are standing back in your office, you sternly show them portions of video, explaining how unprofessional their behavior is and how deeply upset you are at the way your citizen was treated. You tell them you know they were on the clock, and you know they were not supposed to be here, CERTAINLY not getting fucked with a mockery of their employer marked on their back. They begin to quake, and beg you to help them. Nice to have the TV company begging you to help <i>them</i>, for once. +It seems the aphrodisiacs are wearing off, and the tech is stirring. Sitting up, $he looks confused. Time for a call. Once $he is standing back in your office, you sternly show $him portions of video, explaining how unprofessional $his behavior is and how deeply upset you are at the way your citizen was treated. You tell $him you know $he was on the clock, and you know $he was not supposed to be here, CERTAINLY not while getting fucked with a mockery of $his employer marked on $his back. $He begins to quake, and begs you to help $him. Nice to have the TV company begging you to help <i>$him</i>, for once. <br> <span id="result"> @@ -224,12 +224,12 @@ It seems the aphrodisiacs are wearing off, and the tech is stirring. Sitting up, <</replace>> <</link>> <</if>> -<br><<link "Let them go">> +<br><<link "Let $him go">> <<replace "#result">> - <br>You consider yourself well repaid for the fun you have had today, and dismiss the tech. They seem incredulous for a second, and then are incredibly thankful. They hobble out of the room as quickly as they can, leaking a little fluid with every step. Naturally, you remember the vibe as soon as they leave. Oh well, it will work itself loose eventually and you have plenty more. A fair exchange, really, one small forgotten tech product for another. + <br>You consider yourself well repaid for the fun you have had today, and dismiss the tech. $He seems incredulous for a second, and then incredibly thankful. $He hobbles out of the room as quickly as $he can, leaking a little fluid with every step. Naturally, you remember the vibe as soon as $he leaves. Oh well, it will work itself loose eventually, and you have plenty more. A fair exchange, really — one small forgotten tech product for another. <</replace>> <</link>> -<br><<link "Let them go but release the footage">> +<br><<link "Let $him go but release the footage">> <<replace "#result">> <br>You know well that in <<if $arcologies[0].FSRomanRevivalist != "unset">> @@ -247,7 +247,7 @@ It seems the aphrodisiacs are wearing off, and the tech is stirring. Sitting up, <<else>> ancient times, <</if>> - exile was the worst punishment. You let them know you have no intention of helping them. In fact, you plan to release video of their scandalous behavior on the web. As their knees quake you again show them slightly doctored video of them eagerly receiving their tattoos, and then undoctored video of them enjoying their "customer service." You doubt 8HGG Inc will be pleased with their enthusiasm for the brand. But, it's not your problem. Begging for mercy, the tech trails a small stream of fluids across the floor as your drones carry him out. A smaller drone follows along cleaning up the mess. As the doors shut, you set the slave remote on max and break it in half over the trash. + exile was the worst punishment. You let $him know you have no intention of helping $him. In fact, you plan to release video of $his scandalous behavior on the web. As $his knees quake you again show $him slightly doctored video of $him eagerly receiving $his tattoos, and then undoctored video of $him enjoying $his "customer service." You doubt 8HGG Inc will be pleased with $his enthusiasm for the brand. But, it's not your problem. Begging for mercy, the tech trails a small stream of fluids across the floor as your drones carry $him out. A smaller drone follows along cleaning up the mess. As the doors shut, you set the slave remote on max and break it in half over the trash. <</replace>> <</link>> </span> diff --git a/src/uncategorized/descriptionOptions.tw b/src/uncategorized/descriptionOptions.tw index 119ea238f1cdff2d68e1a695ba9f31fa2fa6a768..329214ddb72461e73f7ec7a8f5d379192834d56b 100644 --- a/src/uncategorized/descriptionOptions.tw +++ b/src/uncategorized/descriptionOptions.tw @@ -117,9 +117,9 @@ Attractiveness and Sexual scores are Names will <<if $surnameOrder == 0>> - adhere to a slave's country of origin. //[[Force name surname|Description Options][$surnameOrder = 1]]// | //[[Force surname name|Intro Summary][$surnameOrder = 2]]// + adhere to a slave's country of origin. //[[Force name surname|Description Options][$surnameOrder = 1]]// | //[[Force surname name|Description Options][$surnameOrder = 2]]// <<elseif $surnameOrder == 1>> - always be name surname. //[[Allow nationality name order|Description Options][$surnameOrder = 0]]// | //[[Force surname name|Intro Summary][$surnameOrder = 2]]// + always be name surname. //[[Allow nationality name order|Description Options][$surnameOrder = 0]]// | //[[Force surname name|Description Options][$surnameOrder = 2]]// <<elseif $surnameOrder == 2>> - always be name surname. //[[Allow nationality name order|Description Options][$surnameOrder = 0]]// | //[[Force name surname|Intro Summary][$surnameOrder = 1]]// + always be name surname. //[[Allow nationality name order|Description Options][$surnameOrder = 0]]// | //[[Force name surname|Description Options][$surnameOrder = 1]]// <</if>>