diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 567694de0a86b21eef79d867b2e2d6f4d16c961e..4ade08a892c85fddf4a024cfc22afe04c5714d04 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -6,6 +6,7 @@
 
 	3
 	-more fixes
+	-uncommented incubator semen donations
 
 11/28/2018
 
diff --git a/src/pregmod/artificialInsemination.tw b/src/pregmod/artificialInsemination.tw
index 023d8a1996587c1dda43de8b6e8f0772144c1ca1..1c2bdc2aa70e67b08c5cb037e3836cb43c4a327a 100644
--- a/src/pregmod/artificialInsemination.tw
+++ b/src/pregmod/artificialInsemination.tw
@@ -21,7 +21,6 @@ __Select an eligible slave to serve as the semen donatrix:__
 	<br>//You have no slaves with potent sperm.//
 <</if>>
 
-/*
 <<if $incubatorSlaves > 0 && $incubatorReproductionSetting == 2>>
 	<br><br>
 	
@@ -38,7 +37,6 @@ __Select an eligible slave to serve as the semen donatrix:__
 		<br>//You have no growing slaves producing sperm.//
 	<</if>>
 <</if>>
-*/
 
 <<if $PC.dick == 1>>
 	<br>
diff --git a/src/pregmod/surrogacyWorkaround.tw b/src/pregmod/surrogacyWorkaround.tw
index a9287835d1fc77a9124060cdd7c1bc00091d20a7..fa4482b808df6b9439050af101265b9a22dee727 100644
--- a/src/pregmod/surrogacyWorkaround.tw
+++ b/src/pregmod/surrogacyWorkaround.tw
@@ -37,7 +37,6 @@ __Semen donatrix: _impreg __
 	<br>//You have no slaves with potent sperm.//
 <</if>>
 
-/*
 <<if $incubatorSlaves > 0 && $incubatorReproductionSetting == 2>>
 	<br><br>
 	
@@ -57,7 +56,6 @@ __Semen donatrix: _impreg __
 		<br>//You have no growing slaves producing sperm.//
 	<</if>>
 <</if>>
-*/
 
 <<if $PC.dick == 1>>
 	<br>
diff --git a/src/pregmod/widgets/playerDescriptionWidgets.tw b/src/pregmod/widgets/playerDescriptionWidgets.tw
index 879259fede1136f915962f194510aeb63dfb5f38..08752ca0125cfbd738c1a2392d705420067463d8 100644
--- a/src/pregmod/widgets/playerDescriptionWidgets.tw
+++ b/src/pregmod/widgets/playerDescriptionWidgets.tw
@@ -371,9 +371,13 @@
 				Something startling happened this week; while enjoying a slave, your belly button popped out!
 			<<elseif $PC.preg == 8 && $PC.pregSource > 0>>
 				<<set _babyDaddy = findFather($PC.pregSource)>>
-				<<set _babyDaddy.PCKnockedUp++>>
+				<<if def _babyDaddy>>
+					<<set _adjust = _babyDaddy.PCKnockedUp++>>
+					<<set adjustFatherProperty(_babyDaddy, "PCKnockedUp", _adjust)>>
+				<</if>>
 				<<if def $slaveIndices[$PC.pregSource]>>
-					Rumors spread among your slaves that your middle is swollen with $slaves[_babyDaddy].slaveName's child. They're not wrong, though <<if $slaves[_babyDaddy].devotion > 20>>$slaves[_babyDaddy].slaveName is broken enough to not try and use it against you. In fact, it might even draw her closer to you<<else>>you'd have liked it to have kept that from $slaves[_babyDaddy].slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
+					<<setLocalpronouns _babyDaddy>>
+					Rumors spread among your slaves that your middle is swollen with _babyDaddy.slaveName's child. They're not wrong, though <<if _babyDaddy.devotion > 20>>_babyDaddy.slaveName is broken enough to not try and use it against you. In fact, it might even draw $him closer to you<<else>>you'd have liked it to have kept that from _babyDaddy.slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
 				<</if>>
 			<</if>>
 		<</if>>
@@ -440,9 +444,13 @@
 				Something startling happened this week; while enjoying a slave, your belly button popped out!
 			<<elseif $PC.preg == 8 && $PC.pregSource > 0>>
 				<<set _babyDaddy = findFather($PC.pregSource)>>
