diff --git a/sanityCheck.sh b/sanityCheck.sh
index 64f908ff52c0ec800f1c0c68ecdbc4c0cb9ec1e2..a9b919314930efd96725e8ec6b1c08de17f5abc8 100755
--- a/sanityCheck.sh
+++ b/sanityCheck.sh
@@ -119,6 +119,8 @@ $GREP "<<[a-zA-Z]\([^\"'>]\|[^\"'>]>[^\"'>]\)*[a-zA-Z][.][^a-zA-Z]" | myprint "S
 # Check for @@.  instead of .@@
 $GREP -E "@@(\.|,|;|:)\s" -- src/*.tw | myprint "WrongSelectorPunctuation"
 $GREP "@@[a-z]\+;" -- 'src/*' | myprint "SelectorMissingDot"
+# Check for </span>.  instead of .</span>
+$GREP -E "</span>(\.|,|;|:)\s" -- src/*.js | myprint "WrongSelectorPunctuation"
 
 # Check that we do not have any variables that we use only once.   e.g.	 $onlyUsedOnce
 # Ignore  *Nationalities
diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js
index de8ec63a98775103924d5c6af53bb6d93728ef18..326f02f17bc06a1c0d0e529a53ab6e1533dfb6a3 100644
--- a/src/SpecialForce/SpecialForce.js
+++ b/src/SpecialForce/SpecialForce.js
@@ -431,7 +431,7 @@ window.SFReport = function() {
 	r += ` The goods procured by ${V.SF.Lower} after accounting for the spoils retained by individual soldiers were `;
 
 	if (profit > 0) {
-		r += `<span class='green'>more than sufficient to cover expenses</span>. Excess material and human assets totaling <span class='yellowgreen'>${cashFormat(income)}</span> (after liquidation) were transferred to your accounts.`;
+		r += `<span class='green'>more than sufficient to cover expenses.</span> Excess material and human assets totaling <span class='yellowgreen'>${cashFormat(income)}</span> (after liquidation) were transferred to your accounts.`;
 		if (V.economy < 100) r += ` The rapidly degrading global economy has one upside,<span class='green'> ${V.SF.Caps} was able to more easily use more 'persuasive' techniques thus leading to an increase in profit</span>.`;
 	} else {
 		r += `<span class='red'>barely enough to cover expenses.</span> More growth will be needed to ensure profitability, <span class='yellow'>hopefully purchasing more upgrades will help</span>.`;
@@ -1091,7 +1091,7 @@ window.UnitText = function(input) {
 			}
 			V.Cash -= cost;
 			V.SF.FS.Upgrade = 1;
-			<</link>> //costs <span class='yellowgreen'>${cashFormat($Cost)}</span>, `;
+			<</link>> //costs <span class='yellowgreen'>${cashFormat($Cost)},</span> `;
 			if (ArraryName !== 'ColonelGift') { text += `increases`;
 				} else { text += `reduces`; } text += ` The Colonel's annoyance by 15%`;
 			if (ArraryName !== 'ColonelGift') { text += ` and will increase the acceptance of this FS by `;
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index 6fe6c24df528e8856544255ab22b81883517ecdc..c78991ea1a410e5074e49b1592e5540b12b3be5f 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -21,14 +21,14 @@ window.saServant = /** @param {App.Entity.SlaveState} slave */ function saServan
 			if (V.Stewardess !== 0) {
 				t += ` This brings ${him} under ${V.Stewardess.slaveName}'s supervision. The Stewardess `;
 				if (slave.devotion < -20) {
-					t += `subjects ${him} to <span class='gold'>corrective rape</span> when ${his} service is imperfect, <span class='hotpink'>when ${he} steps out of line</span>, or when the Stewardess just feels like raping ${him}, forcing the poor slave to <span class='yellowgreen'>find refuge in work.</span>`;
+					t += `subjects ${him} to <span class='gold'>corrective rape</span> when ${his} service is imperfect, <span class='hotpink'>when ${he} steps out of line,</span> or when the Stewardess just feels like raping ${him}, forcing the poor slave to <span class='yellowgreen'>find refuge in work.</span>`;
 					slave.devotion += 2;
 					slave.trust -= 2;
 				} else if (slave.devotion <= 20) {
 					t += `molests ${him}, encouraging the poor slave to <span class='hotpink'>keep ${his} head down</span> and <span class='yellowgreen'>work harder.</span>`;
 					slave.devotion += 2;
 				} else {
-					t += `uses <span class='hotpink'>sex as a reward</span>, getting ${him} off when ${he} <span class='yellowgreen'>works harder.</span>`;
+					t += `uses <span class='hotpink'>sex as a reward,</span> getting ${him} off when ${he} <span class='yellowgreen'>works harder.</span>`;
 					slave.devotion++;
 				}
 				if (!(canHear(slave))) {
diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js
index c9d03bb0aabd8c35f9e0b7ef4289e7bebaf9d4a8..fc19ef8a68b060bad0d034422a36199f5778647d 100644
--- a/src/endWeek/saWorkAGloryHole.js
+++ b/src/endWeek/saWorkAGloryHole.js
@@ -308,14 +308,14 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 		/* SEX ACT COUNTS AND SEXUAL SATISFACTION */
 
 		let oralUse = (V.oralUseWeight + (slave.lips / 20));
-		let analUse;
+		analUse = 0;
 		if (canDoAnal(slave)) {
 			analUse = V.analUseWeight - slave.anus;
 			if (analUse < 0) {
 				analUse = 0;
 			}
 		}
-		let vaginalUse;
+		vaginalUse = 0;
 		if (canDoVaginal(slave)) {
 			vaginalUse = V.vaginalUseWeight - slave.vagina;
 			if (vaginalUse < 0) {
diff --git a/src/facilities/nursery/longChildDescription.tw b/src/facilities/nursery/longChildDescription.tw
index 22c06a20d683fc445791605aa76b805b1b2cc512..60ab771b900337dd88e5b0ba63cf08eeddcf40dd 100644
--- a/src/facilities/nursery/longChildDescription.tw
+++ b/src/facilities/nursery/longChildDescription.tw
@@ -327,7 +327,7 @@ is
 			women.
 		<</if>>
 	<<elseif ($activeChild.behavioralFlaw == "anorexic")>>
-		$He suffers from @@.red;anorexia@@.
+		$He suffers from @@.red;anorexia.@@
 	<<elseif ($activeChild.behavioralFlaw == "gluttonous")>>
 		$He @@.red;tends to overeat@@ whenever $he can, reacting to the rigors of sexual slavery with overeating.
 	<</if>>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 7b74b8c585761df7197fa4355580a412f4646cf3..1094954027f819c251cb616175fe58d6955e144f 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -925,6 +925,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $FCTVreceiver = 0>>
 <<set $receiverAvailable = 0>>
 <<set $FCTVshow = 0>>
+<<set $FCTVremote = 0>>
 <<set $lastShow = 0>>
 <<set $randShow = 0>>
 <<set $MercenariesMessageSent = 0>>
diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js
index 6812e51f7ab6c9c7d4cd950f4cc19eadb9e962ee..d60f6c1244dc61b918f70931dc471c055f043b7c 100644
--- a/src/interaction/main/mainLinks.js
+++ b/src/interaction/main/mainLinks.js
@@ -160,7 +160,7 @@ App.UI.View.MainLinks = function() {
 			if (typeof V.limbs[j] === 'object' || getSlave(V.limbs[j].ID) !== undefined) {
 				let i = V.slaveIndices[V.limbs[j].ID];
 				if (V.limbs[j].weeksToCompletion <= 0) {
-					r += `<br><span class=yellow>The facility has completed a set of limbs for</span> <span id="name"><<print "[[SlaveFullName($slaves[${i}])|Slave Interact][$activeSlave = $slaves[${i}]]]">></span>, <span class=yellow> which is ready to be attached.</span>`;
+					r += `<br><span class=yellow>The facility has completed a set of limbs for</span> <span id="name"><<print "[[SlaveFullName($slaves[${i}])|Slave Interact][$activeSlave = $slaves[${i}]]]">>,</span> <span class=yellow> which is ready to be attached.</span>`;
 				}
 			} else {
 				V.limbs.splice(j, 1);
diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index aef40e98e359f81912bacc961b19838d71a82f97..dba381646aa4cef8c6eddd9eb787247e29f4b25d 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -1,9 +1,8 @@
-App.Desc.eyes =
 /**
  * @param {App.Entity.SlaveState} slave
- * @return {string} Slave's eyes
+ * @return {string} The slave's eyes
  */
-function (slave) {
+App.Desc.eyes = function (slave) {
 	"use strict";
 	const V = State.variables;
 	let r = ``;
@@ -52,9 +51,9 @@ function (slave) {
 			} else {
 				r += `${he} is so <span class=deepskyblue>brilliant</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
-					r += `meager `;
+					r += `meager`;
 				} else {
-					r += `lack of `;
+					r += `lack of`;
 				}
 				r += ` education is unimportant.`;
 			}
@@ -80,7 +79,7 @@ function (slave) {
 			if (slave.intelligence + slave.intelligenceImplant > 50) {
 				r += `but ${his} face is alive with intelligence; with ${his} education, ${he} can be considered <span class=deepskyblue>highly intelligent.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class=deepskyblue>above average intelligence</span> and `;
+				r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class=deepskyblue>above average intelligence</span> and`;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
@@ -118,11 +117,11 @@ function (slave) {
 			} else if (slave.intelligenceImplant >= 15) {
 				r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class=orangered>quite stupid</span> despite having `;
 				if (slave.intelligenceImplant >= 30) {
-					r += `an advanced `;
+					r += `an advanced`;
 				} else {
-					r += `some `;
+					r += `some`;
 				}
-				r += `education.`;
+				r += ` education.`;
 			} else {
 				r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class=orangered>quite stupid</span> and ignorant.`;
 			}
@@ -138,7 +137,7 @@ function (slave) {
 		}
 	} else {
 		if (slave.intelligence > 95) {
-			r += `${His} ${App.Desc.eyeColor(slave)}-eyed gaze is incisive, quick, cunning; `;
+			r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; `;
 			if (slave.intelligence + slave.intelligenceImplant >= 130) {
 				r += `with ${his} education, ${he} is so far <span class=deepskyblue>beyond brilliant</span> that ${he} is nearly peerless.`;
 			} else if (slave.intelligenceImplant >= 15) {
@@ -150,33 +149,33 @@ function (slave) {
 			} else {
 				r += `${he} is so <span class=deepskyblue>brilliant</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
-					r += `meager `;
+					r += `meager`;
 				} else {
-					r += `lack of `;
+					r += `lack of`;
 				}
-				r += `education is unimportant.`;
+				r += ` education is unimportant.`;
 			}
 		} else if (slave.intelligence > 50) {
-			r += `${His} ${App.Desc.eyeColor(slave)}-eyed gaze is incisive, quick, cunning; `;
-			if (slave.intelligence + slave.intelligenceImplant >= 95) {
-				r += `${His} ${App.Desc.eyeColor(slave)} eyes are alive with intelligence; ${he} is both <span class=deepskyblue>highly intelligent</span> and `;
+			if (slave.intelligence + slave.intelligenceImplant > 95) {
+				r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class=deepskyblue>brilliant.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `well `;
+				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is both <span class=deepskyblue>highly intelligent</span> and `;
 				if (slave.intelligenceImplant >= 30) {
-					r += `educated.`;
+					r += `well `;
 				}
+				r += `educated.`;
 			} else {
-				r += `${His} ${App.Desc.eyeColor(slave)} eyes are alive with intelligence; ${he} is so <span class=deepskyblue>highly intelligent</span> that ${his} `;
+				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is so <span class=deepskyblue>highly intelligent</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
-					r += `meager `;
+					r += `meager`;
 				} else {
-					r += `lack of `;
+					r += `lack of`;
 				}
-				r += `education is unimportant.`;
+				r += ` education is unimportant.`;
 			}
 		} else if (slave.intelligence > 15) {
-			r += `${His} ${App.Desc.eyeColor(slave)} eyes are `;
-			if (slave.intelligence + slave.intelligenceImplant >= 50) {
+			r += `${His} ${slave.eyeColor} eyes are `;
+			if (slave.intelligence + slave.intelligenceImplant > 50) {
 				r += `alive with intelligence; with ${his} education, ${he} can be considered <span class=deepskyblue>highly intelligent.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
 				r += `clever; ${he} is of <span class=deepskyblue>above average intelligence</span> and `;
@@ -188,11 +187,11 @@ function (slave) {
 				r += `clever; ${he} is of <span class=deepskyblue>above average intelligence</span> despite being undereducated.`;
 			}
 		} else if (slave.intelligence >= -15) {
-			r += `${His} ${App.Desc.eyeColor(slave)} eyes are `;
-			if (slave.intelligence + slave.intelligenceImplant >= 15) {
+			r += `${His} ${slave.eyeColor} eyes are `;
+			if (slave.intelligence + slave.intelligenceImplant > 15) {
 				r += `clever; with ${his} education, ${he} can be considered of <span class=deepskyblue>above average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `alert; ${he} is of average intelligence due to being `;
+				r += `alert; ${he} is of average intelligence due to being`;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
@@ -201,35 +200,35 @@ function (slave) {
 				r += `alert; ${he} is of average intelligence and is undereducated.`;
 			}
 		} else if (slave.intelligence >= -50) {
-			r += `${His} ${App.Desc.eyeColor(slave)} eyes are `;
+			r += `${His} ${slave.eyeColor} eyes are `;
 			if (slave.intelligence + slave.intelligenceImplant >= -15) {
 				r += `alert; with ${his} education, ${he} can be considered of average intelligence.`;
 			} else if (slave.intelligenceImplant >= 15) {
 				r += `dim; ${he} is of <span class=orangered>below average intelligence</span> despite having been `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `thoroughly `;
-				} else {
-					r += `educated.`;
 				}
-				r += `dim; ${he} is of <span class=orangered>below average intelligence</span> and is poorly educated.`;
+				r += `educated.`;
 			} else {
-				r += `dim; even with ${his} education, ${he} can only be considered of <span class=orangered>below average intelligence.</span>`;
+				r += `dim; ${he} is of <span class=orangered>below average intelligence</span> and is poorly educated.`;
 			}
 		} else if (slave.intelligence >= -95) {
-			r += `${His} ${App.Desc.eyeColor(slave)} eyes are `;
+			r += `${His} ${slave.eyeColor} eyes are `;
 			if (slave.intelligence + slave.intelligenceImplant >= -50) {
-				r += `dull; ${he} is <span class=orangered>quite stupid</span> despite having `;
+				r += `dim; even with ${his} education, ${he} can only be considered of <span class=orangered>below average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `an advanced `;
+				r += `dull; ${he} is <span class=orangered>quite stupid</span> despite having `;
 				if (slave.intelligenceImplant >= 30) {
-					r += `some `;
+					r += `an advanced`;
+				} else {
+					r += `some`;
 				}
-				r += `education.`;
+				r += ` education.`;
 			} else {
 				r += `dull; ${he} is <span class=orangered>quite stupid</span> and ignorant.`;
 			}
 		} else {
-			r += `${His} ${App.Desc.eyeColor(slave)}-eyed gaze betrays near-total insensibility; `;
+			r += `${His} ${slave.eyeColor}-eyed gaze betrays near-total insensibility; `;
 			if (slave.intelligence + slave.intelligenceImplant >= -95) {
 				r += `even with ${his} education, ${he} is still <span class=orangered>really stupid.</span>`;
 			} else if (slave.intelligenceImplant > 0) {
@@ -242,12 +241,11 @@ function (slave) {
 	return r;
 }
 
-App.Desc.eyeColor =
 /**
  * @param {App.Entity.SlaveState} slave
  * @returns {string} Slave's eye color
  */
-function (slave) {
+App.Desc.eyeColor = function (slave) {
 	"use strict";
 	let r;
 
@@ -259,12 +257,11 @@ function (slave) {
 	return r;
 }
 
-App.Desc.ageAndHealth =
 /**
  * @param {App.Entity.SlaveState} slave
- * @returns {string}
+ * @returns {string} The slave's age and health
  */
-function (slave) {
+App.Desc.ageAndHealth = function (slave) {
 	"use strict";
 	const V = State.variables;
 	let r = ``;
@@ -280,6 +277,7 @@ function (slave) {
 	let He = capFirstChar(he);
 	let His = capFirstChar(his);
 	/* eslint-enable */
+	let age;
 
 	(boy === "girl" ? woman = "woman" : woman = "man");
 
@@ -297,34 +295,33 @@ function (slave) {
 		} else {
 			r += `${He} almost gleams; ${he}'s in the absolute <span class=green>best of health,</span>`;
 		}
-		r += ` and `;
-		let age = slave.actualAge + 1;
-		r += `${he}'s `;
+		age = slave.actualAge + 1;
+		r += ` and ${he}'s `;
 		if (slave.birthWeek >= 52 && V.seeAge) {
-			r += `going to turn ${age} this week. ${He}'s `;
+			r += `going to turn ${age} this week, `;
 		} else if (slave.actualAge < 3) {
-			r += `an infant, `;
+			r += `an infant, only `;
 			if (V.showAgeDetail) {
-				if (slave.actualAge === 0) {
-					r += `${0+V.week-slave.weekAcquired} weeks`;
-				} else if (slave.actualAge === 1) {
+				if (!slave.actualAge) {
+					r += `${0+$week-slave.weekAcquired} weeks`;
+				} else if (slave.actualAge) {
 					r += `${num(slave.actualAge)} year`;
 				} else {
 					r += `${num(slave.actualAge)} years`;
 				}
-				r += `old. `;
-			}
-			if (V.seeAge) {
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+				r += ` old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
+					if (slave.birthWeek === 51) {
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
+					}
 				}
 			} else {
-				r += `only `;
-				if (slave.actualAge === 0) {
-					r += `${0+V.week-slave.weekAcquired} weeks`;
-				} else if (slave.actualAge === 1) {
+				if (!slave.actualAge) {
+					r += `${0+$week-slave.weekAcquired} weeks`;
+				} else if (slave.actualAge) {
 					r += `${num(slave.actualAge)} year`;
 				} else {
 					r += `${num(slave.actualAge)} years`;
@@ -334,99 +331,103 @@ function (slave) {
 		} else if (slave.actualAge < 5) {
 			r += `a toddler, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.seeAge) {
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
 					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week.`;
+						r += `${his} birthday is next week`;
 					} else {
-						r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 					}
-				} else {
-					r += ` only ${num(slave.actualAge)} years old.`;
 				}
+			} else {
+				r += `only ${num(slave.actualAge)} years old.`;
 			}
 		} else if (slave.actualAge < 13) {
-			r += `a little ${boy}, `;
+			r += `a little $girl, `;
 			if (V.showAgeDetail) {
-				if (V.seeAge) {
-					r += `${num(slave.actualAge)} years old; `;
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
 					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week.`;
+						r += `${his} birthday is next week`;
 					} else {
-						r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 					}
-				} else {
-					r += ` only ${num(slave.actualAge)} years old.`;
 				}
+			} else {
+				r += `only ${num(slave.actualAge)} years old.`;
 			}
 		} else if (slave.actualAge < 16) {
 			r += `almost a child, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.seeAge) {
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
 					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week.`;
+						r += `${his} birthday is next week`;
 					} else {
-						r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 					}
-				} else {
-					r += `less than 17 years old.`;
 				}
+			} else {
+				r += `less than 17 years old.`;
 			}
 		} else if (slave.actualAge < 17) {
-			r += `young and fresh at ${num(slave.actualAge)}; `;
-			if (V.showAgeDetail && (V.seeAge)) {
+			r += `young and fresh at ${num(slave.actualAge)}`;
+			if (V.showAgeDetail && V.seeAge !== 0) {
 				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
+					r += `${his} birthday is next week`;
 				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks`;
+					r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 				}
 			}
 		} else if (slave.actualAge < 18) {
-			r += `young, fresh, and nearly 18; `;
-			if (V.showAgeDetail && (V.seeAge)) {
+			r += `young, fresh, and nearly 18`;
+			if (V.showAgeDetail && V.seeAge !== 0) {
 				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
+					r += `${his} birthday is next week`;
 					if (V.seeAge) {
-						r += `people are already beginning to eye ${him}`;
+						r += `and people are already beginning to eye ${him}`;
 					}
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
 				}
 			}
+			r += `. `;
 		} else if (slave.actualAge < 19) {
-			if (slave.birthWeek === 0 && V.seeAge) {
+			if (!slave.birthWeek && V.seeAge) {
 				r += `just turned ${num(slave.actualAge)} this week, which many citizens find especially appealing.`;
 			} else if (slave.birthWeek < 4 && V.seeAge) {
 				r += `only turned ${num(slave.actualAge)} this month.`;
 			} else {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.showAgeDetail && (V.seeAge)) {
+				r += `${num(slave.actualAge)} years old`;
+				if (V.showAgeDetail && V.seeAge !== 0) {
 					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week.`;
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 					}
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
 				}
 			}
 		} else if (slave.actualAge < 20) {
-			r += `in ${his} final year as a teenager at age 19; `;
-			if (V.showAgeDetail && (V.seeAge)) {
+			r += `in ${his} final year as a teenager at age 19 `;
+			if (V.showAgeDetail && V.seeAge !== 0) {
 				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
+					r += `${his} birthday is next week`;
 				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+					r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 				}
 			}
 		} else if (slave.actualAge < 26) {
 			r += `a young ${woman}, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.seeAge);
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
+					if (slave.birthWeek === 51) {
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
+					}
 				}
 			} else {
 				r += `in ${his} early twenties.`;
@@ -434,201 +435,204 @@ function (slave) {
 		} else if (slave.actualAge < 30) {
 			r += `a younger ${woman}, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.seeAge);
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
+					if (slave.birthWeek === 51) {
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
+					}
 				}
 			} else {
 				r += `in ${his} late twenties.`;
 			}
 		} else if (slave.actualAge < 36) {
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old; `;
-				if (V.seeAge);
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+				r += `${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
+					if (slave.birthWeek === 51) {
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
+					}
 				}
 			} else {
 				r += `in ${his} early thirties.`;
 			}
 		} else if (slave.actualAge < 40) {
-			r += `middle-aged for a slave`;
+			r += `middle-aged for a slave, `;
 			if (V.showAgeDetail) {
-				r += ` at ${num(slave.actualAge)} years old; `;
-				if (V.seeAge);
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week.`;
-				} else {
-					r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+				r += `at ${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
+					r += `; `;
+					if (slave.birthWeek === 51) {
+						r += `${his} birthday is next week`;
+					} else {
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
+					}
 				}
 			} else {
-				r += `, in ${his} late thirties.`;
+				r += `in ${his} late thirties.`;
 			}
 		} else {
+			r += `old for a slave, `;
 			if (V.showAgeDetail) {
-				r += `old for a slave, at ${num(slave.actualAge)} years old; `;
-				if (V.seeAge) {
+				r += `at ${num(slave.actualAge)} years old`;
+				if (V.seeAge !== 0) {
 					r += `; `;
 					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week.`;
+						r += `${his} birthday is next week`;
 					} else {
-						r += `${his} birthday is in ${num(52-slave.birthWeek)} weeks.`;
+						r += `${his} birthday is in ${52-slave.birthWeek} weeks.`;
 					}
 				}
 			} else {
-				if (slave.actualAge < 70) {
-					r += `old for a slave, `;
-					if (slave.actualAge < 50) {
-						r += `in ${his} forties.`;
-					} else if (slave.actualAge < 60) {
-						r += `in ${his} fifties`;
-					}
+				if (slave.actualAge < 50) {
+					r += `in ${his} forties.`;
+				} else if (slave.actualAge < 60) {
+					r += `in ${his} fifties. `;
 				} else if (slave.actualAge < 70) {
 					r += `extremely old for a slave, in ${his} 60s.`;
 				} else if (slave.actualAge < 80) {
-					r += `extremely old for a slave, in ${his} 70s.`;
+					r += `extremely old for a slave, in ${his} ${num(70)}s.`;
 				} else if (slave.actualAge < 90) {
-					r += `extremely old for a slave, in ${his} 80s.`;
+					r += `extremely old for a slave, in ${his} r += ${num(80)}s.`;
 				} else if (slave.actualAge < 100) {
-					r += `extremely old for a slave, in ${his} 90s.`;
+					r += `extremely old for a slave, in ${his} r += ${num(90)}s.`;
 				} else if (slave.actualAge >= 100) {
 					r += `ancient by any measure, over a century old.`;
 				}
 			}
-		}
-		if (slave.actualAge !== slave.physicalAge) {
-			r += ` However, ${he} has the body of a ${num(slave.physicalAge)}-year old; `;
-			if (slave.physicalAge < 18 && slave.actualAge >= 18) {
-				r += `a stark contrast given ${his} maturity.`;
-			} else if (slave.physicalAge < 18 && slave.actualAge < 18) {
-				r += `a noticeable difference thanks to ${his} immaturity.`;
-			} else if (slave.physicalAge <= slave.actualAge - 20 || slave.physicalAge > slave.actualAge + 20) {
-				r += `a shocking difference from ${his} actual age.`;
-			} else if (slave.physicalAge <= slave.actualAge - 10 || slave.physicalAge > slave.actualAge + 10) {
-				r += `a noticeable difference from ${his} actual age.`;
-			} else if (slave.physicalAge <= slave.actualAge - 5 || slave.physicalAge > slave.actualAge + 5) {
-				r += `a barely noticeable difference from ${his} actual age.`;
-			} else {
-				r += `though it is hard to tell the difference from ${his} actual age. `;
-			}
-		}
-		/*
-		 ** This section replaces the age/therapy texts, giving more details for the NCS condition.
-		 */
-		if (slave.geneMods.NCS) {
-			let bodyNCS;
-			if ((slave.vagina < 0) && (slave.dick <= 0)) {
-				bodyNCS = 'childlike'
-			} else if ((slave.vagina < 0) && (slave.dick > 0)) {
-				bodyNCS = 'shota'
-			} else if ((slave.vagina > 0) && (slave.dick <= 0)) {
-				bodyNCS = 'loli'
-			} else {
-				bodyNCS = 'loli/shota'
-			}
-
-			r += `${He} appears to be ${slave.visualAge} years old `;
-			if (slave.visualAge <= 8) {
-				r += `and ${he} has induced <span class=orange>NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives.`;
-			} else if ((slave.visualAge < 13)) {
-				r += `and ${he} has induced <span class=orange>NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life.`;
-			} else if ((slave.visualAge < 20)) {
-				r += `and ${he} still has a teen body for now, but with ${his} <span class=orange>NCS,</span> ${he} will eventually regress in age to look like a little ${boy} again.`;
-			} else {
-				r += `and ${he} still has the body of an adult, but ${his} <span class=orange>NCS</span> has `;
-				if ((slave.physicalAge - slave.visualAge <= 5)) {
-					r += `not really begun to youthen ${his} appearance yet.`;
-				} else if ((slave.physicalAge - slave.visualAge <= 10)) {
-					r += `clearly been at work on ${him}, making ${him} appear younger.`;
-				} else if ((slave.physicalAge - slave.visualAge <= 20)) {
-					r += `obviously helped take more than a decade off of ${his} age.`;
+			if (slave.actualAge !== slave.physicalAge) {
+				r += `However, ${he} has the body of a ${num(slave.physicalAge)}-year-old;`;
+				if (slave.physicalAge < 18 && slave.actualAge >= 18) {
+					r += `a stark contrast given ${his} maturity.`;
+				} else if (slave.physicalAge < 18 && slave.actualAge < 18) {
+					r += `a noticeable difference thanks to ${his} immaturity.`;
+				} else if (slave.physicalAge <= slave.actualAge - 20 || slave.physicalAge >= slave.actualAge + 20) {
+					r += `a shocking difference from ${his} actual age.`;
+				} else if (slave.physicalAge <= slave.actualAge - 10 || slave.physicalAge >= slave.actualAge + 10) {
+					r += `a noticeable difference from ${his} actual age.`;
+				} else if (slave.physicalAge <= slave.actualAge - 5 || slave.physicalAge >= slave.actualAge + 5) {
+					r += `a barely noticeable difference from ${his} actual age.`;
 				} else {
-					r += `intensely youthened ${him}.`;
+					r += `though it is hard to tell the difference from ${his} actual age.`;
 				}
 			}
-		} else if (slave.physicalAge !== slave.visualAge) {
-			if (slave.visualAge <= slave.physicalAge - 20 || slave.visualAge >= slave.physicalAge + 20) {
-				r += `${He} has undergone radical age therapy that makes ${him} look `;
-			} else if (slave.visualAge <= slave.physicalAge - 10 || slave.visualAge > slave.physicalAge + 10) {
-				r += `${He} has undergone drastic age therapy that makes ${him} look `;
-			} else if (slave.visualAge <= slave.physicalAge - 5 || slave.visualAge > slave.physicalAge + 5) {
-				r += `${He} has undergone noticeable age therapy that makes ${him} look `;
-			} else {
-				r += `For various reasons, ${he} looks `;
-			}
-			if (slave.physicalAge > slave.visualAge) {
-				if (slave.physicalAge < slave.visualAge + 5) {
-					r += `a slightly younger ${slave.visualAge}.`;
-				} else if (slave.visualAge < 20) {
-					r += `like ${he}'s barely an adult.`;
-				} else if (slave.visualAge < 25) {
-					r += `barely into ${his} early twenties.`;
-				} else if (slave.visualAge < 30) {
-					r += `like ${he}'s still in ${his} twenties.`;
-				} else if (slave.visualAge < 35) {
-					r += `barely thirty.`;
-				} else if (slave.visualAge < 40) {
-					r += `still in ${his} thirties.`;
-				} else if (slave.visualAge < 45) {
-					r += `barely forty.`;
-				} else if (slave.visualAge < 50) {
-					r += `still in ${his} forties.`;
-				} else if (slave.visualAge < 55) {
-					r += `barely fifty.`;
-				} else if (slave.visualAge < 60) {
-					r += `still in ${his} fifties.`;
-				} else if (slave.visualAge < 65) {
-					r += `barely sixty.`;
-				} else if (slave.visualAge < 70) {
-					r += `still in ${his} sixties.`;
-				} else if (slave.visualAge < 75) {
-					r += `barely seventy.`;
-				} else if (slave.visualAge < 80) {
-					r += `still in ${his} seventies.`;
+			/*
+			 ** This section replaces the age/therapy texts, giving more details for the NCS condition.
+			 */
+			if (slave.geneMods.NCS) {
+				if (slave.vagina < 0 && slave.dick <= 0) {
+					bodyNCS = 'childlike';
+				} else if (slave.vagina < 0 && slave.dick > 0) {
+					bodyNCS = 'shota';
+				} else if (slave.vagina > 0 && slave.dick <= 0) {
+					bodyNCS = 'loli';
 				} else {
-					r += `a younger ${slave.visualAge}.`;
+					bodyNCS = 'loli/shota';
 				}
-			} else {
-				if (slave.physicalAge > slave.visualAge - 5) {
-					r += `a slightly older ${slave.visualAge}.`;
+	
+				r += `${He} appears to be slave.visualAge years old`;
+				if (slave.visualAge <= 8) {
+					r += `and ${he} has induced <span class=orange>NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives.`;
+				} else if (slave.visualAge < 13) {
+					r += `and ${he} has induced <span class=orange>NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life.`;
 				} else if (slave.visualAge < 20) {
-					r += `like a fresh adult.`;
-				} else if (slave.visualAge < 25) {
-					r += `just over twenty.`;
-				} else if (slave.visualAge < 30) {
-					r += `nearly thirty.`;
-				} else if (slave.visualAge < 35) {
-					r += `just over thirty.`;
-				} else if (slave.visualAge < 40) {
-					r += `nearly forty.`;
-				} else if (slave.visualAge < 45) {
-					r += `just over forty.`;
-				} else if (slave.visualAge < 50) {
-					r += `nearly fifty.`;
-				} else if (slave.visualAge < 55) {
-					r += `just over fifty.`;
-				} else if (slave.visualAge < 60) {
-					r += `nearly sixty.`;
-				} else if (slave.visualAge < 65) {
-					r += `just over sixty.`;
-				} else if (slave.visualAge < 70) {
-					r += `nearly seventy.`;
-				} else if (slave.visualAge < 75) {
-					r += `just over seventy.`;
-				} else if (slave.visualAge < 80) {
-					r += `nearly eighty.`;
+					r += `and ${he} still has a teen body for now, but with ${his} <span class=orange>NCS,</span> ${he} will eventually regress in age to look like a little $girl again.`;
+				} else {
+					r += `and ${he} still has the body of an adult, but ${his} <span class=orange>NCS</span> has`;
+					if (slave.physicalAge - slave.visualAge <= 5) {
+						r += `not really begun to youthen ${his} appearance yet.`;
+					} else if (slave.physicalAge - slave.visualAge <= 10) {
+						r += `clearly been at work on ${him}, making ${him} appear younger.`;
+					} else if (slave.physicalAge - slave.visualAge <= 20) {
+						r += `obviously helped take more than a decade off of ${his} age.`;
+					} else {
+						r += `intensely youthened ${him}.`;
+					}
+				}
+			} else if (slave.physicalAge !== slave.visualAge) {
+				if (slave.visualAge <= slave.physicalAge - 20 || slave.visualAge >= slave.physicalAge + 20) {
+					r += `${He} has undergone radical age therapy that makes ${him} look`;
+				} else if (slave.visualAge <= slave.physicalAge - 10 || slave.visualAge >= slave.physicalAge + 10) {
+					r += `${He} has undergone drastic age therapy that makes ${him} look`;
+				} else if (slave.visualAge <= slave.physicalAge - 5 || slave.visualAge >= slave.physicalAge + 5) {
+					r += `${He} has undergone noticeable age therapy that makes ${him} look`;
 				} else {
-					r += `an ancient ${slave.visualAge}.`;
+					r += `For various reasons, ${he} looks`;
+				}
+				if (slave.physicalAge > slave.visualAge) {
+					if (slave.physicalAge < slave.visualAge + 5) {
+						r += `a slightly younger ${slave.visualAge}.`;
+					} else if (slave.visualAge < 20) {
+						r += `like ${he}'s barely an adult.`;
+					} else if (slave.visualAge < 25) {
+						r += `barely into ${his} early twenties.`;
+					} else if (slave.visualAge < 30) {
+						r += `like ${he}'s still in ${his} twenties.`;
+					} else if (slave.visualAge < 35) {
+						r += `barely thirty.`;
+					} else if (slave.visualAge < 40) {
+						r += `still in ${his} thirties.`;
+					} else if (slave.visualAge < 45) {
+						r += `barely forty.`;
+					} else if (slave.visualAge < 50) {
+						r += `still in ${his} forties.`;
+					} else if (slave.visualAge < 55) {
+						r += `barely fifty.`;
+					} else if (slave.visualAge < 60) {
+						r += `still in ${his} fifties.`;
+					} else if (slave.visualAge < 65) {
+						r += `barely sixty.`;
+					} else if (slave.visualAge < 70) {
+						r += `still in ${his} sixties.`;
+					} else if (slave.visualAge < 75) {
+						r += `barely seventy.`;
+					} else if (slave.visualAge < 80) {
+						r += `still in ${his} seventies.`;
+					} else {
+						r += `a younger ${slave.visualAge}.`;
+					}
+				} else {
+					if (slave.physicalAge > slave.visualAge - 5) {
+						r += `a slightly older ${slave.visualAge}.`;
+					} else if (slave.visualAge < 20) {
+						r += `like a fresh adult.`;
+					} else if (slave.visualAge < 25) {
+						r += `just over twenty.`;
+					} else if (slave.visualAge < 30) {
+						r += `nearly thirty.`;
+					} else if (slave.visualAge < 35) {
+						r += `just over thirty.`;
+					} else if (slave.visualAge < 40) {
+						r += `nearly forty.`;
+					} else if (slave.visualAge < 45) {
+						r += `just over forty.`;
+					} else if (slave.visualAge < 50) {
+						r += `nearly fifty.`;
+					} else if (slave.visualAge < 55) {
+						r += `just over fifty.`;
+					} else if (slave.visualAge < 60) {
+						r += `nearly sixty.`;
+					} else if (slave.visualAge < 65) {
+						r += `just over sixty.`;
+					} else if (slave.visualAge < 70) {
+						r += `nearly seventy.`;
+					} else if (slave.visualAge < 75) {
+						r += `just over seventy.`;
+					} else if (slave.visualAge < 80) {
+						r += `nearly eighty.`;
+					} else {
+						r += `an ancient ${slave.visualAge}.`;
+					}
 				}
 			}
 		}
 	} else {
-		r += `The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is `;
+		r += `The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is`;
 		if (slave.health < -90) {
 			r += `<span class=red>dangerously sick</span>`;
 		} else if (slave.health < -50) {
@@ -638,12 +642,11 @@ function (slave) {
 		} else if (slave.health <= 20) {
 			r += `<span class=yellow>healthy</span>`;
 		} else if (slave.health <= 50) {
-			r += `<span class=green>ve
-			ry health</span>`;
+			r += `<span class=green>very health</span>`;
 		} else {
 			r += `<span class=green>extremely healthy</span>`;
 		}
-		r += ` and ${slave.physicalAge} years old.`;
+		r += `and ${slave.physicalAge} years old.`;
 	}
 	return r;
 }
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index ff05dae9c0b492552a7c18e111c8dea1190210cf..c50e6442ca81be1acc7479a2975f07c89775d6e4 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -908,7 +908,7 @@ window.NPCSexSupply = function(LC) {
 	if(LC >= 0.5) {
 		NPCSexSupply.lowerClass += Math.max(Math.trunc(NPCSexSupply.lowerClass * ((LC - 0.5) * (0.2 - V.sexSupplyBarriersLC / 25))), (50 * (1 - V.sexSupplyBarriersLC / 5))); // Max growth of 10% per week, unless it is really low, than a flat 50
 	} else if(LC < 0.5) {
-		if(NPCSexSupply.lowerClass > $lowerClass * (3 - V.sexSupplyBarriersLC / 2)) { // Natural market share of competitors is at least 30%
+		if(NPCSexSupply.lowerClass > V.lowerClass * (3 - V.sexSupplyBarriersLC / 2)) { // Natural market share of competitors is at least 30%
 			NPCSexSupply.lowerClass -= Math.trunc(NPCSexSupply.lowerClass * ((0.5 - LC) / 5)); // Max reduction of 10% per week
 		}
 	}
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 8118682263bfde2dcf919590ba81280cdc4df63f..4336c0be2c321fd5e6a609525000a6d99388abcf 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -4163,7 +4163,7 @@ window.SlaveSummaryUncached = (function() {
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s `;
 				if (slave.relationshipTarget !== slave.relationTarget) {
-					r += `<span class="lightgreen">${slave.relation}</span>. `;
+					r += `<span class="lightgreen">${slave.relation}.</span> `;
 				} else {
 					r += `<span class="lightgreen">${slave.relation}</span> `;
 				}
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index 8464281464b78f8c73f5081eae0116044f530cea..d55895d61c0b5ec6ef3ab077ad4725831d9b5b52 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -131,7 +131,7 @@ Around back;
 	[[Cancel it|Manage Personal Affairs][$weddingPlanned = -1, $marrying = []]]
 <</if>>
 
-<<if $FCTVreceiver == 1>>
+<<if $FCTVreceiver > 0>>
 <br><br>
 	<<if $FCTVrate == 1>>
 		You make sure to tune in to FCTV at least once a week. [[Watch every other week|Manage Personal Affairs][$FCTVrate = 2]] | [[Watch once a month|Manage Personal Affairs][$FCTVrate = 4]] | [[Ignore it|Manage Personal Affairs][$FCTVrate = -1]]
@@ -142,6 +142,9 @@ Around back;
 	<<else>>
 		You don't watch FCTV. [[Watch every week|Manage Personal Affairs][$FCTVrate = 1]] | [[Watch every other week|Manage Personal Affairs][$FCTVrate = 2]] | [[Watch once a month|Manage Personal Affairs][$FCTVrate = 4]]
 	<</if>>
+	<<if $saveImported > 0 && $FCTVremote == 0>> 
+		<br>You know TVs should have a remote. [[Buy one yourself|Manage Personal Affairs][$FCTVremote = 1, cashX(-100, "capEx")]]
+	<</if>>
 <</if>>
 
 <br><br>
diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw
index 74a1b71286d1d8c48e7954147c32c495c8895828..1ec4316e5e70c227601922881ac3ca14c562e6bf 100644
--- a/src/pregmod/rePregInventor.tw
+++ b/src/pregmod/rePregInventor.tw
@@ -347,7 +347,7 @@
 			<<set $activeSlave.trust += 2, $activeSlave.devotion += 5>>
 			<</replace>>
 		<</link>>
-		<<if $FCTVreceiver == 1>>
+		<<if $FCTVreceiver > 0>>
 			<br><<link "Organize a televised demonstration of $his skills.">>
 				<<replace "#result2">>
 				You are so impressed by $his ideas that you arrange to have $him demonstrate $his discoveries on a prominent FCTV talk show. It will take some time, and you'll have to insure that $he's at least reasonably well known before the show's executives will agree to allow $him on-air, but you're certain that $activeSlave.slaveName's name will soon be on the lips of pregnancy-loving slaveowners and Free Cities citizens around the world. In the meantime, you implement $his ideas around the arcology. $He is @@.hotpink;thrilled@@ to have pleased you so much that you would @@.mediumaquamarine;put such faith in $his ideas.@@
@@ -536,7 +536,7 @@
 			<<set $activeSlave.trust += 2, $activeSlave.devotion += 5>>
 			<</replace>>
 		<</link>>
-		<<if $FCTVreceiver == 1>>
+		<<if $FCTVreceiver > 0>>
 			<br><<link "Organize a televised demonstration of $his skills.">>
 				<<replace "#result2">>
 				You are so impressed by $his ideas that you arrange to have $him demonstrate $his discoveries on a prominent FCTV talk show. It will take some time, and you'll have to insure that $he's at least reasonably well known before the show's executives will agree to allow $him on-air, but you're certain that $activeSlave.slaveName's name will soon be on the lips of pregnancy-loving slaveowners and Free Cities citizens around the world. In the meantime, you implement $his ideas around the arcology. $He is @@.hotpink;thrilled@@ to have pleased you so much that you would @@.mediumaquamarine;put such faith in $his ideas.@@
@@ -755,7 +755,7 @@
 			<<set $activeSlave.trust += 2, $activeSlave.devotion += 5>>
 			<</replace>>
 		<</link>>
-		<<if $FCTVreceiver == 1>>
+		<<if $FCTVreceiver > 0>>
 			<br><<link "Organize a televised demonstration of $his skills.">>
 				<<replace "#result2">>
 				You are so impressed by $his ideas that you arrange to have $him demonstrate $his discoveries on a prominent FCTV talk show. It will take some time, and you'll have to insure that $he's at least reasonably well known before the show's executives will agree to allow $him on-air, but you're certain that $activeSlave.slaveName's name will soon be on the lips of pregnancy-loving slaveowners and Free Cities citizens around the world. In the meantime, you implement $his ideas around the arcology. $He is @@.hotpink;thrilled@@ to have pleased you so much that you would @@.mediumaquamarine;put such faith in $his ideas.@@
diff --git a/src/pregmod/seFCTVremote.tw b/src/pregmod/seFCTVremote.tw
new file mode 100644
index 0000000000000000000000000000000000000000..e7d16e1581da427e74232347d4cc496acf26ae1e
--- /dev/null
+++ b/src/pregmod/seFCTVremote.tw
@@ -0,0 +1,258 @@
+:: SE FCTV Remote [nobr]
+
+<<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $FCTVremote = 2>>
+<<if $assistant > 0>>
+ <<setAssistantPronouns>>
+<</if>>
+
+<<set $activeSlaveOneTimeMinAge = 25>>
+<<set $activeSlaveOneTimeMaxAge = 35>>
+<<set $one_time_age_overrides_pedo_mode = 1>>
+<<set $oneTimeDisableDisability = 1>>
+<<if $arcologies[0].FSSupremacistLawME == 1>>
+	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSupremacistRace)>>
+<</if>>
+<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave.devotion = 0>>
+<<set $activeSlave.trust = 0>>
+<<set $activeSlave.health = random(60,80)>>
+<<set $activeSlave.muscles = 60>>
+<<if $activeSlave.weight > 130>>
+	<<set $activeSlave.weight -= 100>>
+	<<set $activeSlave.waist = random(-10,50)>>
+<</if>>
+<<set $activeSlave.lips = 35>>
+<<if $activeSlave.dick > 0>>
+	<<set $activeSlave.boobs = 0>>
+	<<set $activeSlave.butt = 0>>
+	/*<<set $activeSlave.hStyle = "messy">>*/
+<<else>>
+	<<set $activeSlave.hStyle = "ponytail">>
+<</if>>
+<<set $activeSlave.origin = "You enslaved $him for poor customer service as an FCTV tech.">>
+<<set $activeSlave.career = "a TV repair tech">>
+<<set $activeSlave.behavioralFlaw = "arrogant">>
+<<set $activeSlave.markings = "none">>
+<<set $activeSlave.hLength = 10>>
+<<if $activeSlave.eyewear == "none">>
+	<<set $activeSlave.eyewear = "glasses">>
+<</if>>
+<<set $activeSlave.clothes = "conservative clothing">>
+<<set $activeSlave.shoes = "flats">>
+<<setLocalPronouns $activeSlave>>
+<<setPlayerPronouns>>
+<<setAssistantPronouns>>
+
+<span id="artFrame">
+/* 000-250-006 */
+<<if $seeImages == 1>>
+	<<if $imageChoice == 1>>
+		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<SlaveArt $activeSlave 2 0>></div>
+	<<else>>
+		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<SlaveArt $activeSlave 2 0>></div>
+	<</if>>
+<</if>>
+/* 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.
+<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 "$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>
+$He unboxes the new remote and turns $his back to you, eagerly demonstrating how you can use it to watch any show you want. This could be your chance to turn the tables on FCTV and get some special "customer support" of your own.
+<br><br>
+
+<span id="scene">
+<<link "\"Upgrade\" the tech for a little humiliation">>
+<<replace "#scene">>
+
+/* set up customer */
+<<set $activeSlaveOneTimeMinAge = 25>>
+<<set $activeSlaveOneTimeMaxAge = 35>>
+<<set $one_time_age_overrides_pedo_mode = 1>>
+<<set $oneTimeDisableDisability = 1>>
+<<if $arcologies[0].FSSupremacistLawME == 1>>
+	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
+	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+	<<set $fixedRace = _races.random()>>
+<<else>>
+	<<set $fixedRace = "black">>
+<</if>>
+<<if $seeDicks == 0>>
+	<<set _customer = GenerateNewSlave("XX")>>
+<<elseif $seeDicks == 100>>
+	<<set _customer = GenerateNewSlave("XY")>>
+<<else>>
+	<<set _seed = random(0,100)>>
+	<<if _seed > 50>>
+		<<set _customer = GenerateNewSlave("XY")>>
+	<<else>>
+		<<set _customer = GenerateNewSlave("XX")>>
+	<</if>>
+<</if>>
+<<set _customer = GenerateNewSlave()>>
+<<set _customer.devotion = 0>>
+<<set _customer.trust = 0>>
+<<set _customer.health = random(60,80)>>
+<<set _customer.muscles = 60>>
+<<if _customer.weight > 130>>
+	<<set _customer.weight -= 100>>
+	<<set _customer.waist = random(-10,50)>>
+<</if>>
+<<if _customer.dick > 0>>
+	<<set _customer.dick = 8>>
+	<<set _customer.boobs = 0>>
+	<<set _customer.butt = 0>>
+	<<set _customer.hLength = 10>>
+	<<set _customer.clothes = "spats and a tank top">>
+<<else>>
+	<<set _customer.boobs = 1000>>
+	<<set _customer.butt = 3>>
+	<<set _customer.hLength = 30>>
+	<<set _customer.clothes = "sport shorts and a sports bra">>
+<</if>>
+
+<<set _customer.behavioralFlaw = "arrogant">>
+<<set _customer.markings = "none">>
+<<set _customer.shoes = "flats">>
+<<setLocalPronouns _customer 2>>
+
+/* set up tech */
+<<set $activeSlave.clitPiercing = 3>>
+<<if $seeDicks == 0>>
+	<<set $activeSlave.backTat = "FCTV SERVICE for clits">>
+<<elseif $seeDicks == 100>>
+	<<set $activeSlave.backTat = "FCTV SERVICE for dicks">>
+<<else>>
+	<<set $activeSlave.backTat = "FCTV SERVICE for clits and dicks">>
+<</if>>
+<<set $activeSlave.stampTat = "Shove that upgraded package here">>
+<<run cashX(forceNeg(($modCost*2) + $SPcost), "slaveMod", $activeSlave)>> /* two tats and a smart piercing */
+
+At the touch of a button, $his drone whirs to a stop and begins to fall to the floor. Before it hits, you touch a second and a dart hits $him in the neck. $He collapses into darkness.
+<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 
+<<if $seeDicks == 0>>
+	"for clits."
+<<elseif $seeDicks == 100>>
+	"for dicks."
+<<else>>
+	"for clits and dicks."
+<</if>>
+You finger your new TV remote, as well as a second remote designed for... <i>other</i> devices.
+<br>
+<<if $seeImages == 1>>
+	<div class="imageColumn">
+		<div class="imageRef medImg">
+			<<SlaveArt _customer 2 0>>
+		</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 facade 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."
+<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>>
+<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.
+<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.
+<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.
+<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.
+<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."
+<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.
+	<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>>
+	The customer doesn't even blink. In an instant both pants are down and _he2's inside. There's no lube at first, but as you watch the scene unfolding in front of you it seems likely that some aphrodisiac is leaking out and helping. You hope it's safe for your citizen. The tech, of course, can get fucked. And $he is.
+	<br>
+	"Uh, that @@.lime;virgin ass@@!" the customer exclaims. "How's THIS for an upgraded package. Last time I had a billing problem you folks told me where to shove it. Well here. It. Goes!" From the way they collapse over each other, it seems they orgasmed at about the same time.
+<</if>>
+<<set $activeSlave.anus = 1, $analTotal++>>
+<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.
+<br>
+
+<span id="result">
+<<if $cash >= $contractCost>>
+	<br><<link "Enslave $him">>
+		<<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>
+		<<replace "#result">>
+			$activeSlave.slaveName knows $he has nowhere to turn. Sobbing, $he complies with the process.
+			<<include "New Slave Intro">>
+		<</replace>>
+	<</link>>
+	<br><<link "Sentence $him to a day in a wall with a TV, then enslave $him">>
+		<<set $activeSlave.health -= 10>>
+		<<set $activeSlave.behavioralFlaw = "odd">>
+		<<set $activeSlave.sexualFlaw = "hates penetration">>
+		<<set $activeSlave.anus = 2>>
+		<<set _fuckCount = random(20,35)>>
+		<<set $activeSlave.analCount += _fuckCount>>
+		<<set $analTotal += _fuckCount>>
+		<<if $activeSlave.vagina > -1>>
+			<<if $activeSlave.vagina < 2>>
+				<<set $activeSlave.vagina = 2>>
+			<</if>>
+			<<if isFertile($activeSlave) && $activeSlave.eggType == "human">>
+				<<= knockMeUp($activeSlave, 40, 2, -2)>>
+			<</if>>
+			<<set _fuckCount *= 2>>
+			<<set $activeSlave.vaginalCount += _fuckCount>>
+			<<set $vaginalTotal += _fuckCount>>
+			<<set _fuckCount += _fuckCount/2>>
+		<</if>>
+		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += _fuckCount>><<else>><<set $activeSlave.publicCount = _fuckCount>><</if>>
+		<<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>
+		
+		<<replace "#result">>
+			<br>You can't possibly be the only one annoyed at FCTV customer service. You soon have $him bent over with $his upper half encased in a wall, and $his lower half along with $his tramp stamp "$activeSlave.stampTat" exposed to the entire archology. A large monitor above $his ass ensures every detail of $his expressions are available, and aphrodisiacs ensure they are interesting. Long waits for tech support are common in this broken world, but even so, the queue that forms as the word gets out is quite impressive. $He spends a torturous day in the wall before being hauled in for enslavement, somewhat @@.red;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+			<<if $FCTVreceiver <= 3>>
+				Frustrations released, they also seem more likely to watch FCTV.
+				<<set $FCTVreceiver++>>
+			<</if>>
+			<<run repX(500, "event", $activeSlave)>>
+			<<set $arcologies[0].prosperity += 2>>
+			<<include "New Slave Intro">>
+		<</replace>>
+	<</link>>
+<</if>>
+<br><<link "Let them 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.
+	<</replace>>
+<</link>>
+<br><<link "Let them go but release the footage">>
+	<<replace "#result">>
+		<br>You know well that in
+		<<if $arcologies[0].FSRomanRevivalist != "unset">>
+			Roman days,
+		<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
+			Aztec days,
+		<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
+			Egyptian Revivalism,
+		<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
+			the Edo period,
+		<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
+			Arabian days,
+		<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
+			Chinese days,
+		<<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.
+	<</replace>>
+<</link>>
+</span>
+<</replace>>
+<</link>>
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index cb61547ad28fe2685baec5fed473076c77a6d512..9fddda39184e13f4feb5b45c7c0a9a86f20bb790 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -1,55 +1,34 @@
 :: SE FCTV Shows [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV">>
-<<if ndef $showEleven>>
-	<<set $showEleven = 0>>
-<</if>>
-<<if ndef $showTwelve>> /* Milkanon's channel */
-	<<set $showTwelve = 0>>
-<</if>>
-<<if ndef $showThirteen>> /* Channel13's work */
-	<<set $showThirteen = 0>>
-<</if>>
-<<if ndef $showFourteen>> /* anon's story channel */
-	<<set $showFourteen = 0>>
-<</if>>
-<<if ndef $showFifteen>> /* the pirate channel */
-	<<set $showFifteen = 0>>
-<</if>>
-<<set $randShow = random(0,15)>>
-<<set $FCTVshow = 0>>
-<<if $randShow == $lastShow>>
-	<<set $randShow += 1>>
-	<<if $randShow > 15>>
-		<<set $randShow = 0>>
+<<if _FCTVShowAll>>
+	There is an audible tone from your screen, which then displays a message: <i>Showing all content, for testing purposes.</i>
+<<else>>
+	/* we need to check for pansy no-extreme squick stuff */
+	<<if $minimumSlaveAge > 13 && ($randShow == 12 || $randShow == 14)>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,13)>>
+		There is an audible tone from your screen, which then displays a message: <i>Actor not vintage enough, changing program.</i>
+	<</if>>
+	<<if $seeExtreme == 0 && $randShow == 10>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much hugging detected, changing program.</i>
+	<</if>>
+	<<if $seeHyperPreg == 0 && $randShow == 8>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much happiness detected, changing program.</i>
+	<</if>>
+	<<if $seePreg == 0 && ($randShow == 5 || $randShow == 8)>>
+		<<set $randShow = either(0,1,2,3,4,6,7,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much baking detected, changing program.</i>
+	<</if>>
+	<<if $seeDicks == 0 && $makeDicks == 0 && $randShow == 10>>
+		<<set $randShow = either(0,1,2,3,4,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too many hot dogs detected, changing program.</i>
+	<</if>>
+	<<if $randShow == 11 && $purchasedSagBGone == 1 && $showEleven > 2>>
+		<<set $randShow++>>
+		There is an audible tone from your screen, which then displays a message: <i>Product purchase detected, skipping commercials.</i>
 	<</if>>
-<</if>>
-
-Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistantName<</if>> to turn on the TV and set FCTV to random show. Your larger-than-life screen flashes on, and is soon playing a random show from the popular streaming service.
-/* we need to check for pansy no-extreme squick stuff */
-<<if $minimumSlaveAge > 13 && ($randShow == 12 || $randShow == 14)>>
-	<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,13)>>
-	There is an audible tone from your screen, which then displays a message: <i>Actor not vintage enough, changing program.</i>
-<</if>>
-<<if $seeExtreme == 0 && $randShow == 10>>
-	<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,11,12)>>
-	There is an audible tone from your screen, which then displays a message: <i>Too much hugging detected, changing program.</i>
-<</if>>
-<<if $seeHyperPreg == 0 && $randShow == 8>>
-	<<set $randShow = either(0,1,2,3,4,5,6,7,9,11,12)>>
-	There is an audible tone from your screen, which then displays a message: <i>Too much happiness detected, changing program.</i>
-<</if>>
-<<if $seePreg == 0 && ($randShow == 5 || $randShow == 8)>>
-	<<set $randShow = either(0,1,2,3,4,6,7,9,11,12)>>
-	There is an audible tone from your screen, which then displays a message: <i>Too much baking detected, changing program.</i>
-<</if>>
-<<if $seeDicks == 0 && $makeDicks == 0 && $randShow == 10>>
-	<<set $randShow = either(0,1,2,3,4,11,12)>>
-	There is an audible tone from your screen, which then displays a message: <i>Too many hot dogs detected, changing program.</i>
-<</if>>
-<<if $randShow == 11 && $purchasedSagBGone == 1 && $showEleven > 2>>
-	<<set $randShow++>>
-	There is an audible tone from your screen, which then displays a message: <i>Product purchase detected, skipping commercials.</i>
 <</if>>
 
 <br><br>
@@ -580,23 +559,23 @@ The offered price is <<print cashFormat($slaveCost)>>.
 	<<set $showTen += 1, $lastShow = 10>>
 	It looks like the random function chose to play a competitive game show 'Cum and Cream Challenge' The program has a short opening sequence showing a variety of male and female contestants competing in a variety of lewd and messy body fluid competitions. The program flashes to a title screen where the letters are being spelled out in white fluids: "CUM and CREAM CHALLENGE". The writing is messy enough to <<if $showTen == 1>>make you wonder<<else>>keep you wondering<</if>> if slaves were actually trained to spell out the text each week, or if it's just some clever camera work. The camera pans up past a large dripping <<if $seeDicks == 0>><i>frankfurter</i><<else>>cock<</if>> and two massive nipples, eventually revealing the two hosts that look to be in their early twenties. <<if $showTen < 2>>A muscular man wearing athletic clothes, and a buxom young woman in a bikini that looks more like a microkini on her large breasts and hips. The pair is helpfully labeled on screen as Mike and Mindy, and as the camera gets closer it reveals that both have rather sizable endowments. Mike's crotch is soaked, and Mindy's bikini top allows small rivulets of milk to stream down from the sodden fabric. <<else>>The fluid enthusiast Mike and Mindy pair are wearing their usual style in new colors, the clothes appearing to be as soddenly wet as any other episode.<</if>>
 	<br><br>
-	Mindy kicks off the show, speaking to the audience. "Welcome another episode of Cum and Cream!"
+	Mindy kicks off the show, speaking to the audience. "Welcome to another episode of Cum and Cream!"
 	<br><br>
 	<<set $randShow = random(2)+1>>
-	<<if $randShow == 1 && $showTen > 3 || $showTen == 1>>
+	<<if ($randShow == 1 && $showTen > 3) || $showTen == 1>>
 		Mike smoothly continues. "We've got a great show for you tonight! A male-female team challenge!"
 		<br><br>That's right Mike, and this time we've mixed it up! It's a production AND inflation challenge. Just thinking about it has me leaking top and bottom!"
 		<br><br>"You don't have to tell me Mindy, I can see your puddle! In this contest, two teams will compete to produce the largest combined volume of cum and cream. The losing team goes on to a sudden-death inflation contest!"
 		<br><br>Mindy bounces with excitement, sending milk everywhere, and freeing half of one long nipple from her bikini. "All the cum and cream from the previous contest administered anally, first one to tap out goes to the Loser's Pit!"
 		<br><br>You watch with fascination through the contest, hanging on the edge of your seat during the final inflation challenge as the contestants' stomachs bulge further and further. <<if $seeDicks == 0>><i>Everybody smiles and has a good time. The End.</i><<else>>Suddenly, the male's taut stomach shifts and wobbles and he lets out an agonized scream. Medics rush to his side, and it cuts back to the hosts applauding his determination to win.<</if>>
-	<<elseif $randShow == 2 && $showTen > 3 || $showTen == 2>>
+	<<elseif ($randShow == 2 && $showTen > 3) || $showTen == 2>>
 		Mike unexpectedly moves over and starts rubbing Mindy's stomach, the extra attention highlighting how big her stomach is. "Mindy, don't tell me you went and got yourself knocked up... Your belly has gotten downright huge!"
 		<br><br>Mindy laughs and chides Mike. "Oh Mike! You know I'm waiting for the perfect <<if $seeDicks == 0>><i>smile</i><<else>>cock<</if>> before I try out womb inflation!" She uses both hands to grab a handful of each of her large udders. "You know I use my own milk to keep myself pumped up, right? Well these babies have stepped up their production lately, nearly <<if $showInches == 2>>four liters<<else>>a gallon<</if>> a session with my milker. I figure it was my body's way of telling me it's time to step up my inflation game!"
 		<br><br>Mike laughs along with Mindy before reaching over to grab the closest triangle of Mindy's bikini top. Yanking it up off her breast, he gets a firm grip on her nearly <<if $showInches == 2>>4-inch-long<<else>>10-centimeter-long<</if>> milky nipple before bending over and sucking it into his mouth to drink straight from the teat. After a few swallows he straightens up and faces the camera once more. "Wow, delicious as always, Mindy! You should start sending some of that rich cream my way!"
 		<br><br>Mindy didn't look at all bothered by Mike's impromptu snack, and doesn't even attempt to pull her bikini top back into place. "Sure thing Mike, but for now, I'm sure our viewers are dying to know what we've got lined up for the show!"
 		<br><br>Mike nods excitedly. "No new events tonight, but it's still a fan favorite! The Suck n' Gulp Jizz Challenge!"
 		<br><br>"Three hungry ladies, and plenty of <<if $seeDicks == 0>><i>donuts</i><<else>>large studly balls<</if>> ready to feed them... once they've earned it, that is! The scales are ready to measure our contestants before they get started, but first....."
-	<<elseif $randShow == 3 && $showTen > 3 || $showTen == 3>>
+	<<elseif ($randShow == 3 && $showTen > 3) || $showTen == 3>>
 		Both Mike and Mindy are both wearing ecstatic smiles, looking more excited than ever. Mike doesn't try to hide his raging <<if $seeDicks == 0>><i>smile</i><<else>>erection<</if>> as he continues the introduction. "Tonight we have a truly special treat for you, and it's all thanks to Arcology Imperiales!"
 		<br><br>Mindy continues, and makes no attempt to hide the fact that she has one hand stuffed inside her bikini bottom. "Thanks to the wonderful Dr. Picarde, owner of Arcology Imperiales, we have access to three amazing sex slaves for tonight's challenge!"
 		<br><br>Mike nods enthusiastically. "Mindy, tell everyone what makes them so special!"
@@ -1052,6 +1031,116 @@ The offered price is <<print cashFormat($slaveCost)>>.
 			<</if>>
 		<</if>>
 	<<else>>
+		<<set $activeSlaveOneTimeMinAge = 25>>
+		<<set $activeSlaveOneTimeMaxAge = 35>>
+		<<set $one_time_age_overrides_pedo_mode = 1>>
+		<<set $oneTimeDisableDisability = 1>>
+		<<if $arcologies[0].FSSupremacistLawME == 1>>
+			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
+			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+			<<set $fixedRace = _races.random()>>
+		<</if>>
+		<<if $seeDicks != 100>>
+			<<set _hostess = GenerateNewSlave("XX")>>
+		<<else>>
+			<<set _hostess = GenerateNewSlave("XY")>>
+		<</if>>
+		<<set _hostess.devotion = 45>>
+		<<set _hostess.trust = 55>>
+		<<set _hostess.health = random(60,80)>>
+		<<set _hostess.muscles = 60>>
+		<<if _hostess.weight > 130>>
+			<<set _hostess.weight -= 100>>
+			<<set _hostess.waist = random(-10,50)>>
+		<</if>>
+		<<set _hostess.behavioralFlaw = "arrogant">>
+		<<set _hostess.markings = "none">>
+		<<set _hostess.hLength = 40>>
+		<<set _hostess.hColor = "brown">>
+		<<set _hostess.hStyle = "luxurious">>
+		<<set _hostess.clothes = "a halter top dress">>
+		<<set _hostess.shoes = "heels">>
+
+		<<set $activeSlaveOneTimeMinAge = 25>>
+		<<set $activeSlaveOneTimeMaxAge = 35>>
+		<<set $one_time_age_overrides_pedo_mode = 1>>
+		<<set $oneTimeDisableDisability = 1>>
+		<<if $arcologies[0].FSSupremacistLawME == 1>>
+			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
+			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+			<<set $fixedRace = _races.random()>>
+		<</if>>
+		<<if $seeDicks != 0>>
+			<<set _scientist = GenerateNewSlave("XY")>>
+		<<else>>
+			<<set _scientist = GenerateNewSlave("XX")>>
+		<</if>>
+		<<set _scientist.devotion = 0>>
+		<<set _scientist.trust = 0>>
+		<<set _scientist.health = random(60,80)>>
+		<<set _scientist.muscles = 60>>
+		<<if _scientist.weight > 130>>
+			<<set _scientist.weight -= 100>>
+			<<set _scientist.waist = random(-10,50)>>
+		<</if>>
+		<<set _scientist.boobs = 0>>
+		<<set _scientist.butt = 0>>
+		<<set _scientist.behavioralFlaw = "arrogant">>
+		<<set _scientist.markings = "none">>
+		<<set _scientist.hLength = 10>>
+		<<set _scientist.hStyle = "messy">>
+		<<set _scientist.eyewear = "glasses">>
+		<<set _scientist.clothes = "conservative clothing">>
+		<<set _scientist.shoes = "flats">>
+
+		<<set $activeSlaveOneTimeMinAge = 25>>
+		<<set $activeSlaveOneTimeMaxAge = 35>>
+		<<set $one_time_age_overrides_pedo_mode = 1>>
+		<<set $oneTimeDisableDisability = 1>>
+		<<if $arcologies[0].FSSupremacistLawME == 1>>
+			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
+			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+			<<set $fixedRace = _races.random()>>
+		<</if>>
+		<<if $seeDicks != 100>>
+			<<set _nun = GenerateNewSlave("XX")>>
+		<<else>>
+			<<set _nun = GenerateNewSlave("XY")>>
+		<</if>>
+		<<set _nun.devotion = random(45,60)>>
+		<<set _nun.trust = random(-10)>>
+		<<set _nun.health = random(60,80)>>
+		<<set _nun.muscles = 30>>
+		<<if _nun.weight > 130>>
+			<<set _nun.weight -= 100>>
+			<<set _nun.waist = random(-10,50)>>
+		<</if>>
+		<<set _nun.behavioralFlaw = "arrogant">>
+		<<set _nun.markings = "none">>
+		<<set _nun.hLength = 1>>
+		<<set _nun.hStyle = "buzzcut">>
+		<<set _nun.clothes = "a penitent nuns habit">>
+		
+		<span id="artFrame">
+		/* 000-250-006 */
+		<<if $seeImages == 1>>
+		<div class="imageColumn">
+			<div class="imageRef medImg">
+				<<SlaveArt _hostess 2 0>>
+			</div>
+			<div class="imageRef medImg">
+				<<SlaveArt _scientist 2 0>>
+			</div>
+			<div class="imageRef medImg">
+				<<SlaveArt _nun 2 0>>
+			</div>
+		</div>
+		<</if>>
+		/* 000-250-006 */
+		</span>
 		The random function begins playing a Free Cities documentary on the benefits of aphrodisiacs, which is almost halfway over. A montage of out-of-context shots of injectors, suppositories, and bottles of liquid interspersed with very horny, sweaty slaves needily grinding on each other plays before cutting back to the presenter, a gorgeous young woman with long, brown hair in a tight one-piece red dress and matching heels. Her dress, practically a second skin, proudly reveals that she definitely isn't wearing a bra or panties of any kind but still leaves plenty up to the imagination increasing her enticing presence. She's with a handsome man in a lab coat, and they're sitting on a couch in an office with a microphone on a coffee table between them.
 		<br>
 		"I met with one of the leading scientists working on cleaner, higher-purity aphrodisiacs." the woman presenting narrates.
@@ -1106,7 +1195,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 		<br><br>
 		You flip off the TV. News from a pirate, how novel.
 	<<elseif $showFifteen == 2>>
-		Your TV randomly hits channel 8, the pirate themed channel. Apparently this is a live feed produced by a band of pirates and you tuned in right as they board a small pleasure craft.
+		Your TV randomly hits channel 15, the pirate themed channel. Apparently this is a live feed produced by a band of pirates and you tuned in right as they board a small pleasure craft.
 		<br><br>
 		Three armed pirates are swiftly sweeping the boat, gathering the passengers, a man, his wife and his two children, on deck and tying them up. The camera is attached to the pirate captain as he sweeps below deck finding their supplies.
 		<br><br>
diff --git a/src/pregmod/seFCTVwatch.tw b/src/pregmod/seFCTVwatch.tw
new file mode 100644
index 0000000000000000000000000000000000000000..c9734cc524680d91f1198cead25687f986d226db
--- /dev/null
+++ b/src/pregmod/seFCTVwatch.tw
@@ -0,0 +1,190 @@
+:: SE FCTV Watch [nobr]
+
+<<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV">>
+<<if ndef $showEleven>>
+	<<set $showEleven = 0>>
+<</if>>
+<<if ndef $showTwelve>> /* Milkanon's channel */
+	<<set $showTwelve = 0>>
+<</if>>
+<<if ndef $showThirteen>> /* Channel13's work */
+	<<set $showThirteen = 0>>
+<</if>>
+<<if ndef $showFourteen>> /* anon's story channel */
+	<<set $showFourteen = 0>>
+<</if>>
+<<if ndef $showFifteen>> /* the pirate channel */
+	<<set $showFifteen = 0>>
+<</if>>
+<<set $randShow = random(0,15)>>
+<<set $FCTVshow = 0>>
+<<if $randShow == $lastShow>>
+	<<set $randShow += 1>>
+	<<if $randShow > 15>>
+		<<set $randShow = 0>>
+	<</if>>
+<</if>>
+
+Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistantName<</if>> to turn on the TV and
+<<if $cheatMode == 1 || $debugMode == 1 || $FCTVremote > 0>>
+	bring you the remote so you can choose whatever show you find interesting.
+<br>
+
+<style>
+	table.finances {
+		text-align: left;
+		border-collapse: separate;
+		border-spacing: 5px;
+		border-style: hidden;
+		empty-cells: hide;
+		/*width: 75%;*/
+	}
+</style>
+
+<table class="finances" border="1">
+<tr><th>
+<<link 0>>
+	<<set $randShow = 0>>
+    <<replace "#show">>
+        <<include "SE FCTV Shows">>
+    <</replace>>
+<</link>>
+<<link 1>>
+	<<set $randShow = 1>>
+    <<replace "#show">>
+        <<include "SE FCTV Shows">>
+    <</replace>>
+<</link>>
+<<link 2>>
+	<<set $randShow = 2>>
+    <<replace "#show">>
+        <<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<if $cheatMode == 1 || $debugMode == 1>> /* Disable the home slave shopping network for normies because exploits. */
+	<<link 3>>
+		<<set $randShow = 3>>
+		<<replace "#show">>
+			<<include "SE FCTV Shows">>
+		<</replace>>
+	<</link>>
+	<<link 4>>
+		<<set $randShow = 4>>
+		<<replace "#show">>
+			<<include "SE FCTV Shows">>
+		<</replace>>
+	<</link>>
+<<else>>
+	3 4
+<</if>>
+<<link 5>>
+	<<set $randShow = 5>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 6>>
+	<<set $randShow = 6>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 7>>
+	<<set $randShow = 7>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 8>>
+	<<set $randShow = 8>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 9>>
+	<<set $randShow = 9>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 10>>
+	<<set $randShow = 10>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 11>>
+	<<set $randShow = 11>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 12>>
+	<<set $randShow = 12>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 13>>
+	<<set $randShow = 13>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 14>>
+	<<set $randShow = 14>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<link 15>>
+	<<set $randShow = 15>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
+<<if $cheatMode == 1 || $debugMode == 1>> /* remove toggle for normies */
+	|
+	<<link "Toggle inappropriate">>
+		<<if _FCTVShowAll>>
+			<<set _FCTVShowAll = 0>>
+		<<else>>
+			<<set _FCTVShowAll = 1>>
+		<</if>>
+	<</link>>
+<</if>>
+</th></tr></table>
+
+<<else>>
+	set FCTV to random show. Your larger-than-life screen flashes on, and is soon playing a random show from the popular streaming service.
+	/* we need to check for pansy no-extreme squick stuff */
+	<<if $minimumSlaveAge > 13 && ($randShow == 12 || $randShow == 14)>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,13,15)>>
+		There is an audible tone from your screen, which then displays a message: <i>Actor not vintage enough, changing program.</i>
+	<</if>>
+	<<if $seeExtreme == 0 && $randShow == 10>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much hugging detected, changing program.</i>
+	<</if>>
+	<<if $seeHyperPreg == 0 && $randShow == 8>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much happiness detected, changing program.</i>
+	<</if>>
+	<<if $seePreg == 0 && ($randShow == 5 || $randShow == 8)>>
+		<<set $randShow = either(0,1,2,3,4,6,7,9,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too much baking detected, changing program.</i>
+	<</if>>
+	<<if $seeDicks == 0 && $makeDicks == 0 && $randShow == 10>>
+		<<set $randShow = either(0,1,2,3,4,11,12)>>
+		There is an audible tone from your screen, which then displays a message: <i>Too many hot dogs detected, changing program.</i>
+	<</if>>
+	<<if $randShow == 11 && $purchasedSagBGone == 1 && $showEleven > 2>>
+		<<set $randShow++>>
+		There is an audible tone from your screen, which then displays a message: <i>Product purchase detected, skipping commercials.</i>
+	<</if>>
+<</if>>
+<<set _FCTV = "test">>
+
+<span id="show">
+	<<include "SE FCTV Shows">>
+</span>
\ No newline at end of file
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index d653d179f4f5559dbb8c3924a2bfbbaebbbc7304..3e573e12257a5d31d79625715ecabc18475250bc 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -418,7 +418,10 @@
 	<</if>>
 <</if>>
 <<if ndef $NPCSexSupply>>
-	<<set $NPCSexSupply = {}>>
+	<<set $NPCSexSupply = {lowerClass: 3000}>>
+<</if>>
+<<if ndef $NPCSexSupply.lowerClass>>
+	<<set $NPCSexSupply.lowerClass = 3000>>
 <</if>>
 <<run PCDatatypeCleanup()>>
 <<run BCReserveInit()>>
@@ -488,6 +491,9 @@
 <<if ndef $FCTVshow>>
 	<<set $FCTVshow = 0>>
 <</if>>
+<<if ndef $FCTVremote>>
+	<<set $FCTVremote = 0>>
+<</if>>
 <<if ndef $FCTVrate>>
 	<<set $FCTVrate = 2>>
 <</if>>
@@ -623,9 +629,6 @@
 <<if ndef $allowFamilyTitles>>
 	<<set $allowFamilyTitles = 0>>
 <</if>>
-<<if ndef $FCTVshow>>
-	<<set $FCTVshow = 0>>
-<</if>>
 <<if ndef $randShow>>
 	<<set $randShow = 0>>
 <</if>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index c9c0d80109e20c8233e21098ef3dc45f3dc36549..3619f8926942d1742e21dc6c21bfa1bb879a9c07 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -609,7 +609,7 @@ is
 			women.
 		<</if>>
 	<<elseif ($activeSlave.behavioralFlaw == "anorexic")>>
-		$He suffers from @@.red;anorexia@@.
+		$He suffers from @@.red;anorexia.@@
 	<<elseif ($activeSlave.behavioralFlaw == "gluttonous")>>
 		$He @@.red;tends to overeat@@ whenever $he can, reacting to the rigors of sexual slavery with overeating.
 	<</if>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 0dbb440d7aef8eaaf1ea86a1d9691283a6727bd0..9a8ce2a9c3ba77ea11eb952e27b37903c58baac8 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -277,7 +277,7 @@
 	<<set $PC.forcedFertDrugs-->>
 <</if>>
 
-<<if $FCTVreceiver == 1>>
+<<if $FCTVreceiver > 0>>
 	<<set $FCTVcount += 1>>
 	<<if $FCTVcount >= $FCTVrate && $FCTVrate != -1>>
 		<<set $FCTVcount = 0>>
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index dcbd146a59c6c9bee93e65def83f5eca2407200e..dde6da80e4b26e9bc98450c8133aa0b8ddf50c66 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -101,7 +101,7 @@
 				<</if>>
 			<</if>>
 		<<elseif $pregInventor == 2 && $pregInventions == 1 && $eventSlave.ID == $pregInventorID>>
-			<<if $FCTVreceiver == 1>>
+			<<if $FCTVreceiver > 0>>
 				<<if ($eventSlave.bellyPreg >= 1000000)>>
 					<<if $eventSlave.fetish != "mindbroken" && $eventSlave.fuckdoll == 0>>
 						<<if ($eventSlave.devotion > 50)>>
diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw
index 7ef2a974987c6d580ad47302bdd07c1e2acb0df1..253edf35e0e22bce023117c67ff72457f5bb1d0f 100644
--- a/src/uncategorized/scheduledEvent.tw
+++ b/src/uncategorized/scheduledEvent.tw
@@ -149,8 +149,12 @@
 	<<set $birthed = 0>>
 	<<goto "SE Birth">>
 <<elseif ($FCTVshow == 1)>>
-	<<set $FCTVshow = 0, $activeSlave = 0>>
-	<<goto "SE FCTV Shows">>
+	<<if $week > 50 && $FCTVremote < 2>>
+		<<goto "SE FCTV Remote">>
+	<<else>>
+		<<set $FCTVshow = 0, $activeSlave = 0>>
+		<<goto "SE FCTV Watch">>
+	<</if>>
 <<elseif ($Recruiter != 0 && $recruiterEugenics == 0 && $recruiterProgress >= 13)>>
 	<<goto "SE recruiter success">>
 <<elseif ($Recruiter != 0 && $recruiterEugenics == 1 && $recruiterProgress >= (13 + ($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)*6))>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index cc717d20f0c22ed05967f2f761bd71619af9a28f..a90dccde3e1f4422d9e6cabaf909caa01cb31fea 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -74,9 +74,10 @@ $slaveJobValues = slaveJobValues()>>
 <</if>>
 
 /*Public slut sex supply. Top and upper class won't partake*/
-<<if $slaveJobValues.club * $slaveJobValues.clubSP < _lowerClassSexDemand + _middleClassSexDemand + _visitorsSexDemand>>
-	<<set _clubDemand = _lowerClassSexDemand + _middleClassSexDemand + _visitorsSexDemand,
-	_lowerClassSexDemand -= Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * (_lowerClassSexDemand / _clubDemand)),
+<<set _clubDemand = _lowerClassSexDemand + _middleClassSexDemand + _visitorsSexDemand,
+_lowerClassClubRatio = _lowerClassSexDemand / _clubDemand>>
+<<if $slaveJobValues.club * $slaveJobValues.clubSP < _clubDemand>>
+	<<set _lowerClassSexDemand -= Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * (_lowerClassSexDemand / _clubDemand)),
 	_middleClassSexDemand -= Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * (_middleClassSexDemand / _clubDemand)),
 	_visitorsSexDemand -= Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * (_visitorsSexDemand / _clubDemand))>>
 <<else>>
@@ -113,8 +114,12 @@ $slaveJobValues = slaveJobValues()>>
 
 /*NPC sex supply*/
 <<set $NPCSexSupply = NPCSexSupply(_lowerClassSexDemand/_lowerClassSexDemandRef),
-$NPCMarketShareLC = Math.trunc(($NPCSexSupply.lowerClass * 1000) / ($NPCSexSupply.lowerClass + $slaveJobValues.arcade + Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * (_lowerClassSexDemand / _clubDemand)))),
-_lowerClassSexDemand -= $NPCSexSupply.lowerClass>>
+$NPCMarketShareLC = Math.trunc(($NPCSexSupply.lowerClass * 1000) / ($NPCSexSupply.lowerClass + $slaveJobValues.arcade + Math.trunc($slaveJobValues.club * $slaveJobValues.clubSP * _lowerClassClubRatio)))>>
+<<if _lowerClassSexDemand < $NPCSexSupply.lowerClass>>
+	<<set _lowerClassSexDemand = 0>>
+<<else>>
+	<<set _lowerClassSexDemand -= $NPCSexSupply.lowerClass>>
+<</if>>
 <<if ($cheatMode == 1) || ($debugMode == 1)>>
 	<br>NPC Supply Lower Class: $NPCSexSupply.lowerClass
 <</if>>