diff --git a/Changelog.txt b/Changelog.txt
index d1850031f81c9908992e80d5c2cb1d8e9c6825a9..be90b286e5982e37c02696ead8c12330a679693d 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -7,6 +7,7 @@ Pregmod
 	-illness tweaked
 	-slave performance listing
 	-reminder system
+	-porn code optimization
 	-expanded racial eye, hair and skin color ranges
 	-royal blood event can now use real dynasties
 	-various fixes and balance changes
diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js
index df2b83d83198309453c8bf86c508e11700bd2b55..ea1a356df38e6ef6b922fbc8f139f9ed764fdc17 100644
--- a/src/Mods/SpecialForce/SpecialForce.js
+++ b/src/Mods/SpecialForce/SpecialForce.js
@@ -620,7 +620,7 @@ App.SF.fsIntegration = function(input = 'Menu', textDisplay = 100, text = `\n`)
 
 	if (input === 'Menu') {
 		if (V.SF.FS.Tension === -1) {
-			text += `<<link "Talk to The Colonel about Future Society integration.">> <<replace "#result0">> \n\n`;
+			text += `<<link "Talk to The Colonel about Future Society integration">> <<replace "#result0">> \n\n`;
 			text += `You bring up the topic of cultural development with the Colonel, and in doing so, you share your hopes that she might be willing to help you better acquaint the troops with your cultural mores. Her response was less than positive: `;
 			switch (V.SF.Colonel.Core) {
 				case "kind":
@@ -641,7 +641,7 @@ App.SF.fsIntegration = function(input = 'Menu', textDisplay = 100, text = `\n`)
 			}
 			text += ` [[Fine|Firebase][$SF.FS.Tension = 0]]\n <</replace>> <</link>>`;
 		} else if (V.SF.FS.Tension < 100) {
-			text += `<<link "Chat with the Troops.">> <<replace "#result0">> \n\n`;
+			text += `<<link "Chat with the Troops">> <<replace "#result0">> \n\n`;
 			text += `You walk past The Colonel and move towards the common area to meet with an exclusive group of her very influential officers that are currently relaxing at their favorite table. These men and women are known for their competence, popularity, and authority within in their respective divisions of the ${V.SF.Lower}, they are hard to replace, and they are always looking to earn more coin; they are the perfect weak link for trickling your Future Society influences down into the Firebase. As the officers make room at their table for you to sit and join them for discussion, you spot The Colonel staring at you from afar, and she does not look happy with you. As you are her employer, she cannot stop you from speaking with her soldiers or moving around as you please, but she can tell that you are up to no good:\nTension: ${V.SF.FS.Tension}%\n`;
 			validityTester();
 			for (let i = 0; i < FS_OPTIONS.length; i++) {
@@ -2582,9 +2582,9 @@ App.SF.AAR = function(endWeekCall = 1) {
 
 			r += `&nbsp;Deployment focus: `;
 			r += `<span id="focus"> <<if $SF.Target == "recruit">> <b>Recruiting and Training</b> <<elseif $SF.Target == "secure">> <b>Securing Trade Routes</b> <<else>> <b>Raiding and Slaving</b> <</if>></span>&nbsp;&nbsp;`;
-			r += `<br>&nbsp;&nbsp; <<link "Recruit and Train">> <<set $SF.Target = "recruit">> <<replace "#focus">> <b>Recruiting and Training</b> <</replace>> <</link>> <span class="detail">Increases the amount of FNG's at the cost of revenue.</span>`;
+			r += `<br>&nbsp;&nbsp; <<link "Recruit and Train">> <<set $SF.Target = "recruit">> <<replace "#focus">> <b>Recruiting and Training</b> <</replace>> <</link>> <span class="detail">Increases the amount of FNGs at the cost of revenue.</span>`;
 			r+= `<br>&nbsp;&nbsp; <<link "Secure Trade Routes">> <<set $SF.Target = "secure">> <<replace "#focus">> <b>Securing Trade Routes</b> <</replace>> <</link>> <span class="detail">Increases trade and reputation at the cost of revenue.</span>`;
-			r += `<br>&nbsp;&nbsp; <<link "Raiding and Slaving">> <<set $SF.Target = "raiding">> <<replace "#focus">> <b>Raiding and Slaving</b> <</replace>> <</link>> <span class="detail">Increases revenue at the cost of less FNG's and increased force depravity.</span>`;
+			r += `<br>&nbsp;&nbsp; <<link "Raiding and Slaving">> <<set $SF.Target = "raiding">> <<replace "#focus">> <b>Raiding and Slaving</b> <</replace>> <</link>> <span class="detail">Increases revenue at the cost of less FNGs and increased force depravity.</span>`;
 
 			r += `<br>&nbsp;Rules of Engagement: `;
 			r += `<span id="roe"> <<if $SF.ROE === "hold">> <b>Hold Fire</b> <<elseif $SF.ROE === "limited">> <b>Limited Fire</b> <<else>> <b>Free Fire</b> <</if>></span>&nbsp;&nbsp;`;
diff --git a/src/Mods/SpecialForce/TrickShotNight.tw b/src/Mods/SpecialForce/TrickShotNight.tw
index f2bcf83bd9ef7e510f2e71cb4611de22f06fed45..57f3e521d2f3cf7a5c3a88efcdf685ca4f9bd6b3 100644
--- a/src/Mods/SpecialForce/TrickShotNight.tw
+++ b/src/Mods/SpecialForce/TrickShotNight.tw
@@ -170,6 +170,6 @@ Despite your direct elevator, interaction with the majority of your security for
 
 			</span>
 		<</replace>>
-	<</link>> // It will cost @@.red;<<print cashFormat(50000)>>@@ to participate in the trick shot night.//
+	<</link>> // It will cost <<print cashFormat(50000)>> to participate in the trick shot night.//
 <</if>>
 </span>
diff --git a/src/Mods/SpecialForce/WeeklyChoices.tw b/src/Mods/SpecialForce/WeeklyChoices.tw
index cc8a75c3388d9d391b3e5fdfdebe0e3a766f5456..7ee5b32032e09f5c33c1ed2460f2617ff1022801 100644
--- a/src/Mods/SpecialForce/WeeklyChoices.tw
+++ b/src/Mods/SpecialForce/WeeklyChoices.tw
@@ -62,7 +62,7 @@
 	<br>"If you need me for anything else, let me know."
 	<<= App.SF.fsIntegration()>>
 	<<if $SF.MercCon.History >= 1>> <br>
-		<<link "Merc meetup report.">>
+		<<link "Mercenary meetup report">>
 			<<replace "#result0">>
 			<br><br>While at the recent merc meetup, The Colonel made @@.yellowgreen;<<print cashFormat(Math.ceil($SF.MercCon.Income))>>@@ selling generic schematics to her friends, <<print num($SF.MercCon.Menials)>> menial slaves were won in a poker game, and <<print num($SF.MercCon.Mercs)>> mercenaries were persuaded to join $SF.Lower.
 			<br>Total earnings thus far: @@.yellowgreen;<<print cashFormat(Math.ceil($SF.MercCon.Revenue))>>@@ in income, <<print num($SF.MercCon.TotalMenials)>> menial slaves and <<print num($SF.MercCon.TotalMercs)>> mercenaries joined across $SF.MercCon.History meetups.
@@ -71,7 +71,7 @@
 	<</if>>
 
 	<<if $SF.Colonel.Status >= 25>>
-		<br><<link "Walk with the Colonel on the surface.">>
+		<br><<link "Walk with the Colonel on the surface">>
 			<<replace "#result0">>
 			<<set $SF.Colonel.Talk = 1, $SF.Colonel.Status += 2, $SF.FS.Tension -= _colonelTalkTensionRuction>>
 			<br><br>You ask the Colonel if she would like to stretch her legs up on the surface. It doesn't take much effort for her to agree.
@@ -146,7 +146,7 @@
 		<</link>>
 	<</if>>
 
-	<br><<link "Talk in $SF.Lower's HQ.">>
+	<br><<link "Talk in $SF.Lower's HQ">>
 		<<replace "#result0">>
 		<span id="result1">
 			<br><br>What do you want to do with the Colonel in the HQ?
@@ -199,7 +199,7 @@
 			<</link>>
 
 			<<if $SF.Colonel.Status >= 45>>
-				<br><<link "Have some fun.">>
+				<br><<link "Have some fun">>
 					<<replace "#result1">>
 					<span id="result4">
 						<<set $SF.Colonel.Fun = 1,$SF.Colonel.Talk = 1,$SF.Colonel.Status += 3, $SF.FS.Tension -= _colonelTalkTensionRuction>>
@@ -247,7 +247,7 @@
 							<</replace>>
 						<</link>>
 
-						<br><<link "On The Colonel's throne.">>
+						<br><<link "On The Colonel's throne">>
 							<<replace "#result4">>
 							<span id="result6">
 								<br>Which orifice do you wish to target?
diff --git a/src/SecExp/js/secExp.js b/src/SecExp/js/secExp.js
index 2bfd4ae9062261ffa046d73c4fc278afb65f1a3b..166bb6cff7cad9458b78ab55c30ed0ce6b3d81ff 100644
--- a/src/SecExp/js/secExp.js
+++ b/src/SecExp/js/secExp.js
@@ -786,16 +786,16 @@ App.SecExp.unit = (function() {
 			if (unitType !== "Bots") {
 				r += `\n<strong>${input.platoonName}</strong> `;
 			} else {
-				r += `\nThe drone unit is made up of ${input.troops} drones.`;
+				r += `\nThe drone unit is made up of ${input.troops} drones. `;
 			}
 			if (jsDef(input.active) || input.active > 0) {
 				if (unitType !== "Bots") {
 						if(input.battlesFought > 1) {
-							r += `has participated in ${input.battlesFought} battles and is ready to face the enemy once more at your command.`;
+							r += `has participated in ${input.battlesFought} battles and is ready to face the enemy once more at your command. `;
 						} else if (input.battlesFought === 1) {
-							r += `is ready to face the enemy once more at your command.`;
+							r += `is ready to face the enemy once more at your command. `;
 						} else {
-							r += `is ready to face the enemy in battle.`;
+							r += `is ready to face the enemy in battle. `;
 						}
 					r += `\nIt's ${input.troops} `;
 				}
@@ -803,143 +803,143 @@ App.SecExp.unit = (function() {
 				if(unitType !== "Bots") {
 					r += `men and women are `;
 					if(unitType === "Militia") {
-						r += `all proud citizens of your arcology, willing to put their lives on the line to protect their home.`;
+						r += `all proud citizens of your arcology, willing to put their lives on the line to protect their home. `;
 					} else if (unitType === "Slaves") {
-						r += `slaves in your possession, tasked with the protection of their owner and their arcology.`;
+						r += `slaves in your possession, tasked with the protection of their owner and their arcology. `;
 					} else if (unitType === "Mercs") {
-					r += `mercenaries contracted to defend the arcology against external threats.`;
+					r += `mercenaries contracted to defend the arcology against external threats. `;
 					}
 				} else {
-					r += ` All of which are assembled in an ordered line in front of you, absolutely silent and ready to receive their orders.`;
+					r += `All of which are assembled in an ordered line in front of you, absolutely silent and ready to receive their orders. `;
 				}
 
 				if(input.troops < input.maxTroops) {
-					r += `The unit is not at its full strength of ${input.maxTroops} operatives.`;
+					r += `The unit is not at its full strength of ${input.maxTroops} operatives. `;
 				}
 
 				if(unitType !== "Bots") {
 					if(input.equip === 0) {
-						r += ` They are issued with simple, yet effective equipment: firearms, a few explosives and standard uniforms, nothing more.`;
+						r += `They are issued with simple, yet effective equipment: firearms, a few explosives and standard uniforms, nothing more. `;
 					} else if (input.equip === 1) {
-						r += ` They are issued with good, modern equipment: firearms, explosives and a few specialized weapons like sniper rifles and machine guns. They also carry simple body armor.`;
+						r += `They are issued with good, modern equipment: firearms, explosives and a few specialized weapons like sniper rifles and machine guns. They also carry simple body armor. `;
 					} else if (input.equip === 2) {
-						r += ` They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like night vision and portable radars.`;
+						r += `They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like night vision and portable radars. `;
 					} else {
-						r += ` They are equipped with the best the modern world has to offer: modern firearms, explosives, specialized weaponry, experimental railguns, adaptive body armor and high tech recon equipment.`;
+						r += `They are equipped with the best the modern world has to offer: modern firearms, explosives, specialized weaponry, experimental railguns, adaptive body armor and high tech recon equipment. `;
 					}
 				} else {
 					if(input.equip === 0) {
-						r += ` They are equipped with light weaponry, mainly anti-riot nonlethal weapons. Not particularly effective in battle.`;
+						r += `They are equipped with light weaponry, mainly anti-riot nonlethal weapons. Not particularly effective in battle. `;
 					} else if (input.equip === 1) {
-						r += ` They are equipped with light firearms, not an overwhelming amount of firepower, but with their mobility good enough to be effective.`;
+						r += `They are equipped with light firearms, not an overwhelming amount of firepower, but with their mobility good enough to be effective. `;
 					} else if (input.equip === 2) {
-						r += ` They are equipped with powerful, modern firearms and simple armor mounted around their frames. They do not make for a pretty sight, but on the battlefield they are a dangerous weapon.`;
+						r += `They are equipped with powerful, modern firearms and simple armor mounted around their frames. They do not make for a pretty sight, but on the battlefield they are a dangerous weapon. `;
 					} else {
-						r += ` They are equipped with high energy railguns and adaptive armor. They are a formidable force on the battlefield, even for experienced soldiers.`;
+						r += `They are equipped with high energy railguns and adaptive armor. They are a formidable force on the battlefield, even for experienced soldiers. `;
 					}
 				}
 
 				if(unitType !== "Bots") {
 					if(input.training <= 33) {
-						r += ` They lack the experience to be considered professionals, but `;
+						r += `They lack the experience to be considered professionals, but `;
 					if (input === "Militia") {
-						r += ` their eagerness to defend the arcology makes up for it.`;
+						r += `their eagerness to defend the arcology makes up for it. `;
 						} else if (unitType === "Slaves") {
-							r += ` their eagerness to prove themselves makes up for it.`;
+							r += `their eagerness to prove themselves makes up for it. `;
 						} else if (unitType === "Mercs") {
-							r += ` they're trained more than enough to still be an effective unit.`;
+							r += `they're trained more than enough to still be an effective unit. `;
 						}
 					} else if (input.training <= 66) {
-						r += ` They have trained `;
+						r += `They have trained `;
 						if (input.battlesFought > 0) {
 							r += `and fought `;
 						}
-						r += `enough to be considered disciplined, professional soldiers, ready to face the battlefield.`;
+						r += `enough to be considered disciplined, professional soldiers, ready to face the battlefield. `;
 					} else {
-						r += `They are consummate veterans, with a wealth of experience and perfectly trained. On the battlefield they are a well oiled war machine capable of facing pretty much anything.`;
+						r += `They are consummate veterans, with a wealth of experience and perfectly trained. On the battlefield they are a well oiled war machine capable of facing pretty much anything. `;
 					}
 
 					if(input.loyalty < 10) {
-						r += ` The unit is extremely disloyal. Careful monitoring of their activities and relationships should be implemented.`;
+						r += `The unit is extremely disloyal. Careful monitoring of their activities and relationships should be implemented. `;
 					} else if (input.loyalty < 33) {
-						r += ` Their loyalty is low. Careful monitoring of their activities and relationships is advised.`;
+						r += `Their loyalty is low. Careful monitoring of their activities and relationships is advised. `;
 					} else if (input.loyalty < 66) {
-						r += ` Their loyalty is not as high as it can be, but they are not actively working against their arcology owner.`;
+						r += `Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. `;
 					} else if (input.loyalty < 90) {
-						r += ` Their loyalty is high and strong. The likelihood of this unit betraying the arcology is low to non-existent.`;
+						r += `Their loyalty is high and strong. The likelihood of this unit betraying the arcology is low to non-existent. `;
 					} else {
-						r += ` The unit is fanatically loyal. They would prefer death over betrayal.`;
+						r += `The unit is fanatically loyal. They would prefer death over betrayal. `;
 					}
 
 					if (input.cyber > 0) {
-						r += ` The soldiers of the unit have been enhanced with numerous cyberaugmentations which greatly increase their raw power.`;
+						r += `The soldiers of the unit have been enhanced with numerous cyberaugmentations which greatly increase their raw power. `;
 					}
 					if (input.medics > 0) {
-						r += ` The unit has a dedicated squad of medics that will follow them in battle.`;
+						r += `The unit has a dedicated squad of medics that will follow them in battle. `;
 					}
 					if(V.SF.Toggle && V.SF.Active >= 1 && input.SF > 0) {
-						r += ` The unit has attached "advisors" from ${V.SF.Lower} that will help the squad remain tactically aware and active.`;
+						r += `The unit has attached "advisors" from ${V.SF.Lower} that will help the squad remain tactically aware and active. `;
 					}
 				}
 			} else {
 				r += `This unit has lost too many operatives`;
 				if (jsDef(input.battlesFought)) {
-					r += ` in the ${input.battlesFought} it fought`;
+					r += `in the ${input.battlesFought} it fought`;
 				}
-				r += ` and can no longer be considered a unit at all.`;
+				r += `and can no longer be considered a unit at all. `;
 			}
 		} else if (V.SecExp.settings.unitDescriptions > 0) {
 			if (unitType !== "Bots") {
-				r += `\n${input.platoonName}.`;
+				r += `\n${input.platoonName}. `;
 			} else {
-				r += `Drone squad.`;
+				r += `Drone squad. `;
 			}
-			r += ` Unit size: ${input.troops}. `;
+			r += `Unit size: ${input.troops}. `;
 			r += `Equipment quality: `;
 			if (input.equip === 0) {
-				r += `basic.`;
+				r += `basic. `;
 			} else if (input.equip === 1) {
-				r += `average.`;
+				r += `average. `;
 			} else if (input.equip === 2) {
-				r += `high.`;
+				r += `high. `;
 			} else {
-				r += `advanced.`;
+				r += `advanced. `;
 			}
 			if (jsDef(input.battlesFought)) {
-				r += ` Battles fought: ${input.battlesFought}. `;
+				r += `Battles fought: ${input.battlesFought}. `;
 			}
 			if (jsDef(input.training)) {
 				r += `\nTraining: `;
 				if (input.training <= 33) {
-					r += `low.`;
+					r += `low. `;
 				} else if(input.training <= 66) {
-					r += `medium.`;
+					r += `medium. `;
 				} else {
-					r += `high.`;
+					r += `high. `;
 				}
 			}
 			if (jsDef(input.loyalty)) {
-				r += ` Loyalty: `;
+				r += `Loyalty: `;
 				if(input.loyalty < 10) {
-						r += `extremely disloyal.`;
+						r += `extremely disloyal. `;
 					} else if (input.loyalty < 33) {
-						r += `low.`;
+						r += `low. `;
 					} else if (input.loyalty < 66) {
-						r += `medium.`;
+						r += `medium. `;
 					} else if (input.loyalty < 90) {
-						r += `high.`;
+						r += `high. `;
 					} else {
-						r += `fanatical.`;
+						r += `fanatical. `;
 					}
 			}
 			if (jsDef(input.cyber) && input.cyber > 0) {
-				r += `\nHave been cyberaugmentated.`;
+				r += `\nHave been cyberaugmentated. `;
 			}
 			if (jsDef(input.medics) && input.medics > 0) {
-				r += ` Has a medic squad attached.`;
+				r += `Has a medic squad attached. `;
 			}
 			if(V.SF.Toggle && V.SF.Active >= 1 && jsDef(input.SF) || input.SF > 0) {
-				r += ` ${App.SF.Caps()} "advisors" are attached.`;
+				r += `${App.SF.Caps()} "advisors" are attached. `;
 			}
 		}
 		return r;
diff --git a/src/data/backwardsCompatibility/updateSlaveObject.js b/src/data/backwardsCompatibility/updateSlaveObject.js
index aea3d812a356ad0159138e2aa131162c03086ff2..719ac1ebaf3ded47f36dbe4374837cb9f23196c1 100644
--- a/src/data/backwardsCompatibility/updateSlaveObject.js
+++ b/src/data/backwardsCompatibility/updateSlaveObject.js
@@ -103,394 +103,19 @@ App.Update.Slave = function(slave) {
 	if (slave.prestigeDesc !== undefined && slave.prestigeDesc !== 0) { slave.prestigeDesc = pronounReplacer(slave.prestigeDesc); }
 	if (slave.pornPrestigeDesc !== undefined && slave.pornPrestigeDesc !== 0) { // This must be defined first, hence the previous line.
 		if (V.releaseID < 1050 && slave.prestigeDesc !== undefined && slave.prestigeDesc !== 0) { /* BC absolutely FUCKED this */
-			switch (slave.porn.fameType) {
-				case "generic":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being used.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being used.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him mid-coitus.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "fuckdoll":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. $His fans relish the sight of $him being used.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being used.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him being used.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "rape":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being raped.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being raped.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him being raped.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "preggo":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him swell with child.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him swollen with child.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him swollen with child.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "BBW":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his thick and soft body.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his thick, soft body.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his thick, soft body.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "underage":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his childish body.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his immature body.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his immature body.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "weight gain":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him eating and gaining weight.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish how curvy $he's gotten.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with how with how much weight $he has gained.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "big dick":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his throbbing erection.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his heavy dick.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his erect dick.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "deepthroat":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sounds $he makes when being throatfucked.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sounds $he makes when being throatfucked.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sounds $he makes when being throatfucked.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "unwilling":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed how $he struggles during sex.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish how perfectly $he struggles during sex.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with how perfectly $he struggles during sex.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "hardcore anal":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $his asshole pushed to its limit.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish watching $his asshole pushed to its limit.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with seeing $his asshole pushed to its limit.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "softcore":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his lewd striptease.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his lewd striptease.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his lewd striptease.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "romantic":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the deep bond $he shares with $his partners.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the deep bond $he shares with $his partners.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the deep bond $he shares with $his partners.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "really perverted":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his most perverted tendencies.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the depths of $his perversions.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the depths of $his perversions.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "voyeur":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him devote $himself to $his partners' pleasure.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his devotion to $his partners' pleasure.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his devotion to $his partners' pleasure.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "unspeakable":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his willingness to do things not repeated in polite company.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his willingness to do anything and everything.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his willingness to do things not repeated in polite company.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "huge insertion":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his holes filled to their limits.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his holes filled to their limits.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his holes filled to their limits.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "orgasm denial":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him ignoring $his own pleasure.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him denying $himself pleasure.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him denying $himself pleasure.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "cum addiction":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything and everything for cum.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for cum.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him doing anything for cum.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "anal addiction":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for a dick in $his ass.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for a dick up $his ass.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his well-versed anus.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "exhibition":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for attention.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for attention.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him doing anything for attention.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "breast expansion":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed charting the growth of $his breasts.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his expanding bust.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the history of $his growing bust.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "abuse":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him abuse others.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him abusing others.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his abusive tendencies.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "sexual torture":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him getting off from the suffering $he caused.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him getting off from the suffering $he caused.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his hunger for making others suffer.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "self hating":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him happily suffer.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his suffering.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him suffering.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "breeder":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him obsess over pumping out babies.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his obsession with having children.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his obsession with being pregnant.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "submissive":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his submission.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his submissiveness.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his submissiveness.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "cum":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his taste for cum.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his desire for cum.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his taste for cum.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "buttslut":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his rear.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his rear.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his rear.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "humiliating":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him humiliating $himself.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his frequent humiliation.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his frequent humiliation.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "breast":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his breasts.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his breasts.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his breasts.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "dominant":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his dominance.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his dominance.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his dominant streak.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "sadistic":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his sadism.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his sadism.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his sadistic streak.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "masochistic":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his masochism.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his masochism.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his masochistic streak.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				case "pregnancy fetish":
-					if (slave.pornPrestige === 1) {
-						slave.pornPrestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his fondness for pregnancy.";
-					} else if (slave.pornPrestige === 2) {
-						slave.pornPrestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his fondness for pregnancy.";
-					} else if (slave.pornPrestige === 3) {
-						slave.pornPrestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his pregnancy kink.";
-					} else {
-						slave.pornPrestigeDesc = 0;
-					}
-					break;
-				default:
+			const genre = App.Porn.getGenreByFameName(slave.pornFameType);
+			if (jsDef(genre)) {
+				if (slave.pornPrestige === 1) {
+					slave.pornPrestigeDesc = `$He has a following in slave pornography. ${genre.prestigeDesc1}.`;
+				} else if (slave.pornPrestige === 2) {
+					slave.pornPrestigeDesc = `$He is well known from $his career in slave pornography. ${genre.prestigeDesc2}.`;
+				} else if (slave.pornPrestige === 3) {
+					slave.pornPrestigeDesc = `$He is world famous for $his career in slave pornography. ${genre.prestigeDesc3}.`;
+				} else {
 					slave.pornPrestigeDesc = 0;
+				}
+			} else {
+				slave.pornPrestigeDesc = 0;
 			}
 		} else {
 			slave.pornPrestigeDesc = pronounReplacer(slave.pornPrestigeDesc);
diff --git a/src/endWeek/saGetMilked.js b/src/endWeek/saGetMilked.js
index 66ea78b69c292f82fc5ea1829c5e042c4d9a1602..030edc12a1a4703de261b6af590dbbbd7037d2f3 100644
--- a/src/endWeek/saGetMilked.js
+++ b/src/endWeek/saGetMilked.js
@@ -4,6 +4,7 @@ window.saGetMilked = (function saGetMilked() {
 	let T;
 	let r;
 	let arcology;
+	let cash;
 
 	// If these are moved out of the file, they must be set in it as well!
 	let milk;
@@ -24,55 +25,75 @@ window.saGetMilked = (function saGetMilked() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 * @returns {string}
+	 * @param {boolean} preview are we trying to preview or actually record?
+	 * @returns {(string|number)} returns number if 'preview' is true, string if it is not.
 	 */
-	function saGetMilked(slave) {
+	function saGetMilked(slave, preview=false) {
 		T = State.temporary;
 		arcology = V.arcologies[0];
 		milk = 0;
 		cum = 0;
 		fluid = 0;
 		r = ` `;
-		({
-			he, him, his, hers, himself, girl, He, His, loli
-		} = getPronouns(slave));
+		cash = 0;
+
+		if (!preview) {
+			({
+				he, him, his, hers, himself, girl, He, His, loli
+			} = getPronouns(slave));
+			gatherStatistics(slave);
+			jobPreface(slave);
+		}
 
-		gatherStatistics(slave);
-		jobPreface(slave);
 		if (slave.lactation > 0) {
-			milkStatistics(slave);
-			harvestMilk(slave);
-			milkingEffects(slave);
+			cash += milkStatistics(slave, preview);
+			if (!preview) {
+				harvestMilk(slave);
+				milkingEffects(slave);
+			}
 		}
 		// Limits penthouse milkers to milk only.
-		if (["be confined in the arcade", "get milked", "work in the dairy"].includes(slave.assignment)) {
+		if (["be confined in the arcade", "get milked", "work in the dairy"].includes(slave.assignment) || preview) {
 			if (slave.balls > 0) {
-				cumStatistics(slave);
-				harvestCum(slave);
-				cumEffects(slave);
+				cash += cumStatistics(slave, preview);
+				if (!preview) {
+					harvestCum(slave);
+					cumEffects(slave);
+				}
 			}
 			if (slave.genes === "XX" && slave.prostate > 0 && slave.balls === 0) {
-				girlCumStatistics(slave);
-				harvestGirlCum(slave);
+				cash += girlCumStatistics(slave, preview);
+				if (!preview) {
+					harvestGirlCum(slave);
+				}
 			}
 		}
-		mentalEffects(slave);
-		if (V.showVignettes === 1 && (slave.assignment === "get milked" || slave.assignment === "work in the dairy")) {
-			assignmentVignette(slave);
-		}
-		if (slave.assignment === "work in the dairy") {
-			applyFSDecoration();
+		if (preview) {
+			return cash;
+		} else {
+			mentalEffects(slave);
+			if (V.showVignettes === 1 && (slave.assignment === "get milked" || slave.assignment === "work in the dairy")) {
+				assignmentVignette(slave);
+			}
+			if (slave.assignment === "work in the dairy") {
+				applyFSDecoration();
+			}
+			if (slave.assignment === "work in the dairy") {
+				cashX(cash, "milkedDairy", slave);
+			} else if (slave.assignment === "get milked") {
+				cashX(cash, "milked", slave);
+			} else {
+				cashX(cash, "extraMilk", slave);
+			}
+			// These are a pain. They are usually called immediately after this function. Could possibly return an object instead.
+			V.cum = cum;
+			V.milk = milk;
+			V.milkSale = milkSale;
+			V.cumSale = cumSale;
+			V.fluid = fluid;
+			V.fluidSale = fluidSale;
+			return r;
 		}
-
-		// These are a pain. They are usually called immediately after this function. Could possibly return an object instead.
-		V.cum = cum;
-		V.milk = milk;
-		V.milkSale = milkSale;
-		V.cumSale = cumSale;
-		V.fluid = fluid;
-		V.fluidSale = fluidSale;
-
-		return r;
 	}
 
 	/**
@@ -280,23 +301,12 @@ window.saGetMilked = (function saGetMilked() {
 		} else {
 			r += ` ${His} milk is sold for <span class="cash inc">${cashFormat(milkSale)}.</span>`;
 		}
-
-		/*
-		if (slave.assignment === "work in the dairy") {
-			cashX(milkSale, "milkedDairy", slave);
-		} else if (slave.assignment == "get milked") {
-			cashX(milkSale, "milked", slave);
-		} else {
-			cashX(milkSale, "extraMilk", slave);
-		}
-		T.incomeStats.income += milkSale;
-		*/
 	}
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 * */
-	function milkStatistics(slave) {
+	function milkStatistics(slave, preview) {
 		milk = milkAmount(slave);
 
 		if (V.dairySlimMaintainUpgrade === 1) {
@@ -332,10 +342,6 @@ window.saGetMilked = (function saGetMilked() {
 			milk = 1;
 		}
 
-		// Consider returning these if this function gets gutted
-		actX(slave, "milk", milk);
-		T.incomeStats.milk = milk;
-
 		if (arcology.FSPastoralistLaw === 1) {
 			milkSale = (milk * (8 + Math.trunc(arcology.FSPastoralist / 30)));
 		} else if (arcology.FSPastoralist !== "unset") {
@@ -347,14 +353,12 @@ window.saGetMilked = (function saGetMilked() {
 		}
 
 		// Consider returning these if this function gets gutted
-		if (slave.assignment === "work in the dairy") {
-			cashX(milkSale, "milkedDairy", slave);
-		} else if (slave.assignment === "get milked") {
-			cashX(milkSale, "milked", slave);
-		} else {
-			cashX(milkSale, "extraMilk", slave);
+		if (!preview) {
+			actX(slave, "milk", milk);
+			T.incomeStats.milk = milk;
+			T.incomeStats.income += milkSale;
 		}
-		T.incomeStats.income += milkSale;
+		return milkSale;
 	}
 
 	/**
@@ -611,23 +615,12 @@ window.saGetMilked = (function saGetMilked() {
 		} else {
 			r += ` ${He} produces ${cum} deciliters of cum over the week; the fresh ejaculate, which is in high demand given the new cultural preference for slave products, is sold for <span class="cash inc">${cashFormat(cumSale)}.</span>`;
 		}
-
-		/*
-		if (slave.assignment === "work in the dairy") {
-			cashX(cumSale, "milkedDairy", slave);
-		} else if (slave.assignment === "get milked") {
-			cashX(cumSale, "milked", slave);
-		} else {
-			cashX(cumSale, "extraMilk", slave);
-		}
-		T.incomeStats.income += cumSale;
-		*/
 	}
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 * */
-	function cumStatistics(slave) {
+	function cumStatistics(slave, preview) {
 		cum = cumAmount(slave);
 
 		/* Dairy rework cum half here */
@@ -655,10 +648,6 @@ window.saGetMilked = (function saGetMilked() {
 			cum = 1;
 		}
 
-		// Consider returning these if this function gets gutted
-		actX(slave, "cum", cum);
-		T.incomeStats.cum = cum;
-
 		if (arcology.FSPastoralist === "unset") {
 			cumSale = (cum * jsRandom(15, 25));
 		} else if (arcology.FSPastoralistLaw === 1) {
@@ -674,14 +663,12 @@ window.saGetMilked = (function saGetMilked() {
 		}
 
 		// Consider returning these if this function gets gutted
-		if (slave.assignment === "work in the dairy") {
-			cashX(cumSale, "milkedDairy", slave);
-		} else if (slave.assignment === "get milked") {
-			cashX(cumSale, "milked", slave);
-		} else {
-			cashX(cumSale, "extraMilk", slave);
+		if (!preview) {
+			actX(slave, "cum", cum);
+			T.incomeStats.cum = cum;
+			T.incomeStats.income += cumSale;
 		}
-		T.incomeStats.income += cumSale;
+		return cumSale;
 	}
 
 	/**
@@ -756,33 +743,18 @@ window.saGetMilked = (function saGetMilked() {
 			r += ` Unfortunately, ${he} is frigid and rarely reaches orgasm in spite of the intense automatic stimulation.`;
 		}
 
-		/*
-		T.incomeStats.fluid = fluid;
-		*/
-
 		// make sure fluidSale is set here
 		r += ` ${fluid} deciliters of uncommon ejaculate is gathered during ${his} milkings.`;
 		if (arcology.FSPastoralist !== "unset" && arcology.FSPastoralist > 30) {
 			r += ` Because of your arcology's cultural preferences, it comes with extra value.`;
 		}
 		r += ` It is sold for <span class="cash inc">${cashFormat(fluidSale)}.</span>`;
-
-		/*
-		if (slave.assignment === "work in the dairy") {
-			cashX(fluidSale, "milkedDairy", slave);
-		} else if (slave.assignment === "get milked") {
-			cashX(fluidSale, "milked", slave);
-		} else {
-			cashX(fluidSale, "extraMilk", slave);
-		}
-		T.incomeStats.income += fluidSale;
-		*/
 	}
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 * */
-	function girlCumStatistics(slave) {
+	function girlCumStatistics(slave, preview) {
 		fluid = ((slave.prostate * (slave.energy / 5)) + 1);
 		if (slave.vagina >= 0) {
 			if (slave.vaginaLube === 2) {
@@ -803,23 +775,18 @@ window.saGetMilked = (function saGetMilked() {
 			fluid = 1;
 		}
 
-		// Consider returning these if this function gets gutted
-		T.incomeStats.fluid = fluid;
-
 		fluidSale = (fluid * jsRandom(40, 50));
 		if (arcology.FSPastoralist !== "unset" && arcology.FSPastoralist > 30) {
 			fluidSale = (Math.trunc(fluidSale*(1 + (arcology.FSPastoralist - 30) / 140))); /* fully accepted pastoralism gives +50% on the price*/
 		}
 
 		// Consider returning these if this function gets gutted
-		if (slave.assignment === "work in the dairy") {
-			cashX(fluidSale, "milkedDairy", slave);
-		} else if (slave.assignment === "get milked") {
-			cashX(fluidSale, "milked", slave);
-		} else {
-			cashX(fluidSale, "extraMilk", slave);
+		if (!preview) {
+			T.incomeStats.fluid = fluid;
+			T.incomeStats.income += fluidSale;
 		}
-		T.incomeStats.income += fluidSale;
+
+		return fluidSale;
 	}
 
 	/**
@@ -850,6 +817,7 @@ window.saGetMilked = (function saGetMilked() {
 			} else {
 				r += `an incident without lasting effect.`;
 			}
+			if (!preview) {
 			if (slave.assignment === "work in the dairy") {
 				cashX(cashVign, "milkedDairy", slave);
 			} else if (slave.assignment === "get milked") {
@@ -858,6 +826,7 @@ window.saGetMilked = (function saGetMilked() {
 				cashX(cashVign, "extraMilk", slave);
 			}
 			T.incomeStats.income += cashVign;
+			}
 		} else if (vignette.type === "devotion") {
 			if (vignette.effect > 0) {
 				if (slave.devotion > 50) {
diff --git a/src/endWeek/saPorn.js b/src/endWeek/saPorn.js
index 93ab5aa36c52c40b03030d04339859f23b79298d..8e4adfa98e13279c5ea579c706be6464e21a27ca 100644
--- a/src/endWeek/saPorn.js
+++ b/src/endWeek/saPorn.js
@@ -1,117 +1,335 @@
-/* to later be rolled into saPorn */
+window.saPorn = (function saPorn() {
+	"use strict";
 
-/**
- * @param {App.Entity.SlaveState} slave
- * @returns {object}
- */
-window.getHighestPorn = function(slave) {
-	let max = {value: 0, type: "none"};
+	let r;
+	let he, him, his, hers, himself, girl, loli, He, His;
+	let decayRate;
+	let viewership;
+	let viewerSoaking;
 
-	if (slave.porn.fame.general > max.value) {
-		max = {value: slave.porn.fame.general, type: "generic"};
-	}
-	if (slave.porn.fame.fuckdoll > max.value) {
-		max = {value: slave.porn.fame.fuckdoll, type: "fuckdoll"};
-	}
-	if (slave.porn.fame.rape > max.value) {
-		max = {value: slave.porn.fame.rape, type: "rape"};
-	}
-	if (slave.porn.fame.preggo > max.value) {
-		max = {value: slave.porn.fame.preggo, type: "preggo"};
-	}
-	if (slave.porn.fame.BBW > max.value) {
-		max = {value: slave.porn.fame.BBW, type: "BBW"};
-	}
-	if (slave.porn.fame.gainer > max.value) {
-		max = {value: slave.porn.fame.gainer, type: "weight gain"};
-	}
-	if (slave.porn.fame.stud > max.value) {
-		max = {value: slave.porn.fame.stud, type: "big dick"};
-	}
-	if (slave.porn.fame.loli > max.value) {
-		max = {value: slave.porn.fame.loli, type: "underage"};
-	}
-	if (slave.porn.fame.deepThroat > max.value) {
-		max = {value: slave.porn.fame.deepThroat, type: "deepthroat"};
-	}
-	if (slave.porn.fame.struggleFuck > max.value) {
-		max = {value: slave.porn.fame.struggleFuck, type: "unwilling"};
-	}
-	if (slave.porn.fame.painal > max.value) {
-		max = {value: slave.porn.fame.painal, type: "hardcore anal"};
-	}
-	if (slave.porn.fame.tease > max.value) {
-		max = {value: slave.porn.fame.tease, type: "softcore"};
-	}
-	if (slave.porn.fame.romantic > max.value) {
-		max = {value: slave.porn.fame.romantic, type: "romantic"};
-	}
-	if (slave.porn.fame.pervert > max.value) {
-		max = {value: slave.porn.fame.pervert, type: "really perverted"};
-	}
-	if (slave.porn.fame.caring > max.value) {
-		max = {value: slave.porn.fame.caring, type: "voyeur"};
-	}
-	if (slave.porn.fame.unflinching > max.value) {
-		max = {value: slave.porn.fame.unflinching, type: "unspeakable"};
-	}
-	if (slave.porn.fame.sizeQueen > max.value) {
-		max = {value: slave.porn.fame.sizeQueen, type: "huge insertion"};
-	}
-	if (slave.porn.fame.neglectful > max.value) {
-		max = {value: slave.porn.fame.neglectful, type: "orgasm denial"};
-	}
-	if (slave.porn.fame.cumAddict > max.value) {
-		max = {value: slave.porn.fame.cumAddict, type: "cum addiction"};
-	}
-	if (slave.porn.fame.analAddict > max.value) {
-		max = {value: slave.porn.fame.analAddict, type: "anal addiction"};
-	}
-	if (slave.porn.fame.attentionWhore > max.value) {
-		max = {value: slave.porn.fame.attentionWhore, type: "exhibition"};
-	}
-	if (slave.porn.fame.breastGrowth > max.value) {
-		max = {value: slave.porn.fame.breastGrowth, type: "breast expansion"};
-	}
-	if (slave.porn.fame.abusive > max.value) {
-		max = {value: slave.porn.fame.abusive, type: "abuse"};
-	}
-	if (slave.porn.fame.malicious > max.value) {
-		max = {value: slave.porn.fame.malicious, type: "sexual torture"};
+	return saPorn;
+
+	function saPorn(slave) {
+		({
+			he, him, his, hers, himself, girl, He, His, loli
+		} = getPronouns(slave));
+
+		r = ` `;
+
+		let oldFame = slave.porn.viewerCount;
+
+		if (V.studio === 1 && slave.porn.feed === 1) {
+			viewerSoaking = 0;
+
+			calcBaseViewership(slave);
+
+			r += `The studio regularly releases clips of ${his} daily affairs. `;
+			if (V.cheatMode === 1) {
+				r += `(Decay: ${decayRate} Viewership: ${viewership} Last week's fame: ${oldFame}) `;
+			}
+
+			prestigeCommentary(slave);
+			faceCommentary(slave);
+			hack();
+
+			allGenreViews(slave);
+			updateViewerCount(slave);
+			if (oldFame > slave.porn.viewerCount) {
+				r += `Overall, ${his} online fame <span class="red">dropped</span> this week. `;
+			} else if (oldFame < slave.porn.viewerCount) {
+				r += `Overall, ${his} online fame <span class="green">rose</span> this week. `;
+				if (oldFame < 100 && slave.porn.viewerCount >= 100 && V.studioFeed === 1) {
+					r += `${He} <span class="yellow">has accrued enough views to determine prospective porn genres.</span> `;
+				}
+			} else if (slave.porn.viewerCount !== 0) {
+				r += `Surprisingly, ${his} online fame <span class="yellow">remained consistent</span> this week despite how fickle watchers can be. `;
+			} else {
+				r += `${He} went <span class="red">completely overlooked</span> this week and failed to gain any hits at all. `;
+			}
+
+			if (slave.porn.viewerCount > 0) {
+				let donations = Math.floor(slave.porn.viewerCount / jsRandom(10, 15 + viewerSoaking));
+				if (donations > 0) {
+					r += `Fans donated a total of <span class="cash inc">${cashFormat(donations)}</span> to ${his} account this week. `;
+					cashX(donations, "porn", slave);
+				}
+			}
+			if (slave.porn.spending > 0) {
+				cashX(forceNeg(slave.porn.spending / V.PCSlutContacts), "porn", slave);
+			}
+
+			prestigeGen(slave);
+		} else { /* popularity decay from lack of new content */
+			if (slave.porn.prestige > 1) { // 500k
+				decayRate = 5000;
+			} else if (slave.porn.prestige > 0) { // 10k
+				decayRate = 500;
+			} else {
+				decayRate = 30;
+			}
+
+			genreDecay(slave);
+			updateViewerCount(slave);
+
+			prestigeDecay(slave);
+		}
+
+		return r;
 	}
-	if (slave.porn.fame.selfHating > max.value) {
-		max = {value: slave.porn.fame.selfHating, type: "self hating"};
+
+	function genreDecay(slave) {
+		for (const genre of App.Porn.getAllGenres()) {
+			if (slave.porn.fame[genre.fameName] > 0) {
+				const oldPorn = slave.porn.fame[genre.fameName];
+				slave.porn.fame[genre.fameName] = Math.clamp(slave.porn.fame[genre.fameName] - (decayRate * 2), 0, 100000);
+				r += cheatDelta(genre.uiName(), oldPorn, slave.porn.fame[genre.fameName]);
+			}
+		}
 	}
-	if (slave.porn.fame.breeder > max.value) {
-		max = {value: slave.porn.fame.breeder, type: "breeder"};
+
+	function updateViewerCount(slave) {
+		slave.porn.viewerCount = Math.trunc(App.Porn.getAllGenres().reduce((acc, cur) => acc + slave.porn.fame[cur.fameVar], 0.0));
 	}
-	if (slave.porn.fame.sub > max.value) {
-		max = {value: slave.porn.fame.sub, type: "submissive"};
+
+	function prestigeDecay(slave) {
+		if (slave.porn.prestige > 0) {
+			const genre = App.Porn.getGenreByFameName(slave.porn.fameType);
+			if (slave.porn.fame[genre.fameName] < 40000 && slave.porn.prestige === 2) {
+				slave.porn.prestige = 1;
+				slave.porn.prestigeDesc = `$He has a following in slave pornography. ${genre.prestigeDesc1}.`;
+				r +=`With the lack of any new content, <span class="red">${his} popularity in ${slave.porn.fameType} pornography has dropped considerably,</span> though some viewers still cling to the hope that ${he}'ll come back. `;
+			} else if (slave.porn.fame[genre.fameName] < 5000) {
+				slave.porn.prestige = 0;
+				slave.porn.prestigeDesc = 0;
+				slave.porn.fameType = "none";
+				r += `With no new ${slave.porn.fameType} content coming out, <span class="red">${his} popularity has faded away.</span> `;
+			}
+		}
 	}
-	if (slave.porn.fame.cumSlut > max.value) {
-		max = {value: slave.porn.fame.cumSlut, type: "cum"};
+
+	function calcBaseViewership(slave) {
+		let face;
+
+		if (slave.porn.prestige > 1) {
+			decayRate = 5000;
+			if (slave.fuckdoll > 0) {
+				face = 50;
+			} else if (slave.collar === "porcelain mask") {
+				face = 20;
+			} else {
+				face = slave.face * 4;
+			}
+			viewership = ((500/V.HackingSkillMultiplier)+(slave.porn.spending)+(face)+(slave.prestige*10)-(decayRate));
+		} else if (slave.porn.prestige > 0) {
+			decayRate = 500;
+			if (slave.fuckdoll > 0) {
+				face = 20;
+			} else if (slave.collar === "porcelain mask") {
+				face = 50;
+			} else {
+				face = slave.face * 2;
+			}
+			viewership = ((900/V.HackingSkillMultiplier)+(slave.porn.spending/15)+(face)+(slave.prestige*250)-(decayRate));
+		} else {
+			decayRate = 30;
+			if (slave.fuckdoll > 0) {
+				face = 0;
+			} else if (slave.collar === "porcelain mask") {
+				face = 0;
+			} else {
+				face = slave.face / 20;
+			}
+			viewership = ((300/V.HackingSkillMultiplier)+(slave.porn.spending > 0 ? 1.01*slave.porn.spending : 200)+(face)+(slave.prestige*20)-(decayRate));
+		}
+		viewership = Math.trunc(viewership);
 	}
-	if (slave.porn.fame.anal > max.value) {
-		max = {value: slave.porn.fame.anal, type: "buttslut"};
+
+	function prestigeCommentary(slave) {
+		if (slave.porn.prestige > 1) {
+			r += `${He} is widely regarded in ${slave.porn.fameType} porn, but with so many watchers, turn over is high. `;
+		} else if (slave.porn.prestige > 0) {
+			if (slave.porn.fameType === "generic") {
+				r += `${He} has claimed a niche in slave porn, so there is a constant cycle of new arrivals and bored ex-watchers. `;
+			} else {
+				r += `${He} has claimed a niche for ${himself} in ${slave.porn.fameType} porn, so there is a constant cycle of new arrivals and bored ex-watchers. `;
+			}
+		} else {
+			r += `${He} is borderline unknown, so $he tends to hold onto the few watchers ${he} has. `;
+		}
+
+		if (slave.prestige > 1) {
+			r += `Interest in porn of ${him} is very high, since ${he}'s already quite prestigious. `;
+		} else if (slave.prestige > 0) {
+			r += `Interest in porn of ${him} is high, since ${he}'s already prestigious. `;
+		}
 	}
-	if (slave.porn.fame.humiliation > max.value) {
-		max = {value: slave.porn.fame.humiliation, type: "humiliating"};
+
+	function faceCommentary(slave) {
+		if (slave.fuckdoll > 0) {
+			return;
+		} else if (slave.collar === "porcelain mask") {
+			r += `${His} mask adds an air of mystery to $him, `;
+			if (slave.porn.prestige > 1) {
+				r += `but people wonder if $he is trying to hide something. `;
+			} else if (slave.porn.prestige > 0) {
+				r += `tantalizing viewers with what it hides. `;
+			} else {
+				r += `but viewers are more interested in ${his} body. `;
+			}
+		} else if (slave.face > 95) {
+			r += `${His} unbelievably beautiful face seizes the attention of all who see it. `;
+		} else if (slave.face > 40) {
+			r += `${His} gorgeous face draws viewers in and keeps them watching. `;
+		} else if (slave.face > 10) {
+			r += `${His} pretty face draws viewers in. `;
+		} else if (slave.face > 0) {
+			r += `${His} face is attractive, but it attracts few viewers. `;
+		} else if (slave.face === 0) {
+			r += `${His} face is completely average and makes no difference to ${his} viewers. `;
+		} else if (slave.face >= -10) {
+			r += `${His} face, while attractive, is so average it turns off some viewers. `;
+		} else if (slave.face >= -40) {
+			r += `${His} unattractive face causes viewers to move on. `;
+		} else if (slave.face >= -95) {
+			r += `${His} ugly face drives viewers off. `;
+		} else {
+			r += `${His} face chases off all but the most desperate viewers. `;
+		}
 	}
-	if (slave.porn.fame.boobs > max.value) {
-		max = {value: slave.porn.fame.boobs, type: "breast"};
+
+	function hack() {
+		if (V.PC.skill.hacking > 10) {
+			r += `With your hacking skills, you manage to tweak search algorithms to display ${his} content more often. `;
+		} else if (V.PC.skill.hacking < 0) {
+			r += `With your lack of skill with computers you manage to misidentify ${his} content, complicating searches. `;
+			IncreasePCSkills('hacking', 0.1);
+		}
+		IncreasePCSkills('hacking', 0.1);
 	}
-	if (slave.porn.fame.dom > max.value) {
-		max = {value: slave.porn.fame.dom, type: "dominant"};
+
+	function viewershipDelta(newPorn, oldPorn) {
+		if (newPorn > oldPorn) {
+			return `Viewership <span class="green">increased</span> this week. `;
+		} else if (newPorn < oldPorn) {
+			return `Viewership <span class="red">decreased</span> this week. `;
+		} else {
+			return `Viewership <span class="yellow">was stable</span> this week. `;
+		}
 	}
-	if (slave.porn.fame.sadist > max.value) {
-		max = {value: slave.porn.fame.sadist, type: "sadistic"};
+
+	function cheatDelta(name, oldPorn, newPorn) {
+		if (V.cheatMode === 1) {
+			return `(${name}: ${oldPorn} to ${newPorn}). `;
+		}
+		return ``;
 	}
-	if (slave.porn.fame.masochist > max.value) {
-		max = {value: slave.porn.fame.masochist, type: "masochistic"};
+
+	function allGenreViews(slave) {
+		let adjustedViewership = viewership;
+
+		function genreViews(slave, genre) {
+			const oldPorn = slave.porn.fame[genre.fameVar];
+			if (genre.valid(slave)) {
+				if (slave.porn.focus === genre.focusName || slave.porn.fameType === genre.fameName) {
+					adjustedViewership = viewership * genre.type.focusedViewershipFactor;
+				} else if (slave.porn.focus !== "none") {
+					adjustedViewership = viewership * genre.type.unfocusedViewershipFactor;
+				}
+				slave.porn.fame[genre.fameVar] += adjustedViewership/(1+viewerSoaking*genre.type.viewershipSoakingFactor) + genre.type.bonusViewership(slave) - ((decayRate/10)*(V.pornStars[genre.fameVar].p1count-1));
+				slave.porn.fame[genre.fameVar] = Math.clamp(slave.porn.fame[genre.fameVar], 0, 150000);
+				viewerSoaking++;
+
+				if (slave.porn.focus === genre.focusName || slave.porn.fameType === genre.fameName) {
+					r += `${genre.hitText(slave)} `;
+					r += viewershipDelta(slave.porn.fame[genre.fameVar], oldPorn);
+				}
+				r += cheatDelta(genre.uiName(), oldPorn, slave.porn.fame[genre.fameVar]);
+			} else if (slave.porn.fame[genre.fameVar] > 0) {
+				slave.porn.fame[genre.fameVar] = Math.clamp(slave.porn.fame[genre.fameVar] - decayRate*2, 0, 150000);
+				r += cheatDelta(genre.uiName(), oldPorn, slave.porn.fame[genre.fameVar]);
+			}
+		}
+
+		/* Paraphilias have the highest take of viewers */
+		for (const genre of App.Porn.getGenresByType(App.Porn.GenreType.paraphilia)) {
+			genreViews(slave, genre);
+		}
+
+		/* Fetishes */
+		for (const genre of App.Porn.getGenresByType(App.Porn.GenreType.fetish)) {
+			genreViews(slave, genre);
+		}
+
+		/* General */
+		for (const genre of App.Porn.getGenresByType(App.Porn.GenreType.general)) {
+			genreViews(slave, genre);
+		}
+
+		/* Generic porn */
+		for (const genre of App.Porn.getGenresByType(App.Porn.GenreType.generic)) {
+			genreViews(slave, genre);
+		}
+
+		/* Quirks are low and unlikely, requiring focus to push into the limelight */
+		for (const genre of App.Porn.getGenresByType(App.Porn.GenreType.quirk)) {
+			genreViews(slave, genre);
+		}
 	}
-	if (slave.porn.fame.pregnancy > max.value) {
-		max = {value: slave.porn.fame.pregnancy, type: "pregnancy fetish"};
+
+	function getHighestPornGenre(slave) {
+		return App.Porn.getAllGenres().reduce((acc, cur) => slave.porn.fame[cur] > slave.porn.fame[acc] ? cur : acc);
 	}
 
-	return max;
-};
+	function prestigeGen(slave) {
+		const highestPorn = getHighestPornGenre(slave);
+		if (slave.porn.prestige === 0 && slave.porn.viewerCount >= 100000) {
+			const pornFameGrabBag = App.Porn.getAllGenres().filter((g) => slave.porn.fame[g.fameVar] >= 10000);
+			if (pornFameGrabBag.length > 0) {
+				const genre = pornFameGrabBag.pluck();
+				slave.porn.fameType = genre.fameName;
+				slave.porn.prestige = 1;
+
+				r += `<span style="green">${He} has gained a following in ${slave.porn.fameType} pornography!</span> ${genre.prestigeDesc1}, but he isn't famous enough to be called presigious yet. `;
+				slave.porn.prestigeDesc = `$He has a following in slave pornography. ${genre.prestigeDesc1}.`;
+				if (genre.type === App.Porn.GenreType.fetish && slave.fetishKnown !== 1) {
+					slave.fetishKnown = 1;
+				}
+			}
+		} else if (slave.porn.prestige === 1) {
+			const swapPoint = 1.2;
+			const genre = App.Porn.getGenreByFameName(slave.porn.fameType);
+			if (slave.porn.fame[genre.fameVar] >= 50000) {
+				slave.porn.prestige = 2;
+				slave.porn.prestigeDesc = `$He is well known from $his career in slave pornography. ${genre.prestigeDesc2}.`;
+				r += `<span class="green">${He} has gained a hold in ${slave.porn.fameType} pornography!</span> ${genre.prestigeDesc2}, so it is now prestigious to own ${him}. `;
+			} else if (slave.porn.fame[highestPorn] >= slave.porn.fame[genre.fameVar] * swapPoint) {
+				r += `${His} fame in ${slave.porn.fameType} pornography has been overwhelmed by $his surging popularity in other aspects. <span class="yellow">${He} is now better known for ${his} ${highestPorn.fameName} porn.</span> `;
+				slave.porn.fameType = highestPorn.fameName;
+				slave.porn.prestigeDesc = `$He has a following in slave pornography. ${highestPorn.prestigeDesc1}.`;
+			} else if (slave.porn.fame[genre.fameVar] < 5000) {
+				slave.porn.prestige = 0;
+				slave.porn.prestigeDesc = 0;
+				r += `<span class="red">${His} popularity in ${slave.porn.fameType} pornography has faded.</span> ${He} is once again relatively unknown. `;
+				slave.porn.fameType = "none";
+			}
+		} else if (slave.porn.prestige === 2) {
+			const genre = App.Porn.getGenreByFameName(slave.porn.fameType);
+			if (slave.porn.fame[genre.fameVar] >= 150000 && V.pornStars[genre.fameVar].p3ID === 0) {
+				slave.porn.prestige = 3;
+				slave.porn.fame[genre.fameVar] = 250000;
+				slave.porn.viewerCount = 250000;
+				V.pornStars[genre.fameVar].p3ID = slave.ID;
+				slave.porn.prestigeDesc = `$He is world famous for $his career in slave pornography. ${genre.prestigeDesc3}.`;
+				r += `<span class="green">${He} has become world famous for ${his} career in ${slave.porn.fameType} pornography!</span> ${genre.prestigeDesc3}, so it is now extremely presitigious to own ${him}. `;
+				V.trinkets.push(`a framed shot from porn starring ${slave.slaveName} ${genre.trinketShotDesc(slave)}`);
+
+				r += `Further paid publicity cannot increase ${his} fame, so subsidy of porn featuring ${him} has stopped. `;
+				slave.porn.spending = 0;
+			} else if (slave.porn.fame[genre.fameVar] < 40000) {
+				slave.porn.prestige = 1;
+				slave.porn.prestigeDesc = `$He has a following in slave pornography. ${genre.prestigeDesc1}.`;
+				r += `<span class="red">${His} popularity in ${slave.porn.fameType} pornography has dropped considerably,</span> though ${he} still retains a core fanbase. `;
+			}
+		}
+	}
+})();
diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw
index 901459486d005b6e6d2ae313a89ef4fe3eadf988..44ced838304acbf9d5ad93a73c8068e41c1eab06 100644
--- a/src/facilities/farmyard/farmyard.tw
+++ b/src/facilities/farmyard/farmyard.tw
@@ -222,38 +222,38 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 <<else>>
 	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces.
 	<br>
-<</if>>
-<<if $farmyardUpgrade.fertilizer == 0>>
-	[[Use a higher-quality fertilizer|Farmyard][cashX(forceNeg(Math.trunc(2000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.fertilizer = 1]]
-	//Costs <<print cashFormat(Math.trunc(2000*$upgradeMultiplierArcology))>> and slightly increases upkeep costs and crop yield.//
-	<br>
-<<else>>
-	$farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces.
-	<br>
-<</if>>
-<<if $farmyardUpgrade.hydroponics == 0>>
-	[[Purchase a hydroponics system|Farmyard][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.hydroponics = 1]]
-	//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and slightly decreases upkeep costs.//
-	<br>
-<<else>>
-	$farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume and thus reducing upkeep.
-	<br>
-<</if>>
-<<if $farmyardUpgrade.machinery == 0>>
-	[[Upgrade the machinery to increase the yield of crops|Farmyard][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.machinery = 1]]
-	//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and moderately decreases upkeep costs.//
-	<br>
-<<else>>
-	The machinery in $farmyardName has been upgraded, and is more efficient.
-	<br>
-<</if>>
-<<if $farmyardUpgrade.seeds == 0>>
-	[[Purchase genetically modified seeds|Farmyard][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"),$farmyardUpgrade.seeds = 1]]
-	//Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and moderately increases crop yield.//
-	<br>
-<<else>>
-	$farmyardNameCaps is using genetically modified seeds, moderately increasing the amount of crops it produces.
-	<br>
+	<<if $farmyardUpgrade.fertilizer == 0>>
+		[[Use a higher-quality fertilizer|Farmyard][cashX(forceNeg(Math.trunc(2000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.fertilizer = 1]]
+		//Costs <<print cashFormat(Math.trunc(2000*$upgradeMultiplierArcology))>> and slightly increases upkeep costs and crop yield.//
+		<br>
+	<<else>>
+		$farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces.
+		<br>
+		<<if $farmyardUpgrade.hydroponics == 0>>
+			[[Purchase a hydroponics system|Farmyard][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.hydroponics = 1]]
+			//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and slightly decreases upkeep costs.//
+			<br>
+		<<else>>
+			$farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume and thus reducing upkeep.
+			<br>
+			<<if $farmyardUpgrade.machinery == 0>>
+				[[Upgrade the machinery to increase the yield of crops|Farmyard][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.machinery = 1]]
+				//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and moderately decreases upkeep costs.//
+				<br>
+			<<else>>
+				The machinery in $farmyardName has been upgraded, and is more efficient.
+				<br>
+				<<if $farmyardUpgrade.seeds == 0>>
+					[[Purchase genetically modified seeds|Farmyard][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"),$farmyardUpgrade.seeds = 1]]
+					//Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and moderately increases crop yield.//
+					<br>
+				<<else>>
+					$farmyardNameCaps is using genetically modified seeds, moderately increasing the amount of crops it produces.
+					<br>
+				<</if>>
+			<</if>>
+		<</if>>
+	<</if>>
 <</if>>
 <<if $rep > 18000>>
 	<<if $farmyardUpgrade.lab == 0>>
@@ -298,16 +298,11 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 			<<print $canines>>.
 		<<elseif _CL <= 3>>
 			a couple different
-			<<set $onlyDogs = 0>>
-			<<run $canines.forEach(function(c) {
-				if (c.species == "dog") {
-					V.onlyDogs = 1;
-				}
-			})>>
-			<<if $onlyDogs == 0>>
-				types of canines.
-			<<else>>
+			<<set $onlyDogs = $canines.every(c => c.species == "dog")>>
+			<<if $onlyDogs>>
 				breeds of dogs.
+			<<else>>
+				types of canines.
 			<</if>>
 		<<else>>
 			all kinds of canines.
@@ -378,16 +373,11 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 			<<print $felines>>.
 		<<elseif _FL <= 3>>
 			a couple different
-			<<set $onlyCats = 0>>
-			<<run $felines.forEach(function(c) {
-				if (c.species == "cat") {
-					V.onlyCats = 1;
-				}
-			})>>
-			<<if $onlyCats == 0>>
-				types of felines.
-			<<else>>
+			<<set $onlyCats = $felines.every(f => f.species == "cat")>>
+			<<if $onlyCats>>
 				breeds of cats.
+			<<else>>
+				types of felines.
 			<</if>>
 		<<else>>
 			all kinds of felines.
diff --git a/src/facilities/farmyard/food/foodMarket.tw b/src/facilities/farmyard/food/foodMarket.tw
index dd8d988dd097eb8de838f19694eced7d43269cd9..98b8d31ce5145536971cb6002f67a10bba11386e 100644
--- a/src/facilities/farmyard/food/foodMarket.tw
+++ b/src/facilities/farmyard/food/foodMarket.tw
@@ -4,6 +4,7 @@
 <br>
 
 <<set _foodValue = $foodStored*$foodCost>>  /* FIXME: currently costs 25 / kg, will need tweaking */
+<<set _maxFood = Math.trunc($cash/$foodCost)>>
 The food market has @@.chocolate;<<print massFormat($foodStored)>>@@ in storage, valued at a total of @@.yellowgreen;<<print cashFormat(_foodValue)>>.@@
 
 <<if $sideBarOptions.compact > 0>>
@@ -19,51 +20,55 @@ The food market has @@.chocolate;<<print massFormat($foodStored)>>@@ in storage,
 | <<link "<<= massFormat(100)>>" _link>><<set cashX(forceNeg($foodCost*100), "farmyard"), $foodStored += 100>><</link>>
 | <<link "<<= massFormat(1000)>>" _link>><<set cashX(forceNeg($foodCost*1000), "farmyard"), $foodStored += 1000>><</link>>
 | <<link "<<= massFormat(10000)>>" _link>><<set cashX(forceNeg($foodCost*10000), "farmyard"), $foodStored += 10000>><</link>>
+| <<link "max" _link>><<set cashX(forceNeg(_maxFood*$foodCost), "farmyard"), $foodStored += _maxFood>><</link>>
 <<if $foodStored > 0>>
 	<br>
 	<<link "Sell <<= massFormat(1)>>" _link>><<set cashX(($foodCost*1), "farmyard"), $foodStored -= 1>><</link>>
-<</if>>
-<<if $foodStored >= 10>>
-	| <<link "<<= massFormat(10)>>" _link>><<set cashX(($foodCost*10), "farmyard"), $foodStored -= 10>><</link>>
-<</if>>
-<<if $foodStored >= 100>>
-	| <<link "<<= massFormat(100)>>" _link>><<set cashX(($foodCost*100), "farmyard"), $foodStored -= 100>><</link>>
-<</if>>
-<<if $foodStored >= 1000>>
-	| <<link "<<= massFormat(1000)>>" _link>><<set cashX(($foodCost*1000), "farmyard"), $foodStored -= 1000>><</link>>
-<</if>>
-<<if $foodStored >= 10000>>
-	| <<link "<<= massFormat(10000)>>" _link>><<set cashX(($foodCost*10000), "farmyard"), $foodStored -= 10000>><</link>>
+	<<if $foodStored >= 10>>
+		| <<link "<<= massFormat(10)>>" _link>><<set cashX(($foodCost*10), "farmyard"), $foodStored -= 10>><</link>>
+	<</if>>
+	<<if $foodStored >= 100>>
+		| <<link "<<= massFormat(100)>>" _link>><<set cashX(($foodCost*100), "farmyard"), $foodStored -= 100>><</link>>
+	<</if>>
+	<<if $foodStored >= 1000>>
+		| <<link "<<= massFormat(1000)>>" _link>><<set cashX(($foodCost*1000), "farmyard"), $foodStored -= 1000>><</link>>
+	<</if>>
+	<<if $foodStored >= 10000>>
+		| <<link "<<= massFormat(10000)>>" _link>><<set cashX(($foodCost*10000), "farmyard"), $foodStored -= 10000>><</link>>
+	<</if>>
+	| <<link "max" _link>><<set cashX(($foodCost*$foodStored), "farmyard"), $foodStored = 0>><</link>>
 <</if>>
 <<if $food > 0>>
 	<br>
 	<<link "Store <<= massFormat(1)>>" _link>><<set $foodStored += 1, $food -= 1>><</link>>
-<</if>>
-<<if $food >= 10>>
-	| <<link "<<= massFormat(10)>>" _link>><<set $foodStored += 10, $food -= 10>><</link>>
-<</if>>
-<<if $food >= 100>>
-	| <<link "<<= massFormat(100)>>" _link>><<set $foodStored += 100, $food -= 100>><</link>>
-<</if>>
-<<if $food >= 1000>>
-	| <<link "<<= massFormat(1000)>>" _link>><<set $foodStored += 1000, $food -= 1000>><</link>>
-<</if>>
-<<if $food >= 10000>>
-	| <<link "<<= massFormat(10000)>>" _link>><<set $foodStored += 10000, $food -= 10000>><</link>>
+	<<if $food >= 10>>
+		| <<link "<<= massFormat(10)>>" _link>><<set $foodStored += 10, $food -= 10>><</link>>
+	<</if>>
+	<<if $food >= 100>>
+		| <<link "<<= massFormat(100)>>" _link>><<set $foodStored += 100, $food -= 100>><</link>>
+	<</if>>
+	<<if $food >= 1000>>
+		| <<link "<<= massFormat(1000)>>" _link>><<set $foodStored += 1000, $food -= 1000>><</link>>
+	<</if>>
+	<<if $food >= 10000>>
+		| <<link "<<= massFormat(10000)>>" _link>><<set $foodStored += 10000, $food -= 10000>><</link>>
+	<</if>>
+	| <<link "max" _link>><<set $foodStored += $food, $food = 0>><</link>>
 <</if>>
 <<if $foodStored > 0>>
 	<br>
 	<<link "Retrieve <<= massFormat(1)>>" _link>><<set $food += 1, $foodStored -= 1>><</link>>
-<</if>>
-<<if $foodStored >= 10>>
-	| <<link "<<= massFormat(10)>>" _link>><<set $food += 10, $foodStored -= 10>><</link>>
-<</if>>
-<<if $foodStored >= 100>>
-	| <<link "<<= massFormat(100)>>" _link>><<set $food += 100, $foodStored -= 100>><</link>>
-<</if>>
-<<if $foodStored >= 1000>>
-	| <<link "<<= massFormat(1000)>>" _link>><<set $food += 1000, $foodStored -= 1000>><</link>>
-<</if>>
-<<if $foodStored >= 10000>>
-	| <<link "<<= massFormat(10000)>>" _link>><<set $food += 10000, $foodStored -= 10000>><</link>>
+	<<if $foodStored >= 10>>
+		| <<link "<<= massFormat(10)>>" _link>><<set $food += 10, $foodStored -= 10>><</link>>
+	<</if>>
+	<<if $foodStored >= 100>>
+		| <<link "<<= massFormat(100)>>" _link>><<set $food += 100, $foodStored -= 100>><</link>>
+	<</if>>
+	<<if $foodStored >= 1000>>
+		| <<link "<<= massFormat(1000)>>" _link>><<set $food += 1000, $foodStored -= 1000>><</link>>
+	<</if>>
+	<<if $foodStored >= 10000>>
+		| <<link "<<= massFormat(10000)>>" _link>><<set $food += 10000, $foodStored -= 10000>><</link>>
+	<</if>>
+	| <<link "max" _link>><<set $food += $foodStored, $foodStored = 0>><</link>>
 <</if>>
diff --git a/src/facilities/farmyard/food/pFoodCrisis.tw b/src/facilities/farmyard/food/pFoodCrisis.tw
index 9029cf231167d157dbe795b9ddd8cec32d503e88..cbf28f977c7187b82d3a0ec4cec725be03061e2f 100644
--- a/src/facilities/farmyard/food/pFoodCrisis.tw
+++ b/src/facilities/farmyard/food/pFoodCrisis.tw
@@ -4,17 +4,17 @@
 
 <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">>
 
+<<if ($PC.skill.trading >= 100) || ($PC.career == "capitalist")>>
+	<<set _price = 2500>>
+<<elseif ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>
+	<<set _price = 5000>>
+<<else>>
+	<<set _price = 10000>>
+<</if>>
+
 <<switch $foodCrisis>>
 <<case 1>>
 
-	<<if ($PC.skill.trading >= 100) || ($PC.career == "capitalist")>>
-		<<set _price = 2500>>
-	<<elseif ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>
-		<<set _price = 5000>>
-	<<else>>
-		<<set _price = 10000>>
-	<</if>>
-
 	The region supplying much of the Free City's food had been battling a famine for quite some time now — between the deteriorating weather and the war raging on — but it had always seemed the situation was improving, and your arcology's citizens never really had to worry about going to bed hungry. Unfortunately, that all changed this week. A firefight had broken out near one of the region's largest farms, and one of the main reserves of food was caught in the crossfire.
 
 	<br><br>
@@ -86,14 +86,15 @@
 
 <<case 3>>
 
-	Another few weeks has passed since your last meeting with your citizens regarding rationing, and things have only deteriorated further since then. It was only a matter, then, before the wealthier citizens of $arcologies[0].name paid you a visit one afternoon. While being able to afford food wasn't exactly difficult for them as of yet, they could read the writing on the wall, and knew it would only be a matter of time before the prices of food were so high that even they would be forced to beg for handouts.
+	Another few weeks has passed since your last meeting with your citizens regarding rationing, and things have only deteriorated further since then. It was only a matter of time, then, before the wealthier citizens of $arcologies[0].name paid you a visit one afternoon. While being able to afford food wasn't exactly difficult for them as of yet, they could read the writing on the wall, and knew it would only be a matter of time before the prices of food were so high that even they would be forced to beg for handouts.
 
 	<br><br>
 
 	Seeing the progress you had made since taking control of the arcology, they decided their best course of action was to come to you with a proposition. They would allow you to take full control of the food supply in $arcologies[0].name, and in return you would keep them well-fed. ''This is a unique opportunity.'' If you turn their offer down, the citizens of your arcology will find another way of surviving.
 
 	<span id="result">
-	<<link "Set up a food market">>
+	<br>
+	<br><<link "Set up a food market">>
 		<<replace "#result">>
 		You know that a proposition like this wouldn't have been easy for your citizens to make, and you also know that there is no one better suited to a task like this than you. You announce that you will be setting up a market to buy, sell, and store food in, and that you'll make sure that the citizens will continue to be well-fed. Your citizens are @@.green;glad@@ to hear that you are looking out for their best interests.
 		<<run repX(5000, "event")>>
diff --git a/src/facilities/nursery/nurseryDatatypeCleanup.js b/src/facilities/nursery/nurseryDatatypeCleanup.js
index f0e48554fc86cfceb49a73b4f825af872c32be6c..ece181ed0016d9cea67e1bf657642be4ca86a2fc 100644
--- a/src/facilities/nursery/nurseryDatatypeCleanup.js
+++ b/src/facilities/nursery/nurseryDatatypeCleanup.js
@@ -354,55 +354,24 @@ App.Facilities.Nursery.ChildDatatypeCleanup = function(child) {
 		child.curatives = Math.clamp(+child.curatives, 0, 2) || 0;
 	}
 
-	// function childPornDatatypeCleanup(child) {
-	// 	child.pornFeed = Math.clamp(+child.pornFeed, 0, 1) || 0;
-	// 	child.pornFame = Math.max(+child.pornFame, 0) || 0;
-	// 	child.pornFameSpending = Math.max(+child.pornFameSpending, 0) || 0;
-	// 	child.pornPrestige = Math.clamp(+child.pornPrestige, 0, 3) || 0;
-	// 	if (typeof child.pornPrestigeDesc !== "string") {
-	// 		child.pornPrestigeDesc = 0;
-	// 	}
-	// 	if (typeof child.porn.fameType !== "string") {
-	// 		child.porn.fameType = "none";
-	// 	}
-	// 	if (typeof child.porn.focus !== "string") {
-	// 		child.porn.focus = "none";
-	// 	}
-	// child.porn.fame.general = Math.max(+child.porn.fame.general, 0) || 0;
-	// child.porn.fame.rape = Math.max(+child.porn.fame.rape, 0) || 0;
-	// child.porn.fame.preggo = Math.max(+child.porn.fame.preggo, 0) || 0;
-	// child.porn.fame.BBW = Math.max(+child.porn.fame.BBW, 0) || 0;
-	// child.porn.fame.gainer = Math.max(+child.porn.fame.gainer, 0) || 0;
-	// child.porn.fame.stud = Math.max(+child.porn.fame.stud, 0) || 0;
-	// child.porn.fame.loli = Math.max(+child.porn.fame.loli, 0) || 0;
-	// child.porn.fame.deepThroat = Math.max(+child.porn.fame.deepThroat, 0) || 0;
-	// child.porn.fame.struggleFuck = Math.max(+child.porn.fame.struggleFuck, 0) || 0;
-	// child.porn.fame.painal = Math.max(+child.porn.fame.painal, 0) || 0;
-	// child.porn.fame.tease = Math.max(+child.porn.fame.tease, 0) || 0;
-	// child.porn.fame.romantic = Math.max(+child.porn.fame.romantic, 0) || 0;
-	// child.porn.fame.pervert = Math.max(+child.porn.fame.pervert, 0) || 0;
-	// child.porn.fame.caring = Math.max(+child.porn.fame.caring, 0) || 0;
-	// child.porn.fame.unflinching = Math.max(+child.porn.fame.unflinching, 0) || 0;
-	// child.porn.fame.sizeQueen = Math.max(+child.porn.fame.sizeQueen, 0) || 0;
-	// child.porn.fame.neglectful = Math.max(+child.porn.fame.neglectful, 0) || 0;
-	// child.porn.fame.cumAddict = Math.max(+child.porn.fame.cumAddict, 0) || 0;
-	// child.porn.fame.analAddict = Math.max(+child.porn.fame.analAddict, 0) || 0;
-	// child.porn.fame.attentionWhore = Math.max(+child.porn.fame.attentionWhore, 0) || 0;
-	// child.porn.fame.breastGrowth = Math.max(+child.porn.fame.breastGrowth, 0) || 0;
-	// child.porn.fame.abusive = Math.max(+child.porn.fame.abusive, 0) || 0;
-	// child.porn.fame.malicious = Math.max(+child.porn.fame.malicious, 0) || 0;
-	// child.porn.fame.selfHating = Math.max(+child.porn.fame.selfHating, 0) || 0;
-	// child.porn.fame.breeder = Math.max(+child.porn.fame.breeder, 0) || 0;
-	// child.porn.fame.sub = Math.max(+child.porn.fame.sub, 0) || 0;
-	// child.porn.fame.cumSlut = Math.max(+child.porn.fame.cumSlut, 0) || 0;
-	// child.porn.fame.anal = Math.max(+child.porn.fame.anal, 0) || 0;
-	// child.porn.fame.humiliation = Math.max(+child.porn.fame.humiliation, 0) || 0;
-	// child.porn.fame.boobs = Math.max(+child.porn.fame.boobs, 0) || 0;
-	// child.porn.fame.dom = Math.max(+child.porn.fame.dom, 0) || 0;
-	// child.porn.fame.sadist = Math.max(+child.porn.fame.sadist, 0) || 0;
-	// child.porn.fame.masochist = Math.max(+child.porn.fame.masochist, 0) || 0;
-	// child.porn.fame.pregnancy = Math.max(+child.porn.fame.pregnancy, 0) || 0;
-	// }
+	function childPornDatatypeCleanup(child) {
+		child.porn.feed = Math.clamp(+child.porn.feed, 0, 1) || 0;
+		child.porn.viewerCount = Math.max(+child.porn.viewerCount, 0) || 0;
+		child.porn.spending = Math.max(+child.porn.spending, 0) || 0;
+		child.porn.prestige = Math.clamp(+child.porn.prestige, 0, 3) || 0;
+		if (typeof child.porn.prestigeDesc !== "string") {
+			child.porn.prestigeDesc = 0;
+		}
+		if (typeof child.porn.fameType !== "string") {
+			child.porn.fameType = "none";
+		}
+		if (typeof child.porn.focus !== "string") {
+			child.porn.focus = "none";
+		}
+		for (const genre of App.Porn.getAllGenres()) {
+			child.porn.fame[genre.fameVar] = Math.max(+child.porn.fame[genre.fameVar], 0) || 0;
+		}
+	}
 
 	function childRelationDatatypeCleanup(child) {
 		child.mother = +child.mother || 0;
diff --git a/src/facilities/nursery/nurseryWidgets.js b/src/facilities/nursery/nurseryWidgets.js
index 135521ac624dcca91c44e9637acaf80a4c28c146..a7c7412a43d1ba7afd2002606cc795cdc54c06b6 100644
--- a/src/facilities/nursery/nurseryWidgets.js
+++ b/src/facilities/nursery/nurseryWidgets.js
@@ -11384,7 +11384,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 									r += `'Half Pussy & Half Cock' is tattooed on ${his} left arm, and 'All Whore' is tattooed on ${his} right. `;
 								}
 							} else if (child.boobs > 600) {
-								r += `'I didn't used to have boobs' is tattooed on ${his} left arm, and 'I didn't always take it up the ass' is tattooed on ${his} right. `;
+								r += `'I didn't use to have boobs' is tattooed on ${his} left arm, and 'I didn't always take it up the ass' is tattooed on ${his} right. `;
 							} else {
 								r += `'I promise to cum buckets' is tattooed on ${his} left arm, and 'If you fuck my butt' is tattooed on ${his} right. `;
 							}
@@ -11425,7 +11425,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 									r += `'Half Pussy & Half Cock' is tattooed on ${his} left arm, and 'All Loved' is tattooed on ${his} right. `;
 								}
 							} else if (child.boobs > 600) {
-								r += `'I didn't used to have boobs' is tattooed on ${his} left arm, and 'And now I do!' is tattooed on ${his} right. `;
+								r += `'I didn't use to have boobs' is tattooed on ${his} left arm, and 'And now I do!' is tattooed on ${his} right. `;
 							} else {
 								r += `'I promise to cum buckets' is tattooed on ${his} left arm, and 'If you treat me right' is tattooed on ${his} right. `;
 							}
@@ -15669,52 +15669,7 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) {
 	child.override_Skin = 0,
 	/* eslint-enable camelcase */
 	child.physicalAge = child.actualAge,
-	child.porn = {
-		face: {
-			BBW: 0,
-			abusive: 0,
-			anal: 0,
-			analAddict: 0,
-			attentionWhore: 0,
-			boobs: 0,
-			breastGrowth: 0,
-			breeder: 0,
-			caring: 0,
-			cumAddict: 0,
-			cumSlut: 0,
-			deepThroat: 0,
-			dom: 0,
-			fuckdoll: 0,
-			gainer: 0,
-			general: 0,
-			humiliation: 0,
-			loli: 0,
-			malicious: 0,
-			masochist: 0,
-			neglectful: 0,
-			painal: 0,
-			pervert: 0,
-			preggo: 0,
-			pregnancy: 0,
-			rape: 0,
-			romantic: 0,
-			sadist: 0,
-			selfHating: 0,
-			sizeQueen: 0,
-			struggleFuck: 0,
-			stud: 0,
-			sub: 0,
-			tease: 0,
-			unflinching: 0
-		},
-		fameType: "none",
-		focus: "none"
-	},
-	child.pornFame = 0,
-	child.pornFameSpending = 0,
-	child.pornFeed = 0,
-	child.pornPrestige = 0,
-	child.pornPrestigeDesc = 0,
+	child.porn = new App.Entity.SlavePornPerformanceState(),
 	child.pregAdaptation = 50,
 	child.pregControl = "none",
 	child.pregData = {
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 4d2b6a7f0e42e4843e9ce9af3e5d428f3203b3ca..c07310a29ee1111bced1ed38fec853edb2d4da05 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -2657,7 +2657,7 @@ LORE: INTERVIEWS
 	<br>''skriv'' for fixes and endless code cleaning.
 	<br>''Arkerthan'' for various additions including merging cybermod and vanilla prosthetics. JS sanity check. Limbs and reworked amputation. Eye rework.
 	<br>''MouseOfLight'' for overhauling the corporation. V proxy, nuff said. Added better safeguards to the RA.
-	<br>''svornost'': A great asset. Various fixes and tools, including FCHost. Gave players the ability to find that one slave they are looking for. The 'Scope' macro.
+	<br>''svornost'': A great asset. Various fixes and tools, including FCHost. Gave players the ability to find that one slave they are looking for. The 'Scope' macro. Optimized porn so beautifully I can't even think.
 	<br>''Trashman1138'' for various tweaks and fixes.
 	<br>''maxd569'' for adding .mp4 and .webm support to custom images.
 	<br>''Anu'' for various fixes.
@@ -2685,7 +2685,7 @@ LORE: INTERVIEWS
 	<br>''DrNoOne'' wrote the bulk slave purchase and persistent summary code.
 	<br>''Mauve'' provided vector art for chastity belts and limp dicks.
 	<br>''Klorpa'' for dozens of new nationalities and boundless new names and nicknames. Also monokinis, middle eastern clothing, overalls and aprons. Also the hearing, taste, and smell overhauls. Added basic support for waterpsorts. Has declared war on bad spelling, grammar and formatting. Added eyebrows too. Dug up ancient abandoned vanilla vignettes and implemented them. Toiled in the depths to extend limb support.
-	<br>''lowercasedonkey'' for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries.
+	<br>''lowercasedonkey'' for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries. Set up a system to recall where slaves were serving.
 	<br>''amomynous0'' for bug reports and testing in addition to SFmod unit descriptions.
 	<br>''wepsrd'' for QOL (hormonal balance cheat and lactation adaptation to new menu) fixes.
 
@@ -2766,6 +2766,7 @@ LORE: INTERVIEWS
 	''Slave Professionalism'' is a future society model. It:
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Approves of intelligent, well-trained slaves.
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Improves value and beauty of smart slaves.
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Dislikes slaves ruled by their libido.
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Can be developed to radically affect goods seen in the slave market.
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Provides demand for smart slaves from [[the corporation|Encyclopedia][$encyclopedia = "The Corporation"]].
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Provides demand for educated slaves from the corporation.
diff --git a/src/init/dummy.tw b/src/init/dummy.tw
deleted file mode 100644
index f153afe43697edfe36b253418b46d70117edc366..0000000000000000000000000000000000000000
--- a/src/init/dummy.tw
+++ /dev/null
@@ -1,43 +0,0 @@
-:: dummy
-/*
-This is special passage to avoid false positive error in sanityCheck build script.
-Do not uncomment anything!
-
-Variables in this comment are only for the git grep calls used with the python version.
-False positives of the Java version have to be added to a separate config file.
-
-$nurseryUpgrade, $childToSlave
-$ageMode
-$youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $stewardessCareers, $schoolteacherCareers
-$whiteAmericanSlaveNames, $africanAmericanSlaveNames, $asianAmericanSlaveNames, $latinaSlaveNames, $russianSlaveNames, $egyptianSlaveNames, $brazilianSlaveNames, $chineseSlaveNames, $koreanSlaveNames, $indianSlaveNames, $indonesianSlaveNames, $bangladeshiSlaveNames, $japaneseSlaveNames, $nigerianSlaveNames, $pakistaniSlaveNames, $mexicanSlaveNames, $filipinaSlaveNames, $ethiopianSlaveNames, $germanSlaveNames, $saudiSlaveNames, $turkishSlaveNames, $colombianSlaveNames, $argentinianSlaveNames, $vietnameseSlaveNames, $iranianSlaveNames, $congoleseSlaveNames, $frenchSlaveNames, $thaiSlaveNames, $britishSlaveNames, $italianSlaveNames, $spanishSlaveNames, $kenyanSlaveNames, $ukrainianSlaveNames, $canadianSlaveNames, $peruvianSlaveNames, $venezuelanSlaveNames, $irishSlaveNames, $icelandicSlaveNames, $finnishSlaveNames, $newZealanderSlaveNames, $polishSlaveNames, $greekSlaveNames, $israeliSlaveNames, $armenianSlaveNames, $moroccanSlaveNames, $romanianSlaveNames, $swedishSlaveNames, $lithuanianSlaveNames, $bolivianSlaveNames, $haitianSlaveNames, $cubanSlaveNames, $whiteSouthAfricanSlaveNames, $blackSouthAfricanSlaveNames, $chileanSlaveNames, $belgianSlaveNames, $danishSlaveNames, $norwegianSlaveNames, $hungarianSlaveNames, $estonianSlaveNames, $slovakSlaveNames, $kazakhSlaveNames, $zimbabweanSlaveNames, $ugandanSlaveNames, $tanzanianSlaveNames, $dutchSlaveNames, $austrianSlaveNames, $swissSlaveNames, $puertoRicanSlaveNames, $czechSlaveNames, $portugueseSlaveNames, $jamaicanSlaveNames, $malaysianSlaveNames, $guatemalanSlaveNames, $ghananSlaveNames, $serbianSlaveNames, $australianSlaveNames, $burmeseSlaveNames, $algerianSlaveNames, $sudaneseSlaveNames, $iraqiSlaveNames, $uzbekSlaveNames, $nepaleseSlaveNames, $afghanSlaveNames, $yemeniSlaveNames, $lebaneseSlaveNames, $tunisianSlaveNames, $emiratiSlaveNames, $libyanSlaveNames, $jordanianSlaveNames, $omaniSlaveNames, $malianSlaveNames, $sammarineseSlaveNames, $marshalleseSlaveNames, $syrianSlaveNames, $bermudianSlaveNames, $uruguayanSlaveNames, $monegasqueSlaveNames, $montenegrinSlaveNames, $cambodianSlaveNames, $cameroonianSlaveNames, $gaboneseSlaveNames, $djiboutianSlaveNames, $greenlandicSlaveNames, $tuvaluanSlaveNames, $zambianSlaveNames, $albanianSlaveNames, $bruneianSlaveNames, $singaporeanSlaveNames
-$cowSlaveNames, $chattelReligionistSlaveNames, $romanSlaveNames, $aztecSlaveNames, $ancientEgyptianSlaveNames, $edoSlaveNames
-$ArcologyNamesSupremacistWhite, $ArcologyNamesSupremacistAsian, $ArcologyNamesSupremacistLatina, $ArcologyNamesSupremacistMiddleEastern, $ArcologyNamesSupremacistBlack, $ArcologyNamesSupremacistIndoAryan, $ArcologyNamesSupremacistPacificIslander, $ArcologyNamesSupremacistMalay, $ArcologyNamesSupremacistAmerindian, $ArcologyNamesSupremacistSouthernEuropean, $ArcologyNamesSupremacistSemitic, $ArcologyNamesSupremacistMixedRace
-$ArcologyNamesSubjugationistWhite, $ArcologyNamesSubjugationistAsian, $ArcologyNamesSubjugationistLatina, $ArcologyNamesSubjugationistMiddleEastern, $ArcologyNamesSubjugationistBlack, $ArcologyNamesSubjugationistIndoAryan, $ArcologyNamesSubjugationistPacificIslander, $ArcologyNamesSubjugationistMalay, $ArcologyNamesSubjugationistAmerindian, $ArcologyNamesSubjugationistSouthernEuropean, $ArcologyNamesSubjugationistSemitic, $ArcologyNamesSubjugationistMixedRace
-$ArcologyNamesGenderRadicalist, $ArcologyNamesGenderFundamentalist, $ArcologyNamesPaternalist, $ArcologyNamesDegradationist, $ArcologyNamesBodyPurist, $ArcologyNamesTransformationFetishist, $ArcologyNamesYouthPreferentialist, $ArcologyNamesMaturityPreferentialist, $ArcologyNamesSlimnessEnthusiast, $ArcologyNamesAssetExpansionist, $ArcologyNamesPastoralist, $ArcologyNamesPhysicalIdealist, $ArcologyNamesChattelReligionist, $ArcologyNamesRomanRevivalist, $ArcologyNamesAztecRevivalist, $ArcologyNamesEgyptianRevivalist, $ArcologyNamesEdoRevivalist, $ArcologyNamesArabianRevivalist, $ArcologyNamesChineseRevivalist
-$personalAttentionChanged
-$veryYoungCareers, $recruiterCareers
-$belarusianSlaveNames, $dominicanSlaveNames, $scottishSlaveNames
-$ArcologyNamesEugenics, $ArcologyNamesRepopulationist, $ArcologyNamesHedonisticDecadence
-$LurcherSpeed
-$$i
-$activeLurcher
-$activeSlave.bodySwap, $activeSlave.custom.image.format, $activeSlave.custom.hairVector, $activeSlave.shoeColor, $activeSlave.newGamePlus, $activeSlave.nipplesAccessory, $activeSlave.slaveCost, $activeSlave.premature,
-$activeSlave.pronoun,
-$activeSlave.sexAmount, $activeSlave.sexQuality
-$activeSlave.fertKnown
-$activeSlave.cum
-$drugs, $harshCollars, $shoes, $bellyAccessories, $vaginalAccessories, $dickAccessories, $buttplugs
-$PC.origRace, $PC.origSkin, $PC.criticalDamage
-$PC.eye.left.vision
-$PC.relationships.marriage, $PC.relationships.lovers, $PC.relationships.FWBs, $PC.relationships.BFFs, $PC.relationships.friends, $PC.relationships.likes, $PC.relationships.dislikes, $PC.relationships.hates, $PC.relationships.loathes, $PC.relationships.obsession
-$servantsQuartersSpots
-$clubSpots, $DJRepBonus
-$sayEnunciate, $sEnunciate, $SEnunciate, $ssEnunciate, $cEnunciate, $CEnunciate, $ccEnunciate, $zEnunciate, $ZEnunciate, $chEnunciate, $ChEnunciate, $psEnunciate, $PsEnunciate, $shEnunciate, $ShEnunciate, $scEnunciate, $ScEnunciate, $schEnunciate, $SchEnunciate, $xEnunciate, $XEnunciate
-$ZEnunciate = $ZEnunciate
-$Girl
-$corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpValue, $sharePrice, $oldSharePrice, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice
-$TradeShowMenials
-$mammaryUseWeight
-$brothelSpots
-$JobIDArray
-*/
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index a57b06613734f65bdc1a1302948a5d288a066277..313bf28586d26f22237446bfea85616969bd5a96 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -704,79 +704,11 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $studioFeed = 0>>
 <<set $PCSlutContacts = 1>>
 
-/* Porn type counts */
-<<set $pornStars = 0>>
-<<set $pornStarFuckdolls = 0>>
-<<set $pornStarRapees = 0>>
-<<set $pornStarPreggos = 0>>
-<<set $pornStarBBWs = 0>>
-<<set $pornStarGainers = 0>>
-<<set $pornStarStuds = 0>>
-<<set $pornStarLolis = 0>>
-<<set $pornStarDeepThroats = 0>>
-<<set $pornStarStruggleFucks = 0>>
-<<set $pornStarPainals = 0>>
-<<set $pornStarTeases = 0>>
-<<set $pornStarRomantics = 0>>
-<<set $pornStarPerverts = 0>>
-<<set $pornStarCarings = 0>>
-<<set $pornStarUnflinchings = 0>>
-<<set $pornStarSizeQueens = 0>>
-<<set $pornStarNeglectfuls = 0>>
-<<set $pornStarCumAddicts = 0>>
-<<set $pornStarAnalAddicts = 0>>
-<<set $pornStarAttentionWhores = 0>>
-<<set $pornStarBreastGrowths = 0>>
-<<set $pornStarAbusives = 0>>
-<<set $pornStarMalicious = 0>>
-<<set $pornStarSelfHatings = 0>>
-<<set $pornStarBreeders = 0>>
-<<set $pornStarSubs = 0>>
-<<set $pornStarCumSluts = 0>>
-<<set $pornStarAnals = 0>>
-<<set $pornStarHumiliations = 0>>
-<<set $pornStarBoobs = 0>>
-<<set $pornStarDoms = 0>>
-<<set $pornStarSadists = 0>>
-<<set $pornStarMasochists = 0>>
-<<set $pornStarPregnancySluts = 0>>
-
-/* level 3 prestige */
-<<set $pornStarID = 0>>
-<<set $pornStarFuckdollID = 0>>
-<<set $pornStarRapeID = 0>>
-<<set $pornStarPreggoID = 0>>
-<<set $pornStarBBWID = 0>>
-<<set $pornStarGainerID = 0>>
-<<set $pornStarStudID = 0>>
-<<set $pornStarLoliID = 0>>
-<<set $pornStarDeepThroatID = 0>>
-<<set $pornStarStruggleFuckID = 0>>
-<<set $pornStarPainalID = 0>>
-<<set $pornStarTeaseID = 0>>
-<<set $pornStarRomanticID = 0>>
-<<set $pornStarPervertID = 0>>
-<<set $pornStarCaringID = 0>>
-<<set $pornStarUnflinchingID = 0>>
-<<set $pornStarSizeQueenID = 0>>
-<<set $pornStarNeglectfulID = 0>>
-<<set $pornStarCumAddictID = 0>>
-<<set $pornStarAnalAddictID = 0>>
-<<set $pornStarAttentionWhoreID = 0>>
-<<set $pornStarBreastGrowthID = 0>>
-<<set $pornStarAbusiveID = 0>>
-<<set $pornStarMaliciousID = 0>>
-<<set $pornStarSelfHatingID = 0>>
-<<set $pornStarBreederID = 0>>
-<<set $pornStarSubID = 0>>
-<<set $pornStarCumSlutID = 0>>
-<<set $pornStarAnalID = 0>>
-<<set $pornStarHumiliationID = 0>>
-<<set $pornStarBoobsID = 0>>
-<<set $pornStarDomID = 0>>
-<<set $pornStarSadistID = 0>>
-<<set $pornStarMasochistID = 0>>
-<<set $pornStarPregnancyID = 0>>
+/* Porn star counts (prestige 1) and ID's (prestige 3) */
+<<set $pornStars = {}>>
+<<for _genre range App.Porn.getAllGenres()>>
+	<<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>>
+<</for>>
 
 <<set $pregInventor = 0>>
 <<set $pregInventorID = 0>>
@@ -1175,12 +1107,8 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $foodStored = 0>>
 <<set $foodCost = 25>>
 <<set $foodMarket = 0>>
-<<set $slaveRate = 2>>
-<<set $lowerRate = 1.8>>
-<<set $middleRate = 2>>
-<<set $upperRate = 2.2>>
-<<set $topRate = 2.4>>
-<<set $foodConsumption = (($lowerClass*$lowerRate) + ($middleClass*$middleRate) + ($upperClass*$upperRate) + ($topClass*$topRate))>>		/* total amount food consumed per week */
+<<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>>
+<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>>	/* total amount food consumed per week */
 <<set $farmMenials = 0>>
 <<set $revealFoodEffects = 0>>
 <<set $rations = 0>>
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index 229c6f0839f710cff2cbfc8b843e7495a928d1b9..1218a60761f18eca9814048ed2d12b6c352c0801 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -1519,7 +1519,7 @@ window.DefaultRules = (function() {
 	 */
 	function ProcessDiet(slave, rule) {
 		// Diet Setting
-		if ((rule.diet !== undefined && rule.diet !== null) || rule.weight !== null) {
+		if ((rule.diet !== undefined && rule.diet !== null) || rule.weight !== null || rule.muscles !== null) {
 			/*
 			if ((slave.boobs >= 1600) && (slave.muscles <= 5) && !isAmputee(slave) && ((rule.muscles == null) || (rule.muscles === 0))) {
 				if ((slave.diet !== "muscle building")) {
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index aa6492d2481869f0a3bd812679cca87f0f4443e6..ffa9cbd4e4594fb8772ff2850192ad71022b11d2 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -104,78 +104,12 @@ App.Entity.SlavePornPerformanceState = class {
 		this.fameType = "none";
 		/** what aspect of her the upgraded studio is focusing on for porn */
 		this.focus = "none";
-		this.fame = {
-			/** generic porn fame */
-			general: 0,
-			/** Fuckdoll porn fame */
-			fuckdoll: 0,
-			/** rape porn fame */
-			rape: 0,
-			/** preggo porn fame */
-			preggo: 0,
-			/** BBW porn fame */
-			BBW: 0,
-			/** weight gain porn fame */
-			gainer: 0,
-			/** well hung porn fame */
-			stud: 0,
-			/** underage porn fame */
-			loli: 0,
-			/** gagfuck queen porn fame */
-			deepThroat: 0,
-			/** strugglefuck queen porn fame */
-			struggleFuck: 0,
-			/** painal queen porn fame */
-			painal: 0,
-			/** tease porn fame */
-			tease: 0,
-			/** romantic porn fame */
-			romantic: 0,
-			/** pervert porn fame */
-			pervert: 0,
-			/** caring porn fame */
-			caring: 0,
-			/** unflinching porn fame */
-			unflinching: 0,
-			/** size queen porn fame */
-			sizeQueen: 0,
-			/** neglectful porn fame */
-			neglectful: 0,
-			/** cum addict porn fame */
-			cumAddict: 0,
-			/** anal addict porn fame */
-			analAddict: 0,
-			/** attention whore porn fame */
-			attentionWhore: 0,
-			/** breast growth porn fame */
-			breastGrowth: 0,
-			/** abusive porn fame */
-			abusive: 0,
-			/** malicious porn fame */
-			malicious: 0,
-			/** self hating porn fame */
-			selfHating: 0,
-			/** breeder porn fame */
-			breeder: 0,
-			/** submissive porn fame */
-			sub: 0,
-			/** cumslut porn fame */
-			cumSlut: 0,
-			/** buttslut porn fame */
-			anal: 0,
-			/** humiliation porn fame */
-			humiliation: 0,
-			/** boob porn fame */
-			boobs: 0,
-			/** dom porn fame */
-			dom: 0,
-			/** sadist porn fame */
-			sadist: 0,
-			/** masochist porn fame */
-			masochist: 0,
-			/** pregnancy porn fame*/
-			pregnancy: 0
-		};
+
+		/** fame values for each porn genre */
+		this.fame = { };
+		for (const genre of App.Porn.getAllGenres()) {
+			this.fame[genre.fameVar] = 0;
+		}
 	}
 };
 
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index b50b926f6f788bb3e36cc289495ffb99a9d5ddba..a15930d361acf01bf5df9730f2ca2d4e9247a0ed 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -910,41 +910,14 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		if (typeof slave.porn.focus !== "string") {
 			slave.porn.focus = "none";
 		}
-		slave.porn.fame.general = Math.max(+slave.porn.fame.general, 0) || 0;
-		slave.porn.fame.fuckdoll = Math.max(+slave.porn.fame.fuckdoll, 0) || 0;
-		slave.porn.fame.rape = Math.max(+slave.porn.fame.rape, 0) || 0;
-		slave.porn.fame.preggo = Math.max(+slave.porn.fame.preggo, 0) || 0;
-		slave.porn.fame.BBW = Math.max(+slave.porn.fame.BBW, 0) || 0;
-		slave.porn.fame.gainer = Math.max(+slave.porn.fame.gainer, 0) || 0;
-		slave.porn.fame.stud = Math.max(+slave.porn.fame.stud, 0) || 0;
-		slave.porn.fame.loli = Math.max(+slave.porn.fame.loli, 0) || 0;
-		slave.porn.fame.deepThroat = Math.max(+slave.porn.fame.deepThroat, 0) || 0;
-		slave.porn.fame.struggleFuck = Math.max(+slave.porn.fame.struggleFuck, 0) || 0;
-		slave.porn.fame.painal = Math.max(+slave.porn.fame.painal, 0) || 0;
-		slave.porn.fame.tease = Math.max(+slave.porn.fame.tease, 0) || 0;
-		slave.porn.fame.romantic = Math.max(+slave.porn.fame.romantic, 0) || 0;
-		slave.porn.fame.pervert = Math.max(+slave.porn.fame.pervert, 0) || 0;
-		slave.porn.fame.caring = Math.max(+slave.porn.fame.caring, 0) || 0;
-		slave.porn.fame.unflinching = Math.max(+slave.porn.fame.unflinching, 0) || 0;
-		slave.porn.fame.sizeQueen = Math.max(+slave.porn.fame.sizeQueen, 0) || 0;
-		slave.porn.fame.neglectful = Math.max(+slave.porn.fame.neglectful, 0) || 0;
-		slave.porn.fame.cumAddict = Math.max(+slave.porn.fame.cumAddict, 0) || 0;
-		slave.porn.fame.analAddict = Math.max(+slave.porn.fame.analAddict, 0) || 0;
-		slave.porn.fame.attentionWhore = Math.max(+slave.porn.fame.attentionWhore, 0) || 0;
-		slave.porn.fame.breastGrowth = Math.max(+slave.porn.fame.breastGrowth, 0) || 0;
-		slave.porn.fame.abusive = Math.max(+slave.porn.fame.abusive, 0) || 0;
-		slave.porn.fame.malicious = Math.max(+slave.porn.fame.malicious, 0) || 0;
-		slave.porn.fame.selfHating = Math.max(+slave.porn.fame.selfHating, 0) || 0;
-		slave.porn.fame.breeder = Math.max(+slave.porn.fame.breeder, 0) || 0;
-		slave.porn.fame.sub = Math.max(+slave.porn.fame.sub, 0) || 0;
-		slave.porn.fame.cumSlut = Math.max(+slave.porn.fame.cumSlut, 0) || 0;
-		slave.porn.fame.anal = Math.max(+slave.porn.fame.anal, 0) || 0;
-		slave.porn.fame.humiliation = Math.max(+slave.porn.fame.humiliation, 0) || 0;
-		slave.porn.fame.boobs = Math.max(+slave.porn.fame.boobs, 0) || 0;
-		slave.porn.fame.dom = Math.max(+slave.porn.fame.dom, 0) || 0;
-		slave.porn.fame.sadist = Math.max(+slave.porn.fame.sadist, 0) || 0;
-		slave.porn.fame.masochist = Math.max(+slave.porn.fame.masochist, 0) || 0;
-		slave.porn.fame.pregnancy = Math.max(+slave.porn.fame.pregnancy, 0) || 0;
+		for (const genre of App.Porn.getAllGenres()) {
+			slave.porn.fame[genre.fameVar] = Math.max(+slave.porn.fame[genre.fameVar], 0) || 0;
+		}
+
+		// there was a bug where the ui would set focus to "well hung" instead of "stud" for the "big dick" genre.
+		if (slave.porn.focus === "well hung") {
+			slave.porn.focus = "stud";
+		}
 	}
 
 	/**
@@ -1492,41 +1465,9 @@ window.childPornDatatypeCleanup = function childPornDatatypeCleanup(child) {
 	if (typeof child.porn.focus !== "string") {
 		child.porn.focus = "none";
 	}
-	child.porn.fame.general = Math.max(+child.porn.fame.general, 0) || 0;
-	child.porn.fame.fuckdoll = Math.max(+child.porn.fame.fuckdoll, 0) || 0;
-	child.porn.fame.rape = Math.max(+child.porn.fame.rape, 0) || 0;
-	child.porn.fame.preggo = Math.max(+child.porn.fame.preggo, 0) || 0;
-	child.porn.fame.BBW = Math.max(+child.porn.fame.BBW, 0) || 0;
-	child.porn.fame.gainer = Math.max(+child.porn.fame.gainer, 0) || 0;
-	child.porn.fame.stud = Math.max(+child.porn.fame.stud, 0) || 0;
-	child.porn.fame.loli = Math.max(+child.porn.fame.loli, 0) || 0;
-	child.porn.fame.deepThroat = Math.max(+child.porn.fame.deepThroat, 0) || 0;
-	child.porn.fame.struggleFuck = Math.max(+child.porn.fame.struggleFuck, 0) || 0;
-	child.porn.fame.painal = Math.max(+child.porn.fame.painal, 0) || 0;
-	child.porn.fame.tease = Math.max(+child.porn.fame.tease, 0) || 0;
-	child.porn.fame.romantic = Math.max(+child.porn.fame.romantic, 0) || 0;
-	child.porn.fame.pervert = Math.max(+child.porn.fame.pervert, 0) || 0;
-	child.porn.fame.caring = Math.max(+child.porn.fame.caring, 0) || 0;
-	child.porn.fame.unflinching = Math.max(+child.porn.fame.unflinching, 0) || 0;
-	child.porn.fame.sizeQueen = Math.max(+child.porn.fame.sizeQueen, 0) || 0;
-	child.porn.fame.neglectful = Math.max(+child.porn.fame.neglectful, 0) || 0;
-	child.porn.fame.cumAddict = Math.max(+child.porn.fame.cumAddict, 0) || 0;
-	child.porn.fame.analAddict = Math.max(+child.porn.fame.analAddict, 0) || 0;
-	child.porn.fame.attentionWhore = Math.max(+child.porn.fame.attentionWhore, 0) || 0;
-	child.porn.fame.breastGrowth = Math.max(+child.porn.fame.breastGrowth, 0) || 0;
-	child.porn.fame.abusive = Math.max(+child.porn.fame.abusive, 0) || 0;
-	child.porn.fame.malicious = Math.max(+child.porn.fame.malicious, 0) || 0;
-	child.porn.fame.selfHating = Math.max(+child.porn.fame.selfHating, 0) || 0;
-	child.porn.fame.breeder = Math.max(+child.porn.fame.breeder, 0) || 0;
-	child.porn.fame.sub = Math.max(+child.porn.fame.sub, 0) || 0;
-	child.porn.fame.cumSlut = Math.max(+child.porn.fame.cumSlut, 0) || 0;
-	child.porn.fame.anal = Math.max(+child.porn.fame.anal, 0) || 0;
-	child.porn.fame.humiliation = Math.max(+child.porn.fame.humiliation, 0) || 0;
-	child.porn.fame.boobs = Math.max(+child.porn.fame.boobs, 0) || 0;
-	child.porn.fame.dom = Math.max(+child.porn.fame.dom, 0) || 0;
-	child.porn.fame.sadist = Math.max(+child.porn.fame.sadist, 0) || 0;
-	child.porn.fame.masochist = Math.max(+child.porn.fame.masochist, 0) || 0;
-	child.porn.fame.pregnancy = Math.max(+child.porn.fame.pregnancy, 0) || 0;
+	for (const genre of App.Porn.getAllGenres()) {
+		child.porn.fame[genre.fameVar] = Math.max(+child.porn.fame[genre.fameVar], 0) || 0;
+	}
 };
 
 window.childRelationDatatypeCleanup = function childRelationDatatypeCleanup(child) {
diff --git a/src/js/porn.js b/src/js/porn.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a48d23fd9d9d41394e1e13638e8afcfa6b442ca
--- /dev/null
+++ b/src/js/porn.js
@@ -0,0 +1,629 @@
+App.Porn = {};
+App.Porn.GenreType = {
+	paraphilia: {
+		focusedViewershipFactor: 1.5,
+		unfocusedViewershipFactor: 0.5,
+		viewershipSoakingFactor: 0.0,
+		bonusViewership: function(slave) { return slave.fetishStrength * 2.0; }
+	},
+	fetish: {
+		focusedViewershipFactor: 2.0,
+		unfocusedViewershipFactor: 0.5,
+		viewershipSoakingFactor: 1.0,
+		bonusViewership: function(slave) { return slave.fetishStrength; }
+	},
+	general: {
+		focusedViewershipFactor: 4.0,
+		unfocusedViewershipFactor: 0.5,
+		viewershipSoakingFactor: 1.0,
+		bonusViewership: function(slave) { return 0.0; }
+	},
+	quirk: {
+		focusedViewershipFactor: 6.0,
+		unfocusedViewershipFactor: 0.5,
+		viewershipSoakingFactor: 1.0,
+		bonusViewership: function(slave) { return 0.0; }
+	},
+	generic: {
+		focusedViewershipFactor: 5.0,
+		unfocusedViewershipFactor: 1.0,
+		viewershipSoakingFactor: 0.0,
+		bonusViewership: function(slave) { return 0.0; }
+	}
+};
+
+App.Porn.Genre = {};
+
+/* Paraphilia genres */
+
+App.Porn.Genre.neglectful = {
+	fameVar: "neglectful",
+	fameName: "orgasm denial",
+	focusName: "neglectful",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed the sight of $him ignoring $his own pleasure",
+	prestigeDesc2: "$His many fans relish the sight of $him denying $himself pleasure",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him denying $himself pleasure",
+	hitText: function(slave) { return `${getPronouns(slave).His} lack of interest in getting off ${getPronouns(slave).himself}, even when at the verge of climax, makes ${getPronouns(slave).him} a hit with viewers that enjoy orgasm denial.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} pleasing a line of partners without cumming once`; },
+	valid: function(slave) { return slave.sexualFlaw === "neglectful"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.cumAddict = {
+	fameVar: "cumAddict",
+	fameName: "cum addiction",
+	focusName: "cum addict",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him do anything and everything for cum",
+	prestigeDesc2: "$His many fans relish the sight of $him doing anything for cum",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him doing anything for cum",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete obsession with cum makes ${getPronouns(slave).him} a hit with viewers that enjoy bukkake and cum drinking.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} bathing in a tub of cum`; },
+	valid: function(slave) { return slave.sexualFlaw === "cum addict"; },
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+App.Porn.Genre.analAddict = {
+	fameVar: "analAddict",
+	fameName: "anal addiction",
+	focusName: "anal addict",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him do anything for a dick in $his ass",
+	prestigeDesc2: "$His many fans relish the sight of $him doing anything for a dick up $his ass",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $his well-versed anus.",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete obsession with taking things up ${getPronouns(slave).his} ass makes ${getPronouns(slave).him} a hit with viewers that enjoy hardcore anal.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} TEMPLATE`; },
+	valid: function(slave) { return slave.sexualFlaw === "anal addict" && canDoAnal(slave); },
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+App.Porn.Genre.attentionWhore = {
+	fameVar: "attentionWhore",
+	fameName: "exhibition",
+	focusName: "attention whore",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him do anything for attention",
+	prestigeDesc2: "$His many fans relish the sight of $him doing anything for attention",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him doing anything for attention",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete obsession with being the center of attention makes ${getPronouns(slave).him} a hit with viewers that savor ${getPronouns(slave).his} frequent exhibitionism.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} flashing strangers`; },
+	valid: function(slave) { return slave.sexualFlaw === "attention whore"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.breastGrowth = {
+	fameVar: "breastGrowth",
+	fameName: "breast expansion",
+	focusName: "breast growth",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed charting the growth of $his breasts",
+	prestigeDesc2: "$His many fans relish the sight of $his expanding bust",
+	prestigeDesc3: "Millions are intimately familiar with the history of $his growing bust",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete obsession with the ever increasing size of ${getPronouns(slave).his} tits makes ${getPronouns(slave).him} a hit with viewers that enjoy enormous knockers and breast expansion.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} having ${getPronouns(slave).his} tits measured`; },
+	valid: function(slave) { return slave.sexualFlaw === "breast growth"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.abusive = {
+	fameVar: "abusive",
+	fameName: "abuse",
+	focusName: "abusive",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him abuse others",
+	prestigeDesc2: "$His many fans relish the sight of $him abusing others",
+	prestigeDesc3: "Millions are intimately familiar with $his abusive tendencies",
+	hitText: function(slave) { return `${getPronouns(slave).His} wanton enjoyment of pleasure through force amuses viewers that enjoy rape and abuse.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} taking what ${getPronouns(slave).he} wants by force`; },
+	valid: function(slave) { return slave.sexualFlaw === "abusive"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.malicious = {
+	fameVar: "malicious",
+	fameName: "sexual torture",
+	focusName: "malicious",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed $him getting off from the suffering $he caused",
+	prestigeDesc2: "$His many fans relish the sight of $him getting off from the suffering $he caused",
+	prestigeDesc3: "Millions are intimately familiar with $his hunger for making others suffer",
+	hitText: function(slave) { return `${getPronouns(slave).His} sexual appetite for others' suffering makes ${getPronouns(slave).him} a hit with viewers that enjoy sadism and violence.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} tormenting ${getPronouns(slave).his} prey`; },
+	valid: function(slave) { return slave.sexualFlaw === "malicious"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.selfHating = {
+	fameVar: "selfHating",
+	fameName: "self hating",
+	focusName: "self hating",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him happily suffer",
+	prestigeDesc2: "$His many fans relish $his suffering",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him suffering",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete disregard for ${getPronouns(slave).his} own wellbeing makes ${getPronouns(slave).him} a hit with viewers that enjoy watching ${getPronouns(slave).him} suffer.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} orgasming from pain`; },
+	valid: function(slave) { return slave.sexualFlaw === "self hating"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.breeder = {
+	fameVar: "breeder",
+	fameName: "breeder",
+	focusName: "breeder",
+	type: App.Porn.GenreType.paraphilia,
+	prestigeDesc1: "Thousands have enjoyed watching $him obsess over pumping out babies",
+	prestigeDesc2: "$His many fans relish $his obsession with having children",
+	prestigeDesc3: "Millions are intimately familiar with $his obsession with being pregnant",
+	hitText: function(slave) { return `${getPronouns(slave).His} complete obsession with getting and staying pregnant makes ${getPronouns(slave).him} a hit with viewers with all manner of pregnancy fetish, but particularly resonates with those as focused on it as ${getPronouns(slave).he} is.`; },
+	trinketShotDesc: function(slave) {
+		if (slave.counter.births > 0) {
+			return `showing ${getPronouns(slave).him} having an orgasmic birth`;
+		} else {
+			return `showing ${getPronouns(slave).him} being bred`;
+		}
+	},
+	valid: function(slave) { return slave.sexualFlaw === "breeder"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+/* Fetish genres */
+
+App.Porn.Genre.sub = {
+	fameVar: "sub",
+	fameName: "submissive",
+	focusName: "submissive",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his submission",
+	prestigeDesc2: "$His many fans relish $his submissiveness",
+	prestigeDesc3: "Millions are intimately familiar with $his submissiveness",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} submissive streak, ${getPronouns(slave).he} has a clear advantage when it comes to fetish smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} submission`; },
+	valid: function(slave) { return slave.fetish === "submissive"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.cumSlut = {
+	fameVar: "cumSlut",
+	fameName: "cum",
+	focusName: "cumslut",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his taste for cum",
+	prestigeDesc2: "$His many fans relish $his desire for cum",
+	prestigeDesc3: "Millions are intimately familiar with $his taste for cum",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} taste for cum, ${getPronouns(slave).he} has a clear advantage when it comes to ejaculate-based smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} drinking a glass of cum`; },
+	valid: function(slave) { return slave.fetish === "cumslut"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.anal = {
+	fameVar: "anal",
+	fameName: "buttslut",
+	focusName: "buttslut",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his rear",
+	prestigeDesc2: "$His many fans relish the sight of $his rear",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $his rear",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for asses, ${getPronouns(slave).he} finds friends in the company of viewers that love rear ends.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} shaking ${getPronouns(slave).his} booty`; },
+	valid: function(slave) { return slave.fetish === "buttslut"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.humiliation = {
+	fameVar: "humiliation",
+	fameName: "humiliating",
+	focusName: "humiliation",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $him humiliating $himself",
+	prestigeDesc2: "$His many fans relish $his frequent humiliation",
+	prestigeDesc3: "Millions are intimately familiar with $his frequent humiliation",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for humiliation, ${getPronouns(slave).he} has a clear advantage when it comes to demeaning smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} humiliated in public`; },
+	valid: function(slave) { return slave.fetish === "humiliation"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.boobs = {
+	fameVar: "boobs",
+	fameName: "breast",
+	focusName: "boobs",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his breasts",
+	prestigeDesc2: "$His many fans relish the sight of $his breasts",
+	prestigeDesc3: "Millions are intimately familiar with $his breasts",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for tits, ${getPronouns(slave).he} has a clear advantage when it comes to breast focused smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} bare chest`; },
+	valid: function(slave) { return slave.fetish === "boobs"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.dom = {
+	fameVar: "dom",
+	fameName: "dominant",
+	focusName: "dom",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his dominance",
+	prestigeDesc2: "$His many fans relish $his dominance",
+	prestigeDesc3: "Millions are intimately familiar with $his dominant streak",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} dominant streak, ${getPronouns(slave).he} has a clear advantage when it comes to fetish smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} seated upon ${getPronouns(slave).his} obedient toy`; },
+	valid: function(slave) { return slave.fetish === "dom"; },
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+App.Porn.Genre.sadist = {
+	fameVar: "sadist",
+	fameName: "sadistic",
+	focusName: "sadist",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his sadism",
+	prestigeDesc2: "$His many fans relish $his sadism",
+	prestigeDesc3: "Millions are intimately familiar with $his sadistic streak",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} sadistic streak, ${getPronouns(slave).he} has a clear advantage when it comes to fetish smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} whipping ${getPronouns(slave).his} lover`; },
+	valid: function(slave) { return slave.fetish === "sadist"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.masochist = {
+	fameVar: "masochist",
+	fameName: "masochistic",
+	focusName: "masochist",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his masochism",
+	prestigeDesc2: "$His many fans relish the sight of $his masochism",
+	prestigeDesc3: "Millions are intimately familiar with $his masochistic stream",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} masochistic streak, ${getPronouns(slave).he} has a clear advantage when it comes to fetish smut.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} being whipped`; },
+	valid: function(slave) { return slave.fetish === "masochist"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.pregnancy = {
+	fameVar: "pregnancy",
+	fameName: "pregnancy fetish",
+	focusName: "pregnancy",
+	type: App.Porn.GenreType.fetish,
+	prestigeDesc1: "Thousands have enjoyed $his fondness for pregnancy",
+	prestigeDesc2: "$His many fans relish the sight of $his fondness for pregnancy",
+	prestigeDesc3: "Millions are intimately familiar with $his pregnancy kink",
+	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for all things pregnancy, ${getPronouns(slave).he} has a clear advantage when it comes to fetish smut.`; },
+	trinketShotDesc: function(slave) {
+		if (slave.ovaries === 1 || slave.mpreg === 1) {
+			return `showing ${getPronouns(slave).him} getting knocked up`;
+		} else if (slave.dick > 0) {
+			return `showing ${getPronouns(slave).him} knocking a girl up`;
+		} else {
+			return `showing ${getPronouns(slave).him} pretending to be pregnant`;
+		}
+	},
+	valid: function(slave) { return slave.fetish === "pregnancy"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+/* General genres */
+
+App.Porn.Genre.fuckdoll = {
+	fameVar: "fuckdoll",
+	fameName: "fuckdoll",
+	focusName: "fuckdoll",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "$His fans relish the sight of $him being used",
+	prestigeDesc2: "$His many fans relish the sight of $him being used",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him being used",
+	hitText: function(slave) { return `${getPronouns(slave).His} latex encased body attracts a variety of viewers with tastes ranging from bondage to dolls.`; },
+	trinketShotDesc: function(slave) { return `showing it offering itself`; },
+	valid: function(slave) { return slave.fuckdoll > 0; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.rape = {
+	fameVar: "rape",
+	fameName: "rape",
+	focusName: "rape",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $him being raped",
+	prestigeDesc2: "$His many fans relish the sight of $him being raped",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him being raped",
+	hitText: function(slave) { return `${getPronouns(slave).He} is too unbroken for consensual sex, but ${getPronouns(slave).his} viewers wouldn't want it any other way.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} rape`; },
+	valid: function(slave) { return (slave.devotion < -20) && (slave.counter.anal + slave.counter.vaginal > 0); },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.preggo = {
+	fameVar: "preggo",
+	fameName: "preggo",
+	focusName: "preggo",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed watching $him swell with child",
+	prestigeDesc2: "$His many fans relish the sight of $him swollen with child",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him swollen with child",
+	hitText: function(slave) { return `${getPronouns(slave).His} gravid swell may be a turn off to some, but the maiesiophiliacs love it.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} cradling ${getPronouns(slave).his} middle`; },
+	valid: function(slave) { return slave.bellyPreg > 500; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.BBW = {
+	fameVar: "BBW",
+	fameName: "BBW",
+	focusName: "BBW",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his thick and soft body",
+	prestigeDesc2: "$His many fans relish the sight of $his thick, soft body",
+	prestigeDesc3: "Millions are intimately familiar with $his thick, soft body",
+	hitText: function(slave) { return `${getPronouns(slave).His} weight gives ${getPronouns(slave).him} a heavy allure to the chubby chasers and BBW lovers out there.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} giving a bellyjob`; },
+	valid: function(slave) { return slave.weight > 95; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.loli = {
+	fameVar: "loli",
+	fameName: "underage",
+	focusName: "loli",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his childish body",
+	prestigeDesc2: "$His many fans relish $his immature body",
+	prestigeDesc3: "Millions are intimately familiar with $his immature body",
+	hitText: function(slave) { return `${getPronouns(slave).His} young age gives ${getPronouns(slave).him} a dangerous edge and a number of careful viewers.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} 'innocence'`; },
+	valid: function(slave) { return slave.visualAge <= 12; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.gainer = {
+	fameVar: "gainer",
+	fameName: "weight gain",
+	focusName: "gainer",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $him eating and gaining weight",
+	prestigeDesc2: "$His many fans relish how curvy $he's gotten",
+	prestigeDesc3: "Millions are intimately familiar with how with how much weight $he has gained",
+	hitText: function(slave) { return `${getPronouns(slave).His} expanding waistline attracts those who enjoy seeing a ${getPronouns(slave).girl} pack on the pounds while stuffing ${getPronouns(slave).his} face.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} trying on ${getPronouns(slave).his} old clothes`; },
+	valid: function(slave) { return (slave.weight > 30 && slave.diet === "fattening") || (slave.inflation > 0 && slave.inflationType === "food"); },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.stud = {
+	fameVar: "stud",
+	fameName: "big dick",
+	focusName: "stud",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his throbbing erection",
+	prestigeDesc2: "$His many fans relish the sight of $his heavy dick",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $his erect dick",
+	hitText: function(slave) { return `${getPronouns(slave).His} powerful erection excites those who see it, especially when it is put to good use.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} money shot`; },
+	valid: function(slave) { return canPenetrate(slave) && slave.dick > 3; },
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+App.Porn.Genre.muscle = {
+	fameVar: "muscle",
+	fameName: "muscle",
+	focusName: "muscle",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his hard muscles",
+	prestigeDesc2: "$His many fans relish the sight of $his hard muscles",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $his hard muscles",
+	hitText: function(slave) { return `${getPronouns(slave).His} powerful muscles and bodybuilder physique attracts a dedicated audience.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} holding ${getPronouns(slave).his} partner in the air during sex`; },
+	valid: function(slave) { return slave.muscles > 80; },
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+App.Porn.Genre.incest = {
+	fameVar: "incest",
+	fameName: "taboo",
+	focusName: "incest",
+	type: App.Porn.GenreType.general,
+	prestigeDesc1: "Thousands have enjoyed seeing the love $he shares with $his family members",
+	prestigeDesc2: "$His many fans relish the sight of $him loving $his family members",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him loving $his family members",
+	hitText: function(slave) {
+		if (App.Utils.hasPartnerSex(slave) && areRelated(slave, getSlave(slave.relationshipTarget))) {
+			const partner = getSlave(slave.relationshipTarget);
+			return `${getPronouns(slave).His} sexual escapades with ${getPronouns(slave).his} ${relativeTerm(slave, partner)} ${partner.slaveName} excite viewers attracted to incestuous relationships.`;
+		} else if (App.Utils.hasFamilySex(slave)) {
+			return `${getPronouns(slave).His} sexual escapades with ${getPronouns(slave).his} close family members excite viewers attracted to incest.`;
+		} else {
+			return `${getPronouns(slave).His} sexual escapades with you, ${getPronouns(slave).his} own ${relativeTerm(slave, V.PC)}, excite viewers attracted to incestuous relationships.`;
+		}
+	},
+	trinketShotDesc: function(slave) {
+		if (App.Utils.hasPartnerSex(slave) && areRelated(slave, getSlave(slave.relationshipTarget))) {
+			const partner = getSlave(slave.relationshipTarget);
+			return `showing ${getPronouns(slave).him} having fun with ${getPronouns(slave).his} ${relativeTerm(slave, partner)} ${partner.slaveName}`;
+		} else if (App.Utils.hasFamilySex(slave)) {
+			return `showing ${getPronouns(slave).him} having incestuous fun with ${getPronouns(slave).his} family`;
+		} else {
+			return `showing ${getPronouns(slave).him} having incestuous fun with you`;
+		}
+	},
+	valid: function(slave) {
+		return (V.seeIncest !== 0) && (
+			(App.Utils.hasFamilySex(slave)) // has sex with family
+			|| (App.Utils.hasPartnerSex(slave) && areRelated(slave, getSlave(slave.relationshipTarget))) // or with her partner, who is related to her
+			|| (App.Utils.sexAllowed(slave, V.PC) && areRelated(slave, V.PC)) // or with you, and is related to you
+		);
+	},
+	uiName: function() { return capFirstChar(this.fameName); }
+};
+
+/* quirk genres */
+
+App.Porn.Genre.deepThroat = {
+	fameVar: "deepThroat",
+	fameName: "deepthroat",
+	focusName: "gagfuck queen",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed the sounds $he makes when being throatfucked",
+	prestigeDesc2: "$His many fans relish the sounds $he makes when being throatfucked",
+	prestigeDesc3: "Millions are intimately familiar with the sounds $he makes when being throatfucked",
+	hitText: function(slave) { return `${getPronouns(slave).He} impresses with just how much dick can slip down ${getPronouns(slave).his} throat.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} getting facefucked`; },
+	valid: function(slave) { return slave.sexualQuirk === "gagfuck queen"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.struggleFuck = {
+	fameVar: "struggleFuck",
+	fameName: "unwilling",
+	focusName: "strugglefuck queen",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed how $he struggles during sex",
+	prestigeDesc2: "$His many fans relish how perfectly $he struggles during sex",
+	prestigeDesc3: "Millions are intimately familiar with how perfectly $he struggles during sex",
+	hitText: function(slave) { return `${getPronouns(slave).He} impresses with ${getPronouns(slave).his} ability to put up just the right amount of fight during sex.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} struggling`; },
+	valid: function(slave) { return slave.sexualQuirk === "strugglefuck queen" && (canDoVaginal(slave) || canDoAnal(slave)); },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.painal = {
+	fameVar: "painal",
+	fameName: "hardcore anal",
+	focusName: "painal queen",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed watching $his asshole pushed to its limit",
+	prestigeDesc2: "$His many fans relish watching $his asshole pushed to its limit",
+	prestigeDesc3: "Millions are intimately familiar with seeing $his asshole pushed to its limit",
+	hitText: function(slave) { return `${getPronouns(slave).He} impresses with ${getPronouns(slave).his} ability to push ${getPronouns(slave).his} anus to its limit.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} taking an enormous dick up ${getPronouns(slave).his} ass`; },
+	valid: function(slave) { return slave.sexualQuirk === "painal queen" && canDoAnal(slave); },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.tease = {
+	fameVar: "tease",
+	fameName: "softcore",
+	focusName: "tease",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed $his lewd striptease",
+	prestigeDesc2: "$His many fans relish $his lewd striptease",
+	prestigeDesc3: "Millions are intimately familiar with $his lewd striptease",
+	hitText: function(slave) { return `${getPronouns(slave).He} tantalizes viewers with ${getPronouns(slave).his} suggestive moves.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} stripping`; },
+	valid: function(slave) { return slave.sexualQuirk === "tease"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.romantic = {
+	fameVar: "romantic",
+	fameName: "romantic",
+	focusName: "romantic",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed the deep bond $he shares with $his partners",
+	prestigeDesc2: "$His many fans relish the deep bond $he shares with $his partners",
+	prestigeDesc3: "Millions are intimately familiar with the deep bond $he shares with $his partners",
+	hitText: function(slave) { return `${getPronouns(slave).He} draws viewers in with ${getPronouns(slave).his} genuine pleasure.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} sharing an orgasm with ${getPronouns(slave).his} partner`; },
+	valid: function(slave) { return slave.sexualQuirk === "romantic"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.pervert = {
+	fameVar: "pervert",
+	fameName: "really perverted",
+	focusName: "perverted",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed $his most perverted tendencies",
+	prestigeDesc2: "$His many fans relish the depths of $his perversions",
+	prestigeDesc3: "Millions are intimately familiar with the depths of $his perversions",
+	hitText: function(slave) { return `${getPronouns(slave).His} perverted tastes shock and allure viewers in ways they didn't even realize.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} doing something perverted`; }, /* FIXME: really, that's the best we could come up with??? */
+	valid: function(slave) { return slave.sexualQuirk === "perverted"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.caring = {
+	fameVar: "caring",
+	fameName: "voyeur",
+	focusName: "caring",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed watching $him devote $himself to $his partners' pleasure",
+	prestigeDesc2: "$His many fans relish $his devotion to $his partners' pleasure",
+	prestigeDesc3: "Millions are intimately familiar with $his devotion to $his partners' pleasure",
+	hitText: function(slave) { return `${getPronouns(slave).His} sincere devotion to ${getPronouns(slave).his} partner's pleasure draws in viewers with an interest in watching couples fuck.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} bringing ${getPronouns(slave).his} partner to orgasm`; },
+	valid: function(slave) { return slave.sexualQuirk === "caring"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.unflinching = {
+	fameVar: "unflinching",
+	fameName: "unspeakable",
+	focusName: "unflinching",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed $his willingness to do things not repeated in polite company",
+	prestigeDesc2: "$His many fans relish $his willingness to do anything and everything",
+	prestigeDesc3: "Millions are intimately familiar with $his willingness to do things not repeated in polite company",
+	hitText: function(slave) { return `${getPronouns(slave).His} willingness to do anything catches the attention of those who enjoy acts that should never be mentioned to others.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} doing something unmentionable`; },
+	valid: function(slave) { return slave.sexualQuirk === "unflinching"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+App.Porn.Genre.sizeQueen = {
+	fameVar: "sizeQueen",
+	fameName: "huge insertion",
+	focusName: "size queen",
+	type: App.Porn.GenreType.quirk,
+	prestigeDesc1: "Thousands have enjoyed the sight of $his holes filled to their limits",
+	prestigeDesc2: "$His many fans relish the sight of $his holes filled to their limits",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $his holes filled to their limits",
+	hitText: function(slave) { return `${getPronouns(slave).His} intent on taking the largest things possible into ${getPronouns(slave).his} holes draws in viewers with an interest for huge insertions.`; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} belly bulging from within`; },
+	valid: function(slave) { return slave.sexualQuirk === "size queen"; },
+	uiName: function() { return capFirstChar(this.focusName); }
+};
+
+/* Generic porn - leave this entry last */
+
+App.Porn.Genre.general = {
+	fameVar: "general",
+	fameName: "generic",
+	focusName: "porn",
+	type: App.Porn.GenreType.generic,
+	prestigeDesc1: "Thousands have enjoyed the sight of $him being used",
+	prestigeDesc2: "$His many fans relish the sight of $him being used",
+	prestigeDesc3: "Millions are intimately familiar with the sight of $him mid-coitus",
+	hitText: function(slave) { return ``; },
+	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).him} mid-coitus`; },
+	valid: function(slave) { return true; /* anyone can do generic porn */ },
+	uiName: function() { return "Smut is smut"; }
+};
+
+/** Returns a given genre by its fame name. */
+App.Porn.getGenreByFameName = function(fameName) {
+	return _.values(App.Porn.Genre).find((g) => g.fameName === fameName);
+};
+
+/** Returns a given genre by its focus name. */
+App.Porn.getGenreByFocusName = function(focusName) {
+	return _.values(App.Porn.Genre).find((g) => g.focusName === focusName);
+};
+
+/** Returns all the genres in the system. */
+App.Porn.getAllGenres = function() {
+	return _.values(App.Porn.Genre);
+};
+
+/** Returns all the genres with a given type. */
+App.Porn.getGenresByType = function(type) {
+	return _.values(App.Porn.Genre).filter((g) => g.type === type);
+};
+
+/** Returns a string with the pipe-separated SugarCube links necessary to set any valid genre for this slave.
+ * @param {string} page Sugarcube passage name to redirect to when the link is clicked
+ */
+App.Porn.genreChoiceLinks = function(page, slave) {
+	let makeLink = function(genre) { return App.UI.link(genre.uiName(), (s, g) => s.porn.focus = g.focusName, [slave, genre], page); };
+	return this.getAllGenres().filter((g) => g.valid(slave)).map((g) => makeLink(g)).reduce((acc, cur) => `${acc} | ${cur}`);
+};
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 8b75acc9b7e3b678e557da4b38b7516f88844615..b75f8ca517275d3557cc4a6a0ba66265ff9853e2 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1971,7 +1971,17 @@ window.FResult = (function() {
 	return FResult;
 })();
 
-window.slaveCost = (function() {
+window.slaveCost = function slaveCost(slave, isStartingSlave) {
+	const milked = saGetMilked(slave, true);
+	const beauty = slaveCostBeauty(slave, isStartingSlave);
+	if ((milked*52) > beauty && !isStartingSlave) {  // Arbitrarily, let's say their milk worth is what they would make in a year.  Blocking starting slave for now because milk makes so much money, the estimation makes game start impossible.
+		return milked*52;
+	} else {
+		return beauty;
+	}
+};
+
+window.slaveCostBeauty = (function() {
 	"use strict";
 
 	let arcology;
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index c1a801b5599e7f08bfa82d78f19be4be60de6563..0e882b9b451178f19b7f618094283835defc8bf3 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -1310,11 +1310,11 @@ window.massFormat = function(s) {
 		s = 0;
 	}
 	if (s >= 1000) {
-		s = num(Math.trunc(s / 1000));
+		s = Math.trunc(s / 1000);
 		if (s !== 1) {
-			return `${s} tons`;
+			return `${num(s)} tons`;
 		} else {
-			return `${s} ton`;
+			return `${num(s)} ton`;
 		}
 	} else {
 		return `${num(s)} kg`;
diff --git a/src/js/wombJS.js b/src/js/wombJS.js
index 91590888adf4d12b77e6f1be350badc3d6d23aa6..7deafe8bff514725589d8c470236e22de733e9e3 100644
--- a/src/js/wombJS.js
+++ b/src/js/wombJS.js
@@ -156,8 +156,8 @@ window.WombImpregnateClone = function(actor, fCount, mother, motherOriginal, age
 		tf.genetics.mother = mother.mother;
 		tf.genetics.father = mother.father;
 		if (mother.ID === -1) {
-			tf.genetics.motherName = mother.name;
-			tf.genetics.fatherName = mother.name;
+			tf.genetics.motherName = mother.slaveName;
+			tf.genetics.fatherName = mother.slaveName;
 			tf.genetics.clone = PlayerName(mother);
 			tf.genetics.cloneID = -1;
 		} else {
diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js
index f0e3d2c8375e26ab798e58b083b33d951d9033cc..e563ecf15e40aac39dac22bca6210411afb4db58 100644
--- a/src/npc/descriptions/boobs/boobs.js
+++ b/src/npc/descriptions/boobs/boobs.js
@@ -1405,7 +1405,13 @@ App.Desc.boobsExtra = function(slave, pronouns) {
 		if (V.boobAccessibility === 1) {
 			rt = `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`;
 		} else {
-			rt = `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`;
+			rt = `${He}`;
+			if (V.saleDescription === 1) {
+				rt += `'ll have`;
+			} else {
+				rt += ` has`;
+			}
+			rt += ` trouble living in your penthouse, which is not designed for ${girl}s with chests`;
 		}
 		rt += ' wider than a standard doorway.';
 		return rt;
diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js
index 43c337679ae5f1063daa87851bed3985e8b296af..578511a999b7a49ad2853cea82d0114a5b230c50 100644
--- a/src/player/js/PlayerState.js
+++ b/src/player/js/PlayerState.js
@@ -226,78 +226,11 @@ App.Entity.PlayerPornPerformanceState = class {
 		this.fameType = "none";
 		/** what aspect of you is being focused on for porn */
 		this.focus = "none";
-		this.fame = {
-			/** generic porn fame */
-			general: 0,
-			/** Fuckdoll porn fame */
-			fuckdoll: 0,
-			/** rape porn fame */
-			rape: 0,
-			/** preggo porn fame */
-			preggo: 0,
-			/** BBW porn fame */
-			BBW: 0,
-			/** weight gain porn fame */
-			gainer: 0,
-			/** well hung porn fame */
-			stud: 0,
-			/** underage porn fame */
-			loli: 0,
-			/** gagfuck queen porn fame */
-			deepThroat: 0,
-			/** strugglefuck queen porn fame */
-			struggleFuck: 0,
-			/** painal queen porn fame */
-			painal: 0,
-			/** tease porn fame */
-			tease: 0,
-			/** romantic porn fame */
-			romantic: 0,
-			/** pervert porn fame */
-			pervert: 0,
-			/** caring porn fame */
-			caring: 0,
-			/** unflinching porn fame */
-			unflinching: 0,
-			/** size queen porn fame */
-			sizeQueen: 0,
-			/** neglectful porn fame */
-			neglectful: 0,
-			/** cum addict porn fame */
-			cumAddict: 0,
-			/** anal addict porn fame */
-			analAddict: 0,
-			/** attention whore porn fame */
-			attentionWhore: 0,
-			/** breast growth porn fame */
-			breastGrowth: 0,
-			/** abusive porn fame */
-			abusive: 0,
-			/** malicious porn fame */
-			malicious: 0,
-			/** self hating porn fame */
-			selfHating: 0,
-			/** breeder porn fame */
-			breeder: 0,
-			/** submissive porn fame */
-			sub: 0,
-			/** cumslut porn fame */
-			cumSlut: 0,
-			/** buttslut porn fame */
-			anal: 0,
-			/** humiliation porn fame */
-			humiliation: 0,
-			/** boob porn fame */
-			boobs: 0,
-			/** dom porn fame */
-			dom: 0,
-			/** sadist porn fame */
-			sadist: 0,
-			/** masochist porn fame */
-			masochist: 0,
-			/** pregnancy porn fame*/
-			pregnancy: 0
-		};
+		/** your fame in each porn genre */
+		this.fame = { };
+		for (const genre of App.Porn.getAllGenres()) {
+			this.fame[genre.fameVar] = 0;
+		}
 	}
 };
 
diff --git a/src/pregmod/saPorn.tw b/src/pregmod/saPorn.tw
deleted file mode 100644
index b1020a91b1f31acebbe166ac13603b2d5069f601..0000000000000000000000000000000000000000
--- a/src/pregmod/saPorn.tw
+++ /dev/null
@@ -1,2654 +0,0 @@
-:: SA Porn [nobr]
-
-<<if $studio == 1 && $slaves[$i].porn.feed == 1>> /* content is being produced */
-
-	/* rate of decay*/
-	<<if $slaves[$i].porn.prestige > 1>> /* 50k */
-		<<set _decayRate = 5000>>
-		<<if $slaves[$i].fuckdoll > 0>>
-			<<set _face = 50>>
-		<<elseif $slaves[$i].collar == "porcelain mask">>
-			<<set _face = 20>>
-		<<else>>
-			<<set _face = $slaves[$i].face*4>>
-		<</if>>
-		<<set _viewership = ((500/$HackingSkillMultiplier)+($slaves[$i].porn.spending)+(_face)+($slaves[$i].prestige*10)-(_decayRate))>>
-	<<elseif $slaves[$i].porn.prestige > 0>> /* 10k */
-		<<set _decayRate = 500>>
-		<<if $slaves[$i].fuckdoll > 0>>
-			<<set _face = 20>>
-		<<elseif $slaves[$i].collar == "porcelain mask">>
-			<<set _face = 50>>
-		<<else>>
-			<<set _face = $slaves[$i].face*2>>
-		<</if>>
-		<<set _viewership = ((900/$HackingSkillMultiplier)+($slaves[$i].porn.spending/15)+(_face)+($slaves[$i].prestige*250)-(_decayRate))>>
-	<<else>>
-		<<set _decayRate = 30>>
-		<<if $slaves[$i].fuckdoll > 0>>
-			<<set _face = 0>>
-		<<elseif $slaves[$i].collar == "porcelain mask">>
-			<<set _face = 0>>
-		<<else>>
-			<<set _face = $slaves[$i].face/20>>
-		<</if>>
-		<<set _viewership = ((300/$HackingSkillMultiplier)+($slaves[$i].porn.spending > 0 ? ($slaves[$i].porn.spending+($slaves[$i].porn.spending/100)) : 200)+(_face)+($slaves[$i].prestige*20)-(_decayRate))>>
-	<</if>>
-	<<set _viewerSoaking = 1>>
-	<<set _viewership = Math.trunc(_viewership)>>
-	<<set _adjustedViewership = _viewership>>
-	<<set _oldFame = $slaves[$i].porn.viewerCount>>
-
-	The studio regularly releases clips of $his daily affairs.
-
-	<<if $cheatMode == 1>>Decay: _decayRate Viewership: _viewership Last week's fame: _oldFame<</if>>
-
-	<<if $slaves[$i].porn.prestige > 1>>
-		$He is widely regarded in $slaves[$i].porn.fameType porn, but with so many watchers, turn over is high.
-	<<elseif $slaves[$i].porn.prestige > 0>>
-		<<if $slaves[$i].porn.fameType == "generic">>
-			$He has claimed a niche in slave porn, so there is a constant cycle of new arrivals and bored ex-watchers.
-		<<else>>
-			$He has claimed a niche for $himself in $slaves[$i].porn.fameType porn, so there is a constant cycle of new arrivals and bored ex-watchers.
-		<</if>>
-	<<else>>
-		$He is borderline unknown, so $he tends to hold onto what little watchers $he has.
-	<</if>>
-
-	<<if ($slaves[$i].prestige > 1)>>
-		Interest in porn of $him is very high, since $he's already quite prestigious.
-	<<elseif ($slaves[$i].prestige > 0)>>
-		Interest in porn of $him is high, since $he's already prestigious.
-	<</if>>
-
-	<<if $slaves[$i].fuckdoll > 0>>
-	<<elseif $slaves[$i].collar == "porcelain mask">>
-		$His mask adds an air of mystery to $him,
-		<<if $slaves[$i].porn.prestige > 1>>
-			but people wonder if $he is trying to hide something.
-		<<elseif $slaves[$i].porn.prestige > 0>>
-			tantalizing viewers with what it hides.
-		<<else>>
-			but viewers are more interested in $his body.
-		<</if>>
-	<<elseif $slaves[$i].face > 95>>
-		$His unbelievably beautiful face seizes the attention of all who see it.
-	<<elseif $slaves[$i].face > 40>>
-		$His gorgeous face draws viewers in and keeps them watching.
-	<<elseif $slaves[$i].face > 10>>
-		$His pretty face draws viewers in.
-	<<elseif $slaves[$i].face > 0>>
-		$His face is attractive, but it attracts few viewers.
-	<<elseif $slaves[$i].face == 0>>
-		$His face is completely average and makes no difference to $his viewers.
-	<<elseif $slaves[$i].face >= -10>>
-		$His face, while attractive, is so average it turns off some viewers.
-	<<elseif $slaves[$i].face >= -40>>
-		$His unattractive face causes viewers to move on.
-	<<elseif $slaves[$i].face >= -95>>
-		$His ugly face drives viewers off.
-	<<else>>
-		$His face chases off all but the most desperate viewers.
-	<</if>>
-
-	<<if $PC.skill.hacking > 10>>
-		With your hacking skills, you manage to tweak search algorithms to display $his content more often.
-	<<elseif $PC.skill.hacking < 0>>
-		With your lack of skill with computers you manage to misidentify $his content, complicating searches.
-		<<run IncreasePCSkills('hacking', 0.1)>>
-	<</if>>
-	<<run IncreasePCSkills('hacking', 0.1)>>
-
-	/*Paraphilias have the highest take of viewers*/
-	<<if $slaves[$i].sexualFlaw == "neglectful">>
-		<<if $slaves[$i].porn.focus == "neglectful" || $slaves[$i].porn.fameType == "orgasm denial">> /*perhaps split these? */
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.neglectful>>
-		<<set $slaves[$i].porn.fame.neglectful += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarNeglectfuls-1))>>
-		<<set $slaves[$i].porn.fame.neglectful = Math.clamp($slaves[$i].porn.fame.neglectful, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "neglectful" || $slaves[$i].porn.fameType == "orgasm denial">>
-			$His lack of interest in getting off $himself, even when at the verge of climax, makes $him a hit with viewers that enjoy orgasm denial.
-			<<if $slaves[$i].porn.fame.neglectful > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.neglectful < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Neglectful: (_oldPorn) to ($slaves[$i].porn.fame.neglectful).<</if>>
-	<<elseif $slaves[$i].porn.fame.neglectful > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.neglectful>><</if>>
-		<<set $slaves[$i].porn.fame.neglectful = Math.clamp($slaves[$i].porn.fame.neglectful-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Neglectful: (_oldPorn) to ($slaves[$i].porn.fame.neglectful).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "cum addict">>
-		<<if $slaves[$i].porn.focus == "cum addict" || $slaves[$i].porn.fameType == "cum addiction">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.cumAddict>>
-		<<set $slaves[$i].porn.fame.cumAddict += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarCumAddicts-1))>>
-		<<set $slaves[$i].porn.fame.cumAddict = Math.clamp($slaves[$i].porn.fame.cumAddict, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "cum addict" || $slaves[$i].porn.fameType == "bukkake">>
-			$His complete obsession with cum makes $him a hit with viewers that enjoy bukkake and cum drinking.
-			<<if $slaves[$i].porn.fame.cumAddict > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.cumAddict < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Cum Addict: (_oldPorn) to ($slaves[$i].porn.fame.cumAddict).<</if>>
-	<<elseif $slaves[$i].porn.fame.cumAddict > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.cumAddict>><</if>>
-		<<set $slaves[$i].porn.fame.cumAddict = Math.clamp($slaves[$i].porn.fame.cumAddict-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Cum Addict: (_oldPorn) to ($slaves[$i].porn.fame.cumAddict).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "anal addict" && canDoAnal($slaves[$i])>>
-		<<if $slaves[$i].porn.focus == "anal addict" || $slaves[$i].porn.fameType == "anal addiction">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.analAddict>>
-		<<set $slaves[$i].porn.fame.analAddict += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarAnalAddicts-1))>>
-		<<set $slaves[$i].porn.fame.analAddict = Math.clamp($slaves[$i].porn.fame.analAddict, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].sexualFlaw == "anal addict" || $slaves[$i].porn.fameType == "anal addiction">>
-			$His complete obsession with taking things up $his ass makes $him a hit with viewers that enjoy hardcore anal.
-			<<if $slaves[$i].porn.fame.analAddict > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.analAddict < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Anal Addict: (_oldPorn) to ($slaves[$i].porn.fame.analAddict).<</if>>
-	<<elseif $slaves[$i].porn.fame.analAddict > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.analAddict>><</if>>
-		<<set $slaves[$i].porn.fame.analAddict = Math.clamp($slaves[$i].porn.fame.analAddict-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Anal Addict: (_oldPorn) to ($slaves[$i].porn.fame.analAddict).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "attention whore">>
-		<<if $slaves[$i].porn.focus == "attention whore" || $slaves[$i].porn.fameType == "exhibition">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.attentionWhore>>
-		<<set $slaves[$i].porn.fame.attentionWhore += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarAttentionWhores-1))>>
-		<<set $slaves[$i].porn.fame.attentionWhore = Math.clamp($slaves[$i].porn.fame.attentionWhore, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "attention whore" || $slaves[$i].porn.fameType == "exhibition">>
-			$His complete obsession with being the center of attention makes $him a hit with viewers that savor $his frequent exhibitionism.
-			<<if $slaves[$i].porn.fame.attentionWhore > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.attentionWhore < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Attention Whore: (_oldPorn) to ($slaves[$i].porn.fame.attentionWhore).<</if>>
-	<<elseif $slaves[$i].porn.fame.attentionWhore > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.attentionWhore>><</if>>
-		<<set $slaves[$i].porn.fame.attentionWhore = Math.clamp($slaves[$i].porn.fame.attentionWhore-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Attention Whore: (_oldPorn) to ($slaves[$i].porn.fame.attentionWhore).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "breast growth">>
-		<<if $slaves[$i].porn.focus == "breast growth" || $slaves[$i].porn.fameType == "breast expansion">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.breastGrowth>>
-		<<set $slaves[$i].porn.fame.breastGrowth += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarBreastGrowths-1))>>
-		<<set $slaves[$i].porn.fame.breastGrowth = Math.clamp($slaves[$i].porn.fame.breastGrowth, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "breast growth" || $slaves[$i].porn.fameType == "breast expansion">>
-			$His complete obsession with the ever increasing size of $his tits makes $him a hit with viewers that enjoy enormous knockers and breast expansion.
-			<<if $slaves[$i].porn.fame.breastGrowth > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.breastGrowth < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Breast Growth: (_oldPorn) to ($slaves[$i].porn.fame.breastGrowth).<</if>>
-	<<elseif $slaves[$i].porn.fame.breastGrowth > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.breastGrowth>><</if>>
-		<<set $slaves[$i].porn.fame.breastGrowth = Math.clamp($slaves[$i].porn.fame.breastGrowth-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Breast Growth: (_oldPorn) to ($slaves[$i].porn.fame.breastGrowth).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "abusive">>
-		<<if $slaves[$i].porn.focus == "abusive" || $slaves[$i].porn.fameType == "abuse">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.abusive>>
-		<<set $slaves[$i].porn.fame.abusive += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarAbusives-1))>>
-		<<set $slaves[$i].porn.fame.abusive = Math.clamp($slaves[$i].porn.fame.abusive, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "abusive" || $slaves[$i].porn.fameType == "abuse">>
-			$His wanton enjoyment of pleasure through force amuses viewers that enjoy rape and abuse.
-			<<if $slaves[$i].porn.fame.abusive > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.abusive < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Abusive: (_oldPorn) to ($slaves[$i].porn.fame.abusive).<</if>>
-	<<elseif $slaves[$i].porn.fame.abusive > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.abusive>><</if>>
-		<<set $slaves[$i].porn.fame.abusive = Math.clamp($slaves[$i].porn.fame.abusive-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Abusive: (_oldPorn) to ($slaves[$i].porn.fame.abusive).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "malicious">>
-		<<if $slaves[$i].porn.focus == "malicious" || $slaves[$i].porn.fameType == "sexual torture">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.malicious>>
-		<<set $slaves[$i].porn.fame.malicious += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarMalicious-1))>>
-		<<set $slaves[$i].porn.fame.malicious = Math.clamp($slaves[$i].porn.fame.malicious, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "malicious" || $slaves[$i].porn.fameType == "sexual torture">>
-			$His sexual appetite of others' suffering makes $him a hit with viewers that enjoy sadism and violence.
-			<<if $slaves[$i].porn.fame.malicious > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.malicious < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Malicious: (_oldPorn) to ($slaves[$i].porn.fame.malicious).<</if>>
-	<<elseif $slaves[$i].porn.fame.malicious > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.malicious>><</if>>
-		<<set $slaves[$i].porn.fame.malicious = Math.clamp($slaves[$i].porn.fame.malicious-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Malicious: (_oldPorn) to ($slaves[$i].porn.fame.malicious).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "self hating">>
-		<<if $slaves[$i].porn.focus == "self hating" || $slaves[$i].porn.fameType == "self hating">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.selfHating>>
-		<<set $slaves[$i].porn.fame.selfHating += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarSelfHatings-1))>>
-		<<set $slaves[$i].porn.fame.selfHating = Math.clamp($slaves[$i].porn.fame.selfHating, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "self hating" || $slaves[$i].porn.fameType == "self hating">>
-			$His complete disregard for $his own wellbeing makes $him a hit with viewers that enjoy watching $him suffer.
-			<<if $slaves[$i].porn.fame.selfHating > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.selfHating < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Self Hating: (_oldPorn) to ($slaves[$i].porn.fame.selfHating).<</if>>
-	<<elseif $slaves[$i].porn.fame.selfHating > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.selfHating>><</if>>
-		<<set $slaves[$i].porn.fame.selfHating = Math.clamp($slaves[$i].porn.fame.selfHating-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Self Hating: (_oldPorn) to ($slaves[$i].porn.fame.selfHating).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualFlaw == "breeder">>
-		<<if $slaves[$i].porn.focus == "breeder" || $slaves[$i].porn.fameType == "breeder">>
-			<<set _adjustedViewership = _viewership*1.5>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.breeder>>
-		<<set $slaves[$i].porn.fame.breeder += _adjustedViewership+($slaves[$i].fetishStrength*2)-((_decayRate/10)*($pornStarBreeders-1))>>
-		<<set $slaves[$i].porn.fame.breeder = Math.clamp($slaves[$i].porn.fame.breeder, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "breeder" || $slaves[$i].porn.fameType == "breeder">>
-			$His complete obsession with getting and staying pregnant makes $him a hit with viewers with all manner of pregnancy fetish, but particularly resonates with those as focused on it as $he is.
-			<<if $slaves[$i].porn.fame.breeder > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.breeder < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Breeder: (_oldPorn) to ($slaves[$i].porn.fame.breeder).<</if>>
-	<<elseif $slaves[$i].porn.fame.breeder > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.breeder>><</if>>
-		<<set $slaves[$i].porn.fame.breeder = Math.clamp($slaves[$i].porn.fame.breeder-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Breeder: (_oldPorn) to ($slaves[$i].porn.fame.breeder).<</if>>
-	<</if>>
-
-	/*fetish*/
-	<<if $slaves[$i].fetish == "submissive">>
-		<<if $slaves[$i].porn.focus == "submissive" || $slaves[$i].porn.fameType == "submissive">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.sub>>
-		<<set $slaves[$i].porn.fame.sub += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarSubs-1))>>
-		<<set $slaves[$i].porn.fame.sub = Math.clamp($slaves[$i].porn.fame.sub, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "submissive" || $slaves[$i].porn.fameType == "submissive">>
-			With $his submissive streak, $he has a clear advantage when it comes to fetish smut.
-			<<if $slaves[$i].porn.fame.sub > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.sub < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Submissive: (_oldPorn) to ($slaves[$i].porn.fame.sub).<</if>>
-	<<elseif $slaves[$i].porn.fame.sub > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sub>><</if>>
-		<<set $slaves[$i].porn.fame.sub = Math.clamp($slaves[$i].porn.fame.sub-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Submissive: (_oldPorn) to ($slaves[$i].porn.fame.sub).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "cumslut">>
-		<<if $slaves[$i].porn.focus == "cumslut" || $slaves[$i].porn.fameType == "cum">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.cumSlut>>
-		<<set $slaves[$i].porn.fame.cumSlut += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarCumSluts-1))>>
-		<<set $slaves[$i].porn.fame.cumSlut = Math.clamp($slaves[$i].porn.fame.cumSlut, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "cumslut" || $slaves[$i].porn.fameType == "cum">>
-			With $his taste for cum, $he has a clear advantage when it comes to ejaculate-based smut.
-			<<if $slaves[$i].porn.fame.cumSlut > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.cumSlut < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Cumslut: (_oldPorn) to ($slaves[$i].porn.fame.cumSlut).<</if>>
-	<<elseif $slaves[$i].porn.fame.cumSlut > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.cumSlut>><</if>>
-		<<set $slaves[$i].porn.fame.cumSlut = Math.clamp($slaves[$i].porn.fame.cumSlut-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Cumslut: (_oldPorn) to ($slaves[$i].porn.fame.cumSlut).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "buttslut">>
-		<<if $slaves[$i].porn.focus == "buttslut" || $slaves[$i].porn.fameType == "buttslut">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.anal>>
-		<<set $slaves[$i].porn.fame.anal += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarAnals-1))>>
-		<<set $slaves[$i].porn.fame.anal = Math.clamp($slaves[$i].porn.fame.anal, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "buttslut" || $slaves[$i].porn.fameType == "buttslut">>
-			With $his fetish for asses, $he finds in the company of viewers that love rear ends.
-			<<if $slaves[$i].porn.fame.anal > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.anal < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Buttslut: (_oldPorn) to ($slaves[$i].porn.fame.anal).<</if>>
-	<<elseif $slaves[$i].porn.fame.anal > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.anal>><</if>>
-		<<set $slaves[$i].porn.fame.anal = Math.clamp($slaves[$i].porn.fame.anal-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>(_oldPorn) to ($slaves[$i].porn.fame.anal).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "humiliation">>
-		<<if $slaves[$i].porn.focus == "humiliation" || $slaves[$i].porn.fameType == "humiliating">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.humiliation>>
-		<<set $slaves[$i].porn.fame.humiliation += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarHumiliations-1))>>
-		<<set $slaves[$i].porn.fame.humiliation = Math.clamp($slaves[$i].porn.fame.humiliation, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "humiliation" || $slaves[$i].porn.fameType == "humiliating">>
-			With $his fetish for humiliation, $he has a clear advantage when it comes to demeaning smut.
-			<<if $slaves[$i].porn.fame.humiliation > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.humiliation < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Humiliation: (_oldPorn) to ($slaves[$i].porn.fame.humiliation).<</if>>
-	<<elseif $slaves[$i].porn.fame.humiliation > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.humiliation>><</if>>
-		<<set $slaves[$i].porn.fame.humiliation = Math.clamp($slaves[$i].porn.fame.humiliation-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Humiliation: (_oldPorn) to ($slaves[$i].porn.fame.humiliation).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "boobs">>
-		<<if $slaves[$i].porn.focus == "boobs" || $slaves[$i].porn.fameType == "breast">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.boobs>>
-		<<set $slaves[$i].porn.fame.boobs += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarBoobs-1))>>
-		<<set $slaves[$i].porn.fame.boobs = Math.clamp($slaves[$i].porn.fame.boobs, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "boobs" || $slaves[$i].porn.fameType == "breast">>
-			With $his fetish for tits, $he has a clear advantage when it comes to breast focused smut.
-			<<if $slaves[$i].porn.fame.boobs > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.boobs < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Boobs: (_oldPorn) to ($slaves[$i].porn.fame.boobs).<</if>>
-	<<elseif $slaves[$i].porn.fame.boobs > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.boobs>><</if>>
-		<<set $slaves[$i].porn.fame.boobs = Math.clamp($slaves[$i].porn.fame.boobs-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Boobs: (_oldPorn) to ($slaves[$i].porn.fame.boobs).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "dom">>
-		<<if $slaves[$i].porn.focus == "dom" || $slaves[$i].porn.fameType == "dominant">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.dom>>
-		<<set $slaves[$i].porn.fame.dom += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarDoms-1))>>
-		<<set $slaves[$i].porn.fame.dom = Math.clamp($slaves[$i].porn.fame.dom, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "dom" || $slaves[$i].porn.fameType == "dominant">>
-			With $his dominant streak, $he has a clear advantage when it comes to fetish smut.
-			<<if $slaves[$i].porn.fame.dom > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.dom < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Dom: (_oldPorn) to ($slaves[$i].porn.fame.dom).<</if>>
-	<<elseif $slaves[$i].porn.fame.dom > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.dom>><</if>>
-		<<set $slaves[$i].porn.fame.dom = Math.clamp($slaves[$i].porn.fame.dom-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Dom: (_oldPorn) to ($slaves[$i].porn.fame.dom).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "sadist">>
-		<<if $slaves[$i].porn.focus == "sadist" || $slaves[$i].porn.fameType == "sadistic">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.sadist>>
-		<<set $slaves[$i].porn.fame.sadist += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarSadists-1))>>
-		<<set $slaves[$i].porn.fame.sadist = Math.clamp($slaves[$i].porn.fame.sadist, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "sadist" || $slaves[$i].porn.fameType == "sadistic">>
-			With $his sadistic streak, $he has a clear advantage when it comes to fetish smut.
-			<<if $slaves[$i].porn.fame.sadist > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.sadist < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Sadist: (_oldPorn) to ($slaves[$i].porn.fame.sadist).<</if>>
-	<<elseif $slaves[$i].porn.fame.sadist > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sadist>><</if>>
-		<<set $slaves[$i].porn.fame.sadist = Math.clamp($slaves[$i].porn.fame.sadist-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Sadist: (_oldPorn) to ($slaves[$i].porn.fame.sadist).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "masochist">>
-		<<if $slaves[$i].porn.focus == "masochist" || $slaves[$i].porn.fameType == "masochistic">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.masochist>>
-		<<set $slaves[$i].porn.fame.masochist += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarMasochists-1))>>
-		<<set $slaves[$i].porn.fame.masochist = Math.clamp($slaves[$i].porn.fame.masochist, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "masochist" || $slaves[$i].porn.fameType == "masochistic">>
-			With $his masochistic streak, $he has a clear advantage when it comes to fetish smut.
-			<<if $slaves[$i].porn.fame.masochist > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.masochist < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Masochist: (_oldPorn) to ($slaves[$i].porn.fame.masochist).<</if>>
-	<<elseif $slaves[$i].porn.fame.masochist > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.masochist>><</if>>
-		<<set $slaves[$i].porn.fame.masochist = Math.clamp($slaves[$i].porn.fame.masochist-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Masochist: (_oldPorn) to ($slaves[$i].porn.fame.masochist).<</if>>
-	<</if>>
-	<<if $slaves[$i].fetish == "pregnancy">>
-		<<if $slaves[$i].porn.focus == "pregnancy" || $slaves[$i].porn.fameType == "pregnancy fetish">>
-			<<set _adjustedViewership = _viewership*2.0>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.pregnancy>>
-		<<set $slaves[$i].porn.fame.pregnancy += (_adjustedViewership/_viewerSoaking)+($slaves[$i].fetishStrength)-((_decayRate/10)*($pornStarPregnancySluts-1))>>
-		<<set $slaves[$i].porn.fame.pregnancy = Math.clamp($slaves[$i].porn.fame.pregnancy, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "pregnancy" || $slaves[$i].porn.fameType == "pregnancy fetish">>
-			With $his fetish for all things pregnancy, $he has a clear advantage when it comes to fetish smut.
-			<<if $slaves[$i].porn.fame.pregnancy > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.pregnancy < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Pregnancy: (_oldPorn) to ($slaves[$i].porn.fame.pregnancy).<</if>>
-	<<elseif $slaves[$i].porn.fame.pregnancy > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.pregnancy>><</if>>
-		<<set $slaves[$i].porn.fame.pregnancy = Math.clamp($slaves[$i].porn.fame.pregnancy-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Pregnancy: (_oldPorn) to ($slaves[$i].porn.fame.pregnancy).<</if>>
-	<</if>>
-
-	/*General*/
-
-	<<if $slaves[$i].fuckdoll > 0>>
-		<<if $slaves[$i].porn.focus == "fuckdoll" || $slaves[$i].porn.fameType == "fuckdoll">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.fuckdoll>>
-		<<set $slaves[$i].porn.fame.fuckdoll += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarFuckdolls-1))>>
-		<<set $slaves[$i].porn.fame.fuckdoll = Math.clamp($slaves[$i].porn.fame.fuckdoll, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "fuckdoll" || $slaves[$i].porn.fameType == "fuckdoll">>
-			$His latex encased body attracts a variety of viewers with tastes ranging from bondage to dolls.
-			<<if $slaves[$i].porn.fame.fuckdoll > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.fuckdoll < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Fuckdoll: (_oldPorn) to ($slaves[$i].porn.fame.fuckdoll).<</if>>
-	<<elseif $slaves[$i].porn.fame.fuckdoll > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.fuckdoll>><</if>>
-		<<set $slaves[$i].porn.fame.fuckdoll = Math.clamp($slaves[$i].porn.fame.fuckdoll-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Fuckdoll: (_oldPorn) to ($slaves[$i].porn.fame.fuckdoll).<</if>>
-	<</if>>
-	<<if ($slaves[$i].devotion < -20) && ($slaves[$i].counter.anal + $slaves[$i].counter.vaginal > 0)>>
-		<<if $slaves[$i].porn.focus == "rape" || $slaves[$i].porn.fameType == "rape">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.rape>>
-		<<set $slaves[$i].porn.fame.rape += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarRapees-1))>>
-		<<set $slaves[$i].porn.fame.rape = Math.clamp($slaves[$i].porn.fame.rape, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "rape" || $slaves[$i].porn.fameType == "rape">>
-			$He is too unbroken for consensual sex, but $his viewers wouldn't want it any other way.
-			<<if $slaves[$i].porn.fame.rape > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.rape < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Rape: (_oldPorn) to ($slaves[$i].porn.fame.rape).<</if>>
-	<<elseif $slaves[$i].porn.fame.rape > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.rape>><</if>>
-		<<set $slaves[$i].porn.fame.rape = Math.clamp($slaves[$i].porn.fame.rape-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Rape: (_oldPorn) to ($slaves[$i].porn.fame.rape).<</if>>
-	<</if>>
-	<<if $slaves[$i].bellyPreg > 500>>
-		<<if $slaves[$i].porn.focus == "preggo" || $slaves[$i].porn.fameType == "preggo">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.preggo>>
-		<<set $slaves[$i].porn.fame.preggo += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarPreggos-1))>>
-		<<set $slaves[$i].porn.fame.preggo = Math.clamp($slaves[$i].porn.fame.preggo, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "preggo" || $slaves[$i].porn.fameType == "preggo">>
-			$His gravid swell may be a turn off to some, but the maiesiophiliacs love it.
-			<<if $slaves[$i].porn.fame.preggo > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.preggo < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Preggo: (_oldPorn) to ($slaves[$i].porn.fame.preggo).<</if>>
-	<<elseif $slaves[$i].porn.fame.preggo > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.preggo>><</if>>
-		<<set $slaves[$i].porn.fame.preggo = Math.clamp($slaves[$i].porn.fame.preggo-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Preggo: (_oldPorn) to ($slaves[$i].porn.fame.preggo).<</if>>
-	<</if>>
-	<<if $slaves[$i].weight > 95>>
-		<<if $slaves[$i].porn.focus == "BBW" || $slaves[$i].porn.fameType == "BBW">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.BBW>>
-		<<set $slaves[$i].porn.fame.BBW += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarBBWs-1))>>
-		<<set $slaves[$i].porn.fame.BBW = Math.clamp($slaves[$i].porn.fame.BBW, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "BBW" || $slaves[$i].porn.fameType == "BBW">>
-			$His weight gives $him a heavy allure to the chubby chasers and BBW lovers out there.
-			<<if $slaves[$i].porn.fame.BBW > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.BBW < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>BBW: (_oldPorn) to ($slaves[$i].porn.fame.BBW).<</if>>
-	<<elseif $slaves[$i].porn.fame.BBW > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.BBW>><</if>>
-		<<set $slaves[$i].porn.fame.BBW = Math.clamp($slaves[$i].porn.fame.BBW-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>BBW: (_oldPorn) to ($slaves[$i].porn.fame.BBW).<</if>>
-	<</if>>
-	<<if $slaves[$i].visualAge <= 12>>
-		<<if $slaves[$i].porn.focus == "loli" || $slaves[$i].porn.fameType == "underage">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.loli>>
-		<<set $slaves[$i].porn.fame.loli += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarLolis-1))>>
-		<<set $slaves[$i].porn.fame.loli = Math.clamp($slaves[$i].porn.fame.loli, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "loli" || $slaves[$i].porn.fameType == "underage">>
-			$His young age gives $him a dangerous edge and a number of careful viewers.
-			<<if $slaves[$i].porn.fame.loli > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.loli < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Loli: (_oldPorn) to ($slaves[$i].porn.fame.loli).<</if>>
-	<<elseif $slaves[$i].porn.fame.loli > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.loli>><</if>>
-		<<set $slaves[$i].porn.fame.loli = Math.clamp($slaves[$i].porn.fame.loli-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Loli: (_oldPorn) to ($slaves[$i].porn.fame.loli).<</if>>
-	<</if>>
-	<<if ($slaves[$i].weight > 30 && $slaves[$i].diet == "fattening") || ($slaves[$i].inflation > 0 && $slaves[$i].inflationType == "food")>>
-		<<if $slaves[$i].porn.focus == "gainer" || $slaves[$i].porn.fameType == "weight gain">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.gainer>>
-		<<set $slaves[$i].porn.fame.gainer += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarGainers-1))>>
-		<<set $slaves[$i].porn.fame.gainer = Math.clamp($slaves[$i].porn.fame.gainer, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "gainer" || $slaves[$i].porn.fameType == "weight gain">>
-			$His expanding waistline attracts those who enjoy seeing a $girl pack on the pounds while stuffing $his face.
-			<<if $slaves[$i].porn.fame.gainer > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.gainer < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Gainer: (_oldPorn) to ($slaves[$i].porn.fame.gainer).<</if>>
-	<<elseif $slaves[$i].porn.fame.gainer > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.gainer>><</if>>
-		<<set $slaves[$i].porn.fame.gainer = Math.clamp($slaves[$i].porn.fame.gainer-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Gainer: (_oldPorn) to ($slaves[$i].porn.fame.gainer).<</if>>
-	<</if>>
-	<<if canPenetrate($slaves[$i]) && $slaves[$i].dick > 3>>
-		<<if $slaves[$i].porn.focus == "stud" || $slaves[$i].porn.fameType == "big dick">>
-			<<set _adjustedViewership = _viewership*4>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.stud>>
-		<<set $slaves[$i].porn.fame.stud += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarStuds-1))>>
-		<<set $slaves[$i].porn.fame.stud = Math.clamp($slaves[$i].porn.fame.stud, 0, 150000)>>
-		<<set _viewerSoaking++>>
-
-		<<if $slaves[$i].porn.focus == "stud" || $slaves[$i].porn.fameType == "big dick">>
-			$His powerful erection excites those who see it, especially when it is put to good use.
-			<<if $slaves[$i].porn.fame.stud > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.stud < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Big Dick: (_oldPorn) to ($slaves[$i].porn.fame.stud).<</if>>
-	<<elseif $slaves[$i].porn.fame.stud > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.stud>><</if>>
-		<<set $slaves[$i].porn.fame.stud = Math.clamp($slaves[$i].porn.fame.stud-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Big Dick: (_oldPorn) to ($slaves[$i].porn.fame.stud).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.focus == "porn" || $slaves[$i].porn.fameType == "generic">>
-		<<set _adjustedViewership = _viewership*5>>
-	<<else>>
-		<<set _adjustedViewership = _viewership>>
-	<</if>>
-	<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.general>><</if>>
-	<<set $slaves[$i].porn.fame.general += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStars-1))>>
-	<<set $slaves[$i].porn.fame.general = Math.clamp($slaves[$i].porn.fame.general, 0, 150000)>>
-	<<if $cheatMode == 1>>General: (_oldPorn) to ($slaves[$i].porn.fame.general).<</if>>
-
-	/*Quirks are low and unlikely, requiring focus to push into the limelight*/
-	<<if $slaves[$i].sexualQuirk == "gagfuck queen">>
-		<<if $slaves[$i].porn.focus == "gagfuck queen" || $slaves[$i].porn.fameType == "deepthroat">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.deepThroat>>
-		<<set $slaves[$i].porn.fame.deepThroat += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarDeepThroats-1))>>
-		<<set $slaves[$i].porn.fame.deepThroat = Math.clamp($slaves[$i].porn.fame.deepThroat, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "gagfuck queen" || $slaves[$i].porn.fameType == "deepthroat">>
-			$He impresses with just how much dick can slip down $his throat.
-			<<if $slaves[$i].porn.fame.deepThroat > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.deepThroat < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Gagfuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.deepThroat).<</if>>
-	<<elseif $slaves[$i].porn.fame.deepThroat > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.deepThroat>><</if>>
-		<<set $slaves[$i].porn.fame.deepThroat = Math.clamp($slaves[$i].porn.fame.deepThroat-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Gagfuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.deepThroat).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "strugglefuck queen" && (canDoVaginal($slaves[$i]) || canDoAnal($slaves[$i]))>>
-		<<if $slaves[$i].porn.focus == "strugglefuck queen" || $slaves[$i].porn.fameType == "unwilling">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.struggleFuck>>
-		<<set $slaves[$i].porn.fame.struggleFuck += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarStruggleFucks-1))>>
-		<<set $slaves[$i].porn.fame.struggleFuck = Math.clamp($slaves[$i].porn.fame.struggleFuck, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "strugglefuck queen" || $slaves[$i].porn.fameType == "unwilling">>
-			$He impresses with $his ability to put up just the right amount of fight during sex.
-			<<if $slaves[$i].porn.fame.struggleFuck > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.struggleFuck < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Strugglefuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.struggleFuck).<</if>>
-	<<elseif $slaves[$i].porn.fame.struggleFuck > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.struggleFuck>><</if>>
-		<<set $slaves[$i].porn.fame.struggleFuck = Math.clamp($slaves[$i].porn.fame.struggleFuck-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Strugglefuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.struggleFuck).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "painal queen" && canDoAnal($slaves[$i])>>
-		<<if $slaves[$i].porn.focus == "painal queen" || $slaves[$i].porn.fameType == "hardcore anal">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.painal>>
-		<<set $slaves[$i].porn.fame.painal += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarPainals-1))>>
-		<<set $slaves[$i].porn.fame.painal = Math.clamp($slaves[$i].porn.fame.painal, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "painal queen" || $slaves[$i].porn.fameType == "hardcore anal">>
-			$He impresses with $his ability to push $his anus to its limit.
-			<<if $slaves[$i].porn.fame.painal > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.painal < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Painal Queen: (_oldPorn) to ($slaves[$i].porn.fame.painal).<</if>>
-	<<elseif $slaves[$i].porn.fame.painal > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.painal>><</if>>
-		<<set $slaves[$i].porn.fame.painal = Math.clamp($slaves[$i].porn.fame.painal-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Strugglefuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.painal).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "tease">>
-		<<if $slaves[$i].porn.focus == "tease" || $slaves[$i].porn.fameType == "softcore">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.tease>>
-		<<set $slaves[$i].porn.fame.tease += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarTeases-1))>>
-		<<set $slaves[$i].porn.fame.tease = Math.clamp($slaves[$i].porn.fame.tease, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "tease" || $slaves[$i].porn.fameType == "softcore">>
-			$He tantalizes viewers with $his suggestive moves.
-			<<if $slaves[$i].porn.fame.tease > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.tease < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Tease: (_oldPorn) to ($slaves[$i].porn.fame.tease).<</if>>
-	<<elseif $slaves[$i].porn.fame.tease > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.tease>><</if>>
-		<<set $slaves[$i].porn.fame.tease = Math.clamp($slaves[$i].porn.fame.tease-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Tease: (_oldPorn) to ($slaves[$i].porn.fame.tease).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "romantic">>
-		<<if $slaves[$i].porn.focus == "romantic" || $slaves[$i].porn.fameType == "romantic">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.romantic>>
-		<<set $slaves[$i].porn.fame.romantic += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarRomantics-1))>>
-		<<set $slaves[$i].porn.fame.romantic = Math.clamp($slaves[$i].porn.fame.romantic, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "romantic" || $slaves[$i].porn.fameType == "romantic">>
-			$He draws viewers in with $his genuine pleasure.
-			<<if $slaves[$i].porn.fame.romantic > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.romantic < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Romantic: (_oldPorn) to ($slaves[$i].porn.fame.romantic).<</if>>
-	<<elseif $slaves[$i].porn.fame.romantic > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.romantic>><</if>>
-		<<set $slaves[$i].porn.fame.romantic = Math.clamp($slaves[$i].porn.fame.romantic-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Romantic: (_oldPorn) to ($slaves[$i].porn.fame.romantic).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "perverted">>
-		<<if $slaves[$i].porn.focus == "perverted" || $slaves[$i].porn.fameType == "really perverted">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.pervert>>
-		<<set $slaves[$i].porn.fame.pervert += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarPerverts-1))>>
-		<<set $slaves[$i].porn.fame.pervert = Math.clamp($slaves[$i].porn.fame.pervert, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "perverted" || $slaves[$i].porn.fameType == "really perverted">>
-			$His perverted tastes shock and allure viewers in ways they didn't even realize.
-			<<if $slaves[$i].porn.fame.pervert > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.pervert < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Perverted: (_oldPorn) to ($slaves[$i].porn.fame.pervert).<</if>>
-	<<elseif $slaves[$i].porn.fame.pervert > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.pervert>><</if>>
-		<<set $slaves[$i].porn.fame.pervert = Math.clamp($slaves[$i].porn.fame.pervert-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Perverted: (_oldPorn) to ($slaves[$i].porn.fame.pervert).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "caring">>
-		<<if $slaves[$i].porn.focus == "caring" || $slaves[$i].porn.fameType == "voyeur">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.caring>>
-		<<set $slaves[$i].porn.fame.caring += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarCarings-1))>>
-		<<set $slaves[$i].porn.fame.caring = Math.clamp($slaves[$i].porn.fame.caring, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "caring" || $slaves[$i].porn.fameType == "voyeur">>
-			$His sincere devotion to $his partner's pleasure draws in viewers with an interest in watching couples fuck.
-			<<if $slaves[$i].porn.fame.caring > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.caring < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Caring: (_oldPorn) to ($slaves[$i].porn.fame.caring).<</if>>
-	<<elseif $slaves[$i].porn.fame.caring > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.caring>><</if>>
-		<<set $slaves[$i].porn.fame.caring = Math.clamp($slaves[$i].porn.fame.caring-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Caring: (_oldPorn) to ($slaves[$i].porn.fame.caring).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "unflinching">>
-		<<if $slaves[$i].porn.focus == "unflinching" || $slaves[$i].porn.fameType == "unspeakable">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.unflinching>>
-		<<set $slaves[$i].porn.fame.unflinching += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarUnflinchings-1))>>
-		<<set $slaves[$i].porn.fame.unflinching = Math.clamp($slaves[$i].porn.fame.unflinching, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "unflinching" || $slaves[$i].porn.fameType == "unspeakable">>
-			$His willingness to do anything catches the attention of those who enjoy acts that should never be mentioned to others.
-			<<if $slaves[$i].porn.fame.unflinching > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.unflinching < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Unflinching: (_oldPorn) to ($slaves[$i].porn.fame.unflinching).<</if>>
-	<<elseif $slaves[$i].porn.fame.unflinching > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.unflinching>><</if>>
-		<<set $slaves[$i].porn.fame.unflinching = Math.clamp($slaves[$i].porn.fame.unflinching-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Unflinching: (_oldPorn) to ($slaves[$i].porn.fame.unflinching).<</if>>
-	<</if>>
-	<<if $slaves[$i].sexualQuirk == "size queen">>
-		<<if $slaves[$i].porn.focus == "size queen" || $slaves[$i].porn.fameType == "huge insertion">>
-			<<set _adjustedViewership = _viewership*6>>
-		<<elseif $slaves[$i].porn.focus != "none">>
-			<<set _adjustedViewership = _viewership*.5>>
-		<</if>>
-		<<set _oldPorn = $slaves[$i].porn.fame.sizeQueen>>
-		<<set $slaves[$i].porn.fame.sizeQueen += (_adjustedViewership/_viewerSoaking)-((_decayRate/10)*($pornStarSizeQueens-1))>>
-		<<set $slaves[$i].porn.fame.sizeQueen = Math.clamp($slaves[$i].porn.fame.sizeQueen, 0, 150000)>>
-
-		<<if $slaves[$i].porn.focus == "size queen" || $slaves[$i].porn.fameType == "huge insertion">>
-			$His intent on taking the largest things possible into $his holes draws in viewers with an interest for huge insertions.
-			<<if $slaves[$i].porn.fame.sizeQueen > _oldPorn>>
-				Viewership @@.green;increased@@ this week.
-			<<elseif $slaves[$i].porn.fame.sizeQueen < _oldPorn>>
-				Viewership @@.red;declined@@ this week.
-			<<else>>
-				Viewership @@.yellow;was stable@@ this week.
-			<</if>>
-		<</if>>
-		<<if $cheatMode == 1>>Size Queen: (_oldPorn) to ($slaves[$i].porn.fame.sizeQueen).<</if>>
-	<<elseif $slaves[$i].porn.fame.sizeQueen > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sizeQueen>><</if>>
-		<<set $slaves[$i].porn.fame.sizeQueen = Math.clamp($slaves[$i].porn.fame.sizeQueen-(_decayRate*2), 0, 150000)>>
-		<<if $cheatMode == 1>>Size Queen: (_oldPorn) to ($slaves[$i].porn.fame.sizeQueen).<</if>>
-	<</if>>
-
-	<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.general + $slaves[$i].porn.fame.fuckdoll + $slaves[$i].porn.fame.rape + $slaves[$i].porn.fame.preggo + $slaves[$i].porn.fame.BBW + $slaves[$i].porn.fame.gainer + $slaves[$i].porn.fame.stud + $slaves[$i].porn.fame.loli + $slaves[$i].porn.fame.deepThroat + $slaves[$i].porn.fame.struggleFuck + $slaves[$i].porn.fame.painal + $slaves[$i].porn.fame.tease + $slaves[$i].porn.fame.romantic + $slaves[$i].porn.fame.pervert + $slaves[$i].porn.fame.caring + $slaves[$i].porn.fame.unflinching + $slaves[$i].porn.fame.sizeQueen + $slaves[$i].porn.fame.neglectful + $slaves[$i].porn.fame.cumAddict + $slaves[$i].porn.fame.analAddict + $slaves[$i].porn.fame.attentionWhore + $slaves[$i].porn.fame.breastGrowth + $slaves[$i].porn.fame.abusive + $slaves[$i].porn.fame.malicious + $slaves[$i].porn.fame.selfHating + $slaves[$i].porn.fame.breeder + $slaves[$i].porn.fame.sub + $slaves[$i].porn.fame.cumSlut + $slaves[$i].porn.fame.anal + $slaves[$i].porn.fame.humiliation + $slaves[$i].porn.fame.boobs + $slaves[$i].porn.fame.dom + $slaves[$i].porn.fame.sadist + $slaves[$i].porn.fame.masochist + $slaves[$i].porn.fame.pregnancy>>
-	<<set $slaves[$i].porn.viewerCount = Math.trunc($slaves[$i].porn.viewerCount)>>
-
-	<<if _oldFame > $slaves[$i].porn.viewerCount>>
-		Overall, $his online fame @@.red;dropped@@ this week.
-	<<elseif _oldFame < $slaves[$i].porn.viewerCount>>
-		Overall, $his online fame @@.green;rose@@ this week.
-		<<if _oldFame < 100 && $slaves[$i].porn.viewerCount >= 100 && $studioFeed == 1>>
-			$He @@.yellow;has accrued enough views to determine prospective porn genres.@@
-		<</if>>
-	<<elseif $slaves[$i].porn.viewerCount != 0>>
-		Surprisingly, $his online fame @@.yellow;remained consistent@@ this week despite how fickle watchers can be.
-	<<else>>
-		$he cap went @@.red;completely overlooked@@ this week and failed to gain any hits at all.
-	<</if>>
-
-	<<if $slaves[$i].porn.viewerCount > 0>>
-		<<set _topFame = getHighestPorn($slaves[$i])>>
-		<<set _donations = Math.floor($slaves[$i].porn.viewerCount/(random(10,15+_viewerSoaking)))>>
-		<<if _donations > 0>>
-			Fans donated a total of @@.yellowgreen;<<print cashFormat(_donations)>>@@ to $his account this week.
-			<<run cashX(_donations, "porn", $slaves[$i])>>
-		<</if>>
-	<</if>>
-
-	<<if ($studio === 1)>>
-		<<if ($slaves[$i].porn.spending > 0)>>
-			<<run cashX(forceNeg($slaves[$i].porn.spending / $PCSlutContacts), "porn", $slaves[$i])>>
-		<</if>>
-	<</if>>
-
-	/* prestige gen */
-
-	<<if $slaves[$i].porn.prestige == 0 && $slaves[$i].porn.viewerCount >= 10000>>
-		<<set _pornFameGrabBag = []>>
-		<<if $slaves[$i].porn.fame.general >= 10000>><<set _pornFameGrabBag.push("generic")>><</if>>
-		<<if $slaves[$i].porn.fame.fuckdoll >= 10000>><<set _pornFameGrabBag.push("fuckdoll")>><</if>>
-		<<if $slaves[$i].porn.fame.rape >= 10000>><<set _pornFameGrabBag.push("rape")>><</if>>
-		<<if $slaves[$i].porn.fame.preggo >= 10000>><<set _pornFameGrabBag.push("preggo")>><</if>>
-		<<if $slaves[$i].porn.fame.BBW >= 10000>><<set _pornFameGrabBag.push("BBW")>><</if>>
-		<<if $slaves[$i].porn.fame.gainer >= 10000>><<set _pornFameGrabBag.push("weight gain")>><</if>>
-		<<if $slaves[$i].porn.fame.stud >= 10000>><<set _pornFameGrabBag.push("big dick")>><</if>>
-		<<if $slaves[$i].porn.fame.loli >= 10000>><<set _pornFameGrabBag.push("underage")>><</if>>
-		<<if $slaves[$i].porn.fame.deepThroat >= 10000>><<set _pornFameGrabBag.push("deepthroat")>><</if>>
-		<<if $slaves[$i].porn.fame.struggleFuck >= 10000>><<set _pornFameGrabBag.push("unwilling")>><</if>>
-		<<if $slaves[$i].porn.fame.painal >= 10000>><<set _pornFameGrabBag.push("hardcore anal")>><</if>>
-		<<if $slaves[$i].porn.fame.tease >= 10000>><<set _pornFameGrabBag.push("softcore")>><</if>>
-		<<if $slaves[$i].porn.fame.romantic >= 10000>><<set _pornFameGrabBag.push("romantic")>><</if>>
-		<<if $slaves[$i].porn.fame.pervert >= 10000>><<set _pornFameGrabBag.push("really perverted")>><</if>>
-		<<if $slaves[$i].porn.fame.caring >= 10000>><<set _pornFameGrabBag.push("voyeur")>><</if>>
-		<<if $slaves[$i].porn.fame.unflinching >= 10000>><<set _pornFameGrabBag.push("unspeakable")>><</if>>
-		<<if $slaves[$i].porn.fame.sizeQueen >= 10000>><<set _pornFameGrabBag.push("huge insertion")>><</if>>
-		<<if $slaves[$i].porn.fame.neglectful >= 10000>><<set _pornFameGrabBag.push("orgasm denial")>><</if>>
-		<<if $slaves[$i].porn.fame.cumAddict >= 10000>><<set _pornFameGrabBag.push("cum addiction")>><</if>>
-		<<if $slaves[$i].porn.fame.analAddict >= 10000>><<set _pornFameGrabBag.push("anal addiction")>><</if>>
-		<<if $slaves[$i].porn.fame.attentionWhore >= 10000>><<set _pornFameGrabBag.push("exhibition")>><</if>>
-		<<if $slaves[$i].porn.fame.breastGrowth >= 10000>><<set _pornFameGrabBag.push("breast expansion")>><</if>>
-		<<if $slaves[$i].porn.fame.abusive >= 10000>><<set _pornFameGrabBag.push("abuse")>><</if>>
-		<<if $slaves[$i].porn.fame.malicious >= 10000>><<set _pornFameGrabBag.push("sexual torture")>><</if>>
-		<<if $slaves[$i].porn.fame.selfHating >= 10000>><<set _pornFameGrabBag.push("self hating")>><</if>>
-		<<if $slaves[$i].porn.fame.breeder >= 10000>><<set _pornFameGrabBag.push("breeder")>><</if>>
-		<<if $slaves[$i].porn.fame.sub >= 10000>><<set _pornFameGrabBag.push("submissive")>><</if>>
-		<<if $slaves[$i].porn.fame.cumSlut >= 10000>><<set _pornFameGrabBag.push("cum")>><</if>>
-		<<if $slaves[$i].porn.fame.anal >= 10000>><<set _pornFameGrabBag.push("buttslut")>><</if>>
-		<<if $slaves[$i].porn.fame.humiliation >= 10000>><<set _pornFameGrabBag.push("humiliating")>><</if>>
-		<<if $slaves[$i].porn.fame.boobs >= 10000>><<set _pornFameGrabBag.push("breast")>><</if>>
-		<<if $slaves[$i].porn.fame.dom >= 10000>><<set _pornFameGrabBag.push("dominant")>><</if>>
-		<<if $slaves[$i].porn.fame.sadist >= 10000>><<set _pornFameGrabBag.push("sadistic")>><</if>>
-		<<if $slaves[$i].porn.fame.masochist >= 10000>><<set _pornFameGrabBag.push("masochistic")>><</if>>
-		<<if $slaves[$i].porn.fame.pregnancy >= 10000>><<set _pornFameGrabBag.push("pregnancy fetish")>><</if>>
-
-		<<if _pornFameGrabBag.length > 0>>
-			<<set $slaves[$i].porn.fameType = _pornFameGrabBag.random()>>
-			<<set $slaves[$i].porn.prestige = 1>>
-
-			@@.green;$He has gained a following in $slaves[$i].porn.fameType pornography!@@ Thousands have enjoyed
-
-			<<switch $slaves[$i].porn.fameType>>
-			<<case "generic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being used.">>
-				the sight of $him being used,
-			<<case "fuckdoll">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. $His fans relish the sight of $him being used.">>
-				the sight of $him being used,
-			<<case "rape">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being raped.">>
-				the sight of $him being raped,
-			<<case "preggo">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him swell with child.">>
-				watching $him swell with child,
-			<<case "BBW">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his thick and soft body.">>
-				the sight of $his thick and soft body,
-			<<case "underage">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his childish body.">>
-				the sight of $his childish body,
-			<<case "weight gain">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him eating and gaining weight.">>
-				the sight of $him eating and gaining weight,
-			<<case "big dick">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his throbbing erection.">>
-				the sight of $his throbbing erection,
-			<<case "deepthroat">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sounds $he makes when being throatfucked.">>
-				the sounds $he makes when being throatfucked,
-			<<case "unwilling">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed how $he struggles during sex.">>
-				how $he struggles during sex,
-			<<case "hardcore anal">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $his asshole pushed to its limit.">>
-				watching $his asshole pushed to its limit,
-			<<case "softcore">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his lewd striptease.">>
-				$his lewd striptease,
-			<<case "romantic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the deep bond $he shares with $his partners.">>
-				the deep bond $he shares with $his partners,
-			<<case "really perverted">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his most perverted tendencies.">>
-				$his most perverted tendencies,
-			<<case "voyeur">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him devote $himself to $his partners' pleasure.">>
-				watching $him devote $himself to $his partners' pleasure,
-			<<case "unspeakable">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his willingness to do things not repeated in polite company.">>
-				$his willingness to do things not repeated in polite company,
-			<<case "huge insertion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his holes filled to their limits.">>
-				the sight of $his holes filled to their limits,
-			<<case "orgasm denial">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him ignoring $his own pleasure.">>
-				the sight of $him ignoring $his own pleasure,
-			<<case "cum addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything and everything for cum.">>
-				watching $him do anything and everything for cum,
-			<<case "anal addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for a dick in $his ass.">>
-				watching $him do anything for a dick in $his ass,
-			<<case "exhibition">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for attention.">>
-				watching $him do anything for attention,
-			<<case "breast expansion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed charting the growth of $his breasts.">>
-				charting the growth of $his breasts,
-			<<case "abuse">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him abuse others.">>
-				watching $him abuse others,
-			<<case "sexual torture">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him getting off from the suffering $he caused.">>
-				$him getting off from the suffering $he caused,
-			<<case "self hating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him happily suffer.">>
-				watching $him happily suffer,
-			<<case "breeder">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him obsess over pumping out babies.">>
-				watching $him obsess over pumping out babies,
-			<<case "submissive">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his submission.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his submission,
-			<<case "cum">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his taste for cum.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his taste for cum,
-			<<case "buttslut">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his rear.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				the sight of $his rear,
-			<<case "humiliating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him humiliating $himself.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$him humiliating $himself,
-			<<case "breast">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his breasts.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				the sight of $his breasts,
-			<<case "dominant">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his dominance.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his dominance,
-			<<case "sadistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his sadism.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his sadism,
-			<<case "masochistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his masochism.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his masochism,
-			<<case "pregnancy fetish">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his fondness for pregnancy.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-				$his fondness for pregnancy,
-			<</switch>>
-
-			but $he isn't famous enough to be called prestigious yet.
-		<</if>>
-	<<elseif $slaves[$i].porn.prestige == 1>>
-		<<set _failedStar = 0, _fameSwap = 0, _swapPoint = 1.2>>
-
-		<<switch $slaves[$i].porn.fameType>>
-		<<case "generic">>
-			<<if $slaves[$i].porn.fame.general >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being used.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him being used, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.general*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.general < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "fuckdoll">>
-			<<if $slaves[$i].porn.fame.fuckdoll >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being used.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him being used, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.fuckdoll*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.fuckdoll < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "rape">>
-			<<if $slaves[$i].porn.fame.rape >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him being raped.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him being raped, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.rape*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.rape < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "preggo">>
-			<<if $slaves[$i].porn.fame.preggo >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him swollen with child.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him swollen with child, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.preggo*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.preggo < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "BBW">>
-			<<if $slaves[$i].porn.fame.BBW >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his thick, soft body.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his thick and soft body, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.BBW*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.BBW < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "underage">>
-			<<if $slaves[$i].porn.fame.loli >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his immature body.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his immature body, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.loli*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.loli < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "weight gain">>
-			<<if $slaves[$i].porn.fame.gainer >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish how curvy $he's gotten.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish how curvy $he's gotten, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.gainer*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.gainer < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "big dick">>
-			<<if $slaves[$i].porn.fame.stud >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his heavy dick.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $his heavy dick, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.stud*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.stud < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "deepthroat">>
-			<<if $slaves[$i].porn.fame.deepThroat >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sounds $he makes when being throatfucked.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sounds $he makes when being throatfucked, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.deepThroat*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.deepThroat < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unwilling">>
-			<<if $slaves[$i].porn.fame.struggleFuck >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish how perfectly $he struggles during sex.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish how perfectly $he struggles during sex, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.struggleFuck*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.struggleFuck < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "hardcore anal">>
-			<<if $slaves[$i].porn.fame.painal >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish watching $his asshole pushed to its limit.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish watching $his asshole pushed to its limit, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.painal*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.painal < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "softcore">>
-			<<if $slaves[$i].porn.fame.tease >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his lewd striptease.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his lewd striptease, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.tease*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.tease < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "romantic">>
-			<<if $slaves[$i].porn.fame.romantic >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the deep bond $he shares with $his partners.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the deep bond $he shares with $his partners, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.romantic*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.romantic < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "really perverted">>
-			<<if $slaves[$i].porn.fame.pervert >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the depths of $his perversions.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the depths of $his perversions, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.pervert*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.pervert < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "voyeur">>
-			<<if $slaves[$i].porn.fame.caring >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his devotion to $his partners' pleasure.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his devotion to $his partners' pleasure, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.caring*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.caring < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unspeakable">>
-			<<if $slaves[$i].porn.fame.unflinching >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his willingness to do anything and everything.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his willingness to do anything and everything, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.unflinching*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.unflinching < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "huge insertion">>
-			<<if $slaves[$i].porn.fame.sizeQueen >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his holes filled to their limits.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $his holes filled to their limits, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.sizeQueen*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.sizeQueen < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "orgasm denial">>
-			<<if $slaves[$i].porn.fame.neglectful >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him denying $himself pleasure.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him denying $himself pleasure, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.neglectful*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.neglectful < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum addiction">>
-			<<if $slaves[$i].porn.fame.cumAddict >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for cum.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him doing anything for cum, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.cumAddict*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.cumAddict < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "anal addiction">>
-			<<if $slaves[$i].porn.fame.analAddict >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for a dick up $his ass.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him doing anything for a dick up $his ass, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.analAddict*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.analAddict < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "exhibition">>
-			<<if $slaves[$i].porn.fame.attentionWhore >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him doing anything for attention.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him doing anything for attention, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.attentionWhore*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.attentionWhore < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast expansion">>
-			<<if $slaves[$i].porn.fame.breastGrowth >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his expanding bust.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $his expanding bust, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.breastGrowth*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.breastGrowth < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "abuse">>
-			<<if $slaves[$i].porn.fame.abusive >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him abusing others.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him abusing others, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.abusive*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.abusive < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sexual torture">>
-			<<if $slaves[$i].porn.fame.malicious >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $him getting off from the suffering $he caused.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $him getting off from the suffering $he caused, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.malicious*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.malicious < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "self hating">>
-			<<if $slaves[$i].porn.fame.selfHating >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his suffering.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his suffering, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.selfHating*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.selfHating < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breeder">>
-			<<if $slaves[$i].porn.fame.breeder >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his obsession with having children.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his obsession with having children, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.breeder*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.breeder < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "submissive">>
-			<<if $slaves[$i].porn.fame.sub >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his submissiveness.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his submissiveness, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.sub*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.sub < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum">>
-			<<if $slaves[$i].porn.fame.cumSlut >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his desire for cum.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his desire for cum, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.cumSlut*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.cumSlut < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "buttslut">>
-			<<if $slaves[$i].porn.fame.anal >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his rear.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $his rear, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.anal*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.anal < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "humiliating">>
-			<<if $slaves[$i].porn.fame.humiliation >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his frequent humiliation.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his frequent humiliation, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.humiliation*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.humiliation < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast">>
-			<<if $slaves[$i].porn.fame.boobs >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish the sight of $his breasts.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish the sight of $his breasts, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.boobs*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.boobs < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "dominant">>
-			<<if $slaves[$i].porn.fame.dom >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his dominance.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his dominance, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.dom*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.dom < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sadistic">>
-			<<if $slaves[$i].porn.fame.sadist >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his sadism.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his sadism, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.sadist*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.sadist < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "masochistic">>
-			<<if $slaves[$i].porn.fame.masochist >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his masochism.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his masochism, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.masochist*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.masochist < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "pregnancy fetish">>
-			<<if $slaves[$i].porn.fame.pregnancy >= 50000>>
-				<<set $slaves[$i].porn.prestige = 2>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is well known from $his career in slave pornography. $His many fans relish $his fondness for pregnancy.">>
-				@@.green;$He has gained a hold in $slaves[$i].porn.fameType pornography!@@ $His many fans relish $his fondness for pregnancy, so it is now prestigious to own $him.
-			<<elseif _topFame.value >= $slaves[$i].porn.fame.pregnancy*_swapPoint>>
-				<<set _fameSwap = 1>>
-			<<elseif $slaves[$i].porn.fame.pregnancy < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<default>>
-			@@.red;No porn fame detected, reseting to "none".@@
-			<<set $slaves[$i].porn.prestige = 0, $slaves[$i].porn.prestigeDesc = 0, $slaves[$i].porn.fameType = "none">>
-		<</switch>>
-
-		<<if _failedStar == 1>>
-			<<set $slaves[$i].porn.prestige = 0, $slaves[$i].porn.prestigeDesc = 0>>
-			@@.red;$His popularity in $slaves[$i].porn.fameType pornography has faded.@@ $He is once again relatively unknown.
-			<<set $slaves[$i].porn.fameType = "none">>
-		<</if>>
-		<<if _fameSwap == 1>>
-			$His fame in $slaves[$i].porn.fameType pornography has been overwhelmed by $his surging popularity in other aspects. @@.yellow;$He is now better known for $his _topFame.type porn.@@
-			<<set $slaves[$i].porn.fameType = _topFame.type>>
-			<<switch _topFame.type>>
-			<<case "generic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being used.">>
-			<<case "fuckdoll">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. $His fans relish the sight of $him being used.">>
-			<<case "rape">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being raped.">>
-			<<case "preggo">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him swell with child.">>
-			<<case "BBW">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his thick and soft body.">>
-			<<case "underage">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his childish body.">>
-			<<case "weight gain">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him eating and gaining weight.">>
-			<<case "big dick">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his throbbing erection.">>
-			<<case "deepthroat">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sounds $he makes when being throatfucked.">>
-			<<case "unwilling">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed how $he struggles during sex.">>
-			<<case "hardcore anal">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $his asshole pushed to its limit.">>
-			<<case "softcore">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his lewd striptease.">>
-			<<case "romantic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the deep bond $he shares with $his partners.">>
-			<<case "really perverted">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his most perverted tendencies.">>
-			<<case "voyeur">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him devote $himself to $his partners' pleasure.">>
-			<<case "unspeakable">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his willingness to do things not repeated in polite company.">>
-			<<case "huge insertion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his holes filled to their limits.">>
-			<<case "orgasm denial">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him ignoring $his own pleasure.">>
-			<<case "cum addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything and everything for cum.">>
-			<<case "anal addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for a dick in $his ass.">>
-			<<case "exhibition">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for attention.">>
-			<<case "breast expansion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed charting the growth of $his breasts.">>
-			<<case "abuse">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him abuse others.">>
-			<<case "sexual torture">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him getting off from the suffering $he caused.">>
-			<<case "self hating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him happily suffer.">>
-			<<case "breeder">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him obsess over pumping out babies.">>
-			<<case "submissive">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his submission.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "cum">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his taste for cum.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "buttslut">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his rear.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "humiliating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him humiliating $himself.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "breast">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his breasts.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "dominant">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his dominance.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "sadistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his sadism.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "masochistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his masochism.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<<case "pregnancy fetish">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his fondness for pregnancy.">>
-				<<if $slaves[$i].fetishKnown != 1>><<set $slaves[$i].fetishKnown = 1>><</if>>
-			<</switch>>
-		<</if>>
-	<<elseif $slaves[$i].porn.prestige == 2>>
-		<<set _failedStar = 0>>
-
-		<<switch $slaves[$i].porn.fameType>>
-		<<case "generic">>
-			<<if $slaves[$i].porn.fame.general >= 150000 && $pornStarID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.general = 250000, $pornStarID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.general>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him mid-coitus.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him mid-coitus, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " mid-coitus">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.general < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "fuckdoll">>
-			<<if $slaves[$i].porn.fame.fuckdoll >= 150000 && $pornStarFuckdollID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.fuckdoll = 250000, $pornStarFuckdollID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.fuckdoll>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him being used.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him being used, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing it offering itself">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.fuckdoll < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "rape">>
-			<<if $slaves[$i].porn.fame.rape >= 150000 && $pornStarRapeID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.rape = 250000, $pornStarRapeID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.rape>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him being raped.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him being raped, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " rape">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.rape < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "preggo">>
-			<<if $slaves[$i].porn.fame.preggo >= 150000 && $pornStarPreggoID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.preggo = 250000, $pornStarPreggoID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.preggo>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him swollen with child.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him swollen with child, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " cradling " + getPronouns($slaves[$i]).possessive + " middle">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.preggo < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "BBW">>
-			<<if $slaves[$i].porn.fame.BBW >= 150000 && $pornStarBBWID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.BBW = 250000, $pornStarBBWID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.fame = $slaves[$i].porn.fame.BBW>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his thick, soft body.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his thick and soft body, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " giving a bellyjob">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.preggo < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "underage">>
-			<<if $slaves[$i].porn.fame.loli >= 150000 && $pornStarLoliID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.loli = 250000, $pornStarLoliID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.loli>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his immature body.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his immature body, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " 'innocence'">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.loli < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "weight gain">>
-			<<if $slaves[$i].porn.fame.gainer >= 150000 && $pornStarGainerID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.gainer = 250000, $pornStarGainerID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.fame = $slaves[$i].porn.fame.gainer>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with how with how much weight $he has gained.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with how much weight<<print $he>>'s put on, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " trying on " + getPronouns($slaves[$i]).possessive + " old clothes">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.gainer < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "big dick">>
-			<<if $slaves[$i].porn.fame.stud >= 150000 && $pornStarStudID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.stud = 250000, $pornStarStudID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.stud>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his erect dick.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $his erect dick, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " money shot">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.stud < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "deepthroat">>
-			<<if $slaves[$i].porn.fame.deepThroat >= 150000 && $pornStarDeepThroatID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.deepThroat = 250000, $pornStarDeepThroatID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.deepThroat>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sounds $he makes when being throatfucked.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sounds $he makes when being throatfucked, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " getting facefucked">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.deepThroat < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unwilling">>
-			<<if $slaves[$i].porn.fame.struggleFuck >= 150000 && $pornStarStruggleFuckID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.struggleFuck = 250000, $pornStarStruggleFuckID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.fame = $slaves[$i].porn.fame.struggleFuck>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with how perfectly $he struggles during sex.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with how perfectly $he struggles during sex, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " struggling">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.struggleFuck < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "hardcore anal">>
-			<<if $slaves[$i].porn.fame.painal >= 150000 && $pornStarPainalID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.painal = 250000, $pornStarPainalID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.painal>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with seeing $his asshole pushed to its limit.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with seeing $his asshole pushed to its limit, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " taking an enormous dick up " + getPronouns($slaves[$i]).possessive + " ass">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.painal < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "softcore">>
-			<<if $slaves[$i].porn.fame.tease >= 150000 && $pornStarTeaseID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.tease = 250000, $pornStarTeaseID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.fame = $slaves[$i].porn.fame.tease>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his lewd striptease.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his lewd striptease, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " stripping">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.tease < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "romantic">>
-			<<if $slaves[$i].porn.fame.romantic >= 150000 && $pornStarRomanticID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.romantic = 250000, $pornStarRomanticID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.fame = $slaves[$i].porn.fame.romantic>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the deep bond $he shares with $his partners.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the deep bond $he shares with $his partners, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " sharing an orgasm with " + getPronouns($slaves[$i]).possessive + " partner">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.romantic < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "really perverted">>
-			<<if $slaves[$i].porn.fame.pervert >= 150000 && $pornStarPervertID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.pervert = 250000, $pornStarPervertID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.pervert>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the depths of $his perversions.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the depths of $his perversions, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " doing something perverted">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.pervert < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "voyeur">>
-			<<if $slaves[$i].porn.fame.caring >= 150000 && $pornStarCaringID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.caring = 250000, $pornStarCaringID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.caring>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his devotion to $his partners' pleasure.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his devotion to $his partners' pleasure, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " bringing " + getPronouns($slaves[$i]).possessive + " partner to orgasm">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.caring < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unspeakable">>
-			<<if $slaves[$i].porn.fame.unflinching >= 150000 && $pornStarUnflinchingID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.unflinching = 250000, $pornStarUnflinchingID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.unflinching>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his willingness to do things not repeated in polite company.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his willingness to do things not repeated in polite company, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " doing something unmentionable">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.unflinching < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "huge insertion">>
-			<<if $slaves[$i].porn.fame.sizeQueen >= 150000 && $pornStarSizeQueenID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.sizeQueen = 250000, $pornStarSizeQueenID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.sizeQueen>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his holes filled to their limits.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $his holes filled to their limits, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " belly bulging from within">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.sizeQueen < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "orgasm denial">>
-			<<if $slaves[$i].porn.fame.neglectful >= 150000 && $pornStarNeglectfulID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.neglectful = 250000, $pornStarNeglectfulID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.neglectful>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him denying $himself pleasure.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him denying $himself pleasure, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " pleasing a line of partners without cumming once">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.neglectful < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum addiction">>
-			<<if $slaves[$i].porn.fame.cumAddict >= 150000 && $pornStarCumAddictID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.cumAddict = 250000, $pornStarCumAddictID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.cumAddict>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him doing anything for cum.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him doing anything for cum, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " bathing in a tub of cum">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.cumAddict < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "anal addiction">>
-			<<if $slaves[$i].porn.fame.analAddict >= 150000 && $pornStarAnalAddictID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.analAddict = 250000, $pornStarAnalAddictID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.analAddict>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his well-versed anus.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him doing anything for a dick up $his ass, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " taking a series of huge cocks up " + getPronouns($slaves[$i]).possessive + " ass">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.analAddict < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "exhibition">>
-			<<if $slaves[$i].porn.fame.attentionWhore >= 150000 && $pornStarAttentionWhoreID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.attentionWhore = 250000, $pornStarAttentionWhoreID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.attentionWhore>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him doing anything for attention.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him going to any length for attention, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " flashing strangers">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.attentionWhore < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast expansion">>
-			<<if $slaves[$i].porn.fame.breastGrowth >= 150000 && $pornStarBreastGrowthID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.breastGrowth = 250000, $pornStarBreastGrowthID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.breastGrowth>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the history of $his growing bust.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with history of $his growing bust, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " having " + getPronouns($slaves[$i]).possessive + " tits measured">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.breastGrowth < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "abuse">>
-			<<if $slaves[$i].porn.fame.abusive >= 150000 && $pornStarAbusiveID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.abusive = 250000, $pornStarAbusiveID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.abusive>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his abusive tendencies.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his abusive tendencies, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " taking what " + getPronouns($slaves[$i]).pronoun + " wants by force">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.abusive < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sexual torture">>
-			<<if $slaves[$i].porn.fame.malicious >= 150000 && $pornStarMaliciousID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.malicious = 250000, $pornStarMaliciousID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.malicious>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his hunger for making others suffer.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him torturing others, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " tormenting " + getPronouns($slaves[$i]).possessive + " prey">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.malicious < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "self hating">>
-			<<if $slaves[$i].porn.fame.selfHating >= 150000 && $pornStarSelfHatingID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.selfHating = 250000, $pornStarSelfHatingID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.selfHating>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $him suffering.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $him suffering, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " orgasming from pain">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.selfHating < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breeder">>
-			<<if $slaves[$i].porn.fame.breeder >= 150000 && $pornStarBreederID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.breeder = 250000, $pornStarBreederID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.breeder>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his obsession with being pregnant.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his obsession with having children, so it is now extremely prestigious to own $him.
-				<<if $slaves[$i].counter.births > 0>>
-					<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " having an orgasmic birth">>
-				<<else>>
-					<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " being bred">>
-				<</if>>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.breeder < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "submissive">>
-			<<if $slaves[$i].porn.fame.sub >= 150000 && $pornStarSubID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.sub = 250000, $pornStarSubID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.sub>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his submissiveness.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his submissiveness, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " submission">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.sub < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum">>
-			<<if $slaves[$i].porn.fame.cumSlut >= 150000 && $pornStarCumSlutID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.cumSlut = 250000, $pornStarCumSlutID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.cumSlut>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his taste for cum.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his taste for cum, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " drinking a glass of cum">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.cumSlut < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "buttslut">>
-			<<if $slaves[$i].porn.fame.anal >= 150000 && $pornStarAnalID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.anal = 250000, $pornStarAnalID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.anal>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with the sight of $his rear.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with the sight of $his rear, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " shaking " + getPronouns($slaves[$i]).possessive + " booty">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.anal < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "humiliating">>
-			<<if $slaves[$i].porn.fame.humiliation >= 150000 && $pornStarHumiliationID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.humiliation = 250000, $pornStarHumiliationID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.humiliation>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his frequent humiliation.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his frequent humiliation, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " humiliated in public">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.humiliation < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast">>
-			<<if $slaves[$i].porn.fame.boobs >= 150000 && $pornStarBoobsID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.boobs = 250000, $pornStarBoobsID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.boobs>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his breasts.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his breasts, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).possessive + " bare chest">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.boobs < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "dominant">>
-			<<if $slaves[$i].porn.fame.dom >= 150000 && $pornStarDomID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.dom = 250000, $pornStarDomID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.dom>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his dominant streak.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his dominant streak, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " seated upon " + getPronouns($slaves[$i]).possessive + " obedient toy">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.dom < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sadistic">>
-			<<if $slaves[$i].porn.fame.sadist >= 150000 && $pornStarSadistID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.sadist = 250000, $pornStarSadistID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.sadist>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his sadistic streak.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his sadistic streak, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " whipping " + getPronouns($slaves[$i]).possessive + " lover">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.sadist < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "masochistic">>
-			<<if $slaves[$i].porn.fame.masochist >= 150000 && $pornStarMasochistID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.masochist = 250000, $pornStarMasochistID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.masochist>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his masochistic streak.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his masochistic streak, so it is now extremely prestigious to own $him.
-				<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " being whipped">>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.masochist < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "pregnancy fetish">>
-			<<if $slaves[$i].porn.fame.pregnancy >= 150000 && $pornStarPregnancyID == 0>>
-				<<set $slaves[$i].porn.prestige = 3, $slaves[$i].porn.fame.pregnancy = 250000, $pornStarPregnancyID = $slaves[$i].ID>>
-				<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.pregnancy>>
-				<<set $slaves[$i].porn.prestigeDesc = "$He is world famous for $his career in slave pornography. Millions are intimately familiar with $his pregnancy kink.">>
-				@@.green;$He has become world famous for $his career in $slaves[$i].porn.fameType pornography!@@ Millions are now intimately familiar with $his pregnancy kink, so it is now extremely prestigious to own $him.
-				<<if $slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1>>
-					<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " getting knocked up">>
-				<<elseif $slaves[$i].dick > 0>>
-					<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " knocking a girl up">>
-				<<else>>
-					<<set _desc = "a framed shot from porn starring " + $slaves[$i].slaveName + " showing " + getPronouns($slaves[$i]).object + " pretending to be pregnant">>
-				<</if>>
-				<<set $trinkets.push(_desc)>>
-			<<elseif $slaves[$i].porn.fame.pregnancy < 40000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<default>>
-			@@.red;No porn fame detected, reseting to "none".@@
-			<<set $slaves[$i].porn.prestige = 0, $slaves[$i].porn.prestigeDesc = 0, $slaves[$i].porn.fameType = "none">>
-		<</switch>>
-
-		<<if _failedStar == 1>>
-			<<set $slaves[$i].porn.prestige = 1>>
-			@@.red;$His popularity in $slaves[$i].porn.fameType pornography has dropped considerably,@@ though $he still retains a core fanbase.
-			<<switch $slaves[$i].porn.fameType>>
-			<<case "generic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being used.">>
-			<<case "fuckdoll">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. $His fans relish the sight of $him being used.">>
-			<<case "rape">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being raped.">>
-			<<case "preggo">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him swell with child.">>
-			<<case "BBW">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his thick and soft body.">>
-			<<case "underage">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his childish body.">>
-			<<case "weight gain">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him eating and gaining weight.">>
-			<<case "big dick">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his throbbing erection.">>
-			<<case "deepthroat">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sounds $he makes when being throatfucked.">>
-			<<case "unwilling">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed how $he struggles during sex.">>
-			<<case "hardcore anal">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $his asshole pushed to its limit.">>
-			<<case "softcore">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his lewd striptease.">>
-			<<case "romantic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the deep bond $he shares with $his partners.">>
-			<<case "really perverted">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his most perverted tendencies.">>
-			<<case "voyeur">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him devote $himself to $his partners' pleasure.">>
-			<<case "unspeakable">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his willingness to do things not repeated in polite company.">>
-			<<case "huge insertion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his holes filled to their limits.">>
-			<<case "orgasm denial">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him ignoring $his own pleasure.">>
-			<<case "cum addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything and everything for cum.">>
-			<<case "anal addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for a dick in $his ass.">>
-			<<case "exhibition">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for attention.">>
-			<<case "breast expansion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed charting the growth of $his breasts.">>
-			<<case "abuse">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him abuse others.">>
-			<<case "sexual torture">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him getting off from the suffering $he caused.">>
-			<<case "self hating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him happily suffer.">>
-			<<case "breeder">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him obsess over pumping out babies.">>
-			<<case "submissive">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his submission.">>
-			<<case "cum">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his taste for cum.">>
-			<<case "buttslut">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his rear.">>
-			<<case "humiliating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him humiliating $himself.">>
-			<<case "breast">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his breasts.">>
-			<<case "dominant">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his dominance.">>
-			<<case "sadistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his sadism.">>
-			<<case "masochistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his masochism.">>
-			<<case "pregnancy fetish">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his fondness for pregnancy.">>
-			<</switch>>
-		<</if>>
-
-		<<if $slaves[$i].porn.prestige > 2>>
-			Further paid publicity cannot increase $his fame, so subsidy of porn featuring $him has stopped.
-			<<set $slaves[$i].porn.spending = 0>>
-		<</if>>
-	<</if>>
-
-<<else>> /* popularity decay from lack of new content */
-
-	<<if $slaves[$i].porn.prestige > 1>> /* 500k */
-		<<set _decayRate = 5000>>
-	<<elseif $slaves[$i].porn.prestige > 0>> /* 10k */
-		<<set _decayRate = 500>>
-	<<else>>
-		<<set _decayRate = 30>>
-	<</if>>
-
-	<<if $slaves[$i].porn.fame.neglectful > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.neglectful>><</if>>
-		<<set $slaves[$i].porn.fame.neglectful = Math.clamp($slaves[$i].porn.fame.neglectful-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Neglectful: (_oldPorn) to ($slaves[$i].porn.fame.neglectful).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.cumAddict > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.cumAddict>><</if>>
-		<<set $slaves[$i].porn.fame.cumAddict = Math.clamp($slaves[$i].porn.fame.cumAddict-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Cum Addict: (_oldPorn) to ($slaves[$i].porn.fame.cumAddict).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.analAddict > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.analAddict>><</if>>
-		<<set $slaves[$i].porn.fame.analAddict = Math.clamp($slaves[$i].porn.fame.analAddict-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Anal Addict: (_oldPorn) to ($slaves[$i].porn.fame.analAddict).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.attentionWhore > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.attentionWhore>><</if>>
-		<<set $slaves[$i].porn.fame.attentionWhore = Math.clamp($slaves[$i].porn.fame.attentionWhore-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Attention Whore: (_oldPorn) to ($slaves[$i].porn.fame.attentionWhore).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.breastGrowth > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.breastGrowth>><</if>>
-		<<set $slaves[$i].porn.fame.breastGrowth = Math.clamp($slaves[$i].porn.fame.breastGrowth-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Breast Growth: (_oldPorn) to ($slaves[$i].porn.fame.breastGrowth).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.abusive > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.abusive>><</if>>
-		<<set $slaves[$i].porn.fame.abusive = Math.clamp($slaves[$i].porn.fame.abusive-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Abusive: (_oldPorn) to ($slaves[$i].porn.fame.abusive).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.malicious > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.malicious>><</if>>
-		<<set $slaves[$i].porn.fame.malicious = Math.clamp($slaves[$i].porn.fame.malicious-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Malicious: (_oldPorn) to ($slaves[$i].porn.fame.malicious).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.selfHating > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.selfHating>><</if>>
-		<<set $slaves[$i].porn.fame.selfHating = Math.clamp($slaves[$i].porn.fame.selfHating-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Self Hating: (_oldPorn) to ($slaves[$i].porn.fame.selfHating).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.breeder > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.breeder>><</if>>
-		<<set $slaves[$i].porn.fame.breeder = Math.clamp($slaves[$i].porn.fame.breeder-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Breeder: (_oldPorn) to ($slaves[$i].porn.fame.breeder).<</if>>
-	<</if>>
-
-	<<if $slaves[$i].porn.fame.sub > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sub>><</if>>
-		<<set $slaves[$i].porn.fame.sub = Math.clamp($slaves[$i].porn.fame.sub-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Submissive: (_oldPorn) to ($slaves[$i].porn.fame.sub).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.cumSlut > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.cumSlut>><</if>>
-		<<set $slaves[$i].porn.fame.cumSlut = Math.clamp($slaves[$i].porn.fame.cumSlut-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Cumslut: (_oldPorn) to ($slaves[$i].porn.fame.cumSlut).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.anal > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.anal>><</if>>
-		<<set $slaves[$i].porn.fame.anal = Math.clamp($slaves[$i].porn.fame.anal-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>(_oldPorn) to ($slaves[$i].porn.fame.anal).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.humiliation > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.humiliation>><</if>>
-		<<set $slaves[$i].porn.fame.humiliation = Math.clamp($slaves[$i].porn.fame.humiliation-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Humiliation: (_oldPorn) to ($slaves[$i].porn.fame.humiliation).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.boobs > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.boobs>><</if>>
-		<<set $slaves[$i].porn.fame.boobs = Math.clamp($slaves[$i].porn.fame.boobs-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Boobs: (_oldPorn) to ($slaves[$i].porn.fame.boobs).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.dom > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.dom>><</if>>
-		<<set $slaves[$i].porn.fame.dom = Math.clamp($slaves[$i].porn.fame.dom-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Dom: (_oldPorn) to ($slaves[$i].porn.fame.dom).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.sadist > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sadist>><</if>>
-		<<set $slaves[$i].porn.fame.sadist = Math.clamp($slaves[$i].porn.fame.sadist-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Sadist: (_oldPorn) to ($slaves[$i].porn.fame.sadist).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.masochist > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.masochist>><</if>>
-		<<set $slaves[$i].porn.fame.masochist = Math.clamp($slaves[$i].porn.fame.masochist-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Masochist: (_oldPorn) to ($slaves[$i].porn.fame.masochist).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.pregnancy > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.pregnancy>><</if>>
-		<<set $slaves[$i].porn.fame.pregnancy = Math.clamp($slaves[$i].porn.fame.pregnancy-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Pregnancy: (_oldPorn) to ($slaves[$i].porn.fame.pregnancy).<</if>>
-	<</if>>
-
-	<<if $slaves[$i].porn.fame.fuckdoll > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.fuckdoll>><</if>>
-		<<set $slaves[$i].porn.fame.fuckdoll = Math.clamp($slaves[$i].porn.fame.fuckdoll-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Fuckdoll: (_oldPorn) to ($slaves[$i].porn.fame.fuckdoll).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.rape > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.rape>><</if>>
-		<<set $slaves[$i].porn.fame.rape = Math.clamp($slaves[$i].porn.fame.rape-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Rape: (_oldPorn) to ($slaves[$i].porn.fame.rape).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.preggo > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.preggo>><</if>>
-		<<set $slaves[$i].porn.fame.preggo = Math.clamp($slaves[$i].porn.fame.preggo-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Preggo: (_oldPorn) to ($slaves[$i].porn.fame.preggo).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.BBW > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.BBW>><</if>>
-		<<set $slaves[$i].porn.fame.BBW = Math.clamp($slaves[$i].porn.fame.BBW-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>BBW: (_oldPorn) to ($slaves[$i].porn.fame.BBW).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.loli > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.loli>><</if>>
-		<<set $slaves[$i].porn.fame.loli = Math.clamp($slaves[$i].porn.fame.loli-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Loli: (_oldPorn) to ($slaves[$i].porn.fame.loli).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.gainer > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.gainer>><</if>>
-		<<set $slaves[$i].porn.fame.gainer = Math.clamp($slaves[$i].porn.fame.gainer-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Gainer: (_oldPorn) to ($slaves[$i].porn.fame.gainer).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.stud > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.stud>><</if>>
-		<<set $slaves[$i].porn.fame.stud = Math.clamp($slaves[$i].porn.fame.stud-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Big Dick: (_oldPorn) to ($slaves[$i].porn.fame.stud).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.general > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.general>><</if>>
-		<<set $slaves[$i].porn.fame.general = Math.clamp($slaves[$i].porn.fame.general-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>(_oldPorn) to ($slaves[$i].porn.fame.general).<</if>>
-	<</if>>
-
-	<<if $slaves[$i].porn.fame.deepThroat > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.deepThroat>><</if>>
-		<<set $slaves[$i].porn.fame.deepThroat = Math.clamp($slaves[$i].porn.fame.deepThroat-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Gagfuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.deepThroat).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.struggleFuck > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.struggleFuck>><</if>>
-		<<set $slaves[$i].porn.fame.struggleFuck = Math.clamp($slaves[$i].porn.fame.struggleFuck-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Strugglefuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.struggleFuck).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.painal > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.painal>><</if>>
-		<<set $slaves[$i].porn.fame.painal = Math.clamp($slaves[$i].porn.fame.painal-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Strugglefuck Queen: (_oldPorn) to ($slaves[$i].porn.fame.painal).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.tease > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.tease>><</if>>
-		<<set $slaves[$i].porn.fame.tease = Math.clamp($slaves[$i].porn.fame.tease-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Tease: (_oldPorn) to ($slaves[$i].porn.fame.tease).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.romantic > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.romantic>><</if>>
-		<<set $slaves[$i].porn.fame.romantic = Math.clamp($slaves[$i].porn.fame.romantic-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Romantic: (_oldPorn) to ($slaves[$i].porn.fame.romantic).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.pervert > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.pervert>><</if>>
-		<<set $slaves[$i].porn.fame.pervert = Math.clamp($slaves[$i].porn.fame.pervert-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Perverted: (_oldPorn) to ($slaves[$i].porn.fame.pervert).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.caring > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.caring>><</if>>
-		<<set $slaves[$i].porn.fame.caring = Math.clamp($slaves[$i].porn.fame.caring-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Caring: (_oldPorn) to ($slaves[$i].porn.fame.caring).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.unflinching > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.unflinching>><</if>>
-		<<set $slaves[$i].porn.fame.unflinching = Math.clamp($slaves[$i].porn.fame.unflinching-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Unflinching: (_oldPorn) to ($slaves[$i].porn.fame.unflinching).<</if>>
-	<</if>>
-	<<if $slaves[$i].porn.fame.sizeQueen > 0>>
-		<<if $cheatMode == 1>><<set _oldPorn = $slaves[$i].porn.fame.sizeQueen>><</if>>
-		<<set $slaves[$i].porn.fame.sizeQueen = Math.clamp($slaves[$i].porn.fame.sizeQueen-(_decayRate*2), 0, 100000)>>
-		<<if $cheatMode == 1>>Size Queen: (_oldPorn) to ($slaves[$i].porn.fame.sizeQueen).<</if>>
-	<</if>>
-
-	<<set $slaves[$i].porn.viewerCount = $slaves[$i].porn.fame.general + $slaves[$i].porn.fame.fuckdoll + $slaves[$i].porn.fame.rape + $slaves[$i].porn.fame.preggo + $slaves[$i].porn.fame.BBW + $slaves[$i].porn.fame.gainer + $slaves[$i].porn.fame.stud + $slaves[$i].porn.fame.loli + $slaves[$i].porn.fame.deepThroat + $slaves[$i].porn.fame.struggleFuck + $slaves[$i].porn.fame.painal + $slaves[$i].porn.fame.tease + $slaves[$i].porn.fame.romantic + $slaves[$i].porn.fame.pervert + $slaves[$i].porn.fame.caring + $slaves[$i].porn.fame.unflinching + $slaves[$i].porn.fame.sizeQueen + $slaves[$i].porn.fame.neglectful + $slaves[$i].porn.fame.cumAddict + $slaves[$i].porn.fame.analAddict + $slaves[$i].porn.fame.attentionWhore + $slaves[$i].porn.fame.breastGrowth + $slaves[$i].porn.fame.abusive + $slaves[$i].porn.fame.malicious + $slaves[$i].porn.fame.selfHating + $slaves[$i].porn.fame.breeder + $slaves[$i].porn.fame.sub + $slaves[$i].porn.fame.cumSlut + $slaves[$i].porn.fame.anal + $slaves[$i].porn.fame.humiliation + $slaves[$i].porn.fame.boobs + $slaves[$i].porn.fame.dom + $slaves[$i].porn.fame.sadist + $slaves[$i].porn.fame.masochist + $slaves[$i].porn.fame.pregnancy>>
-	<<set $slaves[$i].porn.viewerCount = Math.trunc($slaves[$i].porn.viewerCount)>>
-
-	<<if $slaves[$i].porn.prestige > 0>>
-		<<set _failedStar = 0>>
-
-		<<switch $slaves[$i].porn.fameType>>
-		<<case "generic">>
-			<<if $slaves[$i].porn.fame.general < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.general < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "fuckdoll">>
-			<<if $slaves[$i].porn.fame.fuckdoll < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.fuckdoll < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "rape">>
-			<<if $slaves[$i].porn.fame.rape < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.rape < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "preggo">>
-			<<if $slaves[$i].porn.fame.preggo < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.preggo < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "BBW">>
-			<<if $slaves[$i].porn.fame.preggo < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.preggo < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "underage">>
-			<<if $slaves[$i].porn.fame.loli < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.loli < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "weight gain">>
-			<<if $slaves[$i].porn.fame.gainer < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.gainer < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "big dick">>
-			<<if $slaves[$i].porn.fame.stud < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.stud < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "deepthroat">>
-			<<if $slaves[$i].porn.fame.deepThroat < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.deepThroat < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unwilling">>
-			<<if $slaves[$i].porn.fame.struggleFuck < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.struggleFuck < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "hardcore anal">>
-			<<if $slaves[$i].porn.fame.painal < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.painal < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "softcore">>
-			<<if $slaves[$i].porn.fame.tease < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.tease < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "romantic">>
-			<<if $slaves[$i].porn.fame.romantic < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.romantic < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "really perverted">>
-			<<if $slaves[$i].porn.fame.pervert < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.pervert < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "voyeur">>
-			<<if $slaves[$i].porn.fame.caring < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.caring < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "unspeakable">>
-			<<if $slaves[$i].porn.fame.unflinching < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.unflinching < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "huge insertion">>
-			<<if $slaves[$i].porn.fame.sizeQueen < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.sizeQueen < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "orgasm denial">>
-			<<if $slaves[$i].porn.fame.neglectful < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.neglectful < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum addiction">>
-			<<if $slaves[$i].porn.fame.cumAddict < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.cumAddict < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "anal addiction">>
-			<<if $slaves[$i].porn.fame.analAddict < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.analAddict < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "exhibition">>
-			<<if $slaves[$i].porn.fame.attentionWhore < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.attentionWhore < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast expansion">>
-			<<if $slaves[$i].porn.fame.breastGrowth < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.breastGrowth < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "abuse">>
-			<<if $slaves[$i].porn.fame.abusive < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.abusive < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sexual torture">>
-			<<if $slaves[$i].porn.fame.malicious < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.malicious < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "self hating">>
-			<<if $slaves[$i].porn.fame.selfHating < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.selfHating < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breeder">>
-			<<if $slaves[$i].porn.fame.breeder < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.breeder < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "submissive">>
-			<<if $slaves[$i].porn.fame.sub < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.sub < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "cum">>
-			<<if $slaves[$i].porn.fame.cumSlut < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.cumSlut < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "buttslut">>
-			<<if $slaves[$i].porn.fame.anal < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.anal < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "humiliating">>
-			<<if $slaves[$i].porn.fame.humiliation < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.humiliation < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "breast">>
-			<<if $slaves[$i].porn.fame.boobs < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.boobs < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "dominant">>
-			<<if $slaves[$i].porn.fame.dom < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.dom < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "sadistic">>
-			<<if $slaves[$i].porn.fame.sadist < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.sadist < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "masochistic">>
-			<<if $slaves[$i].porn.fame.masochist < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.masochist < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<case "pregnancy fetish">>
-			<<if $slaves[$i].porn.fame.pregnancy < 40000 && $slaves[$i].porn.prestige == 2>>
-				<<set _failedStar = 2>>
-			<<elseif $slaves[$i].porn.fame.pregnancy < 5000>>
-				<<set _failedStar = 1>>
-			<</if>>
-		<<default>>
-			@@.red;No porn fame detected, reseting to "none".@@
-			<<set $slaves[$i].porn.prestige = 0, $slaves[$i].porn.prestigeDesc = 0, $slaves[$i].porn.fameType = "none">>
-		<</switch>>
-
-		<<if _failedStar == 1>>
-			<<set $slaves[$i].porn.prestige = 0, $slaves[$i].porn.prestigeDesc = 0>>
-			With no new $slaves[$i].porn.fameType content coming out, @@.red;$his popularity has faded away.@@
-			<<set $slaves[$i].porn.fameType = "none">>
-		<<elseif _failedStar == 2>>
-			<<set $slaves[$i].porn.prestige = 1>>
-			With the lack of any new content, @@.red;$his popularity in $slaves[$i].porn.fameType pornography has dropped considerably,@@ though some viewers still cling to the hope that <<print $he>>'ll come back.
-			<<switch $slaves[$i].porn.fameType>>
-			<<case "generic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being used.">>
-			<<case "fuckdoll">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. $His fans relish the sight of $him being used.">>
-			<<case "rape">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him being raped.">>
-			<<case "preggo">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him swell with child.">>
-			<<case "BBW">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his thick and soft body.">>
-			<<case "underage">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his childish body.">>
-			<<case "weight gain">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him eating and gaining weight.">>
-			<<case "big dick">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his throbbing erection.">>
-			<<case "deepthroat">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sounds $he makes when being throatfucked.">>
-			<<case "unwilling">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed how $he struggles during sex.">>
-			<<case "hardcore anal">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $his asshole pushed to its limit.">>
-			<<case "softcore">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his lewd striptease.">>
-			<<case "romantic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the deep bond $he shares with $his partners.">>
-			<<case "really perverted">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his most perverted tendencies.">>
-			<<case "voyeur">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him devote $himself to $his partners' pleasure.">>
-			<<case "unspeakable">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his willingness to do things not repeated in polite company.">>
-			<<case "huge insertion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his holes filled to their limits.">>
-			<<case "orgasm denial">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $him ignoring $his own pleasure.">>
-			<<case "cum addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything and everything for cum.">>
-			<<case "anal addiction">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for a dick in $his ass.">>
-			<<case "exhibition">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him do anything for attention.">>
-			<<case "breast expansion">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed charting the growth of $his breasts.">>
-			<<case "abuse">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him abuse others.">>
-			<<case "sexual torture">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him getting off from the suffering $he caused.">>
-			<<case "self hating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him happily suffer.">>
-			<<case "breeder">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed watching $him obsess over pumping out babies.">>
-			<<case "submissive">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his submission.">>
-			<<case "cum">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his taste for cum.">>
-			<<case "buttslut">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his rear.">>
-			<<case "humiliating">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $him humiliating $himself.">>
-			<<case "breast">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed the sight of $his breasts.">>
-			<<case "dominant">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his dominance.">>
-			<<case "sadistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his sadism.">>
-			<<case "masochistic">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his masochism.">>
-			<<case "pregnancy fetish">>
-				<<set $slaves[$i].porn.prestigeDesc = "$He has a following in slave pornography. Thousands have enjoyed $his fondness for pregnancy.">>
-			<</switch>>
-		<</if>>
-	<</if>>
-
-<</if>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 9491ea05451cb9454e056bdf09babd02678f5634..9f2b91a99cf26b6d0cdef4f4083a2b62903277dc 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -2771,85 +2771,136 @@ Setting missing global variables:
 <</if>>
 <<set WombInit($PC)>>
 
-<<if ndef $pornStarID>>
-
+<<if ndef $pornStars>>
 	<<set $studioFeed = 0>>
 	<<set $PCSlutContacts = 1>>
 
-	/* Porn type counts */
-	<<set $pornStars = 0>>
-	<<set $pornStarFuckdolls = 0>>
-	<<set $pornStarRapees = 0>>
-	<<set $pornStarPreggos = 0>>
-	<<set $pornStarBBWs = 0>>
-	<<set $pornStarGainers = 0>>
-	<<set $pornStarStuds = 0>>
-	<<set $pornStarLolis = 0>>
-	<<set $pornStarDeepThroats = 0>>
-	<<set $pornStarStruggleFucks = 0>>
-	<<set $pornStarPainals = 0>>
-	<<set $pornStarTeases = 0>>
-	<<set $pornStarRomantics = 0>>
-	<<set $pornStarPerverts = 0>>
-	<<set $pornStarCarings = 0>>
-	<<set $pornStarUnflinchings = 0>>
-	<<set $pornStarSizeQueens = 0>>
-	<<set $pornStarNeglectfuls = 0>>
-	<<set $pornStarCumAddicts = 0>>
-	<<set $pornStarAnalAddicts = 0>>
-	<<set $pornStarAttentionWhores = 0>>
-	<<set $pornStarBreastGrowths = 0>>
-	<<set $pornStarAbusives = 0>>
-	<<set $pornStarMalicious = 0>>
-	<<set $pornStarSelfHatings = 0>>
-	<<set $pornStarBreeders = 0>>
-	<<set $pornStarSubs = 0>>
-	<<set $pornStarCumSluts = 0>>
-	<<set $pornStarAnals = 0>>
-	<<set $pornStarHumiliations = 0>>
-	<<set $pornStarBoobs = 0>>
-	<<set $pornStarDoms = 0>>
-	<<set $pornStarSadists = 0>>
-	<<set $pornStarMasochists = 0>>
-	<<set $pornStarPregnancySluts = 0>>
-
-	/* level 3 prestige */
-	<<set $pornStarID = 0>>
-	<<set $pornStarFuckdollID = 0>>
-	<<set $pornStarRapeID = 0>>
-	<<set $pornStarPreggoID = 0>>
-	<<set $pornStarBBWID = 0>>
-	<<set $pornStarGainerID = 0>>
-	<<set $pornStarStudID = 0>>
-	<<set $pornStarLoliID = 0>>
-	<<set $pornStarDeepThroatID = 0>>
-	<<set $pornStarStruggleFuckID = 0>>
-	<<set $pornStarPainalID = 0>>
-	<<set $pornStarTeaseID = 0>>
-	<<set $pornStarRomanticID = 0>>
-	<<set $pornStarPervertID = 0>>
-	<<set $pornStarCaringID = 0>>
-	<<set $pornStarUnflinchingID = 0>>
-	<<set $pornStarSizeQueenID = 0>>
-	<<set $pornStarNeglectfulID = 0>>
-	<<set $pornStarCumAddictID = 0>>
-	<<set $pornStarAnalAddictID = 0>>
-	<<set $pornStarAttentionWhoreID = 0>>
-	<<set $pornStarBreastGrowthID = 0>>
-	<<set $pornStarAbusiveID = 0>>
-	<<set $pornStarMaliciousID = 0>>
-	<<set $pornStarSelfHatingID = 0>>
-	<<set $pornStarBreederID = 0>>
-	<<set $pornStarSubID = 0>>
-	<<set $pornStarCumSlutID = 0>>
-	<<set $pornStarAnalID = 0>>
-	<<set $pornStarHumiliationID = 0>>
-	<<set $pornStarBoobsID = 0>>
-	<<set $pornStarDomID = 0>>
-	<<set $pornStarSadistID = 0>>
-	<<set $pornStarMasochistID = 0>>
-	<<set $pornStarPregnancyID = 0>>
-<</if>>
+	/* create but don't populate (that happens later) */
+	<<set $pornStars = {}>>
+<</if>>
+
+/* migrate to new genre-driven pornstar object */
+<<if typeof $pornStars === "number">>
+	<<set _oldPornStars = $pornStars>>
+
+	<<set $pornStars = {}>>
+	<<set $pornStars.general = { p1count: _oldPornStars, p3ID: $pornStarID }>>
+	<<set $pornStars.fuckdoll = { p1count: $pornStarFuckdolls, p3ID: $pornStarFuckdollID }>>
+	<<set $pornStars.rape = { p1count: $pornStarRapees, p3ID: $pornStarRapeID }>>
+	<<set $pornStars.preggo = { p1count: $pornStarPreggos, p3ID: $pornStarPreggoID }>>
+	<<set $pornStars.BBW = { p1count: $pornStarBBWs, p3ID: $pornStarBBWID }>>
+	<<set $pornStars.gainer = { p1count: $pornStarGainers, p3ID: $pornStarGainerID }>>
+	<<set $pornStars.stud = { p1count: $pornStarStuds, p3ID: $pornStarStudID }>>
+	<<set $pornStars.loli = { p1count: $pornStarLolis, p3ID: $pornStarLoliID }>>
+	<<set $pornStars.deepThroat = { p1count: $pornStarDeepThroats, p3ID: $pornStarDeepThroatID }>>
+	<<set $pornStars.struggleFuck = { p1count: $pornStarStruggleFucks, p3ID: $pornStarStruggleFuckID }>>
+	<<set $pornStars.painal = { p1count: $pornStarPainals, p3ID: $pornStarPainalID }>>
+	<<set $pornStars.tease = { p1count: $pornStarTeases, p3ID: $pornStarTeaseID }>>
+	<<set $pornStars.romantic = { p1count: $pornStarRomantics, p3ID: $pornStarRomanticID }>>
+	<<set $pornStars.pervert = { p1count: $pornStarPerverts, p3ID: $pornStarPervertID }>>
+	<<set $pornStars.caring = { p1count: $pornStarCarings, p3ID: $pornStarCaringID }>>
+	<<set $pornStars.unflinching = { p1count: $pornStarUnflinchings, p3ID: $pornStarUnflinchingID }>>
+	<<set $pornStars.sizeQueen = { p1count: $pornStarSizeQueens, p3ID: $pornStarSizeQueenID }>>
+	<<set $pornStars.neglectful = { p1count: $pornStarNeglectfuls, p3ID: $pornStarNeglectfulID }>>
+	<<set $pornStars.cumAddict = { p1count: $pornStarCumAddicts, p3ID: $pornStarCumAddictID }>>
+	<<set $pornStars.analAddict = { p1count: $pornStarAnalAddicts, p3ID: $pornStarAnalAddictID }>>
+	<<set $pornStars.attentionWhore = { p1count: $pornStarAttentionWhores, p3ID: $pornStarAttentionWhoreID }>>
+	<<set $pornStars.breastGrowth = { p1count: $pornStarBreastGrowths, p3ID: $pornStarBreastGrowthID }>>
+	<<set $pornStars.abusive = { p1count: $pornStarAbusives, p3ID: $pornStarAbusiveID }>>
+	<<set $pornStars.malicious = { p1count: $pornStarMalicious, p3ID: $pornStarMaliciousID }>>
+	<<set $pornStars.selfHating = { p1count: $pornStarSelfHatings, p3ID: $pornStarSelfHatingID }>>
+	<<set $pornStars.breeder = { p1count: $pornStarBreeders, p3ID: $pornStarBreederID }>>
+	<<set $pornStars.sub = { p1count: $pornStarSubs, p3ID: $pornStarSubID }>>
+	<<set $pornStars.cumSlut = { p1count: $pornStarCumSluts, p3ID: $pornStarCumSlutID }>>
+	<<set $pornStars.anal = { p1count: $pornStarAnals, p3ID: $pornStarAnalID }>>
+	<<set $pornStars.humiliation = { p1count: $pornStarHumiliations, p3ID: $pornStarHumiliationID }>>
+	<<set $pornStars.boobs = { p1count: $pornStarBoobs, p3ID: $pornStarBoobsID }>>
+	<<set $pornStars.dom = { p1count: $pornStarDoms, p3ID: $pornStarDomID }>>
+	<<set $pornStars.sadist = { p1count: $pornStarSadists, p3ID: $pornStarSadistID }>>
+	<<set $pornStars.masochist = { p1count: $pornStarMasochists, p3ID: $pornStarMasochistID }>>
+	<<set $pornStars.pregnancy = { p1count: $pornStarPregnancySluts, p3ID: $pornStarPregnancyID }>>
+
+	/* Reset all the old porn type counts */
+	<<unset $pornStarFuckdolls>>
+	<<unset $pornStarRapees>>
+	<<unset $pornStarPreggos>>
+	<<unset $pornStarBBWs>>
+	<<unset $pornStarGainers>>
+	<<unset $pornStarStuds>>
+	<<unset $pornStarLolis>>
+	<<unset $pornStarDeepThroats>>
+	<<unset $pornStarStruggleFucks>>
+	<<unset $pornStarPainals>>
+	<<unset $pornStarTeases>>
+	<<unset $pornStarRomantics>>
+	<<unset $pornStarPerverts>>
+	<<unset $pornStarCarings>>
+	<<unset $pornStarUnflinchings>>
+	<<unset $pornStarSizeQueens>>
+	<<unset $pornStarNeglectfuls>>
+	<<unset $pornStarCumAddicts>>
+	<<unset $pornStarAnalAddicts>>
+	<<unset $pornStarAttentionWhores>>
+	<<unset $pornStarBreastGrowths>>
+	<<unset $pornStarAbusives>>
+	<<unset $pornStarMalicious>>
+	<<unset $pornStarSelfHatings>>
+	<<unset $pornStarBreeders>>
+	<<unset $pornStarSubs>>
+	<<unset $pornStarCumSluts>>
+	<<unset $pornStarAnals>>
+	<<unset $pornStarHumiliations>>
+	<<unset $pornStarBoobs>>
+	<<unset $pornStarDoms>>
+	<<unset $pornStarSadists>>
+	<<unset $pornStarMasochists>>
+	<<unset $pornStarPregnancySluts>>
+
+	/* Reset old level 3 prestige variables */
+	<<unset $pornStarID>>
+	<<unset $pornStarFuckdollID>>
+	<<unset $pornStarRapeID>>
+	<<unset $pornStarPreggoID>>
+	<<unset $pornStarBBWID>>
+	<<unset $pornStarGainerID>>
+	<<unset $pornStarStudID>>
+	<<unset $pornStarLoliID>>
+	<<unset $pornStarDeepThroatID>>
+	<<unset $pornStarStruggleFuckID>>
+	<<unset $pornStarPainalID>>
+	<<unset $pornStarTeaseID>>
+	<<unset $pornStarRomanticID>>
+	<<unset $pornStarPervertID>>
+	<<unset $pornStarCaringID>>
+	<<unset $pornStarUnflinchingID>>
+	<<unset $pornStarSizeQueenID>>
+	<<unset $pornStarNeglectfulID>>
+	<<unset $pornStarCumAddictID>>
+	<<unset $pornStarAnalAddictID>>
+	<<unset $pornStarAttentionWhoreID>>
+	<<unset $pornStarBreastGrowthID>>
+	<<unset $pornStarAbusiveID>>
+	<<unset $pornStarMaliciousID>>
+	<<unset $pornStarSelfHatingID>>
+	<<unset $pornStarBreederID>>
+	<<unset $pornStarSubID>>
+	<<unset $pornStarCumSlutID>>
+	<<unset $pornStarAnalID>>
+	<<unset $pornStarHumiliationID>>
+	<<unset $pornStarBoobsID>>
+	<<unset $pornStarDomID>>
+	<<unset $pornStarSadistID>>
+	<<unset $pornStarMasochistID>>
+	<<unset $pornStarPregnancyID>>
+
+<</if>>
+
+/* make sure that any new genres get added correctly (and populate $pornStars for very old games) */
+<<for _genre range App.Porn.getAllGenres()>>
+	<<if ndef $pornStars[_genre.fameVar]>>
+		<<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>>
+	<</if>>
+<</for>>
 
 <<if $PCSlutContacts == 0>>
 	<<set $PCSlutContacts = 1>>
@@ -3068,23 +3119,11 @@ Setting missing global variables:
 <<if ndef $foodMarket>>
 	<<set $foodMarket = 0>>
 <</if>>
-<<if ndef $slaveRate>>
-	<<set $slaveRate = 2>>
-<</if>>
-<<if ndef $lowerRate>>
-	<<set $lowerRate = 1.8>>
-<</if>>
-<<if ndef $middleRate>>
-	<<set $middleRate = 2>>
-<</if>>
-<<if ndef $upperRate>>
-	<<set $upperRate = 2.2>>
-<</if>>
-<<if ndef $topRate>>
-	<<set $topRate = 2.4>>
+<<if ndef $foodRate>>
+	<<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>>
 <</if>>
 <<if ndef $foodConsumption>>
-	<<set $foodConsumption = (($lowerClass*$lowerRate) + ($middleClass*$middleRate) + ($upperClass*$upperRate) + ($topClass*$topRate))>>		/* total amount food consumed per week */
+	<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>>	/* total amount food consumed per week */
 <</if>>
 <<if ndef $revealFoodEffects>>
 	<<set $revealFoodEffects = 0>>
@@ -3092,6 +3131,21 @@ Setting missing global variables:
 <<if ndef $rations>>
 	<<set $rations = 0>>
 <</if>>
+<<if ndef $slaveRate>>
+	<<set $slaveRate = 2>>
+<</if>>
+<<if def $lowerRate>>
+	<<unset $lowerRate = 1.8>>
+<</if>>
+<<if def $middleRate>>
+	<<unset $middleRate = 2>>
+<</if>>
+<<if def $upperRate>>
+	<<unset $upperRate = 2.2>>
+<</if>>
+<<if def $topRate>>
+	<<unset $topRate = 2.4>>
+<</if>>
 
 <<if ndef $lastWeeksCashIncome>>
 	<<setupLastWeeksCash>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 14ae234f85d90b2072f626f9579616d47ffa44e0..25656969d19191bef1b79d85c0011abc251df30c 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -3207,7 +3207,7 @@ $he <<if canSee($activeSlave)>>looks up to find $himself gazing into your eyes<<
 
 <br><br>
 
-Opportunities for gallantry didn't used to fall into your lap like this, but with a harem of busy sex slaves living and working in close proximity, they're common. For $his part, $activeSlave.slaveName doesn't seem to mind acting out bad romantic comedy. $He shows no sign of getting back to $his own feet, and nuzzles $his $activeSlave.skin cheek against your
+Opportunities for gallantry didn't use to fall into your lap like this, but with a harem of busy sex slaves living and working in close proximity, they're common. For $his part, $activeSlave.slaveName doesn't seem to mind acting out bad romantic comedy. $He shows no sign of getting back to $his own feet, and nuzzles $his $activeSlave.skin cheek against your
 <<if $PC.belly >= 10000>>
 	taut middle,
 <<elseif $PC.boobs >= 300>>
diff --git a/src/uncategorized/arcologyDescription.tw b/src/uncategorized/arcologyDescription.tw
index 2ba9c7e6de3d5fa7fe8428064eff16bcccc755ea..ee83fd723f11e637f60048828db4cdf4d083ced8 100644
--- a/src/uncategorized/arcologyDescription.tw
+++ b/src/uncategorized/arcologyDescription.tw
@@ -3,7 +3,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;
 __'' $arcologies[0].name''__, your arcology, is located in a Free City in <<if $terrain == "oceanic">>the middle of the ocean<<else>>$continent<</if>>. It is a huge structure whose<<if $arcologyUpgrade.apron == 1>> solar-paneled<</if>> skin gleams in the sunshine<<if $arcologyUpgrade.hydro == 1>>, while verdant exterior hydroponics bays lend it an air of growth<</if>>.
 <<if $weatherCladding == 1>>
-	Much of its beautiful exterior is now hidden behind dull panels of weather cladding<<if $arcologyUpgrade.spire == 1>>, though its highest point is capped by tall, elegant spire<</if>>.
+	Much of its beautiful exterior is now hidden behind dull panels of weather cladding<<if $arcologyUpgrade.spire == 1>>, though its highest point is capped by a tall, elegant spire<</if>>.
 <<elseif $weatherCladding == 2>>
 	The entirety of its once dull exterior has been retrofitted with breathtaking golden sheets in eye catching designs<<if $arcologyUpgrade.spire == 1>>, its highest point capped by a tall, magnificent spire<</if>>.
 <</if>>
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index fe3942c31b4b750d59858925b7fc2845d0cc4076..49d940c2fa383be6e664c09a8c1246a9b0fee0bf 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -167,7 +167,9 @@ __Construction__
 <</if>>
 
 <<if $foodMarket > 0>>
-	<br><br><<include "Food Market">>
+	<br><br>
+	__Food Management__
+	<<include "Food Market">>
 <</if>>
 
 <br><br>
diff --git a/src/uncategorized/managePenthouse.tw b/src/uncategorized/managePenthouse.tw
index f4b3bd5265f2f3eeb4e9668f45136856886502c7..90d5f98a307362a359e90c05c4c3482885908c85 100644
--- a/src/uncategorized/managePenthouse.tw
+++ b/src/uncategorized/managePenthouse.tw
@@ -383,7 +383,7 @@ __Penthouse Upgrades__
 	<<else>>
 		[[Clear out one of the floors and install equipment to construct prosthetics yourself|Manage Penthouse][cashX(forceNeg(Math.trunc(150000*$upgradeMultiplierArcology)), "capEx"), $researchLab.level = 1, $researchLab.maxSpace = 5, $PC.skill.engineering += 1]]
 		//Costs <<print cashFormat(Math.trunc(150000*$upgradeMultiplierArcology))>>//<br>
-		//Buying the equipment to construct prosthetics yourself is expensive but if you want to construct a lot prosthetics it will pay out in the long run.//
+		//Buying the equipment to construct prosthetics yourself is expensive but if you want to construct a lot of prosthetics it will pay out in the long run.//
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 3de6a6fbc775064b02441e738a2815207a051b59..d9fdeca1ac6b7a6f8fb919dbf796eb567d57613a 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -95,14 +95,9 @@
 
 <<set $averageTrust = 0, $averageDevotion = 0, _slavesContributing = 0, _OldHG = -1, _NewHG = -1, _SL = $slaves.length>>
 <<if $studio == 1>>
-	<<set $pornStars = 0, $pornStarFuckdolls = 0, $pornStarRapees = 0, $pornStarPreggos = 0,
-	$pornStarBBWs = 0, $pornStarGainers = 0, $pornStarStuds = 0, $pornStarLolis = 0,
-	$pornStarDeepThroats = 0, $pornStarStruggleFucks = 0, $pornStarTeases = 0,
-	$pornStarRomantics = 0, $pornStarPerverts = 0, $pornStarCarings = 0, $pornStarUnflinchings = 0,
-	$pornStarSizeQueens = 0, $pornStarNeglectfuls = 0, $pornStarCumAddicts = 0, $pornStarAnalAddicts = 0,
-	$pornStarAttentionWhores = 0, $pornStarBreastGrowths = 0, $pornStarAbusives = 0, $pornStarMalicious = 0, $pornStarSelfHatings = 0, $pornStarBreeders = 0, $pornStarSubs = 0, $pornStarCumSluts = 0,
-	$pornStarAnals = 0, $pornStarHumiliations = 0, $pornStarBoobs = 0, $pornStarDoms = 0,
-	$pornStarSadists = 0, $pornStarMasochists = 0, $pornStarPregnancySluts = 0>>
+	<<for _genre range App.Porn.getAllGenres()>>
+		<<set $pornStars[_genre.fameVar].p1count = 0>>
+	<</for>>
 <</if>>
 <<for _i = 0; _i < _SL; _i++>>
 	<<if def $slaves[_i].curBabies>>
@@ -230,41 +225,10 @@
 		<<set $averageTrust += $slaves[_i].trust*0.5, $averageDevotion += $slaves[_i].devotion*0.5, _slavesContributing += 0.5>>
 	<</if>>
 	<<if $studio == 1>>
-		<<if $slaves[_i].porn.fame.general > 0>><<set $pornStars++>><</if>>
-		<<if $slaves[_i].porn.fame.fuckdoll > 0>><<set $pornStarFuckdolls++>><</if>>
-		<<if $slaves[_i].porn.fame.rape > 0>><<set $pornStarRapees++>><</if>>
-		<<if $slaves[_i].porn.fame.preggo > 0>><<set $pornStarPreggos++>><</if>>
-		<<if $slaves[_i].porn.fame.BBW > 0>><<set $pornStarBBWs++>><</if>>
-		<<if $slaves[_i].porn.fame.gainer > 0>><<set $pornStarGainers++>><</if>>
-		<<if $slaves[_i].porn.fame.stud > 0>><<set $pornStarStuds++>><</if>>
-		<<if $slaves[_i].porn.fame.loli > 0>><<set $pornStarLolis++>><</if>>
-		<<if $slaves[_i].porn.fame.deepThroat > 0>><<set $pornStarDeepThroats++>><</if>>
-		<<if $slaves[_i].porn.fame.struggleFuck > 0>><<set $pornStarStruggleFucks++>><</if>>
-		<<if $slaves[_i].porn.fame.painal > 0>><<set $pornStarPainals++>><</if>>
-		<<if $slaves[_i].porn.fame.tease > 0>><<set $pornStarTeases++>><</if>>
-		<<if $slaves[_i].porn.fame.romantic > 0>><<set $pornStarRomantics++>><</if>>
-		<<if $slaves[_i].porn.fame.pervert > 0>><<set $pornStarPerverts++>><</if>>
-		<<if $slaves[_i].porn.fame.caring > 0>><<set $pornStarCarings++>><</if>>
-		<<if $slaves[_i].porn.fame.unflinching > 0>><<set $pornStarUnflinchings++>><</if>>
-		<<if $slaves[_i].porn.fame.sizeQueen > 0>><<set $pornStarSizeQueens++>><</if>>
-		<<if $slaves[_i].porn.fame.neglectful > 0>><<set $pornStarNeglectfuls++>><</if>>
-		<<if $slaves[_i].porn.fame.cumAddict > 0>><<set $pornStarCumAddicts++>><</if>>
-		<<if $slaves[_i].porn.fame.analAddict > 0>><<set $pornStarAnalAddicts++>><</if>>
-		<<if $slaves[_i].porn.fame.attentionWhore > 0>><<set $pornStarAttentionWhores++>><</if>>
-		<<if $slaves[_i].porn.fame.breastGrowth > 0>><<set $pornStarBreastGrowths++>><</if>>
-		<<if $slaves[_i].porn.fame.abusive > 0>><<set $pornStarAbusives++>><</if>>
-		<<if $slaves[_i].porn.fame.malicious > 0>><<set $pornStarMalicious++>><</if>>
-		<<if $slaves[_i].porn.fame.selfHating > 0>><<set $pornStarSelfHatings++>><</if>>
-		<<if $slaves[_i].porn.fame.breeder > 0>><<set $pornStarBreeders++>><</if>>
-		<<if $slaves[_i].porn.fame.sub > 0>><<set $pornStarSubs++>><</if>>
-		<<if $slaves[_i].porn.fame.cumSlut > 0>><<set $pornStarCumSluts++>><</if>>
-		<<if $slaves[_i].porn.fame.anal > 0>><<set $pornStarAnals++>><</if>>
-		<<if $slaves[_i].porn.fame.humiliation > 0>><<set $pornStarHumiliations++>><</if>>
-		<<if $slaves[_i].porn.fame.boobs > 0>><<set $pornStarBoobs++>><</if>>
-		<<if $slaves[_i].porn.fame.dom > 0>><<set $pornStarDoms++>><</if>>
-		<<if $slaves[_i].porn.fame.sadist > 0>><<set $pornStarSadists++>><</if>>
-		<<if $slaves[_i].porn.fame.masochist > 0>><<set $pornStarMasochists++>><</if>>
-		<<if $slaves[_i].porn.fame.pregnancy > 0>><<set $pornStarPregnancySluts++>><</if>>
+		<<set _activeGenres = App.Porn.getAllGenres().filter((g) => $slaves[_i].porn.fame[g.fameVar] > 0)>>
+		<<for _genre range _activeGenres>>
+			<<set $pornStars[_genre.fameVar].p1count++>>
+		<</for>>
 	<</if>>
 	<<if $slaves[_i].choosesOwnAssignment > 0>>
 		<<= assignJob($slaves[_i], "choose her own job")>>
diff --git a/src/uncategorized/officeDescription.tw b/src/uncategorized/officeDescription.tw
index c2837819e597862c746a1f526e13861f3c069b7e..fbd9d77f675c22243b4a7c80083c1c7032ea8b19 100644
--- a/src/uncategorized/officeDescription.tw
+++ b/src/uncategorized/officeDescription.tw
@@ -192,7 +192,7 @@
 <<= printTrinkets()>>
 
 A small mirror resides on your desk, facing you.
-A $PC.visualAge year old<<if $PC.markings == "freckles">>, freckled<<elseif $PC.markings == "heavily freckled">>, densely freckled<</if>> $PC.faceShape face stares back at you.
+A $PC.visualAge year old, $PC.faceShape <<if $PC.markings == "freckles">>, freckled<<elseif $PC.markings == "heavily freckled">>, densely freckled<</if>> face stares back at you.
 <<if ($playerAging != 0) && $PC.birthWeek == 51>>You'll be turning <<print $PC.actualAge+1>> next week.<</if>>
 <<PlayerBoobs>>
 <<PlayerBelly>>
diff --git a/src/uncategorized/pBioreactorPerfected.tw b/src/uncategorized/pBioreactorPerfected.tw
index c9d0a6ef9b47f5b1d653f521aa6fa64ae37a0444..91dddc51734c589b1df23c6f6319f637aa69f720 100644
--- a/src/uncategorized/pBioreactorPerfected.tw
+++ b/src/uncategorized/pBioreactorPerfected.tw
@@ -8,6 +8,24 @@
 	<<goto "Random Nonindividual Event">>
 <<else>>
 
+<<set _bioreactorsXX = 0>>
+<<set _bioreactorsXY = 0>>
+<<set _bioreactorsHerm = 0>>
+<<set _bioreactorsBarren = 0>>
+<<if ($activeSlave.ovaries == 1)>>
+	<<if ($activeSlave.balls == 0)>>
+		<<set _bioreactorsXX = 1>>
+	<<else>>
+		<<set _bioreactorsHerm = 1>>
+	<</if>>
+<<else>>
+	<<if ($activeSlave.balls == 0)>>
+		<<set _bioreactorsBarren = 1>>
+	<<else>>
+		<<set _bioreactorsXY = 1>>
+	<</if>>
+<</if>>
+
 <<setLocalPronouns $activeSlave>>
 <<setAssistantPronouns>>
 
@@ -162,19 +180,10 @@ You stop and consider the cow, from $his titanic breasts to $his <<if ($activeSl
 			<</switch>>
 		<</if>>
 		"Future redesignations can always be disabled from $dairyName interface."
-		<<if ($activeSlave.ovaries == 1)>>
-			<<if ($activeSlave.balls == 0)>>
-				<<set $bioreactorsXX += 1>>
-			<<else>>
-				<<set $bioreactorsHerm += 1>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.balls == 0)>>
-				<<set $bioreactorsBarren += 1>>
-			<<else>>
-				<<set $bioreactorsXY += 1>>
-			<</if>>
-		<</if>>
+		<<set $bioreactorsXX += _bioreactorsXX>>
+		<<set $bioreactorsXY += _bioreactorsXY>>
+		<<set $bioreactorsHerm += _bioreactorsHerm>>
+		<<set $bioreactorsBarren += _bioreactorsBarren>>	
 		<<= removeActiveSlave() >>
 		<<set $createBioreactors = 1>>
 	<</replace>>
@@ -186,4 +195,51 @@ You stop and consider the cow, from $his titanic breasts to $his <<if ($activeSl
 <</link>>
 </span>
 
+<h3>$His records...</h3>
+<div class="detail">
+	<p>
+	<div class="indent">
+		/* Copied and modified from dairyReport, should be kept in sync manually to be*/
+
+		/*Income section */
+		<<set _cashX = 0>>
+
+		/* Cum */
+		<<set _seed = (100*_bioreactorsXY) + (100*_bioreactorsHerm)>>
+		<<if ($arcologies[0].FSPastoralistLaw == 1)>>
+			<<set _cashX += _seed*random(40,50)>>
+		<<elseif ($arcologies[0].FSPastoralist != "unset")>>
+			<<set _cashX += _seed*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10))>>
+		<<else>>
+			<<set _cashX += _seed*random(25,35)>>
+		<</if>>
+
+		/* FemCum */
+		<<set _seed = (2*_bioreactorsXX) + (2*_bioreactorsHerm)>>
+		<<if ($arcologies[0].FSPastoralistLaw == 1)>>
+			<<set _cashX += _seed*random(40,50)>>
+		<<elseif ($arcologies[0].FSPastoralist != "unset")>>
+			<<set _cashX += _seed*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10))>>
+		<<else>>
+			<<set _cashX += _seed*random(25,35)>>
+		<</if>>
+
+		/* Milk */
+		<<set _seed = (800*_bioreactorsXX) + (700*_bioreactorsBarren) + (600*_bioreactorsXY) + (600*_bioreactorsHerm)>>
+		<<if ($arcologies[0].FSPastoralistLaw == 1)>>
+			<<set _cashX += _seed*(13+Math.trunc($arcologies[0].FSPastoralist/30))>>
+		<<elseif ($arcologies[0].FSPastoralist != "unset")>>
+			<<set _cashX += _seed*(8+Math.trunc($arcologies[0].FSPastoralist/30))>>
+		<<else>>
+			<<set _cashX += _seed*9>>
+		<</if>>
+
+		As a bioreactor, she might gross <<print cashFormatColor(_cashX)>> and cost just <<print cashFormatColor(-100)>>, bringing in <<print cashFormatColor(_cashX - 100)>>
+	</div>
+	</p>
+	<div class="indent">
+		$His current task is to <<print $activeSlave.assignment>><<if $assignmentRecords[$slaves[$i].ID]>>, and before that to <<print $assignmentRecords[$slaves[$i].ID]>><</if>>.
+	</div>
+	<<SlaveExpenses $activeSlave>>
+</div>
 <</if>> /* closes validity check */
diff --git a/src/uncategorized/pMercenaryRomeo.tw b/src/uncategorized/pMercenaryRomeo.tw
index 5e35069434ad2c7c6b73efefed307836f46e8420..dec3678b27a9b1c946235d95f67ab9a76d6d6a98 100644
--- a/src/uncategorized/pMercenaryRomeo.tw
+++ b/src/uncategorized/pMercenaryRomeo.tw
@@ -141,4 +141,12 @@ proffered by an attentive slave _girlU, he seems almost bashful.
 	<</link>>
 	</span>
 
+	<h3>$His records...</h3>
+	<div class="detail">
+		<div class="indent">
+			$His current task is to <<print $activeSlave.assignment>><<if $assignmentRecords[$slaves[$i].ID]>>, and before that to <<print $assignmentRecords[$slaves[$i].ID]>><</if>>.
+		</div>
+		<<SlaveExpensesExtra $activeSlave>>
+	</div>
+
 <</if>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 1265095261a472599e11ddd91e3a3c634e050d14..cf256ef7af13e8c62a3bd8ef616cb70638514ae4 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -858,7 +858,7 @@
 	<<else>>
 		$He just follows orders.
 	<</if>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Lastly, you place $him in a special room in your penthouse filled with live video equipment. They get to see $him groped, deepthroated, facial'd, teased, and tortured.
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Lastly, you place $him in a special room in your penthouse filled with live video equipment. They get to see $him groped, deepthroated, facialed, teased, and tortured.
 	<<if $activeSlave.fetish == "humiliation">>
 		The more viewers $he gets, the harder $he comes. $He's a slut for humiliation! Discovering this about $himself under your hands has @@.hotpink;increased $his devotion to you.@@
 		<<set $activeSlave.devotion += 4>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index de5800c254e4814231e0bf808a9dec37c18431fd..647753158fd4a1f3c0158b61c428f97651987ba8 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -391,48 +391,7 @@
 <<set $activeSlave.hormones = 0>>
 <<set $activeSlave.waist = 0>>
 <<set $activeSlave.prestige = 0>>
-<<set $activeSlave.porn.viewerCount = 0>>
-<<set $activeSlave.porn.spending = 0>>
-<<set $activeSlave.porn.feed = 0>>
-<<set $activeSlave.porn.prestige = 0>>
-<<set $activeSlave.porn.prestigeDesc = 0>>
-<<set $activeSlave.porn.fameType = "none">>
-<<set $activeSlave.porn.focus = "none">>
-<<set $activeSlave.porn.fame.general = 0>>
-<<set $activeSlave.porn.fame.fuckdoll = 0>>
-<<set $activeSlave.porn.fame.rape = 0>>
-<<set $activeSlave.porn.fame.preggo = 0>>
-<<set $activeSlave.porn.fame.BBW = 0>>
-<<set $activeSlave.porn.fame.gainer = 0>>
-<<set $activeSlave.porn.fame.stud = 0>>
-<<set $activeSlave.porn.fame.loli = 0>>
-<<set $activeSlave.porn.fame.deepThroat = 0>>
-<<set $activeSlave.porn.fame.struggleFuck = 0>>
-<<set $activeSlave.porn.fame.painal = 0>>
-<<set $activeSlave.porn.fame.tease = 0>>
-<<set $activeSlave.porn.fame.romantic = 0>>
-<<set $activeSlave.porn.fame.pervert = 0>>
-<<set $activeSlave.porn.fame.caring = 0>>
-<<set $activeSlave.porn.fame.unflinching = 0>>
-<<set $activeSlave.porn.fame.sizeQueen = 0>>
-<<set $activeSlave.porn.fame.neglectful = 0>>
-<<set $activeSlave.porn.fame.cumAddict = 0>>
-<<set $activeSlave.porn.fame.analAddict = 0>>
-<<set $activeSlave.porn.fame.attentionWhore = 0>>
-<<set $activeSlave.porn.fame.breastGrowth = 0>>
-<<set $activeSlave.porn.fame.abusive = 0>>
-<<set $activeSlave.porn.fame.malicious = 0>>
-<<set $activeSlave.porn.fame.selfHating = 0>>
-<<set $activeSlave.porn.fame.breeder = 0>>
-<<set $activeSlave.porn.fame.sub = 0>>
-<<set $activeSlave.porn.fame.cumSlut = 0>>
-<<set $activeSlave.porn.fame.anal = 0>>
-<<set $activeSlave.porn.fame.humiliation = 0>>
-<<set $activeSlave.porn.fame.boobs = 50>>
-<<set $activeSlave.porn.fame.dom = 0>>
-<<set $activeSlave.porn.fame.sadist = 0>>
-<<set $activeSlave.porn.fame.masochist = 0>>
-<<set $activeSlave.porn.fame.pregnancy = 0>>
+<<set $activeSlave.porn = new App.Entity.SlavePornPerformanceState()>>
 <<set $activeSlave.prestigeDesc = "">>
 <<set $activeSlave.rivalry = 0>>
 <<set $activeSlave.rivalryTarget = 0>>
@@ -1026,48 +985,7 @@ You look up the _relationType. _He2 costs <<print cashFormat(_slaveCost)>>, a ba
 	<<set $activeSlave.nipples = either("cute", "inverted", "partially inverted", "puffy")>>
 <</if>>
 <<set $activeSlave.prestige = 0>>
-<<set $activeSlave.porn.viewerCount = 0>>
-<<set $activeSlave.porn.spending = 0>>
-<<set $activeSlave.porn.feed = 0>>
-<<set $activeSlave.porn.prestige = 0>>
-<<set $activeSlave.porn.prestigeDesc = 0>>
-<<set $activeSlave.porn.fameType = "none">>
-<<set $activeSlave.porn.focus = "none">>
-<<set $activeSlave.porn.fame.general = 0>>
-<<set $activeSlave.porn.fame.fuckdoll = 0>>
-<<set $activeSlave.porn.fame.rape = 0>>
-<<set $activeSlave.porn.fame.preggo = 0>>
-<<set $activeSlave.porn.fame.BBW = 0>>
-<<set $activeSlave.porn.fame.gainer = 0>>
-<<set $activeSlave.porn.fame.stud = 0>>
-<<set $activeSlave.porn.fame.loli = 0>>
-<<set $activeSlave.porn.fame.deepThroat = 0>>
-<<set $activeSlave.porn.fame.struggleFuck = 0>>
-<<set $activeSlave.porn.fame.painal = 0>>
-<<set $activeSlave.porn.fame.tease = 0>>
-<<set $activeSlave.porn.fame.romantic = 0>>
-<<set $activeSlave.porn.fame.pervert = 0>>
-<<set $activeSlave.porn.fame.caring = 0>>
-<<set $activeSlave.porn.fame.unflinching = 0>>
-<<set $activeSlave.porn.fame.sizeQueen = 0>>
-<<set $activeSlave.porn.fame.neglectful = 0>>
-<<set $activeSlave.porn.fame.cumAddict = 0>>
-<<set $activeSlave.porn.fame.analAddict = 0>>
-<<set $activeSlave.porn.fame.attentionWhore = 0>>
-<<set $activeSlave.porn.fame.breastGrowth = 0>>
-<<set $activeSlave.porn.fame.abusive = 0>>
-<<set $activeSlave.porn.fame.malicious = 0>>
-<<set $activeSlave.porn.fame.selfHating = 0>>
-<<set $activeSlave.porn.fame.breeder = 0>>
-<<set $activeSlave.porn.fame.sub = 0>>
-<<set $activeSlave.porn.fame.cumSlut = 0>>
-<<set $activeSlave.porn.fame.anal = 0>>
-<<set $activeSlave.porn.fame.humiliation = 0>>
-<<set $activeSlave.porn.fame.boobs = 50>>
-<<set $activeSlave.porn.fame.dom = 0>>
-<<set $activeSlave.porn.fame.sadist = 0>>
-<<set $activeSlave.porn.fame.masochist = 0>>
-<<set $activeSlave.porn.fame.pregnancy = 0>>
+<<set $activeSlave.porn = new App.Entity.SlavePornPerformanceState()>>
 <<set $activeSlave.prestigeDesc = "">>
 <<if ndef $activeSlave.geneMods>>
 	<<set $activeSlave.geneMods = {NCS: 0, rapidCellGrowth: 0}>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index a47d363366103253994f3141c3f27f0cbbebe25e..5f5565af8b8eb825dfb6ec80cd1b03158f608b1f 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -556,7 +556,7 @@
 <<set $activeSlave.relationship = 2>>
 <<set $activeSlave.relationshipTarget = $activeSlave.ID + 1000>>
 <<set _slaveCost = slaveCost($activeSlave)>>
-<<set _ContractCost = _slaveCost*2>>
+<<set _ContractCost = _slaveCost>>
 
 <<case "identical pair">>
 
@@ -610,7 +610,7 @@
 <<set $activeSlave.relationship = 2>>
 <<set $activeSlave.relationshipTarget = $activeSlave.ID + 1000>>
 <<set _slaveCost = slaveCost($activeSlave)>>
-<<set _ContractCost = _slaveCost*2>>
+<<set _ContractCost = _slaveCost>>
 
 <<case "identical herm pair">>
 
@@ -675,7 +675,7 @@
 <<set $activeSlave.relationship = 4>>
 <<set $activeSlave.relationshipTarget = $activeSlave.ID + 1000>>
 <<set _slaveCost = slaveCost($activeSlave)>>
-<<set _ContractCost = _slaveCost*2>>
+<<set _ContractCost = _slaveCost>>
 
 <<case "desperate broodmother">>
 
@@ -898,8 +898,8 @@
 <<set $activeSlave.pregType = 1>>
 <<set $activeSlave.pregKnown = 1>>
 <<set $activeSlave.pregWeek = $activeSlave.preg>>
-<<run SetBellySize($activeSlave)>>
 <<set $activeSlave.pregSource = $activeSlave.ID - 1000>>
+<<run SetBellySize($activeSlave)>>
 <<set $activeSlave.faceShape = "cute">>
 <<set $activeSlave.behavioralQuirk = "none">>
 <<set $activeSlave.sexualQuirk = "perverted">>
@@ -1227,8 +1227,14 @@
 <<case "identical herm pair">>
 
 <<set $activeSlave.ID = $activeSlave.ID + 1000>>
-<<set $activeSlave.womb = []>>
+<<set WombFlush($activeSlave)>>
+<<set $activeSlave.preg = 30>>
+<<set $activeSlave.pregType = 2>>
 <<set $activeSlave.pregSource = $activeSlave.ID - 1000>>
+<<set $activeSlave.pregKnown = 1>>
+<<set $activeSlave.pregWeek = $activeSlave.preg>>
+<<set $activeSlave.belly = 14000>>
+<<set $activeSlave.bellyPreg = 14000>>
 <<if $familyTesting == 1>>
 <<else>>
 	<<set $activeSlave.relation = "twin">>
@@ -1379,6 +1385,36 @@
 <<if _familyName>><<set $relative2.slaveSurname = _familyName>><</if>>
 <<set $relative2.birthSurname = _familyBirthSurname>>
 
+/* set first slave pregnancy stats */
+<<switch $RecETSevent>>
+<<case "incest mother son" "incest brother sister" "identical herm pair">>
+	<<set _name1 = $relative2.slaveName>>
+	<<if _familyName>>
+		<<set _name1 += " " + $relative2.slaveSurname>>
+	<</if>>
+	<<run WombChangeGene($relative, "fatherName", _name1)>>
+	<<set _name2 = $relative.slaveName>>
+	<<if _familyName>>
+		<<set _name2 += " " + $relative.slaveSurname>>
+	<</if>>
+	<<run WombChangeGene($relative, "motherName", _name2)>>
+<</switch>>
+
+/* set second slave pregnancy stats */
+<<switch $RecETSevent>>
+<<case "incest father daughter" "identical herm pair">>
+	<<set _name1 = $relative.slaveName>>
+	<<if _familyName>>
+		<<set _name1 += " " + $relative.slaveSurname>>
+	<</if>>
+	<<run WombChangeGene($relative2, "fatherName", _name1)>>
+	<<set _name2 = $relative2.slaveName>>
+	<<if _familyName>>
+		<<set _name2 += " " + $relative2.slaveSurname>>
+	<</if>>
+	<<run WombChangeGene($relative2, "motherName", _name2)>>
+<</switch>>
+
 <<setLocalPronouns $relative>>
 <<setLocalPronouns $relative2 2>>
 <<setAssistantPronouns>>
@@ -1413,7 +1449,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 
 <br><br>
 
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest father daughter">>
 
@@ -1425,7 +1461,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 
 <br><br>
 
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest brother sister">>
 
@@ -1433,7 +1469,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are a _sister2 and $sister who had to flee their home after their parents found out they were having sex with each other. $His gravid middle is testament to that. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest sister sister">>
 
@@ -1441,7 +1477,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are two <<= $sister>>s who had to flee their home after their parents found out they were having sex with each other. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest brother brother">>
 
@@ -1449,7 +1485,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are two <<= $sister>>s who had to flee their home after their parents found out they were having sex with each other. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest twin sister">>
 
@@ -1457,7 +1493,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are twin <<= $sister>>s who had to flee their home after their parents found out they were having sex with each other. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest twin brother">>
 
@@ -1465,7 +1501,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are twin <<= $sister>>s who had to flee their home after their parents found out they were having sex with each other. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest twins mixed">>
 
@@ -1473,7 +1509,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are twins who had to flee their home after their parents found out they were having sex with each other. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest mother daughter">>
 
@@ -1481,7 +1517,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are a mother and _daughter2 who had to flee their home after $his husband found out $he was having sex with their _daughter2. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "incest father son">>
 
@@ -1489,7 +1525,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 <br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual — the callers seem stressed, but otherwise normal. They haltingly and quietly explain that they are a father and _daughter2 who had to flee their home after $his wife found out $he was having sex with their _daughter2. They feel that life in an arcology together, even as slaves, would be better than their current life on the streets.
 <br><br>
-It would cost <<print cashFormat(_ContractCost)>> to enslave the two of them.
+It would cost <<print cashFormat(_ContractCost*2)>> to enslave the two of them.
 
 <<case "mismatched pair">>
 
@@ -1720,7 +1756,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 <<if $minimumSlaveAge <= 3>>
 	<<link "Accept $his offer">>
 		<<replace "#result">>
-		You have the needy $girl immediately bought to your penthouse where you help $his laboring body into an available bed or inspection. $He asks where $his other babies were taken, to which you reply somewhere they can be raised properly. They'll be taken care of and won't have to grow up on the streets, plus they were sucking the life out of $him. $He's a little depressed at the news, but understands your reasons. You take the opportunity to give $him a good look over; $he is really dilated! Apart from that, between all the births and dicks, $his vagina is rather worn out, though $he seems to understand how to use it. $His anus has also seen use, but not nearly as much.
+		You have the needy $girl immediately bought to your penthouse where you help $his laboring body into an available bed for inspection. $He asks where $his other babies were taken, to which you reply somewhere they can be raised properly. They'll be taken care of and won't have to grow up on the streets, plus they were sucking the life out of $him. $He's a little depressed at the news, but understands your reasons. You take the opportunity to give $him a good look over; $he is really dilated! Apart from that, between all the births and dicks, $his vagina is rather worn out, though $he seems to understand how to use it. $His anus has also seen use, but not nearly as much.
 		<br><br>
 		You turn to the child clutching $his mother's grotesque belly. _He2 is in better shape than _his2 mother and tries to hide behind $his belly when you look at _him2. _He2'll be broken into a good little _girl2 for you soon enough.
 		<<if $relative2.preg > 0>>
@@ -1745,13 +1781,13 @@ This call is coming from a public kiosk, which is usually an indication that the
 
 <<case "identical herm pair" "identical pair" "incest brother brother" "incest brother sister" "incest father daughter" "incest father son" "incest mother daughter" "incest mother son" "incest sister sister" "incest twin brother" "incest twin sister" "incest twins mixed" "matched pair">>
 
-<<if $cash >= _ContractCost>>
+<<if $cash >= _ContractCost*2>>
 
 <<switch $RecETSevent>>
 
 <<case "identical herm pair" "identical pair" "matched pair">>
 <<link "Buy them both">>
-	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+	
 	<<replace #result>>
 		<<switch $RecETSevent>>
 		<<case "identical herm pair">>
@@ -1764,13 +1800,14 @@ This call is coming from a public kiosk, which is usually an indication that the
 		<</switch>>
 		<<run newSlave($relative)>>
 		<<run newSlave($relative2)>>
+		<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $relative)>>
+		<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $relative2)>>
 	<</replace>>
 <</link>>
 
 <<case "incest brother brother" "incest brother sister" "incest father daughter" "incest father son" "incest mother daughter" "incest mother son" "incest sister sister" "incest twin brother" "incest twin sister" "incest twins mixed">>
 
 <<link "Buy them both">>
-	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
 	<<replace #mainbody>>
 	<<switch $RecETSevent>>
 	<<case "incest brother brother">>
@@ -1802,6 +1839,8 @@ This call is coming from a public kiosk, which is usually an indication that the
 		<<run newSlave($relative)>>
 		<<run newSlave($relative2)>>
 	<</switch>>
+	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $relative)>>
+	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $relative2)>>
 	<<include "newSlaveIncestSex">>
 	<</replace>>
 <</link>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index adcb4657963529e967bec58c1c6ca483d2ca9a71..094f944661eacb34288cb2589d38040d487ef207 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1092,6 +1092,9 @@
 					<<if $fertilityImplant == 1>>
 						[[Install fertility implants|Surgery Degradation][$activeSlave.ovaImplant = "fertility",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
 					<</if>>
+					<<if $fertilityImplant || $sympatheticOvaries>>
+						<br>
+					<</if>>
 					<<if $sympatheticOvaries == 1>>
 						[[Install sympathetic ovulation implants|Surgery Degradation][$activeSlave.ovaImplant = "sympathy",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
 					<</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 2a3eebda5649309f61fa51b61c2fff724bea647c..e35773a2da788f932f5346bee6a6d5222dcc3ded 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -8340,7 +8340,7 @@
 		<<run cashX(_donations, "porn", $slaves[$i])>>
 	<</if>>
 <<elseif $slaves[$i].porn.feed > 0>>
-	<<include "SA Porn">>
+	<<= saPorn($slaves[$i])>>
 <</if>>
 
 <<if $seeAge != 0>>
diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw
index 34d27f5fbbf75942fd7cf1c878f95eab6ca504ac..81675bb0d81b82a924f27727b273d1e716bc0530 100644
--- a/src/uncategorized/seExpiration.tw
+++ b/src/uncategorized/seExpiration.tw
@@ -198,9 +198,9 @@ at the moment of $his scheduled emancipation, $he seems willing to consider a sh
 <</if>>
 
 <h3>Final notes?</h3>
-<div class="scene-intro">
+<div class="detail">
 	<div class="indent">
-		$His most recent task was to <<print $activeSlave.assignment>>.
+		$His most recent task was to <<print $activeSlave.assignment>><<if $assignmentRecords[$slaves[$i].ID]>>, and before that to <<print $assignmentRecords[$slaves[$i].ID]>><</if>>.
 	</div>
 	<<SlaveExpensesExtra $activeSlave>>
 </div>
\ No newline at end of file
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
index 68d3d6441bde2acada48fc6972d730686e29eedc..68120c22ecfe3fa4a814a4f7422c0d4b43e8e74d 100644
--- a/src/uncategorized/seRetirement.tw
+++ b/src/uncategorized/seRetirement.tw
@@ -400,9 +400,9 @@ You have @@.yellowgreen;gained a menial slave.@@
 <</if>>
 
 <h3>Final notes...</h3>
-<div class="scene-intro">
+<div class="detail">
 	<div class="indent">
-		$His most recent task was to <<print $activeSlave.assignment>>.
+		$His most recent task was to <<print $activeSlave.assignment>><<if $assignmentRecords[$slaves[$i].ID]>>, and before that to <<print $assignmentRecords[$slaves[$i].ID]>><</if>>.
 	</div>
 	<<SlaveExpensesExtra $activeSlave>>
 </div>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 46253cc557bc1b8db6fbdbeab9ffc4da6a207e79..decf1cadd7482623ea0018b9b341ff505f067d91 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1689,93 +1689,7 @@ Relationship rules: ''<span id="relationshipRules">$activeSlave.rules.relationsh
 				<<else>>
 					You are focusing attention on the $activeSlave.porn.focus aspect of $his content.
 				<</if>>
-				<<switch $activeSlave.sexualFlaw>>
-				<<case "neglectful">>
-					[[Neglectful|Slave Interact][$activeSlave.porn.focus = "neglectful"]] |
-				<<case "cum addict">>
-					[[Cum addiction|Slave Interact][$activeSlave.porn.focus = "cum addict"]] |
-				<<case "anal addict">>
-					[[Anal addiction|Slave Interact][$activeSlave.porn.focus = "anal addict"]] |
-				<<case "attention whore">>
-					[[Attention whore|Slave Interact][$activeSlave.porn.focus = "attention whore"]] |
-				<<case "breast growth">>
-					[[Breast growth|Slave Interact][$activeSlave.porn.focus = "breast growth"]] |
-				<<case "abusive">>
-					[[Abusive|Slave Interact][$activeSlave.porn.focus = "abusive"]] |
-				<<case "malicious">>
-					[[Malicious|Slave Interact][$activeSlave.porn.focus = "malicious"]] |
-				<<case "self hating">>
-					[[Self hating|Slave Interact][$activeSlave.porn.focus = "self hating"]] |
-				<<case "breeder">>
-					[[Breeder|Slave Interact][$activeSlave.porn.focus = "breeder"]] |
-				<</switch>>
-
-				<<switch $activeSlave.fetish>>
-				<<case "submissive">>
-					[[Submissive|Slave Interact][$activeSlave.porn.focus = "submissive"]] |
-				<<case "cumslut">>
-					[[Cumslut|Slave Interact][$activeSlave.porn.focus = "cumslut"]] |
-				<<case "buttslut">>
-					[[Buttslut|Slave Interact][$activeSlave.porn.focus = "buttslut"]] |
-				<<case "humiliation">>
-					[[Humiliation|Slave Interact][$activeSlave.porn.focus = "humiliation"]] |
-				<<case "boobs">>
-					[[Boobs|Slave Interact][$activeSlave.porn.focus = "boobs"]] |
-				<<case "dom">>
-					[[Dominant|Slave Interact][$activeSlave.porn.focus = "dom"]] |
-				<<case "sadist">>
-					[[Sadist|Slave Interact][$activeSlave.porn.focus = "sadist"]] |
-				<<case "masochist">>
-					[[Masochist|Slave Interact][$activeSlave.porn.focus = "masochist"]] |
-				<<case "pregnancy">>
-					[[Pregnancy|Slave Interact][$activeSlave.porn.focus = "pregnancy"]] |
-				<</switch>>
-
-				<<switch $activeSlave.sexualQuirk>>
-				<<case "gagfuck queen">>
-					[[Gagfuck queen|Slave Interact][$activeSlave.porn.focus = "gagfuck queen"]] |
-				<<case "strugglefuck queen">>
-					[[Strugglefuck queen|Slave Interact][$activeSlave.porn.focus = "strugglefuck queen"]] |
-				<<case "painal queen">>
-					[[Painal queen|Slave Interact][$activeSlave.porn.focus = "painal queen"]] |
-				<<case "tease">>
-					[[Tease|Slave Interact][$activeSlave.porn.focus = "tease"]] |
-				<<case "romantic">>
-					[[Romantic|Slave Interact][$activeSlave.porn.focus = "romantic"]] |
-				<<case "perverted">>
-					[[Perverted|Slave Interact][$activeSlave.porn.focus = "perverted"]] |
-				<<case "caring">>
-					[[Caring|Slave Interact][$activeSlave.porn.focus = "caring"]] |
-				<<case "unflinching">>
-					[[Unspeakable|Slave Interact][$activeSlave.porn.focus = "unspeakable"]] |
-				<<case "size queen">>
-					[[Size queen|Slave Interact][$activeSlave.porn.focus = "size queen"]] |
-				<</switch>>
-
-				<<if $activeSlave.fuckdoll > 0>>
-					[[Fuckdoll|Slave Interact][$activeSlave.porn.focus = "fuckdoll"]] |
-				<</if>>
-				<<if ($activeSlave.devotion < -20) && ($activeSlave.counter.anal + $activeSlave.counter.vaginal > 0)>>
-					[[Rape|Slave Interact][$activeSlave.porn.focus = "rape"]] |
-				<</if>>
-				<<if $activeSlave.bellyPreg > 500>>
-					[[Preggo|Slave Interact][$activeSlave.porn.focus = "preggo"]] |
-				<</if>>
-				<<if $activeSlave.weight > 95>>
-					[[BBW|Slave Interact][$activeSlave.porn.focus = "BBW"]] |
-				<</if>>
-				<<if $activeSlave.visualAge <= 12>>
-					[[Underage|Slave Interact][$activeSlave.porn.focus = "underage"]] |
-				<</if>>
-				<<if ($activeSlave.weight > 30 && $activeSlave.diet == "fattening") || ($activeSlave.inflation > 0 && $activeSlave.inflationType == "food")>>
-					[[Weight gain|Slave Interact][$activeSlave.porn.focus = "weight gain"]] |
-				<</if>>
-				<<if canPenetrate($activeSlave) && $activeSlave.dick > 3>>
-					[[Big dick|Slave Interact][$activeSlave.porn.focus = "well hung"]] |
-				<</if>>
-
-				[[Smut is smut|Slave Interact][$activeSlave.porn.focus = "porn"]] |
-				[[No focus|Slave Interact][$activeSlave.porn.focus = "none"]]
+				<<= App.Porn.genreChoiceLinks("Slave Interact", $activeSlave)>> | [[No focus|Slave Interact][$activeSlave.porn.focus = "none"]]
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index f00e9c56ecfebf76c4b061a8560f460be6b66ff6..e822ad7a689d15f6682416317447fd3a0a73c5bd 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -149,46 +149,48 @@
 				@@.red;Food@@
 			<</if>>
 			<<if $food < 0>> <<set $food = 0>> <</if>>
-			| <<print massFormat($food)>>
+			| @@.chocolate;<<print massFormat($food)>>@@
 			</span>
 
-			<br>
-			<<set _TFood2 = ($food-$foodLastWeek)>>
-			<span id="oldfood">
-			<<if _TFood2 < 0>>
-				(@@.red;<<print massFormat(_TFood2)>>@@)
-			<<else>>
-				(@@.chocolate;+<<print massFormat(_TFood2)>>@@)
-			<</if>>
-			</span>
-			since last week)
-			<<if ($cheatMode) && ($cheatModeM)>>
-				<<set _TFood1 = $food>>
-				<<textbox "$food" $food>>
-				<<link "Apply">>
-					<<if $food < 0>>
-						<<set $food = 0>>
-					<<else>>
-						<<set $food = Math.trunc(Number($food) || _TFood1), $cheater = 1>>
-					<</if>>
-					<<replace "#food">>
-					<<if $food > $foodConsumption>>		/* if there is enough food for the next week */
-						@@.chocolate;Food@@
-					<<else>>
-						__@@.red;Food@@__
-					<</if>>
-					| <<print massFormat($food)>>
-					<</replace>>
-					<<set _TFood2 = ($food-$foodLastWeek)>>
-					<<replace "#oldfood">>
-					<<if _TFood2 < 0>>
-						(@@.red;<<print massFormat(_TFood2)>>@@
-					<<else>>
-						(@@.chocolate;+<<print massFormat(_TFood2)>>@@
-					<</if>>
-					<</replace>>
-					since last week)
-				<</link>>
+			<<if _Pass === "Main">>
+				<br>
+				<<set _TFood2 = ($food-$foodLastWeek)>>
+				<span id="oldfood">
+				<<if _TFood2 < 0>>
+					(@@.red;<<print massFormat(_TFood2)>>@@
+				<<else>>
+					(@@.chocolate;+<<print massFormat(_TFood2)>>@@
+				<</if>>
+				</span>
+				since last week)
+				<<if ($cheatMode) && ($cheatModeM)>>
+					<<set _TFood1 = $food>>
+					<<textbox "$food" $food>>
+					<<link "Apply">>
+						<<if $food < 0>>
+							<<set $food = 0>>
+						<<else>>
+							<<set $food = Math.trunc(Number($food) || _TFood1), $cheater = 1>>
+						<</if>>
+						<<replace "#food">>
+						<<if $food > $foodConsumption>>		/* if there is enough food for the next week */
+							@@.chocolate;Food@@
+						<<else>>
+							__@@.red;Food@@__
+						<</if>>
+						| <<print massFormat($food)>>
+						<</replace>>
+						<<set _TFood2 = ($food-$foodLastWeek)>>
+						<<replace "#oldfood">>
+						<<if _TFood2 < 0>>
+							(@@.red;<<print massFormat(_TFood2)>>@@
+						<<else>>
+							(@@.chocolate;+<<print massFormat(_TFood2)>>@@
+						<</if>>
+						<</replace>>
+						since last week)
+					<</link>>
+				<</if>>
 			<</if>>
 		<</if>>
 	<<else>>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index c65f1b74cd99be872c6b56125f5cbdeb976cab74..f133906912da75f5408fe966eadc3012e4b679e4 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -1338,7 +1338,7 @@ $He's got a
 				<<if $buttAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a rear
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -1367,7 +1367,7 @@ $He's got a
 				<<if $buttAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a rear
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -1396,7 +1396,7 @@ $He's got a
 				<<if $buttAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a rear
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with buttcheeks
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -2984,7 +2984,7 @@ $He's got a
 						<<if $dickAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with a cock
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
 						<</if>>
 						bigger than they are.
 					<</if>>
@@ -3013,7 +3013,7 @@ $He's got a
 						<<if $dickAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with a cock
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
 						<</if>>
 						bigger than they are.
 					<</if>>
@@ -3042,7 +3042,7 @@ $He's got a
 						<<if $dickAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with a cock
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with dicks
 						<</if>>
 						bigger than they are.
 					<</if>>
@@ -3089,7 +3089,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3120,7 +3120,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3151,7 +3151,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3320,7 +3320,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3351,7 +3351,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3382,7 +3382,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3551,7 +3551,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3582,7 +3582,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -3613,7 +3613,7 @@ $He's got a
 						<<if $ballsAccessibility == 1>>
 							Fortunately for $him, the penthouse is adapted for daily life with balls
 						<<else>>
-							$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
+							$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with testicles
 						<</if>>
 						wider than a standard doorway.
 					<</if>>
@@ -15769,7 +15769,7 @@ $He has
 				<<if $pregAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a <<if $activeSlave.bellyPreg >= 3000>>pregnant<</if>> belly
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with <<if $activeSlave.bellyPreg >= 3000>>pregnancies<<else>>bellies<</if>>
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with <<if $activeSlave.bellyPreg >= 3000>>pregnancies<<else>>bellies<</if>>
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -18773,7 +18773,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies;
 				<<if $pregAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a belly
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -18800,7 +18800,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies;
 				<<if $pregAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a belly
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
@@ -18827,7 +18827,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies;
 				<<if $pregAccessibility == 1>>
 					Fortunately for $him, the penthouse is adapted for daily life with a belly
 				<<else>>
-					$He has trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
+					$He<<if $saleDescription == 1>>'ll have<<else>> has<</if>> trouble living in your penthouse, which is not designed for <<= $girl>>s with bellies
 				<</if>>
 				wider than a standard doorway.
 			<</if>>
diff --git a/src/utility/descriptionWidgetsTattoos.tw b/src/utility/descriptionWidgetsTattoos.tw
index c90b5458b70fa0fe969a7bb5d8f660f5faba2442..c772ab8cd8c54b6857d325dc747d4df893fa73c0 100644
--- a/src/utility/descriptionWidgetsTattoos.tw
+++ b/src/utility/descriptionWidgetsTattoos.tw
@@ -170,7 +170,7 @@
 						'Half Pussy & Half Cock' is tattooed on $his left arm, and 'All Whore' is tattooed on $his right.
 					<</if>>
 				<<elseif $activeSlave.boobs > 600>>
-					'I didn't used to have boobs' is tattooed on $his left arm, and 'I didn't always take it up the ass' is tattooed on $his right.
+					'I didn't use to have boobs' is tattooed on $his left arm, and 'I didn't always take it up the ass' is tattooed on $his right.
 				<<else>>
 					'I promise to cum buckets' is tattooed on $his left arm, and 'If you fuck my butt' is tattooed on $his right.
 				<</if>>
@@ -206,7 +206,7 @@
 						'Half Pussy & Half Cock' is tattooed on $his left arm, and 'All Loved' is tattooed on $his right.
 					<</if>>
 				<<elseif $activeSlave.boobs > 600>>
-					'I didn't used to have boobs' is tattooed on $his left arm, and 'And now I do!' is tattooed on $his right.
+					'I didn't use to have boobs' is tattooed on $his left arm, and 'And now I do!' is tattooed on $his right.
 				<<else>>
 					'I promise to cum buckets' is tattooed on $his left arm, and 'If you treat me right' is tattooed on $his right.
 				<</if>>