diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index a01cbaef084e6277d6f3cea6c93e119ffb7fd24b..6c496f7fcfcd72a4f13e585f215f9d73884e05c0 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -4,9 +4,10 @@
 </span>
 
 <<SlaveSort $BrothiIDs>>
-<<set _DL = $BrothiIDs.length, $brothelSlaves = _DL, _SL = $slaves.length, $implanted = 0, $legendaryWhoreID = 0, $madamCashBonus = 0, $modded = 0, $old = 0, $pure = 0, $slim = 0, $stacked = 0, $unmodded = 0, $XX = 0, $XY = 0, $young = 0, _FLsFetish = 0, _profits = 0>>
+<<set _DL = $BrothiIDs.length, $brothelSlaves = _DL, _SL = $slaves.length, $implanted = 0, $legendaryWhoreID = 0, $madamCashBonus = 0, _FLsFetish = 0, _profits = 0>>
 
-<<set $legendaryWombID = 0, $pregYes = 0, $pregNo = 0>>
+<<set $legendaryWombID = 0>>
+<<set _brothelSlaves = $slaves.filter(function(s) { return s.assignment == "work in the brothel" || s.ID == $Madam.ID })>>
 
 <!-- Statistics gathering -->
 <<set $facility = $facility || {}, $facility.brothel = initFacilityStatistics($facility.brothel)>>
@@ -429,7 +430,9 @@
 	<<if ($arcologies[0].FSAssetExpansionist == "unset") && ($arcologies[0].FSSlimnessEnthusiast == "unset")>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsStacked == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($slim > 0) && ($stacked > 0) && (Math.abs($slim-$stacked) <= (_DL/3))>>
+			<<set _slim = slimCount(_brothelSlaves)>>
+			<<set _stacked = stackedCount(_brothelSlaves)>>
+			<<if (_slim > 0) && (_stacked > 0) && (Math.abs(_slim-_stacked) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers a @@.yellowgreen;wide@@ variety of slim and stacked slaves.
 			<</if>>
@@ -438,7 +441,9 @@
 	<<if ($arcologies[0].FSRepopulationFocus == "unset") && ($arcologies[0].FSRestart == "unset")>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsPreg == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($pregYes > 0) && ($pregNo > 0) && (Math.abs($pregYes-$pregNo) <= (_DL/3))>>
+			<<set _pregYes = pregYesCount(_brothelSlaves)>>
+			<<set _pregNo = pregNoCount(_brothelSlaves)>>
+			<<if (_pregYes > 0) && (_pregNo > 0) && (Math.abs(_pregYes-_pregNo) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers a @@.yellowgreen;wide@@ variety of slaves with big bellies and slaves with flat bellies.
 			<</if>>
@@ -447,7 +452,9 @@
 	<<if ($arcologies[0].FSDegradationist == "unset") && ($arcologies[0].FSBodyPurist == "unset")>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsModded == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($modded > 0) && ($unmodded > 0) && (Math.abs($modded-$unmodded) <= (_DL/3))>>
+			<<set _modded = moddedCount(_brothelSlaves)>>
+			<<set _unmodded = unmoddedCount(_brothelSlaves)>>
+			<<if (_modded > 0) && (_unmodded > 0) && (Math.abs(_modded-_unmodded) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers a @@.yellowgreen;both@@ heavily pierced and tattooed slaves and slaves with more natural bodies.
 			<</if>>
@@ -456,7 +463,9 @@
 	<<if ($arcologies[0].FSTransformationFetishist == "unset") && ($arcologies[0].FSBodyPurist == "unset")>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsImplanted == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($implanted > 0) && ($pure > 0) && (Math.abs($implanted-$pure) <= (_DL/3))>>
+			<<set _implanted = implantedCount(_brothelSlaves)>>
+			<<set _pure = pureCount(_brothelSlaves)>>
+			<<if (_implanted > 0) && (_pure > 0) && (Math.abs(_implanted-_pure) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers @@.yellowgreen;both@@ all-natural girls, and slaves whose beauty has been improved by surgical means.
 			<</if>>
@@ -465,7 +474,9 @@
 	<<if $seeDicks != 0>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsXX == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($XX > 0) && ($XY > 0) && (Math.abs($XX-$XY) <= (_DL/3))>>
+			<<set _XX = XXCount(_brothelSlaves)>>
+			<<set _XY = XYCount(_brothelSlaves)>>
+			<<if (_XX > 0) && (_XY > 0) && (Math.abs(_XX-_XY) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers a @@.yellowgreen;mix@@ of whores that can appeal to varied tastes in genitalia.
 			<</if>>
@@ -474,7 +485,9 @@
 	<<if ($arcologies[0].FSMaturityPreferentialist == "unset") && ($arcologies[0].FSYouthPreferentialist == "unset")>>
 		<<if ($brothelAdsSpending == 0) || ($brothelAdsOld == 0)>>
 			<<set _possibleBonuses++>>
-			<<if ($young > 0) && ($old > 0) && (Math.abs($young-$old) <= (_DL/3))>>
+			<<set _young = youngCount(_brothelSlaves)>>
+			<<set _old = oldCount(_brothelSlaves)>>
+			<<if (_young > 0) && (_old > 0) && (Math.abs(_young-_old) <= (_DL/3))>>
 				<<set _adsIncome = _DL*random(20,30), $cash += _adsIncome, $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				The brothel offers girls @@.yellowgreen;both@@ young and mature.
 			<</if>>