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.