-				<<set _babyDaddy.PCKnockedUp++>>
+				<<if def _babyDaddy>>
+					<<set _adjust = _babyDaddy.PCKnockedUp++>>
+					<<set adjustFatherProperty(_babyDaddy, "PCKnockedUp", _adjust)>>
+				<</if>>
 				<<if def $slaveIndices[$PC.pregSource]>>
-					Rumors spread among your slaves that your middle is swollen with $slaves[_babyDaddy].slaveName's child. They're not wrong, though <<if $slaves[_babyDaddy].devotion > 20>>$slaves[_babyDaddy].slaveName is broken enough to not try and use it against you. In fact, it might even draw her closer to you<<else>>you'd have liked it to have kept that from $slaves[_babyDaddy].slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
+					<<setLocalpronouns _babyDaddy>>
+					Rumors spread among your slaves that your middle is swollen with _babyDaddy.slaveName's child. They're not wrong, though <<if _babyDaddy.devotion > 20>>_babyDaddy.slaveName is broken enough to not try and use it against you. In fact, it might even draw $him closer to you<<else>>you'd have liked it to have kept that from _babyDaddy.slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
 				<</if>>
 			<</if>>
 		<</if>>
@@ -509,9 +517,13 @@
 				Something startling happened this week; while enjoying a slave, your belly button popped out!
 			<<elseif $PC.preg == 8 && $PC.pregSource > 0>>
 				<<set _babyDaddy = findFather($PC.pregSource)>>
-				<<set _babyDaddy.PCKnockedUp++>>
+				<<if def _babyDaddy>>
+					<<set _adjust = _babyDaddy.PCKnockedUp++>>
+					<<set adjustFatherProperty(_babyDaddy, "PCKnockedUp", _adjust)>>
+				<</if>>
 				<<if def $slaveIndices[$PC.pregSource]>>
-					Rumors spread among your slaves that your middle is swollen with $slaves[_babyDaddy].slaveName's child. They're not wrong, though <<if $slaves[_babyDaddy].devotion > 20>>$slaves[_babyDaddy].slaveName is broken enough to not try and use it against you. In fact, it might even draw her closer to you<<else>>you'd have liked it to have kept that from $slaves[_babyDaddy].slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
+					<<setLocalpronouns _babyDaddy>>
+					Rumors spread among your slaves that your middle is swollen with _babyDaddy.slaveName's child. They're not wrong, though <<if _babyDaddy.devotion > 20>>_babyDaddy.slaveName is broken enough to not try and use it against you. In fact, it might even draw $him closer to you<<else>>you'd have liked it to have kept that from _babyDaddy.slaveName, lest the rebellious bitch uses it to remain defiant<</if>>.
 				<</if>>
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index b1be9dc6a07a86dc4a21b2cacd5253e969b1b5a1..5dc2e0fbb5fd2c230e829361e9083b06a979e271 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -23,270 +23,270 @@ _upperClassP = 1,
 _topClass = 0,
 _topClassP = 1>>
 <<if $arcologies[0].FSSupremacist != "unset">>
-	<<set _FSScore += $arcologies[0].FSSupremacist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * 0.05,
-	_lowerClass += Math.trunc($arcologies[0].FSSupremacist / 20) * -80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * -0.004,
-	_middleClass += Math.trunc($arcologies[0].FSSupremacist / 20) * -16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSSupremacist / 20) * 5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSSupremacist / 20) * 2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSSupremacist / 20) * 0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSSupremacist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 0.05,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * -80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * -0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * -16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSupremacist, 100) / 20) * 0.004>>
 	Your racial policies are concentrating power in the hands of $arcologies[0].FSSupremacistRace people. /*perhaps too obvious to bother with printing?*/
 <</if>>
 <<if $arcologies[0].FSSubjugationist != "unset">>
