diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index 341898f37d523d3bac3f4ffe70cf5041a4c2bdc3..a4a97162e58d87436405ca979eca488bc230844e 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -13,10 +13,10 @@ _slaveDemandU = 1, /*Changes to upperclass slave demand*/
 _slaveDemandT = 1, /*Changes to topclass slave demand*/
 _expirationFS = 0.005, /*changes to likelihood of slave death*/
 _slaveProductivity = 0.8, /*changes to slave productivity*/
-_lowerClass = 0, /*fixed amount of changes to lowerclass interest to move in*/
-_lowerClassP = 1, /*scaling changes to lowerclass interest ("stacking bonus")*/
-_welfareFS = 0.004, /*changes to likelihood of lowerclass getting enslaved*/
-_middleClass = 0, /*see lowerclass examples for the rest of these*/
+_lowerClass = 0, /*fixed amount of changes to lowerClass interest to move in*/
+_lowerClassP = 1, /*scaling changes to lowerClass interest ("stacking bonus")*/
+_welfareFS = 0.004, /*changes to likelihood of lowerClass getting enslaved*/
+_middleClass = 0, /*see lowerClass examples for the rest of these*/
 _middleClassP = 1,
 _upperClass = 0,
 _upperClassP = 1,
@@ -1025,7 +1025,18 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>>
 <<if $arcologies[0].FSPhysicalIdealistSMR == 1>>The arcology must import a very large quantity of nutritive protein to nourish its slaves.<</if>>
 <<if $arcologies[0].FSHedonisticDecadenceSMR == 1>>The arcology must import a very large quantity of fattening food to plump up its slaves.<</if>>
 
-<<if $ACitizens > $ASlaves*2>>
+/*Arcade Demand*/
+<<set _LCRent = 1 + (20 - $LCRent) / 100>>
+<<set $arcadeDemand = $lowerClass * 7 * _LCRent - ($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))>>
+<</if>>
+<<if $arcologies[0].FSDegradationistLaw == 1>>
+	<<set $arcadeDemand += ($NPCSlaves + $menials) * 5>>
+<</if>>
+
+
+<<if $ACitizens > $ASlaves*2>> /*This will need to go away Eventually*/
 	Since most citizens do not own sex slaves, @@.yellowgreen;demand for sexual services is intense.@@
 <<elseif $ACitizens > $ASlaves>>
 	Since many citizens do not own sex slaves, @@.yellowgreen;demand for sexual services is healthy.@@
@@ -1130,11 +1141,14 @@ You own
 <</if>>
 
 
-<<if $fuckdolls > 0>>
-	<<set _fuckdollsEarnings = $fuckdolls*(15+(10*$arcologies[0].FSDegradationistLaw))>>
-	<<if $arcade && $arcadeUpgradeMenials>><<set _fuckdollsEarnings += $fuckdolls*5>><</if>>
-	<<if $fuckdolls > 1>> <<print commaNum($fuckdolls)>> standard fuckdolls,<<else>>one fuckdoll,<</if>>
-	<<set _fuckdollsEarnings += random(1,10)>>
+<<if $fuckdolls > 0 || $fuckdollsArcade > 0>> 
+	<<if $arcadeDemand > 0>>
+		<<set _fuckdollPrice = 0.5 + Math.min(Math.exp(($arcadeDemand * 10) / (($fuckdolls - $fuckdollsArcade) * 140 + $fuckdollsArcade * (175 + 35 * $arcadeUpgradeInjectors)), 2), 0.5)>>
+	<<elseif $arcadeDemand < 0>>
+		<<set _fuckdollPrice = 0.5 + Math.max(Math.exp($arcadeDemand / (($fuckdolls - $fuckdollsArcade) * 140 + $fuckdollsArcade * (175 + 35 * $arcadeUpgradeInjectors)), 2), -0.4)>>
+	<</if>>
+	<<set _fuckdollsEarnings = Math.trunc((1 + random(-50,50) / 1000) * (($fuckdolls - $fuckdollsArcade) * _fuckdollPrice * 140 + $fuckdollsArcade * _fuckdollPrice (175 + 35 * $arcadeUpgradeInjectors)) / 10)>> /*The "/ 10" at the end is just there to keep the price in line with other current prices, hopefully prices will get to a spot where this can be dropped*/
+	<<if $fuckdolls > 1>> <<print commaNum($fuckdolls)>> standard fuckdolls,<<elseif $fuckdolls == 1>>one fuckdoll,<</if>><<if $fuckdollsArcade > 1>> <<print commaNum($fuckdollsArcade)>> arcade fuckdolls,<<elseif $fuckdollsArcade == 1>>one arcade fuckdoll,<</if>>
 	<<run cashX(_fuckdollsEarnings, "fuckdolls")>>
 <</if>>
 
