diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index 350876cb0288e52902abac342be681c05b481686..57a3172174a9c3df53cf17e99bcfa22cbced390a 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -43,15 +43,15 @@ App.Desc.eyes = function (slave) {
 		if (slave.intelligence > 95) {
 			r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; `;
 			if (slave.intelligence + slave.intelligenceImplant >= 130) {
-				r += `with ${his} education, ${he} is so far <span class=deepskyblue>beyond brilliant</span> that ${he} is nearly peerless. `;
+				r += `with ${his} education, ${he} is so far <span class="deepskyblue">beyond brilliant</span> that ${he} is nearly peerless. `;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `${he} is both <span class=deepskyblue>brilliant</span> and `;
+				r += `${he} is both <span class="deepskyblue">brilliant</span> and `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
 				r += `educated. `;
 			} else {
-				r += `${he} is so <span class=deepskyblue>brilliant</span> that ${his} `;
+				r += `${he} is so <span class="deepskyblue">brilliant</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
 					r += `meager`;
 				} else {
@@ -61,15 +61,15 @@ App.Desc.eyes = function (slave) {
 			}
 		} else if (slave.intelligence > 50) {
 			if (slave.intelligence + slave.intelligenceImplant > 95) {
-				r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class=deepskyblue>brilliant.</span>`;
+				r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class="deepskyblue">brilliant.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `but ${his} face is alive with intelligence; ${he} is both <span class=deepskyblue>highly intelligent</span> and `;
+				r += `but ${his} face is alive with intelligence; ${he} is both <span class="deepskyblue">highly intelligent</span> and `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
 				r += `educated. `;
 			} else {
-				r += `but ${his} face is alive with intelligence; ${he} is so <span class=deepskyblue>highly intelligent</span> that ${his} `;
+				r += `but ${his} face is alive with intelligence; ${he} is so <span class="deepskyblue">highly intelligent</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
 					r += `meager`;
 				} else {
@@ -79,19 +79,19 @@ App.Desc.eyes = function (slave) {
 			}
 		} else if (slave.intelligence > 15) {
 			if (slave.intelligence + slave.intelligenceImplant > 50) {
-				r += `but ${his} face is alive with intelligence; with ${his} education, ${he} can be considered <span class=deepskyblue>highly intelligent.</span>`;
+				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 `;
 				}
 				r += `educated. `;
 			} else {
-				r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class=deepskyblue>above average intelligence</span> despite being undereducated. `;
+				r += `but ${his} facial expressions reveal ${his} cleverness; ${he} is of <span class="deepskyblue">above average intelligence</span> despite being undereducated. `;
 			}
 		} else if (slave.intelligence >= -15) {
 			if (slave.intelligence + slave.intelligenceImplant > 15) {
-				r += `but ${his} facial expressions reveal ${his} cleverness; with ${his} education, ${he} can be considered of <span class=deepskyblue>above average intelligence.</span>`;
+				r += `but ${his} facial expressions reveal ${his} cleverness; with ${his} education, ${he} can be considered of <span class="deepskyblue">above average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
 				r += `but ${his} facial expressions reveal ${his} alertness; ${he} is of average intelligence due to being `;
 				if (slave.intelligenceImplant >= 30) {
@@ -105,19 +105,19 @@ App.Desc.eyes = function (slave) {
 			if (slave.intelligence + slave.intelligenceImplant >= -15) {
 				r += `but ${his} facial expressions reveal ${his} alertness; with ${his} education, ${he} can be considered of average intelligence. `;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class=orangered>below average intelligence</span> despite having been `;
+				r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class="orangered">below average intelligence</span> despite having been `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `thoroughly `;
 				}
 				r += `educated. `;
 			} else {
-				r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class=orangered>below average intelligence</span> and is poorly educated. `;
+				r += `but ${his} facial expressions reveal ${he} is rather dim; ${he} is of <span class="orangered">below average intelligence</span> and is poorly educated. `;
 			}
 		} else if (slave.intelligence >= -95) {
 			if (slave.intelligence + slave.intelligenceImplant >= -50) {
-				r += `but ${his} facial expressions reveal ${he} is rather dim; even with ${his} education, ${he} can only be considered of <span class=orangered>below average intelligence.</span>`;
+				r += `but ${his} facial expressions reveal ${he} is rather dim; even with ${his} education, ${he} can only be considered of <span class="orangered">below average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class=orangered>quite stupid</span> despite having `;
+				r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class="orangered">quite stupid</span> despite having `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `an advanced`;
 				} else {
@@ -125,31 +125,31 @@ App.Desc.eyes = function (slave) {
 				}
 				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. `;
+				r += `but ${his} facial expressions reveal ${he} is as dull as ${his} eyes; ${he} is <span class="orangered">quite stupid</span> and ignorant. `;
 			}
 		} else {
 			r += `though you doubt it would be much different if ${he} could see; `;
 			if (slave.intelligence + slave.intelligenceImplant >= -95) {
-				r += `even with ${his} education, ${he} is still <span class=orangered>really stupid.</span>`;
+				r += `even with ${his} education, ${he} is still <span class="orangered">really stupid.</span>`;
 			} else if (slave.intelligenceImplant > 0) {
-				r += `${he} is <span class=orangered>a moron,</span> yet somehow still remembers the basics of an education. `;
+				r += `${he} is <span class="orangered">a moron,</span> yet somehow still remembers the basics of an education. `;
 			} else {
-				r += `${he} is <span class=orangered>a moron,</span> and ignorant to boot. `;
+				r += `${he} is <span class="orangered">a moron,</span> and ignorant to boot. `;
 			}
 		}
 	} else {
 		if (slave.intelligence > 95) {
 			r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; `;
 			if (slave.intelligence + slave.intelligenceImplant >= 130) {
-				r += `with ${his} education, ${he} is so far <span class=deepskyblue>beyond brilliant</span> that ${he} is nearly peerless. `;
+				r += `with ${his} education, ${he} is so far <span class="deepskyblue">beyond brilliant</span> that ${he} is nearly peerless. `;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `${he} is both <span class=deepskyblue>brilliant</span> and `;
+				r += `${he} is both <span class="deepskyblue">brilliant</span> and `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
 				r += `educated. `;
 			} else {
-				r += `${he} is so <span class=deepskyblue>brilliant</span> that ${his} `;
+				r += `${he} is so <span class="deepskyblue">brilliant</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
 					r += `meager`;
 				} else {
@@ -159,15 +159,15 @@ App.Desc.eyes = function (slave) {
 			}
 		} else if (slave.intelligence > 50) {
 			if (slave.intelligence + slave.intelligenceImplant > 95) {
-				r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class=deepskyblue>brilliant.</span>`;
+				r += `${His} ${slave.eyeColor}-eyed gaze is incisive, quick, cunning; with ${his} education, ${he} can be considered <span class="deepskyblue">brilliant.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is both <span class=deepskyblue>highly intelligent</span> and `;
+				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is both <span class="deepskyblue">highly intelligent</span> and `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
 				r += `educated. `;
 			} else {
-				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is so <span class=deepskyblue>highly intelligent</span> that ${his} `;
+				r += `${His} ${slave.eyeColor} eyes are alive with intelligence; ${he} is so <span class="deepskyblue">highly intelligent</span> that ${his} `;
 				if (slave.intelligenceImplant > 0) {
 					r += `meager`;
 				} else {
@@ -178,20 +178,20 @@ App.Desc.eyes = function (slave) {
 		} else if (slave.intelligence > 15) {
 			r += `${His} ${slave.eyeColor} eyes are `;
 			if (slave.intelligence + slave.intelligenceImplant > 50) {
-				r += `alive with intelligence; with ${his} education, ${he} can be considered <span class=deepskyblue>highly intelligent.</span>`;
+				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 `;
+				r += `clever; ${he} is of <span class="deepskyblue">above average intelligence</span> and `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `well `;
 				}
 				r += `educated. `;
 			} else {
-				r += `clever; ${he} is of <span class=deepskyblue>above average intelligence</span> despite being undereducated. `;
+				r += `clever; ${he} is of <span class="deepskyblue">above average intelligence</span> despite being undereducated. `;
 			}
 		} else if (slave.intelligence >= -15) {
 			r += `${His} ${slave.eyeColor} eyes are `;
 			if (slave.intelligence + slave.intelligenceImplant > 15) {
-				r += `clever; with ${his} education, ${he} can be considered of <span class=deepskyblue>above average intelligence.</span>`;
+				r += `clever; with ${his} education, ${he} can be considered of <span class="deepskyblue">above average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
 				r += `alert; ${he} is of average intelligence due to being`;
 				if (slave.intelligenceImplant >= 30) {
@@ -206,20 +206,20 @@ App.Desc.eyes = function (slave) {
 			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 `;
+				r += `dim; ${he} is of <span class="orangered">below average intelligence</span> despite having been `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `thoroughly `;
 				}
 				r += `educated. `;
 			} else {
-				r += `dim; ${he} is of <span class=orangered>below average intelligence</span> and is poorly educated. `;
+				r += `dim; ${he} is of <span class="orangered">below average intelligence</span> and is poorly educated. `;
 			}
 		} else if (slave.intelligence >= -95) {
 			r += `${His} ${slave.eyeColor} eyes are `;
 			if (slave.intelligence + slave.intelligenceImplant >= -50) {
-				r += `dim; even with ${his} education, ${he} can only be considered of <span class=orangered>below average intelligence.</span>`;
+				r += `dim; even with ${his} education, ${he} can only be considered of <span class="orangered">below average intelligence.</span>`;
 			} else if (slave.intelligenceImplant >= 15) {
-				r += `dull; ${he} is <span class=orangered>quite stupid</span> despite having `;
+				r += `dull; ${he} is <span class="orangered">quite stupid</span> despite having `;
 				if (slave.intelligenceImplant >= 30) {
 					r += `an advanced`;
 				} else {
@@ -227,16 +227,16 @@ App.Desc.eyes = function (slave) {
 				}
 				r += ` education. `;
 			} else {
-				r += `dull; ${he} is <span class=orangered>quite stupid</span> and ignorant. `;
+				r += `dull; ${he} is <span class="orangered">quite stupid</span> and ignorant. `;
 			}
 		} else {
 			r += `${His} ${slave.eyeColor}-eyed gaze betrays near-total insensibility; `;
 			if (slave.intelligence + slave.intelligenceImplant >= -95) {
-				r += `even with ${his} education, ${he} is still <span class=orangered>really stupid.</span>`;
+				r += `even with ${his} education, ${he} is still <span class="orangered">really stupid.</span>`;
 			} else if (slave.intelligenceImplant > 0) {
-				r += `${he} is <span class=orangered>a moron,</span> yet somehow still remembers the basics of an education. `;
+				r += `${he} is <span class="orangered">a moron,</span> yet somehow still remembers the basics of an education. `;
 			} else {
-				r += `${he} is <span class=orangered>a moron,</span> and ignorant to boot. `;
+				r += `${he} is <span class="orangered">a moron,</span> and ignorant to boot. `;
 			}
 		}
 	}