-	<<set _FSScore += $arcologies[0].FSSubjugationist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * 0.05,
-	_lowerClass += Math.trunc($arcologies[0].FSSubjugationist / 20) * -80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * -0.004,
-	_middleClass += Math.trunc($arcologies[0].FSSubjugationist / 20) * -16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSSubjugationist / 20) * 5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSSubjugationist / 20) * 2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSSubjugationist / 20) * 0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSSubjugationist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 0.05,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * -80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * -0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * -16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSSubjugationist, 100) / 20) * 0.004>>
 	Your racial policies are stripping all power from the $arcologies[0].FSSubjugationistRace people. /*perhaps too obvious to bother with printing?*/
 <</if>>
 <<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSGenderRadicalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSGenderRadicalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSGenderRadicalist / 20) * 0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSGenderRadicalist / 20) * -40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSGenderRadicalist / 20) * -0.002,
-	_topClass += Math.trunc($arcologies[0].FSGenderRadicalist / 20),
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSGenderRadicalist / 20) * 0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSGenderRadicalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20) * 0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20) * -40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20) * -0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20),
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderRadicalist, 100) / 20) * 0.002>>
 	Your radical views on gender are scaring away the more traditionally minded.
 <</if>>
 <<if $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSGenderFundamentalist,
-	_lowerClass += Math.trunc($arcologies[0].FSGenderFundamentalist / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSGenderFundamentalist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSGenderFundamentalist / 20) * -1,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSGenderFundamentalist / 20) * -0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSGenderFundamentalist, 100),
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSGenderFundamentalist, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderFundamentalist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSGenderFundamentalist, 100) / 20) * -1,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSGenderFundamentalist, 100) / 20) * -0.002>>
 	Your traditional views on gender are comforting to many, unimaginative to some.
 <</if>>
 <<if $arcologies[0].FSPaternalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSPaternalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.05,
-	_expirationFS *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.1,
-	_slaveProductivity += Math.trunc($arcologies[0].FSPaternalist / 20) * 0.02,
-	_lowerClass += Math.trunc($arcologies[0].FSPaternalist / 20) * 80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * 0.004,
-	_welfareFS *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.1,
-	_middleClass += Math.trunc($arcologies[0].FSPaternalist / 20) * 16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * 0.002,
-	_upperClass += Math.trunc($arcologies[0].FSPaternalist / 20) * -5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.002,
-	_topClass += Math.trunc($arcologies[0].FSPaternalist / 20) * -2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSPaternalist / 20) * -0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSPaternalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.05,
+	_expirationFS *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.1,
+	_slaveProductivity += Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * 0.02,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * 80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * 0.004,
+	_welfareFS *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.1,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * 16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * 0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPaternalist, 100) / 20) * -0.002>>
 	Poor citizens can rely on their better-off peers in $arcologies[0].name.
 <</if>>
 <<if $arcologies[0].FSDegradationist != "unset">>
-	<<set _FSScore += $arcologies[0].FSDegradationist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.05,
-	_expirationFS *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.1,
-	_slaveProductivity += Math.trunc($arcologies[0].FSDegradationist / 20) * 0.01,
-	_lowerClass += Math.trunc($arcologies[0].FSDegradationist / 20) * -80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * -0.004,
-	_welfareFS *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.1,
-	_middleClass += Math.trunc($arcologies[0].FSDegradationist / 20) * -16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSDegradationist / 20) * 5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSDegradationist / 20) * 2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSDegradationist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.05,
+	_expirationFS *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.1,
+	_slaveProductivity += Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.01,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * -80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * -0.004,
+	_welfareFS *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.1,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * -16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.004>>
 	The arcology is a cutthroat place in which falling into slavery is very easy.
 <</if>>
 <<if $arcologies[0].FSBodyPurist != "unset">>
-	<<set _FSScore += $arcologies[0].FSBodyPurist,
-	_lowerClass += Math.trunc($arcologies[0].FSBodyPurist / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSBodyPurist / 20) * 0.002,
-	_upperClass += Math.trunc($arcologies[0].FSBodyPurist / 20) * -2.7,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSBodyPurist / 20) * -0.001,
-	_topClass += Math.trunc($arcologies[0].FSBodyPurist / 20) * -0.5,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSBodyPurist / 20) * -0.001>>
+	<<set _FSScore += Math.min($arcologies[0].FSBodyPurist, 100),
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * 0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * -2.7,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * -0.001,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * -0.5,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * -0.001>>
 	Body purist fashion standards comfort the poor stand as they stand out less from their more fortunate neighbors.
 <</if>>
 <<if $arcologies[0].FSTransformationFetishist != "unset">>