diff --git a/src/uncategorized/saWorkAGloryHole.tw b/src/uncategorized/saWorkAGloryHole.tw
index 687e5b0dd497750fcf5fcbc7b472478dd2388d21..88482558085ee99a944151d9a2f3db80b03f7f98 100644
--- a/src/uncategorized/saWorkAGloryHole.tw
+++ b/src/uncategorized/saWorkAGloryHole.tw
@@ -3,37 +3,20 @@
 <!-- Statistics gathering -->
 <<set _incomeStats = getSlaveStatisticData($slaves[$i], $slaves[$i].assignment === Job.ARCADE ? $facility.arcade : undefined)>>
 
-<<if $arcologies[0].FSDegradationist != "unset">>
-	<<set $beauty = random(80,100)+(20*(4-$slaves[$i].anus))+(10*(4-$slaves[$i].vagina))+Math.trunc($arcologies[0].FSDegradationist/2)>>
+<<if $slaves[$i].assignment == "be confined in the arcade">>
+	<<if $arcadeUpgradeInjectors == 1>>
+		<<set $beauty = Math.trunc(random(170,210)+(20*(4-$slaves[$i].anus))+(10*(4-$slaves[$i].vagina)) * 1.2)>> /*Amount of sexual acts per week in the arcade with upgrade*/
+	<<else>>
+		<<set $beauty = random(170,210)+(20*(4-$slaves[$i].anus))+(10*(4-$slaves[$i].vagina))>> /*Amount of sexual acts per week in the arcade*/
+	<</if>>
 <<else>>
-	<<set $beauty = random(80,100)+(20*(4-$slaves[$i].anus))+(10*(4-$slaves[$i].vagina))>>
+	<<set $beauty = Math.trunc(random(170,210)+(20*(4-$slaves[$i].anus))+(10*(4-$slaves[$i].vagina)) * 0.8)>> /*Amount of sexual acts per week with a gloryhole*/
 <</if>>
-<<if $arcologies[0].FSDegradationistLaw == 1>>
-	<<set $beauty = Math.trunc($beauty*1.5)>>
-<<elseif $ACitizens > $ASlaves*4>>
-	<<set $beauty = Math.trunc($beauty*1.1)>>
-<<elseif $ACitizens > $ASlaves*2>>
-	<<set $beauty = Math.trunc($beauty*1)>>
-<<elseif $ACitizens > $ASlaves>>
-	<<set $beauty = Math.trunc($beauty*0.95)>>
-<<elseif $ACitizens > $ASlaves*0.5>>
-	<<set $beauty = Math.trunc($beauty*0.9)>>
+<<if $arcadeDemand > 0>>
+	<<set _averageArcadeDemand = $arcadeDemand / ($arcadeiIDs.length + "Some measure of slaves set to glory holes")>> /*IMPORTANT NEEDS FIX*/
+	<<set $FResult = Math.clamp(Math.exp(_averageArcadeDemand / $beauty, 0.25), 0.5, 2)>> /*This calculates the price charged per fuck*/
 <<else>>