@@ -295,17 +295,17 @@ App.Desc.ageAndHealth = function (slave) {
 
 	if (!slave.fuckdoll) {
 		if (slave.health < -90) {
-			r += `${He} is nearly unresponsive. ${He}'s obviously <span class=red>dangerously sick,</span>`;
+			r += `${He} is nearly unresponsive. ${He}'s obviously <span class="red">dangerously sick,</span>`;
 		} else if (slave.health < -50) {
-			r += `${He} seems <span class=red>very sick,</span>`;
+			r += `${He} seems <span class="red">very sick,</span>`;
 		} else if (slave.health < -20) {
-			r += `${He} seems <span class=red>ill,</span>`;
+			r += `${He} seems <span class="red">ill,</span>`;
 		} else if (slave.health <= 20) {
-			r += `${He} seems reasonably <span class=yellow>healthy,</span>`;
+			r += `${He} seems reasonably <span class="yellow">healthy,</span>`;
 		} else if (slave.health <= 50) {
-			r += `${He} shines with <span class=green>good health,</span>`;
+			r += `${He} shines with <span class="green">good health,</span>`;
 		} else {
-			r += `${He} almost gleams; ${he}'s in the absolute <span class=green>best of health,</span>`;
+			r += `${He} almost gleams; ${he}'s in the absolute <span class="green">best of health,</span>`;
 		}
 		age = slave.actualAge + 1;
 		r += ` and ${he}'s `;
@@ -454,13 +454,13 @@ App.Desc.ageAndHealth = function (slave) {
 				}
 				r += ` ${He} appears to be slave.visualAge years old and ${he} `;
 				if (slave.visualAge <= 8) {
-					r += `has induced <span class=orange>NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives.`;
+					r += `has induced <span class="orange">NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives.`;
 				} else if (slave.visualAge < 13) {
-					r += `has induced <span class=orange>NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life.`;
+					r += `has induced <span class="orange">NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life.`;
 				} else if (slave.visualAge < 20) {
-					r += `still has a teen body for now, but with ${his} <span class=orange>NCS,</span> ${he} will eventually regress in age to look like a little $girl again.`;
+					r += `still has a teen body for now, but with ${his} <span class="orange">NCS,</span> ${he} will eventually regress in age to look like a little $girl again.`;
 				} else {
-					r += `still has the body of an adult, but ${his} <span class=orange>NCS</span> has `;
+					r += `still has the body of an adult, but ${his} <span class="orange">NCS</span> has `;
 					if (slave.physicalAge - slave.visualAge <= 5) {
 						r += `not really begun to youthen ${his} appearance yet.`;
 					} else if (slave.physicalAge - slave.visualAge <= 10) {
@@ -551,17 +551,17 @@ App.Desc.ageAndHealth = function (slave) {
 	} else {
 		r += ` The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is`;
 		if (slave.health < -90) {
-			r += `<span class=red>dangerously sick</span>`;
+			r += `<span class="red">dangerously sick</span>`;
 		} else if (slave.health < -50) {
-			r += `<span class=red>very sick</span>`;
+			r += `<span class="red">very sick</span>`;
 		} else if (slave.health < -20) {
-			r += `<span class=red>ill</span>`;
+			r += `<span class="red">ill</span>`;
 		} else if (slave.health <= 20) {
-			r += `<span class=yellow>healthy</span>`;
+			r += `<span class="yellow">healthy</span>`;
 		} else if (slave.health <= 50) {
-			r += `<span class=green>very health</span>`;
+			r += `<span class="green">very health</span>`;
 		} else {
-			r += `<span class=green>extremely healthy</span>`;
+			r += `<span class="green">extremely healthy</span>`;
 		}
 		r += ` and ${slave.physicalAge} years old.`;
 	}
@@ -670,7 +670,7 @@ App.Desc.waist =
 
 		r += `${He} has `;
 		if (slave.waist > 95) {
-			r += `a badly <span class=red>masculine waist</span> that ruins ${his} figure`;
+			r += `a badly <span class="red">masculine waist</span> that ruins ${his} figure`;
 			if (slave.weight > 30) {
 				r += ` and greatly exaggerates how fat ${he} is. `;
 			} else if (slave.weight < -30) {
@@ -713,7 +713,7 @@ App.Desc.waist =
 				}
 			}
 		} else if (slave.waist > 40) {
-			r += `a broad, <span class=red>ugly waist</span> that makes ${him} look mannish`;
+			r += `a broad, <span class="red">ugly waist</span> that makes ${him} look mannish`;
 			if (slave.weight > 30) {
 				r += ` and exaggerates how fat ${he} is. `;
 			} else if (slave.weight < -30) {
@@ -756,7 +756,7 @@ App.Desc.waist =
 				}
 			}
 		} else if (slave.waist > 10) {
-			r += `an <span class=red>unattractive waist</span> that conceals ${his} `;
+			r += `an <span class="red">unattractive waist</span> that conceals ${his} `;
 			if (slave.visualAge > 25) {
 				r += `girlish`;
 			} else {
diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 4b095e0228f0968eca53e5e719ae8d1c71d78b95..02b13a6ba2b5a3d0f010c7ecca8c7b8aefbe71d4 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -16,13 +16,13 @@ window.AnalVCheck = function AnalVCheck(times = 1) {
 	const His = capFirstChar(his);
 	let r = ``;
 	if (canDoAnal(slave) && slave.anus === 0) {
-		r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+		r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 		if (slave.devotion > 50 || slave.career === "a slave since birth") {
 			r += `Since it's ${his} first time, you gently ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. Before long ${he}'s moaning loudly as you continue working away at ${his} butthole. `;
 			if (slave.tankBaby === 2) {
-				r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+				r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class="hotpink">necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 			} else {
-				r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. `;
+				r += `${He} thinks of losing ${his} anal virginity to you as a <span class="hotpink">connection</span> with ${his} beloved ${WrittenMaster(slave)}. `;
 				if ((slave.fetishKnown && slave.fetish === "buttslut") || (slave.energy > 95) || (slave.attrXX >= 85 && V.PC.dick === 0)) {
 					r += `${He} can't wait to be fucked in the ass by you again.`;
 				} else {
@@ -33,10 +33,10 @@ window.AnalVCheck = function AnalVCheck(times = 1) {
 		} else if (slave.devotion > 20) {
 			r += `Since it's ${his} first time, you gently ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${His} moans become louder and louder as you continue working away at ${his} butthole. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 		} else if (slave.devotion >= -20) {
-			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="gold">fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 			slave.trust -= 5;
 		} else {
-			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="mediumorchid">hates</span> and <span class="gold">fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 			slave.trust -= 5;
 			slave.devotion -= 5;
 		}
@@ -70,13 +70,13 @@ window.VaginalVCheck = function VaginalVCheck(times = 1) {
 	const His = capFirstChar(his);
 	let r = ``;
 	if (canDoVaginal(slave) && slave.vagina === 0) {
-		r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
+		r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin pussy.</span> `;
 		if (slave.devotion > 50 || slave.career === "a slave since birth") {
 			r += `You ease yourself into ${his} pussy, since it's ${his} first time, then gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 			if (slave.tankBaby === 2) {
-				r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
+				r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a <span class="hotpink">necessity to be happy.</span> ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
 			} else {
-				r += `@@.hotpink;${He} enjoys losing ${his} cherry to you.@@ `;
+				r += `<span class="hotpink">${He} enjoys losing ${his} cherry to you.</span> `;
 				if ((slave.fetishKnown && slave.fetish === "pregnancy") || (slave.energy > 95) || (slave.attrXY >= 85 && V.PC.dick === 1)) {
 					r += `${He} can't wait to have ${his} pussy fucked by you again.`;
 				} else {
@@ -87,11 +87,11 @@ window.VaginalVCheck = function VaginalVCheck(times = 1) {
 		} else if (slave.devotion > 20) {
 			r += `You ease yourself into ${his} pussy, since it's ${his} first time, then gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} accepts losing ${his} virginity to ${his} owner and ${he} looks forward to having ${his} pussy fucked by you again.`;
 		} else if (slave.devotion >= -20) {
-			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue thrusting into ${his} fuck hole. ${He} @@.mediumorchid;hates@@ losing ${his} virginity this way and @@.gold;fears@@ the next time you'll conquer ${him}. ${He} dreads getting violated by you again.`;
+			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue thrusting into ${his} fuck hole. ${He} <span class="mediumorchid">hates</span> losing ${his} virginity this way and <span class="gold">fears</span> the next time you'll conquer ${him}. ${He} dreads getting violated by you again.`;
 			slave.trust -= 5;
 			slave.devotion -= 5;
 		} else {
-			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} tries to struggle, but you only pound harder. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for robbing ${his} of ${his} virginity. ${He} dreads getting fucked by you again.`;
+			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} tries to struggle, but you only pound harder. ${He} <span class="mediumorchid">hates</span> and <span class="gold">fears</span> you for robbing ${his} of ${his} virginity. ${He} dreads getting fucked by you again.`;
 			slave.trust -= 10;
 			slave.devotion -= 15;
 		}
@@ -128,17 +128,17 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 	if (canDoVaginal(slave)) {
 		if (slave.vagina === 0) {
 			if (canDoAnal(slave) && slave.anus === 0) {
-				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin holes.@@ `;
+				r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin holes.</span> `;
 				if (slave.devotion > 50 || slave.career === "a slave since birth") {
 					r += `As it's ${his} first time, you ease yourself into ${his} pussy before gradually working your way into ${his} ass and alternate between the two holes while ${he} moans. `;
 					if (slave.tankBaby === 2) {
-						r += `${He} believes you taking ${his} virgin holes @@.hotpink;will keep ${him} from suffering.@@ ${He} expects you to require ${his} holes as tribute again soon.`;
+						r += `${He} believes you taking ${his} virgin holes <span class="hotpink">will keep ${him} from suffering.</span> ${He} expects you to require ${his} holes as tribute again soon.`;
 					} else {
-						r += `@@.hotpink;${He}'s so devoted ${he} enjoys being fucked in both holes for the first time.@@ ${He} looks forward to having ${his} holes fucked by you again.`;
+						r += `<span class="hotpink">${He}'s so devoted ${he} enjoys being fucked in both holes for the first time.</span> ${He} looks forward to having ${his} holes fucked by you again.`;
 					}
 					slave.devotion += 4;
 				} else if (slave.devotion <= 20) {
-					r += `You force yourself into ${his} pussy before working your way into ${his} ass. ${He} sobs and cries with disgust while you alternate between the two holes. ${He} @@.mediumorchid;hates@@ losing ${his} virginity and anal virginity in one @@.gold;brutal@@ incident. ${He} dreads having ${his} holes violated by you again.`;
+					r += `You force yourself into ${his} pussy before working your way into ${his} ass. ${He} sobs and cries with disgust while you alternate between the two holes. ${He} <span class="mediumorchid">hates</span> losing ${his} virginity and anal virginity in one <span class="gold">brutal</span> incident. ${He} dreads having ${his} holes violated by you again.`;
 					slave.trust -= 5;
 					slave.devotion -= 5;
 				} else {
@@ -146,17 +146,17 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 				}
 				slave.anus = 1;
 			} else {
-				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
+				r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin pussy.</span> `;
 				if (slave.devotion > 50 || slave.career === "a slave since birth") {
 					r += `As it's ${his} first time, you ease yourself into ${his} pussy and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 					if (slave.tankBaby === 2) {
-						r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
+						r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a <span class="hotpink">necessity to be happy.</span> ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
 					} else {
-						r += `@@.hotpink;${He} enjoys losing ${his} cherry to you.@@ ${He} looks forward to having ${his} pussy fucked by you again.`;
+						r += `<span class="hotpink">${He} enjoys losing ${his} cherry to you.</span> ${He} looks forward to having ${his} pussy fucked by you again.`;
 					}
 					slave.devotion += 4;
 				} else if (slave.devotion <= 20) {
-					r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for taking ${his} virginity. ${He} dreads having ${his} pussy violated by you again.`;
+					r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} <span class="mediumorchid">hates</span> and <span class="gold">fears</span> you for taking ${his} virginity. ${He} dreads having ${his} pussy violated by you again.`;
 					slave.trust -= 5;
 					slave.devotion -= 5;
 				} else {
@@ -165,22 +165,22 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 			}
 			slave.vagina = 1;
 		} else if (canDoAnal(slave) && slave.anus === 0) {
-			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+			r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 			if (slave.devotion > 50 || slave.career === "a slave since birth") {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 				if (slave.tankBaby === 2) {
-					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class="hotpink">necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 				} else {
-					r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
+					r += `${He} thinks of losing ${his} anal virginity to you as a <span class="hotpink">connection</span> with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
 				}
 				slave.devotion += 4;
 			} else if (slave.devotion > 20) {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 			} else if (slave.devotion >= -20) {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="gold">fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 				slave.trust -= 5;
 			} else {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="mediumorchid">hates</span> and <span class="gold">fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 				slave.trust -= 5;
 				slave.devotion -= 5;
 			}
@@ -203,22 +203,22 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 		}
 	} else if (canDoAnal(slave)) {
 		if (slave.anus === 0) {
-			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+			r += `<span class="lime">This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 			if (slave.devotion > 50 || slave.career === "a slave since birth") {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 				if (slave.tankBaby === 2) {
-					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class="hotpink">necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 				} else {
-					r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
+					r += `${He} thinks of losing ${his} anal virginity to you as a <span class="hotpink">connection</span> with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
 				}
 				slave.devotion += 4;
 			} else if (slave.devotion > 20) {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 			} else if (slave.devotion >= -20) {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="gold">fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 				slave.trust -= 5;
 			} else {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class="mediumorchid">hates</span> and <span class="gold">fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 				slave.trust -= 5;
 				slave.devotion -= 5;
 			}
@@ -270,19 +270,19 @@ window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) {
 	let r = ``;
 
 	if (V.partner < 0 || V.partner >= V.slaves.length) {
-		r += `@@.red;PartnerVCheck called with invalid partner '$partner' from passage ${passage()}.@@`;
+		r += `<span class="red">PartnerVCheck called with invalid partner '$partner' from passage ${passage()}.</span>`;
 	} else if (canDoVaginal(partner)) {
 		if (partner.vagina === 0) {
 			if (canDoAnal(partner) && partner.anus === 0) {
-				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually working your way into ${his} butthole, alternating between ${his} holes. @@.lime;This breaks in ${partner.slaveName}'s virgin holes.@@ `;
+				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually working your way into ${his} butthole, alternating between ${his} holes. <span class="lime">This breaks in ${partner.slaveName}'s virgin holes.</span> `;
 				partner.vagina = 1;
 				partner.anus = 1;
 			} else {
-				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually increasing the intensity of your thrusts. @@.lime;This breaks in ${partner.slaveName}'s virgin pussy.@@ `;
+				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually increasing the intensity of your thrusts. <span class="lime">This breaks in ${partner.slaveName}'s virgin pussy.</span> `;
 				partner.vagina = 1;
 			}
 		} else if (canDoAnal(partner) && partner.anus === 0) {
-			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. @@.lime;This breaks in ${partner.slaveName}'s virgin ass.@@ `;
+			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. <span class="lime">This breaks in ${partner.slaveName}'s virgin ass.</span> `;
 			partner.anus = 1;
 		}
 
@@ -303,7 +303,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) {
 		}
 	} else if (canDoAnal(partner)) {
 		if (partner.anus === 0) {
-			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. @@.lime;This breaks in ${partner.slaveName}'s virgin ass.@@ `;
+			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. <span class="lime">This breaks in ${partner.slaveName}'s virgin ass.</span> `;
 			partner.anus = 1;
 		}
 		V.analTotal += analTimes;
diff --git a/src/npc/fDance.tw b/src/npc/fDance.tw
index 940d2c0e0da4e79131fa1251ef89b522014c17fa..4007e9283456cf529020b391e1da977373c4644d 100644
--- a/src/npc/fDance.tw
+++ b/src/npc/fDance.tw
@@ -1,29 +1,30 @@
 :: FDance [nobr]
 
+/* this needs better support for different devotion/trust combinations, perhaps dance alterations for bodytypes? */
+
 <<set $desc = SlaveTitle($activeSlave)>>
 <<run clearSummaryCache($activeSlave)>>
 <<setLocalPronouns $activeSlave>>
 <<setPlayerPronouns>>
 
-You tell your assistant to summon your slave and set some erotic music. When your slave arrives $he finds the lights in your office flashing club colors. You gesture towards the platform in the center of your office and tell $him to dance for you.
+You tell your assistant to summon your slave and set some erotic music. When your slave arrives $he finds the lights in your office flashing club colors. You gesture towards a sturdy platform in the center of your office and tell $him to dance for you.
 
 <<if ($activeSlave.entertainmentSkill >= 100)>>
-	Your slave has a level of skill previously unseen in the old world. Even $his blinks have the seductive pull of a goddess. $He slides his ass gracefully unto the stage, then dramatically raises $his elongated legs one at a time onto the platform. Circling to $his knees, $he raises $his ass in the air and glides $his hands up $his legs as $he stands upright. As you watch $him preform, you think how no _womanP of the old world would ever get to see pure sexuality like this. And not only do get to watch $him, you OWN $him. $His body moves like water, and hips that ebbed and flowed as if the tides themselves panged for a rock hard cock to come and take them. You try to go back to your work, but cannot take your eyes off $him for even a second.
+	Your slave has a level of skill previously unseen in the old world; even $his blinks have the seductive pull of a goddess. $He slides his ass gracefully unto the stage, then dramatically raises $his elongated legs one at a time onto the platform. Circling to $his knees, $he raises $his ass in the air and glides $his hands up $his legs as $he stands upright. As you watch $him preform, you think how no man of the old world would ever get to see pure sexuality like this. And not only do get to watch $him, you OWN $him. $His body moves like water, and hips that ebbed and flowed as if the tides themselves panged for a rock hard cock to come and take them. You try to go back to your work, but cannot take your eyes off $him for even a second.
 <<elseif ($activeSlave.entertainmentSkill >= 80)>>
 	$He takes his rightful place on your stage. $His skill would have only been matched by the best of the best old world erotic dancers, but in your Free City expectations are high. $He dances with seduction in every move, alternating $his style between everything from belly dancing to club twerking, and each with the skill level of a trained professional. You resume your work, but often find yourself pulled back in by the tide of $his rolling hips.
 <<elseif ($activeSlave.entertainmentSkill >= 60)>>
-	$He goes to take $his place on your stage and dance for $his Master. $He has impressive skill and would have been a top-tier dancer in the old world. One of the many benefits of being a leader of a Free City is the ability to work in an atmosphere of pure servitude. You smile as you continue your work in an office an old world _womanP could only dream of.
+	$He goes to take $his place on your stage and dance for $his <<= writtenMaster($activeSlave)>>. $He has impressive skill and would have been a top-tier dancer in the old world. One of the many benefits of being a leader of a Free City is the ability to work in an atmosphere of pure servitude. You smile as you continue your work in an office an old world _womanP could only dream of.
 <<elseif ($activeSlave.entertainmentSkill >= 40)>>
-	$He ascends to the platform and begins to grind at the pole. Despite being an average entertainer, it is clear that $he is doing $his best. You enjoy the new ambiance while continuing your work.
+	$He ascends the platform and begins to grind on the pole. Despite being an average entertainer, it is clear that $he is doing $his best. You enjoy the new ambiance while continuing your work.
 <<elseif ($activeSlave.entertainmentSkill >= 20)>>
-	$He climbs up onto the platform and grabs onto the pole. $He is still learning the nuances of seductive dance, but at least able to move with the rhythm. It isn't long before you are distracted with work, leaving your slave to continue to dance without an audience, and unable to stop until you command it.
+	$He climbs up onto the platform and grabs hold of the pole. $He is still learning the nuances of seductive dance, but at least able to move with the rhythm. It isn't long before you are distracted with work, leaving your slave to continue to dance without an audience, and unable to stop until you command it.
 <<else>>
-	$He unceremoniously climbs on the platform and begins to dance. Or, at least, $his best attempt at dancing. $His arms flail about awkwardly as $he crouches and straightens off-beat to the music. You try to tune $him out and get some work done.
+	$He unceremoniously climbs on the platform and begins to dance — or, at least, $his best attempt at dancing. $His arms flail about awkwardly as $he crouches and straightens off-beat to the music. You try to tune $him out and get some work done.
 <</if>>
 
-The atmosphere of your office is a testament to masculine opulence. Few _womenP in the old world would have the pleasure of completing their work while an attractive $woman flaunts $himself for _hisP pleasure.
-You allow the situation to continue for about an hour, before deciding it's time to escalate.
-You look up once more at your slave and congratulate yourself for choosing such a delicious outfit for $him.
+The atmosphere of your office is a testament to masculine opulence. Few _womenP in the old world would have the pleasure of completing their work while an attractive $girl flaunts $himself for _hisP pleasure. You allow the situation to continue for about an hour, before deciding it's time to escalate. You look up once more at your slave and congratulate yourself for choosing such a delicious outfit for $him.
+/* I do not like this part */
 <<switch $activeSlave.clothes>>
 	<<case "uncomfortable straps">>
 		<<if $activeSlave.boobs < 300>>
@@ -200,7 +201,8 @@ You look up once more at your slave and congratulate yourself for choosing such
 		<<else>>
 			$His naked <<if $activeSlave.boobs < 300>> flat chest and nipples<<else>>breasts<</if>> catch your eye.
 		<</if>>
-	<</switch>>
+<</switch>>
+
 You tell your slave that it's time to incorporate some stripping into $his dance.
 
 <<if ($activeSlave.sexualFlaw == "shamefast")>>
@@ -425,14 +427,14 @@ You tell your slave that it's time to incorporate some stripping into $his dance
 After the last piece of clothing has hit the floor you let your little slut dance naked a little while longer while you finish your last report. Once you have gotten enough of $his dancing, you snap your fingers and $he hurries to your side and drops to $his knees, awaiting further orders.
 
 <<if (random(1,100) > (100 + $activeSlave.devotion))>>
-	<<if ($activeSlave.fetish != "humiliation") && ($activeSlave.energy <= 95) && ($activeSlave.sexualFlaw != "shamefast")>>
+	<<if ($activeSlave.fetish != "humiliation") && ($activeSlave.energy <= 50) && ($activeSlave.sexualFlaw == "none")>>
 		Being forced to reveal $himself has given $him a @@.red;desire to always be clothed.@@
 		<<set $activeSlave.sexualFlaw = "shamefast">>
 	<</if>>
-<<elseif (random(1,100) > (110 - $activeSlave.devotion))>>
-	<<if ($activeSlave.fetish == "none") && ($activeSlave.sexualFlaw != "shamefast")>>
-		Being on display for your pleasure has @@.lightcoral;encouraged $him to focus exposing $himself more often.@@
-		<<set $activeSlave.fetish = "humiliation", $activeSlave.fetishKnown = 1>>
+<<elseif ($activeSlave.fetish == "none") && ($activeSlave.sexualFlaw != "shamefast")>>
+	<<if fetishChangeChance($activeSlave) > random(0,100)>>
+		Being on display for your pleasure has @@.lightcoral;encouraged $him to savor humiliation.@@
+		<<set $activeSlave.fetish = "humiliation", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 65>>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index 661b8ce49e9223b8663c713f37a7612b1dbaa3b7..dd352779a515d38ac102935f62885a044998105a 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -6,22 +6,22 @@
 <<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)>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,13,16)>>
 		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)>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,11,12,16)>>
 		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)>>
+		<<set $randShow = either(0,1,2,3,4,5,6,7,9,11,12,16)>>
 		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)>>
+		<<set $randShow = either(0,1,2,3,4,6,7,9,11,12,16)>>
 		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>>
+	<<if $seeDicks == 0 && $makeDicks == 0 && ($randShow == 10 || $randShow == 16)>>
 		<<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>>
@@ -1593,6 +1593,49 @@
 		<br><br>
 		Captain Orca rushes up the stairs to reveal over the aft the approach of a viking ship. Standing at its prow a blonde man covered in blue woad tattoos shouting wildly and firing two automatic rifles off into the air. The screen stops there with a "to be continued" overlaid on the screen.
 	<</if>>
+<<case 16>>
+	<<set $lastShow = 16, $showSixteen++>>
+	<<if $showSixteen == 3>><<set $showSixteen = 1>><</if>>
+	/*<<if $showSixteen == 1>>*/
+
+	/* All actors are at least 18 */
+	<br>As you snuggle in for the night<<if $Concubine != 0>> with your concubine<</if>>, you <<if $FCTVremote == 1>>tune to<<else>>begin watching<</if>> the <i>Age of Slavery</i> channel.  With so many new types of archologies emerging, it's sometimes difficult to tell if you are watching events unfolding on a set or in a real archology with a historical society.
+	<br><br>“Well, you did well to win the ‘cleanest urchin’ contest.”
+	<br>Currently you seem to be watching a scene from the industrial revolution, in a smoke smudged brick courtyard by a factory.  A stout manager, dressed in a black suit, is leading a thin urchin toward a wooden building built out from the main factory.
+	<br>“Thank you, sir,” the urchin gulps.  “My mother really needs the money. You promised a shilling?”
+	<br>“And I really need to recover these bearings!” The stout man proclaims.  “I’m surprised you were so modest, though.  Someone with skin as pure as yours doesn’t need to be ashamed of it.”
+	<br>“Uh, I'm fair like my mother, sir.” The waif hugs their arms around their chest.
+	<br>“Well she must be helping keep you clean, boy!”  The man laughs, and flings open the door to the outbuilding, revealing a series of tanks about three times as tall as he is.
+	<br>“This one right here,” he taps the nearest, “is almost full of water.  However, the blasted mixer for the tank has fallen apart.”  There is enough light entering from the door to show a belt driven mixer hanging above the tank, with a missing plate and empty sockets. “The bearings are about an inch across, and fell right in the damn tank.  I can’t drain the tank without those bearings because they’re valuable, and I can’t foul the drain.  But I can’t seem to fish them out either, it’s too dark.  That’s why I needed someone clean, someone that won’t get their filth in my tank.  There’s a shilling if you can get me back all eight of my bearings in ten minutes.”
+	<br>“Just ten minutes sir?”
+	<br>“Time is money.  Now strip.”
+	<br>The urchin hesitates.
+	<br>“Still shy?” the man leers.
+	<br>“I’ll do it.” The youth strips off his shirt and steps inside, shutting the door before dropping his trousers.
+	<br>“Hand me your clothes then, NOTHING IN MY TANK.” The man grumps.
+	<br>The camera cuts inside to show a dim black and white view of the youth’s nude silhouette scrambling up the tank, fumbling with the lid and slipping inside.  They pass up a series of bearings quickly for a while, but seem to struggle to find the final ones.
+	<br>“TIME!” Calls the man, holstering his pocket watch.
+	<br>“Sir, I can’t find the last two!”  The youth splutters.
+	<br>“Can you find the fucking holes!?!” the man roars.
+	<br>“E-eight…” the lad responds, crestfallen.
+	<br>“Then here’s the deal.  Let’s make it interesting.  I will double your wages.  Double them!  Two shillings! If you can find your own fucking asshole and shove the six you have in there, then find the last two.  Sloppy idiot.”
+	<br>The youth freezes.  “Sir?”
+	<br>“You heard me.  You’re not losing those; polish them!  I’m not even peeking, keep your precious privacy.”
+	<br>You can see the hesitation in the outline of the desperate youth, then a slump of the shoulders.  “Yes, sir.”
+	<br>Perched on top of the tank, they bend over with their hand on the mixer and begin inserting the bearings into their new housing.  They are each about an inch wide, and the first takes quite some time.
+	<br>“Hurry up, damn it!” the man roars.
+	<br>The urchin jumps, and then jumps again as the bearing slips home.  They freeze for a moment, trembling.  Then begin pushing in the others.
+	<br>“WELL?”
+	<br>“They’re in, sir,” he responds weakly, and slips into the tank.  The man harrumphs and starts examining his watch again.  After a few minutes have passed, the lad pops up with the seventh bearing, and then returns to the bottom.  They’re clearly holding their breath as long as they can.
+	<br><br>“TIME!” The man roars again.
+	<br>Spluttering, the youth surfaces.  “I-I… I can’t find it!” he cries desperately.  Splashing his way out of the tank and scrambling toward the door, he pauses to force down a sudden erection.  The man flings open the door, letting daylight stream in and briefly washing out the black and white camera.  His pants are also open and showing an erection raging as fiercely as he is.
+	<br>“Then you need some blasted motivation!  I’ll pack those bearings in myself!”
+	<br>The youth shrieks, and in a panic sprints around the tank.  The man follows closely, and then chases him out the door.  With no time to grab his clothing, the youth squirts out bearings as he runs, before making the relative safety of the street, still nude.  A camera from the street reveals an interesting surprise as the desperation on the fleeing youth’s face shifts to consternation.  Heads on the street turn, too, as he drops the last bearings and spurts white over coal black skin.  There was more than water in the tank: he’s dyed now as black as night from head to toe.
+	<br>Pointing and laughing uproariously, the man flips the eighth bearing into the air before pocketing it again and buttoning up his pants.  The camera pans out to show the factory’s name as “Titan’s Textiles.”
+	<<if $Concubine != 0 && canTalk($Concubine)>>
+		<<run Enunciate($Concubine)>>
+		<br><br>“Mmm, I could u<<s>>e a little <<s>>omething like that in<<s>>ide MY butt,” $Concubine.slaveName whispers in your ear. You mention you have something better in mind, and pounce.
+	<</if>>
 
 <<default>>
 	It seems there's a technical error preventing you from streaming, you tell $assistantName to look into it.
diff --git a/src/pregmod/seFCTVwatch.tw b/src/pregmod/seFCTVwatch.tw
index fa2429872f8f75a3880c56a8e096ce77ba4e6b9b..dda84826e9f0d66fa9106ff22396d571ef2a495e 100644
--- a/src/pregmod/seFCTVwatch.tw
+++ b/src/pregmod/seFCTVwatch.tw
@@ -16,11 +16,15 @@
 <<if ndef $showFifteen>> /* the pirate channel */
 	<<set $showFifteen = 0>>
 <</if>>
-<<set $randShow = random(0,15)>>
+<<if ndef $showSixteen>> /* Ages of Slavery channel */
+	<<set $showSixteen = 0>>
+<</if>>
+
+<<set $randShow = random(0,16)>>
 <<set $FCTVshow = 0>>
 <<if $randShow == $lastShow>>
 	<<set $randShow += 1>>
-	<<if $randShow > 15>>
+	<<if $randShow > 16>>
 		<<set $randShow = 0>>
 	<</if>>
 <</if>>
@@ -143,6 +147,12 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<include "SE FCTV Shows">>
 	<</replace>>
 <</link>>
+<<link 16>>
+	<<set $randShow = 16>>
+	<<replace "#show">>
+		<<include "SE FCTV Shows">>
+	<</replace>>
+<</link>>
 <<if $cheatMode == 1 || $debugMode == 1>> /* remove toggle for normies */
 	|
 	<<link "Toggle inappropriate">>
@@ -174,7 +184,7 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<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>>
+	<<if $seeDicks == 0 && $makeDicks == 0 && ($randShow == 10 || $randShow == 16)>>
 		<<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>>