-	<<set _FSScore += $arcologies[0].FSTransformationFetishist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSTransformationFetishist / 20) * -40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSTransformationFetishist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 2.7,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 0.001,
-	_topClass += Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 0.5,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSTransformationFetishist / 20) * 0.001>>
+	<<set _FSScore += Math.min($arcologies[0].FSTransformationFetishist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * -40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 2.7,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 0.5,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001>>
 	The lower class fear the kind of transformations could be forced on them if they ever end up enslaved, whereas the rich enjoy weilding such power.
 <</if>>
 <<if $arcologies[0].FSYouthPreferentialist != "unset">>
-	<<set _FSScore += $arcologies[0].FSYouthPreferentialist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * 0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * 0.002,
-	_middleClass += Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * -5.4,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSYouthPreferentialist / 20) * -0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSYouthPreferentialist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.002,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * -5.4,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSYouthPreferentialist, 100) / 20) * -0.002>>
 	Preference for youth makes the young poor in your arcology feel appreciated despite their lack of wealth.
 <</if>>
 <<if $arcologies[0].FSMaturityPreferentialist != "unset">>
-	<<set _FSScore += $arcologies[0].FSMaturityPreferentialist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * 0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * -40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * -0.002,
-	_middleClass += Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * 5.4,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSMaturityPreferentialist / 20) * 0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSMaturityPreferentialist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * -40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * -0.002,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * 5.4,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.002>>
 	Preference for maturity makes the middle class of your arcology feel like their experience is finally properly appreciated.
 <</if>>
 <<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-	<<set _FSScore += $arcologies[0].FSSlimnessEnthusiast>>
+	<<set _FSScore += Math.min($arcologies[0].FSSlimnessEnthusiast, 100)>>
 <</if>>
 <<if $arcologies[0].FSAssetExpansionist != "unset">>
-	<<set _FSScore += $arcologies[0].FSAssetExpansionist>>
+	<<set _FSScore += Math.min($arcologies[0].FSAssetExpansionist, 100)>>
 <</if>>
 <<if $arcologies[0].FSPastoralist != "unset">>
-	<<set _FSScore += $arcologies[0].FSPastoralist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * 0.05,
-	_lowerClass += Math.trunc($arcologies[0].FSPastoralist / 20) * -80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * -0.004,
-	_middleClass += Math.trunc($arcologies[0].FSPastoralist / 20) * 16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * 0.002,
-	_upperClass += Math.trunc($arcologies[0].FSPastoralist / 20) * 2.7,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * 0.001,
-	_topClass += Math.trunc($arcologies[0].FSPastoralist / 20) * 0.5,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSPastoralist / 20) * 0.001>>
+	<<set _FSScore += Math.min($arcologies[0].FSPastoralist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.05,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * -80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * -0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 2.7,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.001,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.5,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPastoralist, 100) / 20) * 0.001>>
 	The pastoralization of $arcologies[0].name spurs a whole industry around human produce.
 <</if>>
 <<if $arcologies[0].FSPhysicalIdealist != "unset">>
-	<<set _FSScore += $arcologies[0].FSPhysicalIdealist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.025,
-	_slaveProductivity += Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.01,
-	_lowerClass += Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * -40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 2.7,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.001,
-	_topClass += Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.5,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSPhysicalIdealist / 20) * 0.001>>
+	<<set _FSScore += Math.min($arcologies[0].FSPhysicalIdealist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.025,
+	_slaveProductivity += Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.01,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * -40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 2.7,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.5,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001>>
 	Fit slaves and citizens are more productive! However, your arcology's poor do not look forward to even more toil and sweat.
 <</if>>
 <<if $arcologies[0].FSChattelReligionist != "unset">>
-	<<set _FSScore += $arcologies[0].FSChattelReligionist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSChattelReligionist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSChattelReligionist / 20) * 0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSChattelReligionist / 20) * -40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSChattelReligionist / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSChattelReligionist / 20) * 2.7,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSChattelReligionist / 20) * 0.001,
-	_topClass += Math.trunc($arcologies[0].FSChattelReligionist / 20) * 0.5,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSChattelReligionist / 20) * 0.001>>
+	<<set _FSScore += Math.min($arcologies[0].FSChattelReligionist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * -40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 2.7,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 0.001,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 0.5,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSChattelReligionist, 100) / 20) * 0.001>>
 	Chattel Religionism helps some poor citizens see slavery as a spiritually pure fate.
 <</if>>
 <<if $arcologies[0].FSRomanRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSRomanRevivalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSRomanRevivalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSRomanRevivalist / 20) * 0.025,