-	<<set $beauty = Math.trunc($beauty*0.85)>>
-<</if>>
-<<if $beauty < 10>>
-	<<set $beauty = 10>>
-<</if>>
-<<if $ACitizens > $ASlaves>>
-	<<set $FResult = 3>>
-<<elseif $ACitizens > $ASlaves*0.5>>
-	<<set $FResult = 2>>
-<<else>>
-	<<set $FResult = 1>>
-<</if>>
-
-<<if ($slaves[$i].assignment == "be confined in the arcade") && ($arcadeUpgradeInjectors == 1)>>
-	<<set $FResult += 1>>
+	<<set $FResult = 0.5>> /*minimum price no matter what*/
 <</if>>
 
 is <<if $slaves[$i].fuckdoll == 0>>restrained in a glory hole<<else>>set out for use<</if>>. $beauty customers (<<print Math.trunc($beauty/7)>> a day) paid <<print cashFormat($FResult)>> to use $his holes.
@@ -66,7 +49,7 @@ is <<if $slaves[$i].fuckdoll == 0>>restrained in a glory hole<<else>>set out for
 <<if ($slaves[$i].vagina == 0) && canDoVaginal($slaves[$i])>>
 	A <<if $slaves[$i].fuckdoll == 0>>glory hole <<else>>Fuckdoll <</if>>user takes $his virginity. He does not notice or care. @@.lime;$His pussy has been broken in@@ in a @@.gold;painful@@ and @@.mediumorchid;degrading@@ way.
 	<<set $slaves[$i].devotion -= 10, $slaves[$i].trust -= 10, $slaves[$i].vagina = 1>>
-<<elseif ($slaves[$i].vagina < 3) && (canDoVaginal($slaves[$i])) && (random(1,100) > ((170-$beauty)+($slaves[$i].vagina*10)))>>
+<<elseif ($slaves[$i].vagina < 3) && (canDoVaginal($slaves[$i])) && (random(1,100) > ((310-$beauty)+($slaves[$i].vagina*10)))>>
 	@@.lime;$His pussy gets stretched out by the use.@@
 	<<set $slaves[$i].vagina += 1>>
 <</if>>
@@ -74,7 +57,7 @@ is <<if $slaves[$i].fuckdoll == 0>>restrained in a glory hole<<else>>set out for
 <<if ($slaves[$i].anus == 0) && canDoAnal($slaves[$i])>>
 	$His anal virginity goes to a <<if $slaves[$i].fuckdoll == 0>>glory hole <<else>>Fuckdoll <</if>>user, who doesn't understand why this particular run at <<if $slaves[$i].fuckdoll == 0>>the glory hole<<else>>a Fuckdoll<</if>> is so great. @@.lime;$His ass has been broken in@@ in a @@.gold;painful@@ and @@.mediumorchid;degrading@@ way.
 	<<set $slaves[$i].devotion -= 5, $slaves[$i].trust -= 5, $slaves[$i].anus = 1>>
-<<elseif ($slaves[$i].anus < 3) && canDoAnal($slaves[$i]) && (random(1,100) > ((150-$beauty)+($slaves[$i].anus*10)))>>
+<<elseif ($slaves[$i].anus < 3) && canDoAnal($slaves[$i]) && (random(1,100) > ((290-$beauty)+($slaves[$i].anus*10)))>>
 	@@.lime;$His asshole sees constant use and loosens.@@
 	<<set $slaves[$i].anus += 1>>
 <</if>>
@@ -265,6 +248,6 @@ $His feelings, skills, and appearance do not matter. $He is condemned to a world
 	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
 
-<<run cashX(($beauty*$FResult), "gloryhole", $slaves[$i])>>
-<<set _profits += ($beauty*$FResult)>>
-<<set _incomeStats.income += ($beauty*$FResult)>>
+<<run cashX(Math.trunc($beauty*$FResult), "gloryhole", $slaves[$i])>>
+<<set _profits += Math.trunc($beauty*$FResult)>>
+<<set _incomeStats.income += Math.trunc($beauty*$FResult)>>