diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index a3c5abb40a8381bdbc9297ec8cc4591ff6174954..4ca5440b4074fef90ee4df0e2fd2f2177e0a5f93 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -4,16 +4,33 @@
 
 <h1> $arcologies[0].name Weekly Slave Report - Week $week</h1>
 
-/*Arcade Demand*/
-<<set _LCRent = 1 + (20 - $LCRent) / 100>>
-<<set $arcadeDemand = $lowerClass * 7 * _LCRent - ($fuckdolls - $fuckdollsArcade) * 140 - $fuckdollsArcade * (175 + 35 * $arcadeUpgradeInjectors)>>
+/*Sexual services demand per class*/
+<<set _LCRent = 1 + (20 - $LCRent) / 100,
+$lowerClassSexDemand = Math.trunc($lowerClass * _LCRent) * 7,
+_MCRent = 1 + (50 - $MCRent) / 250,
+$middleClassSexDemand = Math.trunc($middleClass * _MCRent) * 15,
+_UCRent = 1 + (180 - $UCRent) / 900,
+$upperClassSexDemand = Math.trunc($upperClass * _UCRent) * 50,
+_TCRent = 1 + (650 - $TCRent) / 3250,
+$topClassSexDemand = Math.trunc($topClass * _TCRent) * 200,
+$visitorsSexDemand = Math.trunc($visitors * 1.25) * 30>>
+
+/*Arcade Specific Demand*/
+($fuckdolls - $fuckdollsArcade) * 140 - $fuckdollsArcade * (175 + 35 * $arcadeUpgradeInjectors)
 <<if $arcologies[0].FSDegradationist != "unset">>
-	<<set _MCRent = 1 + (50 - $MCRent) / 800, _UCRent = 1 + (180 - $UCRent) / 3600, $arcadeDemand += Math.trunc(($lowerClass * 3 * _LCRent + $middleClass * 5 * _MCRent + $upperClass * 3 * _UCRent + $visitors * 3) * Math.min($arcologies[0].FSDegradationist / 100, 1))>>
+	<<set $arcadeDemand = Math.trunc($lowerClassSexDemand * (0.6 + $arcologies[0].FSDegradationist / 250) + $middleClassSexDemand * (0.05 + $arcologies[0].FSDegradationist / 500) + $upperClassSexDemand * ($arcologies[0].FSDegradationist / 1000) + $visitors * ($arcologies[0].FSDegradationist / 500))>> /*In a degradationist society the arcade becomes more attractive to more classes and demand increases accordingly*/
+<<elseif $arcologies[0].FSPaternalist != "unset">>
+	<<set $arcadeDemand = Math.max($lowerClassSexDemand * (0.4 - $arcologies[0].FSPaternalist / 10), 0)>> /*A paternalist society quickly saps the demand for arcade sex from the lower class*/
+<<else>>
+	<<set $arcadeDemand = $lowerClassSexDemand * 0.5>> /*the default amount of arcade demand; purely lower class and they want at the minimum 50% of their demand met by it*/
 <</if>>
 <<if $arcologies[0].FSDegradationistLaw == 1>>
-	<<set $arcadeDemand += ($NPCSlaves + $menials) * 5>>
+	<<set $arcadeDemandDegradtionistLaw = ($NPCSlaves + $menials) * 5>>
+<<else>>
+	<<set $arcadeDemandDegradtionistLaw = 0>>
 <</if>>
-<<run $slaves.forEach(function(s) { if (s.assignment === "work a glory hole") $gloryiIDs.push(s.ID); })>>
+
+<<run $slaves.forEach(function(s) { if (s.assignment === "work a glory hole") $gloryiIDs.push(s.ID); })>> /*we need to find the slaves working a glory hole*/
 
 <<for $i = 0; $i < _SL; $i++>>