-	_welfareFS *= 1 + Math.trunc($arcologies[0].FSRomanRevivalist / 20) * -0.05, 
-	_lowerClass += Math.trunc($arcologies[0].FSRomanRevivalist / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSRomanRevivalist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSRomanRevivalist / 20) * -5.4,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSRomanRevivalist / 20) * -0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSRomanRevivalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * 0.025,
+	_welfareFS *= 1 + Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * -0.05, 
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * -5.4,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRomanRevivalist, 100) / 20) * -0.002>>
 	Your citizens take pride in looking after each other.
 <</if>>
 <<if $arcologies[0].FSEgyptianRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSEgyptianRevivalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * 0.025,
-	_welfareFS *= 1 + Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * -0.05,
-	_lowerClass += Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * -5.4,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSEgyptianRevivalist / 20) * -0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSEgyptianRevivalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.025,
+	_welfareFS *= 1 + Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.05,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * -5.4,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.002>>
 	Egyptian Revivalism is benevolent in some ways, and charity is common here.
 <</if>>
 <<if $arcologies[0].FSEdoRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSEdoRevivalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSEdoRevivalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSEdoRevivalist / 20) * 0.025>>
+	<<set _FSScore += Math.min($arcologies[0].FSEdoRevivalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSEdoRevivalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSEdoRevivalist, 100) / 20) * 0.025>>
 <</if>>
 <<if $arcologies[0].FSArabianRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSArabianRevivalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSArabianRevivalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSArabianRevivalist / 20) * 0.025>>
+	<<set _FSScore += Math.min($arcologies[0].FSArabianRevivalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSArabianRevivalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSArabianRevivalist, 100) / 20) * 0.025>>
 <</if>>
 <<if $arcologies[0].FSChineseRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSDegradationist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSDegradationist / 20) * 0.025>>
+	<<set _FSScore += Math.min($arcologies[0].FSDegradationist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSDegradationist, 100) / 20) * 0.025>>
 <</if>>
 <<if $arcologies[0].FSAztecRevivalist != "unset">>
-	<<set _FSScore += $arcologies[0].FSAztecRevivalist,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSAztecRevivalist / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSAztecRevivalist / 20) * 0.025>>
+	<<set _FSScore += Math.min($arcologies[0].FSAztecRevivalist, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSAztecRevivalist, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSAztecRevivalist, 100) / 20) * 0.025>>
 <</if>>
 <<if $arcologies[0].FSNull != "unset">>
-	<<set _FSScore += $arcologies[0].FSNull,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSNull / 20) * -0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSNull / 20) * -0.025,
-	_lowerClass += Math.trunc($arcologies[0].FSNull / 20) * 80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSNull / 20) * 0.004,
-	_middleClass += Math.trunc($arcologies[0].FSNull / 20) * 16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSNull / 20) * 0.002,
-	_upperClass += Math.trunc($arcologies[0].FSNull / 20) * -5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSNull / 20) * -0.002,
-	_topClass += Math.trunc($arcologies[0].FSNull / 20) * -2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSNull / 20) * -0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSNull, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -0.025,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * 80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * 0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * 16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * 0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSNull, 100) / 20) * -0.004>>
 	Your arcology's vibrant, open culture helps everyone succeed, preventing many struggling citizens from falling into slavery.
 <</if>>
 <<if $arcologies[0].FSRepopulationFocus != "unset">>
-	<<set _FSScore += $arcologies[0].FSRepopulationFocus,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 0.05,
-	_slaveProductivity += Math.trunc($arcologies[0].FSRepopulationFocus / 20) * -0.01,
-	_lowerClass += Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 0.004,
-	_middleClass += Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * 0.002,
-	_upperClass += Math.trunc($arcologies[0].FSRepopulationFocus / 20) * -5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * -0.002,
-	_topClass += Math.trunc($arcologies[0].FSRepopulationFocus / 20) * -2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSRepopulationFocus / 20) * -0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSRepopulationFocus, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05,
+	_slaveProductivity += Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * -0.01,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * 0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * -5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * -0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * -2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRepopulationFocus, 100) / 20) * -0.004>>
 	You've made repopulation a priority and the less fortunate hope all these new children will make their lives easier in the future, but the wealthy are wary.
 <</if>>
 <<if $arcologies[0].FSRestart != "unset">>
-	<<set _FSScore += $arcologies[0].FSRestart,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * 0.04,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * 0.05,
-	_lowerClass += Math.trunc($arcologies[0].FSRestart / 20) * -80,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * -0.004,
-	_middleClass += Math.trunc($arcologies[0].FSRestart / 20) * -16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSRestart / 20) * 5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * 0.002,
-	_topClass += Math.trunc($arcologies[0].FSRestart / 20) * 2,
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSRestart / 20) * 0.004>>
+	<<set _FSScore += Math.min($arcologies[0].FSRestart, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 0.04,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 0.05,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * -80,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * -0.004,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * -16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 2,
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSRestart, 100) / 20) * 0.004>>
 	Highly restricted breeding pleases the powerful, but the less fortunate may seek reproductive freedom elsewhere.
 <</if>>
 <<if $arcologies[0].FSHedonisticDecadence != "unset">>
-	<<set _FSScore += $arcologies[0].FSHedonisticDecadence,
-	_slaveDemandU *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * 0.02,
-	_slaveDemandT *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * 0.025,
-	_slaveProductivity += Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * -0.01,
-	_lowerClass += Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * 40,
-	_lowerClassP *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * 0.002,
-	_middleClass += Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * -16,
-	_middleClassP *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * -0.002,
-	_upperClass += Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * -5.4,
-	_upperClassP *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * -0.002,
-	_topClass += Math.trunc($arcologies[0].FSHedonisticDecadence / 20),
-	_topClassP *= 1 + Math.trunc($arcologies[0].FSHedonisticDecadence / 20) * 0.002>>
+	<<set _FSScore += Math.min($arcologies[0].FSHedonisticDecadence, 100),
+	_slaveDemandU *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.02,
+	_slaveDemandT *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.025,
+	_slaveProductivity += Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.01,
+	_lowerClass += Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * 40,
+	_lowerClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002,
+	_middleClass += Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * -16,
+	_middleClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002,
+	_upperClass += Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * -5.4,
+	_upperClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002,
+	_topClass += Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20),
+	_topClassP *= 1 + Math.trunc(Math.min($arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002>>
 	Your citizens enjoy the pleasures of life to their fullest, but some prefer to earn these pleasures.
 <</if>>
 
@@ -586,25 +586,29 @@ $lowerClass -= _enslaved>>
 /*Bad weather switch*/
 <<if $weatherToday.severity > 3>>
 	<<if $secExp == 1>>
-		<<if $docks || $railway < 4>>
+		<<if $docks && $railway < 4>>
 			<<set _weatherFreeze = 1>>
+			<br>//The terrible weather is @@.red;preventing people from entering or leaving@@ your arcology. Improving your transport infrastructure will prevent this from happening.//
 		<<else>>
 			<<set _weatherFreeze = 0>>
 		<</if>>
 	<<elseif $antiWeatherFreeze < 2>>
 		<<set _weatherFreeze = 1>>
+		<br>//The terrible weather is @@.red;preventing people from entering or leaving@@ your arcology. Improving your transport infrastructure will prevent this from happening.//
 	<<else>>
 		<<set _weatherFreeze = 0>>
 	<</if>>
 <<elseif $weatherToday.severity > 2>>
 	<<if $secExp == 1>>
-		<<if $docks || $railway < 3>>
+		<<if $docks && $railway < 3>>
 			<<set _weatherFreeze = 1>>
+			<br>//The terrible weather is @@.red;preventing people from entering or leaving@@ your arcology. Improving your transport infrastructure will prevent this from happening.//
 		<<else>>
 			<<set _weatherFeeze = 0>>
 		<</if>>
 	<<elseif $antiWeatherFreeze < 1>>
 		<<set _weatherFreeze = 1>>
+		<br>//The terrible weather is @@.red;preventing people from entering or leaving@@ your arcology. Improving your transport infrastructure will prevent this from happening.//
 	<<else>>
 		<<set _weatherFreeze = 0>>
 	<</if>>
@@ -651,18 +655,8 @@ $lowerClass -= _enslaved>>
 <<set _LSCD = Math.trunc(($LSCBase * ($localEcon / 100)) + ($arcologies[0].prosperity * 4) + (($middleClass + $visitors * 0.6) * 1.5) + (($upperClass + $visitors * 0.2) * 3.5) + ($topClass * 18)),
 /*Demand for owning slaves*/
 _SCD = Math.trunc(($upperClass * ($slaveDemandU + _slaveDemandU)) + ($topClass * ($slaveDemandT + _slaveDemandT)))>>
-/*More slaves than there is work*/
-<<if $NPCSlaves > (_LSCD / ($slaveProductivity + _slaveProductivity)) - $helots + _SCD>>
-	<<set _NPCSlavesSold = $NPCSlaves - Math.trunc(_LSCD / ($slaveProductivity + _slaveProductivity) - $helots + _SCD),
-	$menialDemandFactor -= _NPCSlavesSold,
-	$NPCSlaves = Math.trunc(_LSCD / ($slaveProductivity + _slaveProductivity))>>
-	<<if _NPCSlavesSold > 1>>
-		<br>@@.red;<<print _NPCSlavesSold>> slaves@@ were sold by your inhabitants. There was so little work that they failed to earn their keep.
-	<<elseif _NPCSlavesSold > 0>>
-		<br>@@.red;One slave was sold by your inhabitants. There was so little work that it failed to earn its keep.
-	<</if>>
 /*More slaves than they know what to do with*/
-<<elseif $NPCSlaves > _SCD * 1.6>>
+<<if $NPCSlaves > _SCD * 1.6>>
 	<<set _NPCSlavesSold = $NPCSlaves - Math.trunc(_SCD * 1.6),
 	$menialDemandFactor -= _NPCSlavesSold,
 	$NPCSlaves = Math.trunc(_SCD * 1.6)>>
@@ -671,6 +665,16 @@ _SCD = Math.trunc(($upperClass * ($slaveDemandU + _slaveDemandU)) + ($topClass *
 	<<elseif _NPCSlavesSold > 0>>
 		<br>@@.red;One slave@@ was sold by your inhabitants. They've got more than enough of them already.
 	<</if>>
+/*More slaves than there is work*/
+<<elseif $NPCSlaves > (_LSCD / ($slaveProductivity + _slaveProductivity)) - $helots + _SCD>>
+	<<set _NPCSlavesSold = $NPCSlaves - Math.trunc(_LSCD / ($slaveProductivity + _slaveProductivity) - $helots + _SCD),
+	$menialDemandFactor -= _NPCSlavesSold,
+	$NPCSlaves = Math.trunc(_LSCD / ($slaveProductivity + _slaveProductivity))>>
+	<<if _NPCSlavesSold > 1>>
+		<br>@@.red;<<print _NPCSlavesSold>> slaves@@ were sold by your inhabitants. There was so little work that they failed to earn their keep.
+	<<elseif _NPCSlavesSold > 0>>
+		<br>@@.red;One slave was sold by your inhabitants. There was so little work that it failed to earn its keep.
+	<</if>>
 /*Cutting back on slaves*/
 <<elseif $NPCSlaves > _SCD * 1.4>>
 	<<if $slaveCostFactor > 0.95>>
@@ -759,7 +763,7 @@ _SCD = Math.trunc(($upperClass * ($slaveDemandU + _slaveDemandU)) + ($topClass *
 /*Need more slaves still*/
 <<if $NPCSlaves < _SCD>>
 	<<set _NPCSlavesBought = Math.trunc((_SCD - $NPCSlaves) * 0.75) + 1,
-	$menialSupplyFactor - _NPCSlavesBought,
+	$menialSupplyFactor -= _NPCSlavesBought,
 	$NPCSlaves += _NPCSlavesBought>>
 	<<if _NPCSlavesBought > 1>>
 		<br>@@.green;<<print _NPCSlavesBought>> slaves@@ were bought by your inhabitants. They did not have enough of them to satisfy their needs.