diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 89893a98b94955ac343222c991e1e551b18baf9a..2e2de81ad3ebfd43b8b8fc4d3808c650c100cc13 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,8 @@ Pregmod
 
 0.10.7.1-2.1.x
 
+02/08/2019
+
 	6
 	-fixes
 	-cleaning
diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw
index b2f68f51368fdfdfa163c547916d50310a2b09a9..fd4d534d2179765527e96b683cd8c99d9d3b9ae3 100644
--- a/src/Mods/DinnerParty/dinnerPartyExecution.tw
+++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw
@@ -33,7 +33,7 @@
 	<</if>>
 	/* This needs to be rewritten. Take into account FS tastes and the fact that the player might not have a dick */
 	$He is lying on $his back with an apple in $his mouth. You lift $his legs up in the air exposing $his nethers. You penetrate $him with your throbbing dick fucking $him roughly and cumming quickly. Your guests form a line behind you, and do the same to $his ass. Some of your guests take particular pleasure being rough with $activeSlave.slaveName. They enjoy making $him squeal like a pig, knowing they are about to enjoy $his flesh in a short while. After all of your guests had a turn with the little piggy, $his ass is dripping with cum and a hint of blood. It seems your guests greatly @@.green;enjoy@@ themselves. You stand over $him with a ceremonial dagger,
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<if $activeSlave.fetish == "mindbroken">>
 		looking into $his dull eyes.
 	<<elseif $activeSlave.devotion > 90>>
@@ -45,10 +45,10 @@
 	$activeSlave.slaveName moans with the apple in $his mouth. When she is on the edge of climax you plunge the ceremonial dagger into $his chest. The pain causes $him to bite down on the apple deeply. Tears mixed with the juices of the apple flow down $his face. With a twist of your hand, you carve out $his beating heart.
 	<<if ($activeSlave.fetish == "mindbroken") || ($activeSlave.devotion > 90)>>
 		Your guests @@.green;applaud@@ your slave's willingness to die for $his <<= WrittenMaster()>>, a credit to your training.
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 	<<else>>
 		Your guests @@.red;snicker@@ at your inability to provide a willing sacrifice.
-		<<set $rep -= 100>>
+		<<run repX(-100, "event")>>
 	<</if>>
 	Your slaves carry the carcass to the kitchen for cooking preparations. With all the ingredients for the special dishes harvested, the carcass is placed on a spit slowly rotating over an open fire. You mingle with your guests while $activeSlave.slaveName is slowly being cooked.
 	<br><br>
@@ -103,13 +103,13 @@
 		This dish earned a score of _dishRating out of 5 stars.
 		<<if _dishRating >= 2>>
 			Your reputation has @@.green;increased@@.
-			<<set $rep += (_dishRating * 20)>>
+			<<run repX((_dishRating * 20), "event")>>
 		<<elseif _dishRating >= 0>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= (_dishRating * 20)>>
+			<<run repX(forceNeg(_dishRating * 20), "event")>>
 		<<else>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= 100>>
+			<<run repX(-100, "event")>>
 		<</if>>
 		<br><br>
 		/% End of Dish rating %/
@@ -134,13 +134,13 @@
 		This dish earned a score of _dishRating out of 5 stars.
 		<<if _dishRating >= 2>>
 			Your reputation has @@.green;increased@@.
-			<<set $rep += (_dishRating * 20)>>
+			<<run repX((_dishRating * 20), "event")>>
 		<<elseif _dishRating >= 0>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= (_dishRating * 20)>>
+			<<run repX(forceNeg(_dishRating * 20), "event")>>
 		<<else>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= 100>>
+			<<run repX(-100, "event")>>
 		<</if>>
 		<br><br>
 		/% End of Dish rating %/
@@ -184,13 +184,13 @@
 		This dish earned a score of _dishRating out of 5 stars.
 		<<if _dishRating >= 2>>
 			Your reputation has @@.green;increased@@.
-			<<set $rep += (_dishRating * 20)>>
+			<<run repX((_dishRating * 20), "event")>>
 		<<elseif _dishRating >= 0>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= (_dishRating * 20)>>
+			<<run repX(forceNeg(_dishRating * 20), "event")>>
 		<<else>>
 			Your reputation has @@.red;decreased@@.
-			<<set $rep -= 100>>
+			<<run repX(-100, "event")>>
 		<</if>>
 		<br><br>
 		/% End of Dish rating %/
@@ -222,7 +222,7 @@
 		<br><br>
 		This dish earned a score of _dishRating out of 5 stars.
 		Your reputation has @@.green;increased@@.
-		<<set $rep += (_dishRating * 20)>>
+		<<run repX((_dishRating * 20), "event")>>
 		<br><br>
 	<</if>>
 	/*<br style="clear:both" />*/
@@ -236,7 +236,7 @@
 	<<if $activeSlave.boobsImplant > 0>>
 		As you and your guests take your first bite of the tartare you immediately spit out the meat. Who would have thought silicone is not edible. You have neglected to remove $his breast implants before serving the titty tartare. The dish is now ruined. Your guests are @@.red;displeased@@ by your lack of attention to detail.
 		<<set _dishRating = 0>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 	<<else>>
 		<<if $activeSlave.boobs >= 4800>>
 			$His monstrous boobs are very tender and juicy. There are also enough servings to keep all of your guests satisfied.
@@ -259,7 +259,7 @@
 		<<if $activeSlave.lactation >= 2>>
 			As you and your guests enjoy your tartare, suddenly you hear a loud crunch coming from the guest sitting right next to you. You see blood spewing from his mouth as he spits out his chipped tooth along with a lactation implant. You apologize profusely and pay the man ¤10000 as compensation. The rest of your guests are @@.red;not happy@@ that you serve them drugged meat.
 			<<set _dishRating = 0>>
-			<<set $rep -= 1000>>
+			<<run repX(-1000, "event")>>
 			<<run cashX(-10000, "event")>>
 		<<elseif $activeSlave.lactation > 0 >>
 			You detect a hint of creamy taste to your tartare. The clearly lactating breast earns the dish an extra star.
@@ -278,13 +278,13 @@
 	This dish earned a score of _dishRating out of 5 stars.
 	<<if _dishRating >= 2>>
 		Your reputation has @@.green;increased@@.
-		<<set $rep += (_dishRating * 20)>>
+		<<run repX((_dishRating * 20), "event")>>
 	<<elseif _dishRating >= 0>>
 		Your reputation has @@.red;decreased@@.
-		<<set $rep -= (_dishRating * 20)>>
+		<<run repX(forceNeg(_dishRating * 20), "event")>>
 	<<else>>
 		Your reputation has @@.red;decreased@@.
-		<<set $rep -= 100>>
+		<<run repX(-100, "event")>>
 	<</if>>
 	<br><br>
 	/% End of Dish rating %/
@@ -348,12 +348,12 @@
 	<<if $activeSlave.lipsImplant > 0>>
 		All of sudden one of your guests' face turns red, then purple. It is clear he is choking on something. You leap out of your seat, rush over to him and start the Heimlich maneuver. On your third thrust into his abdominal, a piece of lip implants flies out of his mouth and hits another guest square in the face. You apologize profusely for your carelessness in selecting the meat. The rest of your guests had a great laugh at your @@.red;expense@@.
 		<<set _dishRating -= 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 	<</if>>
 	<<if $activeSlave.buttImplant > 0>>
 		All of sudden one of your guests clutches his chest. His face turns pale as a ghost, foaming at the mouth falls over onto the table. You rush over to him, it is clear he is not breathing. You don't know what's wrong with him. It could not have been poison, since any toxins in the food would have been detected by your virtual assistant. You order your slave to rush the man to the nearest emergency clinic. You were informed later that he had died from ingesting a silicone butt implant. Your reputation @@.red;suffers@@ greatly due to this incident.
 		<<set _dishRating -= 10>>
-		<<set $rep -= 5000>>
+		<<run repX(-5000, "event")>>
 	<</if>>
 
 	/% Dish rating, could be made into a separate function/passage. The following will be called for every dish %/
@@ -367,13 +367,13 @@
 	This dish earned a score of _dishRating out of 5 stars.
 	<<if _dishRating >= 2>>
 		Your reputation has @@.green;increased@@.
-		<<set $rep += (_dishRating * 20)>>
+		<<run repX((_dishRating * 20), "event")>>
 	<<elseif _dishRating >= 0>>
 		Your reputation has @@.red;decreased@@.
-		<<set $rep -= (_dishRating * 20)>>
+		<<run repX(forceNeg(_dishRating * 20), "event")>>
 	<<else>>
 		Your reputation has @@.red;decreased@@.
-		<<set $rep -= 100>>
+		<<run repX(-100, "event")>>
 	<</if>>
 	<br><br>
 	/% End of Dish rating %/
@@ -387,7 +387,7 @@
 		Sounds of an orgy of food drink and sex echoes through your dining hall. Your guests ate, drank and fucked their fill.
 		As the evening draw to a close, there isn't a single morsel of $activeSlave.slaveName left to be found. Some of your slaves show signs of teeth marks on their skin. Perhaps some guests got confused about what's for eating and what's for fucking?
 		The evening was a @@.green;success@@.
-		<<set $rep += (_dinnerRating * 100)>>
+		<<run repX((_dinnerRating * 100), "event")>>
 
 		<<if _dinnerRating >= 20>>
 			<br><br>
@@ -404,7 +404,7 @@
 	<<else>>
 	/% failed evening %/
 		With most of your dishes earning a poor rating, your guests are @@.red;dissatisfied@@.
-		<<set $rep -= (_dinnerRating * 100)>>
+		<<run repX(forceNeg(_dinnerRating * 100), "event")>>
 		They take out their frustrations on your slaves. Your slaves are being fucked roughly and abused. Cries of pain and pleads of mercy echoes through your dining hall. You decide to allow the abuse to continue as you do not want to antagonize your guests further. You watch with a forced smile as your favorite slaves are being slapped, whipped, choked and burned with cigarettes.
 		Some of your unlucky slaves had their health @@.red;reduced@@.
 		All of your slaves @@.mediumorchid;respect you less@@ and @@.gold;fear@@ you more as you place your reputation above their wellbeing.
diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw
index e1023c96baa1802f250d24e686425492f88a7718..2743b8d2a15541298895fd45acd50141ad81279d 100644
--- a/src/SecExp/attackReport.tw
+++ b/src/SecExp/attackReport.tw
@@ -383,16 +383,16 @@
 <<if $battleResult == 3>>
 	Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ increased. You were also able to capture
 	<<if $attackType == "raiders">>
-		<<set $rep += 800 * _majorBattleMod>>
+		<<run repX(800 * _majorBattleMod, "war")>>
 		<<set $authority += 800 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep += 1200 * _majorBattleMod>>
+		<<run repX(1200 * _majorBattleMod, "war")>>
 		<<set $authority += 1200 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep += 1500 * _majorBattleMod>>
+		<<run repX(1500 * _majorBattleMod, "war")>>
 		<<set $authority += 1500 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep += 1200 * _majorBattleMod>>
+		<<run repX(1200 * _majorBattleMod, "war")>>
 		<<set $authority += 1200 * _majorBattleMod>>
 	<</if>>
 	<<if $attackTroops - $enemyLosses <= 50>>
@@ -445,16 +445,16 @@
 <<elseif $battleResult == -3>>
 	Due to your defeat, your @@.red;reputation@@ and @@.red;authority@@ decreased. Obviously your troops were not able to capture anyone or anything.
 	<<if $attackType == "raiders">>
-		<<set $rep -= 400 * _majorBattleMod>>
+		<<run repX(forceNeg(400 * _majorBattleMod), "war")>>
 		<<set $authority -= 400 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep -= 600 * _majorBattleMod>>
+		<<run repX(forceNeg(600 * _majorBattleMod), "war")>>
 		<<set $authority -= 600 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep -= 750 * _majorBattleMod>>
+		<<run repX(forceNeg(750 * _majorBattleMod), "war")>>
 		<<set $authority -= 750 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep -= 600 * _majorBattleMod>>
+		<<run repX(forceNeg(600 * _majorBattleMod), "war")>>
 		<<set $authority -= 600 * _majorBattleMod>>
 	<</if>>
 	<br>
@@ -509,16 +509,16 @@
 <<elseif $battleResult == 2>>
 	Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ slightly increased. Our men were not able to capture any combatants, however some equipment was seized during the enemy's hasty retreat,
 	<<if $attackType == "raiders">>
-		<<set $rep += 200 * _majorBattleMod>>
+		<<run repX(200 * _majorBattleMod, "war")>>
 		<<set $authority += 200 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep += 300 * _majorBattleMod>>
+		<<run repX(300 * _majorBattleMod, "war")>>
 		<<set $authority += 300 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep += 450 * _majorBattleMod>>
+		<<run repX(450 * _majorBattleMod, "war")>>
 		<<set $authority += 450 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep += 300 * _majorBattleMod>>
+		<<run repX(300 * _majorBattleMod, "war")>>
 		<<set $authority += 300 * _majorBattleMod>>
 	<</if>>
 	which once sold produced
@@ -556,16 +556,16 @@
 <<elseif $battleResult == -2>>
 	It was a close defeat, but nonetheless your @@.red;reputation@@ and @@.red;authority@@ slightly decreased. Your troops were not able to capture anyone or anything.
 	<<if $attackType == "raiders">>
-		<<set $rep -= 40 * _majorBattleMod>>
+		<<run repX(forceNeg(40 * _majorBattleMod), "war")>>
 		<<set $authority -= 40 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep -= 60 * _majorBattleMod>>
+		<<run repX(forceNeg(60 * _majorBattleMod), "war")>>
 		<<set $authority -= 60 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep -= 75 * _majorBattleMod>>
+		<<run repX(forceNeg(75 * _majorBattleMod), "war")>>
 		<<set $authority -= 75 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep -= 60 * _majorBattleMod>>
+		<<run repX(forceNeg(60 * _majorBattleMod), "war")>>
 		<<set $authority -= 60 * _majorBattleMod>>
 	<</if>>
 	<br>
@@ -617,16 +617,16 @@
 <<elseif $battleResult == -1>>
 	Rather than waste the lives of your men you decided to surrender, hoping your enemy will cause less damage if you indulge them, this is however a big hit to your status. Your @@.red;reputation@@ and @@.red;authority@@ are significantly impacted.
 	<<if $attackType == "raiders">>
-		<<set $rep -= 600 * _majorBattleMod>>
+		<<run repX(forceNeg(600 * _majorBattleMod), "war")>>
 		<<set $authority -= 600 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep -= 800 * _majorBattleMod>>
+		<<run repX(forceNeg(800 * _majorBattleMod), "war")>>
 		<<set $authority -= 800 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep -= 1000 * _majorBattleMod>>
+		<<run repX(forceNeg(1000 * _majorBattleMod), "war")>>
 		<<set $authority -= 1000 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep -= 800 * _majorBattleMod>>
+		<<run repX(forceNeg(800 * _majorBattleMod), "war")>>
 		<<set $authority -= 800 * _majorBattleMod>>
 	<</if>>
 	<br>
@@ -678,16 +678,16 @@
 	Unfortunately your adversary did not accept your money. <<if $attackType == "freedom fighters">> Their ideological crusade would not allow such thing<<else>>They saw your attempt as nothing more than admission of weakness<</if>>. There was no time to organize a defense and so the enemy walked into the arcology as it was his.
 	Your reputation and authority suffer a hit.
 	<<if $attackType == "raiders">>
-		<<set $rep -= 400 * _majorBattleMod>>
+		<<run repX(forceNeg(400 * _majorBattleMod), "war")>>
 		<<set $authority -= 400 * _majorBattleMod>>
 	<<elseif $attackType == "free city">>
-		<<set $rep -= 600 * _majorBattleMod>>
+		<<run repX(forceNeg(600 * _majorBattleMod), "war")>>
 		<<set $authority -= 600 * _majorBattleMod>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep -= 750 * _majorBattleMod>>
+		<<run repX(forceNeg(750 * _majorBattleMod), "war")>>
 		<<set $authority -= 750 * _majorBattleMod>>
 	<<elseif $attackType == "old world">>
-		<<set $rep -= 600 * _majorBattleMod>>
+		<<run repX(forceNeg(600 * _majorBattleMod), "war")>>
 		<<set $authority -= 600 * _majorBattleMod>>
 	<</if>>
 	<br>
@@ -740,13 +740,13 @@
 	The attackers wisely take the money offered them to leave your territory without further issues. The strength of the free cities was never in their guns but in their dollars and today events are the perfect demonstration of such strength.
 	Your @@.green;reputation slightly increases@@.
 	<<if $attackType == "raiders">>
-		<<set $rep += 100 * _majorBattleMod>>
+		<<run repX(100 * _majorBattleMod, "war")>>
 	<<elseif $attackType == "free city">>
-		<<set $rep += 150 * _majorBattleMod>>
+		<<run repX(150 * _majorBattleMod, "war")>>
 	<<elseif $attackType == "freedom fighters">>
-		<<set $rep += 200 * _majorBattleMod>>
+		<<run repX(200 * _majorBattleMod, "war")>>
 	<<elseif $attackType == "old world">>
-		<<set $rep += 150 * _majorBattleMod>>
+		<<run repX(150 * _majorBattleMod, "war")>>
 	<</if>>
 	<<run cashX(forceNeg($bribeCost), "war")>>
 <</if>>
diff --git a/src/SecExp/edicts.tw b/src/SecExp/edicts.tw
index fa14b45f14b6eb0dd6adab9a6705db9348236896..0be1b0045f6cf686f478f338dc472eeeba39b639 100644
--- a/src/SecExp/edicts.tw
+++ b/src/SecExp/edicts.tw
@@ -1,7 +1,6 @@
 :: edicts [nobr]
 
-<<set $nextButton = "Back">>
-<<set $nextLink = "Main">>
+<<set $nextButton = "Back", $nextLink = "Main">>
 
 ''__Active Edicts__''
 
diff --git a/src/SecExp/rebellionReport.tw b/src/SecExp/rebellionReport.tw
index 597ca899c03fb58c7be4760d078b6651245c118d..afef8415185b8f2432185ff3f144b0cc6bc8afc8 100644
--- a/src/SecExp/rebellionReport.tw
+++ b/src/SecExp/rebellionReport.tw
@@ -122,13 +122,13 @@
 	/* effects */
 	<<if $battleResult == 3>>
 		Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ increased.
-		<<set $rep += random(800,1000)>>
+		<<run repX(random(800,1000), "war")>>
 		<<set $authority += random(800,1000)>>
 		<br>Many of the rebelling slaves were recaptured and punished. The instigators were executed one after another in a public trial that lasted for almost three days.
 		<<set $NPCSlaves -= random(10,30)>>
 	<<elseif $battleResult == -3>>
 		Due to your defeat, your @@.red;reputation@@ and @@.red;authority@@ decreased.
-		<<set $rep -= random(800,1000)>>
+		<<run repX(random(-800,-1000), "war")>>
 		<<set $authority -= random(800,1000)>>
 		<br>After the battle most of the rebelling slaves managed to escape, while others remained in the arcology for days looting and hunting their former masters. The arcology will bear the scars of this day for a long time.
 		<<set $lowerClass -= random(50,100)>>
@@ -140,7 +140,7 @@
 		<<set $rebelDefeatAftermath = 5>>
 	<<elseif $battleResult == -2>>
 		Due to your defeat, your @@.red;reputation@@ and @@.red;authority@@ decreased.
-		<<set $rep -= random(600,800)>>
+		<<run repX(random(-600,-800), "war")>>
 		<<set $authority -= random(600,800)>>
 		<br>After the battle most of the rebelling slaves managed to escape, while others remained in the arcology for days looting and hunting their former masters. The arcology will bear the scars of this day for a long time.
 		<<set $lowerClass -= random(40,80)>>
@@ -152,13 +152,13 @@
 		<<set $rebelDefeatAftermath = 3>>
 	<<elseif $battleResult == 2>>
 		Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ increased.
-		<<set $rep += random(600,180)>>
+		<<run repX(random(600,180), "war")>>
 		<<set $authority += random(600,800)>>
 		<br>Many of the rebelling slaves were recaptured and punished. The instigators were executed one after another in a public trial that lasted for almost three days.
 		<<set $NPCSlaves -= random(10,30)>>
 	<<elseif $battleResult == -1>>
 		Rather than waste the lives of your men you decided to surrender, hoping the rebels will cause less damage if you indulge them, this is however a big hit to your status. Your @@.red;reputation@@ and @@.red;authority@@ are significantly impacted.
-		<<set $rep -= random(1000,1200)>>
+		<<run repX(random(-1000,-1200), "war")>>
 		<<set $authority -= random(1000,1200)>>
 		<br>
 		The surrender allows the arcology to survive @@.yellow;mostly intact,@@ however reports of @@.red;mass looting and killing of citizens@@ flood your office for a few days.
@@ -254,20 +254,20 @@
 	/* effects */
 	<<if $battleResult == 3>>
 		Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ increased.
-		<<set $rep += random(800,1000)>>
+		<<run repX(random(800,1000), "war")>>
 		<<set $authority += random(800,1000)>>
 		<br>Many of the rebelling citizens were captured and punished, many others enslaved. The instigators were executed one after another in a public trial that lasted for almost three days.
 		<<set $lowerClass -= random(10,30)>>
 	<<elseif $battleResult == -3>>
 		Due to your defeat, your @@.red;reputation@@ and @@.red;authority@@ decreased.
-		<<set $rep -= random(800,1000)>>
+		<<run repX(random(-800,-1000), "war")>>
 		<<set $authority -= random(800,1000)>>
 		<br>After the battle most of the rebelling citizens remained in the arcology for days looting and hunting their former arcology. We will bear the scars of this day for a long time.
 		<<set $lowerClass -= Math.trunc(($attackTroops - $enemyLosses) * 0.8)>>
 		<<set $rebelDefeatAftermath = 5>>
 	<<elseif $battleResult == -2>>
 		Due to your defeat, your @@.red;reputation@@ and @@.red;authority@@ decreased.
-		<<set $rep -= random(600,800)>>
+		<<run repX(random(-600,-800), "war")>>
 		<<set $authority -= random(600,800)>>
 		<br>After the battle most of the rebelling citizens remained in the arcology for days looting and hunting their former arcology. We will bear the scars of this day for a long time.
 		<<set $lowerClass -= random(40,80)>>
@@ -279,13 +279,13 @@
 		<<set $rebelDefeatAftermath = 3>>
 	<<elseif $battleResult == 2>>
 		Thanks to your victory, your @@.green;reputation@@ and @@.darkviolet;authority@@ increased.
-		<<set $rep += random(600,180)>>
+		<<run repX(random(600,180), "war")>>
 		<<set $authority += random(600,800)>>
 		<br>Many of the rebelling citizens were captured and punished, many others enslaved. The instigators were executed one after another in a public trial that lasted for almost three days.
 		<<set $NPCSlaves -= random(10,30)>>
 	<<elseif $battleResult == -1>>
 		Rather than waste the lives of your men you decided to surrender, hoping the rebels will cause less damage if you indulge them, this is however a big hit to your status. Your @@.red;reputation@@ and @@.red;authority@@ are significantly impacted.
-		<<set $rep -= random(1000,1200)>>
+		<<run repX(random(-1000,-1200), "war")>>
 		<<set $authority -= random(1000,1200)>>
 		<br>
 		The surrender allows the arcology to survive @@.yellow;mostly intact,@@ however reports of @@.red;mass looting and killing of citizens@@ flood your office for a few days.
diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw
index 226e6d29c78edec4578bfc3f846a09cb84a75207..0dcf4088a51252f1644e2872e7d2724058a55c2c 100644
--- a/src/SecExp/riotControlCenter.tw
+++ b/src/SecExp/riotControlCenter.tw
@@ -108,7 +108,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 				<<if $riotUpgrades.rapidUnitCost == 0>>
 					<<set $authority -= 1000 + 50 * $riotUpgrades.rapidUnit>>
 				<<else>>
-					<<set $rep -= 1000 + 50 * $riotUpgrades.rapidUnit>>
+					<<run repX(forceNeg(1000 + 50 * $riotUpgrades.rapidUnit), "war")>>
 				<</if>>
 				<<set _change = random(15) + random(1,2) * $riotUpgrades.rapidUnit>>
 				<<set $slaveProgress = Math.clamp($slaveProgress - _change,0,100)>>
@@ -122,7 +122,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 				<<if $riotUpgrades.rapidUnitCost == 0>>
 					<<set $authority -= 1000 + 50 * $riotUpgrades.rapidUnit>>
 				<<else>>
-					<<set $rep -= 1000 + 50 * $riotUpgrades.rapidUnit>>
+					<<run repX(forceNeg(1000 + 50 * $riotUpgrades.rapidUnit), "war")>>
 				<</if>>
 				<<set _change = random(15) + random(1,2) * $riotUpgrades.rapidUnit>>
 				<<set $citizenProgress = Math.clamp($citizenProgress - _change,0,100)>>
diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw
index e4acebb768b1e11b808bdfd2c054ec2811f07ee9..54c7f81e2f2342ac77b4aa6e1f50369b7b22df9c 100644
--- a/src/SecExp/secExpSmilingMan.tw
+++ b/src/SecExp/secExpSmilingMan.tw
@@ -149,21 +149,17 @@
 	<br>In little more than seconds all the data collected in the years past vanished. It's a disaster.
 	<<if $cash < 0>>
 		The vast majority of currency is digital, so the actions of the Smiling Man have a devastating effect on the money supply. Luckily for you this means that your @@.yellowgreen;debt is reduced@@.
-		<<set _oldCash = $cash>>
-		<<set _tCash = $cash * 0.2>>
-		<<run cashX(_tCash - _oldCash, "event")>>
 	<<else>>
 		The vast majority of currency is digital, so the actions of the Smiling Man have a devastating effect on the money supply. Unfortunately this means that your @@.red;cash reserves are gutted@@.
-		<<set _oldCash = $cash>>
-		<<set _tCash = $cash * 0.2>>
-		<<run cashX(_tCash - _oldCash, "event")>>
 	<</if>>
+	<<run cashX(($cash * 0.2)-$cash, "event")>>
 	You are not the only one affected by this however. @@.red;The economy of the entire world is severely affected@@ by the loss of vast quantities of currency. Who knows how long will it take for the global economy to recover.
 	<<set $globalCrisisWeeks = random(8,16)>>
 	Trade is @@.red;severely affected@@.
 	<<set $trade *= 0.2>>
 	With the loss of so much information, most of your accomplishments are simply forgotten, so @@.red;your reputation suffers.@@
-	<<set $rep *= 0.6>>
+	<<run repX(($rep * 0.6)-$rep, "event")>>
+
 	<<if $arcologies[0].ownership >= 60>>
 		<<if $authority <= 10000>>
 			<<for _i = 1; _i < $sectors.length; _i++>>
diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js
index 546df2b6ae1c2e30d720208e9d4ba268794a5d93..ef847cb3711d3b5a0fd69e557efbe20d17901598 100644
--- a/src/SpecialForce/SpecialForce.js
+++ b/src/SpecialForce/SpecialForce.js
@@ -358,9 +358,9 @@ window.SFReport = function() {
 	
 	if (V.SF.Target === "recruit") { FNG += Math.ceil(FNG*0.95);
 		} else { FNG += Math.ceil(FNG*0.25); }
-	if (V.SF.Target === "secure") { V.rep += Math.ceil(V.rep*((Trade/100)*0.95));
+	if (V.SF.Target === "secure") { repX((Math.ceil(V.rep*((Trade/100)*0.95))), "specialForces");
 		V.arcologies[0].prosperity=Math.ceil((V.arcologies[0].prosperity+(Trade/10)*0.95));
-	} else { V.rep += Math.ceil(V.rep*(Trade/100)*0.25);
+	} else { repX((Math.ceil(V.rep*(Trade/100)*0.25)), "specialForces");
 		V.arcologies[0].prosperity=Math.ceil(V.arcologies[0].prosperity+(Trade/10)*0.25);}
 	if (V.secExp > 0) V.authority += V.SF.Size*10; V.authority=Math.clamp(V.authority, 0, 20000);
 
@@ -369,7 +369,6 @@ window.SFReport = function() {
 	//if (V.economy < 100) income=Math.ceil(income*(1+(V.week/100))); //Remove line if hard mode ever gets fixed.
 	if (income >= target) profit=1; delete V.SF.Subsidy; cashX(income, "specialForces");
 	if (S.Troops > unitCap) S.Troops=unitCap;
-	if (V.rep > 20000) V.rep=20000;
 	if (V.arcologies[0].prosperity > V.ProsperityCap) V.arcologies[0].prosperity=V.ProsperityCap;
 
 	if (S.Drugs >= 8 || S.Drugs >= 10) { var survivalChance=50;
@@ -521,7 +520,7 @@ window.BadOutcome = function() {
 			r+=`<br>The ${V.SF.Lower} still deploys into the old world to plunder as it pleases, but no longer for you. You receive no money from their exploits, and their total defiance and independence of you is a permanent stain on your reputation. Of course, you'll never have the needed military power to dislodge them, especially with all the redundant fortifications, crossfire envelopes, and myriad traps that paranoid bitch had built around each entrance ever since she went rouge. Trying to sabotage certain support beams from above to make the Firebase facility collapse in on itself could easily cause enough damage to topple other parts of the arcology too, and such a thing would be very difficult to cover up. In other words, you're stuck with them. The Firebase has become a permanent tumor on your Arcology and good name.`;
 			break;
 		case "Cruel":
-			V.SF.BadOutcome="Revolt"; V.trinkets.push("${t} dog tags"); V.Rep=0;
+			V.SF.BadOutcome="Revolt"; V.trinkets.push("${t} dog tags"); repX((0 - V.rep), "specialForces");
 			V.arcologies[0].prosperity -= 50; V.ASlaves=49; cashX(-10000, "specialForces");
 			V.ACitizens=751; V.menials=0; V.researchLab.menials=0;
 			V.researchLab.hired=0; V.fuckdolls=0; V.menialBioreactors=0;
@@ -530,7 +529,7 @@ window.BadOutcome = function() {
 			r+=`<br>The ${V.SF.Lower} still deploys into the old world to plunder as it pleases, but no longer for you. You receive no money from their exploits, and their total defiance and independence of you is a permanent stain on your reputation. Of course, you'll never have the needed military power to dislodge them, especially with all the redundant fortifications, crossfire envelopes, and myriad traps that paranoid bitch had built around each entrance ever since she went rouge. Trying to sabotage certain support beams from above to make the Firebase facility collapse in on itself could easily cause enough damage to topple other parts of the arcology too, and such a thing would be very difficult to cover up. In other words, you're stuck with them. The Firebase has become a permanent tumor on your Arcology and good name.`;
 			break;
 		case "Cruel and Psychopathic":
-			V.SF.BadOutcome="Revolt"; V.trinkets.push("${t} dog tags"); V.Rep=0;
+			V.SF.BadOutcome="Revolt"; V.trinkets.push("${t} dog tags"); repX((0 - V.rep), "specialForces");
 			r += `<br>Finally fed up with your constant intrusions into her territory and crew, The Colonel riles up her people for an utterly ferocious rebellion. The promises of rape and plunder and dominion over some of the wealthiest tenants in the entire Free City (and their world-class slaves) are all that's needed to give the selfish lot of them a nearly unshakable resolve in the task of delivering their overlord Her most coveted prize: You.`;
 			r += `<br>It is now midnight. The lights are the first thing they disable, as they still have the excellent night vision equipment you purchased for them. Some of your citizens start panicking almost immediately at the sudden blackout; this is very reminiscent of the Daughters of Liberty attack that still haunts many of their memories. Things like this were never supposed to happen again. You had promised them that you'd create an army that would protect them...`;
 			r += `<br>Her army vanguard strikes fast and hard throughout the main Plaza, cutting through your security personnel, defensive platoons, and drones with an ease that stinks of months of careful planning and study. Your defensive platoons, veterans of many Battles, are outmaneuvered at every turn; their hidden ammunition caches are found empty, their communications networks are mysteriously scrambled, and key chokepoints are found to be booby-trapped before your men can even get to them; their well-rehearsed arcology defense routines have gone to ash. Assuming you ever get a chance to speak to The Colonel again, you would ask if her betrayal was actually inevitable rather than something you triggered.`;
diff --git a/src/SpecialForce/TrickShotNight.tw b/src/SpecialForce/TrickShotNight.tw
index 0339ea21afda3bb7008f7c7c3b6804b12d240e61..3624cc037a8a05ccd4d7d66e0df8e7687a09db97 100644
--- a/src/SpecialForce/TrickShotNight.tw
+++ b/src/SpecialForce/TrickShotNight.tw
@@ -30,11 +30,11 @@ Despite your direct elevator, interaction with the majority of your security for
 		<<replace "#bountyresult">>
 			<<if random(1,100) > 50>>
 				Despite your attempts to mitigate risk and play the safest shots possible, it seems lady luck has conspired against you this evening. However, even when your last bullet is shot, your security force pitch you a few bullets to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've @@.green;made some friends.@@
-				<<set $rep += 1000>>
+				<<run repX(1000, "event")>>
 				<<run cashX(-250000, "event")>>
 			<<else>>
 				While a careful eye for accuracy has buoyed you through the evening, ultimately lady luck is the decider in handing you the win in a number of close shots. Unfortunately your meticulous play limited your chance at a larger payout, and you only come away from the evening with @@.yellowgreen;<<print cashFormat(100000)>>@@ more than you arrived with and @@.green;the respect of your security force.@@
-				<<set $rep += 1000>>
+				<<run repX(1000, "event")>>
 				<<run cashX(100000, "event")>>
 			<</if>>
 		<</replace>>
@@ -81,7 +81,7 @@ Despite your direct elevator, interaction with the majority of your security for
 					<<replace "#aliveresult">>
 						<<if random(1,100) > 50>>
 							For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other security force clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@
-							<<set $rep += 1000>>
+							<<run repX(1000, "event")>>
 							<<run cashX(-500000, "event")>>
 						<<else>>
 							For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. A silence falls over the room as the result is declared, but after some time your opponent breaks the hush by joking that life as your slave is probably easier than fighting for $arcologies[0].name. After some awkward laughter the night continues, and at the end your former mercenary joins you on your trip back to the penthouse to submit to processing and to begin $his new life as your sexual servant. $He's not young, but $he's tough and not distrusting of you due to $his service in $SF.Lower.
@@ -95,11 +95,11 @@ Despite your direct elevator, interaction with the majority of your security for
 					<<replace "#aliveresult">>
 						<<if random(1,100) > 50>>
 							For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other security force members clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@
-							<<set $rep += 1000>>
+							<<run repX(1000, "event")>>
 							<<run cashX(-500000, "event")>>
 						<<else>>
 							For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. Your opponent accepts $his defeat with grace and jokes to $his comrades that $he'll be fighting in $his underwear for the next few months, and their uproar of laughter fills the room. Though you take the lion's share of the ¤, your security force also @@.green;had a good time fraternizing with you.@@
-							<<set $rep += 2000>>
+							<<run repX(2000, "event")>>
 							<<run cashX(500000, "event")>>
 						<</if>>
 					<</replace>>
diff --git a/src/SpecialForce/WeeklyChoices.tw b/src/SpecialForce/WeeklyChoices.tw
index 18e11b4ac20db91eca527d4b4ce1ab85ef15a579..13a3e7726e7dcd7567e210ed4a9cd1c2af0cca66 100644
--- a/src/SpecialForce/WeeklyChoices.tw
+++ b/src/SpecialForce/WeeklyChoices.tw
@@ -12,7 +12,8 @@
 		<br>If you want we could throw a quick military parade, get the people feeling extra patriotic. | <<link "Request military parade""Firebase">>
 		<<set $GoodWords1 += 50*(Math.ceil($SF.Size*0.03*_Env))>>
 		<<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500),$SF.Gift = 1>>
-		<<set $rep += $GoodWords1,$choice = 2>>
+		<<set $choice = 2>>
+		<<run repX($GoodWords1, "specialForces")>>
 		<</link>>
 	<</if>>
 	<<if $arcologies[0].prosperity < $AProsperityCap>>
@@ -34,7 +35,8 @@
 		<br>We can set some units aside for a ceremonial march through the arcology. | <<link "Request a parade""Firebase">>
 		<<set $GoodWords1 += 50*(Math.ceil($SF.Size*0.03*_Env))>>
 		<<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500),$SF.Gift = 1>>
-		<<set $rep += Math.ceil($GoodWords1*0.8),$choice = 2>>
+		<<set $choice = 2>>
+		<<run repX(Math.ceil($GoodWords1*0.8), "specialForces")>>
 		<</link>>
 	<</if>>
 	<<if $arcologies[0].prosperity < $AProsperityCap>>
@@ -54,11 +56,11 @@
 			<br><br>You ask the Colonel if she would like to stretch her legs up on the surface. It doesn't take much effort for her to agree.
 			<<if $PC.warfare >= 100 && $PC.career == "mercenary">>
 				Your mastery of wet work and prior experience in a PMC satisfies the Colonel that between you<<if $Bodyguard != 0>>, $Bodyguard.slaveName,<</if>> and her, there should be little threat to walking around the arcology. Being able to see and interact with the arcology owner directly maintains the false idea that you're just like one of them while also giving them an increased opportunity to try gaining your favor.
-				<<set $rep += 10>>
+				<<run repX(10, "specialForces")>>
 				<<run cashX(_EnvCash2, "specialForces")>>
 			<<elseif $PC.warfare >= 100>>
 				Your mastery of wet work satisfies the Colonel that you only need two soldiers <<if $Bodyguard != 0>> plus $Bodyguard.slaveName<</if>> to walk safely around the arcology. Being able to see and interact with the arcology owner directly maintains the false idea that you're just like one of them while also giving them an increased opportunity to try gaining your favor.
-				<<set $rep += 5>>
+				<<run repX(5, "specialForces")>>
 				<<run cashX(_EnvCash3, "specialForces")>>
 			<<elseif $PC.warfare >= 60>>
 				With some expertise in warfare, the Colonel believes <<if $Bodyguard != 0>>with $Bodyguard.slaveName <</if>>you only need a squad of armed soldiers for a walk through the arcology.
@@ -90,16 +92,17 @@
 				Your basic skill level of slavery doesn't allow you to help the Colonel at all.
 			<<elseif $PC.slaving < 10>>
 				Your total lack of slavery skill (which is very unusual and very concerning for an arcology owner) means that you are of little to no help or even a hindrance. The shopkeeper notices your complete ineptitude, and as soon as you've left the rumor mill begins.
-				<<set $rep -= 20>><</if>>
+				<<run repX(-20, "PCactions")>>
+				<</if>>
 			<br>Soon the entourage heads back to the HQ of $SF.Lower.
 			<<if random(1,100) > 50>>Along the route you see a homeless citizen with a serious injury begging for help.
 				<<if $PC.medicine >= 100 && $PC.career == "medicine">>
 					Your expertise in surgery ensures that the citizen receives the best care they'll ever experience in their life. They are so grateful that they are more than happy to try and compensate your time. Word quickly spreads of the kindly medically trained arcology owner who took the time to heal a citizen, providing confidence to the rest of the citizens.
-					<<set $rep += 10>>
+					<<run repX(10, "specialForces")>>
 					<<run cashX(_EnvCash4, "specialForces")>>
 				<<elseif $PC.medicine >= 100>>
 					Your expertise in surgery ensures that the citizen receives the best care they'll ever experience in their life. Word quickly spreads of the kindly arcology owner who took the time to heal a citizen.
-					<<set $rep += 5>>
+					<<run repX(5, "specialForces")>>
 				<<elseif $PC.medicine >= 60>>
 					Your proficiency in surgery allows you to properly close their wound with minimal trauma to the patient.
 				<<elseif $PC.medicine >= 30>>
diff --git a/src/endWeek/saRest.js b/src/endWeek/saRest.js
index 88155b8e6b420f3d14b8f373e6a24a2eba798625..0195c7edecc689c377dc6e50dd050c4853dbe37f 100644
--- a/src/endWeek/saRest.js
+++ b/src/endWeek/saRest.js
@@ -126,7 +126,7 @@ window.saRest = /** @param {App.Entity.SlaveState} slave */ function saRest(slav
 			} else {
 				t += `an incident without lasting effect.`;
 			}
-			V.rep += Math.trunc(V.FResult*_vignette.effect*0.1);
+			repX((V.FResult*_vignette.effect*0.1), "vignette", slave);
 		}
 	}
 
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index bedd05212833e868a79df2c1a3c6c11d16e513e5..deefae63fbc9010d497f66fccf40da22155fbba0 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -184,7 +184,7 @@ window.saServant = /** @param {App.Entity.SlaveState} slave */ function saServan
 			} else {
 				t += `an incident without lasting effect.`;
 			}
-			V.rep += Math.trunc(V.FResult*_vignette.effect*0.1);
+			repX((V.FResult*_vignette.effect*0.1), "vignette", slave);
 		}
 	}
 
diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index ca550074a7712e906291f629ccfba368d4d871a1..289aa70bc9e01632044bfcba89647272b057a259 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -32,11 +32,11 @@
 	<<set $upgradeMultiplierMedicine = 0.8>>
 <<elseif $PC.career == "celebrity">>
 	<<set $trinkets.push("a framed copy of the first news story featuring yourself")>>
-	<<set $rep += 4000>>
+	<<run repX(4000, "event")>>
 <<elseif $PC.career == "arcology owner">>
 	<<set $trinkets.push("a miniature model of your first arcology")>>
 	<<set $upgradeMultiplierArcology = 0.8>>
-	<<set $rep += 2000>>
+	<<run repX(2000, "event")>>
 <<elseif $PC.career == "escort">>
 	<<set $trinkets.push("a copy of the first porno you starred in")>>
 <<elseif $PC.career == "servant">>
@@ -55,14 +55,14 @@
 	<<set $FSCredits = 1>>
 	<<set $FSGotRepCredits = 1>>
 <<elseif $PC.rumor == "luck">>
-	<<set $rep += 4000>>
+	<<run repX(4000, "event")>>
 <</if>>
 
 <<if $PC.visualAge >= 50>>
-	<<set $rep += 2000>>
+	<<run repX(2000, "event")>>
 <<elseif $PC.visualAge < 35>>
 	<<if $rep >= 2000>>
-	<<set $rep -= 2000>>
+	<<run repX(-2000, "event")>>
 	<<else>>
 	<<set $rep = 0>>
 	<</if>>
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 41d2e6ed3b4ce82a0384b4e7f605bd02a8b41c86..0172614334a8373be0b4b9c01a5f36b5442d69fc 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -1193,4 +1193,4 @@ __''Mods''__
 <</if>>
 
 <br><br>
-[[Cheat Start|init Nationalities][cashX(1000000, "cheating"),$girls = 3,$rep = 20000,$dojo += 1,$cheatMode = 1,$seeDesk = 0, $seeFCNN = 0, $sortSlavesBy = "devotion",$sortSlavesOrder = "descending",$sortSlavesMain = 0,$rulesAssistantMain = 1,$abbreviateDevotion = 1,$abbreviateRules = 1,$abbreviateClothes = 2,$abbreviateHealth = 1,$abbreviateDiet = 1,$abbreviateDrugs = 1,$abbreviateRace = 1,$abbreviateNationality = 1,$abbreviateGenitalia = 1,$abbreviatePhysicals = 1,$abbreviateSkills = 1,$abbreviateMental = 2,$PC.trading = 100,$PC.warfare = 100,$PC.slaving = 100,$PC.engineering = 100,$PC.medicine = 100,$PC.hacking = 100]] | //Intended for debugging: may have unexpected effects//
+[[Cheat Start|init Nationalities][cashX(1000000, "cheating"),$girls = 3,repX(20000, "cheating"),$dojo += 1,$cheatMode = 1,$seeDesk = 0, $seeFCNN = 0, $sortSlavesBy = "devotion",$sortSlavesOrder = "descending",$sortSlavesMain = 0,$rulesAssistantMain = 1,$abbreviateDevotion = 1,$abbreviateRules = 1,$abbreviateClothes = 2,$abbreviateHealth = 1,$abbreviateDiet = 1,$abbreviateDrugs = 1,$abbreviateRace = 1,$abbreviateNationality = 1,$abbreviateGenitalia = 1,$abbreviatePhysicals = 1,$abbreviateSkills = 1,$abbreviateMental = 2,$PC.trading = 100,$PC.warfare = 100,$PC.slaving = 100,$PC.engineering = 100,$PC.medicine = 100,$PC.hacking = 100]] | //Intended for debugging: may have unexpected effects//
diff --git a/src/facilities/farmyard/food/pFoodCrisis.tw b/src/facilities/farmyard/food/pFoodCrisis.tw
index 05ea1b7cedb25136c13b8963a167283ae883d581..16b8ab7fee34be2c5dfe91dd29d3240dead7fd91 100644
--- a/src/facilities/farmyard/food/pFoodCrisis.tw
+++ b/src/facilities/farmyard/food/pFoodCrisis.tw
@@ -27,7 +27,7 @@
 	<<link "Provide them with ample rations">>
 		<<replace "#result">>
 		You have enough to go around, so you decide to help the desperate citizens. You have a number of rationing stations set up throughout $arcologies[0].name and announce that each citizen is entitled to four full meals a day, more than enough to sate the hunger of even the most famished of men. Your citizens are @@.green;thrilled@@ to hear that their leader is looking out for them.
-		<<set $rep += 1000>>
+		<<run repX(1000, "event")>>
 		<<set cashX(forceNeg(_price*2), "farmyard")>>
 		<<set $rations = 2>>
 		<</replace>> <<if ($PC.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price*2)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price*2)>> and incur significant upkeep costs//<</if>>
@@ -35,7 +35,7 @@
 	<br><<link "Give them enough to survive on">>
 		<<replace "#result">>
 		You have your own problems to deal with, but that doesn't mean you don't look out for your own. You have a number of rationing stations set up throughout $arcologies[0].name and announce that each citizen is entitled to two full meals a day, just enough for your citizens not to starve. Your citizens are @@.green;happy@@ to hear that their leader is looking out for them.
-		<<set $rep += 500>>
+        <<run repX(500, "event")>>
 		<<set cashX(forceNeg(_price), "farmyard")>>
 		<<set $rations = 1>>
 		<</replace>> <<if ($PC.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
@@ -43,7 +43,7 @@
 	<br><<link "They can figure their problem out on their own">>
 		<<replace "#result">>
 		You have your own problems to deal with, and you simply can't afford to drop everything and solve theirs at the moment. That you can't take care of your arcology's citizen @@.red;reflects poorly on you.@@
-		<<set $rep -= 500>>
+        <<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	</span>
@@ -58,7 +58,7 @@
 	<<link "Give them generous rations as well">>
 		<<replace "#result">>
 		You still have more than enough to go around, so you inform the leaders that you have decided you will give them large rations, enough to feed even the hungriest citizen. The leaders are @@.green;very pleased@@ to hear that you are taking care of them as well.
-		<<set $rep += 1000>>
+		<<run repX(1000, "event")>>
 		<<set cashX(forceNeg(_price*2), "farmyard")>>
 		<<set $rations = 4>>
 		<</replace>>
@@ -66,7 +66,7 @@
 	<br><<link "Provide them with enough sustenance to survive on too">>
 		<<replace "#result">>
 		As much as you'd like to provide them with all of the food in the world, it simply is not feasible in your current situation. Therefore, you announce to the leaders that you will provide them only enough rations to live off of. The leaders understand, and are @@.green;pleased@@ to hear that you would provide for them at all.
-		<<set $rep += 500>>
+        <<run repX(500, "event")>>
 		<<set cashX(forceNeg(_price), "farmyard")>>
 		<<set $rations = 3>>
 		<</replace>>
@@ -74,7 +74,7 @@
 	<br><<link "Change your mind about giving out any rations at all">>
 		<<replace "#result">>
 		Having given the people rations at all was a mistake, you think to yourself. You have a great number of your own problems to deal with, and providing rations to everyone that can't afford food is putting an unnecessary strain on your own situation. With this is mind, you tell the leaders that you simply can't help them at this time, and have decided that you can't help anyone with food at all. The citizens are understandably @@.red;angry@@ that you would go back on your word.
-		<<set $rep -= 1000>>
+        <<run repX(-1000, "event")>>
 		<<set $rations = 0>>
 		<</replace>>
 	<</link>>
@@ -92,7 +92,7 @@
 	<<link "Set up a food market">>
 		<<replace "#result">>
 		You know that a proposition like this wouldn't have been easy for your citizens to make, and you also know that there is no one better suited to a task like this than you. You announce that you will be setting up a market to buy, sell, and store food in, and that you'll make sure that the citizens will continue to be well-fed. Your citizens are @@.green;glad@@ to hear that you are looking out for their best interests.
-		<<set $rep += 1000>>
+		<<run repX(1000, "event")>>
 		<<set cashX(forceNeg(_price*5), "farmyard")>>
 		<<set $foodMarket = 1>>
 		<<unset $rations>>
@@ -101,7 +101,7 @@
 	<br><<link "Politely decline their offer, but continue giving them rations">>
 		<<replace "#result">>
 		Things have been going fairly well for you, but not //that// well — setting up an entirely new place to buy, sell, and store food would no doubt be an expensive undertaking. You tell the citizens that while you can't spare the resources to create a new market at the moment, you will honor your past agreement and continue giving them free rations. The people initially seem a bit disappointed that you don't seem to want to expand $arcologies[0].name, but are ultimately @@.green;glad@@ to hear that you'll continue taking care of them.
-		<<set $rep += 500>>
+        <<run repX(500, "event")>>
 		<<set cashX(forceNeg(_price), "farmyard")>>
 		<<set $rations = 5>>
 		<</replace>>
@@ -109,7 +109,7 @@
 	<br><<link "Turn down their offer and end rationing completely">>
 		<<replace "#result">>
 		While a new place to buy, sell, and store food in $arcologies[0].name would most likely come in quite handy in the future, you ultimately decide that you simply cannot spare the resources required. In fact, giving rations at all was a costly venture, and after not having seen any sort of return-on-investment, you decide that you are unable to continue giving out rations anymore. Your citizens are @@.red;angry@@ at the fact that you seem not to care about them at all, but that's their problem.
-		<<set $rep -= 1000>>
+        <<run repX(-1000, "event")>>
 		<<unset $rations>>
 		<</replace>>
 	<</link>>
diff --git a/src/facilities/farmyard/saWorkTheFarm.tw b/src/facilities/farmyard/saWorkTheFarm.tw
index f77103cfa42bde7d1f377f8bd0829a7b96b4bd75..8dcdea54b3ce5d87ac8058bd3be0024a07ce1696 100644
--- a/src/facilities/farmyard/saWorkTheFarm.tw
+++ b/src/facilities/farmyard/saWorkTheFarm.tw
@@ -429,7 +429,7 @@ $He also puts on shows with animals this week.
 		<<else>>
 			an incident without lasting effect.
 		<</if>>
-		<<set $rep += Math.trunc($FResult*_vignette.effect*0.1)>>
+		<<run repX( Math.trunc($FResult*_vignette.effect*0.1), "vignette", _slave)>>
 		<<set _incomeStats.rep += Math.trunc($FResult*_vignette.effect*0.1)>>
 	<</if>>
 
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index cb7025180ff9f7abc4b029695149a32f7702c366..cea092c6e8bdacb5de6004d574c13b8325b0b944 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -190,6 +190,7 @@ You should have received a copy of the GNU General Public License along with thi
 		<<set $slaves[_i].lastWeeksCashIncome = 0>>
 		<<set $slaves[_i].lifetimeRepExpenses = 0>>
 		<<set $slaves[_i].lifetimeRepIncome = 0>>
+		<<set $slaves[_i].lastWeeksRepExpenses = 0>>
 		<<set $slaves[_i].lastWeeksRepIncome = 0>>
 	<</for>>
 	<<set $slavesOriginal = []>> /* not used by pregmod */
@@ -211,6 +212,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $ArcadeiIDs = [], $BrothiIDs = [], $CellBiIDs = [], $CliniciIDs = [], $ClubiIDs = [], $DairyiIDs = [], $FarmyardiIDs = [], $HGSuiteiIDs = [], $MastSiIDs = [], $SchlRiIDs = [], $ServQiIDs = [], $SpaiIDs = [], $NurseryiIDs = []>>
 
 <<setupLastWeeksCash>>
+<<setupLastWeeksRep>>
 
 <<if ndef $saveImported>>
 	<<set $saveImported = 0>>
@@ -305,7 +307,7 @@ You should have received a copy of the GNU General Public License along with thi
 	<<set $abbreviateSkills = 2>>
 	<<set $abbreviateMental = 2>>
 	<<set $abbreviateSidebar = 2>>
-	<<set $summaryStats = 1>>
+	<<set $summaryStats = 0>>
 	<<set $nicknamesAllowed = 1>>
 	<<set $modRequestsAllowed = 1>>
 	<<set $expansionRequestsAllowed = 1>>
@@ -1100,9 +1102,8 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $facilityCost = 100>>
 <<set $enduringRep = 1000>>
 <<set $rep = 1000>>
-<<set $repGain = 0>>
-<<set $repLoss = 0>>
 <<set $cashLastWeek = 0>>
+<<set $repLastWeek = 0>>
 
 <<set $arcologyUpgrade = {drones: 0, hydro: 0, apron: 0, grid: 0, spire: 0}>>
 
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 8ba2acc6722deba065a2542642aeba4b4233eaab..103f14c9a7b91d0146933f41da7a30292ef60061 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -1930,13 +1930,13 @@ App.Entity.SlaveState = class SlaveState {
 		/** Has the slave gone through female puberty.
 		 *
 		 * 0: no; 1: yes */
-		this.pubertyXX = undefined;
+		this.pubertyXX = 0;
 		/** Target .physicalAge for male puberty to occur. */
 		this.pubertyAgeXY = 13;
 		/** Has the slave gone through male puberty.
 		 *
 		 * 0: no; 1: yes */
-		this.pubertyXY = undefined;
+		this.pubertyXY = 0;
 		/**
 		 * not fully implemented.
 		 * * 0: no scars
@@ -2192,5 +2192,7 @@ App.Entity.SlaveState = class SlaveState {
 		this.lifetimeRepIncome = 0;
 		/** Not currently used, will work similarly to the cash variables above */
 		this.lastWeeksRepIncome = 0;
+		/** Not currently used, will work similarly to the cash variables above */
+		this.lastWeeksRepExpenses = 0;
 	}
 };
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 1a477e4b2e1d1d3f028c71a7a5f4069e773e5229..5e7917ef37ff16968fcb2869e30c722bd61a7f69 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -631,10 +631,11 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		}
 		slave.lifetimeCashExpenses = Math.min(+slave.lifetimeCashExpenses, 0) || 0;
 		slave.lifetimeCashIncome = Math.max(+slave.lifetimeCashIncome, 0) || 0;
-		slave.lastWeeksCashIncome = Math.max(+slave.lifetimeCashIncome, 0) || 0;
-		slave.lifetimeRepExpenses = Math.min(+slave.lifetimeCashExpenses, 0) || 0;
-		slave.lifetimeRepIncome = Math.max(+slave.lifetimeCashIncome, 0) || 0;
-		slave.lastWeeksRepIncome = Math.max(+slave.lifetimeCashIncome, 0) || 0;
+		slave.lastWeeksCashIncome = Math.max(+slave.lastWeeksCashIncome, 0) || 0;
+		slave.lifetimeRepExpenses = Math.min(+slave.lifetimeRepExpenses, 0) || 0;
+		slave.lifetimeRepIncome = Math.max(+slave.lifetimeRepIncome, 0) || 0;
+		slave.lastWeeksRepExpenses = Math.min(+slave.lastWeeksRepExpenses, 0) || 0;
+		slave.lastWeeksRepIncome = Math.max(+slave.lastWeeksRepIncome, 0) || 0;
 	}
 })();
 
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index e26b85ff6608ff3ee10d02afef7f42e405ba78a3..71f355dd232921065c51ff17c1dd585e872519a7 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -1103,58 +1103,106 @@ The third category, the "slave slot" is completely optional.  Sometimes you just
 window.cashX = function(cost, what, who) {
 	const V = State.variables;
 
-	if (typeof cost !== "number") {
-		V.lastWeeksErrors += `"${cost}" at ${what} is not of type "number",
-		`;
-	} else if (Number.isNaN(cost)) {
-		V.lastWeeksErrors += `"${cost}" at ${what} is NaN,
-		`;
-	} else if (cost === -Infinity || cost === Infinity) {
-		V.lastWeeksErrors += `"${cost}" at ${what} is infinity,
-		`;
-	} else {
+	if (!Number.isFinite(cost)) {
+		V.lastWeeksCashErrors += `Expected a finite number for ${what}, but got ${cost}<br>`;
+		return 0;
+	}
 
-		//Spend the money
-		V.cash += cost;
+	//Spend the money
+	V.cash += cost;
 
-		//INCOME
-		if(cost > 0) {
+	//INCOME
+	if(cost > 0) {
 
-				//record the action
-				if (typeof V.lastWeeksCashIncome[what] !== 'undefined') {
-					V.lastWeeksCashIncome[what] += cost;
-				} else {
-					V.lastWeeksErrors += `Unknown place "${what}" gained you ${cost},`;
-				}
+		//record the action
+		if (typeof V.lastWeeksCashIncome[what] !== 'undefined') {
+			V.lastWeeksCashIncome[what] += cost;
+		} else {
+			V.lastWeeksCashErrors += `Unknown place "${what}" gained you ${cost}<br>`;
+		}
 
-				//record the slave, if available
-				if (typeof who !== 'undefined'){
-						who.lastWeeksCashIncome += cost;
-						who.lifetimeCashIncome += cost;
-				}
+		//record the slave, if available
+		if (typeof who !== 'undefined'){
+				who.lastWeeksCashIncome += cost;
+				who.lifetimeCashIncome += cost;
 		}
+	}
+
+	//EXPENSES
+	else if(cost < 0) {
 
-		//EXPENSES
-		else if(cost < 0) {
+		//record the action
+		if (typeof V.lastWeeksCashExpenses[what] !== 'undefined') {
+			V.lastWeeksCashExpenses[what] += cost;
+		} else {
+			V.lastWeeksCashErrors += `Unknown place "${what}" charged you ${cost}<br>`;
+		}
 
-			//record the action
-			if (typeof V.lastWeeksCashExpenses[what] !== 'undefined') {
-				V.lastWeeksCashExpenses[what] += cost;
+		//record the slave, if available
+		if (typeof who !== 'undefined'){
+			if (what === "slaveTransfer"){
+				who.slaveCost = cost;
 			} else {
-				V.lastWeeksErrors += `Unknown place "${what}" charged you ${cost},`;
+				who.lifetimeCashExpenses += cost;
 			}
+		}
+	}
+	return cost;
+};
 
-			//record the slave, if available
-			if (typeof who !== 'undefined'){
-				if (what === "slaveTransfer"){
-					who.slaveCost = cost;
-				} else {
-					who.lifetimeCashExpenses += cost;
-				}
-			}
+window.repX = function(rep, what, who) {
+	const V = State.variables;
+
+	if (!Number.isFinite(rep)) {
+		V.lastWeeksRepErrors += `Expected a finite number for ${what}, but got ${rep}<br>`;
+		return 0;
+	}
+	
+	//round the change
+	rep = Math.trunc(rep);
+
+	//Apply the reputation change
+	V.rep += rep;
+
+	//Check if total rep is over cap, and use "overflow" category to expense it down if needed.
+	if (V.rep > 20000) {
+		V.lastWeeksRepExpenses.overflow += (20000 - V.rep); V.rep = 20000;
+	}
+
+	//INCOME
+	if(rep > 0) {
+
+		//record the action
+		if (typeof V.lastWeeksRepIncome[what] !== 'undefined') {
+			V.lastWeeksRepIncome[what] += rep;
+		} else {
+			V.lastWeeksRepErrors += `Unknown place "${what}" gained you ${rep}<br>`;
+		}
+
+		//record the slave, if available
+		if (typeof who !== 'undefined'){
+				who.lastWeeksRepIncome += rep;
+				who.lifetimeRepIncome += rep;
+		}
+	}
+
+	//EXPENSES
+	else if(rep < 0) {
+
+		//record the action
+		if (typeof V.lastWeeksRepExpenses[what] !== 'undefined') {
+			V.lastWeeksRepExpenses[what] += rep;
+		} else {
+			V.lastWeeksRepErrors += `Unknown place "${what}" cost you ${rep}<br>`;
+		}
+
+		//record the slave, if available
+		if (typeof who !== 'undefined'){
+			who.lastWeeksRepExpenses += rep;
+			who.lifetimeRepExpenses += rep;
 		}
-		return cost;
 	}
+	return rep;
 };
 
 window.forceNeg = function(x) {
diff --git a/src/js/food.js b/src/js/food.js
index e0a29d904ad28c1f856194183a7aab9c05491666..9e21c3ebf55c5ab3a55d9f6b4ea2fbad6f90fc50 100644
--- a/src/js/food.js
+++ b/src/js/food.js
@@ -73,13 +73,13 @@ window.farmShowsIncome = function (slave) {
 		if (arcology.FSSupremacist !== "unset") {
 			if (slave.race === arcology.FSSupremacistRace) { //slave is of supreme race
 				cash *= 0.9; //TODO: should supreme race slaves receive a penalty?
-				V.rep -= 10; //TODO: should this cause a rep loss
+				repX(-10, "food"); //TODO: should this cause a rep loss
 			}
 		}
 		if (arcology.FSSubjugationist !== "unset") {
 			if (slave.race === arcology.FSSubjugationistRace) { //slave is of subjugated race
 				cash *= 1.1;
-				V.rep += 10; //TODO: should this cause a rep gain?
+				repX(10, "food"); //TODO: should this cause a rep gain?
 			} else {
 				cash *= 0.9; //TODO: should unsubjugated race slaves receive a penalty?
 			}
@@ -98,10 +98,10 @@ window.farmShowsIncome = function (slave) {
 			if (slave.pregWeek > 16) { //slave is visibly pregnant
 				if (slave.eggType !== "human") { //with a non-human
 					cash *= 0.9;
-					V.rep -= 15;
+					repX(-15, "food");
 				}
 				cash *= 0.6;
-				V.rep -= 10;
+				repX(-10, "food");
 			}
 		}
 		if (arcology.FSGenderRadicalist !== "unset") {
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index f4dee9f0c0ae93aca3a1c856b740bf3b3d9db091..e6c91b9967380cd0f2242293e36bca44deb9c8b6 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -57,6 +57,7 @@ window.GenerateNewSlave = (function(){
 	}
 
 	function postGenCleanup() {
+		generatePuberty(slave);
 		generateBoobTweaks(); /* split this up for female vs. male? */
 		generateSkills();
 		generateDisabilities();
@@ -69,7 +70,6 @@ window.GenerateNewSlave = (function(){
 
 	function GenerateXXSlave() {
 		slave.ovaries = 1;
-		slave.pubertyXY = 0;
 		slave.energy = jsRandom(1,85);
 
 		generateXXGeneticQuirks();
@@ -84,14 +84,12 @@ window.GenerateNewSlave = (function(){
 		generateXXTeeth();
 		generateXXMods();
 		generateXXBodyHair();
-		generateXXPuberty();
 	}
 
 	function GenerateXYSlave() {
 		slave.genes = "XY";
 		slave.hLength = 10;
 		slave.prostate = 1;
-		slave.pubertyXX = 0;
 		slave.energy = jsRandom(15,90);
 
 		generateXYGeneticQuirks();
@@ -107,7 +105,6 @@ window.GenerateNewSlave = (function(){
 		generateXYTeeth();
 		generateXYMods();
 		generateXYBodyHair();
-		generateXYPuberty();
 	}
 
 	function generateXXBodyProportions() {
@@ -1050,26 +1047,6 @@ window.GenerateNewSlave = (function(){
 		slave.eyebrowFullness = jsEither(["bushy", "natural", "natural", "natural", "natural", "natural", "natural", "natural", "natural", "pencil-thin", "tapered", "tapered", "tapered", "thick", "thick", "thin", "thin", "threaded", "threaded", "threaded"]);
 	}
 
-	function generateXXPuberty() {
-		if (slave.physicalAge >= slave.pubertyAgeXX) {
-			slave.pubertyXX = 1;
-		} else {
-			slave.pubertyXX = 0;
-		}
-	}
-
-	function generateXYPuberty() {
-		if (slave.balls > 0) {
-			if (slave.physicalAge >= slave.pubertyAgeXY) {
-				slave.pubertyXY = 1;
-			} else {
-				slave.pubertyXY = 0;
-			}
-		} else {
-			slave.pubertyXY = 0;
-		}
-	}
-
 	function generateXXGeneticQuirks() {
 		chance = jsRandom(1,1000);
 		if (chance >= 980) {
diff --git a/src/js/heroCreator.js b/src/js/heroCreator.js
index 62194ac9182c3397b08e6dbdbba72a9106fbaa93..95f8d0ca54d067122cbbc1819603701b11f4fcc1 100644
--- a/src/js/heroCreator.js
+++ b/src/js/heroCreator.js
@@ -3,5 +3,6 @@ window.getHeroSlave = function (heroSlave, baseHeroSlave) {
 	for (var attrname in heroSlave) {
 		newSlave[attrname] = heroSlave[attrname];
 	}
+	generatePuberty(newSlave);
 	return newSlave;
 };
diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js
index 6cbbe9b08178d4777ba52f9111495289936368d6..8a9f5c913f1546bc366c3901703c7feb5ac42092 100644
--- a/src/js/slaveGenerationJS.js
+++ b/src/js/slaveGenerationJS.js
@@ -1417,3 +1417,16 @@ window.generatePronouns = /** @param {App.Entity.SlaveState} slave*/ function ge
 		slave.noun = "girl";
 	}
 };
+
+window.generatePuberty = function(slave) {
+	if ((slave.ovaries === 1 || slave.mpreg === 1) && slave.physicalAge >= slave.pubertyAgeXX) {
+		slave.pubertyXX = 1;
+	} else {
+		slave.pubertyXX = 0;
+	}
+	if (slave.balls > 0 && slave.ballType !== "sterile" && slave.physicalAge >= slave.pubertyAgeXY) {
+		slave.pubertyXY = 1;
+	} else {
+		slave.pubertyXY = 0;
+	}
+};
diff --git a/src/js/summaryWidgets.js b/src/js/summaryWidgets.js
index 3968bde692870838e3ae2d5f3dc2346419b3fdc7..43a3266e7383864198c7397073172289f76a6931 100644
--- a/src/js/summaryWidgets.js
+++ b/src/js/summaryWidgets.js
@@ -8,7 +8,7 @@ window.SlaveStatClamp = /** @param {App.Entity.SlaveState} slave */ function Sla
 		else if ((slave.trust < 100) && (slave.trust > 20))
 			slave.trust += (Math.trunc((slave.devotion-100)*5)/10);
 		else
-			V.rep += 10*(slave.devotion-100);
+			repX(10*(slave.devotion-100), "slavesViewOfPC", slave);
 		slave.devotion = 100;
 	} else if (slave.devotion < -95)
 		slave.devotion = -100;
@@ -18,7 +18,7 @@ window.SlaveStatClamp = /** @param {App.Entity.SlaveState} slave */ function Sla
 		else if (slave.devotion < 100 && slave.devotion > 20)
 			slave.devotion += Math.trunc(slave.trust-100);
 		else
-			V.rep += 10*(slave.trust-100);
+			repX(10*(slave.trust-100), "slavesViewOfPC", slave);
 		slave.trust = 100;
 	} else if (slave.trust < -95)
 		slave.trust = -100;
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index da8d72d23ba55adcbc08992c9d922ccbae42646e..42d96946662e0b2fcbbdd2f88eac1762c4a220d3 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -489,6 +489,69 @@ window.cashFormat = function(s) {
 	return "¤" + commaNum(Math.round(s * 100) / 100);
 };
 
+window.repFormat = function(s) {
+	const V = State.variables;
+	/*if (!s) { s = 0; }*/
+	if (V.cheatMode == 1 || V.debugMode == 1) {
+		if (s > 0) {
+			return "@@.green;" + commaNum(Math.round(s * 100) / 100) + " rep@@";
+		} else if (s < 0) {
+			return "@@.red;" + commaNum(Math.round(s * 100) / 100) + " rep@@";
+		} else {
+			return commaNum(Math.round(s * 100) / 100) + " rep";
+		}
+	} else {
+		/* In order to calculate just how much any one category matters so we can show a "fuzzy" symbolic value to the player, we need to know how "busy" reputation was this week.  To calculate this, I ADD income to expenses.  Why?  100 - 100 and 10000 - 10000 BOTH are 0, but a +50 event matters a lot more in the first case than the second.  I exclude overflow from the caluclation because it's not a "real" expense for our purposes, and divide by half just to make percentages a bit easier*/
+		var weight = s/(((V.lastWeeksRepIncome.Total - V.lastWeeksRepExpenses.Total) + V.lastWeeksRepExpenses.overflow)/2);
+		if (weight > 0.60) {
+			return `@@.green;+++++ rep@@`;
+		} else if (weight > 0.45) {
+			return `@@.green;++++ rep@@`;
+		} else if (weight > 0.30) {
+			return `@@.green;+++ rep@@`;
+		} else if (weight > 0.15) {
+			return `@@.green;++ rep@@`;
+		} else if (weight > 0.0) {
+			return `@@.green;+ rep@@`;
+		} else if (weight == 0) {
+			return `0 rep`;
+		} else if (weight < -0.60) {
+			return `@@.red;----- rep@@`;
+		} else if (weight < -0.45) {
+			return `@@.red;---- rep@@`;
+		} else if (weight < -0.30) {
+			return `@@.red;--- rep@@`;
+		} else if (weight < -0.15) {
+			return `@@.red;-- rep@@`;
+		} else if (weight < 0) {
+			return `@@.red;- rep@@`;
+		} 
+		/*return weight;*/
+	}
+};
+
+window.budgetLine = function(category, title) {
+	var income;
+	var expenses;
+	var profits;
+	if (passage() === "Rep Budget") {
+		income = "$lastWeeksRepIncome";
+		expenses = "$lastWeeksRepExpenses";
+		profits = "$lastWeeksRepProfits";
+	} else if (passage() === "Costs Budget") {
+		income = "$lastWeeksCashIncome";
+		expenses = "$lastWeeksCashExpenses";
+		profits = "$lastWeeksCashProfits";
+	}
+	return`<<if ${income}.${category} || ${expenses}.${category}>><tr>\
+	<td>${title}</td>\
+	<td><<print repFormat(${income}.${category})>></td>\
+	<td><<print repFormat(${expenses}.${category})>></td>\
+	<<set ${profits}.${category} = (${income}.${category} + ${expenses}.${category})>>\
+	<td><<print repFormat(${profits}.${category})>></td>\
+	</tr><</if>>`;
+};
+
 window.massFormat = function(s) {
 	if(!s) { s = 0; }
 	if(s >= 1000) {
@@ -976,145 +1039,145 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 	switch (FS) {
 		case "Supremacist":
 			if (Number.isFinite(V.arcologies[0].FSSupremacist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Subjugationist":
 			if (Number.isFinite(V.arcologies[0].FSSubjugationist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "GenderRadicalist":
 			if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "GenderFundamentalist":
 			if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Paternalist":
 			if (Number.isFinite(V.arcologies[0].FSPaternalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Degradationist":
 			if (Number.isFinite(V.arcologies[0].FSDegradationist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "AssetExpansionist":
 			if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "SlimnessEnthusiast":
 			if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "TransformationFetishist":
 			if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "BodyPurist":
 			if (Number.isFinite(V.arcologies[0].FSBodyPurist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "MaturityPreferentialist":
 			if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "YouthPreferentialist":
 			if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Pastoralist":
 			if (Number.isFinite(V.arcologies[0].FSPastoralist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "PhysicalIdealist":
 			if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "ChattelReligionist":
 			if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "RomanRevivalist":
 			if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "AztecRevivalist":
 			if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "EgyptianRevivalist":
 			if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "EdoRevivalist":
 			if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "ArabianRevivalist":
 			if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "ChineseRevivalist":
 			if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Repopulationist":
 			if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Eugenics":
 			if (Number.isFinite(V.arcologies[0].FSRestart)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
 		case "Hedonism":
 			if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel);
+				repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel), "futureSocieties");
 				V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
 			}
 			break;
diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw
index c35fde2c6e718ca3521a9934115f2f22ca645dc9..fd2c7f0ce86bae87ccc3929b008ecad0fa144dc8 100644
--- a/src/npc/fPCImpreg.tw
+++ b/src/npc/fPCImpreg.tw
@@ -122,15 +122,15 @@ You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName
 <</if>>
 <<if $arcologies[0].FSGenderRadicalist != "unset" && $activeSlave.mpreg == 1>>
 	Society @@.green;approves@@ of your fucking your slaves ass pregnant; this advances the ideal all a slave needs is $his rear.
-	<<set $rep += $FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>>
+	<<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderRadicalist += 0.05*$FSSingleSlaveRep>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $activeSlave.mpreg == 1>>
 	Society @@.red;is disgusted@@ by this degenerate form of reproduction.
-	<<set $rep -= $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<run repX(forceNeg($FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderFundamentalist -= 0.05*$FSSingleSlaveRep>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
 	Society @@.green;approves@@ of your putting a new slave in $him; this advances the idea that all slaves should bear their masters' babies.
-	<<set $rep += $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderFundamentalist += 0.05*$FSSingleSlaveRep>>
 <</if>>
 
diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw
index 7acc6c2456d334e58447545e27b57397a9a804e0..686f0d09a6ff2bcf81151fd61a3d97c5a3241253 100644
--- a/src/npc/fSlaveImpregConsummate.tw
+++ b/src/npc/fSlaveImpregConsummate.tw
@@ -279,15 +279,15 @@ Throughout the week, you keep $activeSlave.slaveName's <<if $activeSlave.mpreg =
 <</if>>
 <<if $arcologies[0].FSGenderRadicalist != "unset" && $activeSlave.mpreg == 1>>
 	Society @@.green;approves@@ of your breeding your slaves ass; this advances the ideal all a slave needs is their rear.
-	<<set $rep += $FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>>
+	<<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderRadicalist += 0.05*$FSSingleSlaveRep>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $activeSlave.mpreg == 1>>
 	Society @@.red;is disgusted@@ by this degenerate form of reproduction.
-	<<set $rep -= $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<run repX(forceNeg($FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderFundamentalist -= 0.05*$FSSingleSlaveRep>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
 	Society @@.green;approves@@ of your breeding your slaves; this advances the ideal of a durable, self propagating race of slaves.
-	<<set $rep += $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderFundamentalist += 0.05*$FSSingleSlaveRep>>
 <</if>>
 
diff --git a/src/npc/newSlaveIncestSex.tw b/src/npc/newSlaveIncestSex.tw
index 13f2283c2edb80666c08bcd446a9ac1bbf6ef1ad..75e1d4b87218446c6e6cf7d68b0f64d05483b1fd 100644
--- a/src/npc/newSlaveIncestSex.tw
+++ b/src/npc/newSlaveIncestSex.tw
@@ -110,7 +110,7 @@ Carefully, _oneshe spreads _oneher _other's labia. Then _oneshe continues to giv
 <<else>>
 Uncertain, _oneshe grabs _oneher <<if _other == "twin">>_other<<else>>_otherlong<</if>>'s penis. Then _oneshe puts _oneher _other's flaccid member into _oneher mouth and gives it an experimental suck. At first, _oneher efforts seem to be futile, but after a while the _otherlong sports a nice, hard erection.
 <</if>>
-As the _other's arousal grows, _othershe becomes more eager to please _otherher _onelong, too. Going down on _otherher's lover's genitals, _othershe starts to mimic _otherher ministrations.
+As the _other's arousal grows, _othershe becomes more eager to please _otherher _onelong, too. Going down on _otherher's lover's genitals, _othershe starts to mimic _oneher ministrations.
 	<<if ($relative.dick == 0) != ($relative2.dick == 0) >>
 	Of course, _othershe has to adapt _otherher actions <<if $relative.dick == 0 >>from the feelings on _otherher dick to the pussy pressed against _otherher lips.<<else>>from the feelings at _otherher pussy to the dick in _otherher mouth.<</if>>
 	<</if>>
diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw
index 45d19ad48dbcc9847b07b5a46510062fc01af797..65bcc0959e99b170b6997dff9b3287738e719ef3 100644
--- a/src/player/actions/fCaress.tw
+++ b/src/player/actions/fCaress.tw
@@ -37,7 +37,7 @@ You tell $activeSlave.slaveName to
 	<<elseif $activeSlave.devotion < -20>>
 		$He complies out of fear. Once $he's close, you hold $his shaking face in your palms and look into $his teary $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>.
 	<<else>>
-		$He complies obediently. Once $he's close, you hold $his face in your palms and look into $his $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if $canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>.
+		$He complies obediently. Once $he's close, you hold $his face in your palms and look into $his $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>.
 	<</if>>
 <<elseif ($activeSlave.devotion > 75)>>
 	$He hurriedly complies, happy to be near you. Once $he's close, you hold $his face in your palms and look into $his $activeSlave.eyeColor eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously.
diff --git a/src/player/actions/fEmbrace.tw b/src/player/actions/fEmbrace.tw
index b4d91a7d797701b8b1d77a9b6e6927b88424a2d6..d04356b961731b82950c72753967e8b4bbeaf363 100644
--- a/src/player/actions/fEmbrace.tw
+++ b/src/player/actions/fEmbrace.tw
@@ -25,7 +25,7 @@ You tell $activeSlave.slaveName to
 	<<elseif $activeSlave.devotion < -20>>
 		$He complies out of fear. Once $he's close, you take your unwilling wife's head in your hands and gaze deeply into $his teary $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's forcibly married to terrifying, and <<if canSee($activeSlave)>> breaks eye contact<<else>> turns $his face away<</if>>.
 	<<else>>
-		$He complies obediently. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if $canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>.
+		$He complies obediently. Once $he's close, you take your willing wife's head in your hands and gaze deeply into $his $activeSlave.eyeColor eyes. $He finds the intense look from the _womanP $he's married to reassuring, and looks down with a slight smile<<if canSee($activeSlave)>>, running $his eyes over your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>><</if>>.
 	<</if>>
 <<elseif ($activeSlave.devotion > 75)>>
 	$He elatedly complies, joyful at being near to you. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his $activeSlave.eyeColor eyes. $He finds the intense look from $his beloved <<= WrittenMaster()>> disconcerting, and $his eyes flick downward after a moment. $He blushes furiously.
diff --git a/src/player/actions/fondleDick.tw b/src/player/actions/fondleDick.tw
index d32b801704bdee9e21c0dfdd53915277ae45b00a..85a389d653736745f7fd3f470d25b2683a0ec8ac 100644
--- a/src/player/actions/fondleDick.tw
+++ b/src/player/actions/fondleDick.tw
@@ -289,26 +289,28 @@ You call $him over so you can fondle $his
 		inhuman dick
 	<<else>>
 		hypertrophied dick
-	<</if>> with your hand. You firmly grab it and tightly squeeze it with your fingers, stroking your hand along its shaft,
-	<<if $activeSlave.balls > 0>>
-		while simultaneously slapping $his
-	<<if $activeSlave.balls == 1>>
-		tiny balls
-	<<elseif $activeSlave.balls == 2>>
-		small balls
-	<<elseif $activeSlave.balls == 3>>
-		balls
-	<<elseif $activeSlave.balls == 4>>
-		big balls
-	<<elseif $activeSlave.balls == 5>>
-		lemon-sized balls
-	<<elseif $activeSlave.balls < 10>>
-		fist-sized balls
-	<<else>>
-		hypertrophied balls
 	<</if>>
-		with your other hand
-	<</if>>. You firmly wrap your fingers, thumb and palm around $his dick, rhythmically stroking along with both hands, starting slow but gradually increasing the speed of your movements. You occasionally squeeze and pinch the tip and head of $his dick between your fingers and thumb.
+	with your hand. You firmly grab it and tightly squeeze it with your fingers, stroking your hand along its shaft.
+	<<if $activeSlave.balls > 0>>,
+		Simultaneously, you slap $his
+		<<if $activeSlave.balls == 1>>
+			tiny balls
+		<<elseif $activeSlave.balls == 2>>
+			small balls
+		<<elseif $activeSlave.balls == 3>>
+			balls
+		<<elseif $activeSlave.balls == 4>>
+			big balls
+		<<elseif $activeSlave.balls == 5>>
+			lemon-sized balls
+		<<elseif $activeSlave.balls < 10>>
+			fist-sized balls
+		<<else>>
+			hypertrophied balls
+		<</if>>
+		with your other hand.
+	<</if>>
+	You firmly wrap your fingers, thumb and palm around $his dick, rhythmically stroking along with both hands, starting slow but gradually increasing the speed of your movements. You occasionally squeeze and pinch the tip and head of $his dick between your fingers and thumb.
 	<<if !canAchieveErection($activeSlave)>>
 		$His dick remains flaccid as it cannot get stiff and you continue tenderly stroking $his soft dick.
 	<<else>>
diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw
index ef305e0e503a091a90837cf55f8a2769e9f4b71b..a16ebe2df1acca3d71c7e6a46b6227d46eccfa12 100644
--- a/src/pregmod/csec.tw
+++ b/src/pregmod/csec.tw
@@ -312,7 +312,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a
 		<<if $eugenicsFullControl != 1>>
 			<<set $failedElite += 5*_curBabies>>
 		<</if>>
-		<<set $rep -= 10*_curBabies>>
+		<<run repX(forceNeg(10*_curBabies), "birth", $activeSlave)>>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/eliteTakeOverResult.tw b/src/pregmod/eliteTakeOverResult.tw
index 97b92652e9db419e3106050044502fb0e0cb425c..63dad31b295877429d797da2127710436092531a 100644
--- a/src/pregmod/eliteTakeOverResult.tw
+++ b/src/pregmod/eliteTakeOverResult.tw
@@ -60,7 +60,8 @@
 			<</link>>
 			|
 			<<link "Yes">>
-				<<set $rep += 500, $eliteLeft -= 1>>
+				<<set $eliteLeft -= 1>>
+				<<run repX(500, "event")>>
 				<<replace "#choice1">>
 					For a second your acceptance shocks them. Once they recover they are very grateful. "Thank you <<= properTitle()>>, I'll make sure to look after _himU." Soon the story spreads of the kind arcology owner, enhancing your reputation.
 				<</replace>>
@@ -85,7 +86,8 @@
 			<</link>>
 			|
 			<<link "Yes">>
-				<<set $rep += 500, $eliteLeft -= 1, _SFHappyEverAfter = 1>>
+				<<set $eliteLeft -= 1, _SFHappyEverAfter = 1>>
+				<<run repX(500, "event")>>
 				<<replace "#choice1">>
 					For a second your acceptance shocks them. Once they recover they are very grateful. "Thank you <<= properTitle()>>, I'll make sure to look after _himU." Soon the story spreads of the kind arcology owner, enhancing your reputation.
 				<</replace>>
diff --git a/src/pregmod/fSlaveFeed.tw b/src/pregmod/fSlaveFeed.tw
index 2210dde90f108ad18e31b1fb5eeca2a5da3a4e4c..b1624567ad77fa2408ed322defcdfdd3d581a377 100644
--- a/src/pregmod/fSlaveFeed.tw
+++ b/src/pregmod/fSlaveFeed.tw
@@ -25,16 +25,16 @@ The first necessary step is to prepare the milk cow and _his2 udders.
 <<elseif $milkTap.relationshipTarget == $activeSlave.ID>>
 	This is rather easy, as $milkTap.slaveName
 	<<if $milkTap.relationship == 1>>
-		wants _his2 friend to try _his2 milk, fresh from the source
+		wants _his2 friend to try _his2 milk, fresh from the source.
 	<<elseif $milkTap.relationship == 2>>
-		wants _his2 best friend to try _his2 milk, fresh from the source
+		wants _his2 best friend to try _his2 milk, fresh from the source.
 	<<elseif $milkTap.relationship == 3>>
-		can't wait to have some fun with _his2 friend with benefits
+		can't wait to have some fun with _his2 friend with benefits.
 	<<elseif $milkTap.relationship == 4>>
-		enjoys spending intimate time with _his2 lover, and having _his2 breasts suckled is one of _his2 favorites
+		enjoys spending intimate time with _his2 lover, and having _his2 breasts suckled is one of _his2 favorites.
 	<<elseif $milkTap.relationship == 5>>
-		enjoys spending intimate time with _his2 wife, and having _his2 breasts suckled is one of _his2 favorites
-	<</if>>. <<if $milkTap.lactation > 1>>_He2 is practically gushing milk with excitement<<else>>It takes minimal effort to get _his2 milk flowing<</if>>.
+		enjoys spending intimate time with _his2 wife, and having _his2 breasts suckled is one of _his2 favorites.
+	<</if>> <<if $milkTap.lactation > 1>>_He2 is practically gushing milk with excitement<<else>>It takes minimal effort to get _his2 milk flowing<</if>>.
 
 <<elseif ($milkTap.fetish == "boobs") && ($milkTap.fetishKnown == 1) && ($milkTap.fetishStrength > 60) && ($milkTap.devotion >= -20)>>
 	This is very easy, since $milkTap.slaveName loves _his2 tits played with and can't wait to get suckled. <<if $milkTap.lactation > 1>>_he2 is practically gushing milk with excitement<<else>>It takes next to no effort to get _his2 milk flowing<</if>>.
@@ -393,7 +393,7 @@ The first necessary step is to prepare the cum slave and $his cock and balls.
 		loves getting _his2 dick sucked _his2 lover, something that commonly happens due to _his2 overproduction.
 	<<elseif $milkTap.relationship == 5>>
 		loves getting _his2 dick sucked _his2 wife, something that commonly happens due to _his2 overproduction.
-	<</if>>.
+	<</if>>
 
 <<elseif $activeSlave.mother == $milkTap.ID>>
 	This is tough, as $milkTap.slaveName is very uncomfortable having _his2 dick sucked by _his2 daughter, but _he2 can't really complain about getting _his2 overfilled nuts drained.
diff --git a/src/pregmod/fSlaveSelfImpreg.tw b/src/pregmod/fSlaveSelfImpreg.tw
index 28c1ecf6a5016ba42685efa60da331b31366c06d..564afe70f457945c3bbc82bebf09db585677d6ef 100644
--- a/src/pregmod/fSlaveSelfImpreg.tw
+++ b/src/pregmod/fSlaveSelfImpreg.tw
@@ -202,12 +202,12 @@ You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName
 	<</if>>
 	<<if _delt > 0>>
 		Society is @@.green;pleased@@ by the addition of a new slave, no matter the means by which it was produced.
-		<<set $rep += $FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel)>>
+		<<run repX($FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel), "futureSocieties")>>
 	<<else>>
 		The traditional elements of your society disapprove of this degenerate form of reproduction, but their complaints are countered by those who believe producing more slaves by any means necessary.
 	<</if>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
 	Society @@.red;is disgusted@@ by this degenerate form of reproduction.
-	<<set $rep -= $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<run repX(forceNeg($FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)), "futureSocieties")>>
 	<<set $arcologies[0].FSGenderFundamentalist -= 0.05*$FSSingleSlaveRep>>
 <</if>>
diff --git a/src/pregmod/killedSlave.tw b/src/pregmod/killedSlave.tw
index 4fb89ca6c07958713f44067cb2d9d8acc2c66462..71174090cda915aa16331f451eaf9e78d93fc50d 100644
--- a/src/pregmod/killedSlave.tw
+++ b/src/pregmod/killedSlave.tw
@@ -106,7 +106,7 @@ $activeSlave.slaveName gives an audible sigh of relief and begins to thank you p
 			Killing one of your slave wives is @@.red;socially unacceptable.@@ In addition, your other devoted slaves are @@.gold;worried@@ that you may not respect their status.
 			<<run clearSummaryCache()>>
 			<br><br>
-			<<set $rep -= 200>>
+			<<run repX(-200, "event")>>
 			<<set $display = 1>>
 			<<for _ss = 0; _ss < $slaves.length; _ss++>>
 				<<if $slaves[_ss].devotion > 50>>
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index 91c41ca654647387237638b9475e0e40de636e9e..6bc456085dd1f1b3e36fcbbba139f8fd9196a9b6 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -332,7 +332,7 @@ On formal occasions, you are announced as $PCTitle. By slaves, however, you pref
 	<<replace "#nameResult">>
 	New name: <<textbox "_PCNamet" $PC.name>>
 		<<link "Apply">>
-			<<set $rep -= 500>>
+			<<run repX(-500, "event")>>
 			<<replace "#nameResult">>
 				<<set $PC.name = _PCNamet>>
 				You will now be known as <<= PlayerName()>>.
diff --git a/src/pregmod/pAssociatesPublicSlut.tw b/src/pregmod/pAssociatesPublicSlut.tw
index b808d5fdd1c85e543ea28d04e432f1637094f95e..9336477c537837b1755dec45ed48636ef426c787 100644
--- a/src/pregmod/pAssociatesPublicSlut.tw
+++ b/src/pregmod/pAssociatesPublicSlut.tw
@@ -37,7 +37,7 @@ You take a detour down one of the minor byways that feed into the Promenade prop
 			Taking a slave's virginity is hardly novel for you, yet somehow it never stops being fun. You consider the bottle of lubricant your associate has left out for use and then decide it's unnecessary, since the slutty bitch is already quite wet. <<if $PC.dick == 0>>You do however reach for one of the brand new strap-ons he has left out for ladies who wish to avail of his slut, tearing it eagerly from its box.<</if>> She begins to moan as you gently probe her pussy with the tip of <<if $PC.dick == 0>>the strap-on<<else>>your cock<</if>>. Slowly, you get a little deeper with every third or fourth thrust of your hips. You grab on to her petite, feminine waist as you work, occasionally using one hand to hold her roughly by the hair, neck or shoulder, or to smack her butt. Your business associate can't keep the smug smile off his face as he watches you pound some obedience into his slave. You know nothing puts a bitch in her place harder than discovering the secret rapture of being fucked just the way she didn't even know she likes it, and focus on exploiting her apparent humiliation fetish.<<if $PC.dick == 0>> She climaxes indecently hard from your expert, hard, but just tender enough loving.<<else>> Her tight pussy brings you to climax after a hard fucking and the sensation of being filled with your semen is enough to bring about her orgasm as well.<</if>> Your associate is extremely impressed with your performance and eager to ask for some slave-breaking tips. You're more than happy to offer a little advice, considering he's new to the game, and the two of you walk off together to find somewhere where you can get refreshments as you discuss. As you depart, a mass of curious socialites converge on the helpless slut, eager to try her holes out, since being fucked by the owner of the arcology has instantly, albeit temporarily, made her very fashionable.
 		<</if>>
 		Your citizens @@.green;appreciated@@ the vigorous show you put on, and the fact that you are @@.green;not too snobby@@ to enjoy the simple pleasure of availing of a public whore once in a while.
-		<<set $rep += 100>>
+		<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Decline, but suggest coffee in the café across the street">>
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 0a5412d824fc2b75780eef583bcbf0bd4e22d50a..92358b1b7d5a73457bcc01ddd565550ac602654f 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -172,7 +172,7 @@ Now the only question is what to do with the would-be rapist. You could toss the
 		<<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>
 		<<replace "#result">>
 			You declare $his holes fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.red;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
-		<<set $rep += 100>>
+		<<run repX(100, "event")>>
 		<<set $arcologies[0].prosperity += 2>>
 		<<include "New Slave Intro">>
 		<</replace>>
@@ -241,7 +241,7 @@ Now the only question is what to do with the would-be rapist. You could toss the
 <<link "Publicly flog the criminal">>
 	<<replace "#result">>
 		Naturally, the wretch will be thrown out of the arcology: but an example must first be made. Free people must understand that criminals who commit outrages against them will be severely punished. The protesting malefactor is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 </span>
diff --git a/src/pregmod/reLegendaryWomb.tw b/src/pregmod/reLegendaryWomb.tw
index c6b27db370bc4176c8805810847a2b789746a4f1..995e55bab49f6ece3664ca49da636d12a5199d3c 100644
--- a/src/pregmod/reLegendaryWomb.tw
+++ b/src/pregmod/reLegendaryWomb.tw
@@ -24,7 +24,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 	<<if random(1,100) > 90>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. It's likely there was some bribery behind the scenes, but $his heavy belly and creative positions win the day. Against all odds $he is named best in show, and will be @@.green;remembered@@ as a breeder of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a breeder.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a breeder">>
@@ -33,7 +33,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 	<<else>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. It's likely there was some bribery behind the scenes, and it is fatal to $his chances of winning. Though $his pregnant body is the most impressive on display, another slaveowner who was more open-handed with the judges took best in show. The public is impressed with $activeSlave.slaveName's reproductive capability anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -43,7 +43,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. Several of the judges cannot resist giving you a wink as they look $him over. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as a breeder of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a breeder.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a breeder">>
@@ -53,7 +53,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. Several of the judges cannot resist giving you a wink as they look $him over, but others look disapprovingly at them; it seems some of your competitors also forwarded money to the committee. After furious wrangling, $activeSlave.slaveName loses to another mother. The public is impressed with $activeSlave.slaveName's reproductive capability anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -63,7 +63,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. After $he's put through $his paces, the most unfortunate series of accidents somehow befalls $his fellow mothers. One is taken ill, another seems drugged, and another went into labor and gave birth, disqualifying her. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as a breeder of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a breeder.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a breeder">>
@@ -73,7 +73,7 @@ This is a rare opportunity. The idea of a pregnancy pageant isn't new but it is
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then asked to demonstrate how to pleasure a man while so heavily pregnant. You are surprised to see that the judging committee has been changed at the last minute. They choose another breeder as best in show. There are persistent @@.red;rumors@@ after the show that there was an absolute massacre of firings at the dairy organization headquarters the night before the show after it was discovered that someone, widely thought to be you, had been corrupting the judges.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep -= 100>>
+		<<run repX(-100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/pregmod/reMaleArcologyOwner.tw b/src/pregmod/reMaleArcologyOwner.tw
index f3f783df67f4b191802f91145a129f176fb8e9cf..6c64e8514a8758c1ea4b3f7ac1c4a53ecb231472 100644
--- a/src/pregmod/reMaleArcologyOwner.tw
+++ b/src/pregmod/reMaleArcologyOwner.tw
@@ -21,7 +21,7 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 	<<if isPlayerFertile($PC)>>
 		<<= knockMeUp($PC, 60, 0, -4)>>
 	<</if>>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<set $desc = "a cologned thank-you note from a male arcology owner of your acquaintance">>
 	<<set $trinkets.push($desc)>>
 	<</replace>>
@@ -35,15 +35,15 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 			You move to waddle past him and purposefully stumble, prompting him to catch you. Feigning fatigue, you politely ask if he'd help you out. You aren't exactly subtle as he walks you back to your room, dropping hints at how difficult your pregnancy has been and just how good it feels to be with a man. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> cleared your suite long ago, so when you enter, disrobe and splay yourself across the bed, it's just you and him.
 			<<if _randomForeignFS > 90>>
 				It's immediately clear by the look on his face that you made a mistake. The man clearly comes from a society that dislikes pregnant woman leading and your attempt to manipulate him into being your lover has pushed him past his level of tolerance. He storms out in anger and, upon returning to the party, makes your underhanded efforts known. @@.red;Your reputation has taken a major hit.@@
-				<<set $rep -= 1000>>
+				<<run repX(-1000, "event")>>
 			<<elseif _randomForeignFS > 70>> repop
 				It's immediately clear by the look on his face that you made a mistake. He wastes no time in leaping onto the bed, and in his haste, barely manages to disrobe. Before you can attempt to take control, he's hilted in your needy vagina and giving you the fucking your body has been craving. He leaves a few hours later with a satisfied expression and returns to the party, where he puts in a good word for just how good you were. @@.green;Your reputation has slightly improved,@@ though nowhere near as much as his.
-				<<set $rep += 100>>
+				<<run repX(100, "event")>>
 				<<set $desc = "a thank-you note from a male arcology owner of your acquaintance that smells strongly of lust">>
 				<<set $trinkets.push($desc)>>
 			<<else>>
 				He slips out of his clothes, revealing a triathlete's tanned and sculpted body, and joins you in the bed. You direct him onto his back and hilt yourself on his dick. As you savor the feeling of being filled, you notice he doesn't quite know how to properly please a woman of your fecundity, something easily corrected. You're certain he has learned several new positions by the end of your several hour long session and after you both stumble back to the party, he gives you a deep kiss in full public view. @@.green;Your reputation has greatly improved.@@
-				<<set $rep += 500>>
+				<<run repX(500, "event")>>
 				<<set $desc = "a flirtatious thank-you note from a male arcology owner you broke in to lusty preggo sex">>
 				<<set $trinkets.push($desc)>>
 			<</if>>
@@ -57,18 +57,18 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 					After a few minutes of you jiggling your cleavage around, however, it becomes apparent that, while he does frequently eye it, it just isn't to his tastes. He excuses himself and withdraws. You return to your <<if $PC.refreshmentType == 0>>$PC.refreshment<<elseif $PC.refreshmentType == 1>>glass of $PC.refreshment<<elseif $PC.refreshmentType == 2>>plate of $PC.refreshment<<elseif $PC.refreshmentType == 3>>pouch of $PC.refreshment<<elseif $PC.refreshmentType == 4>>syringe of $PC.refreshment<<elseif $PC.refreshmentType == 5>>bottle of $PC.refreshment<<elseif $PC.refreshmentType == 6>>sheet of $PC.refreshment<</if>>, consoling yourself that you are not exactly starved for company.
 				<<else>>
 					After a few minutes, it becomes clear that something else is on his mind than renewable energy and he politely excuses himself, though not before dropping something into your cleavage. The women watches dejectedly as you fish out his business card. Taking the hint, you scan the room and find him slowly leaving once he makes eye contact; a clear invitation to follow him. As you wander down the hall, you feel a hand cup one of your firm globes and pull you into an embrace. While he seems content to just grope you, you had other plans and begin undoing his belt. You gasp a little as his member pops out into your hands, eager for some attention of its own. He wastes no time in pulling your ample bust downwards and slipping his eager cock between your breasts. You grab his hips for support as he vigorously pistons into your chest, struggling to retake control of the situation before he renders you enable to return to the party. With a joyous groan, he blows his load deep into your bosom and down your dress. As he helps you to your feet, and the stain under your wrack grows larger, you give him a kiss on the cheek and head off to change. He returns to the party, and from your serving slaves, seems to have boasted about how well you do business. @@.green;Your reputation has slightly improved,@@ though nowhere near as much as his.
-					<<set $rep += 100>>
+					<<run repX(100, "event")>>
 					<<set $desc = "a thank-you note from a male arcology owner of your acquaintance that not-so-subtly suggests getting a bigger pair of implants">>
 					<<set $trinkets.push($desc)>>
 				<</if>>
 			<<elseif _randomForeignFS > 40 && $PC.boobsImplant != 1>> purist + expansion
 				conversation between him and the woman trying to convince him to invest in her solar power concern. After a few minutes of you jiggling your cleavage around, it becomes clear that his attention span for renewable energy is no where near what it is for big breasts just begging to pop out of their top. He excuses himself from the conversion, though not without intentionally bumping into your rack and slipping into the hall. The women glares daggers at you and returns to her drink, leaving you to follow suit and slip out of the party. As you wander down the hall, you feel a hand struggle to cup one of your jiggly globes and pull you into an embrace. While he seems content to just grope you, you had other plans and begin undoing his belt. You gasp a little as his member pops out into your hands, eager for some attention of its own. He wastes no time in pulling your ample bust downwards and slipping his eager cock between your breasts. You grab his hips for support as he vigorously pistons into your chest in an attempt to keep your balance under their motion and to make an attempt to retake control of the situation before he renders you enable to return to the party. With a joyous groan, he blows his load deep into your bosom and down your dress. As he helps you to your feet, and the stain under your wrack grows larger, you give him a kiss on the cheek and head off to change. He returns to the party, and from your serving slaves, seems to have boasted about how well you do business. @@.green;Your reputation has slightly improved,@@ though nowhere near as much as his.
-				<<set $rep += 100>>
+				<<run repX(100, "event")>>
 				<<set $desc = "a thank-you note from a male arcology owner of your acquaintance with an attach list of natural supplements to make your tits even bigger">>
 				<<set $trinkets.push($desc)>>
 			<<else>>
 				conversation between him and the woman trying to convince him to invest in her solar power concern. You attempts, at first, appear to be working as he begins to stutter and lose focus on the topic at hand, but he soon apologizes, wraps an arm around your shoulders, pulls you close and starts groping your enormous funbags. He returns to discussing business while using you like a stress ball and manages to seal a rather lucrative business deal. He gives you an appreciative squeeze and heads on his way, leaving you dumbfounded at what just happened. His reputation has improved significantly, while your status @@.red;as nothing more than stress relief@@ is made clear.
-				<<set $rep -= 500>>
+				<<run repX(-500, "event")>>
 			<</if>>
 		<<else>>
 		<</if>>
@@ -86,7 +86,7 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 			<<if isPlayerFertile($PC)>>
 				<<= knockMeUp($PC, 60, 0, -4)>>
 			<</if>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 			<</replace>>
 		<</link>>
 	<</if>>
diff --git a/src/pregmod/reMaleCitizenHookup.tw b/src/pregmod/reMaleCitizenHookup.tw
index c2b4d1676fdbebfc7ad6373e6c18dd444b94e417..7788ecbd925db93648f3cf26effee85e69eb97ba 100644
--- a/src/pregmod/reMaleCitizenHookup.tw
+++ b/src/pregmod/reMaleCitizenHookup.tw
@@ -300,7 +300,7 @@ He's clearly attracted to you; even the most consummate actor would have difficu
 		<</if>>
 	<</if>>
 	Sometimes society overlooks that you are a woman and have certain needs, but your lover tonight knows exactly how to treat you. When your guest <<if _FS != "Youth Preferentialist">>is finally spent<<else>>wakes up from against your body<</if>>, he showers, dresses, and leaves discreetly, offering you a proper thank you. This is the kind of thing that @@.green;builds a lasting reputation@@ in the Free Cities.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<if isPlayerFertile($PC)>>
 		<<switch _FS>>
 		<<case "Asset Expansionist" "Repopulationist">>
diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw
index 7b1a99547e80189e243e83eb825806a435355974..9cb4fcdd79f6aa9515c46c38bdbd011caaf724da 100644
--- a/src/pregmod/rePregInventor.tw
+++ b/src/pregmod/rePregInventor.tw
@@ -811,7 +811,7 @@
 				<<set $activeSlave.prestige = 2>>
 				<<set $activeSlave.prestigeDesc = "She is a renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 2000>>
+			<<run repX(2000, "event")>>
 			<<set $pregInventions = 2>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -841,7 +841,7 @@
 			<<set $activeSlave.prestige = 2>>
 			<<set $activeSlave.prestigeDesc = "She is a renowned inventor of hyperpregnant sex accessories and toys.">>
 		<</if>>
-		<<set $rep += 2000>>
+		<<run repX(2000, "event")>>
 		<<set $pregInventions = 2>>
 		<<for _i = 1; _i < _l; _i++>>
 			<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -879,7 +879,7 @@
 				<<set $activeSlave.prestige = 3>>
 				<<set $activeSlave.prestigeDesc = "She is a world renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 5000>>
+			<<run repX(5000, "event")>>
 			<<set $pregInventions = 3>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -896,7 +896,7 @@
 				<<set $activeSlave.prestige = 2>>
 				<<set $activeSlave.prestigeDesc = "She is a renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 2000>>
+			<<run repX(2000, "event")>>
 			<<set $pregInventions = 2>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -913,7 +913,7 @@
 				<<set $activeSlave.prestige = 1>>
 				<<set $activeSlave.prestigeDesc = "She is a locally respected inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 500>>
+			<<run repX(500, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
@@ -923,7 +923,7 @@
 			<</for>>
 		<<elseif $activeSlave.pornPrestige >= 3>>
 			You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that @@.green;what little impact@@ $he has had is on a local scale only.
-			<<set $rep += 100>>
+			<<run repX(100, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
@@ -937,7 +937,7 @@
 				<<set $activeSlave.prestige = 3>>
 				<<set $activeSlave.prestigeDesc = "She is a world renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 5000>>
+			<<run repX(5000, "event")>>
 			<<set $pregInventions = 3>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -954,7 +954,7 @@
 				<<set $activeSlave.prestige = 2>>
 				<<set $activeSlave.prestigeDesc = "She is a renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 2000>>
+			<<run repX(2000, "event")>>
 			<<set $pregInventions = 2>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -971,7 +971,7 @@
 				<<set $activeSlave.prestige = 1>>
 				<<set $activeSlave.prestigeDesc = "She is a locally respected inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 500>>
+			<<run repX(500, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
@@ -981,7 +981,7 @@
 			<</for>>
 		<<elseif $activeSlave.pornPrestige >= 2>>
 			You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that @@.green;what little impact@@ $he has had is on a local scale only.
-			<<set $rep += 100>>
+			<<run repX(100, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
@@ -995,7 +995,7 @@
 				<<set $activeSlave.prestige = 3>>
 				<<set $activeSlave.prestigeDesc = "She is a world renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 5000>>
+			<<run repX(5000, "event")>>
 			<<set $pregInventions = 3>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -1012,7 +1012,7 @@
 				<<set $activeSlave.prestige = 2>>
 				<<set $activeSlave.prestigeDesc = "She is a renowned inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 2000>>
+			<<run repX(2000, "event")>>
 			<<set $pregInventions = 2>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
@@ -1029,7 +1029,7 @@
 				<<set $activeSlave.prestige = 1>>
 				<<set $activeSlave.prestigeDesc = "She is a locally respected inventor of hyperpregnant sex accessories and toys.">>
 			<</if>>
-			<<set $rep += 500>>
+			<<run repX(500, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
@@ -1039,7 +1039,7 @@
 			<</for>>
 		<<else>>
 			You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that @@.green;what little impact@@ $he has had is on a local scale only.
-			<<set $rep += 100>>
+			<<run repX(100, "event")>>
 			<<for _i = 1; _i < _l; _i++>>
 				<<if $arcologies[_i].FSRepopulationFocus != "unset">>
 					<<set $arcologies[_i].FSRepopulationFocus += 5>>
diff --git a/src/pregmod/seBurst.tw b/src/pregmod/seBurst.tw
index cb37324eea64a412190d0abf2bdd13a631c7b7de..4fb3b23f8cec01218a88a638d46bd066a909bc06 100644
--- a/src/pregmod/seBurst.tw
+++ b/src/pregmod/seBurst.tw
@@ -267,7 +267,7 @@
 				<<if $eugenicsFullControl != 1>>
 					<<set $failedElite += 5*_curBabies>>
 				<</if>>
-				<<set $rep -= 10*_curBabies>>
+				<<run repX(forceNeg(10*_curBabies), "babyTransfer")>>
 			<</if>>
 		<</if>>
 
diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw
index afc3ea969815850ed70ee3757405efac5a6be1b1..81aa8530014a0a0d87ad7dc0ed91d0392b0ae998 100644
--- a/src/pregmod/widgets/pregmodBirthWidgets.tw
+++ b/src/pregmod/widgets/pregmodBirthWidgets.tw
@@ -967,7 +967,7 @@
 		<<set $humiliation = 1>>
 		<<ClothingBirth>>
 		Upon completing $his show, $he reclines with <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child and begins counting the credits $he bought in. In total $he made <<print cashFormat(100*_birthScene)>> and feels that business will be up in the brothel as patrons line up hoping another showing.
-		<<run cashX((100*_birthScene), "birth")>>
+		<<run cashX((100*_birthScene), "birth", $slaves[$i])>>
 	<</if>>
 
 <<case "be the Stewardess">>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index 5cd71e79bfe845929acbbf9e2c8eb5192ecc61b2..11aac05d1533f5ebc39b8f2da1c848d6e86396e8 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -836,7 +836,7 @@ All in all,
 		<br><br>
 		The Societal Elite @@.red;are disappointed@@ that you would allow subhuman filth to dirty the arcology under your watch. Society @@.red;frowns@@ on the unwelcome addition of more subhumans into the world.
 		<<set $failedElite += 5 * _curBabies>>
-		<<set $rep -= 10 * _curBabies>>
+		<<run repX(forceNeg(10*_curBabies), "birth", $slaves[$i])>>
 	<</if>>
 <</if>>
 
diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw
index c6d2e3378d6d52a0b6d840fd823c964548ad9ef1..025050c8728a203baa33c73f2b908582e67cb1c2 100644
--- a/src/societies/aztec/slaveSacrifice.tw
+++ b/src/societies/aztec/slaveSacrifice.tw
@@ -374,7 +374,7 @@
 
 <<elseif $sacrificeType == "life">>
 	$He dies screaming as $his still beating heart is ripped out of $his body. <<if _activeSlaveRepSacrifice <= 0>>Nobody cares.<<elseif _activeSlaveRepSacrifice < 10>>The few spectators are suitably impressed.<<elseif _activeSlaveRepSacrifice < 100>>The small crowd appreciates your devotion to the Aztec culture.<<else>>The crowd cheers to the bloody spectacle.<</if>><<if $slaves.length > 0>> On the other hand, your remaining <<if $slaves.length == 1>>slave is<<else>>slaves are<</if>> suitably @@.gold;horrified@@.<</if>>
-	<<set $rep = Math.min(20000, $rep + _activeSlaveRepSacrifice)>>
+	<<run repX(_activeSlaveRepSacrifice, "futureSocieties")>>
 	<<run $slaves.filter(function(s) { return !isVegetable(s); }).forEach(function(s) { s.trust -= 5 + random(5); })>>
 	<<if $arcologies[0].FSAztecRevivalist !== "unset" && $arcologies[0].FSAztecRevivalist < 100>>
 		<<set $arcologies[0].FSAztecRevivalist += 1>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 8d62c49f0b698b1193e77c83061ad5975bc3fea2..0862e656c69930f7d813374c1fa07b3e8265cd8f 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -793,9 +793,11 @@
 <<if ndef $farmyardLabUpgrades>>
 	<<set $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}>>
 <</if>>
-<<if ndef $animalsBought || def $animalsBought>>
-	<<set $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}>>
+<<if ndef $animalsBought>>
+	<<set $animalsBought = {}>>
 <</if>>
+<<set _animalsBought = ["canines", "hooved", "felines", "labradorRetrievers", "germanShepherds", "goldenRetrievers", "frenchBulldogs", "bulldogs", "beagles", "poodles", "rottweilers", "yorkshireTerriers", "siberianHuskies", "horses", "bulls", "pigs", "siameses", "persians", "maineCoons", "ragdolls", "bengals", "abbysinians", "birmans", "orientalShorthairs", "sphynxes", "russianBlues", "wolves", "foxes", "jackals", "dingos", "zebras", "cougars", "jaguars", "pumas", "lynx", "leopards", "lions", "tigers"]>>
+<<run _animalsBought.forEach(function(species) { $animalsBought[species] = $animalsBought[species] || 0 ; })>>
 <<if ndef $canines>>
 	<<set $canines = []>>
 <</if>>
@@ -2640,6 +2642,10 @@ Setting missing global variables:
 	<<setupLastWeeksCash>>
 <</if>>
 
+<<if ndef $lastWeeksRepIncome>>
+	<<setupLastWeeksRep>>
+<</if>>
+
 <<run EconomyDatatypeCleanup()>>
 <<run ArcologyDatatypeCleanup()>>
 
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index af759bae42f0a4c897d976f3e5e5bb761e7a46cf..40da7161bfc5ba16cabfd158719dec872d3afe87 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -161,7 +161,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName stomps over to the drunken delinquent, who finds himself sobering up with each step the muscular $woman makes in his direction. Soon he finds himself <<if ($activeSlave.height > 170)>>staring up at $his $activeSlave.faceShape face<<elseif ($activeSlave.height > 150)>>eye to eye with $his $activeSlave.faceShape face<<else>>looking down at $his $activeSlave.faceShape face<</if>> as $he grips him by the shoulders and lifts him bodily off of the ground. The man squeals with terror as he begs forgiveness for his affront to you, but $activeSlave.slaveName simply tosses him away from your presence as if discharging him from a bar. Word of your herculean protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior so strong $he can throw any man the breadth of a room in a single heave.
-	<<set $rep += 500>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $he can throw a man the breadth of a room in a single heave.">> <</if>>
+	<<run repX(500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $he can throw a man the breadth of a room in a single heave.">> <</if>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -172,7 +172,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName calmly strides over to the drunken delinquent and simply towers over him with a glower on $his $activeSlave.faceShape face. The man quickly finds himself sobering up and moves to run from the scene with all the drunken haste he can muster. Unfortunately for him, $activeSlave.slaveName matches his pace with a brisk power-walk, and the citizen soon finds himself face down on the pavement after a swift strike to the back of the head. Word of your giant protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior twice the height of any man.
-	<<set $rep += 500>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $he is twice the height of any man.">> <</if>>
+	<<run repX(500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $he is twice the height of any man.">> <</if>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -183,7 +183,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName seductively saunters over to the drunken delinquent and poses alluringly nearby. The man can't help but become entranced by $his gorgeous $activeSlave.faceShape face, and follows $him like a lost puppy as $he beckons with one outstretched finger. $activeSlave.slaveName lures $his prey into a nearby alley before slamming $his fist into the unsuspecting drunkard's face, leaving him knocked out cold on the floor before returning to guard you. Word of your beautiful protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior unmatched by any $woman in the world in $his good looks.
-	<<set $rep += 500>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $his beauty is unmatched by any woman in the world.">> <</if>>
+	<<run repX(500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $his beauty is unmatched by any woman in the world.">> <</if>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -194,7 +194,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName walks over to the man, puts an arm about his shoulders and explains to him <<if canTalk($activeSlave)>>in hushed whispers<<else>>with rapid sign language<</if>> the severity of the situation. The man sobers up quickly as the reality of his actions set in and he soon beats a hasty exit from the scene as $activeSlave.slaveName returns to guard your body. Word of your tactful protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior whose silver tongue is the envy of many politicians.
-	<<set $rep += 500>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "$His silver tongue is the envy of many in the arcology.">> <</if>>
+	<<run repX(500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "$His silver tongue is the envy of many in the arcology.">> <</if>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -205,7 +205,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName quickly maneuvers over to the man and strikes him low in the stomach, robbing him of breath in a single strike. The man sobers up somewhat and raises his arms to defend himself, but finds himself outmatched by $activeSlave.slaveName's skillful attacks. It doesn't take long for $activeSlave.slaveName to reduce the man to a battered heap on the ground with $his hands alone, after which $he soon returns to you to guard your body. Word of your martial protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior whose hands are deadlier than many weapons.
-	<<set $rep += 500>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $his hands are deadlier than many weapons.">> <</if>>
+	<<run repX(500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $his hands are deadlier than many weapons.">> <</if>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -213,7 +213,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	$activeSlave.slaveName draws $his firearm and blasts the pavement between yourself and the delinquent with a hail of bullets. The man sobers up immediately at the excessive use of firepower and flees the scene in fear of $activeSlave.slaveName turning $his weapon on him. $activeSlave.slaveName holsters $his weapon and returns to your side to guard you. Word of your trigger happy protector is soon @@.green;the talk of $arcologies[0].name@@ and you find most citizens are keen to avoid causing you offense with $activeSlave.slaveName around.
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 
@@ -280,7 +280,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<replace "#result">>
 	You bring $him out to a pretty balcony and put $him through an extended photo shoot. $He has no idea what you're planning, but $he's skilled enough not to need to. $He dons different outfits, changes makeup, and even shifts personas for the camera, producing hundreds of elegant, sensual and eye-catching images. You dismiss $him back to the club when you're done, and $he clearly thinks little of it. The next day, however, you walk $him out onto the club in the morning. When the two of you, <<= WrittenMaster()>> and DJ, reach the main club, $he stops short when $he catches sight of the main billboard screen. There $he is, resplendent and opulent, <<if $showInches == 2>>thirty feet<<else>>ten meters<</if>> tall, giving the viewer a sultry look. $He only breaks down for a single moment, but it's quite a moment: $he cries rather inelegantly, <<if canTalk($activeSlave)>><<say>>ing a sobbing "I love you <<Master>>" into your ear<</if>> before giving you a @@.hotpink;wet kiss.@@ Then $he runs over to stand under the screen, looking back at you to give you a @@.green;picture-perfect@@ imitation of the billboard $he's standing under before laughing at $himself a little.
 	<<run cashX(-1000, "event", $activeSlave)>>
-	<<set $rep += 500>>
+	<<run repX(500, "event", $activeSlave)>>
 	<<set $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>> //This option will cost <<print cashFormat(1000)>>//
@@ -290,7 +290,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	Exclusivity and slavery interact in ways more than merely complex. $activeSlave.slaveName's most passionate devotees are devastated to find $him nowhere but by your side for the whole week. Their reaction is mixed: awe, envy, resentment; but mostly @@.green;renewed respect@@ that $he is your creature, and yours alone. A lesser slave might show off the particularity you show $him, bringing shame on you by giving the impression that you care for $him as more than a slave. $He is no lesser slave, though, and thoroughly understands the fine line the two of you must walk as <<= WrittenMaster()>> and slave. $He makes @@.hotpink;painstakingly@@ clear, through every public glance and gesture, that $he is yours as a matter of @@.mediumaquamarine;trust@@ rather than as a matter of love.
 	<<set $activeSlave.devotion += 4>>
 	<<set $activeSlave.trust += 4>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<if $activeSlave.prestige == 0>>
@@ -299,7 +299,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<replace "#result">>
 	For the coming week, $he does the publicity rounds. It's a little different than a free celebrity might do, but the mere act of letting $him be interviewed is enough of a display of your confidence in $his loyalty that people @@.green;take notice.@@ $He will be @@.green;forever remembered@@ as one of the first slaves to go before the press and articulately explain why $he loves being your property. $He looks good doing it, too.
 	<<run cashX(-10000, "event", $activeSlave)>>
-	<<set $rep += 500>>
+	<<run repX(500, "event", $activeSlave)>>
 	<<set $activeSlave.prestige = 1>>
 	<</replace>>
 <</link>> //This option will cost <<print cashFormat(10000)>>//
@@ -349,7 +349,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	Your responsibilities will not wait. You keep at it, composing a firm yet even-handed message that @@.green;puts the miscreants in their place@@ without ruffling feathers. $activeSlave.slaveName has gone to sleep by the time you enter your suite, but $he wakes at your entrance and sleepily holds the sheets open so you can climb in. Once you're bedded down $he <<if ($activeSlave.boobs > 2000)>>lies close to you with one of $his breasts resting half on your chest, since $he can't fit under your arm with $his ridiculous tits.<<elseif ($activeSlave.boobs > 1000)>>burrows softly under your arm, $his breasts heavy against your chest.<<elseif ($activeSlave.boobs > 300)>>snuggles under your arm, $his breasts against your chest.<<else>>fits $himself under your arm, $his flat chest letting $him mold $himself to your torso perfectly.<</if>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "It can wait until after some lovemaking with the Concubine">>
@@ -486,10 +486,10 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<replace "#result">>
 	<<if $MixedMarriage == 1 && $activeSlave.relationship == -3 && $arcologies[0].FSPaternalist >= 60>>
 		You instruct your slave-wife $activeSlave.slaveName to put on $his best dress and meet you at the door. You spend a nice night out with $him, taking in the sights before heading to a nice restaurant, where you receive the occasional @@.green;admiring glance@@ from your paternalistic citizens. Afterward, you attend a show at a venue known for its respectful plays acted out by talented slaves, and you conclude the evening by returning to your penthouse to have loving sex in your master bed. When you wake the next morning, you're greeted with a long kiss and @@.hotpink;an adoring look,@@ before $activeSlave.slaveName slides out of bed to begin $his morning duties.
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 	<<else>>
 		You instruct $activeSlave.slaveName to put on $his best dress and meet you at the door. You spend a nice night out with $him, walking along the club to a nice restaurant and then seeing a show before returning home for loving sex in your master bed. $He nestles under your arm, falling to sleep well before you, a @@.hotpink;contented@@ smile on $his face. There's a reason $he gets to sleep much quicker than you do. You lie awake for some time, remembering the @@.red;doubting and disapproving@@ faces of other prosperous citizens whenever they realized that you were treating a slave as an equal this evening.
-		<<set $rep -= 100>>
+		<<run repX(-100, "event", $activeSlave)>>
 	<</if>>
 	<<set $activeSlave.devotion += 4, $activeSlave.oralCount += 1, $oralTotal += 1, $activeSlave.analCount += 1, $analTotal += 1>>
 	<</replace>>
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index 7d9c7112670b6679275943db25dfd37942dc5c1e..293037399aad93eb7cea78dd3994694fc1d4eb2a 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -414,7 +414,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You bring up a schematic of the arcology and point out a public gym to $him; you hand $him a day pass, tell $him to go down there, and let $him know $he'll spend the rest of the day there. $He looks mystified, and when you do not elaborate further, $he asks, "What <<sh>>ould I do there, <<Master>>?" Anything $he wants, you tell $him. $He still looks somewhat puzzled, but $he heads down to the gym anyway. When $he gets there, $he <<if canSee($activeSlave)>>sees<<elseif canHear($activeSlave)>>hears<<else>>realizes that there is<</if>> a steady stream of well-muscled male citizens entering the showers, and gets it. $He waves cheerfully to the nearest camera, and blows you a kiss before heading into the locker room. This is the Free Cities, and there isn't much reaction to a naked girl entering a male-dominated gym. That is, until $he selects from among the sweaty gentlemen coming in from the weight room, sidles up to one, and says cheerfully, "Hi! Do you wanna fuck me?" He does, and @@.green;so do many of his friends.@@ So many, in fact, that having the showers right there becomes convenient for $him as the day goes on.
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<<set $activeSlave.analCount += 5>>
 	<<set $analTotal += 5>>
 	<<set $activeSlave.oralCount += 5>>
@@ -556,7 +556,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 		Of course, since $he's a humiliation fetishist, this experience is like sexual candy for $him. $He @@.hotpink;can't get enough.@@
 		<<set $activeSlave.devotion += 4>>
 	<</if>>
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 
diff --git a/src/uncategorized/REFS.tw b/src/uncategorized/REFS.tw
index c7bd88b1d0b8b4db86c8d210335b6ed3055d43c5..f75c9ac8f35fbb5777b732df541b3621804e32a5 100644
--- a/src/uncategorized/REFS.tw
+++ b/src/uncategorized/REFS.tw
@@ -216,7 +216,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Take the poor slave $girl into your custody">>
 	<<replace "#result">>
 	Confronting the citizen is simplicity in itself; he would not dare defy you under threat of arrest by your security drones and is unlikely to garner any sympathy from the public for his degradationist behaviors. As such, you are able to take civil ownership over the poor slave $girl and take $him into your care with only minimal compensation to the citizen. As you stride away from $his former owner with the $girl in your arms, $he leans over to plant a chaste kiss of thanks on your cheek.
-	<<run cashX(-2000, "event")>>
+	<<run cashX(-2000, "slaveTransfer", $activeSlave)>>
 	<<include "New Slave Intro">>
 	<</replace>>
 <</link>> // Taking custody of the $girl will cost <<print cashFormat(2000)>>. //
@@ -224,7 +224,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Publicly confront the citizen">>
 	<<replace "#result">>
 	Your walk up to the citizen is not accompanied by shaking ground or tumultuous fanfare, yet the citizen looks as if death itself has come before him. You don't hurt him physically, instead chastising him publicly in front of his fellow peers who begin to cheer their agreement. You end your tirade of verbal abuse with a reminder that although the man is a citizen of your arcology, that does not give him the impunity to shirk the law. To make it clear his next offense will be his last, a brace of your security drones hover behind you threateningly. The crowd that gathered @@.green;approve of your rebuke of the citizen@@.
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>>
 </span>
@@ -241,7 +241,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Take the pampered slave $girl into your custody">>
 	<<replace "#result">>
 	Confronting the citizen is simplicity in itself; he would not dare defy you directly under threat of arrest by your security drones and is unlikely to garner any sympathy from the public for his disturbing actions. As such, you are able to take civil ownership over the slave $girl and claim $him for yourself with only token compensation to the citizen. As you stride away from $his former owner with the girl in your arms, $he clings to you with obvious naiveté for how you will treat $him. It's time $he learnt how slaves are treated in $arcologies[0].name.
-	<<run cashX(-2000, "event")>>
+	<<run cashX(-2000, "slaveTransfer", $activeSlave)>>
 	<<include "New Slave Intro">>
 	<</replace>>
 <</link>> // Taking custody of the $girl will cost <<print cashFormat(2000)>>. //
@@ -249,7 +249,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Publicly confront the citizen">>
 	<<replace "#result">>
 	Your walk up to the citizen is not accompanied by shaking ground or tumultuous fanfare, yet the citizen looks as if death itself has come before him. You don't hurt him physically, instead chastising him publicly in front of his fellow peers who begin to cheer their agreement. You end your tirade of verbal abuse with a reminder that although the man is a citizen of your arcology, that does not give him the impunity to parade a slave around the arcology as if $he were his wife. To make it clear that you will not be so forgiving of his next transgression, a brace of your security drones hover behind you threateningly. The crowd that gathered @@.green;approve of your rebuke of the citizen@@.
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>>
 </span>
@@ -266,7 +266,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Offer to sponsor her for a promotional video">>
 	<<replace "#result">>
 	Despite her hulking, muscular exterior, the citizen proves to be a shrewd and capable advertisement executive as well. The two of you sit beside a hefty dumbbell rack for some time and together craft a simple promotional ad campaign featuring the herculean physical form of the citizen. Shooting the video is simple, footage of the citizen going about her various fitness routines is inspiring enough, and soon her every muscle and sinew is being broadcast across the world to laud the physical achievements of $arcologies[0].name. Your citizens are @@.green;filled with pride,@@ knowing the rest of the world was just awed by their pursuit of bodily perfection.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-1000, "event")>>
 	<</replace>>
 <</link>> // This will cost <<print cashFormat(1000)>>. //
@@ -276,7 +276,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 	The attendant of the gym is almost too stunned to charge you for entry, and indeed many citizens inside and outside the gym stop to watch you begin a work-out routine. The muscular citizen does not halt her own regime, of course, so you soon find yourself pumping iron and straining your muscles to the limit beside her.
 	<br><br>
 	Your eyes lock somewhere in the midst of a particularly strenuous exercise, and what follows may be remembered in the annals of $arcologies[0].name history as the most erotic display of physical might ever recorded. Matching each other rep for rep, the gym is soon echoing with the grunts of both your exertions while your bodies grow slick with glistening sweat. When the last dumbbell is racked, the citizen merely nods her respect at you for matching her pursuit of the physical ideal, to the @@.green;delight of the watching citizenry@@.
-	<<set $rep += 300>>
+	<<run repX(300, "event")>>
 	<</replace>>
 <</link>>
 </span>
@@ -293,7 +293,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Offer to sponsor the restaurant with an advertisement">>
 	<<replace "#result">>
 	You soon discover that the owner of the establishment is a matronly woman who sources her dairy from other mothers in the arcology, having found that new or expectant mothers are often in need of a revenue stream. The two of you sit at the counter for some time, though the owner often excuses herself for a milking in the back room, and together craft a simple promotional ad campaign featuring a simple slogan. Posters bearing the words "Got MILF?" soon grace the walls of $arcologies[0].name, and your citizens take to the idea of motherly milkshakes and admire your @@.green;marketing acumen@@.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-1000, "event")>>
 	<</replace>>
 <</link>> // This will cost <<print cashFormat(1000)>>. //
@@ -303,7 +303,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 	The owner of the parlor is so flattered by your patronage of her humble store that she not only provides your drink free of charge but even milks herself at the counter to personally provide the dairy for your shake. The shake's taste is rich, even creamy, with an overall sweet palate mixed with a slight nuttiness.
 	<br><br>
 	Though you depart without officially sponsoring the milkshake parlor, your presence is endorsement enough to many citizens while others simply @@.green;appreciate you drinking amongst them@@.
-	<<set $rep += 300>>
+	<<run repX(300, "event")>>
 	<</replace>>
 <</link>>
 </span>
@@ -320,7 +320,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Pay for $his treatment">>
 	<<replace "#result">>
 	It takes a moment for you to convince the woman that you aren't playing some cruel joke on $him, but once you do $he practically squeals with joy as you take $him through the doors of the clinic and announce your intent to pay to give your loyal citizen the absolute transformative works. When you next see $him it's on a gurney as $he's wheeled out of the surgery, $his patient's gown jutting out from $his chest due to the size of $his new rack. Through swollen lips $he gushes to you about how great $he feels to finally be a veritable bimbo, and how $he's going to tell every citizen $he fucks in $arcologies[0].name @@.green;that they have you to thank for $his new body@@.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-1000, "event")>>
 	<</replace>>
 <</link>> // The treatment will cost <<print cashFormat(1000)>>. //
@@ -358,7 +358,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 <br><<link "Pay for a day of treatment for her">>
 	<<replace "#result">>
 	It takes a moment for you to convince the woman that you aren't playing some cruel joke on her, but once you do she practically squeals with joy as you take her through the doors of the spa and announce your intent to pay for a day of cleansing, pampering and luxury. When you next see her it's on a wallscreen television at your penthouse praising you profusely. The rejuvenated young woman has clearly spread word of your generosity @@.green;across $arcologies[0].name@@.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-1000, "event")>>
 	<</replace>>
 <</link>> // The treatment will cost <<print cashFormat(1000)>>. //
@@ -369,7 +369,7 @@ On this particular outing you happen to cross paths with a comely female citizen
 	You make your presence known to the citizen, and once the usual shock and disbelief have worn off it takes a moment to convince her that your offer of a cleansing experience in your spa is neither a cruel joke nor an underhanded attempt to enslave her. She follows you back to the penthouse where you inform your attendant that the citizen is to be sequestered in the spa for a day of pampering, cleansing and rejuvenation. As the citizen passes through the doors to the spa, she turns and blows you a kiss of gratitude.
 	<br><br>
 	When you stop by the spa later in the day, you spot the citizen luxuriating in a hot bath with a number of colorful health products spread across every visible surface of her nude skin. From where you stand it is clear her eyes are closed in immense contentment, while her body floats relaxed and carefree in the bubbling water. When the citizen finally departs at the end of the a long day of purification in the spa, she thanks you profusely and promises to tell everyone she can of your @@.green;generosity@@.
-	<<set $rep += 300>>
+	<<run repX(300, "event")>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -381,14 +381,14 @@ On this particular outing you happen to cross paths with a comely female citizen
 <<link "Let them pass">>
 	<<replace "#result">>
 	You step aside gracefully and bow your head, while signifying to the $girl that you intend to allow $him to pass you. $He seems taken aback by your geniality, especially given the gulf in social standing between the two of you, and has to be chaperoned from your presence by $his father. Nonetheless, $he is struck by $his chance encounter with you and cannot stop recounting the story to all $his friends, soon @@.green;the anecdote has seized the imaginations of $arcologies[0].name's youthful, female citizens.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 <<if $cash >= 500>>
 <br><<link "Fuck $him over dinner">>
 	<<replace "#result">>
 	It takes a moment for you to convince the young $girl and $his father that you aren't playing some cruel joke on them, but once you do $he enthusiastically agrees to be your companion for the evening. With a pretty young thing on your arm for the rest of the night, and $his father trailing behind the two of you at a respectful distance, you take $arcologies[0].name by storm amidst a flurry of speculative whispers and contemplative rumors. Later that night, you conclude your date with a pleasant meal at one of $arcologies[0].name's choicest restaurants with fine dining and even finer conversation. To the credit of $his father, he politely continues eating his dinner without batting an eye when you <<if $PC.dick == 0>>don a strap-on and <</if>>take his daughter over the dinner table. When you part ways, the young $girl is clearly smitten with you — so it's no wonder that by the next day the story of your encounter has @@.green;spread across $arcologies[0].name like wildfire@@.
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<run cashX(-500, "event")>>
 	<</replace>>
 <</link>> // This will cost <<print cashFormat(500)>>. //
@@ -421,14 +421,14 @@ On this particular outing you happen to cross paths with a comely female citizen
 <<link "Let them pass">>
 	<<replace "#result">>
 	You step aside gracefully and bow your head, while signifying to the older woman that you intend to allow $him to pass you. $He seems taken aback by your geniality, especially given the gulf in social standing between the two of you, and seems disproportionately flustered by your small show of civility. Nonetheless, $he is struck by $his chance encounter with you and cannot stop recounting the story to all $his friends, and soon @@.green;the anecdote has seized the imaginations of $arcologies[0].name's mature, female citizens@@.
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 <<if $cash >= 500>>
 <br><<link "Fuck $him over dinner">>
 	<<replace "#result">>
 	It takes a moment for you to convince the older $woman and $his sons that you aren't playing some cruel joke on them, but once you do $he enthusiastically agrees to be your companion for the evening. With a mature lady on your arm for the rest of the night, and $his sons trailing behind the two of you at a respectful distance, you take $arcologies[0].name by storm amidst a flurry of speculative whispers and contemplative rumors. Later that night, you conclude your date with a pleasant meal at one of $arcologies[0].name's choicest restaurants with fine dining and even finer conversation. To the credit of $his sons, they politely continue eating their dinner without batting an eye when you <<if $PC.dick == 0>>don a strap-on and <</if>>take their mother over the dinner table. When you part ways, the older $woman is clearly smitten with you — so it's no wonder that by the next day the story of your encounter has @@.green;spread across $arcologies[0].name like wildfire@@.
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<run cashX(-500, "event")>>
 	<</replace>>
 <</link>> // This will cost <<print cashFormat(500)>>. //
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index e2ba769323de5b2a4a6aa8603e9549fb5c290c6d..634486453eb37453037b5d9fcc4621c4e490c418 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -844,7 +844,7 @@ You have a lot of work to do with <<EventNameLink $activeSlave>>. $He compounds
 
 An escape attempt occurs and is stopped almost before you are informed of it. <<EventNameLink $activeSlave>> made a rash attempt to leave the penthouse, but $assistantName monitors everyone constantly and was able to enclose $him before $he got very far. <<if $assistant == 0>>It reports impersonally that the would-be escapee is locked in the entryway awaiting your judgment.<<else>>$He reports suggestively that the would-be escapee is locked in the entryway awaiting your pleasure.<</if>>
 <br><br>
-<<if $arcologyUpgrade.drones == 1>>Your advanced security systems are able to stop $him promptly, and there is no indication to the public that any escape attempt was made.<<else>>Your basic security systems are only able to stop $him by briefly locking down your penthouse, exciting @@.red;some adverse public comment.@@<<set $rep -= 100>><</if>>
+<<if $arcologyUpgrade.drones == 1>>Your advanced security systems are able to stop $him promptly, and there is no indication to the public that any escape attempt was made.<<else>>Your basic security systems are only able to stop $him by briefly locking down your penthouse, exciting @@.red;some adverse public comment.@@<<run repX(-100, "event", $activeSlave)>><</if>>
 <<if $activeSlave.indentureRestrictions > 0>>
 	<br><br>
 	This behavior has violated $his indenture contract, allowing you to apply more severe punishments that might otherwise breach it.
@@ -4602,7 +4602,8 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 	<<set $activeSlave.intelligence = $genePool[_ress].intelligence>>
 	<<if ($arcologies[0].FSPaternalist != "unset")>>
 		Society @@.green;strongly approves@@ of $activeSlave.slaveName being restored to sanity, which advances ideals about enlightened slaveownership.
-		<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+		<<set $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+		<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), "futureSocieties")>>
 	<</if>>
 	<<set $activeSlave.oralCount += 2>>
 	<<set $oralTotal += 2>>
@@ -4618,7 +4619,8 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 	<<set $activeSlave.intelligence = $genePool[_ress].intelligence>>
 	<<if ($arcologies[0].FSPaternalist != "unset")>>
 		Society @@.green;strongly approves@@ of $activeSlave.slaveName being restored to sanity by the power of love, which advances ideals about enlightened slaveownership.
-		<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+		<<set $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+		<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), "futureSocieties")>>
 	<</if>>
 	<<set $activeSlave.kindness = 0>>
 	<</replace>>
@@ -5740,7 +5742,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<<set _meetingBonus = 1000>>
 	<</if>>
 	You finish the motion and get on with your day. $He burrows into the warm place on the bed where your body lay, which is actually an excellent sign of $his mental state. It suggests that $his dreaming mind is quite comfortable with your presence and even smell. You make the meeting, consoling yourself with the thought that you're hardly lacking for opportunities to <<if $PC.dick == 1>>stick your dick in<<else>>have sex with<</if>> $activeSlave.slaveName. The business opportunity turns out to be @@.yellowgreen;quite profitable;@@ you're glad you didn't pass it up.
-	<<run cashX(_meetingBonus, "event")>>
+	<<run cashX(_meetingBonus, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Call in from where you are">>
@@ -5764,8 +5766,8 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 	<</if>>
 	draped across you. The meeting is long enough that your interlocutors eventually realize that something unusual is going on, especially once $he wakes up and starts sleepily <<if $PC.dick == 1>>sucking your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eating you out<</if>>, out of frame. They're @@.red;slightly annoyed,@@ since having sex during meetings is still considered a minor faux pas, but you @@.yellowgreen;close the deal,@@ and $activeSlave.slaveName is @@.hotpink;very pleased@@ that you would rearrange your affairs to make time for <<if $PC.dick == 1>>one of $his blowjobs<<else>>oral sex with $him<</if>>.
 	<<set $activeSlave.oralCount++, $oralTotal++>>
-	<<run cashX(_meetingBonus, "event")>>
-	<<set $rep -= 50>>
+	<<run cashX(_meetingBonus, "event", $activeSlave)>>
+	<<run repX(-50, "event", $activeSlave)>>
 	<<set $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>>
@@ -6139,7 +6141,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		and implores him to fuck $him.
 	<</switch>>
 	You detail another slave to fetch $him after the public loses interest. A couple of hours later, you catch sight of $him limping towards the showers, thoroughly disheveled. $His $activeSlave.skin face and chest are spattered with cum, $he's got <<if $activeSlave.dick > 0>>$his own ejaculate<<else>>pussyjuice<</if>> all over $his thighs, and $his well-fucked butthole is dripping semen. $He's certainly worked hard @@.green;improving your reputation.@@
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<<set $activeSlave.mammaryCount += 10, $mammaryTotal += 10, $activeSlave.oralCount += 10, $oralTotal += 10>>
 	<<= AnalVCheck(10)>>
 	<<set $activeSlave.publicCount += 30>>
@@ -6156,7 +6158,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 	$He's completely unsurprised when you crook a finger at $him after a brief inspection, and skips over, looking excited. It's not in vain.
 	<<if ($activeSlave.fetish == "submissive")>>
 		You shove $him across the back of a balcony bench and take $him as $he moans with pleasure, happy you're using $his body. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
 		<<else>>
@@ -6164,11 +6166,11 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<</if>>
 	<<elseif ($activeSlave.fetish == "cumslut")>>
 		You push $him down to $his knees and <<if $PC.dick == 1>>shove your cock down $his throat<<if $PC.vagina == 1>> so far $he can almost reach your pussy with the tip of $his tongue<</if>><<else>>ride $his face<</if>>. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, moaning into you as $he pleasures your <<if $PC.dick == 1>>dick<<else>>cunt<</if>>.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<set $activeSlave.oralCount++, $oralTotal++>>
 	<<elseif ($activeSlave.fetish == "humiliation")>>
 		You sit down on a balcony bench and pull $him down to sit on your <<if $PC.dick == 0>>strap-on<<else>>cock<</if>>, and then pull $his legs as wide as they'll go as you fuck $him, displaying everything to the whole balcony<<if $activeSlave.belly >= 120000>>; $his _belly stomach hangs so low that it blocks the view, however<<else>><<if $PC.vagina == 1>><<if $PC.dick == 1>>: incidentally including your own pussy, which slides up and down as you piston the cock above it in and out of $him<</if>><</if>><</if>>. $He @@.hotpink;laps up@@ the @@.green;openly aroused@@ stares from $his growing audience.
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.devotion += 3>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
@@ -6177,11 +6179,11 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<</if>>
 	<<elseif ($activeSlave.fetish == "buttslut")>>
 		You shove $him across the back of a balcony bench and fuck $his ass as $he moans with pleasure, happy you're using $his favorite hole. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, too focused on $his well-filled rectum to care.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<set _didAnal = 1>>
 	<<elseif ($activeSlave.fetish == "boobs")>>
 		You push $him down to $his knees and <<if $PC.dick == 1>>press your cock between $his tits<<else>>ride $his breasts<</if>>. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, enjoying the feeling of your <<if $PC.dick == 1>>dick pounding $his <<if $activeSlave.nipples != "fuckable">>cleavage<<else>>breast<</if>><<else>>cunt rubbing against one of $his <<if $activeSlave.nipples != "fuckable">>hard<<else>>engorged<</if>> nipples<</if>>.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<set $activeSlave.mammaryCount++, $mammaryTotal++>>
 	<<elseif ($activeSlave.fetish == "pregnancy")>>
 		You shove $him across the back of a balcony bench and whisper in $his ear that you're going to breed $him in public. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, too aroused by the idea to care.
@@ -6194,7 +6196,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<<elseif !isFertile($activeSlave)>>
 			$He's not fertile, but $he doesn't let that disrupt $his fantasy.
 		<</if>>
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
 		<<else>>
@@ -6202,7 +6204,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<</if>>
 	<<elseif ($activeSlave.fetish == "dom")>>
 		You shove $him back against a wall and seat your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> inside $him before wrapping $his legs around you, taking a good grip on $his butt, and hauling $him off the wall again, holding $him in midair<<if $activeSlave.belly >= 600000>> (though $his _belly belly is resting on the ground)<</if>>. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, concentrating on fucking as hard as $he possibly can.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
 		<<else>>
@@ -6210,7 +6212,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<</if>>
 	<<elseif ($activeSlave.fetish == "sadist")>>
 		You sit down on a balcony bench and pull $him down to sit on your <<if $PC.dick == 0>>strap-on<<else>>cock<</if>>, and then hand $him a tablet after pulling up a feed from a nearby cellblock. $He ignores the @@.green;mildly appreciative@@ stares from passersby as you fuck $him, enthralled by the scenes of abuse and rape on the tablet in $his trembling hands.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
 		<<else>>
@@ -6218,11 +6220,11 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		<</if>>
 	<<elseif ($activeSlave.fetish == "masochist")>>
 		You spin $him around cruelly, jerking $him back against your torso and shoving your <<if $PC.dick == 0>>strap-on<<else>>cock<</if>> up $his butthole without bending $him over first. $He ignores the @@.green;mildly appreciative@@ stares from passersby as you fuck $him, too lost in the delicious agony of a harsh standing anal fuck to care.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<set _didAnal = 1>>
 	<<else>>
 		You appeal to $his uncomplicated tastes by letting $him ride you as you sit on a balcony bench, your hands idly <<if $activeSlave.nipples != "fuckable">>playing with<<else>>fingering<</if>> $his nipples as $he rocks $his hips against you. $He pays no attention to the @@.green;mildly appreciative@@ stares from passersby, concentrating on your face, smiling as you react to $his efforts.
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<if canDoVaginal($activeSlave)>>
 			<<set _didVaginal = 1>>
 		<<else>>
@@ -7399,7 +7401,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<set $activeSlave.oralCount++, $oralTotal++>>
 	<</if>>
 	<<set $activeSlave.trust -= 5>>
-	<<set $rep -= 100>>
+	<<run repX(-100, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 <br><<link "Let $him stay in bed, but move it to a public restroom">>
@@ -7451,7 +7453,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			<</if>>
 		<</if>>
 	<</if>>
-	<<run cashX(100, "event")>>
+	<<run cashX(100, "event", $activeSlave)>>
 
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
@@ -7555,7 +7557,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You calmly and charitably tell $him that that's acceptable; $he can be $activeSlave.birthName again. $He has the wit to be worried, and $he soon finds that $his fears are not unjustified. You bring $him out to <<if $club>>$clubName<<else>>a public club<</if>>, and explain with equanimity that $he has two choices: $he can either introduce $himself to strangers by name and offer them free oral sex, or $he can be whipped until $he introduces $himself to strangers by name and offers them free oral sex. $His lip quivers a little, but $he stumbles over to a nearby group of local worthies and whimpers hesitantly, "H-hi, my name i<<s>> <<print _name>>, can I <<s>>uck you off, plea<<s>>e?" They laugh, and understanding the situation perfectly, give you a @@.green;grateful wave@@ even as their leader pushes $him to $his knees. For the rest of the week, $he's seeing to $his duties, sleeping, or blowing strangers after telling them $his name. Though $he has reassumed $his birth name, it is @@.gold;no longer any source of independence to $him.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<set $activeSlave.trust -= 5, $activeSlave.oralCount += 50, $activeSlave.publicCount += 50, $activeSlave.slaveName = $activeSlave.birthName>>
 	<<set $oralTotal += 50>>
 	<<if random(1,100) > 50>>The experience has given $him an @@.lightcoral;interest in humiliation.@@<<set $activeSlave.fetishStrength = 10>><<set $activeSlave.fetish = "humiliation">><<set $activeSlave.fetishKnown = 1>><</if>>
@@ -7772,7 +7774,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<</if>>
 	<</if>>
 	<<set $activeSlave.devotion += 4, $activeSlave.publicCount += 20>>
-	<<run cashX(50, "event")>>
+	<<run cashX(50, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 <</if>>
@@ -7803,7 +7805,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	@@.hotpink;$He has become more submissive to you,@@ and @@.green;your reputation has increased.@@
 	<<set $activeSlave.devotion += 4>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<if canDoVaginal($activeSlave)>>
 		<<= VaginalVCheck()>>
 	<<else>>
@@ -7821,8 +7823,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		"One credit per fuck, if you'll do my worthle<<ss>> body on <<s>>tage."
 	<</if>>
 	By the end of the night, $he's been fucked by almost everyone in the bar, and $his itch for humiliation has been well and truly scratched. As you collect $his earnings from the thoroughly pleased bartender, $he lies quiescent in a puddle of cum and exhaustion. @@.yellowgreen;You've collected a decent fee,@@ and @@.green;your reputation has increased.@@
-	<<set $rep += 100>>
-	<<run cashX(100, "event")>>
+	<<run repX(100, "event", $activeSlave)>>
+	<<run cashX(100, "event", $activeSlave)>>
 	<<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>
 		<<set $activeSlave.vaginalCount += 10, $vaginalTotal += 10, $activeSlave.analCount += 10, $analTotal += 10>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
@@ -7936,7 +7938,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			<<= knockMeUp($activeSlave, 25, 0, -2)>>
 		<</if>>
 	<</if>>
-	<<set $rep += 500>>
+	<<run repX(500, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 
@@ -8008,7 +8010,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<replace "#result">>
 		You let $him know you have a sexual accessory for $him to use. This isn't too unusual, so $he comes to your office without much anticipation. $He doesn't understand why you have an enormous sealed canister of fresh cum on your desk, but when you explain that it's $hers to play with on the job, $he starts to bounce with excitement. Not all of $his customers are interested in cum play, but quite a few are, and $he spends almost as much time cleaning up the gorgeous messes that get made as $he does making them. It's a valuable and @@.yellowgreen;profitable@@ whore who @@.hotpink;looks forward@@ to $his next customer.
 		<<set $activeSlave.devotion += 10>>
-		<<run cashX(random(500,1000), "event")>>
+		<<run cashX(random(500,1000), "event", $activeSlave)>>
 		<</replace>>
 <</link>>
 <</if>>
@@ -8460,7 +8462,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<else>>
 		You scoop $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you walk outside brings $him to climax within a few steps. You take your time and stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<else>>explaining the sights as $activeSlave.slaveName soaks in the sounds and smells $he now requires assistance to experience<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you walking around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@
 	<</if>>
-	<<set $activeSlave.devotion += 4, $rep += 100>>
+	<<set $activeSlave.devotion += 4>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<if canDoVaginal($activeSlave)>>
 		<<= VaginalVCheck()>>
 	<<else>>
@@ -8572,7 +8575,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		The only slightly embarrassing incident is when $he's standing up to rally the crowd behind $him, cheering while swinging $his absurd belly back and forth and accidentally smashes into a concession vendor sending them to the floor. $His efforts to help him up forces $him to stand in such a way that $his <<if ($activeSlave.butt > 5)>>massive ass<<elseif ($activeSlave.butt > 2)>>big butt<<else>>nice ass<</if>> lifts $his skirt up enough that the players below can clearly see $his <<if ($activeSlave.anus > 2)>>big slit of an asspussy<<elseif ($activeSlave.anus > 1)>>nice asspussy<<elseif $activeSlave.anus > 0>>tight asshole<<else>>virgin asshole<</if>><<if $activeSlave.vagina > 3>> and gaping pussy<<elseif $activeSlave.vagina > 2>> and used pussy<<elseif $activeSlave.vagina > 1>> and lovely pussy<<elseif $activeSlave.vagina > 0>> and tight pussy<<elseif $activeSlave.vagina == 0>> and virgin pussy<</if>>.
 	<</if>>
 	A player from the visiting team is distracted enough to blow a play. Any fans who might have been inclined to disapprove forget their objections when the home team capitalizes on the mistake to score.
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Put the old whore in $his place">>
@@ -8601,7 +8604,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		slapping $him until $he cries and then making out with the weeping whore. Much later, $activeSlave.slaveName limps tiredly into your office and gives you your @@.yellowgreen;<<print cashFormat(200)>>.@@ You ask $him how $he's feeling, and $he mumbles, "I'm OK, <<Master>>. My jaw kinda hurt<<s>> and my leg<<s>> are really <<s>>ore."
 	<</if>>
 	You tell $him that's of little concern, since $he has relatively few years of use left: you may as well extract what value you can from $him. $He's too exhausted to hide $his response, and collapses, @@.gold;sobbing.@@
-	<<run cashX(200, "event")>>
+	<<run cashX(200, "event", $activeSlave)>>
 	<<set $activeSlave.trust -= 5, $activeSlave.publicCount++>>
 	<<if _didAnal == 1>>
 		<<set $activeSlave.analCount++, $activeSlave.anus++, $analTotal++>>
@@ -8736,7 +8739,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		finally climaxes, $he carefully licks $his hands clean, showing off $his enjoyment of $his own taste.
 	<</if>>
 	Authenticity is hard to fake, and the many citizens who saw the broadcast don't doubt @@.green;your ability to train@@ a shameless slut.
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 
@@ -9274,7 +9277,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<if $activeSlave.anus == 0>>
 		The businesswoman considered $his @@.lime;anal cherry@@ a @@.green;respectable offer.@@
 		<<set $activeSlave.anus++>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 	<</if>>
 	<<set $activeSlave.devotion += 3, $activeSlave.trust -= 3, $activeSlave.analCount++, $analTotal++, $activeSlave.oralCount++, $oralTotal++>>
 	<</replace>>
@@ -9666,7 +9669,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	$activeSlave.slaveName <<if canSee($activeSlave)>>is blinded by the silk over $his face<<else>>may not be able to see<</if>>, but $he can still <<if canHear($activeSlave)>>hear the appreciative murmurs<<else>>feel the appreciative presence<</if>> of onlookers as they eye $his magnificent breasts with their $activeSlave.areolaeShape-shaped areolae. $He shivers a little with suppressed pride. @@.hotpink;$His devotion to you has increased,@@ and @@.green;your reputation as a person with unique property grows.@@
 	<<set $activeSlave.devotion += 4>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Use that pride as an advertisement">>
@@ -9674,7 +9677,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<replace "#result">>
 	There's all sorts of business going on in $arcologies[0].name, from flesh rented or bought down to more pedestrian affairs. Advertisement never goes amiss. You place $activeSlave.slaveName naked on a slowly rotating pedestal surrounded by a clear plastiglass tube on a busy thoroughfare in the lower parts of $arcologies[0].name. These devices are often used to display slaves for sale or slave whores for rent; $activeSlave.slaveName is simply identified by your name as arcology owner, which is thus @@.yellowgreen;identified with business prosperity.@@ $He spends the day serving as eye candy for passersby, rotating gently on the pedestal as $he shows off $his body, giving pride of place to $his $activeSlave.areolaeShape-shaped areolae. $He loves all the attention, and @@.hotpink;$his devotion to you has increased.@@
 	<<set $activeSlave.devotion += 4>>
-	<<run cashX(100, "event")>>
+	<<run cashX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 
@@ -11243,7 +11246,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	When $he comes, the milkers detect $his orgasm to your fucking and shunt the milk into different reservoirs. Though you've never been able to taste much difference, there's a belief out there that 'milk-cum,' the squirts of milk a slave milk girl produces when climaxing with $his <<= WrittenMaster()>>, have special aphrodisiac powers. @@.yellowgreen;It can be sold at a special premium.@@ Naturally, @@.hotpink;$his devotion to you has also increased.@@
 	<</replace>>
-	<<run cashX(100, "event")>>
+	<<run cashX(100, "event", $activeSlave)>>
 	<<set $activeSlave.devotion += 4>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 <br><<link "Delay $his milking and then fuck $him in public">>
@@ -11264,7 +11267,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	@@.hotpink;$His submission to you has increased@@ and the @@.green;public certainly appreciated the service.@@
 	<<set $activeSlave.devotion += 4>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 <<if ($activeSlave.nipples == "inverted") || ($activeSlave.nipples == "partially inverted") || $activeSlave.nipples == "fuckable">>
@@ -11331,7 +11334,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<replace "#result">>
 	You give $activeSlave.slaveName no indication that $his public use assignment is about to change. Late in the day, when $his shift would normally end, another of your slaves simply maintains $him as usual and then leaves $his be. $activeSlave.slaveName is so deprived of any way to tell time that $he doesn't realize $he's been left for some time. The first indication $he gets that something's different is when liquid food is squirted down $his throat the next morning. When $he's finally stripped out of the suit at the end of the week, $he's pale and wan and $his holes are puffy and red. @@.red;$His health was damaged.@@ However, $his permanent presence became quite noted. @@.green;Your reputation has increased.@@ And when $he's out of the suit, $he instantly begs you to allow $him to do anything to save $himself from more of that. @@.gold;$His fear of you has increased.@@
 	<</replace>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<set $activeSlave.trust -= 10, $activeSlave.health -= 10, $activeSlave.publicCount += 30>>
 	<<if canDoVaginal($activeSlave)>>
 		<<if canDoAnal($activeSlave)>>
@@ -11461,7 +11464,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		With your cock pumping $his butt as much as you can manage with $him seated in your lap, $his <<if $activeSlave.dick != 0>>dick flops up and down<<if $activeSlave.belly >= 5000>> against the bottom of $his rounded stomach<</if>><<else>>tiny front hole begins to glisten with the promise of a messy little orgasm<</if>>, lewdly advertising $his sexual availability. $He gives so many blowjobs by the time you're finished that $his face, hair, chest and <<if $activeSlave.belly >= 5000>><<if $activeSlave.bellyPreg >= 3000>>pregnant<<else>>_belly<</if>> belly<<else>>even stomach<</if>> are liberally spattered with cum.
 	<</if>>
 	The public is sure to remember this spectacle; @@.green;your reputation has increased.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<if canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount += 5, $vaginalTotal += 5, $activeSlave.publicCount += 5>>
 		<<if $activeSlave.vagina == 0>>
@@ -11954,7 +11957,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	Since you suspect you know what it is $he wants to say, you <<if $activeSlave.amp == 1>>carry $him out<<else>>lead $him by the hand<</if>> onto the club, busy with citizens. You tell $him quietly that $he's to shout whatever it is $he wanted to say, if it's something everyone should hear; otherwise $he's to keep it to $himself. $He <<if canSee($activeSlave)>>looks around<<elseif canHear($activeSlave)>>listens<<else>>opens $his mouth<</if>> nervously, $his $activeSlave.skin skin betraying a growing blush, before clearing $his throat twice, licking $his lips, and howling "I LOVE MY _shoutitoutloud" at the tops of $his lungs. When this is out of $him $he collapses a little, as though the pressure of holding it inside were propping $him up. This attracted a considerable amount of attention, almost all of it @@.green;positive,@@ with many passersby laughing at the fun, and your fellow slaveowners giving you discreet winks and quiet congratulations.
-	<<set $rep += 150>>
+	<<run repX(150, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Keep $him quiet but spend some time with $him">>
@@ -11987,7 +11990,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You thank $him kindly, tell $him to put $his offering on your desk, and go back to your work. $He flees, and once $he's gone, you <<if $HeadGirl != 0>>have $assistantName pass a note to your Head Girl instructing $him<<else>>instruct $assistantName<</if>> to tighten up your slaves' schedules, since you feel that they have too much time on their hands. Then you direct another slave to return the napkin to its proper place. Your slaves find their spare moments occupied by household minutiae during the coming week, @@.yellowgreen;saving you some money@@ on penthouse and slave upkeep.
-	<<run cashX(2000, "event")>>
+	<<run cashX(2000, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<if $activeSlave.fetishKnown == 1 && $activeSlave.fetish != "none">>
@@ -13236,7 +13239,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		you and $activeSlave.slaveName enjoy the sights while fooling around. While you'd love to use $him, $his chastity keeps you at bay.
 	<</if>>
 	@@.hotpink;$He has become more devoted to you.@@
-	<<set $activeSlave.devotion += 4, $rep += 100>>
+	<<set $activeSlave.devotion += 4>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 
@@ -13650,7 +13654,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		$his poor anal ring tightening.
 	<</if>>
 	The crowd that surrounds you during this noisy spectacle @@.green;is suitably impressed.@@
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<</replace>>
 <</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && canDoAnal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 <</if>>
@@ -14877,7 +14881,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<set $activeSlave.health -= 10, $activeSlave.sexualFlaw = "none">>
 	<<set _oralSeed = random(65,80)>>
 	<<set $activeSlave.oralCount += _oralSeed, $activeSlave.publicCount += _oralSeed, $oralTotal += _oralSeed>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Teach $him to see cum as a reward">>
@@ -15164,7 +15168,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		Cum joins the sweat running off $him.
 	<</if>>
 	The crowd is duly impressed; @@.green;your reputation has increased.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<if $activeSlave.belly < 15000>>
@@ -15172,7 +15176,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You inform $activeSlave.slaveName of your plans and tell $him to get dressed appropriately. $He meets you at the door wearing classy heels and a gorgeous long dress cunningly designed to adhere to $him while $he dances despite the fact that it displays all of one leg, $his entire back<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>, cleavage, and the sides of both breasts. $He has $his hair up in a perfect bun accented with a spray of the latest jewelry, and is wearing severe makeup that makes $him look aristocratic and elegant by turns. The host of the milonga, an old-world tango enthusiast, knows well the social graces and invites you, as the most prominent attendee, to perform the traditional demonstration tango that begins the dance. It goes wonderfully, and the entire party sighs in appreciation as you perform the classic tango. You lower $activeSlave.slaveName<<if $activeSlave.belly >= 10000 || $activeSlave.weight > 130>>'s heavy body<</if>> gracefully and pull $him back up into a close embrace, and breath catches in more than one throat. As tradition dictates $he dances with many partners throughout the night. One concession to Free Cities sensibilities is that the male and female roles in the tango may be filled by anyone, and $activeSlave.slaveName switches flawlessly between playing the female role to the elderly host one dance and the male role to his teenage granddaughter the next. The poor girl spends the rest of the evening staring at $activeSlave.slaveName with $his tongue tied. Whoever $activeSlave.slaveName dances with, $he always subtly shows by glance and gesture that it's you $he truly wants. Everyone is quite envious of you; @@.green;your reputation has increased.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <</if>>
@@ -15216,7 +15220,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	Your tenant knows that abject surrender is his only hope once you make it clear to him that his scheme is known to you. He complies all too eagerly with your demand that he @@.yellowgreen;repay double what he owes.@@
-	<<run cashX(random(150,200)*10, "event")>>
+	<<run cashX(random(150,200)*10, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Require double repayment and spend it on $him">>
@@ -19345,7 +19349,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<set $activeSlave.health -= 10>>
 	<<set _blowBang = random(65,80)>>
 	<<set $activeSlave.oralCount += _blowBang, $activeSlave.publicCount += _blowBang, $oralTotal += _blowBang>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<elseif $arcologies[0].FSPaternalist !== "unset">>
@@ -19375,7 +19379,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	You instruct $assistantName to have $activeSlave.slaveName give the tourists a real Free Cities welcome, as befitting one of your public servants.
 	<br><br>
 	Some time later, you return to the video feed to see $activeSlave.slaveName giving each of the boys a hug goodbye. The boys reciprocate $his affection warmly, even as they try to ignore the fact that $his $activeSlave.skin face and chest are spattered with their cum. $activeSlave.slaveName has certainly given the tourists a crash course in Free Cities culture and @@.green;improved your reputation@@ at the same time.
-	<<set $activeSlave.oralCount += 6, $oralTotal += 6, $rep += 250>>
+	<<set $activeSlave.oralCount += 6, $oralTotal += 6>>
+	<<run repX(250, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<if (canDoVaginal($activeSlave) && $activeSlave.vagina != 0) || (canDoAnal($activeSlave) && $activeSlave.anus != 0)>>
@@ -19463,7 +19468,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<= knockMeUp($activeSlave, 15, 2, 0, 1)>>
 	<</if>>
 	<<set $activeSlave.oralCount += 2, $oralTotal += 2>>
-	<<run cashX(2000, "event")>>
+	<<run cashX(2000, "event", $activeSlave)>>
 	<<set $activeSlave.publicCount += 2>>
 	<</replace>>
 <</link>>
@@ -19997,7 +20002,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		$his poor anal ring tightening.
 	<</if>>
 	The crowd that surrounds you during this noisy spectacle @@.green;is suitably impressed.@@
-	<<set $rep += 250>>
+	<<run repX(250, "event", $activeSlave)>>
 	<<= BothVCheck()>>
 	<</replace>>
 <</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && canDoAnal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index ed153697eea224f23e8c24a3b473e892f433480f..eecd34e234e7d71510a80aef01a03688a78ce182 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -1025,7 +1025,7 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 		They blush crimson and both turn back towards each other, desperate to look anywhere but at the sight of the crowd that just watched them jerk each other off.
 	<</if>>
 	Such honesty is very tough to fake, and the crowd @@.green;knows they just saw real pleasure.@@
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<set $subSlave.oralCount++, $activeSlave.oralCount++>>
 	<<set $oralTotal += 2>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1099,7 +1099,7 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	Rather than answering $him directly, you tell $assistantName to clear $activeSlave.slaveName's and $subSlave.slaveName's schedules for the evening. $He <<if canSee($activeSlave)>>looks<<else>>smiles<</if>> at you with happy anticipation, but is puzzled when you don't give $him any further orders. "Um, thank you, <<Master>>," $he asks hesitantly. "But, I don't under<<s>>tand. What are we going to do?" Whatever you want, you tell $him. $He furrows $his brow, looking troubled, as though the concept is somehow alien to $him. After some thought, $he brightens and asks if $he can go tell $his <<if $activeSlave.relationship >= 5>>wife<<else>>girlfriend<</if>>. $He can, you respond, and the slave bounces over to give you a kiss before running out. It costs you a small sum in upkeep and other trifles to cover an unexpected unavailability of both slaves, but they deserve it. Their busy lives mean that their shifts rarely align exactly, and this is more time than they've had together in a long time. It isn't particularly exciting, but they enjoy themselves. They eat a meal in the kitchen together, watch the sunset from one of the penthouse balconies, make love out there, share a long shower, and then go to bed, spending the rest of the night cuddling and chatting quietly. The next morning, they come to see you hand in hand, and @@.hotpink;thank you in unison.@@ As they leave, $activeSlave.slaveName looks back over $his shoulder at you, and mouths 'that was perfect, <<= WrittenMaster($activeSlave)>>!'
-	<<run cashX(-500, "event")>>
+	<<run cashX(-500, "event", $activeSlave)>>
 	<<set $subSlave.devotion += 2>>
 	<<set $activeSlave.devotion += 2>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1115,7 +1115,7 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 		Rather than answering $him directly, you tell $assistantName to clear $activeSlave.slaveName's and $subSlave.slaveName's schedules for the evening, and then contact $Attendant.slaveName, the Attendant of your Spa, to instruct _himA to expect the two slaves for some quality time together. $Attendant.slaveName, of course, is all for it ("Leave it to me, <<Master $Attendant>>!"). _HeA greets the couple at the steamy entrance to the Spa an hour later, and takes charge of them with a matronly air, telling them to undress and relax.
 		<br><br>
 		It costs you a small sum in upkeep and other trifles to cover an unexpected unavailability of both slaves, but they deserve it, and your Attendant does not disappoint. After the slaves have soaked in the main pool for a while, _heA gives them a series of mud packs, hot rock massages, and skin treatments, always setting them up right next to each other. They chat a bit at first, but soon relax into companionable silence, holding hands and enjoying the pampering.<<if $Attendant.lactation > 0>> $Attendant.slaveName has their evening meal sent down, and supplements it with milk drunk fresh from _hisA own nipples.<</if>> This being your penthouse, _hisA services become quite sexual later in the night, as the Attendant applies all _hisA talents in choosing positions that emphasize $activeSlave.slaveName and $subSlave.slaveName being close to each other<<if $Attendant.bellyPreg >= 10000 && $activeSlave.bellyPreg >= 10000 && $subSlave.bellyPreg >= 10000>>, a difficult task given that they are all heavily pregnant,<<elseif $Attendant.belly >= 10000 && $activeSlave.belly >= 10000 && $subSlave.belly >= 10000>>, a difficult task given how big everyone's bellies are,<</if>> as they share $Attendant.slaveName's body. Much later, the Attendant sends you a brief message relaying their @@.hotpink;heartfelt thanks,@@ which _heA's passing to you because they're asleep together.
-		<<run cashX(-500, "event")>>
+		<<run cashX(-500, "event", $activeSlave)>>
 		<<set $subSlave.devotion += 3>>
 		<<set $activeSlave.devotion += 3>>
 		<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1128,8 +1128,8 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	Rather than answering $him directly, you tell $assistantName to clear $activeSlave.slaveName's and $subSlave.slaveName's schedules for the evening. $He looks at you with happy anticipation, but this is nothing to $his gratitude when you tell $him that you'll arrange a date night for them. Trusted slaves are often seen unchaperoned in your arcology, and there are several establishments that cater to slaveowners who wish to bring their girls out or even send them out alone. You tell $him you've made a reservation for $him and $his <<if $activeSlave.relationship >= 5>>wife<<else>>girlfriend<</if>> at one of the less formal places, an ethnic restaurant that manages to add spice to liquid slave nutrition without ruining its good qualities. They're to spend the night out, and can wear what they like. $He hurries off to collect $his _girl2 and get dressed, but also tries to keep thanking you on $his way out, and almost runs into the door frame as $he goes.
 	<br><br>
 	Since $he trusts you, they dress very daringly for slaves. That is, they dress about as conservatively as slaves can dress, in comfortable pants and soft sweaters whose high collars they roll down to keep their collars visible. Any hesitations citizens who see them might have are banished by their obvious love for each other, and their total lack of shame about having it seen. Indeed, as the night wears on they attract more than a few @@.green;admiring glances@@ from citizens who envy you the favors of the pair of <<if $girl == _girl2>>$girl<<else>>slave<</if>>s occupying one side of the corner booth. After all, they'd rather lean against each other than look at each other from across a table. The next day, they both come to you individually and @@.mediumaquamarine;thank you almost gravely,@@ quite aware of the trust you've placed in them.
-	<<run cashX(-1000, "event")>>
-	<<set $rep += 100>>
+	<<run cashX(-1000, "event", $activeSlave)>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<set $subSlave.trust += 2, $activeSlave.trust += 2>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index e0343b3d91bffee248793c4079957da82f8a0e4d..fe52efb9c09b8b63ccdc9308a3641a0759be8db4 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -179,12 +179,12 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		Eventually she arrives in your penthouse, the perfect image of a demure yet composed princess. Her clearly practiced façade of poise and grace fades under scrutiny, however. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers.
 		<br><br>
-		<<set $rep -= 2000>>
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was sold to you in exchange for aid.">>
 		<<set $activeSlave = _princess>>
 		<<run cashX(-50000, "slaveTransfer", $activeSlave)>>
 		<<include "New Slave Intro">>
 		<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+		<<run repX(-2000, "event", $activeSlave)>>
 	<</replace>>
 <</link>> // You will need to utilize a portion of your reputation and <<print cashFormat(50000)>> to enslave her.//
 <<else>>
@@ -199,11 +199,11 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		Eventually she arrives in your penthouse, the perfect image of a demure yet composed princess. Her clearly practiced façade of poise and grace fades under scrutiny, however. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers.
 		<br><br>
 		<<set $arcologies[0].prosperity -= 15>>
-		<<set $rep -= 18000>>
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set $activeSlave = _princess>>
 		<<include "New Slave Intro">>
 		<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+		<<run repX(-18000, "event", $activeSlave)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
@@ -233,7 +233,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		When he arrives in your penthouse, the former prince is beside himself with rage. When he is brought to be modified in the remote surgery, he breaks free and attempts to fight his way out of your penthouse. His attempt at freedom is futile, however, and he is soon overwhelmed by your guards and dragged back to the remote surgery. It doesn't take long for the valiant prince to become a new dickgirl, though his submission to life as a slave is another question entirely.
 		<br><br>
 		<<set $arcologies[0].prosperity -= 15>>
-		<<set $rep -= 18000>>
+		<<run repX(-18000, "event", $activeSlave)>>
 		<<set _prince.origin = "She was the crown prince of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set $activeSlave = _prince>>
 		<<include "New Slave Intro">>
@@ -249,7 +249,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		Eventually they arrive in your penthouse, faces flushed with embarrassment of their compromising position. The former prince is beside himself with rage, but seems to be holding himself back for his little sister's sake, while she struggles to maintain a façade of poise and grace. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers. However, the prince's submission to life as a slave is another question entirely.
 		<br><br>
 		<<run cashX(-100000, "slaveTransfer", _princess)>>
-		<<set $rep -= 10000>>
+		<<run repX(-10000, "event", _princess)>>
 		/* princess */
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was sold to you in exchange for aid.">>
 		<<set _princess.recruiter = 0>>
@@ -288,7 +288,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		Eventually they arrive in your penthouse, faces flushed with embarrassment of their compromising position. The former prince is beside himself with rage, but seems to be holding himself back for his little sister's sake, while she struggles to maintain a façade of poise and grace. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers. However, the prince's submission to life as a slave is another question entirely.
 		<br><br>
 		<<set $arcologies[0].prosperity -= 15>>
-		<<set $rep -= 18000>>
 		/* princess */
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set _princess.recruiter = 0>>
@@ -302,6 +301,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set _princess.relationTarget = _prince.ID>>
 		<</if>>
 		<<run newSlave(_princess)>> /* skip New Slave Intro */
+		<<run repX(-10000, "event", _princess)>>
 		/* prince */
 		<<set _prince.origin = "She was the crown prince of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set _prince.recruiter = 0>>
@@ -313,6 +313,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set _prince.relationTarget = _princess.ID>>
 		<</if>>
 		<<run newSlave(_prince)>> /* skip New Slave Intro */
+		<<run repX(-8000, "event", _prince)>>
 <</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
@@ -374,7 +375,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		When the ladies arrive at your penthouse, they seem almost relieved at the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over.
 		<br><br>
 		<<set $arcologies[0].prosperity -= 10>>
-		<<set $rep -= 10000>>
 		<<for $i = 0; $i < 3; $i++>>
 			<<set $activeSlaveOneTimeMinAge = 21>>
 			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
@@ -410,6 +410,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
 			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 			<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+			<<run repX(-3333, "event", $activeSlave)>>
 		<</for>>
 	<</replace>>
 <</link>> // You will disliked for this action and trade will be damaged. //
@@ -452,7 +453,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		When the Queen arrives at your penthouse, she seems almost relieved and almost basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>.
 		<br><br>
 		<<set $arcologies[0].prosperity -= 12>>
-		<<set $rep -= 12000>>
 		<<set $activeSlaveOneTimeMinAge = ($fertilityAge+2)>>
 		<<if $pedo_mode == 1>>
 			<<set $activeSlaveOneTimeMaxAge = 24>>
@@ -467,6 +467,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set $activeSlave = _queen>>
 		<<include "New Slave Intro">>
 		<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+		<<run repX(-12000, "event", _queen)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
@@ -514,7 +515,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		Eventually they both arrive in your penthouse. The princess is flushed with embarrassment in her compromising position, struggling to maintain a façade of poise and grace. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers. The Queen, on the other hand, seems almost relieved and basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>.
 		<<set $arcologies[0].prosperity -= 13>>
-		<<set $rep -= 13000>>
 		/* princess */
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was sold for credits.">>
 		<<set _princess.recruiter = 0>>
@@ -527,6 +527,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set _princess.relationTarget = _queen.ID>>
 		<</if>>
 		<<run newSlave(_princess)>> /* skip New Slave Intro */
+		<<run repX(-10000, "event", _princess)>>
 		/*Queen*/
 		<<set _queen.origin = "She was the Queen of a royal kingdom, till her husband was overthrown and she was sold for credits.">>
 		<<set _queen.recruiter = 0>>
@@ -538,6 +539,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set _queen.relationTarget = _princess.ID>>
 		<</if>>
 		<<run newSlave(_queen)>> /* skip New Slave Intro */
+		<<run repX(-3000, "event", _queen)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
@@ -606,7 +608,6 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		Eventually they all arrive in your penthouse. The Queen seems almost relieved and basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>. Meanwhile, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over.
 		<<set $arcologies[0].prosperity -= 13>>
-		<<set $rep -= 13000>>
 		/* ladies */
 		<<for $i = 0; $i < 3; $i++>>
 			<<set $activeSlaveOneTimeMinAge = 21>>
@@ -643,6 +644,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
 			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 			<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+			<<run repX(-3000, "event", $activeSlave)>>
 		<</for>>
 		/*Queen*/
 		<<set _queen.origin = "She was the Queen of a royal kingdom, till her husband was overthrown and she was acquired by "+$SF.Lower+".">>
@@ -652,6 +654,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set _queen.father = $missingParentID>>
 		<<set $missingParentID-->>
 		<<run newSlave(_queen)>> /* skip New Slave Intro */
+		<<run repX(-4000, "event", _queen)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 	<br>//You lack the necessary funds to enslave the Queen and her ladies.//
@@ -739,7 +742,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		Eventually they all arrive in your penthouse. The prince and princess are flushed with embarrassment in their compromising position. The former prince is beside himself with rage, but seems to be holding himself back for his little sister's sake, while she struggles to maintain a façade of poise and grace. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own — all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers. However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand, seems almost relieved and basks in the opulence of her new surroundings. Yet, it seems likely that her relief has more to do with saving her from a lifetime of gang rape at the mercy of her former subjects, than it does the familiar luxury. She submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to her surprise that she is pregnant. Since she hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice she cradles her ever so slightly rounded stomach protectively nonetheless<</if>>. Lastly, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over. You also scored @@.yellowgreen;<<print cashFormat(_loot)>>@@ in valuables from the raid.
 		<<set $arcologies[0].prosperity = 2>>
-		<<set $rep = 0>>
+		<<set _repShares =  Math.trunc($rep/-15)>> /*this event is supposed to end in reputation at 0.  In order to slice up that pie, we find shares of "everything" here and give them out later, before finally setting leftovers to 0. 3 ladies at one share each, +3 for prince, +4 for queen, +5 for princess is 15 shares.*/
+
 		/* ladies */
 		<<for $i = 0; $i < 3; $i++>>
 			<<set $activeSlaveOneTimeMinAge = 21>>
@@ -776,6 +780,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
 			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 			<<set $activeSlave.recruiter = 0>> /* override New Slave Intro */
+			<<run repX((1*_repShares), "event", $activeSlave)>>
 		<</for>>
 		/* princess */
 		<<set _princess.origin = "She was a princess of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
@@ -784,12 +789,14 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set _princess.father = $missingParentID>>
 		<<set $missingParentID-->>
 		<<run newSlave(_princess)>> /* skip New Slave Intro */
+		<<run repX((5*_repShares), "event", $activeSlave)>>
 		/* prince */
 		<<set _prince.origin = "She was the crown prince of a royal kingdom, till her family was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set _prince.recruiter = 0>>
 		<<set _prince.mother = _princess.mother>>
 		<<set _prince.father = _princess.father>>
 		<<run newSlave(_prince)>> /* skip New Slave Intro */
+		<<run repX((3*_repShares), "event", $activeSlave)>>
 		/*Queen*/
 		<<set _queen.origin = "She was the Queen of a royal kingdom, till her husband was overthrown and she was acquired by "+$SF.Lower+".">>
 		<<set _queen.recruiter = 0>>
@@ -798,6 +805,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set _queen.father = $missingParentID>>
 		<<set $missingParentID-->>
 		<<run newSlave(_queen)>> /* skip New Slave Intro */
+		<<run repX((4*_repShares), "event", $activeSlave)>>
+		<<run repX(0-$rep, "event")>> /*Round off any remaining rep due to the trunc on shares*/
 	<</replace>>
 <</link>> //You will be loathed for this action and trade will be crippled.//
 <</if>>
diff --git a/src/uncategorized/arcadeReport.tw b/src/uncategorized/arcadeReport.tw
index 032e4a71b79f1ba5bbbecc8993335f05299e6a36..7a3ee3dd37d26697a3416c658e0831dcf01c59fa 100644
--- a/src/uncategorized/arcadeReport.tw
+++ b/src/uncategorized/arcadeReport.tw
@@ -196,9 +196,9 @@
 	The arcade makes you @@.yellowgreen;<<print cashFormat(_profits)>>@@ from selling the inmates' holes<<if ($arcadeUpgradeCollectors > 0)>> and @@.yellowgreen;<<print cashFormat(_milkprofits)>>@@ from selling the fluids they produced<</if>> this week.
 	<<if ($arcologies[0].FSDegradationist > 20)>>
 	<<elseif ($arcologies[0].FSPaternalist > 20)>>
-		<<set $repGain -= Math.trunc(_profits/20)>>
+		<<run repX(forceNeg(Math.trunc(_profits/20)), "arcade")>>
 	<<else>>
-		<<set $repGain -= Math.trunc(_profits/100)>>
+		<<run repX(forceNeg(Math.trunc(_profits/100)), "arcade")>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index 341898f37d523d3bac3f4ffe70cf5041a4c2bdc3..6713874ab21bd0454c582687f2f239629875bbbb 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -1406,7 +1406,7 @@ earning you @@.yellowgreen;<<print cashFormat(_menialEarnings + _bioreactorEarni
 	<br>
 	The Slave School has a <<if $TSS.schoolProsperity > 4>>very prosperous<<elseif $TSS.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch campus in $arcologies[0].name.
 	<<if $TSS.schoolProsperity >= 10>>
-		It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+		It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 		<<set $TSS.subsidize = 0>>
 		<<set $TSS.schoolProsperity = 10>>
 	<</if>>
@@ -1423,7 +1423,7 @@ earning you @@.yellowgreen;<<print cashFormat(_menialEarnings + _bioreactorEarni
 <br>
 The Growth Research Institute has a <<if $GRI.schoolProsperity > 4>>very prosperous<<elseif $GRI.schoolProsperity < -4>>struggling<<else>>thriving<</if>> subsidiary lab in $arcologies[0].name.
 <<if $GRI.schoolProsperity >= 10>>
-	It is one of the finest research facilities in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	It is one of the finest research facilities in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $GRI.subsidize = 0, $GRI.schoolProsperity = 10>>
 <</if>>
 <<if $GRI.subsidize == 1>>
@@ -1439,7 +1439,7 @@ The Growth Research Institute has a <<if $GRI.schoolProsperity > 4>>very prosper
 <br>
 The Cattle Ranch has a <<if $TCR.schoolProsperity > 4>>very prosperous<<elseif $TCR.schoolProsperity < -4>>struggling<<else>>thriving<</if>> local pasture in $arcologies[0].name.
 <<if $TCR.schoolProsperity >= 10>>
-	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $TCR.subsidize = 0, $TCR.schoolProsperity = 10>>
 <</if>>
 <<if $TCR.subsidize == 1>>
@@ -1455,7 +1455,7 @@ The Cattle Ranch has a <<if $TCR.schoolProsperity > 4>>very prosperous<<elseif $
 <br>
 St. Claver Preparatory has a <<if $SCP.schoolProsperity > 4>>very prosperous<<elseif $SCP.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch campus in $arcologies[0].name.
 <<if $SCP.schoolProsperity >= 10>>
-	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $SCP.subsidize = 0, $SCP.schoolProsperity = 10>>
 <</if>>
 <<if $SCP.subsidize == 1>>
@@ -1471,7 +1471,7 @@ St. Claver Preparatory has a <<if $SCP.schoolProsperity > 4>>very prosperous<<el
 <br>
 L'École des Enculées has a <<if $LDE.schoolProsperity > 4>>very prosperous<<elseif $LDE.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch campus in $arcologies[0].name.
 <<if $LDE.schoolProsperity >= 10>>
-	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $LDE.subsidize = 0, $LDE.schoolProsperity = 10>>
 <</if>>
 <<if $LDE.subsidize == 1>>
@@ -1487,7 +1487,7 @@ L'École des Enculées has a <<if $LDE.schoolProsperity > 4>>very prosperous<<el
 <br>
 The Gymnasium-Academy has a <<if $TGA.schoolProsperity > 4>>very prosperous<<elseif $TGA.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch campus in $arcologies[0].name.
 <<if $TGA.schoolProsperity >= 10>>
-	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $TGA.subsidize = 0, $TGA.schoolProsperity = 10>>
 <</if>>
 <<if $TGA.subsidize == 1>>
@@ -1503,7 +1503,7 @@ The Gymnasium-Academy has a <<if $TGA.schoolProsperity > 4>>very prosperous<<els
 <br>
 The Futanari Sisters have a <<if $TFS.schoolProsperity > 4>>very prosperous<<elseif $TFS.schoolProsperity < -4>>struggling<<else>>thriving<</if>> community in $arcologies[0].name.
 <<if $TFS.schoolProsperity >= 10>>
-	They are one of the most renowned futa societies in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	They are one of the most renowned futa societies in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $TFS.subsidize = 0, $TFS.schoolProsperity = 10>>
 <</if>>
 <<if $TFS.subsidize == 1>>
@@ -1519,7 +1519,7 @@ The Futanari Sisters have a <<if $TFS.schoolProsperity > 4>>very prosperous<<els
 <br>
 The Hippolyta Academy have a <<if $HA.schoolProsperity > 4>>very prosperous<<elseif $HA.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch in $arcologies[0].name.
 <<if $HA.schoolProsperity >= 10>>
-	They are one of the most famous schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<set $rep += 200>><</if>>
+	They are one of the most famous schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>>
 	<<set $HA.subsidize = 0, $HA.schoolProsperity = 10>>
 <</if>>
 <<if $HA.subsidize == 1>>
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index 9fbdf33518bef1e9c418634e4e3c121fab3d7379..ca4ced6783b7367201a3a534561727b437c9fae4 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -534,23 +534,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 			<<run cashX(_adsIncome, "brothelAds")>>
 			Its advertising for <<if _ads == 1>>stacked <<elseif _ads == -1>>trim <</if>>girls matched most customers' preferences and the girls in the brothel matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>stacked <<elseif _ads == -1>>trim <</if>>girls matched most customers preferences, but most of the girls in the brothel were not as advertised. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>stacked <<elseif _girls == -1>>trim <</if>>girls in the brothel did not match its advertisements, but since the girls in the brothel matched most customers preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>stacked <<elseif _girls == -1>>trim <</if>>girls there did not match their preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>stacked <<elseif _girls == -1>>trim <</if>>girls in the brothel match most customers' preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>stacked <<elseif _girls == -1>>trim <</if>>girls there did not match their preferences for <<if _pref == 1>>large <<elseif _pref == -1>>slim <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<</if>>
 
@@ -603,23 +603,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 			<<run cashX(_adsIncome, "brothelAds")>>
 			Its advertising for <<if _ads == 1>>pregnant <<elseif _ads == -1>>flat-bellied <</if>>girls matched most customers' preferences and the girls in the brothel matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>pregnant <<elseif _ads == -1>>flat-bellied <</if>>girls matched most customers preferences, but the girls in the brothel did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the brothel did not match its advertisements, but since the girls in the brothel matched most customers preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls there did not match their preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the brothel match most customers' preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls there did not match their preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<</if>>
 
@@ -672,23 +672,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 			<<run cashX(_adsIncome, "brothelAds")>>
 			Its advertising for <<if _ads == 1>>heavily modified <<elseif _ads == -1>>natural bodied <</if>>girls matched most customers' preferences and the girls in the brothel matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>heavily modified <<elseif _ads == -1>>natural bodied <</if>>girls matched most customers preferences, but the girls in the brothel did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>heavily modified <<elseif _girls == -1>>natural bodied <</if>>girls in the brothel did not match its advertisements, but since the girls in the brothel matched most customers preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>heavily modified <<elseif _girls == -1>>natural bodied <</if>>girls there did not match their preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>heavily modified <<elseif _girls == -1>>natural bodied <</if>>girls in the brothel match most customers' preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural unmodded <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>heavily modified <<elseif _girls == -1>>natural bodied <</if>>girls there did not match their preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<</if>>
 
@@ -741,23 +741,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 			<<run cashX(_adsIncome, "brothelAds")>>
 			Its advertising for <<if _ads == 1>>implanted or surgically improved <<elseif _ads == -1>>naturally pure <</if>>girls matched most customers' preferences and the girls in the brothel matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>implanted or surgically improved <<elseif _ads == -1>>naturally pure <</if>>girls matched most customers preferences, but the girls in the brothel did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls in the brothel did not match its advertisements, but since the girls in the brothel matched most customers preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls there did not match their preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls in the brothel match most customers' preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>natural unmodded <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls there did not match their preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<</if>>
 
@@ -809,23 +809,23 @@
 				<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 				<<run cashX(_adsIncome, "brothelAds")>>
 				Its advertising for girls <<if _ads == 1>>with pussies <<elseif _ads == -1>>with dicks <</if>> matches most customers' preferences as advertised. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 			<<elseif (_ads == _pref) && (_girls != _ads)>>
 				Its advertising for girls <<if _ads == 1>>with pussies <<elseif _ads == -1>>with dicks <</if>> matched most customers preferences, but the girls in the brothel are not as advertised. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 			<<elseif (_girls == _pref) && (_girls != _ads)>>
 				The girls <<if _girls == 1>> with pussies<<elseif _girls == -1>> with dicks<</if>> in the brothel did not match the advertisements, but since the girls in the brothel matched most customers preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>, your reputation was not affected.
 			<<elseif (_girls != _pref)>>
 				Some customers were put off since the girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>> did not match their preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 			<</if>>
 		<<else>>
 			<<if (_girls == _pref)>>
 				The girls in the brothel match most customers preferences for girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>>. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 			<<else>>
 				Some customers were put off since the girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>> did not match their preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -886,23 +886,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.brothel.adsIncome += _adsIncome, _brothelBonuses++>>
 			<<run cashX(_adsIncome, "brothelAds")>>
 			Its advertising matches most customers' age preferences and the girls in the brothel match the ages as advertised. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising matched most customers age preferences, but the girls in the brothel are not as advertised. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The ages of girls in the brothel did not match the ages as advertised, but since the girls in the brothel matched most customers age preferences, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the ages of girls there did not match their preferences. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The girls in the brothel match most customers' age preferences. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "brothel")>>
 		<<else>>
 			Some customers were put off since the ages of girls there did not match their preferences. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "brothel")>>
 		<</if>>
 	<</if>>
 
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index 7346c103b80389d2e570365028d9bec4b6524a88..1ac71de6f8341ab34a7191aaee4d2776c33f8233 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -117,7 +117,7 @@
 			<<else>>
 				<<silently>><<include "SA serve the public">><</silently>>
 			<</if>>
-			<<set $repGain += Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[_FLs].entertainSkill))*0.1*0.5)>>
+			<<run repX(Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[_FLs].entertainSkill))*0.1*0.5), "club", $slaves[_FLs])>>
 		<</if>>
 	<</if>>
 	<<if (_DL > 0)>><br><br><</if>>
@@ -333,7 +333,8 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsStacked == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_slim > 0) && (_stacked > 0) && (Math.abs(_slim-_stacked) <= (_DL/3))>>
-				<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+				<<set $clubBonuses++>>
+				<<run repX(_DL*random(5,10), "club")>>
 				There is a @@.green;wide@@ variety of slim and stacked slaves working the club.
 				<</if>>
 			<</if>>
@@ -357,23 +358,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 			<<run cashX(_adsIncome, "clubAds")>>
 			Its advertising for <<if _ads == 1>>stacked <<elseif _ads == -1>>slim <</if>>girls matched most customers' preferences and the girls in the club matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>stacked <<elseif _ads == -1>>slim <</if>>girls matched most customers preferences, but the girls in the club did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>stacked <<elseif _girls == -1>>slim <</if>>girls in the club did not match its advertisements, but since the girls in the club matched most customers preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>stacked <<elseif _girls == -1>>slim <</if>>girls there did not match their preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>stacked <<elseif _girls == -1>>slim <</if>>girls in the club match most customers' preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>stacked <<elseif _girls == -1>>slim <</if>>girls there did not match their preferences for <<if _pref == 1>>stacked <<elseif _pref == -1>>slim <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<</if>>
 
@@ -401,7 +402,8 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsModded == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_modded > 0) && (_unmodded > 0) && (Math.abs(_modded-_unmodded) <= (_DL/3))>>
-				<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+				<<set $clubBonuses++>>
+				<<run repX(_DL*random(5,10), "club")>>
 				There are @@.green;both@@ heavily pierced and tattooed slaves and slaves with more natural bodies filling the club.
 				<</if>>
 			<</if>>
@@ -425,23 +427,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 			<<run cashX(_adsIncome, "clubAds")>>
 			Its advertising for <<if _ads == 1>>heavily modded <<elseif _ads == -1>>natural bodied <</if>>girls matched most customers' preferences and the girls in the club matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>heavily modded <<elseif _ads == -1>>natural bodied <</if>>girls matched most customers preferences, but the girls in the club did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>heavily modded <<elseif _girls == -1>>natural bodied <</if>>girls in the club did not match its advertisements, but since the girls in the club matched most customers preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>heavily modded <<elseif _girls == -1>>natural bodied <</if>>girls there did not match most customers preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>heavily modded <<elseif _girls == -1>>natural bodied <</if>>girls in the club match most customers' preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural unmodded <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>heavily modded <<elseif _girls == -1>>natural bodied <</if>>girls there did not match most customers preferences for <<if _pref == 1>>heavily modded <<elseif _pref == -1>>natural bodied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<</if>>
 
@@ -469,7 +471,8 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsImplanted == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_implanted > 0) && (_pure > 0) && (Math.abs(_implanted-_pure) <= (_DL/3))>>
-				<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+				<<set $clubBonuses++>>
+				<<run repX(_DL*random(5,10), "club")>>
 				Citizens in $clubName can easily find @@.yellowgreen;both@@ all-natural girls, and slaves whose beauty has been improved by surgical means.
 				<</if>>
 			<</if>>
@@ -493,23 +496,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 			<<run cashX(_adsIncome, "clubAds")>>
 			Its advertising for <<if _ads == 1>>implanted or surgically improved <<elseif _ads == -1>>naturally pure <</if>>girls matched most customers' preferences and the girls in the club matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising for <<if _ads == 1>>implanted or surgically improved <<elseif _ads == -1>>naturally pure <</if>>girls matched most customers preferences, but the girls in the club did not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls in the club did not match its advertisements, but since the girls in the club matched most customers preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls, your reputation was not affected.
 		<<elseif (_girls != _pref)>>
 			Some customers were put off since the <<if _girls == 1>>implanted and surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls there did not match their preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The <<if _girls == 1>>implanted or surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls in the club match most customers' preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>natural unmodded <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<else>>
 			Some customers were put off since the <<if _girls == 1>>implanted and surgically improved <<elseif _girls == -1>>naturally pure <</if>>girls there did not match their preferences for <<if _pref == 1>>implanted or surgically improved <<elseif _pref == -1>>naturally pure <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<</if>>
 
@@ -537,7 +540,8 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsXX == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_XX > 0) && (_XY > 0) && (Math.abs(_XX-_XY) <= (_DL/3))>>
-				<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+				<<set $clubBonuses++>>
+				<<run repX(_DL*random(5,10), "club")>>
 				The club offers a @@.green;mix@@ of sluts that can appeal to varied tastes in genitalia.
 				<</if>>
 			<</if>>
@@ -560,23 +564,23 @@
 				<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 				<<run cashX(_adsIncome, "clubAds")>>
 				Its advertising for girls <<if _ads == 1>>with pussies <<elseif _ads == -1>>with dicks <</if>> matches most customers' preferences as advertised. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "club")>>
 			<<elseif (_ads == _pref) && (_girls != _ads)>>
 				Its advertising for girls <<if _ads == 1>>with pussies <<elseif _ads == -1>>with dicks <</if>> matched most customers preferences, but the girls in the club are not as advertised. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<<elseif (_girls == _pref) && (_girls != _ads)>>
 				The girls <<if _girls == 1>> with pussies<<elseif _girls == -1>> with dicks<</if>>in the club did not match the advertisements, but since the girls in the club matched most customers preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>, your reputation was not affected.
 			<<elseif (_girls != _pref)>>
 				Some customers were put off since the girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>> did not match their preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<</if>>
 		<<else>>
 			<<if (_girls == _pref)>>
 				The girls in the club match most customers preferences for girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>>. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "club")>>
 			<<else>>
 				Some customers were put off since the girls <<if _girls == 1>>with female genitalia <<elseif _girls == -1>>with male genitalia <</if>> did not match their preferences for girls<<if _pref == 1>> with pussies<<elseif _pref == -1>> with dicks<</if>>. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -612,7 +616,8 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsOld == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_young > 0) && (_old > 0) && (Math.abs(_young-_old) <= (_DL/3))>>
-				<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+				<<set $clubBonuses++>>
+				<<run repX(_DL*random(5,10), "club")>>
 				There are girls @@.green;both@@ young and mature in $clubName.
 				<</if>>
 			<</if>>
@@ -636,23 +641,23 @@
 			<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 			<<run cashX(_adsIncome, "clubAds")>>
 			Its advertising matches most customers' age preferences and the girls in the club match the ages as advertised. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<elseif (_ads == _pref) && (_girls != _ads)>>
 			Its advertising matched most customers age preferences, but the girls in the club do not. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<<elseif (_girls == _pref) && (_girls != _ads)>>
 			The ages of girls in the club did not match the ages as advertised, but since the girls in the club matched most customers age preferences, your reputation was not affected.
 		<<elseif (_girls != _pref) && (_girls == _ads)>>
 			Some customers were put off since the ages of girls there did not match their preferences. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<<else>>
 		<<if (_girls == _pref)>>
 			The girls in the club match most customers' age preferences. Your @@.green;reputation@@ increased slightly as a result.
-			<<set $rep += random(_minBonus,_maxBonus)>>
+			<<run repX(random(_minBonus,_maxBonus), "club")>>
 		<<else>>
 			Some customers were put off since the ages of girls there did not match their preferences. Your @@.red;reputation@@ dropped slightly as a result.
-			<<set $rep -= random(_minBonus,_maxBonus)>>
+			<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 		<</if>>
 	<</if>>
 
@@ -681,7 +686,8 @@
 				<<if ($clubAdsSpending == 0) || ($clubAdsPreg == 0)>>
 					<<set _possibleBonuses++>>
 					<<if (_pregYes > 0) && (_pregNo > 0) && (Math.abs(_pregYes-_pregNo) <= (_DL/3))>>
-					<<set $repGain += _DL*random(5,10), $clubBonuses++>>
+					<<set $clubBonuses++>>
+					<<run repX(_DL*random(5,10), "club")>>
 					There is a @@.green;wide@@ selection of slaves with a variety of middles working the club.
 					<</if>>
 				<</if>>
@@ -705,29 +711,29 @@
 				<<set _adsIncome = _DL*random(20,30), $facility.club.adsIncome += _adsIncome, _clubBonuses++>>
 				<<run cashX(_adsIncome, "clubAds")>>
 				Its advertising for <<if _ads == 1>>pregnant <<elseif _ads == -1>>flat-bellied <</if>>girls matched most customers' preferences and the girls in the club matched its advertisements. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "club")>>
 			<<elseif (_ads == _pref) && (_girls != _ads)>>
 				Its advertising for <<if _ads == 1>>pregnant <<elseif _ads == -1>>flat-bellied <</if>>girls matched most customers preferences, but the girls in the club did not. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<<elseif (_girls == _pref) && (_girls != _ads)>>
 				The <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the club did not match its advertisements, but since the girls in the club matched most customers preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls, your reputation was not affected.
 			<<elseif (_girls != _pref)>>
 				Some customers were put off since the <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the club did not match their preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<</if>>
 		<<else>>
 			<<if (_girls == _pref)>>
 				The <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the club match most customers' preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.green;reputation@@ increased slightly as a result.
-				<<set $rep += random(_minBonus,_maxBonus)>>
+				<<run repX(random(_minBonus,_maxBonus), "club")>>
 			<<else>>
 				Some customers were put off since the <<if _girls == 1>>pregnant <<elseif _girls == -1>>flat-bellied <</if>>girls in the club did not match their preferences for <<if _pref == 1>>fecund <<elseif _pref == -1>>flat-bellied <</if>>girls. Your @@.red;reputation@@ dropped slightly as a result.
-				<<set $rep -= random(_minBonus,_maxBonus)>>
+				<<run repX(forceNeg(random(_minBonus,_maxBonus)), "club")>>
 			<</if>>
 		<</if>>
 	<</if>>
 
 	<<if (_possibleBonuses > 0) && ($clubBonuses >= _possibleBonuses)>>
-		<<set $repGain += _DL*random(10,15)>>
+		<<run repX(_DL*random(10,15), "club")>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		There is a ''@@.green;perfect variety@@'' of slaves serving the public from $clubName.
 	<<else>>
diff --git a/src/uncategorized/costsBudget.tw b/src/uncategorized/costsBudget.tw
index cc4ef2ef2f1f08b78c182f8e6f6caa2d6db4a2ac..792f8ff24d8ca4dd74c41ca2fd2819a6a970e0fc 100644
--- a/src/uncategorized/costsBudget.tw
+++ b/src/uncategorized/costsBudget.tw
@@ -108,36 +108,6 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		</tr>
 	<</if>>
 
-	<<if $lastWeeksCashIncome.fucktoy || $lastWeeksCashExpenses.fucktoy>>
-		<tr>
-			<td>Fucktoys <<if $Concubine != 0>>including your concubine <</if>>($fuckSlaves slaves)</td>
-			<td>
-				<<if $lastWeeksCashIncome.fucktoy > 0>>		/* TODO: not sure what to do for these */
-					@@.green;$lastWeeksCashIncome.fucktoy rep@@
-				<<else>>
-					$lastWeeksCashIncome.fucktoy rep
-				<</if>>
-			</td>
-			<td>
-				<<if Math.trunc($lastWeeksCashExpenses.fucktoy) < 0>>
-					@@.red;-<<print cashFormat(Math.abs(Math.trunc($lastWeeksCashExpenses.fucktoy)))>>@@
-				<<else>>
-					<<print cashFormat(Math.trunc($lastWeeksCashExpenses.fucktoy))>>
-				<</if>>
-			</td>
-			<td>
-				<<set $lastWeeksCashProfits.fucktoy = (+ $lastWeeksCashExpenses.fucktoy)>>
-				<<if $lastWeeksCashProfits.fucktoy > 0>>
-					@@.yellowgreen;+<<print cashFormat(Math.trunc($lastWeeksCashProfits.fucktoy))>>@@
-				<<elseif Math.trunc($lastWeeksCashProfits.fucktoy) == 0>>
-					<<print cashFormat(Math.trunc($lastWeeksCashProfits.fucktoy))>>
-				<<else>>
-					@@.red;-<<print cashFormat(Math.abs(Math.trunc($lastWeeksCashProfits.fucktoy)))>>@@
-				<</if>>
-			</td>
-		</tr>
-	<</if>>
-
 	<<if $lastWeeksCashIncome.houseServant || $lastWeeksCashExpenses.houseServant>>
 		<tr>
 			<td>House servants</td>
@@ -202,10 +172,10 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		<tr>
 			<td>Public servants</td>
 			<td>
-				<<if $lastWeeksCashIncome.publicServant > 0>>	/* TODO: not sure what to do for these */
-					@@.green;$lastWeeksCashIncome.publicServant rep@@
+				<<if $lastWeeksCashIncome.publicServant > 0>>
+					@@.green;$lastWeeksCashIncome.publicServant@@
 				<<else>>
-					$lastWeeksCashIncome.publicServant rep
+					$lastWeeksCashIncome.publicServant
 				<</if>>
 			</td>
 			<td>
@@ -421,10 +391,10 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		<tr>
 			<td>[[$clubNameCaps|Club][$nextButton = "Back to Budget", $nextLink = "Costs Budget"]] ($clubSlaves slaves)</td>
 			<td>
-				<<if $lastWeeksCashIncome.club > 0>>	/* TODO: not sure what to do for these */
-					@@.green;$lastWeeksCashIncome.club rep@@
+				<<if $lastWeeksCashIncome.club > 0>>
+					@@.green;$lastWeeksCashIncome.club@@
 				<<else>>
-					$lastWeeksCashIncome.club rep
+					$lastWeeksCashIncome.club
 				<</if>>
 			</td>
 			<td>
@@ -617,7 +587,7 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 				<<else>>
 					<<print cashFormat(Math.trunc($lastWeeksCashIncome.servantsQuarters))>>
 				<</if>>
-			</td> /*Does not count servants who are serving, only what Stewardess makes.  If I can find savings, perhaps show as negative expense? */
+			</td>
 			<td>
 				<<if Math.trunc($lastWeeksCashExpenses.servantsQuarters) < 0>>
 					@@.red;-<<print cashFormat(Math.abs(Math.trunc($lastWeeksCashExpenses.servantsQuarters)))>>@@
@@ -642,10 +612,10 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		<tr>
 			<td>[[Master Suite][$nextButton = "Back to Budget", $nextLink = "Costs Budget"]] ($masterSuiteSlaves slaves)</td>
 			<td>
-				<<if $lastWeeksCashIncome.masterSuite > 0>>		/* TODO: not sure what to do for these */
-					@@.green;$lastWeeksCashIncome.masterSuite rep@@
+				<<if $lastWeeksCashIncome.masterSuite > 0>>
+					@@.green;$lastWeeksCashIncome.masterSuite@@
 				<<else>>
-					$lastWeeksCashIncome.masterSuite rep
+					$lastWeeksCashIncome.masterSuite
 				<</if>>
 			</td>
 			<td>
@@ -1023,7 +993,7 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 	</tr>
 
 	<tr>
-		<td>[[Slave maintenance|Costs Report][$nextButton = "Back to Budget", $nextLink = "Costs Budget"]] ($slaves.length slaves)</td>
+		<td>[[Slave maintenance|Costs Report Slaves][$nextButton = "Back to Budget", $nextLink = "Costs Budget"]] ($slaves.length slaves)</td>
 		<td>
 			<<if Math.trunc($lastWeeksCashIncome.slaveUpkeep) > 0>>
 				@@.yellowgreen;+<<print cashFormat(Math.trunc($lastWeeksCashIncome.slaveUpkeep))>>@@
@@ -2237,36 +2207,6 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		<</if>>
 	<</if>>
 
-	<<if $lastWeeksCashIncome.recruiter || $lastWeeksCashExpenses.recruiter>>
-		<tr>
-			<td>__Recruiting__</td>
-			<td>
-				<<if Math.trunc($lastWeeksCashIncome.recruiter) > 0>>
-					@@.yellowgreen;+<<print cashFormat(Math.trunc($lastWeeksCashIncome.recruiter))>>@@
-				<<else>>
-					<<print cashFormat(Math.trunc($lastWeeksCashIncome.recruiter))>>
-				<</if>>
-			</td>
-			<td>
-				<<if Math.trunc($lastWeeksCashExpenses.recruiter) < 0>>
-					@@.red;-<<print cashFormat(Math.abs(Math.trunc($lastWeeksCashExpenses.recruiter)))>>@@
-				<<else>>
-					<<print cashFormat(Math.trunc($lastWeeksCashExpenses.recruiter))>>
-				<</if>>
-			</td>
-			<td>
-				<<set $lastWeeksCashProfits.recruiter = ($lastWeeksCashIncome.recruiter + $lastWeeksCashExpenses.recruiter)>>
-				<<if $lastWeeksCashProfits.recruiter > 0>>
-					@@.yellowgreen;+<<print cashFormat(Math.trunc($lastWeeksCashProfits.recruiter))>>@@
-				<<elseif Math.trunc($lastWeeksCashProfits.recruiter) == 0>>
-					<<print cashFormat(Math.trunc($lastWeeksCashProfits.recruiter))>>
-				<<else>>
-					@@.red;-<<print cashFormat(Math.abs(Math.trunc($lastWeeksCashProfits.recruiter)))>>@@
-				<</if>>
-			</td>
-		</tr>
-	<</if>>
-
 	<tr><td></td></tr>
 	<tr>
 		<td>Tracked totals</td>
@@ -2357,13 +2297,13 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 </table>
 <</if>>
 
-<<if ndef $lastWeeksErrors>>
-	<<set $lastWeeksErrors = "Errors: ">>
+<<if ndef $lastWeeksCashErrors>>
+	<<set $lastWeeksCashErrors = "Errors: ">>
 <</if>>
 
-<<if $lastWeeksErrors !== "Errors:">>
-	<<link "Reset">>
-		<<set $lastWeeksErrors = "Errors: ">>
+<<if $lastWeeksCashErrors !== "Errors: ">>
+	<<link "Reset">> 
+		<<set $lastWeeksCashErrors = "Errors: ">>
 	<</link>>
-	@@.red;<<print $lastWeeksErrors>>@@
+	@@.red;<<print $lastWeeksCashErrors>>@@
 <</if>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index b8ab38c174a570accc7e25da2229d0b2ebf6f172..71acb6f942c242ce81e7ef69fd797dc0d9050f71 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -1,6 +1,7 @@
 :: Costs Report [nobr]
 
 <<set $nextButton = "Back to Main", $nextLink = "Main",_arcologyCosts = 0>>
+<<set _arcologyCosts = 0>>
 <<if $PCSlutContacts == 0>><<set $PCSlutContacts = 1>><</if>>
 /*
 //Your weekly costs are as follows.//
diff --git a/src/uncategorized/costsReportSlaves.tw b/src/uncategorized/costsReportSlaves.tw
new file mode 100644
index 0000000000000000000000000000000000000000..68276158fa87dfcb7adb8d0ab89bb9287d745226
--- /dev/null
+++ b/src/uncategorized/costsReportSlaves.tw
@@ -0,0 +1,13 @@
+:: Costs Report Slaves [nobr]
+
+<<set _arcologyCosts = 0>>
+<<if $PCSlutContacts == 0>><<set $PCSlutContacts = 1>><</if>>
+
+<<set _total = 0>> <<set _SL = $slaves.length>>
+<<for $i = 0; $i < _SL; $i++>>
+	<<capture $i>>
+	<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
+	[[$slaves[$i].slaveName|Slave Interact][$activeSlave = $slaves[$i]]] will $slaves[$i].assignment.
+	<<SlaveExpenses $slaves[$i]>>
+	<</capture>>
+<</for>>
diff --git a/src/uncategorized/costsWidgets.tw b/src/uncategorized/costsWidgets.tw
index 86a047bdcacab9d51f80a2c23497c9dc74734d23..0a3c538254c17a90aaddb9eca2076e9f10733e14 100644
--- a/src/uncategorized/costsWidgets.tw
+++ b/src/uncategorized/costsWidgets.tw
@@ -2,6 +2,7 @@
 
 <<widget "SlaveExpenses">>
 	<<set _individualCosts = 0>>
+	<<setLocalPronouns $args[0]>>
 	<<switch $args[0].assignment>>
 		<<case "be confined in the arcade">>
 			<<set _livingExpense = ($rulesCost*.75)>>
@@ -410,13 +411,13 @@
 		$args[0].origin<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<</if>>
 	<<if $args[0].slaveCost < 0>>
-		You bought her for: @@.red;<<print cashFormat($args[0].slaveCost)>>@@.
+		You bought $him for: @@.red;<<print cashFormat($args[0].slaveCost)>>@@.
 		<<set _Cost = $args[0].slaveCost>>
 	<<elseif $args[0].slaveCost == 0>>
-		You spent nothing to aquire her.
+		You spent nothing to aquire $him.
 		<<set _Cost = $args[0].slaveCost>>
 	<<else>>
-		You have no record of how much <<if $args[0].origin != 0>>this<<else>>she originally<</if>> cost.
+		You have no record of how much <<if $args[0].origin != 0>>this<<else>>$he originally<</if>> cost.
 		<<set _Cost = 0>>
 	<</if>>
 
@@ -424,30 +425,77 @@
 		<<set _weeksOwned = $week - $args[0].weekAcquired>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<if $args[0].lifetimeCashExpenses < 0>>
-			In her <<if _weeksOwned > 0>>_weeksOwned <<if _weeksOwned == 1>>week<<else>>weeks<</if>><<else>>time<</if>> with you, she has cost @@.red;<<print cashFormat($args[0].lifetimeCashExpenses)>>@@.
+			In $his <<if _weeksOwned > 0>>_weeksOwned <<if _weeksOwned == 1>>week<<else>>weeks<</if>><<else>>time<</if>> with you, $he has cost @@.red;<<print cashFormat($args[0].lifetimeCashExpenses)>>@@.
 			<<set _Expense = $args[0].lifetimeCashExpenses>>
 		<<else>>
-			You have no record of her costing you any ¤.
+			You have no record of $him costing you any ¤.
 			<<set _Expense = 0>>
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<if $args[0].lifetimeCashIncome > 0>>
-			In her <<if _weeksOwned > 0>>_weeksOwned <<if _weeksOwned == 1>>week<<else>>weeks<</if>><<else>>time<</if>> with you, she has earned @@.yellowgreen;<<print cashFormat($args[0].lifetimeCashIncome)>>@@.
+			In $his <<if _weeksOwned > 0>>_weeksOwned <<if _weeksOwned == 1>>week<<else>>weeks<</if>><<else>>time<</if>> with you, $he has earned @@.yellowgreen;<<print cashFormat($args[0].lifetimeCashIncome)>>@@.
 			<<set _Income = $args[0].lifetimeCashIncome>>
 		<<else>>
-			You have no record of her making you any ¤.
+			You have no record of $him making you any ¤.
 			<<set _Income = 0>>
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		Overall,
 		<<if (_Income + _Cost + _Expense) > 0>>
-			you have made @@.yellowgreen;<<print cashFormat(_Income + _Cost + _Expense)>>@@ net from her labors.
+			you have made @@.yellowgreen;<<print cashFormat(_Income + _Cost + _Expense)>>@@ net from $his labors.
 		<<elseif (_Income + _Cost + _Expense) == 0>>
-			she is even in cost and income.
+			$he is even in cost and income.
 		<<else>>
-			she has cost you @@.red;<<print cashFormat(_Income + _Cost + _Expense)>>@@.
+			$he has cost you @@.red;<<print cashFormat(_Income + _Cost + _Expense)>>@@.
+		<</if>>
+
+		/* Reputation: */
+		<<if ($args[0].lifetimeRepIncome != 0 || $args[0].lifetimeRepExpenses != 0)>>
+			<br>
+			<<set _repTotal = ($args[0].lifetimeRepIncome + $args[0].lifetimeRepExpenses)>>
+			<<if($cheatMode == 1 || $debugMode == 1)>>
+				<<if $args[0].lifetimeRepIncome != 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					This week $he has
+					<<if $args[0].lastWeeksRepIncome == 0>>
+						had no positive effect on your reputation, but
+					<<else>>
+						improved your reputation by @@.green;<<print commaNum($args[0].lastWeeksRepIncome)>>@@ and 
+					<</if>>
+					over $his entire time with you, $he gained @@.green;<<print commaNum($args[0].lifetimeRepIncome)>>@@.
+				<</if>>
+				<<if $args[0].lifetimeRepExpenses != 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					This week $he has
+					<<if $args[0].lastWeeksRepExpenses == 0>>
+						had no negative effect on your reputation, but
+					<<else>>
+						lowered your reputation by @@.red;<<print commaNum($args[0].lastWeeksRepExpenses)>>@@ and
+					<</if>>
+					over $his entire time with you, $he cost @@.red;<<print commaNum($args[0].lifetimeRepExpenses)>>@@.
+				<</if>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Overall then, $he has changed your reputation by
+				<<if _repTotal > 0>>
+					@@.green;<<print commaNum(_repTotal)>>@@
+				<<elseif _repTotal < 0>>
+					@@.red;<<print commaNum(_repTotal)>>@@
+				<<else>>
+					<<print commaNum(_repTotal)>>
+				<</if>>				
+			<<else>> /*lowercasedonkey: TODO: I don't like how vague my placeholder is.  Probably need to set up some kind of sliding scale to describe how much rep (roughly) she has made or lost. Need to get a sense of common ranges.*/
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Overall, $he has
+				<<if _repTotal == 0>>
+					had no impact on your reputation.
+				<<elseif _repTotal > 0>>
+					@@.green;increased@@ your reputation.
+				<<elseif _repTotal < 0>>
+					@@.red;decreased@@ your reputation.
+				<</if>>
+			<</if>>
 		<</if>>
 	<</if>>
 <</widget>>
@@ -460,7 +508,6 @@
 whore: 0,
 whoreBrothel: 0,
 rest: 0,
-fucktoy: 0,
 houseServant: 0,
 confined: 0,
 publicServant: 0,
@@ -476,19 +523,19 @@ recruiter: 0,
 
 
 /*Slaves in general*/
-fuckdolls:0,
-menialTrades:0,
+fuckdolls: 0,
+menialTrades: 0,
 menialBioreactors: 0,
 
-slaveTransfer:0,
-fuckdollsTransfer:0,
-menialTransfer:0,
+slaveTransfer: 0,
+fuckdollsTransfer: 0,
+menialTransfer: 0,
 menialBioreactorsTransfer: 0,
 babyTransfer: 0,
 menialRetirement: 0,
 
-slaveMod:0,
-slaveSurgery:0,
+slaveMod: 0,
+slaveSurgery: 0,
 slaveUpkeep: 0,
 birth: 0,
 
@@ -514,30 +561,30 @@ pit: 0,
 environment: 0,
 weather: 0,
 
-mercenaries:0,
+mercenaries: 0,
 peacekeepers: 0,
 specialForces: 0,
 securityExpansion: 0,
 
 
-citizenOrphanage:0,
-privateOrphanage:0,
+citizenOrphanage: 0,
+privateOrphanage: 0,
 
-capEx:0,
+capEx: 0,
 futureSocieties: 0,
 schoolBacking: 0,
 policies: 0,
 
 /*Personal Finance*/
-personalBusiness:0,
-personalLivingExpenses:0,
+personalBusiness: 0,
+personalLivingExpenses: 0,
 PCtraining: 0,
 PCmedical: 0,
 PCskills: 0,
-stocksTraded:0, /*trading*/
-stocks:0, /*share growth*/
-fines:0,
-event:0, /*poker night etc.  Try to file things elsewhere if you can.*/
+stocksTraded: 0, /*trading*/
+stocks: 0, /*share growth*/
+fines: 0,
+event: 0, /*poker night etc.  Try to file things elsewhere if you can.*/
 war: 0,
 
 rents: 0,
@@ -550,4 +597,72 @@ total: 0
 <<set $lastWeeksCashExpenses = clone($lastWeeksCashIncome)>>
 <<set $lastWeeksCashProfits = clone($lastWeeksCashIncome)>>
 
+<</widget>>
+
+
+<<widget "setupLastWeeksRep">>
+/*Feel free to add categories.  Just make sure to display them in costsBudget.tw as well!*/
+<<set $lastWeeksRepIncome = {
+/*Slave Jobs*/
+fucktoy: 0,
+publicServant: 0,
+
+concubine: 0,
+headGirl: 0,
+bodyguard: 0,
+recruiter: 0,
+
+/*Slaves in general*/
+slaveTransfer: 0,
+babyTransfer: 0,
+birth: 0,
+retirement: 0,
+slavesViewOfPC: 0,
+prestigiousSlave: 0,
+vignette: 0,
+porn: 0,
+
+/*Buildings*/
+arcade: 0,
+brothel: 0,
+club: 0,
+publicServantClub: 0,
+clubAds: 0,
+pit: 0,
+servantsQuarters: 0,
+spa: 0,
+
+architecture: 0,
+
+/*Policies*/
+capEx: 0,
+futureSocieties: 0,
+policies: 0,
+war: 0,
+food: 0,
+
+/*Forces */
+peacekeepers: 0,
+specialForces: 0,
+
+/*Personal Finance*/
+personalBusiness: 0,
+PCappearance: 0,
+PCactions: 0, /*actions involving your body: becoming pregnant, etc. */
+PCRelationships: 0,
+SlaveRelationships: 0,
+event: 0, /*poker night etc.  Try to file things elsewhere if you can.*/
+
+/*special*/
+multiplier: 0,
+overflow: 0,
+cheating: 0,
+
+total: 0
+
+}>>
+
+<<set $lastWeeksRepExpenses = clone($lastWeeksRepIncome)>>
+<<set $lastWeeksRepProfits = clone($lastWeeksRepIncome)>>
+
 <</widget>>
\ No newline at end of file
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index 5469e6e86a0ba2318846e3617312d20f15b2fb3b..c6909755b9a052142dc52a5af79182b0e6337f27 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -2,6 +2,9 @@
 
 <<set State.expired.length = 0>>
 
+<<setupLastWeeksCash>>
+<<setupLastWeeksRep>>
+
 <<set $gingering = 0, $oralUseWeight = 5, $vaginalUseWeight = 5, $analUseWeight = 5, $mammaryUseWeight = 1, $penetrativeUseWeight = 1, $inflatedSlavesMilk = 0, $inflatedSlavesCum = 0, $subSlaves = 0>>
 
 <<if $OralEncouragement == 1>>
@@ -109,7 +112,7 @@
 <</if>>
 /% End section: ensure minimum age is set. %/
 
-<<set $TSS.schoolSale = 0, $GRI.schoolSale = 0, $SCP.schoolSale = 0, $LDE.schoolSale = 0, $TGA.schoolSale = 0, $HA.schoolSale = 0, $TFS.schoolSale = 0, $TCR.schoolSale = 0, $independenceDay = 0, $showEncyclopedia = 0, $racialVarieties = [], $shelterGirlsIDs = [], $oldWeek = $week, $cashLastWeek = $cash, $foodLastWeek = $food>>
+<<set $TSS.schoolSale = 0, $GRI.schoolSale = 0, $SCP.schoolSale = 0, $LDE.schoolSale = 0, $TGA.schoolSale = 0, $HA.schoolSale = 0, $TFS.schoolSale = 0, $TCR.schoolSale = 0, $independenceDay = 0, $showEncyclopedia = 0, $racialVarieties = [], $shelterGirlsIDs = [], $oldWeek = $week, $cashLastWeek = $cash, $repLastWeek = $rep, $foodLastWeek = $food>>
 
 <<if $foodMarket > 0>>
 	<<for _f = 0; _f < $slaves.length; _f++>>
@@ -132,9 +135,9 @@
 	<</if>>
 <</if>>
 
-<<setupLastWeeksCash>>
-<<run $slaves.forEach(function(s) { s.lastWeeksCashIncome = 0, s.lastWeeksRepIncome = 0; })>>
-<<set $lastWeeksErrors = "Errors:">>
+<<run $slaves.forEach(function(s) { s.lastWeeksCashIncome = 0, s.lastWeeksRepIncome = 0, s.lastWeeksRepExpenses = 0; })>>
+<<set $lastWeeksCashErrors = "Errors: ">>
+<<set $lastWeeksRepErrors = "Errors: ">>
 
 <<set $retiree = 0>>
 <<set $expiree = 0>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index c5cefdf7c8718fd7d0a15a7a0c220f6e3843733a..cf6be684c9fab00f2ca70a639666eacdcd644256 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -20,7 +20,7 @@
 <<else>>
 	<<goto "Random Nonindividual Event">>
 <</if>>
-<<run cashX(500*$slaves.length, "events")>>
+<<run cashX(500*$slaves.length, "event")>>
 
 Early one morning, you hear convulsive dry heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on curatives has been struck by the mysterious malady and has @@.red;sickened.@@
 <br><br>
@@ -857,7 +857,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 <br><<link "Demand further compensation">>
 	<<replace "#result">>
 	You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation.
-	<<run cashX(500*$slaves.length, "events")>>
+	<<run cashX(500*$slaves.length, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Force surgical repairs">>
@@ -978,7 +978,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 <br><<link "Demand further compensation">>
 	<<replace "#result">>
 	You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation, plenty to deal with the pregnancies.
-		<<run cashX(2000*$slaves.length, "events")>>
+		<<run cashX(2000*$slaves.length, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Force surgical repairs and compensation">>
@@ -1026,7 +1026,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<replace "#result">>
 	You have a word with them, stepping closer and speaking quietly to defuse the situation. You tell them you're aware that they're in a difficult place, but you also explain that the Free Cities are a new and changing place. No one can rely on the old way of doing things any more. You offer to pay each of them a small stipend to help tide them over until they find other employment. They're surprised at your munificence but @@.green;accept it with gratitude.@@
 	<<set $nextButton = "Continue">>
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<run cashX(-1000, "event")>>
 	<<set $PStrip = 2>>
 	<</replace>>
@@ -1036,7 +1036,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	You offer a way out of their situation. They, you suggest, can keep working in the now-vacant shop if they work together to pay the rent. They can move into a couple of vacant rooms nearby that you can easily have set up as a bunkhouse. You'll collect a little more rent, and they'll have a second chance. They @@.green;accept it with gratitude.@@ It's quite likely they'll either fail or have to accept being whores rather than strippers, but that's not your concern. @@.green;Your arcology's prosperity has increased.@@
 	<<set $nextButton = "Continue">>
 	<<set $arcologies[0].prosperity += 1>>
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<<run cashX(-500, "event")>>
 	<<set $PStrip = 3>>
 	<</replace>>
@@ -1065,14 +1065,14 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 		<<replace "#result">>
 		The cubicle _heU takes you back into is small, but clean and well-kept. _HeU gives you a kiss on the cheek. "That's not part of the Arcology Tour. Sorry. Here's the start of the real tour." <<if $PC.dick == 1>>_HeU sucks you to full mast while shucking off _hisU skimpy clothing<<if $PC.vagina == 1>>, giggling appreciatively at your pussy and lavishing attention on it with _hisU hands<</if>>. Then _heU turns around and slides you into _hisU <<if _heU == "he">>ass<<else>>pussy<</if>> with the ease of long practice. After a good long standing fuck, _heU begs you to "finish the tour" in _hisU ass and then "pay the tour guide" by coming in _hisU mouth.<<else>>_HeU giggles. "Tour's a little different for a lady like you, Ma'am. Here," _heU says, and starts to make out with you, pressing you back down onto a bench. _HeU lavishes expert oral attention on your pussy in a series of clever positions that offer every part of _hisU body to you in turn for you to grope, squeeze, and penetrate with your fingers.<</if>> Afterward, as _heU's hurrying back into _hisU clothes, _heU says, "We've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
 		<<set $arcologies[0].prosperity += 2>>
-		<<run cashX(500, "events")>>
+		<<run cashX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Politely decline">>
 		<<replace "#result">>
 		"Aw," _heU says, "you're no fun. Well anyway, we've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
 		<<set $arcologies[0].prosperity += 2>>
-		<<run cashX(500, "events")>>
+		<<run cashX(500, "event")>>
 		<</replace>>
 	<</link>>
 <</if>>
@@ -1085,7 +1085,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<replace "#result">>
 	In a time of uncertainty, the public adores people who protect them. So, in addition to publicly procuring yourself the latest weapons and armor, you update the arcology's drone systems. The security drones' riot cannons can be replaced for easy maintenance, so it's rather easy to provide them with alternate, lethal weaponry that they can switch to if it becomes necessary. $arcologies[0].name becomes known as one of the best-protected in the Free Cities. @@.green;Your reputation has greatly improved.@@
 	<<set $nextButton = "Continue">>
-	<<set $rep += 1500>>
+	<<run repX(1500, "event")>>
 	<<run cashX(-5000, "event")>>
 	<<set $personalArms = 3>>
 	<</replace>>
@@ -1096,7 +1096,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<replace "#result">>
 	In a time of uncertainty, the public looks up to people who project strength. So, you purchase yourself some of the latest armor and weapons, and make sure they are visible in a glass-walled cabinet in your office. Many of your wealthier tenants follow suit. A few of them even emulate your example and practice using these implements once a week. @@.green;Your reputation has improved.@@
 	<<set $nextButton = "Continue">>
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<run cashX(-2000, "event")>> //This will cost <<print cashFormat(2000)>>//
 	<<set $personalArms = 1>>
 	<</replace>>
@@ -1302,14 +1302,14 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 <<link "Agree">>
 	<<replace "#result">>
 	You dispatch your personal VTOL bird immediately. It lands <<if $PAidTarget == "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks and promising to @@.green;spread the word@@ about how you helped them escape, and a wire transfer of their @@.yellowgreen;payment@@ for the airlift.
-	<<run cashX(2000, "events")>>
-	<<set $rep += 100>>
+	<<run cashX(2000, "event")>>
+	<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Do it for free">>
 	<<replace "#result">>
 	You dispatch your personal VTOL bird immediately. It lands <<if $PAidTarget == "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks, and when you refuse their payment for the airlift, they tearfully promise to tell the story of how you @@.green;extended charity@@ to those in need, belying the rumors about slaveowners.
-	<<set $rep += 250>>
+	<<run repX(250, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Airlift them into slavery">>
diff --git a/src/uncategorized/jeSlaveDispute.tw b/src/uncategorized/jeSlaveDispute.tw
index ea848a5cf81ebb5e9b0abf7df9e8fd55c3455282..d297630584541fe40af770276b52a865783dcf1a 100644
--- a/src/uncategorized/jeSlaveDispute.tw
+++ b/src/uncategorized/jeSlaveDispute.tw
@@ -220,22 +220,22 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive a single notice of escrow payment contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two@@ and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although she isn't stupid enough to make a public accusation of corruption, the older woman made use of her few remaining hours of freedom to @@.red;slander@@ your administration of justice.
-		<<set $rep -= 100>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-100, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the older woman">>
 		<<replace "#result">>
 		You settle the dispute in favor of the slave-to-be. She is resigned, knowing that she's now owned by a woman who almost certainly hates her, but her daughter's treatments are assured. The story gets around quickly, @@.green;capturing the hearts@@ of more romantic citizens. The angry slave trader leaves the arcology, @@.red;reducing prosperity.@@
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the slave trader">>
 		<<replace "#result">>
 		You settle the dispute in favor of the slave trader. The story of the mother's enslavement, along with the prompt death of the daughter due to inadequate treatment, gets around the Free Cities, @@.red;appalling@@ more romantic citizens. The trader lets it be known amongst her peers that you do not brook uppity behavior from poor bitches, and that slave traders can expect to do well in your arcology, @@.green;increasing prosperity.@@
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Offer to buy out the contract">>
@@ -244,7 +244,7 @@
 		You offer to simply buy out the contract, taking the slave for yourself, letting the slave trader out of her side of the deal, and providing for the daughter's medical care. The trader lets it be known amongst her peers that you will make things right no matter the cost to yourself, @@.green;increasing prosperity.@@ The story of the mother willing to be enslaved gets around quickly, @@.green;capturing the hearts@@ of more romantic citizens. The mother, meanwhile, presents herself for enslavement, @@.hotpink;very grateful@@ that you've saved her daughter's life.
 		<br><br>
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat($contractCost)>> and give you the slave//
@@ -252,15 +252,15 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive two notices of escrow payments contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two,@@ a clear choice, and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although he isn't stupid enough to make a public accusation of corruption, the loser is proclaiming that he is @@.red;not pleased@@ with your administration of justice.
-		<<set $rep -= 100>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-100, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the accuser">>
 		<<replace "#result">>
 		You settle the dispute in favor of the wealthy accuser. While he is a little disappointed that he didn't get the slave he wanted, he speaks @@.green;positively@@ in public about how you helped protect his investments from potential mismanagement. Slave trading to and from your arcology is @@.red;somewhat lessened@@ however, since the breeder lets it be known that trading in your arcology is a risk.
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the breeder">>
@@ -271,7 +271,7 @@
 		<</if>>
 		While he is satisfied with his future slave, he speaks @@.red;openly@@ in public about how you were so quick to use cheap services to settle the claim instead of listening to his requests. The breeder, however, passes a @@.green;good word@@ around the industry that slavers trading with your arcology can expect to be protected from abusive claims.
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Compromise on the compensation and offer to buy out the deal">>
@@ -280,7 +280,7 @@
 		You offer to buy out the deal, paying the breeder and taking the slave yourself, and passing the child off to the buyer. The citizen gets what he wants and speaks @@.green;kindly@@ in public about how you helped smooth over a rather rough dispute. The breeder sends a @@.green;positive note@@ around the industry to the effect that slavers trading with your arcology can expect to be aided in times of need; though the loss of a star mother always stings.
 		<br><br>
 		<<set $arcologies[0].prosperity += 3>>
-		<<set $rep += 300>>
+		<<run repX(300, "event")>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat($contractCost)>> and give you the slave//
@@ -288,22 +288,22 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive two notices of escrow payments contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two@@ and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although he isn't stupid enough to make a public accusation of corruption, the loser is proclaiming that he is @@.red;not pleased@@ with your administration of justice.
-		<<set $rep -= 100>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-100, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the accuser">>
 		<<replace "#result">>
 		You settle the dispute in favor of the wealthy accuser. He lets you know privately that he recently had a business deal go bad, so he's in a tough cash situation right now; he's so grateful for your assistance in this embarrassing situation that he talks @@.green;effusively@@ for days to anyone who will listen about your good administration of the arcology. Unfortunately, the furious trainer has packed up his equipment and his gelding and left for another arcology, somewhat @@.red;reducing prosperity.@@
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the trainer">>
 		<<replace "#result">>
 		You settle the dispute in favor of the slave trainer. It transpires that the wealthy accuser was no longer wealthy at all, and was looking to get out of the deal; he's furious, and spends a long day @@.red;spewing invectives@@ against you to anyone who will listen before decamping back to the old world. The trainer, on the other hand, lets it be known that you support businessmen, who can trust you to look after their interests, @@.green;increasing prosperity.@@
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Offer to buy out the deal">>
@@ -312,7 +312,7 @@
 		You offer to simply buy out the deal, paying the trainer and taking the slave yourself, and letting the buyer out of the payment. The trainer, on the other hand, lets it be known that you support businessmen, who can trust you to ensure they don't come out second best, @@.green;increasing prosperity.@@ The buyer lets you know privately that he recently had a business deal go bad, so he's in a tough cash situation right now; he's so grateful for your assistance in this embarrassing situation that he talks @@.green;effusively@@ for days to anyone who will listen about your discreet administration of the arcology. The slave, meanwhile, arrives at your penthouse, @@.hotpink;rather hopeful@@ that she's going to a good master.
 		<br><br>
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat($contractCost)>> and give you the slave//
@@ -320,22 +320,22 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive two notices of escrow payments contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two@@ and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although he isn't stupid enough to make a public accusation of corruption, the loser is proclaiming that he is @@.red;not pleased@@ with your administration of justice.
-		<<set $rep -= 100>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-100, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the accuser">>
 		<<replace "#result">>
 		You settle the dispute in favor of the prominent accuser. He dabbles in slave breeding himself, and was looking forward to using the slave in question for breeding stock; like many breeders he cares deeply about his stable, and speaks @@.green;positively@@ in public about how you helped an innocent breeder protect his prize bloodlines. Slave trading to and from your arcology is @@.red;somewhat lessened@@ however, since the school lets it be known that trading in your arcology is a risk.
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the trainer">>
 		<<replace "#result">>
 		You settle the dispute in favor of the school, and against the prominent accuser. He dabbles in slave breeding himself, and was looking forward to using the slave in question for breeding stock; like many breeders he cares deeply about his stable, and speaks @@.red;furiously@@ in public about how you denied an innocent breeder justice against those swindling slave schools. The school, however, passes a @@.green;good word@@ around the industry that schools trading with your arcology can expect to be protected from frivolous claims.
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Compromise on the compensation and offer to buy out the deal">>
@@ -344,7 +344,7 @@
 		You offer to buy out the deal, paying the school and taking the slave yourself, and compromising on the demanded compensation. The citizen was looking forward to using the slave in question for breeding stock; like many breeders he cares deeply about his stable and is mollified by the moderate payment, and speaks @@.green;kindly@@ in public about how you helped an innocent breeder protect his prize bloodlines. The school sends a @@.green;positive note@@ around the industry to the effect that schools trading with your arcology can expect to have excessive claims sensibly reduced.
 		<br><br>
 		<<set $arcologies[0].prosperity += 3>>
-		<<set $rep += 300>>
+		<<run repX(300, "event")>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat($contractCost)>> and give you the slave//
@@ -352,22 +352,22 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive a single notice of escrow payment contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two@@ and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although she isn't stupid enough to make a public accusation, the whore has been @@.red;whispering@@ to her peers that you helped the trader cheat her into prostitution. Few citizens care, but there is a faint scent of corruption.
-		<<set $rep -= 50>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-50, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the indentured whore">>
 		<<replace "#result">>
 		You settle the dispute in favor of the indentured whore, adding a requirement to the indentured servitude that she not be required to fuck against her will. The story of the brave prostitute and the conniving trader is @@.green;told and retold,@@ impressing the more credulous citizens. It also @@.red;raises doubts@@ among the wealthier, more business-minded residents about whether you can be depended on to promote their interests.
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the indenture holder">>
 		<<replace "#result">>
 		You settle the dispute in favor of the owner of the indenture. No change in the contract is necessary, since it already says what it should: that he controls her for the required period. That's all. The story of your strictness in business disputes @@.green;impresses@@ some of the more commercially powerful citizens of the arcology, but is @@.red;hissed@@ by the stupider, more romantic residents, who see only a brave whore being beaten down by a conniving slave trader.
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Buy out the contract and enslave her">>
@@ -376,7 +376,7 @@
 		You quietly contact the trader and suggest an alternative method of settling the dispute. He is surprised, but agrees readily, chuckling at how the "recalcitrant bitch" is going to be dealt with. To her horror, she finds that your near-total power over deals made in your arcology has been employed to saddle her with additional debts that, under her indentured servitude, she cannot hope to repay. It is then the work of ten minutes to demand payment, and when she cannot pay, demand her body for enslavement. The story of your cunning @@.green;impresses@@ the slave traders, but is @@.red;booed@@ by fairer-minded citizens.
 		<br><br>
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 100>>
+		<<run repX(-100, "event")>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat($contractCost)>> and give you the slave//
@@ -384,22 +384,22 @@
 	<<link "Privately inform both parties you'll settle this in favor of the most generous">>
 		<<replace "#result">>
 		You privately inform both parties you'll settle this in favor of the most generous. You instantly receive two notices of escrow payment contingent on the case going the payer's way. You select the @@.yellowgreen;bigger of the two@@ and decide the matter before returning to bed in a good mood. However, the next day it becomes apparent that although he isn't stupid enough to make a public accusation of corruption, the buyer is furious at paying virgin prices for a defiled slave, and is privately @@.red;slandering@@ your administration of justice.
-		<<set $rep -= 100>>
-		<<run cashX(random(150,200)*10, "events")>>
+		<<run repX(-100, "event")>>
+		<<run cashX(random(150,200)*10, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the prospective buyer">>
 		<<replace "#result">>
 		What's most important is the justice of the outcome. You settle the dispute in favor of the buyer, who would otherwise be forced to buy something he did not mean to pay for. He lets it be known far and wide that you are willing to stand up for what's right, no matter what and no matter who, @@.green;improving@@ your reputation. The angry seller, now afflicted with a devalued slave in addition to a bad headache, lets his group of friends know that social superiors have no advantage at justice here. They become more reticent about deal-making in your arcology, @@.red;damaging@@ its prosperity.
 		<<set $arcologies[0].prosperity -= 5>>
-		<<set $rep += 500>>
+		<<run repX(500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Settle the dispute in favor of the prominent slaveowner">>
 		<<replace "#result">>
 		A deal is a deal; buyer beware. You settle the dispute in favor of the slaveowner. He lets it be known amongst his peers that you do not let social inferiors insist on justice against their betters. Citizens of quality become more willing to consider deal-making in your arcology, @@.green;increasing prosperity.@@ On the other hand, the angry buyer shows himself to be not a person to treat lightly, either; he maintains a @@.red;malicious@@ whispering campaign to the effect that your administration of justice is fatally biased.
 		<<set $arcologies[0].prosperity += 5>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "event")>>
 		<</replace>>
 	<</link>>
 	<br><<link "Offer to buy out the contract">>
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index 3fdaa92ed17513377780ab0bdbac1029c756a064..e9bd6b2010b8fde7a588ea243de8752b2c9ddc97 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -66,7 +66,7 @@ __Construction__
 
 <<if ($receiverAvailable == 1) && ($FCTVenable != 0) && ($FCTVreceiver == 0)>>
 	You have not installed an FCTV receiver. Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>. You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>>. You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>.
-	[[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $rep += 500, $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $rep -= 1500, $PC.engineering += 1]]
+	[[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(500, "capEx"), $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week,  repX(-1500, "capEx"), $PC.engineering += 1]]
 <<elseif ($FCTVreceiver == 3)>>
 	You have installed the FCTV receiver and have access to the full range of FCTV's programs. High viewership rates amongst your citizens makes it easier to pursue your societal goals.
 <<elseif ($FCTVreceiver == 2)>>
diff --git a/src/uncategorized/masterSuiteReport.tw b/src/uncategorized/masterSuiteReport.tw
index 85f9fe16dbe855351bd27e1f0f697e741fb68a2d..244c6771cdd9fc5b38581dce0565777a6891d294 100644
--- a/src/uncategorized/masterSuiteReport.tw
+++ b/src/uncategorized/masterSuiteReport.tw
@@ -112,9 +112,9 @@
 
 			<<if ($Concubine.career == "an arcology owner")>>
 				$He was once your rival, and your relationship is widely thought to be @@.green;the perfect modern romance.@@
-				<<set $repGain += 250>>
+				<<run repX(250, "concubine", $Concubine)>>
 			<<elseif ($Concubine.prestige > 0)>>
-				<<set $repGain += 25*$Concubine.prestige>>
+				<<run repX(25*$Concubine.prestige, "concubine", $Concubine)>>
 				<<if $verboseDescriptions == 1>>
 					Keeping such a prestigious slave as your concubine @@.green;adds to your fame.@@
 					<<if $Concubine.prestigeDesc == "She is a famed Free Cities whore, and commands top prices.">>
@@ -153,15 +153,15 @@
 				<</if>>
 			<</if>>
 			<<if $Concubine.pornPrestige > 2>>
-				<<set $repGain += 100>>
+				<<run repX(100, "concubine", $Concubine)>>
 				Having a porn star as your personal bed warmer @@.green;reflects on your standing.@@ Your citizens can only wonder at what kinky things happen behind closed doors.
 			<<elseif $Concubine.pornPrestige > 1>>
-				<<set $repGain += 25>>
+				<<run repX(25, "concubine", $Concubine)>>
 				Having a rising porn star as your personal bed warmer @@.green;reflects on your standing.@@
 			<</if>>
 			<<if ($Concubine.oralCount + $Concubine.analCount + $Concubine.vaginalCount + $Concubine.mammaryCount + $Concubine.penetrativeCount > 1000)>>
 				<<if $verboseDescriptions == 1>>Many citizens <<if $Concubine.publicCount > 10>>remember having had $him themselves, and <</if>>@@.green;respectfully@@ envy you $his exclusive company.<</if>>
-				<<set $repGain += 25>>
+				<<run repX(25, "concubine", $Concubine)>>
 			<</if>>
 			<<if $masterSuiteUpgradeLuxury > 0>>
 				<<set $slaves[$i].livingRules = "luxurious", $slaves[$i].devotion += 4, $slaves[$i].trust += 4>>
diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw
index b7fcf36b570866692b75f44b9749d4b73e73d251..bf1a9e3e354d1739b3ddce7345d27ab49e57b603 100644
--- a/src/uncategorized/neighborsDevelopment.tw
+++ b/src/uncategorized/neighborsDevelopment.tw
@@ -512,7 +512,8 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 	<<set $arcologies[$i].prosperity -= $arcologies[0].CyberEconomic*2, _WarSpoils = Math.ceil(10+Math.max(((100/_weekModifier)*$arcologies[$i].prosperity*$arcologies[0].CyberEconomic),0))>>
 	<<set $arcologies[$i].prosperity = Math.clamp($arcologies[$i].prosperity, 1, 300)>>
 	<<if random(0,100) >= _Catchchance-(10*$arcologies[0].CyberEconomic)>>
-		<<set $arcologies[0].prosperity -= $arcologies[0].CyberEconomic*3, $rep -= random(100,200), _redHanded = 1>>
+		<<set $arcologies[0].prosperity -= $arcologies[0].CyberEconomic*3,  _redHanded = 1>>
+		<<run repX(forceNeg(random(100,200)), "war")>>
 		<<if $secExp == 1>>
 			<<set $authority -= random(100,500)*$arcologies[0].CyberEconomic, $crime += random(10,25)>>
 		<</if>>
@@ -553,7 +554,8 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 	<<set $arcologies[$i].prosperity = Math.clamp($arcologies[$i].prosperity, 1, 300)>>
 	<<set $arcologies[$i].ownership = Math.clamp($arcologies[$i].ownership, 0, 100)>>
 	<<if random(0,100) >= _Catchchance-(10*$arcologies[0].CyberReputation)>>
-		<<set $arcologies[0].prosperity -= $arcologies[0].CyberReputation*3, $rep -= random(100,200), _redHanded = 1>>
+		<<set $arcologies[0].prosperity -= $arcologies[0].CyberReputation*3, _redHanded = 1>>
+		<<run repX(forceNeg(random(100,200)), "war")>>
 		<<if $secExp == 1>>
 			<<set $authority -= random(100,500)*$arcologies[0].CyberReputation, $crime += random(10,25)>>
 		<</if>>
@@ -2718,7 +2720,8 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 		General $peacekeepers.generalName's little empire near the arcology
 		<<if $peacekeepers.attitude >= 100>>
 			offers _prisoners menial slaves as tribute; having the area as an avowed client state @@.green;improves your reputation.@@
-			<<set $rep += 100, $peacekeepers.attitude = 100>>
+			<<set $peacekeepers.attitude = 100>>
+			<<run repX(100, "peacekeepers")>>
 		<<else>>
 			delivers _prisoners menial slaves to you in payment for your past support.
 		<</if>>
@@ -2727,7 +2730,8 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 		@@.yellow;The peacekeeping force led by General $peacekeepers.generalName in the troubled area near the Free City has been withdrawn.@@
 		<<if $peacekeepers.undermining>>
 			Your misinformation campaign against it in the old world media was successful. Before long, everyone in the Free City is confident that you're somehow responsible, @@.green;greatly improving your reputation.@@
-			<<set $rep += 2000, $peacekeepers = 0, $peacekeepersGone = 1>>
+			<<set $peacekeepers = 0, $peacekeepersGone = 1>>
+			<<run repX(2000, "peacekeepers")>>
 		<<else>>
 			The cost was ultimately too high. The time when old world countries could afford to waste billions on military adventurism is gone. It will not return.
 			<<set $peacekeepers = 0, $peacekeepersGone = 1>>
@@ -2744,7 +2748,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 			<</if>>
 		<</if>>
 		Unfortunately, the presence of so much old world military power near the Free City causes @@.red;public concern.@@
-		<<set $rep -= 100>>
+		<<run repX(-100, "peacekeepers")>>
 	<</if>>
 	<br>
 <</if>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index cfaaf07d1fdfdd0716b52fc518eac7fe054c3a92..320c201a101eb150dcf2f86d1b88b9a9f1d8626b 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -374,7 +374,7 @@
 <<set $thisWeeksIllegalWares = $merchantIllegalWares.randomMany(1)>>
 <<set $prisonCircuitIndex++>><<if $prisonCircuitIndex >= $prisonCircuit.length>><<set $prisonCircuitIndex = 0>><</if>>
 
-<<set $coursed = 0, $eventDescription = 0, $pitFought = 0, $preOwnedViewed = 0, $prestigeAuctioned = 0, $eliteAuctioned = 0, $repGain = 0, $shelterSlave = 0, $shelterSlaveBought = 0, $slaveMarketLimit = 10 + ($rep / 1000), $slavesSeen = 0, $slavesSacrificedThisWeek = 0, $subSlaves = 0>>
+<<set $coursed = 0, $eventDescription = 0, $pitFought = 0, $preOwnedViewed = 0, $prestigeAuctioned = 0, $eliteAuctioned = 0, $shelterSlave = 0, $shelterSlaveBought = 0, $slaveMarketLimit = 10 + ($rep / 1000), $slavesSeen = 0, $slavesSacrificedThisWeek = 0, $subSlaves = 0>>
 
 /% These are variables that either should be made into _temp vars or should be Zeroed out once done with them instead of here. This can also interfere with debugging or hide NaN's as zeroing things out would clear a NaN. Also could stop from NaN's getting worse? %/
 /% Integer and float variables. No real need to zero them out but doesn't hurt to have them in a known state, though this might mask variables NaN'ing out. Takes up the least amount of Memory besides a "" string. %/
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index 7509d463b71fd481b12194e44c983532bff925d8..aaf92ff19be8dd9b2f5cf7d5b0164ac7e0dc463b 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -554,7 +554,7 @@ Assignment performance vignettes on the end week report are
 	//This will allow manual selection of events and unlock some options that would usually be restricted by progress//
 <</if>>
 <br>
-&nbsp;&nbsp;&nbsp;&nbsp;[[Add money|Options][$cheater = 1, cashX(100000, "cheating")]] | [[Add rep|Options][$cheater = 1, $rep += 10000]] //Cheating will be flagged in your save//
+&nbsp;&nbsp;&nbsp;&nbsp;[[Add money|Options][$cheater = 1, cashX(100000, "cheating")]] | [[Add rep|Options][$cheater = 1, repX(10000, "cheating")]] //Cheating will be flagged in your save//
 <br>
 
 <<if ($debugMode == 1)>>
diff --git a/src/uncategorized/pBombing.tw b/src/uncategorized/pBombing.tw
index 294fdd0af96aa22425227e15e153ac85bb363b2d..23c9c7210df5cf6c1b75a7d2a04d7f10f7c7ad1d 100644
--- a/src/uncategorized/pBombing.tw
+++ b/src/uncategorized/pBombing.tw
@@ -31,7 +31,7 @@ The implant is small, and went off too far ahead to do anything more than stun.
 	<br><br>
 	After reloading $his pistol from the ammunition compartment in $his other thigh, $he strides mechanically from body to body, a few of which are still moving. Stopping by each one, $he places $his palm against the base of each head with obscene care before extending the blade in $his forearm through it. This done, $he scans for further threats. There are none, and due to $his terrifying display there is @@.green;an increase in confidence in the security of $arcologies[0].name@@ and @@.green;public applause for your skill in training $him.@@ There is some @@.red;minor damage@@ to repair, but no lasting harm.
 	<<run cashX(-1000, "event", $Bodyguard)>>
-	<<set $rep += 500>>
+	<<run repX(500, "event", $Bodyguard)>>
 	<<set $arcologies[0].prosperity += 1>>
 
 <<elseif $Bodyguard.combatSkill > 0>>
@@ -47,7 +47,7 @@ The implant is small, and went off too far ahead to do anything more than stun.
 	<</if>>
 	None of them gets within five <<if $showInches == 2>>yards<<else>>meters<</if>>. $Bodyguard.slaveName dispassionately places a round in the head of each body, reloads, and takes up a position from which $he can watch for further threats. There are none, and due to $his sterling conduct there is @@.green;an increase in confidence in the security of $arcologies[0].name@@ and @@.green;public applause for your skill in training $him.@@ There is some @@.red;minor damage@@ to repair, but no lasting harm.
 	<<run cashX(-1000, "event", $Bodyguard)>>
-	<<set $rep += 500>>
+	<<run repX(500, "event", $Bodyguard)>>
 	<<set $arcologies[0].prosperity += 1>>
 
 <<elseif $Bodyguard.muscles > 5>>
diff --git a/src/uncategorized/pCitizensAndCivilians.tw b/src/uncategorized/pCitizensAndCivilians.tw
index 030b3a22d80a04dc7a1c9fe539a798bc06239d72..e592dc4f6a2b11acd5847224b6f92325c1af1436 100644
--- a/src/uncategorized/pCitizensAndCivilians.tw
+++ b/src/uncategorized/pCitizensAndCivilians.tw
@@ -65,7 +65,7 @@
 <br><<link "They shall be my Knights">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Knight-Captain reporting for duty, <<= properTitle()>>." The mercenaries — no, the Knights — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Knights">>
@@ -75,7 +75,7 @@
 <br><<link "They shall be my Evocati">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Centurion reporting for duty, <<= properTitle()>>." The mercenaries — no, the Evocati — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a Roman standard. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Evocati">>
@@ -87,7 +87,7 @@
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Centurion reporting for duty, <<= properTitle()>>." The mercenaries — no, the Shorn Ones — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing an Aztec standard adorned on a spear. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
 	<<set $nextButton = "Continue">>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Shorn Ones">>
@@ -99,7 +99,7 @@
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "General of the Imperial Guard, reporting for duty, <<= properTitle()>>." The mercenaries — no, the Imperial Guards — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing an Imperial Chinese war banner. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
 	<<set $nextButton = "Continue">>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Imperial Guards">>
@@ -110,7 +110,7 @@
 <br><<link "They shall be my Medjay">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "First Medjay reporting for duty, <<= properTitle()>>." The mercenaries — no, the Medjay — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a faux cheetah cloak. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Medjay">>
@@ -121,7 +121,7 @@
 <br><<link "Naturally, they shall be the Samurai">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Your Samurai-Lord reports for duty, <<= properTitle()>>." The mercenaries — no, the Samurai — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons, exterior plates styled after lacquered Samurai armor, and an enraged mask covering the face. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Samurai">>
@@ -132,7 +132,7 @@
 <br><<link "They shall be my Janissaries">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Corbaci reporting for duty, <<= properTitle()>>." The mercenaries — no, the Janissaries — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and cloaked in an outer garment of fine oriental silks. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Janissaries">>
@@ -143,7 +143,7 @@
 <br><<link "They shall be the Knights Templar">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Inquisitor-General reporting for duty, <<= properTitle()>>." The mercenaries — no, the Knights Templar — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a cloak emblazoned with the symbol of God. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Knights Templar">>
@@ -154,7 +154,7 @@
 <br><<link "They shall be my Immortals">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Satrap reporting for duty, <<= properTitle()>>." The mercenaries — no, the Immortals — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and more than one wicked, curved blade. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Immortals">>
@@ -165,7 +165,7 @@
 <br><<link "They shall be the Vast Legions">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "The Vast Legions reporting for duty, <<= properTitle()>>." The mercenaries — no, the Vast Legions — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of bulky, heavily armored prototype armor. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Vast Legions">>
@@ -176,7 +176,7 @@
 <br><<link "They shall be the Surgical Corps">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Surgeon-General reporting for duty, <<= properTitle()>>." The mercenaries — no, the Surgical Corps — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest medical equipment. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Surgical Corps">>
@@ -187,7 +187,7 @@
 <br><<link "They shall be the Inglorious Bitches">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Guess that makes me a bitch, <<= properTitle()>>." The mercenaries — no, the Inglorious Bitches — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor slathered in garish neon paint. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Inglorious Bitches">>
@@ -198,7 +198,7 @@
 <br><<link "They shall be the Thousand Sons">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Allfather reporting for duty, <<= properTitle()>>." The mercenaries — no, the Thousand Sons — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, a private gym, and a suit of prototype armor that preserves a sample of the wearer's genetic material in the event of death. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Thousand Sons">>
@@ -209,7 +209,7 @@
 <br><<link "They shall be the Guardians of the Unborn">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Fetal Guardian reporting for duty, <<= properTitle()>>." The mercenaries — no, the Guardians of the Unborn — are well looked after. They are each assigned a nice apartment, three fertile slavegirls for the men, assured maternity leave for the ladies, and a suit of prototype armor designed to keep even the most heavily pregnant mercenary's child safe and sound. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Guardians of the Unborn">>
@@ -220,7 +220,7 @@
 <br><<link "They shall be my Shadowed Hand">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Your Right Hand reporting for duty, <<= properTitle()>>." The mercenaries — no, the Shadowed Hand of the Societal Elite — are well looked after. They are each assigned a glorious apartment, a slave of their choice, what ever luxuries they can think of, and a suit of prototype armor equipped with the latest weapons and defenses. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Shadowed Hand">>
@@ -231,7 +231,7 @@
 <br><<link "They shall be the Asgardians">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Foehammer reporting for duty, <<= properTitle()>>." The mercenaries — no, the Asgardians — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, a private gym, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Asgardians">>
@@ -242,7 +242,7 @@
 <br><<link "They shall be the Tasters">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Lead Foodie reporting for duty, <<= properTitle()>>." The mercenaries — no, the Tasters — are well looked after. They are each assigned a comfy apartment, a freshly enslaved, plush servant, all the food and drink they can want (while off duty), and a suit of self-propelling prototype armor designed for maximum comfort without sacrificing protection. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Tasters">>
@@ -253,7 +253,7 @@
 <br><<link "They shall be the Knights of the Blood">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Knights of the Blood reporting for duty, <<= properTitle()>>." The mercenaries — no, the Knights of the Blood — are well looked after. They are each assigned a nice apartment, three freshly enslaved servants of inferior races, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Knights of the Blood">>
@@ -264,7 +264,7 @@
 <br><<link "They shall be the Knights of the Purge">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Knights of the Purge reporting for duty, <<= properTitle()>>." The mercenaries — no, the Knights of the Purge — are well looked after. They are each assigned a nice apartment, three freshly enslaved servants of the inferior race, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Knights of the Purge">>
@@ -275,7 +275,7 @@
 <br><<link "They shall be the Wardens">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a redesigned contract between you. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "First Warden reporting for duty, <<= properTitle()>>." The mercenaries — no, the Wardens — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and a collapsible riot shield. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Wardens">>
@@ -286,7 +286,7 @@
 <br><<link "They shall be the Purifiers">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Master Purifier reporting for duty, <<= properTitle()>>." The mercenaries — no, the Purifiers — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with a cleansing flamethrower. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Purifiers">>
@@ -297,7 +297,7 @@
 <br><<link "They shall be the Abstemious">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Lord-Abstinent reporting for duty, <<= properTitle()>>." The mercenaries — no, the Abstemious — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of sleek prototype armor equipped with advanced restraining weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Abstemious">>
@@ -308,7 +308,7 @@
 <br><<link "They shall be the Rangers">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<= properTitle()>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Lead Ranger reporting for duty, <<= properTitle()>>." The mercenaries — no, the Rangers — are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons — and an improbably massive revolver on the hip. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(forceNeg(_cost), "mercenaries")>>
 	<<set $mercenaries = 5>>
 	<<set $mercenariesTitle = "Rangers">>
diff --git a/src/uncategorized/pCoupAftermath.tw b/src/uncategorized/pCoupAftermath.tw
index 7d2f0603ea2554d7d5a0aa526ebff229f3da9f65..4e3f1a2d8c7770338ec18bd097483d773df88929 100644
--- a/src/uncategorized/pCoupAftermath.tw
+++ b/src/uncategorized/pCoupAftermath.tw
@@ -41,7 +41,7 @@ You inquire as to whether there's any identifiable cause for the evident dislike
 	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	Free Cities society is understandably reluctant to condemn, never mind depose, arcology owners. The precedent of removing one would be bad, even if the public brought enough strength together to accomplish it. Your evidence looks quite bad, but isn't so incontrovertible as to cause your fellow aristocrats to take such a drastic measure. Nonetheless, the public is aghast at the spectacle of an arcology owner funding an attack on another. Opinion @@.green;rallies@@ around you, and you even receive some discreet @@.yellowgreen;donations,@@ delivered with the intimation that they are to be used against your enemy. There is stony silence from the Daughters' backer; today, you began a real inter-arcology war.
-	<<set $rep += 1000>>
+	<<run repX(1000, "war")>>
 	<<run cashX(10000, "war")>>
 	<<set $rivalryPower = 1>>
 	<<if $rivalSet != 0>>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 24788e6e0fe12203d88cbfd2b245ab0e1300c30c..4acb5060b199ee9ca5c9416113feb94ba6ba1fc4 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -62,7 +62,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<<run cashX(-2000, "war")>>
 	<<run cashX(forceNeg(Math.trunc($cash*0.2)), "war")>>
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.7)>>
-	<<set $rep += 2000>>
+	<<run repX(2000, "war")>>
 	<<set $activeSlaveOneTimeMinAge = 16>>
 	<<set $activeSlaveOneTimeMaxAge = 32>>
 	<<set $oneTimeDisableDisability = 1>>
@@ -95,7 +95,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<<run cashX(-5000, "war")>>
 	<<run cashX(forceNeg(Math.trunc($cash*0.2)), "war")>>
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.7)>>
-	<<set $rep += 1000>>
+	<<run repX(1000, "war")>>
 	<<if $seeDicks > 50>>
 		<<set _pcaj = 5>>
 	<<elseif $seeDicks > 0>>
@@ -144,7 +144,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<<run cashX(-10000, "war")>>
 	<<run cashX(forceNeg(Math.trunc($cash*0.3)), "war")>>
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.5)>>
-	<<set $rep += 500>>
+	<<run repX(500, "war")>>
 	<<if $seeDicks > 50>>
 		<<set _pcaj = 3>>
 	<<elseif $seeDicks > 0>>
@@ -271,7 +271,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<<replace "#result">>
 	<<for _pca = 0; _pca < _newSlaves.length; _pca++>>
 		<<slaveCost _newSlaves[_pca]>>
-		<<set $rep += Math.trunc($slaveCost/10)>>
+		<<run repX(Math.trunc($slaveCost/10), "war")>>
 	<</for>>
 	Prisoners @@.green;given away.@@
 	<</replace>>
diff --git a/src/uncategorized/pDefenseFears.tw b/src/uncategorized/pDefenseFears.tw
index c333020c0662c8e8397748b2e1a28016d814cfcd..cd9752cf84f329608269a4968e547b5520081b6a 100644
--- a/src/uncategorized/pDefenseFears.tw
+++ b/src/uncategorized/pDefenseFears.tw
@@ -15,7 +15,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You hire a full platoon of reputable mercenaries and a veteran officer to command them, kit them in excellent gear, and quarter them in the arcology. Their pay is on an escrow basis; the huge lump sum you paid will serve to secure them, and its interest will constitute their pay. The sight of many armed men on patrol has reassured the worried slaveowners, but they are @@.red;resentful@@ of having to take this step themselves.
-	<<set $rep -= 500>>
+	<<run repX(-500, "event")>>
 	<<set $mercenaries = 3>>
 	<</replace>>
 <</link>>
@@ -23,7 +23,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You hire a full platoon of reputable mercenaries and a veteran officer to command them, kit them in excellent gear, and quarter them in the arcology. Their pay is on an escrow basis; the huge lump sum you paid will serve to secure them, and its interest will constitute their pay. The sight of many armed men on patrol has reassured the worried slaveowners, and they are @@.green;grateful@@ to you for seeing to their defense.
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<run cashX(-10000, "mercenaries")>>
 	<<set $mercenaries = 3>>
 	<</replace>>
@@ -33,7 +33,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 	<<replace "#result">>
 	The consensus that the arcology is vulnerable triggers an @@.red;exodus@@ of your most wealthy and valuable citizens, and your reputation @@.red;suffers@@ grievously.
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.8)>>
-	<<set $rep -= 1000>>
+	<<run repX(-1000, "event")>>
 	<</replace>>
 <</link>>
 </span>
\ No newline at end of file
diff --git a/src/uncategorized/pInvasion.tw b/src/uncategorized/pInvasion.tw
index b24ed603aa04484455848d957d40daa80cda7b78..bbd6e2af71449341eb62aac840097435e9acbbc4 100644
--- a/src/uncategorized/pInvasion.tw
+++ b/src/uncategorized/pInvasion.tw
@@ -86,12 +86,12 @@ The loose militia lately organized by the arcology owners has been called out to
 	<<set $invasionVictory = 2>>
 	<<run cashX(forceNeg(Math.trunc($cash*0.2)), "war")>>
 	<<run cashX(-5000, "war")>>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 <<else>>
 
 @@.green;The counterattack is a crushing success.@@ Your mercenary squad and your drones form an irresistible phalanx around you that smashes everything it touches. The enemy is put to flight, and you send your drones racing ahead to take captives. By law these are shared among the militia. There is talk that your contributions deserve more than a few wretched slaves in reward. A public subscription pays for the damage $arcologies[0].name took from stray fire, and @@.green;you are acclaimed a hero.@@
 <<set $invasionVictory = 3>>
-<<set $rep += 2000>>
+<<run repX(2000, "event")>>
 
 <<set _newSlaves = []>>
 <<for _i = 0; _i < 3; _i++>>
@@ -125,7 +125,7 @@ The loose militia lately organized by the arcology owners has been called out to
 	<<replace "#result">>
 	<<for _i = 0; _i < _newSlaves.length; _i++>>
 		<<slaveCost _newSlaves[_i]>>
-		<<set $rep += Math.trunc($slaveCost/10)>>
+		<<run repX(Math.trunc($slaveCost/10), "event")>>
 	<</for>>
 	Prisoners @@.green;given away.@@
 	<</replace>>
diff --git a/src/uncategorized/pMercenaries.tw b/src/uncategorized/pMercenaries.tw
index 10f4c93cec42aaf8778ea9734de8f1490697d1b1..0f8f978b8e741533d57a64529f71b9f0c545aecb 100644
--- a/src/uncategorized/pMercenaries.tw
+++ b/src/uncategorized/pMercenaries.tw
@@ -27,7 +27,7 @@ The budgetary difficulty many old world countries are in has resulted in unemplo
 <<link "Quarter a squad in the arcology">>
 	<<replace "#result">>
 	You hire some reputable mercenaries, kit them in excellent gear, and quarter them in $arcologies[0].name. The sight of armed men on patrol has @@.red;offended some of the more free-spirited citizens@@ of $arcologies[0].name.
-	<<set $rep -= 500>>
+	<<run repX(-500, "event")>>
 	<<run cashX(forceNeg(_price), "mercenaries")>>
 	<<set $mercenaries = 1>>
 	<<set $mercTotalManpower = 15>>
@@ -37,7 +37,7 @@ The budgetary difficulty many old world countries are in has resulted in unemplo
 <br><<link "Install a full platoon">>
 	<<replace "#result">>
 	You hire a full platoon of reputable mercenaries with a veteran officer to command them, kit them in excellent gear, and quarter them in $arcologies[0].name. The sight of many armed men on patrol has @@.red;deeply offended some of the more free-spirited citizens@@ of $arcologies[0].name.
-	<<set $rep -= 1000>>
+	<<run repX(-100, "event")>>
 	<<run cashX(forceNeg((_price*2)), "mercenaries")>>
 	<<set $mercenaries = 3>>
 	<<set $mercTotalManpower = 30>>
diff --git a/src/uncategorized/pMercenaryRomeo.tw b/src/uncategorized/pMercenaryRomeo.tw
index c397d77f68f938141519a92f1c19e5cd90342245..45b7671a6a01f092d661e53d1d98c5e83c2fa222 100644
--- a/src/uncategorized/pMercenaryRomeo.tw
+++ b/src/uncategorized/pMercenaryRomeo.tw
@@ -69,7 +69,7 @@ proffered by an attentive slave girl, he seems almost bashful.
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 			$activeSlave.slaveName obeys your orders not to see the old mercenary. Though neither he or $activeSlave.slaveName says a word about it, his squadmates are not so closemouthed. Soon the tragic story of The Mercenary and the Slave Girl is being told in bars and brothels across the Free City, with you naturally playing @@.red;the role of the villain.@@
-			<<set $rep -= 1000>>
+			<<run repX(-1000, "event")>>
 			<<unset $romeoID>>
 		<</replace>>
 	<</link>>
@@ -130,7 +130,7 @@ proffered by an attentive slave girl, he seems almost bashful.
 					As he picks up her limbless form to give her a hug,
 				<</if>>
 				she gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." You smile to yourself; when they get there they'll find flowers and a paid reservation at the arcology's best restaurant. Soon the story is being told in bars and brothels across the Free City, with you naturally playing @@.green;a starring role.@@ Some days later, you hear a dramatization is being filmed, with an aging action star playing the mercenary, a rising starlet playing $activeSlave.slaveName, and a noted character actor playing you.
-				<<set $rep += 3000>>
+				<<run repX(3000, "event")>>
 				<<set _poster = "a poster for the movie that was made about the love between one of your mercenaries and " + $activeSlave.slaveName>>
 				<<set $trinkets.push(_poster)>>
 				<<include "Remove activeSlave">>
diff --git a/src/uncategorized/pPeacekeepersDeficit.tw b/src/uncategorized/pPeacekeepersDeficit.tw
index f6924ef32c123c9df3d036159454ee20212fe886..792fbffd7d613abcdfe208c57a04e4fea39b94a3 100644
--- a/src/uncategorized/pPeacekeepersDeficit.tw
+++ b/src/uncategorized/pPeacekeepersDeficit.tw
@@ -45,7 +45,8 @@ The singular solution to the two problems is obvious. It's equally obvious that
 <br><<link "Tell him his situation is untenable">>
 	<<replace "#result">>
 		You decide to use this as an object lesson in the limits of old world power projection, and tell his situation is untenable and that he should withdraw. If he doesn't have the political firepower necessary to get proper support and supply, he's better off cutting his losses. "That's not for you to say," he responds bitterly. "And that's not for me to say, either. I still go where I'm told and do what I'm told. Thank you for your time." He ends the call brusquely. Word of your verbal defense of the Free City's sphere of influence gets around, @@.green;greatly improving your reputation.@@
-		<<set $peacekeepers.attitude -= 10, $rep += 500>>
+		<<set $peacekeepers.attitude -= 10>>
+		<<run repX(500, "event")>>
 	<</replace>>
 <</link>>
 </span>
diff --git a/src/uncategorized/pPeacekeepersIntro.tw b/src/uncategorized/pPeacekeepersIntro.tw
index 4744510527e37bd234224f63582b9e81401db4a4..afadd75c877f04f7496505f8102011392e24abee 100644
--- a/src/uncategorized/pPeacekeepersIntro.tw
+++ b/src/uncategorized/pPeacekeepersIntro.tw
@@ -48,7 +48,8 @@ As he spoke, you and $assistantName surreptitiously checked out what he said. He
 <<link "Tell him you disapprove of old world meddling in the Free City's sphere of influence">>
 	<<replace "#result">>
 		You tell him that you consider that area within the Free City's area of influence now, and that you disapprove of old world meddling. "Interesting," he says, noncommittal. "It takes real power projection to maintain a real sphere of influence. It remains to be seen whether your Free City has it. In the meantime, we'll pursue our mission." He inclines his head respectfully, and ends the call. Word of your brusque defense of the Free City's growing influence gets around, @@.green;greatly improving your reputation.@@
-		<<set $peacekeepers.attitude -= 10, $rep += 500>>
+		<<set $peacekeepers.attitude -= 10>>
+		<<run repX(500, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Respond politely, but avoid committing yourself">>
diff --git a/src/uncategorized/pRaidResult.tw b/src/uncategorized/pRaidResult.tw
index 4e1460f643a9ba73f5c4c76736242f46f8d8fc65..cdb3d772a8fef61689a1a5ace01c245c40baa177 100644
--- a/src/uncategorized/pRaidResult.tw
+++ b/src/uncategorized/pRaidResult.tw
@@ -12,7 +12,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 <<set _newSlaves = []>>
 <<if $PRaidTarget == 1>>
 	Under orders to target resistance, your mercenaries target the leading group. They even manage to direct a little small arms fire at the VTOL craft as it circles them, dropping mercenaries and plying its nonlethal weapons, but they are of course rapidly defeated. Your share is two slaves in good physical condition, who prove to have been survivors of the defeated attack on the arcology. The mercenaries find after a data search that one of the prisoners whose part of their share was a minor leader in the anti-Free Cities movement. After a quick consultation over their radios, the mercenaries decide that a summary execution out here would be too quick for the wretch, and bring their prize back to the arcology for more thorough punishment. Between the successful raid and the capture of this public enemy, @@.green;the citizens are quite impressed by you.@@
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<<for _prr = 0; _prr < 3; _prr++>>
 		<<if ($seeDicks > 0)>>
 		<<include "Generate XY Slave">>
@@ -26,7 +26,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 	<</for>>
 <<elseif $PRaidTarget == 2>>
 	Under orders to target civilians, your mercenaries head for the isolated group. When the VTOL descends to circle around the large group of refugees, it becomes obvious that it won't even be necessary to expend nonlethal ammunition. A few of the refugees throw themselves down in bitterness, but most just subside into the catatonia of helplessness. They stand quiescent as they are searched, tagged, and loaded onto the VTOL like the wretched human refuse they are. The successful raid @@.green;is the talk of the Free City.@@
-	<<set $rep += 200>>
+	<<run repX(200, "event")>>
 	<<for _prr = 0; _prr < 4; _prr++>>
 		<<include "Generate New Slave">>
 		<<set $activeSlave.origin = "She is an enslaved refugee.">>
@@ -35,7 +35,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 <<else>>
 	Under orders to target the largest possible group of people, your mercenaries head for the sick and injured. As the VTOL settles, it becomes apparent that most of the injuries are from combat, almost certainly in the defeat at $arcologies[0].name. The tent proves to contain a harassed nurse, almost without medical supplies and at the end of her rope. When she sees the mercenaries push through the tent flap, she heaves a sigh of mixed defeat and relief and wordlessly offers her wrists. The mercenaries give you a larger share of the other slaves in return for her: they tell you in confidence that she'll be a medical asset to them as well as the usual amusement. The successful raid @@.green;is the talk of the Free City.@@
 	<<set $slaveMedic = 1>>
-	<<set $rep += 200>>
+	<<run repX(200, "event")>>
 	<<for _prr = 0; _prr < 5; _prr++>>
 		<<include "Generate New Slave">>
 		<<set $activeSlave.origin = "She is an enslaved refugee who was wounded in the defeated attack on your arcology.">>
@@ -59,7 +59,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 	<<replace "#result">>
 	<<for _prr = 0; _prr < _newSlaves.length; _prr++>>
 		<<slaveCost _newSlaves[_prr]>>
-		<<set $rep += Math.trunc($slaveCost/10)>>
+		<<run repX(Math.trunc($slaveCost/10), "event")>>
 	<</for>>
 	Prisoners @@.green;given away.@@
 	<</replace>>
diff --git a/src/uncategorized/pRivalInitiation.tw b/src/uncategorized/pRivalInitiation.tw
index 47085731db07ef8c4d8952650e1acebece56bd87..6c457d143a29189bf364047e07990aa559aefff9 100644
--- a/src/uncategorized/pRivalInitiation.tw
+++ b/src/uncategorized/pRivalInitiation.tw
@@ -22,7 +22,8 @@ This is a special week, the week of your victory. <<EventNameLink $activeSlave>>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	Though $he hates you with all $his heart, $he knows better than most what happens to slaves who disobey. So, when you describe your public relations plans to $him, $he promises to obey before you even get to the threats. $He finds $himself accompanying you to the arcology's finest establishment in a lovely evening dress. The two of you share an understandably quiet meal, with a growing crowd coming to leer at the defeated slaveowner-cum-slave. At a prearranged signal from you, $he stands, quickly strips naked, gets down on $his knees, and <<if $PC.dick == 1>>sucks you off<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eats you out<</if>>. Such public humiliation starts $him down the path of @@.hotpink;obedience,@@ and is the @@.green;talk of the Free Cities.@@
-	<<set $rep += 500, $activeSlave.devotion += 4, $activeSlave.oralCount += 1, $oralTotal += 1>>
+	<<set $activeSlave.devotion += 4, $activeSlave.oralCount += 1, $oralTotal += 1>>
+	<<run repX(500, "event", $activeSlave)>>
 	<<set $rivalID = 0>>
 	<</replace>>
 <</link>>
@@ -41,7 +42,8 @@ This is a special week, the week of your victory. <<EventNameLink $activeSlave>>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 		$activeSlave.slaveName, who has been fairly dignified up to this point, breaks down when $he's placed in stocks with $his ass in the air. $His sobs become screams when, for the first time in $his life, $he feels the burning sensation of a well-lubricated <<if $PC.dick == 1>>cockhead<<else>>strap-on<</if>> forcing its way past $his virgin sphincter. Raping a virgin anus is not a new pleasure for you, but the usual shrieking, struggling and spasming is all the sweeter this time. @@.green;Half the arcology@@ has used $his @@.red;poor injured butthole@@ by the end of the day, $he @@.gold;is learning to fear you,@@ and hates you @@.mediumorchid;even more@@ if possible.
-		<<set $rep += 500, $activeSlave.devotion -= 4, $activeSlave.trust -= 5, $activeSlave.health -= 10, $activeSlave.anus = 3, $activeSlave.analCount += 47, $analTotal += 47>>
+		<<set $activeSlave.devotion -= 4, $activeSlave.trust -= 5, $activeSlave.health -= 10, $activeSlave.anus = 3, $activeSlave.analCount += 47, $analTotal += 47>>
+		<<run repX(500, "event", $activeSlave)>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
 		<<set $rivalID = 0>>
 		<</replace>>
@@ -52,7 +54,8 @@ This is a special week, the week of your victory. <<EventNameLink $activeSlave>>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 		You announce that since $activeSlave.slaveName has spent so much money and effort turning $himself into a girl with expensive hormones, you'll take a lower-tech step to bring $him further in that regard. An auto surgery is set up in public and the populace is treated to the edifying spectacle of a very large pair of testicles being efficiently removed by the modern surgical art. Unusually, $he was not given general anesthesia, but instead given local painkillers and made to watch on a monitor, to $his @@.gold;rage@@ and @@.mediumorchid;horror.@@ There is @@.green;applause@@ as the cauterizer seals the surgical site where $his massive scrotum used to hang. $His cock looks softer already.
-		<<set $rep += 500, $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 10, $activeSlave.balls = 0>>
+		<<set $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 10, $activeSlave.balls = 0>>
+		<<run repX(500, "event", $activeSlave)>>
 		<<set $rivalID = 0>>
 		<</replace>>
 	<</link>>
@@ -62,7 +65,8 @@ This is a special week, the week of your victory. <<EventNameLink $activeSlave>>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 		You announce that since $activeSlave.slaveName damaged the arcology, $he will be taking a leading role in the reconstruction. $He will be doing this by replacing one of the residents killed in the violence — by bearing a new slave, to be conceived collectively. The shame and @@.mediumorchid;horror@@ of $his future as breeding stock comes home to $him as $he's restrained in a chair with $his legs spread. Soon, the stream of fluids is running down $his thoroughly-fucked pussy and over $his anus to pool on the floor beneath $him. Modern medical imaging reveals $his fertile ovum's last, losing battle against a legion of sperm in real time, and the images are projected on large screens.
-		<<set $rep += 500, $activeSlave.preg = 1, $activeSlave.pregSource = -2, $activeSlave.pregKnown = 1, $activeSlave.pregWeek = 1, $activeSlave.devotion -= 15>>
+		<<set $activeSlave.preg = 1, $activeSlave.pregSource = -2, $activeSlave.pregKnown = 1, $activeSlave.pregWeek = 1, $activeSlave.devotion -= 15>>
+		<<run repX(500, "event", $activeSlave)>>
 		<<set $activeSlave.pregType = setPregType($activeSlave)>>
 		<<set WombImpregnate($activeSlave, $activeSlave.pregType, -2, 1)>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index d94aa897f19d9af34d8bfb84376c2001e8bf47d6..1ef253f6e453e7137a5cd314ffa41cfc65343918 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -3836,14 +3836,14 @@ You remind yourself that success in this conflict will not be defined by the tra
 		<<replace "#result">>
 		Since you are not so uncouth as to, for example, help fund a coup attempt, you fund traditional acts of corporate sabotage, including hacking, slander, and actual, physical thievery. There are some @@.red;minor rumors@@ that you are to blame, but they're outweighed by the @@.green;great pressure@@ these incidents put on your enemy.
 		<<run cashX(-10000, "war")>>
-		<<set $rep -= 100>>
+		<<run repX(-100, "war")>>
 		<<set $rivalryPower += 5>>
 		<</replace>>
 	<<else>>
 		<<replace "#result">>
 		Since you are not so uncouth as to, for example, help fund a coup attempt, you fund traditional acts of corporate sabotage, including hacking, slander, and actual, physical thievery. Unfortunately, you seem to be a step behind this week. Your enemy @@.red;prevents@@ many of your attacks, and even manages to turn a few minor players into public confessions that @@.red;damage@@ your reputation.
 		<<run cashX(-10000, "war")>>
-		<<set $rep -= 500>>
+		<<run repX(-500, "war")>>
 		<<set $rivalryPower += 2>>
 		<</replace>>
 	<</if>>
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index cafcbf41852966fd7a2621bc084c2fa6a6c05467..8910cefa7d27520efc7512ebb8474f20de447349 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -184,7 +184,8 @@ that several nondescript citizens $he sees occasionally at work have passed a fe
 	<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You announce that a treasonous slave will be publicly flogged. Treason is understood in the Free Cities to be activity that tends to undermine slavery, and public interest is considerable when $activeSlave.slaveName is dragged out into a public atrium and secured to a post. You do your duty; the one that passes the sentence should swing the lash. The ordeal is long and bloody. The populace understand the necessity of the punishment, though they are @@.red;disturbed@@ that such a thing could happen in your penthouse of all places. The effect on $activeSlave.slaveName's health @@.red;is serious,@@ and $he is @@.gold;terrified of failing you again.@@
-	<<set $activeSlave.health -= 30, $activeSlave.trust -= 15, $rep -= 500>>
+	<<set $activeSlave.health -= 30, $activeSlave.trust -= 15>>
+	<<run repX(-500, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Chemically lobotomize $him to extirpate any record of the incident">>
@@ -199,7 +200,7 @@ that several nondescript citizens $he sees occasionally at work have passed a fe
 	<<set $nextButton = "Continue", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You announce that a treasonous slave will be publicly executed. Treason is understood in the Free Cities to be activity that tends to undermine slavery, and public interest is considerable when $activeSlave.slaveName is dragged out into a public atrium and <<if $arcologies[0].FSAztecRevivalist !== "unset">>has $his heart cut out of $his living body<<elseif $arcologies[0].FSEdoRevivalist !== "unset">>is boiled alive<<elseif $arcologies[0].FSRomanRevivalist !== "unset">>is crucified and left hanging until $he perishes<<else>>is summarily hanged<</if>>. The populace understands the necessity of the punishment, though they are @@.red;disturbed@@ that such a thing could happen in your penthouse of all places. The surviving slaves are @@.gold;terrified@@ at the display, but at least you can be sure they will remember the price of failing you.
-	<<set $rep -= 500>>
+	<<run repX(-500, "event", $activeSlave)>>
 	<<run $slaves.forEach(function(s) { s.trust -= 10 + random(10); })>>
 	<<include "Remove activeSlave">>
 	<</replace>>
diff --git a/src/uncategorized/peConcubineInterview.tw b/src/uncategorized/peConcubineInterview.tw
index d6f6146029b2bd46fa7d70f8d76d3501fcca034d..294aadab8eebf53f4688699b45b59f29433dca35 100644
--- a/src/uncategorized/peConcubineInterview.tw
+++ b/src/uncategorized/peConcubineInterview.tw
@@ -56,19 +56,19 @@ You receive an official communication from a popular talk show e-hosted in one o
 	<</if>>
 	<<if $activeSlave.entertainSkill >= 60>>
 		$He's @@.green;graceful and sensual,@@ and entirely at home.
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<elseif $activeSlave.entertainSkill <= 30>>
 		$He's @@.red;clumsy and nervous,@@ but does $his best to rally.
-		<<set $rep -= 100>>
+		<<run repX(-100, "concubine", $activeSlave)>>
 	<<else>>
 		$He manages $his entrance reasonably well, and conceals any nervousness.
 	<</if>>
 	<<if $activeSlave.face > 95>>
 		"Oh my God," exclaims the host reverently. "Honey, @@.green;you are gorgeous.@@" He turns to the camera. "Isn't $he just gorgeous?"
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<elseif $activeSlave.face <= 10>>
 		There is a distinct lack of response from the host; perhaps he was @@.red;expecting $him to be prettier.@@
-		<<set $rep -= 100>>
+		<<run repX(-100, "concubine", $activeSlave)>>
 	<<else>>
 		The host gives $him a perfunctory compliment on $his beauty.
 	<</if>>
@@ -77,10 +77,10 @@ You receive an official communication from a popular talk show e-hosted in one o
 	The host asks $him some soft, nonjudgmental questions about $his life and how $he became your slave. Then he hits $him: "So, $activeSlave.slaveName. Tell us about <<= PlayerName()>>."
 	<<if $activeSlave.devotion > 95>>
 		@@.green;Without a moment's hesitation,@@ $he <<if _lisps>>lisps<<else>>proclaims<</if>>, "I love _himP. <<HeP>>'<<s>> so <<if $PC.title != 0>>hand<<s>>ome<<else>>pretty<</if>>, and," $he manages to blush prettily, "<<heP>>'<<s>> <<s>>o good to me."
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<elseif $activeSlave.devotion <= 60>>
 		$He struggles for an instant and then says @@.red;unconvincingly@@ that $he loves you.
-		<<set $rep -= 100>>
+		<<run repX(-100, "concubine", $activeSlave)>>
 	<<else>>
 		$He recovers quickly and responds that $he loves you.
 	<</if>>
@@ -90,10 +90,10 @@ You receive an official communication from a popular talk show e-hosted in one o
 	$He shakes $his head.
 	<<if $activeSlave.trust > 95>>
 		@@.green;$He responds confidently,@@ "My life with _himP i<<s>> very different from anything you might find here in the old world. But I'm happy with _himP, and there'<<s>> no one I'd rather be with, a<<s>> a <<s>>lave or not."
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<elseif $activeSlave.trust < 60>>
 		$He explains that it isn't hard to trust someone like you, but this @@.red;falls a little flat.@@
-		<<set $rep -= 100>>
+		<<run repX(-100, "concubine", $activeSlave)>>
 	<<else>>
 		$He explains earnestly that it isn't hard to trust someone like you, and explains some of the blander details about life as your slave.
 	<</if>>
@@ -227,7 +227,7 @@ You receive an official communication from a popular talk show e-hosted in one o
 	The interview winds on, gradually descending into prurient territory. $activeSlave.slaveName answers readily, giving everyone watching quite a window into an oversexed slave society.
 	<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 15>>
 		$He's clever enough to @@.green;shock and titillate@@ at the same time; in response to a probing question about whether $he has any plans for the rest of the night, $he <<say>>s, "Of cour<<s>>e my <<Master>> make<<s>> the plan<<s>>. But I hope I can get back to the arcology early." $He shifts suggestively in $his chair. "I'm looking forward to getting fucked tonight."
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<else>>
 		$He's rather blunt in $his responses, answering with a little too much detail; not that the audience minds.
 	<</if>>
@@ -267,7 +267,7 @@ You receive an official communication from a popular talk show e-hosted in one o
 		<<else>>
 			sex in the missionary position.
 		<</if>>
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<else>>
 		$His answer betrays how <<if $activeSlave.tankBaby > 0>>little $he knows<<else>>much $he's forgotten<</if>> about the old world: $he mildly shocks the studio audience by describing
 		<<if ($activeSlave.fetish == "submissive")>>
@@ -387,7 +387,7 @@ You receive an official communication from a popular talk show e-hosted in one o
 			pert tit<<s>> and cute butt<<s>>,
 		<</if>>
 		and more. I wouldn't trade it for anything."
-		<<set $rep += 300>>
+		<<run repX(300, "concubine", $activeSlave)>>
 		The host politely regains control of his show, but there's a cautious respect in the rest of his questions.
 	<</if>>
 	<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50 && $PC.title == 0>>
@@ -399,16 +399,16 @@ You receive an official communication from a popular talk show e-hosted in one o
 		<<else>>
 			$He quirks a corner of $his mouth. "And <<heP>> ha<<s>> a //wonderful// cock."
 		<</if>>
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<</if>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	At the conclusion, the host
 	<<if $rep - $oldRep > 200>>
 		seems @@.green;impressed@@ and says sincerely,
-		<<set $rep += 100>>
+		<<run repX(100, "concubine", $activeSlave)>>
 	<<elseif $rep - $oldRep < 0>>
 		seems @@.red;unimpressed@@ and says mockingly,
-		<<set $rep -= 100>>
+		<<run repX(-100, "concubine", $activeSlave)>>
 	<<else>>
 		says jokingly,
 	<</if>>
diff --git a/src/uncategorized/pePitFight.tw b/src/uncategorized/pePitFight.tw
index 09af6791d59e34326d6b8f5ad2dca70dc005be17..3fd14326a01b6c35b4d604b5afeeac2d7231d1f1 100644
--- a/src/uncategorized/pePitFight.tw
+++ b/src/uncategorized/pePitFight.tw
@@ -171,13 +171,13 @@ The umpire announces gravely that the fight is to the death and rings a bell.
 
 <<if $deadliness > (_opponent + 1)>>
 	$activeSlave.slaveName senses that $he is greatly superior, and decides to make a quick end before $his opponent can try something foolish. $He feints high and stabs low; $his enemy just manages to parry the low stab, but is so much weaker that $activeSlave.slaveName simply overpowers _himU, so that _heU falls onto _hisU back with the force of the clash. $activeSlave.slaveName takes one step forward and runs $his sword through the prostrate slave's heart. This victory has @@.green;won you some renown@@ and @@.yellowgreen;a sum of money@@ from each of the spectators.
-	<<set $rep += 500>>
+	<<run repX(500, "pit", $activeSlave)>>
 	<<run cashX(5000, "pit", $activeSlave)>>
 	<<set $activeSlave.pitKills += 1>>
 	<<set $pitKillsTotal += 1>>
 <<elseif $deadliness > (_opponent)>>
 	The combat is long and exhausting. $activeSlave.slaveName and $his opponent are closely matched in terms of skill, so neither takes foolish risks and a protracted, bloody fight results as both slaves take horrible but non-life-threatening cuts. Finally, $activeSlave.slaveName's superior physical condition wins out and $his opponent falls from exhaustion and blood loss. $activeSlave.slaveName stumbles over to open _hisU throat. This victory has @@.green;won you some renown@@ and @@.yellowgreen;a sum of money@@ from each of the spectators, though $activeSlave.slaveName is @@.red;badly hurt.@@
-	<<set $rep += 500>>
+	<<run repX(500, "pit", $activeSlave)>>
 	<<run cashX(5000, "pit", $activeSlave)>>
 	<<set $activeSlave.health = -50>>
 	<<set $activeSlave.pitKills += 1>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 91ee6c3081d3f64d4a4b846657d695952525b36c..c8f73251981378e972d828fba077b38a1b7b5a4b 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -51,34 +51,34 @@
 		<<if $arcologies[0].FSRepopulationFocus != "unset">>
 			You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc((_income*($rep/500))+($PC.belly)))>>@@ for your body, much more than usual; guess your pregnancy focused population wants your baby rounded body more than ever. However, doing such things @@.red;damages your reputation@@.
 			<<run cashX(Math.trunc((_income*($rep/500))+($PC.belly)), "personalBusiness")>>
-			<<set $rep = Math.trunc($rep*.90)>>
+			<<run repX(($rep*.90) - $rep, "personalBusiness")>>
 		<<elseif $arcologies[0].FSRepopulationFocusPregPolicy == 1>>
 			You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc((_income*($rep/500))+($PC.belly/2)))>>@@ for your body, more than usual; but that's to be expected, after all, pregnancy is trendy right now. Event still, doing such things @@.red;damages your reputation@@.
 			<<run cashX(Math.trunc((_income*($rep/500))+($PC.belly/2)), "personalBusiness")>>
-			<<set $rep = Math.trunc($rep*.90)>>
+			<<run repX(($rep*.90) - $rep, "personalBusiness")>>
 		<<elseif $arcologies[0].FSRestart != "unset">>
 			<<if $PC.pregSource != -1 && $PC.pregSource != -6>>
 				You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(25)>>,@@ barely enough to cover the abortion the john that gave it to you told you to get. Showing off your gravid body @@.red;infuriates your citizens and cripples your reputation@@.
 				<<run cashX(25, "personalBusiness")>>
-				<<set $rep = Math.trunc($rep*.25)>>
+				<<run repX(($rep*.25) - $rep, "personalBusiness")>>
 				<<if $eugenicsFullControl != 1>>
 					<<set $failedElite += 25>>
 				<</if>>
 			<<else>>
 				You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc(_income($rep/500)))>>@@ for your body. However, doing such things @@.red;damages your reputation@@.
 				<<run cashX(Math.trunc(_income*($rep/500)), "personalBusiness")>>
-				<<set $rep = Math.trunc($rep*.75)>>
+				<<run repX(($rep*.75) - $rep, "personalBusiness")>>
 			<</if>>
 		<<else>>
 			<<set _income = random(5,2500)>>
 			You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc(_income*($rep/800)))>>@@ for your body, much less than usual; your pregnancy must be turning off potential clients. However, doing such things @@.red;damages your reputation@@.
 			<<run cashX(Math.trunc(_income*($rep/800)), "personalBusiness")>>
-			<<set $rep = Math.trunc($rep*.75)>>
+			<<run repX(($rep*.75) - $rep, "personalBusiness")>>
 		<</if>>
 	<<else>>
 		You focus on finding "dates" this week and earn @@.yellowgreen;<<print cashFormat(Math.trunc(_income*($rep/500)))>>@@ for your body. However, doing such things @@.red;damages your reputation@@.
 		<<run cashX(Math.trunc(_income*($rep/500)), "personalBusiness")>>
-		<<set $rep = Math.trunc($rep*.75)>>
+		<<run repX(($rep*.75) - $rep, "personalBusiness")>>
 		<<if isPlayerFertile($PC)>>
 			<<if $arcologies[0].FSRepopulationFocus != "unset" && random(1,100) > 80>>
 				A horny client offered you an extra @@.yellowgreen;<<print cashFormat(1000)>>@@ for downing some fertility drugs. You're already forgoing birth control, so what harm could an extra baby do?
@@ -292,42 +292,42 @@
 		Your strong reputation makes it both really easy to find opportunities to gain quite a bit of money, but at the same time, it makes it hard to do so anonymously.
 		<<if _caught || random(1,100) >= 25>>
 			Even with your attempts at discretion, people somehow manage to recognize you, and @@.red;rumors that you're back in the gang business@@ are spreading through your arcology like wildfire.
-			<<set $rep = Math.trunc($rep*.25)>>
+			<<run repX(($rep*.25) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .5>>
 		<<elseif random(1,100) >= 50>>
 			You are as discreet as possible, but yet some people seem to have doubts about who you are, and for quite some time, you can hear whispers @@.red;that you may be helping the more shady businesses in your arcology@@.
-			<<set $rep = Math.trunc($rep*.5)>>
+			<<run repX(($rep*.5) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .75>>
 		<<else>>
 			You fool almost everyone with your <<if ($PC.actualAge >= 30)>>experience and <</if>>cunning, but the sole fact that smugglers are in your arcology @@.red;damages your reputation@@.
-			<<set $rep = Math.trunc($rep*.75)>>
+			<<run repX(($rep*.75) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .9>>
 		<</if>>
 	<<elseif $rep >= 9000>> /* well known */
 		Your reputation helps you find opportunities that need people who have proved discreet. But even when taking precautions, nothing guarantees you can stay anonymous.
 		<<if _caught || random(1,100) >= 40>>
 			Try as you might, people notice who you are, and the next day, @@.red;rumors about your business affairs@@ are already spreading everywhere in your arcology.
-			<<set $rep = Math.trunc($rep*.4)>>
+			<<run repX(($rep*.4) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .65>>
 		<<elseif random(1,100) >= 50>>
 			You manage to fool some people, but not everyone, and soon enough, people are @@.red;discussing whether you're smuggling or not@@.
-			<<set $rep = Math.trunc($rep*.65)>>
+			<<run repX(($rep*.65) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .9>>
 		<<else>>
 			You somehow manage to hide your identity for all but the most cunning of people, so the only thing that really @@.red;damages your reputation@@ is the fact that people associate you with gangs all the time.
-			<<set $rep = Math.trunc($rep*.9)>>
+			<<run repX(($rep*.9) - $rep, "personalBusiness")>>
 		<</if>>
 	<<else>> /* low reputation */
 		<<if !_caught && random(1,100) >= 90>>
 			You work efficiently, not spending any time talking to people more than you need. Your efficiency even managed to earn you @@.green;quite a few good words@@ from some people who were leading double lives like you were, and they made sure to get a word in about you in their business conversations.
-			<<set $rep = Math.trunc($rep*1.05)>>
+			<<run repX(($rep*1.05) - $rep, "personalBusiness")>>
 		<<elseif !_caught && random(1,100) >= 50>>
 			You get a few curious glances from some people here and there, but most people do not care about who you are, or maybe they don't know, and it's better this way. Though your regular absences have @@.red;not gone unnoticed@@ and some baseless rumors are spreading.
-			<<set $rep = Math.trunc($rep*.8)>>
+			<<run repX(($rep*.8) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .95>>
 		<<else>>
 			Some people whisper when you pass by them. They seem to know who you are, and you know that @@.red;after a bit of alcohol, their tongue will come loose,@@ and you can't afford to shut them up right here, right now.
-			<<set $rep = Math.trunc($rep*.55)>>
+			<<run repX(($rep*.55) - $rep, "personalBusiness")>>
 			<<set $enduringRep *= .8>>
 		<</if>>
 	<</if>>
@@ -372,7 +372,7 @@
 		<<if $proclamationCurrency == "authority">>
 			<<set $authority = Math.clamp($authority - 2000,0,20000)>>
 		<<elseif $proclamationCurrency == "reputation">>
-			<<set $rep = Math.clamp($rep - 4000,0,20000)>>
+			<<run repX((Math.clamp($rep - 4000,0,20000)) - $rep, "personalBusiness")>>
 		<<else>>
 			<<run cashX(-8000, "personalBusiness")>>
 		<</if>>
@@ -382,7 +382,7 @@
 		<<if $proclamationCurrency == "authority">>
 			<<set $authority = Math.clamp($authority - 2000,0,20000)>>
 		<<elseif $proclamationCurrency == "reputation">>
-			<<set $rep = Math.clamp($rep - 4000,0,20000)>>
+			<<run repX(Math.clamp($rep - 4000,0,20000), "personalBusiness")>>
 		<<else>>
 			<<run cashX(-8000, "personalBusiness")>>
 		<</if>>
@@ -633,7 +633,7 @@
 		<<if $secExp == 1>> <<set _X = 1>>
 			@@.red;authority,@@ <<set $authority -= random(100,500)>> @@.red;crime rate@@ <<set $crime += random(10,25)>> and
 		<</if>>
-		@@.red;reputation@@ <<set $rep -= random (100,500)>>
+		@@.red;reputation@@ <<run repX(forceNeg(random(100,500)), "event")>>
 		<<if _X != 1>>
 			has
 		<<else>>
@@ -652,7 +652,7 @@
 <<if $CashForRep == 1>>
 	<<if $cash > 1000>>
 		This week you gave up business opportunities worth <<print cashFormat($policyCost)>> to help deserving citizens, @@.green;burnishing your reputation.@@
-		<<set $rep += 100>>
+		<<run repX(100, "personalBusiness")>>
 		<<run cashX(forceNeg($policyCost), "policies")>>
 		<<if $PC.degeneracy > 1>>
 			This also helps @@.green;offset any rumors@@ about your private actions.
@@ -665,7 +665,7 @@
 <<if $goodImageCampaign == 1>>
 	<<if $cash > 5000>>
 		This week you paid <<print cashFormat($policyCost)>> to have positive rumors spread about you, @@.green;making you look good<<if $PC.degeneracy > 1>> and weakening existing undesirable rumors<<set $PC.degeneracy -= 2>><</if>>.@@
-		<<set $rep += 50>>
+		<<run repX(50, "personalBusiness")>>
 		<<run cashX(forceNeg($policyCost), "policies")>>
 	<<else>>
 		You lacked enough extra ¤ to pay people to spread positive rumors about you this week.
@@ -674,7 +674,7 @@
 <<if $rep > 100>>
 	<<if $RepForCash == 1>>
 		This week you used your position to secure business opportunities worth <<print cashFormat($policyCost)>> at the expense of citizens, @@.red;damaging your reputation.@@
-		<<set $rep -= 100>>
+		<<run repX(-100, "personalBusiness")>>
 		<<run cashX($policyCost, "personalBusiness")>>
 	<</if>>
 <</if>>
@@ -682,7 +682,7 @@
 	<<if $RegularParties != 1>>
 		<<if $rep > 1500>>
 			Your @@.red;reputation is damaged@@ by your not hosting regular social events for your leading citizens.
-			<<set $rep -= 100>>
+			<<run repX(-100, "personalBusiness")>>
 		<<else>>
 			Though you are not hosting regular social events for your leading citizens, your lack of renown prevents this from damaging your reputation; they don't expect someone so relatively unknown to be throwing parties.
 		<</if>>
@@ -762,15 +762,15 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 			<<if $weatherCladding == 1>>
 				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-3)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
 				$arcologies[0].name's hardened exterior only partially resisted the extreme weather this week, and it requires repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.green;grateful@@ to you for upgrading $arcologies[0].name to provide a safe haven from the terrible climate.
-				<<set $rep += 100>>
+				<<run repX(100, "architecture")>>
 			<<elseif $weatherCladding == 2>>
 				<<set _weatherRepairCost to Math.trunc((($weatherToday.severity-4)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
 				$arcologies[0].name's hardened exterior only partially resisted the extreme weather this week, and it requires repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.green;grateful@@ to you for upgrading $arcologies[0].name to provide a safe haven from the terrible climate.
-				<<set $rep += 100>>
+				<<run repX(100, "architecture")>>
 			<<else>>
 				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-2)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
 				Severe weather damaged the arcology this week, requiring repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.red;unhappy@@ that the arcology has proven vulnerable to the terrible climate.
-				<<set $rep -= 100>>
+				<<run repX(-100, "architecture")>>
 			<</if>>
 			<<if $cash > 0>>
 				<<run cashX(_weatherRepairCost, "weather")>>
@@ -789,7 +789,7 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 				<<if $arcologies[0].prosperity > 50>>
 					<<set $arcologies[0].prosperity -= random(5,10), $PC.engineering += .1>>
 				<</if>>
-				<<set $rep = Math.trunc($rep*0.8)>>
+				<<run repX((Math.trunc($rep*0.8)) - $rep, "weather")>>
 				<<set $PC.engineering += .1>>
 				<<run cashX(forceNeg(Math.trunc(_weatherRepairCost/4)), "weather")>>
 			<</if>>
@@ -797,7 +797,7 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 			<<if $weatherToday.severity > 2>>
 				<<set $weatherAwareness = 1>>
 				The arcology's hardened exterior resisted severe weather this week. Your citizens are @@.green;grateful@@ to you for maintaining the arcology as a safe haven from the terrible climate.
-				<<set $rep += 100>>
+				<<run repX(100, "architecture")>>
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index 69c089d0a5e42def01d0cf67e0e70d026f5e37eb..98afff45998cc5c815e7badfb4e227ff35200e73 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -653,7 +653,7 @@
 
 	<<if $arcologies[0].FSChattelReligionistCreed == 1>>
 		<br>''Chattel Religionist Creed:'' Chattel Religionism in your arcology subscribes to the creed established by the $nicaeaName, which honors <<if $nicaeaFocus == "slaves">>slaves<<else>>slaveowners<</if>>, enhances <<if $nicaeaAssignment == "whore">>prostitution<<elseif $nicaeaAssignment == "serve the public">>public service<<else>>fucktoy duty<</if>>, and respects <<if $nicaeaAchievement == "slaves">>owning many sex slaves<<elseif $nicaeaAchievement == "devotion">>worshipful slaves<<else>>trusting slaves<</if>>. The creed is <<if $nicaeaPower > 1>>strong<<else>>somewhat weak<</if>>.
-		[[Repeal|Policies][$arcologies[0].FSChattelReligionistCreed = 0, cashX(-10000, "policies"), $rep -= 2000]]
+		[[Repeal|Policies][$arcologies[0].FSChattelReligionistCreed = 0, cashX(-10000, "policies"), repX(-2000, "policies")]]
 		//Repealing this policy costs twice as much as implementing one.//
 	<</if>>
 
@@ -730,32 +730,32 @@
 
 	<<if $BasicSMR == 0>>
 		<br>''Basic SMR:'' the slave market will be subject to very basic regulations designed to offer buyers some confidence.
-		[[Implement|Policies][$BasicSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$BasicSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help your reputation and affect slaves in the markets//
 	<</if>>
 
 	<<if $HealthInspectionSMR == 0>>
 		<br>''Health Inspection SMR:'' in order to be sold in the slave market, chattel will have to pass a straightforward health inspection.
-		[[Implement|Policies][$HealthInspectionSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$HealthInspectionSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will improve the health of slaves in the markets//
 	<</if>>
 
 	<<if $EducationSMR == 0>>
 		<br>''Basic Education SMR:'' in order to be sold in the slave market, chattel will have to be put through a straightforward course of slave education.
-		[[Implement|Policies][$EducationSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$EducationSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cause all slaves who pass through the markets to become educated//
 	<</if>>
 
 	<<if $FrigiditySMR == 0>>
 		<br>''Frigidity SMR:'' in order to be sold in the slave market, slaves must have their sex drives reduced until they're virtually gone.
-		[[Implement|Policies][$FrigiditySMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$FrigiditySMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce the sex drive of slaves in the markets and annoy those looking for sex slaves//
 	<</if>>
 
 	<<if $BasicBeautySMR == 0>>
 		<<if $QualityBeautySMR == 0>>
 			<br>''Basic Beauty Standards:'' no unattractive slaves may be sold in the slave markets.
-			[[Implement|Policies][$BasicBeautySMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 3000]]
+			[[Implement|Policies][$BasicBeautySMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 3000]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 		<</if>>
 	<</if>>
@@ -763,7 +763,7 @@
 	<<if $BasicBeautySMR == 0>>
 		<<if $QualityBeautySMR == 0>>
 			<br>''Quality Beauty Standards:'' only attractive slaves may be sold in the slave markets.
-			[[Implement|Policies][$QualityBeautySMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 10000]]
+			[[Implement|Policies][$QualityBeautySMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 10000]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 		<</if>>
 	<</if>>
@@ -771,33 +771,33 @@
 	<<if $BasicWeightSMR == 0>>
 		<<if $arcologies[0].FSHedonisticDecadenceSMR == 0>>
 			<br>''Basic Weight Standards:'' slaves must not exceed a weight threshold to be sold in the slave markets.
-			[[Implement|Policies][$BasicWeightSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 3000]]
+			[[Implement|Policies][$BasicWeightSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 3000]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 		<</if>>
 	<</if>>
 
 	<<if $BasicHeightSMR == 0 && $AdvancedHeightSMR == 0>>
 		<br>''Basic Height Standards (Tall):'' tall slaves will be favored in the slave markets and those not quite tall enough will undergo height increasing surgery. This will not preclude the sale of short slaves, just the care of them.
-		[[Implement|Policies][$BasicHeightSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 5000]]
+		[[Implement|Policies][$BasicHeightSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 5000]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.//
 		<br>''Basic Height Standards (Short):'' short slaves will be favored in the slave markets and those just above the cut off will undergo height reducing surgery. This will not preclude the sale of tall slaves, just the care of them.
-		[[Implement|Policies][$BasicHeightSMR = -1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 5000]]
+		[[Implement|Policies][$BasicHeightSMR = -1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 5000]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 	<</if>>
 
 	<<if $BasicHeightSMR == 0 && $AdvancedHeightSMR == 0>>
 		<br>''Quality Height Standards (Tall):'' only slaves of above average height for their age may be sold in the slave markets.
-		[[Implement|Policies][$AdvancedHeightSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 10000]]
+		[[Implement|Policies][$AdvancedHeightSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 10000]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.//
 		<br>''Quality Height Standards (Short):'' only slaves of below average height for their age may be sold in the slave markets.
-		[[Implement|Policies][$AdvancedHeightSMR = -1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 10000]]
+		[[Implement|Policies][$AdvancedHeightSMR = -1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 10000]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 	<</if>>
 
 	<<if $BasicIntelligenceSMR == 0>>
 		<<if $QualityIntelligenceSMR == 0>>
 			<br>''Basic Intelligence Standards:'' no stupid slaves may be sold in the slave markets.
-			[[Implement|Policies][$BasicIntelligenceSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 2000]]
+			[[Implement|Policies][$BasicIntelligenceSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 2000]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 		<</if>>
 	<</if>>
@@ -805,14 +805,14 @@
 	<<if $BasicIntelligenceSMR == 0>>
 		<<if $QualityIntelligenceSMR == 0>>
 			<br>''Quality Intelligence Standards:'' only intelligent slaves may be sold in the slave markets.
-			[[Implement|Policies][$QualityIntelligenceSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 10000]]
+			[[Implement|Policies][$QualityIntelligenceSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 10000]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves significantly.
 		<</if>>
 	<</if>>
 
 	<<if $IntelligenceEugenicsSMR == 0>>
 		<br>''Intelligence Eugenics SMR:'' in order to be sold in the slave market, chattel will have to either pass a challenging intelligence test or be sterilized.
-		[[Implement|Policies][$IntelligenceEugenicsSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$IntelligenceEugenicsSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will
 		<<if $seeDicks == 0>>
 			sterilize
@@ -824,7 +824,7 @@
 	<</if>>
 	<<if $HeightEugenicsSMR == 0>>
 		<br>''Height Eugenics SMR:'' in order to be sold in the slave market, chattel will have to either be taller than a very tall minimum height or be sterilized.
-		[[Implement|Policies][$HeightEugenicsSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$HeightEugenicsSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will
 		<<if $seeDicks == 0>>
 			sterilize
@@ -836,7 +836,7 @@
 	<</if>>
 	<<if $FaceEugenicsSMR == 0>>
 		<br>''Facial Eugenics SMR:'' in order to be sold in the slave market, chattel will have to either pass a rigorous facial exam or be sterilized.
-		[[Implement|Policies][$FaceEugenicsSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$FaceEugenicsSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will
 		<<if $seeDicks == 0>>
 			sterilize
@@ -849,7 +849,7 @@
 
 	<<if $HonestySMR == 0>>
 		<br>''Gingering Prohibition SMR:'' slave sellers will have to contract to provide slaves honestly and without drugging to improve their behavior.
-		[[Implement|Policies][$HonestySMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+		[[Implement|Policies][$HonestySMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will prevent dishonest adulteration of slaves in the markets//
 	<</if>>
 
@@ -861,11 +861,11 @@
 		<<if $arcologies[0].FSDegradationist == "unset">>
 			<<if $citizenRetirementTrigger == 0>>
 				<br>''Menial Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
-				[[Implement|Policies][$citizenRetirementMenials = 1, cashX(-5000, "policies"), $rep -= 1000, $citizenRetirementTrigger = 1]]
+				[[Implement|Policies][$citizenRetirementMenials = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $citizenRetirementTrigger = 1]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all menial slaves//
 			<<else>>
 				<br>''Menial Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
-				[[Implement|Policies][$citizenRetirementMenials = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$citizenRetirementMenials = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all menial slaves//
 			<</if>>
 		<</if>>
@@ -874,13 +874,13 @@
 	<<if $CustomRetirementAgePolicy == 0>>
 		<br>''Redefined Mandatory Retirement Age:'' you will set your arcology's standard retirement age for sex slaves at age
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;<<textbox "$customRetirementAge" $customRetirementAge "Policies">>
-		[[Implement|Policies][$CustomRetirementAgePolicy = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$CustomRetirementAgePolicy = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 	<</if>>
 
 	<<if $PhysicalRetirementAgePolicy == 0>>
 		<br>''Physical Retirement Age:'' you will set your arcology's standard retirement age for sex slaves once their bodies reach age
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;<<textbox "$customRetirementAge" $customRetirementAge "Policies">>
-		[[Implement|Policies][$PhysicalRetirementAgePolicy = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$PhysicalRetirementAgePolicy = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 	<</if>>
 
 	<<if $BioreactorRetirement == 0>>
@@ -888,14 +888,14 @@
 			<<if $CitizenRetirement == 0>>
 				<<if $arcologies[0].FSDegradationist == "unset">>
 					<br>''Sex Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
-					[[Implement|Policies][$CitizenRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+					[[Implement|Policies][$CitizenRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all sex slaves//
 				<</if>>
 				<<if $arcologies[0].FSPaternalist == "unset">>
 					<br>''Public Arcade Retirement:'' once reaching mandatory retirement age, slaves will be placed in cheap public arcades to be used until useless.
-					[[Implement|Policies][$ArcadeRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+					[[Implement|Policies][$ArcadeRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 					<br>''Public Fluid Production Retirement:'' once reaching mandatory retirement age, slaves will be converted for full-time milk<<if $seeDicks != 0>>, vaginal secretion, and semen<</if>> production.
-					[[Implement|Policies][$BioreactorRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+					[[Implement|Policies][$BioreactorRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<</if>>
 			<</if>>
 		<</if>>
@@ -904,30 +904,30 @@
 	<<if $CitizenRetirement == 1>>
 		<<if $SexMilestoneRetirement == 0>>
 			<br>''Sexual Milestone Retirement:'' slaves will be rewarded with their freedom once they have been fucked <<print commaNum($retirementSex)>> times.
-			[[Implement|Policies][$SexMilestoneRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$SexMilestoneRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $MilkMilestoneRetirement == 0>>
 			<br>''Productive Cow Retirement:'' slaves will be rewarded with their freedom once they have given <<print commaNum($retirementMilk)>> liters of milk.
-			[[Implement|Policies][$MilkMilestoneRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$MilkMilestoneRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $CumMilestoneRetirement == 0>>
 			<br>''Productive Bull Retirement:'' slaves will be rewarded with their freedom once they have given <<print commaNum($retirementCum)>> deciliters of cum.
-			[[Implement|Policies][$CumMilestoneRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$CumMilestoneRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $BirthsMilestoneRetirement == 0>>
 			<br>''Fertile Breeder Retirement:'' slaves will be rewarded with their freedom once they add $retirementBirths new slaves to the population of $arcologies[0].name.
-			[[Implement|Policies][$BirthsMilestoneRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$BirthsMilestoneRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $KillsMilestoneRetirement == 0>>
 			<br>''Champion Gladiatrix Retirement:'' slaves will be rewarded with their freedom once they have killed $retirementKills of their fellow slaves in the pit.
-			[[Implement|Policies][$KillsMilestoneRetirement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$KillsMilestoneRetirement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 	<</if>>
 
 	<<if $arcologies[0].FSDegradationist == "unset">>
 		<<if $MixedMarriage == 0>>
 			<br>''Marriage between Owners and Slaves:'' you will provide a legal basis for citizens to marry their slaves without impacting their rights as slaveowners.
-			[[Implement|Policies][$MixedMarriage = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$MixedMarriage = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<<if $arcologies[0].FSPaternalist >= 60>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will not damage your reputation due to your arcology's advanced Paternalism//
 			<<else>>
@@ -941,17 +941,17 @@
 	<<if $OralEncouragement+$VaginalEncouragement+$AnalEncouragement == 0>>
 		<<if $OralDiscouragement == 0>>
 			<br>''Oral Sex Encouragement:'' you will use your personal influence to make blowjobs the most fashionable sex act in the arcology.
-			[[Implement|Policies][$OralEncouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$OralEncouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the weight on slaves' oral skills//
 		<</if>>
 		<<if $VaginalDiscouragement == 0>>
 			<br>''Vaginal Sex Encouragement:'' you will use your personal influence to keep pussies the most fashionable holes in the arcology.
-			[[Implement|Policies][$VaginalEncouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$VaginalEncouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the weight on slaves' vaginal skills//
 		<</if>>
 		<<if $AnalDiscouragement == 0>>
 			<br>''Anal Sex Encouragement:'' you will use your personal influence to make anuses the most fashionable holes in the arcology.
-			[[Implement|Policies][$AnalEncouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AnalEncouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the weight on slaves' anal skills//
 		<</if>>
 	<</if>>
@@ -959,44 +959,44 @@
 	<<if $OralDiscouragement == 0>>
 		<<if $OralEncouragement == 0>>
 			<br>''Anti-Oral Campaign:'' you will use your personal influence to denigrate oral sex.
-			[[Implement|Policies][$OralDiscouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$OralDiscouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will decrease the weight on slaves' oral skills//
 		<</if>>
 	<</if>>
 	<<if $VaginalDiscouragement == 0>>
 		<<if $VaginalEncouragement == 0>>
 			<br>''Anti-Vaginal Campaign:'' you will use your personal influence to communicate disapproval of vaginal sex.
-			[[Implement|Policies][$VaginalDiscouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$VaginalDiscouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will decrease the weight on slaves' vaginal skills//
 		<</if>>
 	<</if>>
 	<<if $AnalDiscouragement == 0>>
 		<<if $AnalEncouragement == 0>>
 			<br>''Anti-Anal Campaign:'' you will use your personal influence to communicate disgust with putting things up the butt.
-			[[Implement|Policies][$AnalDiscouragement = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AnalDiscouragement = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will decrease the weight on slaves' anal skills//
 		<</if>>
 	<</if>>
 
 	<<if $sexualOpeness == 0>>
 		<br>''Penetrative Sex Campaign:'' you will use your personal influence and interest in being penetrated to make slave based penetration fashionable and acceptable.
-		[[Implement|Policies][$sexualOpeness = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$sexualOpeness = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will not be well received, but will head off potentially damaging rumors. This policy assumes you wish to be penetrated.//
 	<</if>>
 
 	/* sub FS policies */
 	<<if $arcologies[0].FSRepopulationFocusPregPolicy == 0 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset" && $seePreg == 1>>
 		<br>''Pregnancy Encouragement:'' you will use your personal influence to spur interest in pregnancy.
-		[[Implement|Policies][$arcologies[0].FSRepopulationFocusPregPolicy = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$arcologies[0].FSRepopulationFocusPregPolicy = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 	<</if>>
 	<<if $arcologies[0].FSRepopulationFocusMilfPolicy == 0 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
 		<br>''Motherly Preference:'' you will use your personal influence to spur interest in MILFs.
-		[[Implement|Policies][$arcologies[0].FSRepopulationFocusMilfPolicy = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$arcologies[0].FSRepopulationFocusMilfPolicy = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 	<</if>>
 
 	<<if $arcologies[0].FSEgyptianRevivalistIncestPolicy == 0 && $arcologies[0].FSEgyptianRevivalist == "unset">>
 		<br>''Incest Encouragement:'' you will use your personal influence to spur interest in incest.
-		[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistIncestPolicy = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistIncestPolicy = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 	<</if>>
 
 	<br><br>__Population Policy__
@@ -1004,12 +1004,12 @@
 	<<if $arcologies[0].FSDegradationist == "unset">>
 		<<if $ProRefugees == 0>>
 			<br>''Encourage Refugee Servitude:'' the image of slavery in your arcology will be softened, encouraging old world refugees to consider slavery.
-			[[Implement|Policies][$ProRefugees = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProRefugees = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase immigration of refugees to become menial slaves//
 		<</if>>
 		<<if $ProRecruitment == 0>>
 			<br>''Encourage Self-Enslavement:'' your image as a slaveowner will be softened, encouraging the desperate to consider coming to you for enslavement.
-			[[Implement|Policies][$ProRecruitment = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProRecruitment = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the chances of desperate people offering themselves to you for enslavement//
 		<</if>>
 	<</if>>
@@ -1017,7 +1017,7 @@
 	<<if $AntiImmigrationCash == 0>>
 		<<if $ProImmigrationCash == 0>>
 			<br>''Immigration Promotion:'' you will offer citizen immigrants a generous promotion.
-			[[Implement|Policies][$ProImmigrationCash = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProImmigrationCash = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain, and increase the citizen population//
 		<</if>>
 	<</if>>
@@ -1025,7 +1025,7 @@
 	<<if $AntiImmigrationRep == 0>>
 		<<if $ProImmigrationRep == 0>>
 			<br>''Welcome Program:'' you will use your personal influence to encourage wealthy people to immigrate.
-			[[Implement|Policies][$ProImmigrationRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProImmigrationRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will annoy some longstanding citizens, and increase the citizen population//
 		<</if>>
 	<</if>>
@@ -1033,7 +1033,7 @@
 	<<if $ProImmigrationCash == 0>>
 		<<if $AntiImmigrationCash == 0>>
 			<br>''Immigrant Information Brokerage:'' you will covertly sell information on troubled potential immigrants to your arcology to their old world enemies.
-			[[Implement|Policies][$AntiImmigrationCash = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AntiImmigrationCash = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will produce <<print cashFormat($policyCost)>> weekly, and slow growth of the citizen population//
 		<</if>>
 	<</if>>
@@ -1041,7 +1041,7 @@
 	<<if $ProImmigrationRep == 0>>
 		<<if $AntiImmigrationRep == 0>>
 			<br>''Citizen Input on Immigration:'' you will selectively turn away potential immigrants to the arcology based on the recommendations of citizens.
-			[[Implement|Policies][$AntiImmigrationRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AntiImmigrationRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will produce a small amount of reputation weekly, and slow growth of the citizen population//
 		<</if>>
 	<</if>>
@@ -1049,7 +1049,7 @@
 	<<if $AntiEnslavementCash == 0>>
 		<<if $ProEnslavementCash == 0>>
 			<br>''Enslavement Kickbacks:'' you will take kickbacks in return for turning a blind eye to enslavement of poor citizens.
-			[[Implement|Policies][$ProEnslavementCash = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProEnslavementCash = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will produce <<print cashFormat($policyCost)>> weekly, and reduce the population of citizens//
 		<</if>>
 	<</if>>
@@ -1057,7 +1057,7 @@
 	<<if $AntiEnslavementRep == 0>>
 		<<if $ProEnslavementRep == 0>>
 			<br>''Covert Upstart Enslavement:'' you will offer prominent citizens your tacit assistance in enslaving rivals.
-			[[Implement|Policies][$ProEnslavementRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$ProEnslavementRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will produce a small amount of reputation weekly, and reduce the population of citizens//
 		<</if>>
 	<</if>>
@@ -1065,7 +1065,7 @@
 	<<if $ProEnslavementCash == 0>>
 		<<if $AntiEnslavementCash == 0>>
 			<br>''Poor Citizen Relief:'' you will offer limited emergency assistance to poor citizens in danger of being enslaved.
-			[[Implement|Policies][$AntiEnslavementCash = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AntiEnslavementCash = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain, and slow population movement from citizens to slaves//
 		<</if>>
 	<</if>>
@@ -1073,7 +1073,7 @@
 	<<if $ProEnslavementRep == 0>>
 		<<if $AntiEnslavementRep == 0>>
 			<br>''Charity Promotion Efforts:'' you will use your personal influence to discourage enslavement of citizens.
-			[[Implement|Policies][$AntiEnslavementRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$AntiEnslavementRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will annoy some prominent citizens, and slow population movement from citizens to slaves//
 		<</if>>
 	<</if>>
@@ -1082,62 +1082,62 @@
 
 	<<if $alwaysSubsidizeGrowth == 0>>
 		<br>''Economic Growth Subsidy:'' promising new businesses will be offered generous subsidies, driving arcology prosperity.
-		[[Implement|Policies][$alwaysSubsidizeGrowth = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$alwaysSubsidizeGrowth = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain, and improve arcology prosperity//
 	<</if>>
 
 	<<if $alwaysSubsidizeRep == 0>>
 		<br>''Self-Promotion Program:'' subtle paid advertising will communicate your good side to the public and ease any rumors about you.
-		[[Implement|Policies][$alwaysSubsidizeRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$alwaysSubsidizeRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain, and improve your reputation//
 	<</if>>
 
 	<<if $RepForCash == 0>>
 		<<if $CashForRep == 0>>
 			<br>''Business Generosity:'' you will do your best to help your citizens, even when it disadvantages you personally.
-			[[Implement|Policies][$CashForRep = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$CashForRep = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost approximately <<print cashFormat($policyCost)>> weekly, and improve your reputation//
 			<br>''Business Selfishness:'' you will leverage your position as arcology owner for money, even when it disadvantages citizens.
-			[[Implement|Policies][$RepForCash = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$RepForCash = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost some reputation, and produce approximately <<print cashFormat($policyCost)>> weekly//
 		<</if>>
 	<</if>>
 
 	<<if $goodImageCampaign == 0>>
 		<br>''Good Image Campaign:'' positive rumors will be spread throughout the arcology regarding you.
-		[[Implement|Policies][$goodImageCampaign = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$goodImageCampaign = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain, and lessen any potential rumors about you while giving a small boost to your reputation//
 	<</if>>
 
 	<<if $seePreg != 0>>
 		<<if $Cash4Babies == 0>>
 			<br>''Free Trade of Slave Babies:'' you will legalize slave children to be sold after birth rather than put into slave orphanages.
-			[[Implement|Policies][$Cash4Babies = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$Cash4Babies = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Can supply easy money, but will harm your reputation//
 		<</if>>
 	<</if>>
 
 	<<if $RegularParties == 0>>
 		<br>''Regular Entertainments:'' you will host regular parties for prominent citizens, an expected social duty of an arcology owner.
-		[[Implement|Policies][$RegularParties = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$RegularParties = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly<<if $rep > 18000>>, and prevent damage to your reputation<</if>>//
 	<</if>>
 
 	<<if $PAPublic == 0>>
 		<br>''Public Personal Assistant:'' $assistantName will become part of your public image.
-		[[Implement|Policies][$PAPublic = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$PAPublic = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//May improve cultural development if $assistantName's appearance is fashionable//
 	<</if>>
 
 	<<if $CoursingAssociation == 0>>
 		<br>''Coursing Association:'' you will sponsor a Coursing Association that will hold monthly races.
-		[[Implement|Policies][$CoursingAssociation = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$CoursingAssociation = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat(1000)>> weekly to maintain//
 	<</if>>
 
 	<<if ($RaidingMercenaries == 0) && ($mercenariesHelpCorp == 1)>>
 		<br>''Mercenary Raiding:'' you will allow your mercenaries to occasionally conduct a raid directly for your benefit.
-		[[Implement|Policies][$RaidingMercenaries = 1, cashX(-5000, "policies"), $rep -= 1000]]
+		[[Implement|Policies][$RaidingMercenaries = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will cost <<print cashFormat($policyCost)>> weekly to maintain//
 	<</if>>
 
@@ -1252,9 +1252,9 @@
 	<<if $arcologies.length > 1>>
 		<<if $CulturalOpenness == 0>>
 			<br>''Cultural Openness:'' you will promote the exchange of ideas between arcologies, increasing cultural crossover between your arcology and its neighbors.
-			[[Implement|Policies][$CulturalOpenness = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$CulturalOpenness = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>''Cultural Defensiveness:'' you will do your best to suppress the exchange of ideas between arcologies, reducing cultural crossover between your arcology and its neighbors.
-			[[Implement|Policies][$CulturalOpenness = -1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$CulturalOpenness = -1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 	<</if>>
 
@@ -1262,7 +1262,7 @@
 		<<if $arcologies[0].FSSupremacist >= 40>>
 			<<if $arcologies[0].FSSupremacistSMR == 0>>
 				<br>''@@.lime;Ethnic Preservation SMR:@@'' in order to be sold in the arcology, slaves of inferior races with dicks will have to have their balls removed to prevent racial pollution.
-				[[Implement|Policies][$arcologies[0].FSSupremacistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSupremacistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance racial Supremacy//
 			<</if>>
 		<</if>>
@@ -1272,9 +1272,9 @@
 		<<if $arcologies[0].FSSupremacistLawME == 0>>
 			<br>''@@.lime;Universal Enslavement of the Impure:@@'' will force anyone not of the $arcologies[0].FSSupremacistRace race to emigrate or accept enslavement, and make sex with non-$arcologies[0].FSSupremacistRace people such an expectation that the appetite for all such slaves will increase slightly.
 			<<if $FSSupLawTrigger == 0>>
-				[[Implement|Policies][$arcologies[0].FSSupremacistLawME = 1, $FSSupLawTrigger = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSupremacistLawME = 1, $FSSupLawTrigger = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<<else>>
-				[[Implement|Policies][$arcologies[0].FSSupremacistLawME = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSupremacistLawME = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<</if>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect the slave market and arcology drastically//
 		<</if>>
@@ -1284,7 +1284,7 @@
 		<<if $arcologies[0].FSSubjugationist >= 40>>
 			<<if $arcologies[0].FSSubjugationistSMR == 0>>
 				<br>''@@.lime;Racial Purity SMR:@@'' in order to be sold in the arcology, subhumans with dicks will have to have their balls removed to prevent racial pollution.
-				[[Implement|Policies][$arcologies[0].FSSubjugationistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSubjugationistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance racial Subjugation//
 			<</if>>
 		<</if>>
@@ -1294,9 +1294,9 @@
 		<<if $arcologies[0].FSSubjugationistLawME == 0>>
 			<br>''@@.lime;Universal Enslavement of Subhumans:@@'' will force slavery on all $arcologies[0].FSSubjugationistRace subhumans in your arcology, and make sex with $arcologies[0].FSSubjugationistRace people such an expectation that the appetite for all such slaves will increase slightly.
 			<<if $FSSubLawTrigger == 0>>
-				[[Implement|Policies][$arcologies[0].FSSubjugationistLawME = 1, $FSSubLawTrigger = 1, cashX(-5000, "policies"), $rep-= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSubjugationistLawME = 1, $FSSubLawTrigger = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<<else>>
-				[[Implement|Policies][$arcologies[0].FSSubjugationistLawME = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSSubjugationistLawME = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<</if>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect the slave market and arcology drastically//
 		<</if>>
@@ -1305,7 +1305,7 @@
 	<<if $arcologies[0].FSRepopulationFocusDecoration >= 40>>
 		<<if $arcologies[0].FSRepopulationFocusSMR == 0>>
 			<br>''@@.lime;Occupied Womb SMR:@@'' in order to be sold in the arcology, slaves will be made capable of pregnancy, if they are not, and subsequently impregnated.
-			[[Implement|Policies][$arcologies[0].FSRepopulationFocusSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSRepopulationFocusSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance repopulation efforts. Due to surgery costs, male slaves will become less common.//
 		<</if>>
 	<</if>>
@@ -1313,7 +1313,7 @@
 	<<if $arcologies[0].FSRepopulationFocusDecoration >= 90>>
 		<<if $arcologies[0].FSRepopulationFocusLaw == 0>>
 			<br>''@@.lime;Universal Pregnancy Subsidy:@@'' pregnant citizens will be offered reduced rent.
-			[[Implement|Policies][$arcologies[0].FSRepopulationFocusLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSRepopulationFocusLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce your rental income//
 		<</if>>
 	<</if>>
@@ -1321,7 +1321,7 @@
 	<<if $arcologies[0].FSRestartDecoration >= 40>>
 		<<if $arcologies[0].FSRestartSMR == 0>>
 			<br>''@@.lime;Population Control SMR:@@'' in order to be sold in the arcology, slave ovaries and testicles will be removed.
-			[[Implement|Policies][$arcologies[0].FSRestartSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSRestartSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance starting society over.//
 		<</if>>
 	<</if>>
@@ -1329,7 +1329,7 @@
 	<<if $arcologies[0].FSRestartDecoration >= 90>>
 		<<if $arcologies[0].FSRestartLaw == 0>>
 			<br>''@@.lime;Taxation of Fertile Non-Elite:@@'' fertile civilians, who are not part of society's elite, will face increased taxation.
-			[[Implement|Policies][$arcologies[0].FSRestartLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSRestartLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase your rental income, but the lower class will dislike you.//
 		<</if>>
 	<</if>>
@@ -1338,7 +1338,7 @@
 		<<if $rep > 5000>>
 			<<if $arcologies[0].FSRestartResearch == 0>>
 				<br>''@@.lime;Elite Breeder Eligibility:@@'' slaves that pass very strict tests may be permitted for use by the Societal Elite to bear their children.
-				[[Propose|Breeder Proposal][$arcologies[0].FSRestartResearch = 1, $rep -= 5000]]
+				[[Propose|Breeder Proposal][$arcologies[0].FSRestartResearch = 1, repX(-5000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will greatly damage your reputation for even proposing.//
 			<</if>>
 		<</if>>
@@ -1347,41 +1347,41 @@
 	<<if $arcologies[0].FSGenderFundamentalist >= 20>>
 		<<if $arcologies[0].FSGenderFundamentalistLawBeauty == 0 && $arcologies[0].FSSlimnessEnthusiastLaw == 0 && $arcologies[0].FSHedonisticDecadenceLaw2 == 0 && $arcologies[0].FSPhysicalIdealistLaw == 0>>
 			<br>''@@.lime;Fashionable Feminine Ideal:@@'' you will do your best to start a fashion for elegant girls with just the right amount of T&A.
-			[[Implement|Policies][$arcologies[0].FSGenderFundamentalistLawBeauty = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSGenderFundamentalistLawBeauty = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $arcologies[0].FSGenderFundamentalistLawBimbo == 0>>
 			<br>''@@.lime;Bimbo Fetishism:@@'' you will do your best to encourage sexual attraction to female stupidity.
-			[[Implement|Policies][$arcologies[0].FSGenderFundamentalistLawBimbo = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSGenderFundamentalistLawBimbo = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $arcologies[0].FSGenderFundamentalist >= 40>>
 			<<if $arcologies[0].FSGenderFundamentalistSMR == 0>>
 			<br>''@@.lime;Mandatory Feminization SMR:@@'' in order to be sold in the arcology, slaves with dicks must have their balls removed.
-				[[Implement|Policies][$arcologies[0].FSGenderFundamentalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSGenderFundamentalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Gender Fundamentalism//
 			<</if>>
 		<</if>>
 	<<elseif $arcologies[0].FSGenderRadicalist >= 20>>
 		<<if $arcologies[0].FSGenderRadicalistLawBeauty == 0 && $arcologies[0].FSSlimnessEnthusiastLaw == 0 && $arcologies[0].FSHedonisticDecadenceLaw2 == 0 && $arcologies[0].FSPhysicalIdealistLaw == 0>>
 			<br>''@@.lime;Fashionable Feminine Aspiration:@@'' you will do your best to start a fashion for turning slaves into elegant girls with just the right amount of T&A.
-			[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawBeauty = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawBeauty = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 		<</if>>
 		<<if $seeDicks != 0>>
 			<<if $arcologies[0].FSGenderRadicalist >= 60>>
 				<<if ($arcologies[0].FSGenderRadicalistLawFuta == 0)>>
 					<br>''@@.lime;Futanari Focused Radicalism:@@'' you will encourage veneration of slaves with both dicks and pussies.
-					[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 1, cashX(-5000, "policies"), $rep -= 1000]]
+					[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect citizens' appreciation of futas//
 					<br>''@@.lime;Cock and Balls Focused Radicalism:@@'' you will encourage an appreciation for stiff dicks and swinging balls.
-					[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 2, cashX(-5000, "policies"), $rep -= 1000]]
+					[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 2, cashX(-5000, "policies"), repX(-1000, "policies")]]
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect slaves' attractiveness to citizens//
 					<<if $arcologies[0].FSSlimnessEnthusiastLaw == 0>>
 						<br>''@@.lime;Bottom Heavy Radicalism:@@'' you will encourage an appreciation for broad hips, plush asses, big buttholes, and skilled sphincters.
-						[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 3, cashX(-5000, "policies"), $rep -= 1000]]
+						[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 3, cashX(-5000, "policies"), repX(-1000, "policies")]]
 						<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect slaves' attractiveness to citizens//
 					<</if>>
 					<<if $arcologies[0].FSHedonisticDecadenceLaw2 == 0>>
 						<br>''@@.lime;Femboy Focused Radicalism:@@'' you will encourage an appreciation for cute, flat chested slaves with small male genitals and no vagina.
-						[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 4, cashX(-5000, "policies"), $rep -= 1000]]
+						[[Implement|Policies][$arcologies[0].FSGenderRadicalistLawFuta = 4, cashX(-5000, "policies"), repX(-1000, "policies")]]
 						<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will affect slaves' attractiveness to citizens//
 					<</if>>
 				<</if>>
@@ -1393,14 +1393,14 @@
 		<<if $arcologies[0].FSDegradationistSMR == 0>>
 			<<if $arcologies[0].FSPaternalistSMR == 0>>
 				<br>''@@.lime;Human Dignity SMR:@@'' the slave markets will be required to treat incoming slaves reasonably well.
-				[[Implement|Policies][$arcologies[0].FSPaternalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+				[[Implement|Policies][$arcologies[0].FSPaternalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce the arcology's prosperity and help advance Paternalism//
 			<</if>>
 		<</if>>
 		<<if $arcologies[0].FSPaternalist >= 60>>
 			<<if $arcologies[0].FSPaternalistLaw == 0>>
 				<br>''@@.lime;Good Treatment Subsidy:@@'' slaveowners who treat their slaves well will be offered reduced rent.
-				[[Implement|Policies][$arcologies[0].FSPaternalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSPaternalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce your rental income//
 			<</if>>
 		<</if>>
@@ -1410,14 +1410,14 @@
 		<<if $arcologies[0].FSPaternalistSMR == 0>>
 			<<if $arcologies[0].FSDegradationistSMR == 0>>
 				<br>''@@.lime;Agonizing Induction SMR:@@'' slave markets are required to punish new slaves severely simply to introduce them to pain.
-				[[Implement|Policies][$arcologies[0].FSDegradationistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSDegradationistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Degradationism//
 			<</if>>
 		<</if>>
 		<<if $arcologies[0].FSDegradationist >= 90>>
 			<<if $arcologies[0].FSDegradationistLaw == 0>>
 				<br>''@@.lime;Universal Arcade Access Mandate:@@'' slaveowners will be required to allow their menial slaves to use the sex arcades.
-				[[Implement|Policies][$arcologies[0].FSDegradationistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSDegradationistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce labor efficiency, damaging the arcology's prosperity//
 			<</if>>
 		<</if>>
@@ -1426,13 +1426,13 @@
 	<<if $arcologies[0].FSBodyPurist >= 40>>
 		<<if $arcologies[0].FSBodyPuristSMR == 0>>
 			<br>''@@.lime;Body Purity SMR:@@'' in order to be sold in your arcology, slaves must be stripped of implants and body modifications.
-			[[Implement|Policies][$arcologies[0].FSBodyPuristSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSBodyPuristSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Body Purism//
 		<</if>>
 		<<if $arcologies[0].FSBodyPurist >= 90>>
 			<<if $arcologies[0].FSBodyPuristLaw == 0>>
 				<br>''@@.lime;Drug Purity Mandate:@@'' all drugs in the arcology will be subjected to rigorous testing for purity.
-				[[Implement|Policies][$arcologies[0].FSBodyPuristLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSBodyPuristLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce slaving profits, damaging the arcology's prosperity//
 			<</if>>
 		<</if>>
@@ -1441,7 +1441,7 @@
 	<<if $arcologies[0].FSTransformationFetishist >= 40>>
 		<<if $arcologies[0].FSTransformationFetishistSMR == 0>>
 			<br>''@@.lime;Mandatory Bimbofication SMR:@@'' in order to be sold in your arcology, slaves must be given a set of fake tits and ass.
-			[[Implement|Policies][$arcologies[0].FSTransformationFetishistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSTransformationFetishistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Transformation Fetishism//
 		<</if>>
 	<</if>>
@@ -1449,13 +1449,13 @@
 	<<if $arcologies[0].FSYouthPreferentialist >= 40>>
 		<<if $arcologies[0].FSYouthPreferentialistSMR == 0>>
 			<br>''@@.lime;Respect for Youth SMR:@@'' slave markets in your arcology are required to treat younger slaves carefully.
-			[[Implement|Policies][$arcologies[0].FSYouthPreferentialistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSYouthPreferentialistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Youth Preferentialism//
 		<</if>>
 		<<if $arcologies[0].FSYouthPreferentialist >= 90>>
 			<<if $arcologies[0].FSYouthPreferentialistLaw == 0>>
 				<br>''@@.lime;Youthful Citizen Subsidy:@@'' young citizens will be offered reduced rent.
-				[[Implement|Policies][$arcologies[0].FSYouthPreferentialistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSYouthPreferentialistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce your rental income//
 			<</if>>
 		<</if>>
@@ -1464,13 +1464,13 @@
 	<<if $arcologies[0].FSMaturityPreferentialist >= 40>>
 		<<if $arcologies[0].FSMaturityPreferentialistSMR == 0 && $arcologies[0].FSHedonisticDecadenceSMR == 0>>
 			<br>''@@.lime;Respect for Maturity SMR:@@'' slave markets in your arcology are required to treat mature slaves properly.
-			[[Implement|Policies][$arcologies[0].FSMaturityPreferentialistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSMaturityPreferentialistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Maturity Preferentialism//
 		<</if>>
 		<<if $arcologies[0].FSMaturityPreferentialist >= 90>>
 			<<if $arcologies[0].FSMaturityPreferentialistLaw == 0>>
 				<br>''@@.lime;Mature Citizen Subsidy:@@'' older citizens will be offered reduced rent.
-				[[Implement|Policies][$arcologies[0].FSMaturityPreferentialistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSMaturityPreferentialistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce your rental income//
 			<</if>>
 		<</if>>
@@ -1479,11 +1479,11 @@
 	<<if $arcologies[0].FSSlimnessEnthusiast >= 40>>
 		<<if $arcologies[0].FSSlimnessEnthusiastSMR == 0>>
 			<br>''@@.lime;Physical fitness SMR:@@'' in order to be sold in the arcology, chubby slaves will have to be forced to work out first.
-			[[Implement|Policies][$arcologies[0].FSSlimnessEnthusiastSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSSlimnessEnthusiastSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<</if>>
 		<<if $arcologies[0].FSSlimnessEnthusiastLaw == 0 && $arcologies[0].FSGenderRadicalistLawBeauty == 0 && $arcologies[0].FSGenderFundamentalistLawBeauty == 0 && $arcologies[0].FSGenderRadicalistLawFuta != 3 && $arcologies[0].FSHedonisticDecadenceLaw2 == 0 && $arcologies[0].FSPhysicalIdealistLaw == 0>>
 			<br>''@@.lime;Flat Feminine Ideal:@@'' you will do your best to start a fashion for elegant girls with just the right amount of T&A, none!
-			[[Implement|Policies][$arcologies[0].FSSlimnessEnthusiastLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSSlimnessEnthusiastLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Flat slaves will enjoy increased attractiveness to citizens//
 		<</if>>
 	<</if>>
@@ -1491,20 +1491,20 @@
 	<<if $arcologies[0].FSAssetExpansionist >= 40>>
 		<<if $arcologies[0].FSAssetExpansionistSMR == 0>>
 			<br>''@@.lime;Asset Expansion SMR:@@'' in order to be sold in the arcology, slaves will have to have their assets expanded with growth hormones.
-			[[Implement|Policies][$arcologies[0].FSAssetExpansionistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSAssetExpansionistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 		<</if>>
 	<</if>>
 
 	<<if $arcologies[0].FSPastoralist >= 40>>
 		<<if $arcologies[0].FSPastoralistSMR == 0>>
 			<br>''@@.lime;Universal Slave Lactation SMR:@@'' in order to be sold in the arcology, slaves must be actively lactating.
-			[[Implement|Policies][$arcologies[0].FSPastoralistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSPastoralistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Pastoralism//
 		<</if>>
 		<<if $arcologies[0].FSPastoralist >= 90>>
 			<<if $arcologies[0].FSPastoralistLaw == 0>>
 				<br>''@@.lime;Animal Products Ban:@@'' animal products that compete with slave fluids will be banned.
-				[[Implement|Policies][$arcologies[0].FSPastoralistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSPastoralistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will reduce market freedom, damaging the arcology's prosperity//
 			<</if>>
 		<</if>>
@@ -1513,7 +1513,7 @@
 	<<if $arcologies[0].FSPhysicalIdealist >= 40>>
 		<<if $arcologies[0].FSPhysicalIdealistSMR == 0>>
 			<br>''@@.lime;Lifting SMR:@@'' in order to be sold in the arcology, slaves will have to be <<if $arcologies[0].FSPhysicalIdealistLaw == 1>>toned<<else>>bulked<</if>>.
-			[[Implement|Policies][$arcologies[0].FSPhysicalIdealistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSPhysicalIdealistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Physical Idealism//
 		<</if>>
 		<<if $arcologies[0].FSPhysicalIdealist >= 60>>
@@ -1534,7 +1534,7 @@
 		<<if $BasicWeightSMR == 0>>
 			<<if $arcologies[0].FSHedonisticDecadenceSMR == 0 && $arcologies[0].FSMaturityPreferentialistSMR == 0>>
 				<br>''@@.lime;Corpulence SMR:@@'' in order to be sold in the arcology, slaves must be plump.
-				[[Implement|Policies][$arcologies[0].FSHedonisticDecadenceSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+				[[Implement|Policies][$arcologies[0].FSHedonisticDecadenceSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Hedonistic Decadence//
 			<</if>>
 		<</if>>
@@ -1562,13 +1562,13 @@
 	<<if $arcologies[0].FSChattelReligionist >= 40>>
 		<<if $arcologies[0].FSChattelReligionistSMR == 0>>
 			<br>''@@.lime;Consecration by Public Use SMR:@@'' in order to be sold in the arcology, slaves must be offered for public use for a single day.
-			[[Implement|Policies][$arcologies[0].FSChattelReligionistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSChattelReligionistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Chattel Religionism//
 		<</if>>
 		<<if $arcologies[0].FSChattelReligionist >= 90>>
 			<<if $arcologies[0].FSChattelReligionistLaw == 0>>
 				<br>''@@.lime;Official Religion:@@'' you will be enshrined as the prophet of a vibrant slaveowning religion.
-				[[Implement|Policies][$arcologies[0].FSChattelReligionistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSChattelReligionistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase your renown//
 			<</if>>
 		<</if>>
@@ -1576,7 +1576,7 @@
 	<<if $nicaeaHeld == 1>>
 		<<if $arcologies[0].FSChattelReligionistCreed == 0>>
 			<br>''@@.lime;Chattel Religionist Creed:@@'' Chattel Religionism in your arcology will subscribe to the creed established by the $nicaeaName, which honors <<if $nicaeaFocus == "slaves">>slaves<<else>>slaveowners<</if>>, enhances <<if $nicaeaAssignment == "whore">>prostitution<<elseif $nicaeaAssignment == "serve the public">>public service<<else>>fucktoy duty<</if>>, and respects <<if $nicaeaAchievement == "slaves">>owning many sex slaves<<elseif $nicaeaAchievement == "devotion">>worshipful slaves<<else>>trusting slaves<</if>>. The creed is <<if $nicaeaPower > 1>>strong<<else>>somewhat weak<</if>>.
-			[[Implement|Policies][$arcologies[0].FSChattelReligionistCreed = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSChattelReligionistCreed = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			//Repealing this policy costs twice as much as implementing it.//
 		<</if>>
 	<</if>>
@@ -1584,13 +1584,13 @@
 	<<if $arcologies[0].FSRomanRevivalist >= 40>>
 		<<if $arcologies[0].FSRomanRevivalistSMR == 0>>
 			<br>''@@.lime;Market Slave Expendability SMR:@@'' slave markets are encouraged to immediately dispose of low quality menial slaves in gladiatorial combats.
-			[[Implement|Policies][$arcologies[0].FSRomanRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSRomanRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Roman Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSRomanRevivalist >= 90>>
 			<<if $arcologies[0].FSRomanRevivalistLaw == 0>>
 				<br>''@@.lime;Republican Military Establishment:@@'' all citizens of stature will be required to participate personally in the defense of the state.
-				[[Implement|Policies][$arcologies[0].FSRomanRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSRomanRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will improve your arcology's combat power during crises//
 			<</if>>
 		<</if>>
@@ -1599,13 +1599,13 @@
 	<<if $arcologies[0].FSAztecRevivalist >= 40>>
 		<<if $arcologies[0].FSAztecRevivalistSMR == 0>>
 			<br>''@@.lime;Captured and Incorrigible Slaves Tribute:@@'' all captured and incorrigible slaves must be made tribute to the altars.
-			[[Implement|Policies][$arcologies[0].FSAztecRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000]]
+			[[Implement|Policies][$arcologies[0].FSAztecRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Aztec Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSAztecRevivalist >= 90>>
 			<<if $arcologies[0].FSAztecRevivalistLaw == 0>>
 				<br>''@@.lime;Mandatory Artisan Training:@@'' to inherit or receive a trade a citizen must pass a mandatory course in one of the academies.
-				[[Implement|Policies][$arcologies[0].FSAztecRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSAztecRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will improve your arcology's combat power during crises//
 			<</if>>
 		<</if>>
@@ -1614,13 +1614,13 @@
 	<<if $arcologies[0].FSEgyptianRevivalist >= 40>>
 		<<if $arcologies[0].FSEgyptianRevivalistSMR == 0>>
 			<br>''@@.lime;Egyptian Cultural Induction SMR:@@'' in order to be sold in the arcology, slaves must be instructed in the cultural tenets of ancient Egypt.
-			[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Egyptian Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSEgyptianRevivalist >= 90>>
 			<<if $arcologies[0].FSEgyptianRevivalistLaw == 0>>
 				<br>''@@.lime;Pharaoh's Consort:@@'' your Head Girl will be given legal status as your Consort.
-				[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSEgyptianRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase your Head Girl's prominence//
 			<</if>>
 		<</if>>
@@ -1629,13 +1629,13 @@
 	<<if $arcologies[0].FSEdoRevivalist >= 40>>
 		<<if $arcologies[0].FSEdoRevivalistSMR == 0>>
 			<br>''@@.lime;Edo Cultural Induction SMR:@@'' in order to be sold in the arcology, slaves must be instructed in the cultural tenets of Edo Japan.
-			[[Implement|Policies][$arcologies[0].FSEdoRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSEdoRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Edo Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSEdoRevivalist >= 90>>
 			<<if $arcologies[0].FSEdoRevivalistLaw == 0>>
 				<br>''@@.lime;Cultural Insularity:@@'' will protect the arcology from old world influences.
-				[[Implement|Policies][$arcologies[0].FSEdoRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSEdoRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will speed the acceptance of all future societies//
 			<</if>>
 		<</if>>
@@ -1644,13 +1644,13 @@
 	<<if $arcologies[0].FSArabianRevivalist >= 40>>
 		<<if $arcologies[0].FSArabianRevivalistSMR == 0>>
 			<br>''@@.lime;Arabian Cultural Induction SMR:@@'' in order to be sold in the arcology, slaves must be instructed in the cultural tenets of the old Caliphate.
-			[[Implement|Policies][$arcologies[0].FSArabianRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSArabianRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Arabian Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSArabianRevivalist >= 90>>
 			<<if $arcologies[0].FSArabianRevivalistLaw == 0>>
 				<br>''@@.lime;Jizya Tax:@@'' will raise the rents of unassimilated citizens, speeding the acceptance of all future societies.
-				[[Implement|Policies][$arcologies[0].FSArabianRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSArabianRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will moderately increase rental income and improve acceptance of all future societies//
 			<</if>>
 		<</if>>
@@ -1659,13 +1659,13 @@
 	<<if $arcologies[0].FSChineseRevivalist >= 40>>
 		<<if $arcologies[0].FSChineseRevivalistSMR == 0>>
 			<br>''@@.lime;Imperial Cultural Induction SMR:@@'' in order to be sold in the arcology, slaves must be instructed in the cultural tenets of Imperial China.
-			[[Implement|Policies][$arcologies[0].FSChineseRevivalistSMR = 1, cashX(-5000, "policies"), $rep -= 1000, $minimumSlaveCost += 500]]
+			[[Implement|Policies][$arcologies[0].FSChineseRevivalistSMR = 1, cashX(-5000, "policies"), repX(-1000, "policies"), $minimumSlaveCost += 500]]
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will help advance Chinese Revivalism//
 		<</if>>
 		<<if $arcologies[0].FSChineseRevivalist >= 90>>
 			<<if $arcologies[0].FSChineseRevivalistLaw == 0>>
 				<br>''@@.lime;Slave Administrator Enabling Law:@@'' will afford your Head Girl considerable legal power, allowing her to accomplish even more slave training.
-				[[Implement|Policies][$arcologies[0].FSChineseRevivalistLaw = 1, cashX(-5000, "policies"), $rep -= 1000]]
+				[[Implement|Policies][$arcologies[0].FSChineseRevivalistLaw = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will moderately increase rental income//
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/private.tw b/src/uncategorized/private.tw
index bfc4d6c03d1868e5c937ed8c5cc69d0f097c00a0..a88b22ab2e2aba789b820af6b16ada89fad5fa95 100644
--- a/src/uncategorized/private.tw
+++ b/src/uncategorized/private.tw
@@ -32,7 +32,7 @@ You will have to acquire an additional 4% interest in $arcologies[0].name to tak
 	<<if $rep >= 18000>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<set $repPrice = Math.clamp($price/2, 0, 18000)>>
-		You have so much political capital that you can spend reputation to acquire ownership by spending reputation. [[Use reputation|Main][$rep -= $repPrice, $arcologies[0].ownership += 4, $arcologies[0].demandFactor += 20, $sectors[$AS].ownership = 1]]
+		You have so much political capital that you can spend reputation to acquire ownership by spending reputation. [[Use reputation|Main][repX(forceNeg($repPrice), "capEx"), $arcologies[0].ownership += 4, $arcologies[0].demandFactor += 20, $sectors[$AS].ownership = 1]]
 	<</if>>
 <<else>>
 	Too much of the arcology is owned by a single minority holder for you to force a purchase of this sector right now. Your control of the arcology should naturally resolve this situation in a few weeks.
diff --git a/src/uncategorized/reAWOL.tw b/src/uncategorized/reAWOL.tw
index 16642d2aabdac67f3c2ce205de492b608706cb5a..2d816a81d29d0215c41b223702d3cd61ea7343b7 100644
--- a/src/uncategorized/reAWOL.tw
+++ b/src/uncategorized/reAWOL.tw
@@ -64,7 +64,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 <<link "Let them go">>
 	<<replace "#result">>
 		You inform your personal assistant that you aren't planning to take any action. By the next morning, word has spread to the rest of your arcology that crossing you is apparently permissible and your @@.red;reputation has suffered@@ as a result.
-		<<set $rep -= 1000>>
+		<<run repX(-1000, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 
@@ -92,7 +92,8 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 					<<link "You want $him dead">>
 						<<replace "#SFresult">>
 							Despite the trouble $he has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly anti-climatic. The last you hear of $him is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation and $arcologies[0].name's prosperity improves,@@ a result of the fear crossing you will bring, in addition toshowing your citizens that you are willing and able to deal with such matters in-house.
-							<<set $rep += 1000,$arcologies[0].prosperity += 2>>
+							<<set $arcologies[0].prosperity += 2>>
+							<<run repX(1000, "event", $activeSlave)>>
 							<<if $arcologies[0].prosperity > $AProsperityCap>>
 								<<set $arcologies[0].prosperity = $AProsperityCap>>
 							<</if>>
@@ -120,7 +121,8 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 								<<link "Flog $him in public then exile $him from the arcology">>
 									<<replace "#aliveresult">>
 										An example must be made. There is a binding contract between you and your $mercenariesTitle, and this $woman attempted to undermine it for $his own selfish profit. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@ In addition @@.green;Arcology prosperity improves,@@ a result of showing your citizens that you are willing and able to deal with such matters in-house.
-										<<set $rep += 1000,$arcologies[0].prosperity += 2>>
+										<<set $arcologies[0].prosperity += 2>>
+										<<run repX(1000, "event", $activeSlave)>>
 										<<if $arcologies[0].prosperity > $AProsperityCap>>
 											<<set $arcologies[0].prosperity = $AProsperityCap>>
 										<</if>>
@@ -150,7 +152,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 				<<link "You want $him dead">>
 					<<replace "#bountyresult">>
 						Despite the trouble $he has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly an anti-climax. The last you hear of $him is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation improves,@@ a result of the fear of crossing you that your unpleasantness has inspired.
-						<<set $rep += 1000>>
+						<<run repX(1000, "event", $activeSlave)>>
 						<<run cashX(-5000, "capEx")>>
 					<</replace>>
 				<</link>>
@@ -177,7 +179,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 							<<link "Flog $him in public then exile $him from the arcology">>
 								<<replace "#aliveresult">>
 									An example must be made. There is a binding contract between you and your $mercenariesTitle, and this $woman attempted to undermine it for $his own selfish profit. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@
-									<<set $rep += 1000>>
+									<<run repX(1000, "event", $activeSlave)>>
 									<<run cashX(-5000, "event", $activeSlave)>>
 								<</replace>>
 							<</link>>
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index a4e695dc1be235f66bcc389219a4245edf0a8eb5..c7ba2f20b11822204507951c3fa3f09ec813e02f 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -361,7 +361,7 @@ It isn't obvious how $he managed to escape, though no doubt you could review the
 
 <span id="result">
 <<link "Return $him">>
-	<<set $rep += Math.trunc($slaveCost/10)>>
+	<<run repX(Math.trunc($slaveCost/10), "event", $activeSlave)>>
 	<<replace "#result">>
 		$activeSlave.slaveName keeps waiting, but the doors to the penthouse never open. When $his owners arrive a few minutes later to collect $him, $he cries harder, but does not resist. $His weeping has the peculiar ring of utter hopelessness as they restrain $him and drag $him off. A few minutes after that, you receive a businesslike note @@.green;expressing gratitude@@ for your assistance in this matter.
 		<<set $boomerangStats = 0>>
diff --git a/src/uncategorized/reBrothelFunction.tw b/src/uncategorized/reBrothelFunction.tw
index 58268aef3d0cb4f4271d7d6c0ae4739300c3f851..76650d1593bf0e0c438656f2eb0a76486e0a26e9 100644
--- a/src/uncategorized/reBrothelFunction.tw
+++ b/src/uncategorized/reBrothelFunction.tw
@@ -22,7 +22,7 @@ The last of these requests comes in the form of a letter, stamped with the heral
 			<<set $slaves[$i].devotion += 4>>
 		<</if>>
 	<</for>>
-	<<run cashX(10000, "brothel")>>
+	<<run cashX(10000, "event")>>
 
 	<</replace>>
 <</link>> //This will earn you <<print cashFormat(10000)>>//
@@ -50,7 +50,7 @@ The last of these requests comes in the form of a letter, stamped with the heral
 			<</if>>
 		<</if>>
 	<</for>>
-	<<run cashX(2000, "brothel")>>
+	<<run cashX(2000, "event")>>
 	<</replace>>
 <</link>> //This will earn you <<print cashFormat(2000)>>//
 <br><<link "Welcome the boy into manhood in Free Cities fashion">>
@@ -73,8 +73,8 @@ The last of these requests comes in the form of a letter, stamped with the heral
 			<</if>>
 		<</if>>
 	<</for>>
-	<<run cashX(1000, "brothel")>>
-	<<set $rep += 500>>
+	<<run cashX(1000, "event")>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>> //This will earn you <<print cashFormat(1000)>>//
 </span>
diff --git a/src/uncategorized/reBusyBrothel.tw b/src/uncategorized/reBusyBrothel.tw
index 5bc834a38cddad441942ad3cb8d18afe46b16ee0..52366be3f65dc6dfe7331b188e45f3d3373f4768 100644
--- a/src/uncategorized/reBusyBrothel.tw
+++ b/src/uncategorized/reBusyBrothel.tw
@@ -7,7 +7,7 @@ $brothelNameCaps is well staffed, and does a busy trade in flesh 24 hours a day.
 
 <br><br>
 
-Of course, $brothelName is the best establishment of its kind in the arcology. Citizens who patronize it can expect themselves to be very well looked after by skilled slaves. The quality of the merchandise, the efficiency with which it is delivered, and the cleanliness and reputation of the premises @@.green;reflect well on you,@@<<set $rep += 100>> so much so that you could leverage this bustling sexual commerce in many ways.
+Of course, $brothelName is the best establishment of its kind in the arcology. Citizens who patronize it can expect themselves to be very well looked after by skilled slaves. The quality of the merchandise, the efficiency with which it is delivered, and the cleanliness and reputation of the premises @@.green;reflect well on you,@@<<run repX(100, "event")>> so much so that you could leverage this bustling sexual commerce in many ways.
 
 <br><br>
 
@@ -59,7 +59,7 @@ Of course, $brothelName is the best establishment of its kind in the arcology. C
 		<<set $oralTotal += 10>>
 	<</for>>
 	<<run cashX(-2000, "event")>>
-	<<set $rep += 200>>
+	<<run repX(200, "event")>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(2000)>>//
 </span>
diff --git a/src/uncategorized/reBusyClub.tw b/src/uncategorized/reBusyClub.tw
index 8c9c0a9b7ded11790dd7d364ac418e790c43dcb8..57085a758d0d23fcf905fbbdf03885728c307fe3 100644
--- a/src/uncategorized/reBusyClub.tw
+++ b/src/uncategorized/reBusyClub.tw
@@ -7,7 +7,7 @@ The original designers of the modern arcology did not realize how inseparable fr
 
 <br><br>
 
-Offering slaves for free sex would become unmanageable if the club where your public servants work was open to the unwashed masses, but it is not. The arcology is already selective, and only good citizens can party, dance, and fuck the night away in $clubName. The upper classes @@.green;recognize your contributions@@<<set $rep += 100>> to arcology culture, which you could probably parlay into an even greater benefit.
+Offering slaves for free sex would become unmanageable if the club where your public servants work was open to the unwashed masses, but it is not. The arcology is already selective, and only good citizens can party, dance, and fuck the night away in $clubName. The upper classes @@.green;recognize your contributions@@<<run repX(100, "event")>> to arcology culture, which you could probably parlay into an even greater benefit.
 
 <br><br>
 
@@ -16,7 +16,7 @@ Offering slaves for free sex would become unmanageable if the club where your pu
 	<<replace "#result">>
 	The Free Cities are new, and so is their culture. There are new traditions, new expectations, and now, new holidays. One morning, the upper classes of the arcology are surprised and gratified to find that the club has been specially decorated, and all the club sluts are nude. The floor of the club is typically meant for dirty dancing and some light sex, not public penetrative intercourse. Not today; today is special. The festivities @@.green;greatly improve your renown;@@ you have set a high bar for what a wealthy arcology owner should do.
 	<<run cashX(-2000, "event")>>
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(2000)>>//
 <br><<link "Host a business exposition">>
@@ -24,7 +24,7 @@ Offering slaves for free sex would become unmanageable if the club where your pu
 	With the world economy in a perilous state, the Free Cities are one of the few remaining areas where innovation and new business opportunities still appear. The novel markets associated with the slave trade only reinforce this trend, offering a cornucopia of opportunities for the clear-eyed investor with liquid assets. Every other week there is news of a new fortune being made from smart investments in leather, in human growth hormones, or in psychoactive drugs. You host an exposition for slave services centered on the club, with your slaves serving as greeters who are eager to ensure that all the little wants of visiting notables are thoroughly satisfied. The optimistic outlook projected by this event @@.green;improves $arcologies[0].name's business prospects@@ and even @@.green;reflects well on you personally.@@
 	<<run cashX(-5000, "event")>>
 	<<set $arcologies[0].prosperity += 2>>
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(5000)>>//
 </span>
diff --git a/src/uncategorized/reBusyDairy.tw b/src/uncategorized/reBusyDairy.tw
index eb2dcd1be7a30d4140d73534275afe800090d8bf..88d629977cfe6582ce06fe1456f4f2dba24f8d23 100644
--- a/src/uncategorized/reBusyDairy.tw
+++ b/src/uncategorized/reBusyDairy.tw
@@ -3,7 +3,7 @@
 <<set $nextButton = "Continue">>
 <<set $nextLink = "RIE Eligibility Check">>
 
-$dairyNameCaps is working away steadily. Its high-quality product @@.green;reflects well on you,@@<<set $rep += 100>> you muse one day as you inspect the premises. The gentle pneumatic sounds of the milkers and the whimpers of the cows being milked are a pleasant background for the thought.
+$dairyNameCaps is working away steadily. Its high-quality product @@.green;reflects well on you,@@<<run repX(100, "event")>> you muse one day as you inspect the premises. The gentle pneumatic sounds of the milkers and the whimpers of the cows being milked are a pleasant background for the thought.
 
 <br><br>
 
@@ -36,7 +36,7 @@ Even with high doses of modern drugs, human cows simply do not produce a very hi
 	<<replace "#result">>
 	Sexual sights and sounds are all over the arcology. Nevertheless, passersby on the club are surprised to find one morning that a previously normal screen advertising your brand of milk has a luscious pair of breasts protruding through it at head height. The advertisement encourages anyone to try a free sample. The slaves constantly rotate, pressing fresh tits through the gap for public suckling. It is @@.green;generally agreed that your product is of the finest quality@@ and you even have enquiries about how it might be exported outside the arcology, should you manage to increase production.
 	<<run cashX(-2000, "event")>>
-	<<set $rep += 500>>
+	<<run repX(500, "event")>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(2000)>>//
 <</if>>
@@ -44,7 +44,7 @@ Even with high doses of modern drugs, human cows simply do not produce a very hi
 	<br><<link "Cum in, milk out">>
 		<<replace "#result">>
 		As a promotional gimmick, you announce with considerable fanfare a special, experimental brand of milk, available at the normal price for a short time only. The milk will be unique in that it will be from cows fed mostly on slaves' cum; the cockmilked slaves will in turn be given as much milk as possible to produce a 'pure slave product,' recursively. The sad realities of nutrition stop it from being much more than a marketing ploy, but it's certainly a @@.green;successful@@ attempt to spark discussion.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(1000)>>//
diff --git a/src/uncategorized/reBusyServantsQuarters.tw b/src/uncategorized/reBusyServantsQuarters.tw
index 092d633fb6ec2ac144cd10fbe99c8ca4919abe5e..45508c6a353f32d033c5e26af29d118be1ae4553 100644
--- a/src/uncategorized/reBusyServantsQuarters.tw
+++ b/src/uncategorized/reBusyServantsQuarters.tw
@@ -3,7 +3,7 @@
 <<set $nextButton = "Continue">>
 <<set $nextLink = "RIE Eligibility Check">>
 
-Your penthouse is very well staffed with servants. The trend in modern buildings is to design around automatic cleaning systems. Dusting, mopping, and polishing are no longer really necessary when machines that do them more cheaply and thoroughly than any human are readily available. Keeping slaves to clean is an ostentation, and visitors to your quarters are often @@.green;surprised and gratified@@ to see a sex slave working away in the old way.<<set $rep += 100>>
+Your penthouse is very well staffed with servants. The trend in modern buildings is to design around automatic cleaning systems. Dusting, mopping, and polishing are no longer really necessary when machines that do them more cheaply and thoroughly than any human are readily available. Keeping slaves to clean is an ostentation, and visitors to your quarters are often @@.green;surprised and gratified@@ to see a sex slave working away in the old way.<<run repX(100, "event")>>
 
 <br><br>
 
diff --git a/src/uncategorized/reCitizenHookup.tw b/src/uncategorized/reCitizenHookup.tw
index 8e7ac02d3bfb68229890f0fb97db582c098ce03a..94cbb28ca85b8676c6f3dd76217639ab467a4bd2 100644
--- a/src/uncategorized/reCitizenHookup.tw
+++ b/src/uncategorized/reCitizenHookup.tw
@@ -265,7 +265,7 @@ She's clearly attracted to you; even the most consummate actress would have diff
 		The view of your conquest's rutting back is nice, of course, but after enjoying it for a few moments you pull $Concubine.slaveName in and kiss your favorite deeply, playing with her as you fuck.
 	<</if>>
 	When your guest is finally spent, she showers, dresses, and leaves discreetly, offering you a proper thank you. This is the kind of thing that @@.green;builds a lasting reputation@@ in the Free Cities.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<if _FS == "Repopulationist" && $PC.dick == 1 && $arcologies[0].FSRepopulationFocusLaw == 0 && (random(1,100) > 40)>>
 		<<set $desc = "a tasteful morning-after message, with attached positive pregnancy test, from a pretty " + _FS + " citizen you bred">>
 		<<set $trinkets.push($desc)>>
diff --git a/src/uncategorized/reDevotedMotherDaughter.tw b/src/uncategorized/reDevotedMotherDaughter.tw
index 08fb0050da7d96e9ba2e2c173a68470662cdfa9e..d5b8c73dac9d14e91e443c334d164bae38968cd1 100644
--- a/src/uncategorized/reDevotedMotherDaughter.tw
+++ b/src/uncategorized/reDevotedMotherDaughter.tw
@@ -39,7 +39,8 @@ $slaves[$i].slaveName and her daughter $slaves[$j].slaveName are both good slave
 	<<replace "#result">>
 	You give them orders of devastating simplicity: they are to repair to the couch in your office and are to take turns getting each other off until such time as you tell them otherwise. They're momentarily stunned, but $slaves[$i].slaveName takes the lead and draws her daughter over to the couch by the hand. They're both accomplished sex slaves and obey orders well, so they are quite successful in the little game, if a bit mechanical. For the rest of the day, interviewees come and go and are treated to the sight of the two of them having subdued sex on the couch. Showing off one's slaves for business interlocutors is a common Free Cities practice, but more than one perceptive person figures out what the resemblance between the two slaves and the age gap between them really means. Of course, all those who figure it out are impressed by your sheer decadence.
 	@@.green;Your reputation has increased considerably.@@
-	<<set $rep += 1000>>
+	<<run repX(500, "event", $slaves[$i])>>
+	<<run repX(500, "event", $slaves[$j])>>
 	<<set $slaves[$i].oralCount += 5, $slaves[$j].oralCount += 5, $oralTotal += 10>>
 	<</replace>>
 <</link>>
diff --git a/src/uncategorized/reDevotedTwins.tw b/src/uncategorized/reDevotedTwins.tw
index 0d3a00d2beb95c6858ff0fab5599cf4363c9fa50..54502cac9dd0d037716deaf3a3cdba6a559427af 100644
--- a/src/uncategorized/reDevotedTwins.tw
+++ b/src/uncategorized/reDevotedTwins.tw
@@ -13,7 +13,8 @@ $slaves[$i].slaveName and $slaves[$j].slaveName are such good and devoted slaves
 	<br>You head out of your penthouse with a pretty sex slave under each arm. They're attentive companions, doing everything they can to mirror each other as they show off their bodies to onlookers. It's a bright, sunny day, so you walk them up and down a busy glassed-in galleria. They clearly expect you to fuck them in public, but for once you just enjoy a couple of hours with them. They start disappointed that you aren't going to use them, but they quickly get over it and enjoy preening under your arms.
 	@@.mediumaquamarine;They have both become more trusting of you,@@ and @@.green;your reputation has increased considerably.@@
 	<<set $slaves[$i].trust += 4, $slaves[$j].trust += 4>>
-	<<set $rep += 1000>>
+	<<run repX(500, "event", $slaves[$i])>>
+	<<run repX(500, "event", $slaves[$j])>>
 	<</replace>>
 <</link>>
 <br><<link "Use them side by side">>
diff --git a/src/uncategorized/reDevotees.tw b/src/uncategorized/reDevotees.tw
index 53aa88c37830576f0b06b38b1552b5117078aa84..1ededd3266cc9e4f3a7b3098634205954498da00 100644
--- a/src/uncategorized/reDevotees.tw
+++ b/src/uncategorized/reDevotees.tw
@@ -31,7 +31,10 @@ You have a mature, well-trained household of slaves. $slaves[_red1].slaveName, $
 	<<replace "#result">>
 	<<run PCTitle()>>
 	You reserve a box at an upcoming operetta; classical Italian music is enjoying a renaissance these days. The doormen at the fashionable opera house promptly widen the velvet ropes so that you and your party may proceed unimpeded. Their quick thinking is necessary, since there are five of you walking sedately up the steps: you in the middle, impeccable in <<if $PC.title == 1>>gentleman's evening wear, complete with gloves and cane<<else>>a fine and noble lady's tuxedo<</if>>; and $slaves[_red1].slaveName, $slaves[_red2].slaveName, $slaves[_red3].slaveName, and $slaves[_red4].slaveName, all dressed in the gorgeous fashion of the seventeenth century, all plunging necklines, piled hair, and ruffled petticoats. The splendid master of ceremonies clears his throat and announces in a sonorous voice, "$PCTitle." The ostentation @@.green;turns every head and catches every eye.@@
-	<<set $rep += 500>>
+	<<run repX(125, "event", $slaves[_red1])>>
+	<<run repX(125, "event", $slaves[_red2])>>
+	<<run repX(125, "event", $slaves[_red3])>>
+	<<run repX(125, "event", $slaves[_red4])>>
 	<</replace>>
 <</link>>
 <br><<link "Visit a casino in good company">>
diff --git a/src/uncategorized/reFSNonconformist.tw b/src/uncategorized/reFSNonconformist.tw
index 72c7c617e3f170bbe4697ad2634e1aeaee8df46c..7ec5230fe523724652925bcabf4ecb027a1fa640 100644
--- a/src/uncategorized/reFSNonconformist.tw
+++ b/src/uncategorized/reFSNonconformist.tw
@@ -127,7 +127,7 @@ The nonconformist is far too prominent and prosperous to make this an easy dilem
 
 <span id="result">
 <<link "Ignore the situation">>
-	<<set $rep -= 250>>
+	<<run repX(-250, "event")>>
 	<<replace "#result">><<nobr>>
 	You communicate polite concern, but offer no specific plans. The prominent citizens go away muttering, @@.red;very disappointed@@ that you are not taking their concerns seriously. The nonconformist
 	<<if $FSNonconformist == "Pastoralist">>
@@ -143,7 +143,7 @@ The nonconformist is far too prominent and prosperous to make this an easy dilem
 		reveals the defeminized slave and then frees her, completing her return to maleness according to Gender Radicalism's own tenets, @@.red;setting back acceptance@@ of the society model.
 		<<set $arcologies[0].FSGenderRadicalist -= 10>>
 	<<elseif $FSNonconformist == "Repopulation Efforts">>
-		publishes his information, @@.red;greatly hindering@@ the adoption of mass reproduction.<<if $PC.belly >= 1000>> Your own fecundity is brought into question as well, @@.red;hurting your public opinion.@@<<set $rep -= ($PC.preg*10)>><</if>>
+		publishes his information, @@.red;greatly hindering@@ the adoption of mass reproduction.<<if $PC.belly >= 1000>> Your own fecundity is brought into question as well, @@.red;hurting your public opinion.@@<<run repX(forceNeg($PC.preg*10), "event")>><</if>>
 		<<set $arcologies[0].FSRepopulationFocus -= 10>>
 	<<elseif $FSNonconformist == "Eugenics">>
 		hosts a public wedding commemorating their love. This @@.red;sets back acceptance@@ of your class system and hinders Eugenics. The Societal Elite are @@.red;furious@@ at your inaction.
@@ -278,7 +278,7 @@ The nonconformist is far too prominent and prosperous to make this an easy dilem
 <</if>>
 <<if $PC.rumor == "force">>
 <br><<link "Leverage your reputation with some credible threats">>
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<<replace "#result">>
 	Resolving the situation takes you one call. Exactly what happened to your predecessor as owner of the arcology has never become publicly known, but your method of replacing them is rumored to have been somewhat ballistic in nature. It doesn't take much inflection in your voice to communicate threat, and the nonconformist hastily promises to abandon their plans and be less annoying in the future. The oligarchs are somewhat frightened by the rapidity with which you sorted things out, but they can't argue with the results and their @@.green;respect for you deepens.@@
 	<</replace>>
diff --git a/src/uncategorized/reFemaleArcologyOwner.tw b/src/uncategorized/reFemaleArcologyOwner.tw
index 3e838212c1864b5c1328254cab8374d52fad0eed..6999430cbf564263ae7610cfa3fae0a3dab7c345 100644
--- a/src/uncategorized/reFemaleArcologyOwner.tw
+++ b/src/uncategorized/reFemaleArcologyOwner.tw
@@ -18,7 +18,7 @@ She strikes a fine balance in conversation with you, firm enough for a rising wo
 <br><<link "Walk past her and out onto an unoccupied balcony">>
 	<<replace "#result">>
 	You walk past her and out onto a balcony. She politely disengages herself and follows, meeting your gaze with a twinkle in her eye. You start talking of nothing of real consequence, but you find that you do have a fair amount to discuss and joke about, since there are oddities to your life that only another slaveowning arcology owner can really understand. You discover that she is very willing to share $PC.refreshment, and you break out some of your best. The party takes notice of your tête-à-tête, but her judgment was obviously correct. <<if $PC.title == 0>>You are a pair of powerful women who are very obviously in the early stages of an assignation, and it's hard to tell which of you excites more envy.<<else>>Rather than looking down on her, the other prominent guests seem respectfully envious of her access to you.<</if>> This is still the case even when she starts to soften her body language, leaning into you, brushing against you, and more. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> cleared your suite long ago, so when she finally nudges her hip against yours and does not take it away, you take her by the hand and lead her there. She stops you with a hand at the door to the suite and then strips off her suit piece by piece, revealing a triathlete's tanned and sculpted body. You crush her naked form in your still-clothed arms, and she softens into you, whispering, "You have no idea how relaxing this is." <<if $PC.title == 1>>It's clear it's been a long time since she's let someone else take the lead,<<else>>She's obviously an occasional lesbian, at best,<</if>> and she's awkward as a girl at times. She leaves a few hours later with a satisfied expression, giving you a kiss on her way out in full public view. @@.green;Your reputation has greatly improved.@@
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<set $desc = "a perfumed thank-you note from a female arcology owner of your acquaintance">>
 	<<set $trinkets.push($desc)>>
 	<</replace>>
@@ -29,7 +29,7 @@ She strikes a fine balance in conversation with you, firm enough for a rising wo
 	You immediately enlist $assistantName to help you make some hasty preparations, and then send her a message asking her if she'd like to spend a night out with you, as a couple of unremarkable citizens. She glances at you with a curious expression, and you direct her to a side room. She finds you there, changing into the heavy, anonymizing armor of one of your mercenaries; you have a female suit for her, too. Once you're both suited up, you move to show her how to activate the face-obscuring helmet, but you find that she's already got it on and active. "This," she says, "is either the best or the stupidest date idea I have ever heard. Let's fucking do this." You pass a mercenary on your way out onto the club, and he cannot resist giving you a thumbs up, which your fellow arcology owner fortunately fails to notice. You patrol for a while, using internal comms to joke about life as an arcology owner, something she clearly gets to do too infrequently. You don't mind the chance, either. Your mercenaries frequently spend time together off duty, so nobody sees anything unusual about a <<if $PC.title == 1>>male and female<<else>>couple of ladies<</if>> in mercenary armor sharing a milkshake at a dairy bar, even when they start to engage in increasingly rough public flirting, armor and all. Later, your slaves are obliged to pick up and sort a trail of discarded armor pieces leading from the entry to your penthouse all the way to your suite, which is now emitting the indistinct sounds of very energetic sex. A few hours later, when you're showering up together so she can head back to her domain, she looks up at you and says seriously, "That was pretty fun. If things ever go to shit, I wouldn't mind wearing that armor for real." Your mercenaries cannot keep their mouths shut, for once, and the almost unbelievably juicy story of the arcology owners wearing borrowed armor to go on an anonymous <<if $PC.title == 0>>lesbian <</if>>date spreads like wildfire. @@.green;Your reputation has greatly improved.@@
 	<<set $desc = "a cute thank-you note from a female arcology owner of your acquaintance">>
 	<<set $trinkets.push($desc)>>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<</replace>>
 <</link>>
 <</if>>
diff --git a/src/uncategorized/reFormerAbolitionist.tw b/src/uncategorized/reFormerAbolitionist.tw
index d34bd1f27a2c7e67d126a6238d2f5da90406ce25..bc553a8f38644cd536befd546a8941bb2cbbca52 100644
--- a/src/uncategorized/reFormerAbolitionist.tw
+++ b/src/uncategorized/reFormerAbolitionist.tw
@@ -24,7 +24,7 @@ This is a rare opportunity. While the mob is quick to pat itself on the back for
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 You spend the week parading $activeSlave.slaveName around in public, letting everyone get a good look at $his fawning adoration of you. A variety of public sex acts really nails the point home in the psyche of your citizens and @@.yellowgreen;increases your reputation,@@ and after a few days you start to receive a sincere golf clap from onlookers every time you cum in or on $activeSlave.slaveName.
-	<<set $rep += 200>>
+	<<run repX(200, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <span id="result">
@@ -43,7 +43,7 @@ You fasten $activeSlave.slaveName in a kneeling position in the center of your c
 		<<replace "#result">>
 You buy media coverage of $him, invest in an ad campaign, and even arrange for $him to give a speech denouncing the abolitionist movement and praising your efforts in fighting against them. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as an @@.green;example of your slave-breaking skills.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is notorious as a former abolitionist turned devoted slave.">>
 		<</replace>>
@@ -51,7 +51,7 @@ You buy media coverage of $him, invest in an ad campaign, and even arrange for $
 		<<replace "#result">>
 You buy media coverage of $him, invest in an ad campaign, and even arrange for $him to give a speech denouncing the abolitionist movement and praising your efforts in fighting against them. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -61,7 +61,7 @@ You buy media coverage of $him, invest in an ad campaign, and even arrange for $
 		<<replace "#result">>
 You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for $him to give a speech denouncing the abolitionist movement and praising your efforts in fighting against them that is broadcast around the world. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as an @@.green;example of your slave-breaking skills.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 400>>
+		<<run repX(400, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is notorious as a former abolitionist turned devoted slave.">>
 		<</replace>>
@@ -69,7 +69,7 @@ You buy prime media coverage of $him, invest in a lavish ad campaign, and even a
 		<<replace "#result">>
 You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for $him to give a speech denouncing the abolitionist movement and praising your efforts in fighting against them that is broadcast around the world. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 400>>
+		<<run repX(400, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -80,7 +80,7 @@ You buy prime media coverage of $him, invest in a lavish ad campaign, and even a
 		<<replace "#result">>
 The world is in love with $activeSlave.slaveName. $His face graces magazine covers the world over and $his passionate arguments (ghostwritten by the best spin doctors money can buy) spark debate everywhere they're heard. $He is mentioned by name in strident denunciations about the immorality of the present day from religious leaders. $He appears on the internet with all sorts of attempts at humor superimposed on $his image. $His loving and overblown descriptions of you spark a new trend in protagonists of badly-written romance novels. When a very popular talk show host attempts to call $his bluff and receives oral sex in front of a live studio audience, @@.yellowgreen;you know for sure that $his fame has stuck.@@
 		<<run cashX(-25000, "event", $activeSlave)>>
-		<<set $rep += 600>>
+		<<run repX(600, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 2>>
 		<<set $activeSlave.prestigeDesc = "She is world famous as an anti-abolitionist, and has told the world at length of the joys of slavery in general and slavery to you in particular.">>
 		<</replace>>
@@ -90,7 +90,7 @@ The world seems temporarily enamored with $activeSlave.slaveName as $he appears
 		<<run cashX(-25000, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is notorious as a former abolitionist turned devoted slave.">>
-		<<set $rep += 400>>
+		<<run repX(400, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/uncategorized/reLegendaryBalls.tw b/src/uncategorized/reLegendaryBalls.tw
index 795581ece279c6c1e2b6294faf1d45100c71576e..4e532d94a5de6426baa600dc2378a2c4a4bffc66 100644
--- a/src/uncategorized/reLegendaryBalls.tw
+++ b/src/uncategorized/reLegendaryBalls.tw
@@ -24,7 +24,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 	<<if random(1,100) > 90>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, but $his massive junk wins the day. Against all odds $he is named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a cockmilker.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for her balls">>
@@ -33,7 +33,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 	<<else>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, and it is fatal to $his chances of winning. Though $his junk is easily the most impressive on display, another stock owner who was more open-handed with the judges took best in show. The public is impressed with $activeSlave.slaveName's nuts anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -43,7 +43,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look $him over. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a cockmilker.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for her balls">>
@@ -53,7 +53,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look $him over, but others look disapprovingly at them; it seems some of your competitors also forwarded money to the committee. After furious wrangling, $activeSlave.slaveName loses to another milker. The public is impressed with $activeSlave.slaveName's balls anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -63,7 +63,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. After $he's put through $his paces, the most unfortunate series of accidents somehow befalls $his fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's urethra, making them whine and squeal when cockmilked. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a cockmilker.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for her balls">>
@@ -73,7 +73,7 @@ This is a rare opportunity. The idea of cockmilking is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. You are surprised to see that the judging committee has been changed at the last minute. They choose another cow as best in show. There are persistent @@.red;rumors@@ after the show that there was an absolute massacre of firings at the stock organization headquarters the night before the show after it was discovered that someone, widely thought to be you, had been corrupting the judges.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep -= 100>>
+		<<run repX(-100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/uncategorized/reLegendaryCow.tw b/src/uncategorized/reLegendaryCow.tw
index c01a4501e7ff2ebb374f5b13e410c541ecef602c..0ca8b2611e7a6b79ee84608c91a4018997635be6 100644
--- a/src/uncategorized/reLegendaryCow.tw
+++ b/src/uncategorized/reLegendaryCow.tw
@@ -24,7 +24,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 	<<if random(1,100) > 90>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. It's likely there was some bribery behind the scenes, but $his massive tits win the day. Against all odds $he is named best in show, and will be @@.green;remembered@@ as dairy stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a dairy cow.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a milk cow">>
@@ -33,7 +33,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 	<<else>>
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. It's likely there was some bribery behind the scenes, and it is fatal to $his chances of winning. Though $his tits are easily the most impressive on display, another stock owner who was more open-handed with the judges took best in show. The public is impressed with $activeSlave.slaveName's tits anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -43,7 +43,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. Several of the judges cannot resist giving you a wink as they look $him over. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as dairy stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a dairy cow.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a milk cow">>
@@ -53,7 +53,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. Several of the judges cannot resist giving you a wink as they look $him over, but others look disapprovingly at them; it seems some of your competitors also forwarded money to the committee. After furious wrangling, $activeSlave.slaveName loses to another cow. The public is impressed with $activeSlave.slaveName's tits anyway; as you are $his owner, your reputation has @@.green;increased@@ a little.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -63,7 +63,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. After $he's put through $his paces, the most unfortunate series of accidents somehow befalls $his fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's ass, making them whine and squeal constantly. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as dairy stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is remembered for winning best in show as a dairy cow.">>
 		<<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " as a milk cow">>
@@ -73,7 +73,7 @@ This is a rare opportunity. The idea of human dairy is new and understandably fa
 		<<replace "#result">>
 		$activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly milked. You are surprised to see that the judging committee has been changed at the last minute. They choose another cow as best in show. There are persistent @@.red;rumors@@ after the show that there was an absolute massacre of firings at the dairy organization headquarters the night before the show after it was discovered that someone, widely thought to be you, had been corrupting the judges.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep -= 100>>
+		<<run repX(-100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/uncategorized/reLegendaryEntertainer.tw b/src/uncategorized/reLegendaryEntertainer.tw
index d60fba193cd26776055dd4def36d3c72c55074f9..9595f3f95cb05443cc8367535783eaa1e776ccfc 100644
--- a/src/uncategorized/reLegendaryEntertainer.tw
+++ b/src/uncategorized/reLegendaryEntertainer.tw
@@ -23,7 +23,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You decide to limit your advantage on $his temporary popularity to a little publicity and some advertising. You've gained a little @@.green;notoriety.@@
-	<<set $rep += 200>>
+	<<run repX(200, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Invest <<print cashFormat(5000)>> in $his image">>
@@ -32,7 +32,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his gentle caresses. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as a @@.green;respected and famous courtesan.@@ As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<<if $activeSlave.prestige <= 1>>
 			<<set $activeSlave.prestige = 1>>
 			<<set $activeSlave.prestigeDesc = "She is a famed Free Cities slut, and can please anyone.">>
@@ -44,7 +44,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his gentle caresses. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -54,7 +54,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his gentle caresses. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as a @@.green;respected and famous courtesan.@@ As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 400>>
+		<<run repX(400, "event", $activeSlave)>>
 		<<if $activeSlave.prestige <= 1>>
 			<<set $activeSlave.prestige = 1>>
 			<<set $activeSlave.prestigeDesc = "She is a famed Free Cities slut, and can please anyone.">>
@@ -66,7 +66,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his gentle caresses. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 400>>
+		<<run repX(400, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/uncategorized/reLegendaryWhore.tw b/src/uncategorized/reLegendaryWhore.tw
index 7ed0f7e1a6fc5525c8261b7bccff213fde5d95d3..0acddaaf3c44595156564011541461fe544be7d6 100644
--- a/src/uncategorized/reLegendaryWhore.tw
+++ b/src/uncategorized/reLegendaryWhore.tw
@@ -24,7 +24,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 	<<replace "#result">>
 	You decide to limit your advantage on $his temporary popularity to a little marketing and some minor price increases. You've made some unexpected @@.yellowgreen;profits,@@ and gained a little @@.green;notoriety.@@
 	<<run cashX(1000, "event", $slaves[$i])>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <br><<link "Invest <<print cashFormat(5000)>> in $his notoriety">>
@@ -33,7 +33,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his many delights. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as a @@.green;notorious and very popular prostitute.@@ As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is a famed Free Cities whore, and commands top prices.">>
 		<<set $desc = "a framed pornographic advertisement for " + $activeSlave.slaveName + " from the week she became a famous whore">>
@@ -43,7 +43,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week she'll be forgotten.
 		<<run cashX(-5000, "event", $activeSlave)>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
@@ -53,7 +53,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his many delights. Your efforts are a success. $His current extreme popularity will fade in time, but you have managed to arrange for $him a permanent place as a @@.green;notorious and very popular prostitute.@@ As $his owner, your reputation has @@.green;also increased.@@
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<<set $activeSlave.prestige = 1>>
 		<<set $activeSlave.prestigeDesc = "She is a famed Free Cities whore, and commands top prices.">>
 		<<set $desc = "a framed pornographic advertisement for " + $activeSlave.slaveName + " from the week she became a famous whore">>
@@ -63,7 +63,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<<replace "#result">>
 		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week she'll be forgotten.
 		<<run cashX(-10000, "event", $activeSlave)>>
-		<<set $rep += 200>>
+		<<run repX(200, "event", $activeSlave)>>
 		<</replace>>
 	<</if>>
 <</link>>
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index bf2ffeab58df0a25cb465c5d7d4f0344858499c9..af3aae93b88a8116a12666e6664caeec2f482163 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -417,7 +417,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<<case "liberator">>
 			Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. $His holes are thus fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.red;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun,@@ and small slaveholders are @@.green;encouraged to do business with your arcology@@ after word of the incident gets around.
 		<</switch>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $arcologies[0].prosperity += 2>>
 		<<include "New Slave Intro">>
 		<</replace>>
@@ -441,7 +441,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<<case "liberator">>
 			You complete the legalities and biometric scanning quickly and cautiously. Though the would-be liberator is of course restrained, disarmed, and still sedated, $he could awake at any time. It would be best to have $him restrained for public use in the arcade first. The public @@.green;looks forward@@ to seeing $him there.
 		<</switch>>
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>>
@@ -471,7 +471,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<<case "liberator">>
 			You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>, together with a report on the likely productivity of such a fit body capable of withstanding the stress of high throughput.
 		<</switch>>
-		<<set $rep += 50>>
+		<<run repX(50, "event", $activeSlave)>>
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>>
@@ -506,7 +506,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<<case "liberator">>
 			An example must be made. Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. The protesting malefactor is stripped and stuffed into your remote surgery on public video feed. $He begs and pleads until $he sees $his doom in the form of the surgical machinery, at which point $he switches to fighting vainly to escape. Of course, @@.red;$his health is affected@@ and the horrible experience has left $him @@.red;acting oddly.@@ Then it's off to the penthouse for basic slave induction. The public @@.green;approves of this harshness,@@ since $he will scarcely be able to liberate anyone without arms or legs.
 		<</switch>>
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<include "New Slave Intro">>
 		<</replace>>
 	<</link>>
@@ -519,7 +519,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>
 		<<replace "#result">>
 		Video feeds from your remote surgery are made public as the protesting criminal is strapped down and gelded. $He is so utterly broken by this turn of events that you complete the legalities and biometric scanning without fuss. The condemned sobs weakly throughout the process until you grow tired of the whining and apply punishment. Then it's off to the penthouse for basic slave induction. The public @@.green;approves of this harshness,@@ which increases your arcology's prosperity by @@.green;giving it a reputation for swift and terrible justice.@@
-		<<set $rep += 100>>
+		<<run repX(100, "event", $activeSlave)>>
 		<<set $arcologies[0].prosperity += 10>>
 		<<include "New Slave Intro">>
 		<</replace>>
@@ -536,10 +536,10 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 			You sit down and talk to the exhausted $girl, handing $him a contract cleverly altered to resemble adoption papers. Once $he comprehends what $he is looking at, $he eagerly signs it. Only once $he has reached the penthouse and been introduced to the slave life does $he realize $he willingly signed away $his freedom. Though $he can't complain. A warm cot and plenty of food await, which to $him is a huge improvement over a slow death on the streets. The public
 			<<if $arcologies[0].FSPaternalist != "unset">>
 				@@.green;is impressed by your act,@@ even if it is a trick.
-				<<set $rep += 100>>
+				<<run repX(100, "event", $activeSlave)>>
 			<<else>>
 				@@.red;feels you let this criminal off too easy.@@
-				<<set $rep -= 100>>
+				<<run repX(-100, "event", $activeSlave)>>
 			<</if>>
 		<<include "New Slave Intro">>
 		<</replace>>
@@ -553,7 +553,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 	<br><<link "Grant $him citizenship">>
 		<<replace "#result">>
 			You help the exhausted mother to $his feet and hand $him $his second newborn. $He watches you, uncertain of your motives, until you have $him escorted to the proper welcoming facility and put in a good word for having $him added to your arcology's free population. You announce to the public that such a fertile <<if $activeSlave.physicalAge > 30>>MILF<<elseif $activeSlave.physicalAge > 19>>$woman<<elseif $activeSlave.physicalAge > 12>>teen<<else>>youth<</if>> will be a boon to Repopulationism, and that the contract $he is signing mandates $he be on powerful fertility agents whenever $he isn't pregnant. During $his residency, free or not, $he will provide society with dozens of future children. The public @@.green;approves of breeders, free or not,@@ and word spreads that any and all mothers are welcome into your arcology @@.green;adding to its prosperity.@@
-		<<set $rep += 10>>
+		<<run repX(10, "event", $activeSlave)>>
 		<<set $arcologies[0].prosperity += 1>>
 		<</replace>>
 	<</link>>
@@ -577,14 +577,14 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 	<<case "liberator">>
 		An example must be made. Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@
 	<</switch>>
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
 <<if $malefactor == "liberator">>
 <br><<link "Permit the slaveowner $he tried to steal from to flog $him">>
 	<<replace "#result">>
 	An example must be made. Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. $He is stripped and the slaveowner whose property $he tried to free is handed the leathern instrument. It seems the escapee was a favorite he does not wish to mangle, so he flogs the criminal mercilessly instead. $He is flung out of the arcology, nearly dead. The public @@.green;approves of this harshness,@@ and small slaveholders are @@.green;encouraged to do business with your arcology@@ after word of the incident gets around.
-	<<set $rep += 100>>
+	<<run repX(100, "event", $activeSlave)>>
 	<<set $arcologies[0].prosperity += 10>>
 	<</replace>>
 <</link>>
diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw
index 492c08af78e82807ce6201703d85c9408b657c47..011ec782f9a24f5627ea8d40701fcd64c1820f50 100644
--- a/src/uncategorized/reMilfTourist.tw
+++ b/src/uncategorized/reMilfTourist.tw
@@ -87,7 +87,7 @@
 	<<replace "#result">>
 	<<setSpokenLocalPronouns _milfSlave $activeSlave>>
 	You have $assistantName instruct _milfSlave.slaveName to pass on your regrets, and add a message for _milfSlave.slaveName expressing confidence in $him to represent you and the arcology perfectly well without you. $He's @@.mediumaquamarine;affirmed@@ by your trust in $him. "<<Master>>," $he reports the next time you see $him, "that touri<<s>>t wa<<s>> really nice. Al<<s>>o, I got _him2 to have <<s>>e<<x>> with me, after all. <<He 2>> wa<<s>> all he<<s>>itant and blu<<sh>>y about doing it in public, but <<he 2>> got better after the fir<<s>>t time I ate _him2 out." $He looks pleased with $himself. "I bet <<he 2>> @@.green;tell<<s>> all <<his 2>> friend<<s>>@@ back home how much fun it i<<s>> here."
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<<set $slaves[_milfed].trust += 4, $slaves[_milfed].oralCount++>>
 	<<set $oralTotal++>>
 	<</replace>>
@@ -105,7 +105,7 @@
 	You offer _him2 some liquid courage as _he2 recovers, but _he2's rapidly getting over _his2 hesitation. As the alcohol suffuses _him2, _he2 starts stealing glances at _milfSlave.slaveName, who for $his part is being as seductive as humanly possible. Finally, the tourist mouths 'fuck it' silently, reaches over, and openly gropes the slave's ass. _milfSlave.slaveName giggles and shifts lewdly, ensuring that the tourist's hand makes a thorough tour of everything the slave has. The tourist tentatively sinks a couple of fingers into _milfSlave.slaveName, and the slave shamelessly slides $himself onto the invading digits, begging to be fucked. You make a party of it, with the various slaves who come and go over the course of the evening treated to the sight of _milfSlave.slaveName getting fucked by the tourist. _He2 drunkenly promises you to @@.green;tell all _his2 friends@@ how awesome your arcology is at one point, though _he2 has to take _his2 mouth off one of _milfSlave.slaveName's nipples to do so.
 	<<set $slaves[_milfed].trust += 4, $slaves[_milfed].oralCount += 3, $slaves[_milfed].analCount += 3>>
 	<<set $oralTotal += 3, $analTotal += 3>>
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<<set $desc = "a thank-you note from a MILF tourist whom you made feel welcome in the arcology">>
 	<<set $trinkets.push($desc)>>
 	<</replace>>
@@ -124,7 +124,7 @@
 	"<<Master>>," $he reports the next time you see $him, "that touri<<s>>t was really nice. Al<<s>>o, I got _him2 to have <<s>>e<<x>> with me, after all. <<He 2>> wa<<s>> going to take me back to <<his 2>> hotel but I got _him2 to do me on the way. <<He 2>> wa<<s>> all he<<s>>itant and blu<<sh>>y about doing it in public, but <<he 2>> got better after the fir<<s>>t time I ate _him2 out." $He looks pleased with $himself. "I bet <<he 2>> @@.green;tell<<s>> all <<his 2>> friend<<s>>@@ back home how much fun it i<<s>> here."
 	<<set $slaves[_milfed].trust += 4, $slaves[_milfed].oralCount++>>
 	<<set $oralTotal++>>
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<<set $desc = "a thank-you note from a MILF tourist whom you made feel welcome in the arcology">>
 	<<set $trinkets.push($desc)>>
 	<</replace>>
diff --git a/src/uncategorized/rePokerNight.tw b/src/uncategorized/rePokerNight.tw
index 99f4bf5564ed409f719f023d4c116576b5eca617..b82a6740e61bd04080aa0d6203effad3d1f7e4ff 100644
--- a/src/uncategorized/rePokerNight.tw
+++ b/src/uncategorized/rePokerNight.tw
@@ -41,13 +41,13 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 				<<link "Play it safe">>
 					<<replace "#bountyresult">>
 						<<if random(1,100) > 50>>
-						Despite your attempts to mitigate risk and play the safest hands possible, it seems lady luck has conspired against you this evening. However, even when your last chip is spent, your mercenaries pitch you a few chips to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've @@.green;made some friends.@@
-						<<set $rep += 1000>>
-						<<run cashX(-2500, "event")>>
+							Despite your attempts to mitigate risk and play the safest hands possible, it seems lady luck has conspired against you this evening. However, even when your last chip is spent, your mercenaries pitch you a few chips to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've @@.green;made some friends.@@
+							<<run repX(1000, "event")>>
+							<<run cashX(-2500, "event")>>
 						<<else>>
-						While a careful eye for risk has buoyed you through the evening, ultimately lady luck is the decider in handing you the win in a number of close hands. Unfortunately your meticulous play limited your chance at a larger payout, and you only come away from the evening with <<print cashFormat(1000)>> more than you arrived with and @@.green;the respect of your mercenaries.@@
-						<<set $rep += 100>>
-						<<run cashX(1000, "event")>>
+							While a careful eye for risk has buoyed you through the evening, ultimately lady luck is the decider in handing you the win in a number of close hands. Unfortunately your meticulous play limited your chance at a larger payout, and you only come away from the evening with <<print cashFormat(1000)>> more than you arrived with and @@.green;the respect of your mercenaries.@@
+							<<run repX(100, "event")>>
+							<<run cashX(1000, "event")>>
 						<</if>>
 					<</replace>>
 				<</link>>
@@ -104,7 +104,7 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 								<<replace "#aliveresult">>
 									<<if random(1,100) > 50>>
 										For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other mercenaries clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@
-										<<set $rep += 1000>>
+										<<run repX(1000, "event")>>
 										<<run cashX(-5000, "event")>>
 									<<else>>
 										For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. A silence falls over the room as the result is declared, but after some time your opponent breaks the hush by joking that life as your slave is probably easier than fighting for $arcologies[0].name. After some awkward laughter the night continues, and at the end your former mercenary joins you on your trip back to the penthouse to submit to processing and to begin $his new life as your sexual servant. $He's not young, but $he's tough and not distrusting of you due to $his service in the $mercenariesTitle.
@@ -120,11 +120,11 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 								<<replace "#aliveresult">>
 									<<if random(1,100) > 50>>
 										For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up $his spoils, the other mercenaries clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@
-										<<set $rep += 1000>>
+										<<run repX(1000, "event")>>
 										<<run cashX(-5000, "event")>>
 									<<else>>
 										For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. Your opponent accepts $his defeat with grace and jokes to $his comrades that $he'll be fighting in $his underwear for the next few months, and their uproar of laughter fills the room. Though you take the lion's share of the ¤, your mercenaries also @@.green;had a good time fraternizing with you.@@
-										<<set $rep += 200>>
+										<<run repX(200, "event")>>
 										<<run cashX(5000, "event")>>
 									<</if>>
 								<</replace>>
diff --git a/src/uncategorized/reRebels.tw b/src/uncategorized/reRebels.tw
index 9bf476789e5845625b98b6fbafde2a0bf94c26fb..b137fcb4f7710e2acc6b271997781aab9ec49da0 100644
--- a/src/uncategorized/reRebels.tw
+++ b/src/uncategorized/reRebels.tw
@@ -22,7 +22,8 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo
 	<<set $slaves[_j].oralCount += 6>>
 	<<set $slaves[_i].oralCount += 6>>
 	<<set $oralTotal += 12>>
-	<<set $rep += 100>>
+	<<run repX(50, "event"$slaves[_i])>>
+	<<run repX(50, "event"$slaves[_j])>>
 	<</replace>>
 <</link>>
 <br><<link "Set them against each other, in private">>
diff --git a/src/uncategorized/reRelationshipAdvice.tw b/src/uncategorized/reRelationshipAdvice.tw
index 30879d30b160aa6936b99a9a77442570cc644dff..09c12cc30f4249ed10de0586fb85b6068149bf7b 100644
--- a/src/uncategorized/reRelationshipAdvice.tw
+++ b/src/uncategorized/reRelationshipAdvice.tw
@@ -24,12 +24,12 @@
 <<EventNameLink $activeSlave>> is standing for an inspection. $He's a good $girl, and is cooperating, but $he seems preoccupied. After ignoring it for a while, you give in to curiosity and flatly ask $him what's going on. "I'm <<s>>orry, <<Master>>," $he <<if SlaveStatsChecker.checkForLisp($activeSlave)>>lisp<<else>>mutter<</if>>s, biting $his lip. "It'<<s>> $subSlave.slaveName."
 $He hesitates, so you prompt $him, asking if $he's having trouble with $his
 <<if $activeSlave.relationship == 2>>
-	friend
+	friend.
 <<elseif $activeSlave.relationship == 3>>
-	friend with benefits
+	friend with benefits.
 <<elseif $activeSlave.relationship == 4>>
-	lover
-<</if>>.
+	lover.
+<</if>>
 $He quickly shakes $his head no. "N-no, <<Master>>, it's ju<<s>>t —" $He subsides into silence again, blushing and staring at $his feet. Comprehension dawning, you ask $him if
 <<if $activeSlave.relationship == 2>>
 	$he wants to be more than friends with $subSlave.slaveName.
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 2dbbfa78474cb8630b3c1f6e12c795ab3b8bb884..a1a3fa2449a446f441d1dc79667d3100c7e5a1a3 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -507,6 +507,7 @@
 <<set $activeSlave.lastWeeksCashIncome = 0>>
 <<set $activeSlave.lifetimeRepExpenses = 0>>
 <<set $activeSlave.lifetimeRepIncome = 0>>
+<<set $activeSlave.lastWeeksRepExpenses = 0>>
 <<set $activeSlave.lastWeeksRepIncome = 0>>
 
 <<slaveCost $activeSlave>>
diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw
index 40cc8fd6740b0ae298df7636820d341238f6a9dd..61c19fcf74811e8bf0b1ad8b727390e38e5347d5 100644
--- a/src/uncategorized/reShelterInspection.tw
+++ b/src/uncategorized/reShelterInspection.tw
@@ -418,7 +418,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 				<<set $shelterAbuse -= 1>>
 			<<else>>
 				_Inspectee.slaveName says confidently, "I'm a whore!" The inspector makes a go-on gesture, and the slave continues, "It'<<s>> hard work <<s>>ometime<<s>>, but I'm okay. I'm much happier with my current owner, thank you." The inspector looks pleased, and says _he2'll put out a @@.green;good word@@ about you.
-				<<set $rep += 100>>
+				<<run repX(100, "event")>>
 				<<set $shelterAbuse -= 1>>
 			<</if>>
 		<<case "serve the public" "serve in the club">>
@@ -427,13 +427,13 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 				<<set $shelterAbuse -= 1>>
 			<<else>>
 				_Inspectee.slaveName says confidently, "I'm a <<s>>lut!" The inspector makes a go-on gesture, and the slave continues, "It'<<s>> not bad. I'm much happier with my current owner, thank you." The inspector looks pleased, and says _he2'll put out a @@.green;good word@@ about you.
-				<<set $rep += 100>>
+				<<run repX(100, "event")>>
 				<<set $shelterAbuse -= 1>>
 			<</if>>
 		<<case "get milked" "work in the dairy">>
 			<<if _Inspectee.lactation > 0>>
 				_Inspectee.slaveName says happily, "I'm a milk cow!" The inspector arches an eyebrow skeptically, and the slave continues, "I give milk. <<S>>ee?" $He expresses a squirt of milk from one nipple. It'<<s>> a ni<<c>>e life. I'm much happier with my current owner, thank you." The inspector looks pleased, and says _he2'll put out a @@.green;good word@@ about you.
-				<<set $rep += 100>>
+				<<run repX(100, "event")>>
 				<<set $shelterAbuse -= 1>>
 			<<else>>
 				_Inspectee.slaveName says happily, "I get cockmilked!" The inspector arches an eyebrow skeptically, and the slave continues, "I give cum. It'<<s>> actually lot<<s>> of fun!" $He shakes $his penis for emphasis. "The machine feel<<s>> <<s>>o good. And when I'm almo<<s>>t empty, I get buttfucked to get the la<<s>>t drop out of me!" $He shivers. "It'<<s>> really ni<<c>>e..." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet.
@@ -441,7 +441,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 			<</if>>
 		<<default>>
 			_Inspectee.slaveName <<say>>s flatly, "Whatever my beloved <<Master>> require<<s>>. I have a good life now, and I would appre<<c>>iate it if you would <<s>>upport me by doing everything you can for _himP." Taken aback, the inspector says _he2'll put out a @@.green;good word@@ about you.
-			<<set $rep += 100>>
+			<<run repX(100, "event")>>
 			<<set $shelterAbuse -= 1>>
 		<</switch>>
 	<</if>>
diff --git a/src/uncategorized/reShippingContainer.tw b/src/uncategorized/reShippingContainer.tw
index 4c5d2c91e0c1c5d86af642c34cd61fbfa2a994c0..a9499389d89121c835577675f4064a0837a27875 100644
--- a/src/uncategorized/reShippingContainer.tw
+++ b/src/uncategorized/reShippingContainer.tw
@@ -46,7 +46,7 @@ For now, the crowd around you is looking at the helpless human cargo with
 	Allowing humor into your voice, you announce an auction, to be held immediately. The crowd appreciates the wit, and @@.green;appreciates it even more@@ when you conduct the auction yourself. It's always good to take an opportunity to show off your understanding of the slave market in public. You @@.yellowgreen;sell them all,@@ sex slaves and menials alike. Welcome to the Free Cities.
 	<<set $menials -= 25>>
 	<<run cashX((25*_bonusCash), "slaveTransfer")>>
-	<<set $rep += 100>>
+	<<run repX(100, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Keep them">>
@@ -55,7 +55,7 @@ For now, the crowd around you is looking at the helpless human cargo with
 		<<run newSlave(_newSlaves[_reShip])>> /* skip New Slave Intro */
 	<</for>>
 	You announce that the shipment is in violation of shipping and slave market regulations, and is being confiscated. There's a certain @@.red;disappointment@@ in the crowd that nothing more interesting came of it, but it's minor when compared to the chattel you just seized.
-	<<set $rep -= 50>>
+	<<run repX(-50, "event")>>
 	<</replace>>
 <</link>>
 <<if $arcologies[0].FSDegradationist !== "unset">>
@@ -68,7 +68,7 @@ For now, the crowd around you is looking at the helpless human cargo with
 		<<run newSlave(_newSlaves[_reShip])>> /* skip New Slave Intro */
 	<</for>>
 	You use the container handling systems to segregate the obvious menials from those with any potential as sex slaves. The menials go into a different container, which is whisked off, leaving a little shivering knot of frightened bodies, vulnerable and naked. The crowd watched all this with good humor, and there's silence enough that everyone hears your quiet announcement. You announce that the shipment is in violation of shipping and slave market regulations, and is being confiscated; however, you don't expect to see these particular slaves delivered to your penthouse for a couple of hours. Then you turn your back and walk away. The crowd gives a kind of @@.green;appreciative howl@@ which, understandably, produces a wail of terror from the slaves. As you head off, the sobbing turns into screaming. It sounds like your new slaves might be a bit stretched out, here and there.
-	<<set $rep += 200>>
+	<<run repX(200, "event")>>
 	<</replace>>
 <</link>>
 <<elseif $arcologies[0].FSPaternalist !== "unset">>
@@ -80,7 +80,7 @@ For now, the crowd around you is looking at the helpless human cargo with
 	<</for>>
 	You hurry forward, beckoning the crowd to accompany you. The wretched slaves cringe with fear, but soon they're being comforted, offered water, and examined for injury. Once the most pressing needs are attended to, you call for everyone's attention. You pride yourself on knowing your citizens well, and you can pick good Paternalists out of the crowd at will. Calling them by name, you ask whether they'd be willing to take on one of these poor slaves. One by one, you pair slave and Master or Mistress, rewarding your best people with public approbation, not to mention a free slave. The initial gasps of surprise quickly grow into @@.green;thunderous applause.@@ Your people love you. Several of the slaves begin to cry, mostly from confusion or sheer exhaustion; they don't yet know how lucky they are.
 	<<set $menials -= 25>>
-	<<set $rep += 2500>>
+	<<run repX(2500, "event")>>
 	<</replace>>
 <</link>>
 <</if>>
diff --git a/src/uncategorized/repBudget.tw b/src/uncategorized/repBudget.tw
new file mode 100644
index 0000000000000000000000000000000000000000..3d0863d82bf7321f38f71c591333214f4a6822c2
--- /dev/null
+++ b/src/uncategorized/repBudget.tw
@@ -0,0 +1,221 @@
+:: Rep Budget [nobr]
+
+<<set $nextButton = "Back to Main", $nextLink = "Main", _archologyCosts = 0>>
+
+<<set $lastWeeksRepIncome.Total = 0>>
+<<set $lastWeeksRepExpenses.Total = 0>>
+<<set $lastWeeksRepIncome.Total = hashSum($lastWeeksRepIncome)>>
+<<set $lastWeeksRepExpenses.Total = hashSum($lastWeeksRepExpenses)>>
+
+<<if def $lastWeeksRepProfits.Total>>
+	<<set $lastWeeksRepProfits.Total = 0>>
+<</if>>
+
+<br>
+//Reputation is a difficult thing to quantify, <<= properTitle()>>.  Here you see an overview of topics that interest people in the arcology, and in turn, reflect on your own reputation.  The more symbols you see in a category, the more impact that category is having on your reputation lately.//
+
+<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
+<br>
+//Your weekly reputation changes are as follows://
+
+/* Table of Totals */
+<<if ndef $lastWeeksRepIncome>>
+	Financial data currently unavailable.
+<<else>>
+
+<<script>>
+for(var i = 0; i < State.variables.lastWeeksRepIncome.length; i++){
+   State.variables.lastWeeksRepProfits[i] = (State.variables.lastWeeksRepIncome[i] + State.variables.lastWeeksRepExpenses[i]);
+}
+<</script>>
+
+<style>
+	table.finances {
+		/*table-layout: fixed;*/
+		text-align: right;
+		border-collapse: separate;
+		border-spacing: 5px;
+		border-style: hidden;
+		empty-cells: hide;
+		width: 75%;
+	}
+</style>
+
+
+<table class="finances" border="1">
+	<tr>
+		<th><h2>Penthouse</h2></th>
+		<th>Income</th>
+		<th>Expense</th>
+		<th>Totals</th>
+	</tr>
+	<<print budgetLine("fucktoy", "Fucktoys")>>
+
+	<<print budgetLine("publicServant", "Public servants")>>
+
+	<<print budgetLine("concubine", "Concubine")>>
+
+	<<print budgetLine("headGirl", "Head girl")>>
+
+	<<print budgetLine("bodyguard", "Bodyguard")>>
+
+	<<print budgetLine("recruiter", "Recruiter")>>
+
+	<tr>
+		<h2>Structures</h2>		/* TODO: using h2s doesn't fit in with the rest of the game */
+	</tr>
+
+	<<print budgetLine("arcade", "[[$arcadeNameCaps|Arcade][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($arcadeSlaves slaves)")>>
+
+	<<print budgetLine("brothel", "[[$brothelNameCaps|Brothel][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($brothelSlaves slaves)")>>
+
+	<<print budgetLine("club", "[[$clubNameCaps|Club][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($clubSlaves slaves)")>>
+
+	<<print budgetLine("publicServantClub", "Club servants")>>
+
+	<<print budgetLine("clubAds", "[[Club ads|Club Advertisement][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]]")>>
+
+	<<if $club > 0>>
+		<br>
+	<</if>>
+
+	<<print budgetLine("pit", "[[$pitNameCaps|Pit][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($fighterIDs.length slaves)")>>
+
+	<<print budgetLine("servantsQuarters", "[[Servants' Quarters][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($servantsQuartersSlaves slaves)")>>
+
+	<<print budgetLine("spa", "[[$spaNameCaps|Spa][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] ($spaSlaves slaves)")>>
+
+	<<print budgetLine("architecture", "[[Architecture|Manage Arcology][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]]")>>
+
+
+	<tr>
+		<h2>Slaves</h2>
+	</tr>
+
+	<<print budgetLine("slavesViewOfPC", "Slave trust and devotion")>>
+
+	<<print budgetLine("prestigiousSlave", "Prestigious slaves")>>
+
+	<<print budgetLine("porn", "Porn")>>
+
+	<<print budgetLine("slaveTransfer", "Selling/buying major slaves")>>
+
+	<<print budgetLine("babyTransfer", "Slave surgery")>>
+
+	<<print budgetLine("birth", "Birth")>>
+
+	<<print budgetLine("retirement", "Slave retirement")>>
+
+	<<print budgetLine("vignette", "Vignettes")>>
+
+	<tr>
+		<h2>Policies</h2>
+	</tr>
+
+	<<print budgetLine("policies", "Capital expenses")>>
+
+	<<print budgetLine("capEx", "[[Policies|Policies][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]] and [[Edicts|edicts][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]]")>>
+
+	<<print budgetLine("futureSocieties", "[[Society shaping|Future Society][$nextButton = \"Back to Budget\", $nextLink = \"Rep Budget\"]]")>>
+
+	<<print budgetLine("food", "Food")>>
+
+
+	<tr>
+		<h2>Forces</h2>
+	</tr>
+
+	<<print budgetLine("specialForces", "Special forces")>>
+
+	<<print budgetLine("peacekeepers", "Peacekeepers")>>
+
+	<<print budgetLine("war", "Conflict")>>
+
+
+	<tr>
+		<h2>Finance</h2>
+	</tr>
+
+	<<print budgetLine("personalBusiness", "Personal business")>>
+
+	<<print budgetLine("PCappearance", "Your appearance")>>
+
+	<<print budgetLine("PCactions", "Your actions")>>
+
+	<<print budgetLine("PCRelationships", "Your skills")>>
+
+	<<print budgetLine("SlaveRelationships", "Slave relationships")>>
+
+	<<print budgetLine("event", "Events")>>
+
+	<br>
+
+	<<print budgetLine("multiplier", "Reputation decay")>>
+
+	<<print budgetLine("overflow", "Some of your reputation gains are no doubt \"wasted,\" since it's impossible to be more well known.")>>
+
+	<<print budgetLine("cheating", "You cheated")>>
+
+	<tr><td></td></tr>
+	<tr>
+		<td>Tracked totals</td>
+		<td>
+			<<print repFormat(Math.trunc($lastWeeksRepIncome.Total))>>
+		</td>
+
+		<td>
+			<<print repFormat(Math.trunc($lastWeeksRepExpenses.Total))>>
+		</td>
+		<td>
+			<<set $lastWeeksRepProfits.Total  = ($lastWeeksRepIncome.Total + $lastWeeksRepExpenses.Total)>>
+			/* each "profit" item is calculated on this sheet, and there's two ways to generate a profit total: the difference of the income and expense totals, and adding all the profit items.  If they aren't the same, I probably forgot to properly add an item's profit calculation to this sheet.*/
+			<<if $lastWeeksRepProfits.Total != hashSum($lastWeeksRepProfits) - $lastWeeksRepProfits.Total>>/* The profits object includes the total number of profits, so we have to subtract it back out */
+				<<print (commaNum(Math.trunc(hashSum($lastWeeksRepProfits)-$lastWeeksRepProfits.Total)))>><br>
+				@@.red;Fix profit calc<br>@@
+			<</if>>
+			<<print repFormat(Math.trunc($lastWeeksRepProfits.Total))>>
+		</td>
+	</tr>
+
+	<tr><td></td></tr>
+	<tr>
+		<td>Last week actuals</td>
+		<td></td>
+		<td></td>
+		<td><<if ($rep-$repLastWeek) > 0>>
+				<<print repFormat($rep-$repLastWeek)>>
+			<<else>>
+				@@.red;<<print repFormat($rep-$repLastWeek)>>@@
+			<</if>></td>
+	</tr>
+
+	<<if ($rep-$repLastWeek) == $lastWeeksRepProfits.Total>>
+		<tr>
+			@@.green;The books are balanced, <<= properTitle()>>!@@
+		</tr>
+	<<else>>
+		<tr>
+			<td>Transaction tracking off by:</td>
+			<td></td>
+			<td></td>
+			<td>
+				<<print repFormat(Math.trunc(($rep-$repLastWeek) - $lastWeeksRepProfits.Total))>>
+			</td>
+		</tr>
+	<</if>>
+</table>
+
+<br>
+
+<</if>>
+
+<<if ndef $lastWeeksRepErrors>>
+	<<set $lastWeeksRepErrors = "Errors: ">>
+<</if>>
+
+<<if $lastWeeksRepErrors !== "Errors: ">>
+	<<link "Reset">> 
+		<<set $lastWeeksRepErrors = "Errors: ">>
+	<</link>>
+	@@.red;<<print $lastWeeksRepErrors>>@@
+<</if>>
diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw
index 6f3547dfcb96b59f272445474bb3ea6008bf0154..8fc28b6e6629459bf0db40f5704920ba2fd6abaa 100644
--- a/src/uncategorized/reputation.tw
+++ b/src/uncategorized/reputation.tw
@@ -48,52 +48,52 @@ On formal occasions, you are announced as $PCTitle.
 
 <<set $repDecay = 0.2>>
 <<if $arcologies[0].FSChattelReligionistLaw == 1>>
-	<<set $repLoss = 0, $PC.degeneracy = 0>>
+	<<set _repLoss = 0, $PC.degeneracy = 0>>
 	Since you are the Prophet, your reputation no longer degrades at all.
 <<elseif $arcologies[0].FSRestartDecoration == 100>>
-	<<set $repLoss = 0, $PC.degeneracy = 0>>
+	<<set _repLoss = 0, $PC.degeneracy = 0>>
 	Since you are an established member of the Societal Elite, your public reputation no longer decays.
 <<elseif $rep > $enduringRep>>
 	<<if $arcologies[0].FSMaturityPreferentialistLaw == 1>>
 	<<if $PC.actualAge >= 65>>
 		Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
 	<<elseif $PC.actualAge >= 50>>
 		Since you're well into middle age and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
 	<<elseif $PC.actualAge < 35>>
 		Since you're unusually young for an arcology owner, and $arcologies[0].name's society respects age, your reputation degrades quite quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<<else>>
 		Since you're only entering middle age, and $arcologies[0].name's society respects age, your reputation degrades fairly quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
 	<</if>>
 	<<elseif $arcologies[0].FSYouthPreferentialistLaw == 1>>
 	<<if $PC.actualAge >= 65>>
 		Since you're getting on in years and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
 	<<elseif $PC.actualAge >= 50>>
 		You're well into middle age and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<<elseif $PC.actualAge < 35>>
 		You're unusually young for an arcology owner, but $arcologies[0].name's society doesn't mind.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
 	<<else>>
 		Since you're entering middle age, and $arcologies[0].name's society respects youth, your reputation degrades fairly quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<</if>>
 	<<else>>
 	<<if $PC.actualAge >= 65>>
 		Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
 	<<elseif $PC.actualAge >= 50>>
 		Since you're well into middle age and have an impressive list of accomplishments, your reputation degrades fairly slowly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
 	<<elseif $PC.actualAge < 35>>
 		Since you're unusually young for an arcology owner, your reputation degrades fairly quickly.
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<<else>>
-		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
+		<<set _repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
 	<</if>>
 	<</if>>
 	<<if $enduringRep > 8000>>
@@ -103,9 +103,9 @@ On formal occasions, you are announced as $PCTitle.
 	<<elseif $enduringRep > 2000>>
 	However, you have been a figure of regard for long enough that some of your reputation has become permanent.
 	<</if>>
-	<<set $enduringRep += Math.trunc($repLoss*0.025)>>
+	<<set $enduringRep += Math.trunc(_repLoss*0.025)>>
 <<else>>
-	<<set $repLoss = 0>>
+	<<set _repLoss = 0>>
 	<<if $enduringRep > 8000>>
 	You have been a figure of renown for so long that your reputation does not decay past its present level.
 	<<elseif $enduringRep > 5000>>
@@ -115,12 +115,19 @@ On formal occasions, you are announced as $PCTitle.
 	<</if>>
 <</if>>
 
+/*play games with overflow.  Gains are calculated (and then sadly rounded) on previous pages but losses are calculated here, after the overflow happened.  Let's borrow from the past.*/
+<<if $lastWeeksRepExpenses.overflow < 0>>
+	<<set $rep += Math.abs($lastWeeksRepExpenses.overflow)>>
+	<<set $lastWeeksRepExpenses.overflow = 0>>
+<</if>>
+<<run repX(forceNeg(_repLoss), "multiplier")>>
+
 <<if ($weatherAwareness == 0) && ($weatherCladding == 2)>>
 	The public @@.green;is awestruck@@ of the beautiful weather hardening you have applied to the arcology's exterior, though they do not understand why you would waste so much money first ruining your arcology's appearance before doing this.
-	<<set $rep += 10>>
+	<<run repX(10, "architecture")>>
 <<elseif ($weatherAwareness == 0) && ($weatherCladding == 1)>>
 	The public @@.red;disapproves@@ of the ugly weather hardening you have applied to the arcology's exterior, not understanding what you're worried about.
-	<<set $rep -= 100>>
+	<<run repX(-100, "architecture")>>
 <</if>>
 
 <<if $arcologies[0].FSRestartDecoration == 100>>
@@ -143,7 +150,7 @@ On formal occasions, you are announced as $PCTitle.
 		<</if>>
 	<<else>>
 		Most prominent slaveowners are male, and your obviously feminine appearance makes it @@.red;harder for you to maintain your reputation.@@
-		<<set $repLoss += Math.trunc($rep*0.1)>>
+		<<run repX(Math.trunc($rep*0.1), "PCappearance")>>
 		<<if $arcologies[0].FSGenderFundamentalist > 10>>
 			Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that women should not be in positions of responsibility.
 			<<= FSChange("GenderFundamentalist", -5)>>
@@ -166,7 +173,7 @@ On formal occasions, you are announced as $PCTitle.
 		<</if>>
 	<<else>>
 		Most prominent slaveowners are very masculine, and your feminine appearance makes it @@.red;harder for you to maintain your reputation.@@
-		<<set $repLoss += Math.trunc($rep*0.05)>>
+		<<run repX(Math.trunc($rep*0.05), "PCappearance")>>
 		<<if $arcologies[0].FSGenderFundamentalist > 30>>
 			Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that feminine people should not be in positions of responsibility.
 			<<= FSChange("GenderFundamentalist", -5)>>
@@ -189,7 +196,7 @@ On formal occasions, you are announced as $PCTitle.
 		<</if>>
 	<<else>>
 		Most prominent slaveowners are very masculine, and though your unorthodox arrangement downstairs isn't obvious when you're clothed, the rumors are unavoidable and it's @@.red;harder for you to maintain your reputation.@@
-		<<set $repLoss += Math.trunc($rep*0.05)>>
+		<<run repX(Math.trunc($rep*0.05), "PCappearance")>>
 		<<if $arcologies[0].FSGenderFundamentalist > 30>>
 			Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that people who are not men should not be in positions of responsibility.
 			<<= FSChange("GenderFundamentalist", -5)>>
@@ -208,7 +215,7 @@ On formal occasions, you are announced as $PCTitle.
 			<<else>>
 				Society views getting fucked as sign of femininity and is @@.red;strongly against your sexual preferences.@@
 				<<= FSChange("GenderRadicalist", -1)>>
-				<<set $rep -= 1000>>
+				<<run repX(-1000, "PCactions")>>
 			<</if>>
 		<<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $PC.vagina == 1 && $PC.title == 0>>
 			<<if $rep > 10000>>
@@ -217,14 +224,14 @@ On formal occasions, you are announced as $PCTitle.
 			<<else>>
 				Society wonders if you would be happier in a whore house getting fucked all day instead of trying to lead an arcology. Your efforts @@.red;strongly support@@ the idea that women should not be in positions of responsibility.
 				<<= FSChange("GenderFundamentalist", -3)>>
-				<<set $rep -= 1000>>
+				<<run repX(-1000, "PCactions")>>
 			<</if>>
 		<<else>>
 			<<if $rep > 15000>>
 				You are so well liked that society has accepted that you enjoy taking everything a slave has to offer.
 			<<else>>
 				Society finds your penchant for taking slave dick @@.red;very distasteful@@ for a slaveowner.
-				<<set $rep -= 500>>
+				<<run repX(-500, "PCactions")>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -233,12 +240,12 @@ On formal occasions, you are announced as $PCTitle.
 <<if $secExp == 1>>
 	<<if $smilingManFate == 1>>
 		The grim statue of the Smiling Man outside your arcology @@.green;reminds the world of who managed to eliminate such a threat@@.
-		<<set $rep += 100>>
+		<<run repX(100, "architecture")>>
 	<</if>>
 
 	<<if $weaponsLaw == 3>>
 		The absence of any kind of restriction on weaponry within your arcology is @@.green;welcomed by your citizens@@ as sign of your respect for the ideals the Free Cities stand for.
-		<<set $rep += 20>>
+		<<run repX(20, "architecture")>>
 	<</if>>
 <</if>>
 
@@ -253,7 +260,7 @@ On formal occasions, you are announced as $PCTitle.
 			Your reputation is so strong that society has accepted your <<print $PC.race>>ness despite you being an inferior race.
 		<<else>>
 			Society @@.red;loathes;@@ being lead by an inferior $PC.race, believing that any other race would make a far better leader than you.
-			<<set $rep -= 200*($arcologies[0].FSSubjugationist/$FSLockinLevel)>>
+			<<run repX(-200*($arcologies[0].FSSubjugationist/$FSLockinLevel), "PCappearance")>>
 		<</if>>
 	<</if>>
 <</if>>
@@ -261,75 +268,75 @@ On formal occasions, you are announced as $PCTitle.
 <<if $arcologies[0].FSAssetExpansionist != "unset">>
 	<<if $PC.boobsBonus == 3>>
 		Society loves enormous breasts and you are no exception; your <<if $PC.boobsImplant == 1>>chest balloons<<else>>cow tits<</if>> @@.green;improve@@ your public image.
-		<<set $rep += 10>>
+		<<run repX(10, "PCappearance")>>
 	<</if>>
 	<<if $PC.butt == 3>>
 		Society loves big butts and you are no exception; your <<if $PC.buttImplant == 1>>inflated ass<<else>>fat ass<</if>> @@.green;improves@@ your public image.
-		<<set $rep += 10>>
+		<<run repX(10, "PCappearance")>>
 	<</if>>
 	<<if $PC.ballsImplant > 1>>
 		Society loves big things and the bulge in your crotch is no exception; your swollen balls @@.green;improve@@ your public image.
-		<<set $rep += (5*$PC.ballsImplant)>>
+		<<run repX((5*$PC.ballsImplant), "PCappearance")>>
 	<</if>>
 <<elseif $arcologies[0].FSSlimnessEnthusiast != "unset">>
 	<<if $PC.boobsBonus > 1>>
 		Society finds big breasts unsightly and you are no exception; your <<if $PC.boobsImplant == 1>>chest balloons<<else>>fat tits<</if>> @@.red;harm@@ your public image.
-		<<set $rep -= (10*$PC.boobsBonus)>>
+		<<run repX(-10*$PC.boobsBonus, "PCappearance")>>
 	<</if>>
 	<<if $PC.butt == 3>>
 		Society finds big butts unsightly and you are no exception; your <<if $PC.buttImplant == 1>>inflated ass<<else>>fat ass<</if>> @@.red;harms@@ your public image.
-		<<set $rep -= (10*$PC.butt)>>
+		<<run repX(-10*$PC.butt, "PCappearance")>>
 	<</if>>
 <</if>>
 
 <<if $arcologies[0].FSTransformationFetishist != "unset">>
 	<<if $PC.boobsImplant == 1>>
 		Society loves fake breasts and yours are no exception; your breast implants @@.green;improve@@ your public image.
-		<<set $rep += (7*$PC.boobsBonus)>>
+		<<run repX((7*$PC.boobsBonus), "PCappearance")>>
 	<</if>>
 	<<if $PC.buttImplant == 1>>
 		Society loves fake butts and yours are no exception; your ass implants @@.green;improve@@ your public image.
-		<<set $rep += (7*$PC.butt)>>
+		<<run repX((7*$PC.butt), "PCappearance")>>
 	<</if>>
 	<<if $PC.ballsImplant > $PC.balls>>
 		Society loves everything augmented and the bulge in your crotch is no exception; your swollen balls @@.green;improve@@ your public image.
-		<<set $rep += (5*($PC.ballsImplant-$PC.balls))>>
+		<<run repX((5*($PC.ballsImplant-$PC.balls)), "PCappearance")>>
 	<</if>>
 	<<if ($arcologies[0].FSRepopulationFocus != "unset")>>
 		<<if $PC.boobsBonus > 0 && $PC.boobsImplant == 0>>
 			Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image.
-			<<set $rep += (10*$PC.boobsBonus)>>
+			<<run repX((10*$PC.boobsBonus), "PCappearance")>>
 		<</if>>
 		<<if $PC.balls > 1>>
 			Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and @@.green;strongly improves@@ your public image.
-			<<set $rep += (15*$PC.ballsImplant)>>
+			<<run repX((15*$PC.ballsImplant), "PCappearance")>>
 		<</if>>
 	<</if>>
 <<elseif $arcologies[0].FSBodyPurist != "unset">>
 	<<if $PC.boobsImplant == 1>>
 		Society finds fake breasts repulsive and yours are no exception; your balloon-like breasts @@.red;harm@@ your public image.
-		<<set $rep -= (10*$PC.boobsBonus)>>
+		<<run repX(-10*$PC.boobsBonus, "PCappearance")>>
 	<</if>>
 	<<if $PC.buttImplant == 1>>
 		Society finds fake butts unsightly and yours is no exception; your inflated ass @@.red;harms@@ your public image.
-		<<set $rep -= (10*$PC.butt)>>
+		<<run repX(-10*$PC.butt, "PCappearance")>>
 	<</if>>
 	<<if $PC.ballsImplant > 1 && $PC.balls == 0>>
 		Society finds everything unnatural disgusting and the grotesque bulge in your crotch is no exception; your gel filled balls @@.red;harm@@ your public image.
-		<<set $rep -= (10*($PC.ballsImplant-$PC.balls))>>
+		<<run repX(-10*($PC.ballsImplant-$PC.balls), "PCappearance")>>
 	<</if>>
 	<<if ($arcologies[0].FSRepopulationFocus != "unset") && $PC.boobsBonus > 0 && $PC.boobsImplant == 0>>
 		Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image.
-		<<set $rep += (10*$PC.boobsBonus)>>
+		<<run repX((10*$PC.boobsBonus), "PCappearance")>>
 	<</if>>
 <<elseif ($arcologies[0].FSRepopulationFocus != "unset")>>
 	<<if $PC.boobsBonus > 0 && $PC.boobsImplant == 0>>
 		Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image.
-		<<set $rep += (10*$PC.boobsBonus)>>
+		<<run repX((10*$PC.boobsBonus), "PCappearance")>>
 	<</if>>
 	<<if $PC.balls > 1>>
 		Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and @@.green;strongly improves@@ your public image.
-		<<set $rep += (15*$PC.ballsImplant)>>
+		<<run repX((15*$PC.ballsImplant), "PCappearance")>>
 	<</if>>
 <</if>>
 
@@ -344,11 +351,11 @@ On formal occasions, you are announced as $PCTitle.
 					principle; your fecund figure exposes not only your willingness to be penetrated, but your
 				<</if>>
 				breach of eugenics. Your citizens are @@.red;livid@@ over your actions and are calling for your removal.
-				<<set $rep -= 500>>
+				<<run repX(-500, "PCactions")>>
 				<<set $failedElite += 100>>
 			<<else>>
 				Since it is public knowledge that you are carrying a child in the name of eugenics; society views you as a bearer of the future and @@.green;celebrates@@ your contributions to society.
-				<<set $rep += 200>>
+				<<run repX(200, "PCappearance")>>
 				<<set $failedElite -= 10>>
 			<</if>>
 		<<else>>
@@ -359,7 +366,7 @@ On formal occasions, you are announced as $PCTitle.
 				principle; your fecund figure exposes not only your willingness to be penetrated, but your
 			<</if>>
 			breach of the eugenics you are pushing for. Your citizens are @@.red;disgusted@@ by both your body and your lack of commitment.
-			<<set $rep -= 500>>
+			<<run repX(-500, "PCactions")>>
 			<<set $failedElite += 50>>
 		<</if>>
 	<<elseif $arcologies[0].FSRepopulationFocus >= 60>>
@@ -369,7 +376,7 @@ On formal occasions, you are announced as $PCTitle.
 		<<else>>
 			penetration.
 		<</if>>
-		<<set $rep += 10>>
+		<<run repX(10, "PCappearance")>>
 	<<else>>
 		Most prominent female owners avoid being penetrated on
 		<<if $sexualOpeness == 1>>
@@ -378,35 +385,35 @@ On formal occasions, you are announced as $PCTitle.
 			principle; your fecund figure exposes your willingness to be penetrated,
 		<</if>>
 		making it @@.red;harder for you to maintain your reputation.@@
-		<<set $rep -= 200>>
+		<<run repX(-200, "PCactions")>>
 	<</if>>
 <</if>>
 
 <<if $PC.career == "escort" && $rep < 16000>>
 	Society @@.red;frowns@@ over being run by an ex-whore. The presence of porn of you on the net doesn't aid your reputation either.
-	<<set $rep -= ($rep*0.1)>>
+	<<run repX(forceNeg($rep*0.1), "PCactions")>>
 <<elseif $PC.career == "escort">>
 	Your reputation is so strong that society has accepted your previous endeavors despite how unusual it is for a prominent slaveowner to have once nearly been a slave.
 <</if>>
 <<if $PC.career == "servant" && $rep < 12000>>
 	Society @@.red;frowns@@ over being run by an ex-<<if $PC.title == 1>>butler<<else>>maid<</if>>, despite how prominent their previous owner was.
-	<<set $rep -= ($rep*0.1)>>
+	<<run repX(forceNeg($rep*0.1), "PCactions")>>
 <<elseif $PC.career == "servant">>
 	Your reputation is so strong that society has accepted your previous vocation despite how unusual it is for a prominent slaveowner to have once been nothing more than a lowly servant.
 <</if>>
 <<if $PC.career == "gang" && $rep < 15000>>
 	Society @@.red;frowns@@ over being run by an ex-gang leader, no matter how strong they might have been.
-	<<set $rep -= ($rep*0.1)>>
+	<<run repX(forceNeg($rep*0.1), "PCactions")>>
 <<elseif $PC.career == "BlackHat" && $rep < 15000>>
 	Society @@.red;dislikes@@ being run by someone so capable of dredging up secrets, especially when they used to do it for the highest bidder.
-	<<set $rep -= ($rep*0.1)>>
+	<<run repX(forceNeg($rep*0.1), "PCactions")>>
 <<elseif $PC.career == "gang" || $PC.career == "BlackHat">>
 	Your reputation is strong enough that society has come to accept your background as part of your image.
 <</if>>
 
 <<if $PCSlutContacts == 2>>
 	You are actively starring in pornographic videos. While they are rather exclusive, @@.red;some still leak out to the public,@@ harming your image.
-	<<set $rep -= 50>>
+	<<run repX(-50, "PCactions")>>
 	<<if isPlayerFertile($PC)>>
 		That's not all that leaks out of you, considering all your shoots are rubber free.
 		<<= knockMeUp($PC, 20, 0, 0, 1)>>
@@ -541,9 +548,9 @@ On formal occasions, you are announced as $PCTitle.
 <<if ($arcologies[0].FSRepopulationFocus != "unset") && ($birthsTotal > 0)>>
 	The number of children you've brought into the world @@.green;pleases@@ your citizens.
 	<<if $birthsTotal < 1000>>
-		<<set $rep += $birthsTotal>>
+		<<run repX($birthsTotal, "PCactions")>>
 	<<else>>
-		<<set $rep += 1000>>
+		<<run repX(1000, "PCactions")>>
 	<</if>>
 <</if>>
 
@@ -570,7 +577,7 @@ On formal occasions, you are announced as $PCTitle.
 <<if $Cash4Babies == 1>>
 	<<if $arcologies[0].FSDegradationist != "unset">>
 		Society @@.green;approves@@ of your poor treatment of slave infants.
-		<<set $rep += 5*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>>
+		<<run repX(5*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel), "babyTransfer")>>
 	<<elseif $arcologies[0].FSRestart != "unset">>
 		<<if $eugenicsFullControl != 1>>
 			The Societal Elite @@.red;strongly disapproves@@ of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society.
@@ -578,16 +585,19 @@ On formal occasions, you are announced as $PCTitle.
 		<<else>>
 			Society @@.red;strongly disapproves@@ of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society.
 		<</if>>
-		<<set $arcologies[0].FSRestart -= $FSSingleSlaveRep, $rep -= (5*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel))+($rep/40)>>
+		<<set $failedElite += 5, $arcologies[0].FSRestart -= $FSSingleSlaveRep>>
+		<<run repX(forceNeg((5*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel))+($rep/40)), "babyTransfer")>>
+		<<run repX(-50, "PCactions")>>
 	<<elseif $arcologies[0].FSPaternalist != "unset">>
 		Society @@.red;greatly despises@@ your poor treatment of slave infants.
-		<<set $rep -= (25*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel))+($rep/20)>>
+		<<run repX(forceNeg((25*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel))+($rep/20)), "babyTransfer")>>
 	<<elseif $arcologies[0].FSRepopulationFocus != "unset">>
 		Society @@.red;disapproves@@ of your poor treatment of your future population, holding back acceptance of your new society.
-		<<set $arcologies[0].FSRepopulationFocus -= $FSSingleSlaveRep, $rep -= (5*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel))+($rep/20)>>
+		<<set $arcologies[0].FSRepopulationFocus -= $FSSingleSlaveRep>>
+		<<run repX(forceNeg((5*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel))+($rep/20)), "babyTransfer")>>
 	<<else>>
 		Your citizens @@.red;disapprove@@ of your poor treatment of slave children.
-		<<set $rep -= ($rep/20)>>
+		<<run repX(forceNeg($rep/20), "babyTransfer")>>
 	<</if>>
 <</if>>
 
@@ -600,7 +610,7 @@ On formal occasions, you are announced as $PCTitle.
 		are paternalistic enough to tolerate
 	<<else>>
 		@@.red;disapprove@@ of
-		<<set $rep -= 50>>
+		<<run repX(-50, "PCactions")>>
 	<</if>>
 	your support for marriage between citizens and slaves.
 <</if>>
@@ -637,86 +647,75 @@ On formal occasions, you are announced as $PCTitle.
 
 <<if $arcologies[0].FSNull != "unset">>
 	Your cultural openness @@.green;helps your reputation,@@ since few citizens have disputes with your permissive approach.
-	<<set $rep += 50*$FSSingleSlaveRep*($arcologies[0].FSNull/$FSLockinLevel)>>
+	<<run repX(50*$FSSingleSlaveRep*($arcologies[0].FSNull/$FSLockinLevel), "policies")>>
 <</if>>
 
 <<if $arcologies[0].FSRestartLaw == 1>>
 	Your laws requiring the non-elite to pay additional taxes or be sterilized @@.red;agitates@@ some of your citizens, but they don't matter. Only your @@.green;pleased@@ elite do.
-	<<set $rep -= 100>>
+	<<run repX(-100, "policies")>>
 	<<set $failedElite -= 1>>
 <</if>>
 
 <<if $arcologies[0].FSHedonisticDecadenceLaw == 1>>
 	The burgeoning prosperity brought on by new business through your policies @@.green;builds your reputation,@@ since nearly every citizen has something available to satisfy their cravings.
-	<<set $rep += 100>>
+	<<run repX(100, "policies")>>
 <</if>>
 
 <<if $FrigiditySMR == 1>>
 	Your market regulations regarding slave sex drives @@.red;outrages@@ your citizens seeking sex slaves, since only slaves disinterested in sex are available.
-	<<set $rep -= 250>>
+	<<run repX(-250, "policies")>>
 <</if>>
 
 <<if $PC.degeneracy > 0>>
 	<<if $PC.degeneracy > 100>>
 		There are @@.red;severe and devastating rumors@@ about you spreading across the arcology.
-		<<set $rep -= 100*$PC.degeneracy>>
+		<<run repX(-100*$PC.degeneracy, "PCactions")>>
 		<<set $enduringRep = 0>>
 	<<elseif $PC.degeneracy > 75>>
 		There are @@.red;severe rumors@@ about you spreading across the arcology.
-		<<set $rep -= 20*($PC.degeneracy)>>
+		<<run repX(-200*$PC.degeneracy, "PCactions")>>
 	<<elseif $PC.degeneracy > 50>>
 		There are @@.red;bad rumors@@ about you spreading across the arcology.
-		<<set $rep -= 10*$PC.degeneracy>>
+		<<run repX(-10*$PC.degeneracy, "PCactions")>>
 	<<elseif $PC.degeneracy > 25>>
 		There are @@.red;rumors@@ about you spreading across the arcology.
-		<<set $rep -= 5*$PC.degeneracy>>
+		<<run repX(-5*$PC.degeneracy, "PCactions")>>
 	<<elseif $PC.degeneracy > 10>>
 		There are @@.red;minor rumors@@ about you spreading across the arcology.
-		<<set $rep -= 2*$PC.degeneracy>>
+		<<run repX(-2*$PC.degeneracy, "PCactions")>>
 	<<else>>
 		The occasional rumor about you can be heard throughout the arcology.
-		<<set $rep -= $PC.degeneracy>>
+		<<run repX(-1*$PC.degeneracy, "PCactions")>>
 	<</if>>
 <</if>>
 
 <<if $SF.BadOutcome === "lockdown">>
 	Your citizens are @@.red;very displeased@@ that you are hosting a legion of heavily armed squatters in your basement.
-	<<set $rep -= $SF.Troops+$SF.Size>>
+	<<run repX(forceNeg($SF.Troops+$SF.Size), "specialForces")>>
 <</if>>
 
 <<if $secExp == 1>>
 	<<if $fakeNews == 1>>
 		The authenticity department produces and distributes copious amounts of plausible enough news and reports, @@.green;increasing your reputation.@@
-		<<set $repGain += 10 * $miniTruth>>
+		<<run repX(10 * $miniTruth, "policies")>>
 	<</if>>
 <</if>>
 
-<<if !isNaN($repLoss) && !isNaN($repGain)>>
-	<<set $rep -= $repLoss>>
-	<<set $rep += $repGain>>
-<</if>>
-
 <br>
-
-<<if $repGain > $repLoss>>
+<<set _repGain = hashSum($lastWeeksRepIncome), _repLoss = hashSum($lastWeeksRepIncome)>>
+<<if _repGain > _repLoss>>
 	@@.green;Your reputation increased this week.@@
-<<elseif $repGain < $repLoss>>
+<<elseif _repGain < _repLoss>>
 	@@.red;Your reputation decreased this week.@@
 <</if>>
 
-<<if isNaN($repGain)>>
-	<br>@@.red;Error: repGain is outside accepted range, please report this issue@@
-<</if>>
-<<if isNaN($repLoss)>>
-	<br>@@.red;Error: repLoss is outside accepted range, please report this issue@@
-<</if>>
+
 <<if isNaN($rep)>>
 	<br>@@.red;Error: rep is outside accepted range, please report this issue@@
 <</if>>
 
-<<if $rep > 19000>>
+<<if $rep > 20000>>
 	Your reputation is capped.
-	<<set $rep = 20000>>
 <<elseif $rep-$enduringRep > 7500>>
 	Your base rate of reputation decay is very high.
 <<elseif $rep-$enduringRep > 5000>>
@@ -733,7 +732,7 @@ On formal occasions, you are announced as $PCTitle.
 
 <<if $alwaysSubsidizeRep == 1>>
 	<<if $rep <= 19900>>
-		<<set $rep += 100>>
+		<<run repX(100, "policies")>>
 		Reputation subsidized as planned.
 		<<if $PC.degeneracy > 1>>
 			<<set $PC.degeneracy -= 1>>
@@ -776,7 +775,7 @@ On formal occasions, you are announced as $PCTitle.
 	<<if $failedElite > 300>>
 		The Societal Elite @@.red;have departed from your arcology in disgust@@.
 		<<run removeFS("FSRestart")>>
-		<<set $rep -= 10000>>
+		<<run repX(-10000, "event")>>
 		<<set $eliteFail = random(30,100),
 		$eliteFailTimer = 15>>
 		<<if $eliteFail > $topClass - 20>>
diff --git a/src/uncategorized/resEndowment.tw b/src/uncategorized/resEndowment.tw
index d48bb60c9e4fa2368c328a2a44880135af708356..c5e72d45d032c4cb7a1ffcb8b25b2a990ff05a3e 100644
--- a/src/uncategorized/resEndowment.tw
+++ b/src/uncategorized/resEndowment.tw
@@ -55,7 +55,7 @@
 			You pause measuringly before forwarding facts and figures to the surprised representative. You matter-of-factly prove the school's shortsightedness in focusing on young slaves; it's a field with a lot of competition and brutal overhead. There's potential elsewhere: MILFs. They're never virgins and they go for lower prices, but their skills can be advanced without ruining them, and material costs are lower. After furious internal debate, the school agrees to your suggestion. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $TSS.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -64,7 +64,7 @@
 			You and the representative discuss the school's focus on efficiency. You offer to endow a basic skill training program, and prove based on your own training methods that it won't unduly affect the low overhead and high volume the school relies on. The school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $TSS.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -72,7 +72,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the school. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "GRI">>
@@ -81,7 +81,7 @@
 			You express your interest in the institute's curative research. The representative admits the field is notoriously difficult, but readily agrees that the institute could certainly focus on health to a greater extent than it already does; its surviving test subjects will probably leave testing programs at a unique level of vitality. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $GRI.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -90,7 +90,7 @@
 			You introduce your plans to the representative by forwarding the records of the GRI test subjects you've purchased and what you've done with them. His eyes widen at the profitability you've found in use of their already-impressive breasts to produce milk. The institute readily agrees to pursue the field by focusing more heavily on lactation and breast expansion. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $GRI.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -98,7 +98,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the institute. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "SCP">>
@@ -107,7 +107,7 @@
 			You express general satisfaction with previous graduates on a physical level, but mention exasperation with the unfortunate tendency of some of them to question their place in life. You crossdeck a series of research reports that outline a method of reducing any girl to idiotic devotion. The representative is dubious, since it will reduce prices, but you point out the potential for commensurately reduced overhead, and the school eventually agrees. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $SCP.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -116,7 +116,7 @@
 			You state general satisfaction with previous graduates, but mention some doubt about the school's focus on the physical to the exclusion of the mental. You outline a plan under which surgical recovery time could be used for low intensity training, and after reviewing it the school agrees to implement it without delay. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $SCP.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -124,7 +124,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the school. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "LDE">>
@@ -133,7 +133,7 @@
 			You express general satisfaction with previous graduates, but point out that on arrival, you found it necessary to do some additional work before they discovered their true calling as constant buttsluts. The representative quickly hides his incredulous glee as you crossdeck a series of research reports that suggest the potential for a pharmaceutical fix for this blemish. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $LDE.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -142,7 +142,7 @@
 			You state general satisfaction with previous graduates, but express some regret that the hormonal treatments that feminize the school's products tend to impact certain amusing parts of their anatomy. The representative is dubious, since that minimization is a major part of the school's brand, but you wax rhapsodic on the advantages of a well-endowed bottom kept soft by hormones, and the school eventually agrees. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $LDE.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -150,7 +150,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the school. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "TGA">>
@@ -159,7 +159,7 @@
 			You express general satisfaction with previous graduates, but point out that their mental conditioning is incomplete at best. The representative quickly hides his incredulous glee as you outline a basic plan for an advanced training center that would use refined versions of old world mental conditioning techniques to produce total loyalty. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $TGA.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -168,7 +168,7 @@
 			You express general satisfaction with previous graduates, but point out that in this uncertain world, it's important that every possible resource be used to defend slave society. The representative quickly hides his incredulous glee as you outline a basic plan for a combat training program that will make Gymnasium-Academy graduates lethal fighters that can be trusted not to use their talents to rebel. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $TGA.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -176,7 +176,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the school. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "HA">>
@@ -185,7 +185,7 @@
 			You and the representative discuss the academy's focus on raw quality. You offer to endow a better educational program able to enhance the mental faculties of the graduates without negatively affecting their physical development. The school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $HA.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -194,7 +194,7 @@
 			You express general satisfaction with previous graduates, but point out that if they truly wish to distinguish themselves in the world, they need to focus on their trademark features. The representative quickly hides his incredulous glee as you outline a research program that will make Hippolyta Academy graduates powerful colossi. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $HA.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -203,7 +203,7 @@
 			You express general satisfaction with previous graduates, but point out that if they truly wish to distinguish themselves in the world, they need to focus on their trademark features. The representative quickly hides his incredulous glee as you outline a research program that will make Hippolyta Academy graduates strong yet graciously soft and feminine battlemaids. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<set $HA.schoolUpgrade = 3>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -211,7 +211,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the school. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<elseif $RESEndowment == "TCR">>
@@ -220,7 +220,7 @@
 			You express general satisfaction with previous cows, but point out that once they give birth, it's up to you to do all the work in keeping them lactating. It quickly dawns on the representative that purchasers may want to buy a bull to keep their herd naturally milky. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slave milking.
 			<<set $TCR.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -229,7 +229,7 @@
 			You express general satisfaction with previous graduates, but point out that it would be quite enjoyable to bring in their milk yourself. The representative tries to explain that they aren't ready yet, but quickly changes his tune when he hears how much you'll be sending their way. The grateful school spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slave milking.
 			<<set $TCR.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -237,7 +237,7 @@
 		<<replace "#result">>
 			You make a generous contribution to the farm. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 <<else>>
@@ -248,7 +248,7 @@
 			The grateful Sisters spread @@.green;word of your generosity,@@ deflecting inquiries into their secretive world by praising you instead.
 			<<set $TFS.schoolUpgrade = 1>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -259,7 +259,7 @@
 			The grateful Sisters spread @@.green;word of your generosity,@@ deflecting inquiries into their secretive world by praising you instead.
 			<<set $TFS.schoolUpgrade = 2>>
 			<<run cashX(-50000, "capEx")>>
-			<<set $rep += 1500>>
+			<<run repX(1500, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(50000)>>//
 	<br>
@@ -267,7 +267,7 @@
 		<<replace "#result">>
 			You donate funds to the Sisters with your compliments, ensuring that neither matron controls the contributed funds. They understand, and spread @@.green;word of your generosity,@@ deflecting inquiries into their secretive world by praising you instead.
 			<<run cashX(-10000, "capEx")>>
-			<<set $rep += 1000>>
+			<<run repX(1000, "event")>>
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(10000)>>//
 	<<if $cash >= 250000>>
@@ -283,7 +283,7 @@
 			Days later, the grateful institution begins a mass marketing campaign all across the world's Free Cities, which includes adverts in FCNN, FCTV, and FC social media about the upcoming changes to their Sister inventory and their need for willing new blood and new specialists to help them bolster their ranks. You feature prominently in each and every promotional item as their foremost contributor. Thanks to this @@.green;you will be a household name in the Free Cities for some time.@@ Such a public flex of your financial muscles has also made your relative power very clear to some in the New World, attracting important players who @@.green;will start to show an interest@@ in doing business with you and your Free City.
 			<<set $TFS.schoolUpgrade = 3>>
 			<<run cashX(-250000, "capEx")>>
-			<<set $rep += 2000>>
+			<<run repX(2000, "event")>>
 			<<set $arcologies[0].prosperity += 1>>
 			<<set $TFS.compromiseWeek = $week>>
 		<</replace>>
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index 69a30d7689d4324b68c1de2a67b62c9447fa657a..62947cb9a65ab4a83f5f99770134e3d819e5692f 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -20,7 +20,7 @@
 	<<set $RESFailure = "HA">>
 <</if>>
 
-<<set $rep -= 200>>
+<<run repX(-200, "event")>>
 <<set $arcologies[0].prosperity -= 2>>
 <<set $slavesToAdd = 5>>
 <<if $RESFailure == "TSS">>
diff --git a/src/uncategorized/saBeYourHeadGirl.tw b/src/uncategorized/saBeYourHeadGirl.tw
index 563f84d9c013314e213a93e365772b26577f4a47..9d52e34e97db015876aa0a7e068319eee037d088 100644
--- a/src/uncategorized/saBeYourHeadGirl.tw
+++ b/src/uncategorized/saBeYourHeadGirl.tw
@@ -20,32 +20,32 @@
 				<<if areRelated($Concubine, $slaves[$i]) > 0>>
 					<<if $Concubine.mother == $slaves[$i].ID || $Concubine.father == $slaves[$i].ID>>
 						Your Concubine is your Consort's daughter-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-						<<set $rep += 250>>
+						<<run repX(250, "headGirl", $slaves[$i])>>
 					<<elseif $slaves[$i].mother == $Concubine.ID>>
 						Your Concubine is your Consort's mother-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-						<<set $rep += 250>>
+						<<run repX(250, "headGirl", $slaves[$i])>>
 					<<elseif $slaves[$i].father == $Concubine.ID>>
 						Your Concubine is your Consort's father-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-						<<set $rep += 250>>
+						<<run repX(250, "headGirl", $slaves[$i])>>
 					<<else>>
 						<<switch areSisters($slaves[$i], $Concubine)>>
 						<<case 1>>
 							Your Concubine is your Consort's twin-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-							<<set $rep += 250>>
+							<<run repX(250, "headGirl", $slaves[$i])>>
 						<<case 2>>
 							Your Concubine is your Consort's sister-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-							<<set $rep += 250>>
+							<<run repX(250, "headGirl", $slaves[$i])>>
 						<<case 3>>
 							Your Concubine is your Consort's half-sister-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-							<<set $rep += 250>>
+							<<run repX(250, "headGirl", $slaves[$i])>>
 						<<default>>
 							//Shit went wrong! Post this in a bug report!// This is @@.red;NOT as it should be.@@
-							<<set $rep += 100>>
+							<<run repX(100, "headGirl", $slaves[$i])>>
 						<</switch>>
 					<</if>>
 				<<else>>
 					Your Consort and your Concubine are wives to each other and to Pharaoh. This is @@.green;as it should be.@@
-					<<set $rep += 100>>
+					<<run repX(100, "headGirl", $slaves[$i])>>
 				<</if>>
 			<<else>>
 				<<if totalRelatives($slaves[$i]) > 0>>
@@ -53,24 +53,24 @@
 					<<if def _sbyhg>>
 						<<if $slaves[_sbyhg].mother == $slaves[$i].ID || $slaves[_sbyhg].father == $slaves[$i].ID>>
 							Your Consort has a daughter-wife. This is @@.green;as it should be.@@
-							<<set $rep += 100>>
+							<<run repX(100, "headGirl", $slaves[$i])>>
 						<<elseif $slaves[$i].mother == $slaves[_sbyhg].ID>>
 							Your Consort has a mother-wife. This is @@.green;as it should be.@@
-							<<set $rep += 100>>
+							<<run repX(100, "headGirl", $slaves[$i])>>
 						<<elseif $slaves[$i].father == $slaves[_sbyhg].ID>>
 							Your Consort has a father-wife. This is @@.green;as it should be.@@
-							<<set $rep += 100>>
+							<<run repX(100, "headGirl", $slaves[$i])>>
 						<<else>>
 							<<switch areSisters($slaves[$i], $slaves[_sbyhg])>>
 							<<case 1>>
 								Your Consort has a twin-wife. This is @@.green;as it should be.@@
-								<<set $rep += 100>>
+								<<run repX(100, "headGirl", $slaves[$i])>>
 							<<case 2>>
 								Your Consort has a sister-wife. This is @@.green;as it should be.@@
-								<<set $rep += 100>>
+								<<run repX(100, "headGirl", $slaves[$i])>>
 							<<case 3>>
 								Your Consort has a half-sister-wife. This is @@.green;as it should be.@@
-								<<set $rep += 100>>
+								<<run repX(100, "headGirl", $slaves[$i])>>
 							<</switch>>
 						<</if>>
 					<</if>>
@@ -80,14 +80,14 @@
 			<<if $slaves[$i].relationshipTarget == $Concubine.ID>>
 				<<if $slaves[$i].relationTarget == $Concubine.ID>>
 				Your Concubine is your Consort's $slaves[$i].relation-wife. Truly, $arcologies[0].name looks up to you @@.green;as children to a father.@@
-				<<set $rep += 250>>
+				<<run repX(250, "headGirl", $slaves[$i])>>
 				<<else>>
 				Your Consort and your Concubine are wives to each other and to Pharaoh. This is @@.green;as it should be.@@
-				<<set $rep += 100>>
+				<<run repX(100, "headGirl", $slaves[$i])>>
 				<</if>>
 			<<elseif $slaves[$i].relationshipTarget == $slaves[$i].relationTarget>>
 				Your Consort has a $slaves[$i].relation-wife. This is @@.green;as it should be.@@
-				<<set $rep += 100>>
+				<<run repX(100, "headGirl", $slaves[$i])>>
 			<</if>>
 		<</if>> /* closes extended family mode */
 	<</if>>
diff --git a/src/uncategorized/saDevotion.tw b/src/uncategorized/saDevotion.tw
index db7012e3640185bc122d65de10f5cab43241e5d1..08226cf92ec298a78a2ca3bfb4c7e0709494c61a 100644
--- a/src/uncategorized/saDevotion.tw
+++ b/src/uncategorized/saDevotion.tw
@@ -245,7 +245,7 @@
 			<<= FSChange("Paternalist", 2)>>
 		<<else>>
 			@@.green;improves your reputation.@@
-			<<set $repGain += $FSSingleSlaveRep*2>>
+			<<run repX($FSSingleSlaveRep*2, "retirement")>>
 		<</if>>
 	<<elseif $slaves[$i].devotion >= -20>>
 		The prospect of manumission @@.hotpink;encourages $him to submit to slavery@@ and @@.mediumaquamarine;encourages $him to be optimistic.@@
@@ -264,7 +264,7 @@
 			<<= FSChange("Paternalist", 2)>>
 		<<else>>
 			@@.green;improves your reputation.@@
-			<<set $repGain += $FSSingleSlaveRep>>
+			<<run repX($FSSingleSlaveRep, "retirement")>>
 		<</if>>
 	<<elseif $slaves[$i].devotion >= -20>>
 		The prospect of manumission @@.hotpink;cheers $him up@@ and @@.mediumaquamarine;makes $him optimistic.@@
@@ -339,7 +339,7 @@
 			<<= FSChange("Paternalist", 2)>>
 		<<else>>
 			@@.green;improves your reputation.@@
-			<<set $repGain += $FSSingleSlaveRep*2>>
+			<<run repX($FSSingleSlaveRep*2, "retirement")>>
 		<</if>>
 	<<elseif $slaves[$i].devotion >= -20>>
 		The prospect of manumission @@.hotpink;encourages $him to submit to slavery@@ and @@.mediumaquamarine;encourages $him to be optimistic.@@
@@ -358,7 +358,7 @@
 			<<= FSChange("Paternalist", 2)>>
 		<<else>>
 			@@.green;improves your reputation.@@
-			<<set $repGain += $FSSingleSlaveRep>>
+			<<run repX($FSSingleSlaveRep, "retirement")>>
 		<</if>>
 	<<elseif $slaves[$i].devotion >= -20>>
 		The prospect of manumission @@.hotpink;cheers $him up@@ and @@.mediumaquamarine;makes $him optimistic.@@
@@ -745,9 +745,9 @@
 
 <<if ($slaves[$i].devotion > 100) && ($slaves[$i].trust > 100) && ($slaves[$i].energy > 50)>>
 	$His perfect devotion and trust @@.green;improve your reputation.@@
-	<<set $repGain += 10*($slaves[$i].devotion-100)>>
+	<<run repX(10*($slaves[$i].devotion-100), "slavesViewOfPC", $slaves[$i])>>
 	<<set $slaves[$i].devotion = 100>>
-	<<set $repGain += 10*($slaves[$i].trust-100)>>
+	<<run repX(10*($slaves[$i].trust-100), "slavesViewOfPC", $slaves[$i])>>
 	<<set $slaves[$i].trust = 100>>
 <<else>>
 	<<if ($slaves[$i].devotion > 100)>>
@@ -757,7 +757,7 @@
 			<<set $energyPlus += Math.trunc($slaves[$i].devotion-100)>>
 		<<else>>
 			$His extreme devotion @@.green;improved your reputation.@@
-			<<set $repGain += 10*($slaves[$i].devotion-100)>>
+			<<run repX(10*($slaves[$i].devotion-100), "slavesViewOfPC", $slaves[$i])>>
 		<</if>>
 		<<set $slaves[$i].devotion = 100>>
 	<<elseif $slaves[$i].devotion > 95>>
@@ -770,12 +770,12 @@
 			<<set $slaves[$i].devotion += Math.trunc($slaves[$i].trust-100)>>
 		<<elseif $slaves[$i].devotion < -50>>
 			$His blatant disregard for your rule @@.red;damages your reputation.@@
-			<<set $repGain -= 30*($slaves[$i].trust-100)>>
+			<<run repX(30*($slaves[$i].trust-100), "slavesViewOfPC", $slaves[$i])>>
 		<<elseif $slaves[$i].energy <= 50>>
 			<<set $energyPlus += Math.trunc($slaves[$i].trust-100)>>
 		<<else>>
 			$His extreme trust @@.green;improved your reputation.@@
-			<<set $repGain += 10*($slaves[$i].trust-100)>>
+			<<run repX(10*($slaves[$i].trust-100), "slavesViewOfPC", $slaves[$i])>>
 		<</if>>
 		<<set $slaves[$i].trust = 100>>
 	<<elseif $slaves[$i].trust > 95>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index fd106dad1f8e82e50612a141769bce3dd686833d..60c4cd6914561845cc047674e05b5c9de5da5a11 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -576,10 +576,9 @@ gets milked this week.
 			<<else>>
 				an incident without lasting effect.
 			<</if>>
-			<<set $rep += Math.trunc($FResult*_vignette.effect*0.1)>>
+			<<run repX( Math.trunc($FResult*_vignette.effect*0.1), "vignette", $slaves[$i])>>
 			<<set _incomeStats.rep += Math.trunc($FResult*_vignette.effect*0.1)>>
 		<</if>>
-
 	<</if>>
 
 	/* FACILITY DECORATION IMPACTS */
diff --git a/src/uncategorized/saGuardsYou.tw b/src/uncategorized/saGuardsYou.tw
index 3706eab30aa69ca177c138918b78d8e93a2ad52c..8cb31cf57f99f82baa542a59c73ce5bda6b91775 100644
--- a/src/uncategorized/saGuardsYou.tw
+++ b/src/uncategorized/saGuardsYou.tw
@@ -159,7 +159,7 @@ $His constant presence is
 	extremely intimidating, @@.green;adding much to your reputation.@@
 	<<if $slaves[$i].career == "an arcology owner">>
 	You've made a one-time rival arcology owner into a deadly and loyal protector, a feat of slaveownership that's @@.green;internationally famous.@@
-	<<set $repGain += $deadliness*10>>
+	<<run repX($deadliness*10, "bodyguard", $slaves[$i])>>
 	<</if>>
 <<elseif $deadliness > 3>>
 	intimidating, @@.green;adding to your reputation.@@
@@ -167,7 +167,7 @@ $His constant presence is
 	hardly intimidating, @@.yellow;barely adding to your reputation.@@
 <</if>>
 
-<<set $repGain += $deadliness*10>>
+<<run repX($deadliness*10, "bodyguard", $slaves[$i])>>
 
 Being continually trusted with your life @@.hotpink;increases $his devotion to you@@ and encourages $him to @@.mediumaquamarine;trust you in turn.@@
 	<<set $slaves[$i].devotion += 2>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 33830128e00ba3b1008538929b44f48f7675386b..8329637d24af888a305d0601569d9f36057521b4 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -4482,10 +4482,10 @@
 			<</if>>
 		<<elseif $arcologies[0].FSSubjugationist != "unset" && ($slaves[$i].race == $arcologies[0].FSSubjugationistRace) && $slaves[$i].bellyImplant >= 1500>>
 			Society @@.green;is satisfied@@ with $slaves[$i].slaveName's implant filled belly since $his kind really shouldn't be breeding.
-			<<set $repGain += 0.1*$FSSingleSlaveRep>>
+			<<run repX(0.1*$FSSingleSlaveRep, "futureSocieties", $slaves[$i])>>
 		<<elseif $slaves[$i].bellyImplant >= 1500 && (($slaves[$i].ovaries == 0 && $slaves[$i].mpreg == 0) || $slaves[$i].preg < -1)>>
 			Society @@.green;accepts@@ $slaves[$i].slaveName's implant filled belly due to $his infertility.
-			<<set $repGain += 0.1*$FSSingleSlaveRep>>
+			<<run repX(0.1*$FSSingleSlaveRep, "futureSocieties", $slaves[$i])>>
 		<<elseif $slaves[$i].collar == "preg biometrics" && $slaves[$i].preg > 0>>
 			Society is @@.green;pleased@@ by $slaves[$i].slaveName's collar revealing $his womb's secret<<if $slaves[$i].pregType > 1>>s<</if>> even when $his body is trying its best to keep <<if $slaves[$i].pregType > 1>>them<<else>>it<</if>> hidden.
 			<<= FSChangePorn("Repopulationist", 1)>>
@@ -4499,7 +4499,7 @@
 			<<= FSChangePorn("Repopulationist", 2)>>
 		<<elseif setup.fakeBellies.includes($bellyAccessory)>>
 			Society is @@.green;placated@@ by $slaves[$i].slaveName's fake belly.
-			<<set $repGain += 0.01*$FSSingleSlaveRep>>
+			<<run repX(0.01*$FSSingleSlaveRep, "futureSocieties", $slaves[$i])>>
 		<<elseif $arcologies[0].FSSubjugationist != "unset" && ($slaves[$i].race == $arcologies[0].FSSubjugationistRace)>>
 			Society is perfectly fine with $slaves[$i].slaveName not reproducing. $His belly is still unattractively small, however.
 		<<elseif ($slaves[$i].ovaries == 0 && $slaves[$i].mpreg == 0) || ($slaves[$i].preg < -1) || ($slaves[$i].pubertyXX == 0)>>
@@ -4515,10 +4515,10 @@
 	<<elseif $arcologies[0].FSRepopulationFocusPregPolicy == 1>>
 		<<if $slaves[$i].preg > 30>>
 			Society @@.green;loves@@ $slaves[$i].slaveName's advanced pregnancy. It's very trendy.
-			<<set $rep += Math.trunc($FSSingleSlaveRep)>>
+			<<run repX(Math.trunc($FSSingleSlaveRep), "futureSocieties", $slaves[$i])>>
 		<<elseif $slaves[$i].bellyPreg >= 1500>>
 			Society @@.green;enjoys@@ $slaves[$i].slaveName's pregnancy. Being heavy with child is in right now.
-			<<set $rep += Math.trunc($FSSingleSlaveRep/2)>>
+			<<run repX(Math.trunc($FSSingleSlaveRep/2), "futureSocieties", $slaves[$i])>>
 		<</if>>
 	<<elseif $arcologies[0].FSRestart != "unset">>
 		<<if $slaves[$i].chastityVagina>>
@@ -4575,7 +4575,7 @@
 	<</if>>
 	<<if $arcologies[0].FSRepopulationFocusMilfPolicy == 1 && $slaves[$i].birthsTotal > 0>>
 		Society @@.green;loves@@ MILFs and as a mother, $slaves[$i].slaveName fits right in.
-		<<set $rep += Math.trunc($FSSingleSlaveRep)>>
+		<<run repX(Math.trunc($FSSingleSlaveRep), "futureSocieties", $slaves[$i])>>
 	<</if>>
 
 	<<if $arcologies[0].FSPaternalist != "unset">>
@@ -4953,7 +4953,7 @@
 							<</switch>>
 						<<elseif $arcologies[0].FSDegradationist == "unset">>
 							The public knows $he's a shelter girl you took in, and is @@.green;touched@@ that $he now seems happy and healthy.
-							<<set $repGain += 10>>
+							<<run repX(10, "futureSocieties", $slaves[$i])>>
 							<<switch $slaves[$i].assignment>>
 							<<case "work in the brothel">><<run getSlaveStatisticData($slaves[$i], $facility.brothel).rep += 10>>
 							<</switch>>
@@ -4971,7 +4971,7 @@
 	<<if ($slaves[$i].brand != 0)>>
 		<<if ($slaves[$i].assignment == "serve the public") || ($slaves[$i].assignment == "whore") || ($slaves[$i].assignment == "work in the brothel") || ($slaves[$i].assignment == "serve in the club")>>
 			Since $he is in public, your brand against the $slaves[$i].skin skin of $his $slaves[$i].brandLocation @@.green;slightly increases your reputation@@ as a slaveowner.
-			<<set $repGain += 5>>
+			<<run repX(5, "futureSocieties", $slaves[$i])>>
 			<<switch $slaves[$i].assignment>>
 			<<case "work in the brothel">><<run getSlaveStatisticData($slaves[$i], $facility.brothel).rep += 5>>
 			<</switch>>
@@ -5117,7 +5117,7 @@
 					Since $his hearing is also muffled, $he has a hard time understanding what partners want from $him, often causing them to @@.gold;get forceful@@ with $him.
 					<<set $slaves[$i].trust -= 5>>
 				<<else>>
-					The muffled hearing induced by $his ear plugs @@.mediumorchid;infuriates him@@ with $his vision problems.
+					The muffled hearing induced by $his ear plugs @@.mediumorchid;infuriates $him@@ with $his vision problems.
 					<<set $slaves[$i].devotion -= 5>>
 				<</if>>
 			<</if>>
@@ -7260,13 +7260,13 @@
 
 <<if ($slaves[$i].prestige > 0)>>
 	Merely owning such a prestigious slave @@.green;helps your reputation.@@
-	<<set $repGain += (10*$slaves[$i].prestige)>>
+	<<run repX((10*$slaves[$i].prestige), "prestigiousSlave", $slaves[$i])>>
 <</if>>
 
 /* saPorn */
 <<if $slaves[$i].pornPrestige == 3>>
 	$He is the whore people envision when they think of $slaves[$i].pornFameType porn. $His omnipresence on the internet @@.green;boosts $his owner's reputation.@@
-	<<set $repGain += (100*$slaves[$i].pornPrestige)>>
+	<<run repX((100*$slaves[$i].pornPrestige), "porn", $slaves[$i])>>
 	<<set _donations = Math.floor($slaves[$i].pornFame/(random(13,20)))+(random(-5000,5000))>>
 	<<if _donations > 0>>
 		A number of gifts and donations totaling @@.yellowgreen;<<print cashFormat(_donations)>>@@ were also sent to $him, among other things.
diff --git a/src/uncategorized/saPleaseYou.tw b/src/uncategorized/saPleaseYou.tw
index 57b2ecf4e4ee90f5e566d01e7d9743413deeac74..e0eb9e5dcf843d0ce10027344f36b6a108dfd3ae 100644
--- a/src/uncategorized/saPleaseYou.tw
+++ b/src/uncategorized/saPleaseYou.tw
@@ -1246,7 +1246,7 @@ serves you this week.
 <</if>>
 
 <<if $beauty>>
-	<<set $repGain += Math.trunc(($beauty*$FResult)*_multiplier)>>
+	<<run repX(Math.trunc(($beauty*$FResult)*_multiplier), "fucktoy", $slaves[$i])>>
 <<else>>
 	<b>@@.red;Error: slaves' beauty undefined, report this issue!@@</b>
 <</if>>
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index 3725f064071f5933dd187aaa2931c03170d42ffa..b112f35827a93e9b684b4cbfec5dbaa1407a4b7f 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -37,11 +37,10 @@
 	<<if _j != -1>>
 		acting as a sexual Ambassador to $arcologies[_j].name, which mostly means that $he travels there in $his official capacity and has culturally influential sex with its leading citizens.
 
-		<<set _oldRepGain = clone($repGain)>>
+		<<set _oldRepGain = hashSum($lastWeeksRepIncome)>>
 		<<set $pure = 0>>
 		<<silently>><<include "SA serve the public">><</silently>>
-		<<set _influence = Math.clamp(($repGain-_oldRepGain)*0.01,1,3)>>
-		<<set $repGain = _oldRepGain>>
+		<<set _influence = Math.clamp((hashSum($lastWeeksRepIncome)-_oldRepGain)*0.01,1,3)>>
 
 		<<if $arcologies[0].FSSubjugationist != "unset">>
 			<<if ($arcologies[_j].FSSubjugationist != "unset")>>
@@ -667,7 +666,7 @@
 	<</if>>
 	/* and then there's Aztec revivalist, completely forgotten */
 
-	<<set $repGain += Math.trunc(_seed)>>
+	<<run repX(Math.trunc(_seed), "futureSocieties")>>
 
 	<<if $showEWM == 1>>
 		<<if $slaves[$i].entertainSkill > 10>>
diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw
index f529ac0fa22697717a90d896ae450e442ee2e00a..6afd9cc510f2a0c2c9f5c4ff6fdce919986048bb 100644
--- a/src/uncategorized/saRelationships.tw
+++ b/src/uncategorized/saRelationships.tw
@@ -238,11 +238,11 @@
 		<<if _SlaveI.fetish == "mindbroken" && _SlaveI.relationship != -3>>
 			Since $he is mindbroken, $he @@.lightsalmon;can't really maintain@@ any meaningful relationship with
 			<<if _SlaveJ != null>>
-				_SlaveJ.slaveName
+				_SlaveJ.slaveName.
 				<<set _SlaveJ.relationship = 0, _SlaveJ.relationshipTarget = 0>>
 			<<else>>
-				you
-			<</if>>.
+				you.
+			<</if>>
 			<<set _SlaveI.relationship = 0, _SlaveI.relationshipTarget = 0>>
 		<<elseif _SlaveI.relationship < 0>>
 			/% Relationship with the PC %/
@@ -314,21 +314,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -380,21 +381,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -446,21 +448,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -528,21 +531,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -615,21 +619,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -681,21 +686,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -747,21 +753,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI, _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI, _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -829,21 +836,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of your incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "PCRelationships", _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ your incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "PCRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -867,7 +875,7 @@
 							<<set _SlaveI.kindness += 2>>
 						<<case "whore" "work in the brothel" "serve the public" "serve in the club" "work a glory hole" "be confined in the arcade">>
 							You, others, it doesn't matter. They are all the same to your mindbroken wife. The public is less forgiving of you ordering your slave wife to fuck random citizens, however, @@.red;seriously damaging your reputation.@@
-							<<set $rep -= 100>>
+							<<run repX(-100, "PCRelationships", _SlaveI)>>
 						<<default>>
 							Being your wife is wasted on her empty mind. If it weren't for the ring <<if _SlaveI.amp == 1>>hanging from her neck<<else>>around her finger<</if>>, nobody would ever realize she was so close to you.
 						<</switch>>
@@ -878,7 +886,8 @@
 							<<set _SlaveI.devotion += 2, _SlaveI.trust += 2>>
 						<<case "whore" "work in the brothel" "serve the public" "serve in the club" "work a glory hole" "be confined in the arcade">>
 							Her reliance on her formal relationship to you produces a slight increase of both @@.hotpink;devotion@@ and @@.mediumaquamarine;trust,@@ though this is reduced by being on a public sexual assignment rather than being kept for you alone. The public is less forgiving of you ordering your slave wife to fuck random citizens, @@.red;seriously damaging your reputation.@@
-							<<set _SlaveI.devotion++, _SlaveI.trust++, $rep -= 100>>
+							<<set _SlaveI.devotion++, _SlaveI.trust++>>
+							<<run repX(-100, "PCRelationships", _SlaveI)>>
 						<<default>>
 							Her deep reliance on her formal relationship to you produces a steady increase of both @@.hotpink;devotion@@ and @@.mediumaquamarine;trust.@@
 							<<set _SlaveI.devotion++, _SlaveI.trust++>>
@@ -890,7 +899,8 @@
 							<<set _SlaveI.devotion -= 7, _SlaveI.trust += 5>>
 						<<case "whore" "work in the brothel" "serve the public" "serve in the club" "work a glory hole" "be confined in the arcade">>
 							Not being a pampered fucktoy to you @@.gold;wounds her expectations as your wife,@@ but gives her the space needed to @@.hotpink;begin warming up to you.@@ The public is less forgiving of you ordering your slave wife to fuck random citizens, disregarding her opinions, @@.red;seriously damaging your reputation.@@
-							<<set _SlaveI.devotion++, _SlaveI.trust--, $rep -= 100>>
+							<<set _SlaveI.devotion++, _SlaveI.trust-->>
+							<<run repX(-100, "PCRelationships", _SlaveI)>>
 						<<default>>
 							She @@.orangered;takes advantage@@ of your kindness, since she expects you'd never truly harm your wife. Her insolence allows her to remain, if not strengthen, @@.mediumorchid;her hatred of you.@@
 							<<set _SlaveI.devotion -= 5, _SlaveI.trust += 3>>
@@ -902,7 +912,8 @@
 							<<set _SlaveI.devotion++, _SlaveI.trust -= 3>>
 						<<case "whore" "work in the brothel" "serve the public" "serve in the club" "work a glory hole" "be confined in the arcade">>
 							Being forced into public service only reinforces her @@.gold;fears@@ and @@.mediumorchid;perceptions@@ of you. If there was any chance of her thinking you cared, @@.mediumorchid;it's gone now.@@ The public is less forgiving of you ordering your slave wife to fuck random citizens, disregarding her opinions, @@.red;seriously damaging your reputation.@@
-							<<set _SlaveI.devotion -= 10, _SlaveI.trust -= 10, $rep -= 100>>
+							<<set _SlaveI.devotion -= 10, _SlaveI.trust -= 10>>
+							<<run repX(-100, "PCRelationships", _SlaveI)>>
 						<<default>>
 							She is @@.gold;thoroughly terrified@@ by having to remain in a formal relationship with the _womanP she hates. Without you nearby to distract her, she dwells on her situation as her @@.mediumorchid;hate for you grows.@@
 							<<set _SlaveI.devotion -= 3, _SlaveI.trust -= 5>>
@@ -914,7 +925,8 @@
 							<<set _SlaveI.devotion += 2, _SlaveI.trust += 2>>
 						<<case "whore" "work in the brothel" "serve the public" "serve in the club" "work a glory hole" "be confined in the arcade">>
 							Her formal relationship to you produces a steady increase of both @@.hotpink;devotion@@ and @@.mediumaquamarine;trust,@@ though this is reduced by being on a public sexual assignment rather than being kept for you alone, not that she minds; just as you ordered her to marry you, so may you order her to fuck others. The public is less forgiving of you ordering your slave wife to fuck random citizens, however, @@.red;seriously damaging your reputation.@@
-							<<set _SlaveI.devotion++, _SlaveI.trust++, $rep -= 100>>
+							<<set _SlaveI.devotion++, _SlaveI.trust++>>
+							<<run repX(-100, "PCRelationships", _SlaveI)>>
 						<<default>>
 							Her formal relationship to you produces a steady increase of both @@.hotpink;devotion@@ and @@.mediumaquamarine;trust@@ as she gradually grows closer to her husband.
 							<<set _SlaveI.devotion++, _SlaveI.trust++>>
@@ -1128,7 +1140,8 @@
 				has a slave wife, _SlaveJ.slaveName.
 				<<if $arcologies[0].FSChattelReligionist != "unset">>
 					Society @@.green;approves@@ of their marriage, which advances the slave sacrament.
-					<<set $repGain += $FSSingleSlaveRep * ($arcologies[0].FSChattelReligionist / $FSLockinLevel), $arcologies[0].FSChattelReligionist += 0.05 * $FSSingleSlaveRep>>
+					<<set $arcologies[0].FSChattelReligionist += 0.05 * $FSSingleSlaveRep>>
+					<<run repX($FSSingleSlaveRep * ($arcologies[0].FSChattelReligionist / $FSLockinLevel), "SlaveRelationships", _SlaveI)>>
 				<</if>>
 			<</switch>>
 			<<if _SlaveI.relationShip > 0>> /* catch should she change her relationship status */
@@ -1255,21 +1268,22 @@
 					<</if>>
 					<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 						Society @@.green;strongly approves@@ of their incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-						<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+						<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>>
 						<<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
+								<<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>>
+								<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>>
 							<</if>>
 						<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ their incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
@@ -1328,18 +1342,20 @@
 				<</if>>
 				<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 					Society @@.green;strongly approves@@ of their incestuous relationship, which advances the Egyptian revivalist ideal of slave incest.
-					<<set $repGain += 2 * $FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.1 * $FSSingleSlaveRep>>
+					<<set $arcologies[0].FSEgyptianRevivalist += 0.1 * $FSSingleSlaveRep>>
+					<<run repX(2 * $FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), "SlaveRelationships", _SlaveI)>>
 					<<if (_SlaveI.bellyPreg >= 1500) && (_SlaveI.pregSource == _SlaveI.relationTarget)>>
 						@@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-						<<set $repGain += $FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), $arcologies[0].FSEgyptianRevivalist += 0.05 * $FSSingleSlaveRep * $pornFameBonus>>
+						<<set $arcologies[0].FSEgyptianRevivalist += 0.05 * $FSSingleSlaveRep * $pornFameBonus>>
+						<<run repX($FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), "SlaveRelationships", _SlaveI)>>
 					<</if>>
 					<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>
 						Society @@.green;enjoys@@ their incestuous relationship since incest is currently trendy.
-						<<set $repGain += 1.5*$FSSingleSlaveRep>>
+						<<run repX(1.5*$FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>>
 						<<if _SlaveI.bellyPreg >= 1500>>
 							<<if _SlaveI.pregSource == $relation.ID>>
 								@@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy.
-								<<set $repGain += $FSSingleSlaveRep>>
+								<<run repX($FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>>
 							<</if>>
 						<</if>>
 					<</if>>
diff --git a/src/uncategorized/saServeThePublic.tw b/src/uncategorized/saServeThePublic.tw
index 8f8cea559ec54d451d46495d07728533e1aa6f32..a9d5ed3c7f820b5595e6f48d5921e9c7d6d0dde3 100644
--- a/src/uncategorized/saServeThePublic.tw
+++ b/src/uncategorized/saServeThePublic.tw
@@ -1051,7 +1051,14 @@ $His appearance attracted $beauty members of the public (<<print Math.trunc($bea
 	<</if>>
 <</if>>
 
-<<set $repGain += Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[$i].entertainSkill))*0.1)>>
+<<if ($slaves[$i].assignment == "recruit girls")>>
+<<elseif $slaves[$i].assignment == "serve in the club">>
+	<<run repX(Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[$i].entertainSkill))*0.1), "publicServantClub", $slaves[$i])>>
+<<elseif $slaves[$i].assignment == "serve the public">>
+	<<run repX(Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[$i].entertainSkill))*0.1), "publicServant", $slaves[$i])>>
+<<else>>
+	<<run repX(Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[$i].entertainSkill))*0.1), "serving the public in an unregistered building", $slaves[$i])>>
+<</if>>
 <<set _incomeStats.income += Math.trunc(($beauty*$FResult)*(1+(0.003*$slaves[$i].entertainSkill))*0.1)>>
 
 /* FACILITY DECORATION IMPACTS */
@@ -1282,7 +1289,7 @@ $His appearance attracted $beauty members of the public (<<print Math.trunc($bea
 		<<else>>
 			an incident without lasting effect.
 		<</if>>
-		<<set $rep += Math.trunc($FResult*_vignette.effect*0.1)>>
+		<<run repX( Math.trunc($FResult*_vignette.effect*0.1), "vignette", $slaves[$i])>>
 		<<set _incomeStats.income += Math.trunc($FResult*_vignette.effect*0.1)>>
 	<</if>>
 <</if>>
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index bb00633523450bfc1ff810d3d042c9f26ca28e78..28394e163c4a99aeea45d35201ed723d84401f6f 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -1308,7 +1308,7 @@ In total, you were paid @@.yellowgreen;<<print cashFormat(Math.trunc($beauty*$FR
 		<<else>>
 			an incident without lasting effect.
 		<</if>>
-		<<set $rep += Math.trunc($FResult*_vignette.effect*0.1)>>
+		<<run repX( Math.trunc($FResult*_vignette.effect*0.1), "vignette", $slaves[$i])>>
 	<<set _incomeStats.rep += Math.trunc($FResult*_vignette.effect*0.1)>>
 	<</if>>
 
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index bef6e2b741f2cc33832e328ea6ed01fad4640840..f12ff29c049204effe1654e161f4793001b6321f 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -274,7 +274,7 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har
 	<<if canPenetrate($Lurcher) && ($Lurcher.energy > 60) && ($Lurcher.devotion > 20)>>
 		<<if ($Lurcher.dick > 4)>>
 			$He's sporting an enormous half-erection, which has already been heavily lubricated to prevent permanent damage to the hares' holes. As you bring $him up to the mark, $he grabs its base and begins to slap it against $his thigh, hard. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to beg openly. Your fellow competitors @@.green;think this is hilarious.@@
-			<<set $rep += 50>>
+			<<run repX(50, "event", $Lurcher)>>
 			<<set $phallus = "huge dick">>
 		<<else>>
 			$He's ready to do $his best. Since $he's concentrating on the immediate challenge of catching rather than the secondary challenge of raping, $he isn't hard yet, but $he's not indifferent to the prospect of getting $his dick wet. There's a bead of precum forming at $his tip.
@@ -282,24 +282,24 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har
 		<</if>>
 	<<elseif !canAchieveErection($Lurcher)>>
 		There's no way $he's going to be able to achieve an erection, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-		<<set $rep -= 50>>
+		<<run repX(-50, "event", $Lurcher)>>
 		<<set $phallus = "dildo">>
 	<<elseif ($Lurcher.energy <= 60) || ($Lurcher.devotion <= 20)>>
 		$He looks nervous, and obviously doesn't find the situation arousing. $He knows $he's to catch and then rape a slave, but may not be able to get hard enough to do the deed properly. Your fellow competitors and the crowd gathering to spectate @@.red;are unimpressed@@ by $his lack of spirit.
-		<<set $rep -= 50>>
+		<<run repX(-50, "event", $Lurcher)>>
 		<<set $phallus = "fingers">>
 	<<else>>
 		$His dick is not a fit instrument for sexual assault, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-		<<set $rep -= 50>>
+		<<run repX(-50, "event", $Lurcher)>>
 		<<set $phallus = "dildo">>
 	<</if>>
 <<elseif ($Lurcher.clit > 1) && ($Lurcher.energy > 60) && ($Lurcher.devotion > 20)>>
 	$He's gently masturbating as you bring $him up to the mark, $his enormous clit becoming engorged and stiff. Your fellow competitors and the gathering crowd of spectators @@.green;are fascinated,@@ realizing that $he intends to attempt rape with it.
-	<<set $rep += 50>>
+	<<run repX(50, "event", $Lurcher)>>
 	<<set $phallus = "clit">>
 <<elseif $seeDicks != 0>>
 	$He's holding a lubricated dildo in one hand, since $he's missing a natural phallus of $his own. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-	<<set $rep -= 50>>
+	<<run repX(-50, "event", $Lurcher)>>
 	<<set $phallus = "dildo">>
 <<else>>
 	$He's holding a lubricated dildo in one hand. As you bring $him up to the mark, $he begins to slap it against $his thigh out of nervousness and eagerness to begin. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to cry openly.
diff --git a/src/uncategorized/seIndependenceDay.tw b/src/uncategorized/seIndependenceDay.tw
index 7f408a41f21d94c321ace41ec8091cb0b4b07fee..52eed81460ce4e01a0b3e3f694d83d90f2e32ab8 100644
--- a/src/uncategorized/seIndependenceDay.tw
+++ b/src/uncategorized/seIndependenceDay.tw
@@ -314,9 +314,9 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve
 	<</if>>
 	You conclude by briefly recounting the story of the founding of the Free City, the building of the arcology, and what is publicly known of your accession to ownership, before a ringing close that reminds your citizens that they have the freedom to decide where their stories in the Free Cities go from there. Your speech is @@.green;very well received.@@
 	<<if $PC.career == "servant">>
-		<<set $rep += 100>>
+		<<run repX(100, "event")>>
 	<<else>>
-		<<set $rep += 200>>
+		<<run repX(200, "event")>>
 	<</if>>
 	<</replace>>
 <</link>>
@@ -326,7 +326,7 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve
 <br><<link "Pay for a lavish fireworks display">>
 	<<replace "#result2">>
 	<br><br>Once darkness falls outside the arcology, a traditional fireworks display erupts from mortars mounted on your penthouse balconies. The noise and light @@.green;delights@@ your citizens, terrifies the arcology's stupider slaves, and serves a useful ancillary purpose in defense preparedness. The arcology's radar and laser sensors track the display, using it as an opportunity to calibrate the point defense systems on real targets. There is general agreement that this sort of thing should be a yearly tradition here, just like it was in some parts of the old world: old ideas aren't all bad.
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<<run cashX(-10000, "event")>>
 	<</replace>>
 <</link>> //Costs @@.yellowgreen;<<print cashFormat(10000)>>@@// </span>
@@ -336,72 +336,72 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve
 	<<replace "#result3">><br><br>
 	<<if $SF.Squad.Troops < 100>>
 		The tiny size of $SF.Lower does not inspire confidence in your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<elseif $SF.Squad.Troops < 2000>>
 		The almost full size of $SF.Lower inspires confidence in your citizens.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	<<if $SF.Squad.Armoury === 0>>
 		Seeing the soldiers of $SF.Lower with high-quality personal weapons and light armor, but little in the way of exceptional armament, provides little confidence in $SF.Lower.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<else>>
 		The citizens of $arcologies[0].name are relieved to see that $SF.Lower's troops are out fitted the absolutely latest in gear.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	<<if $SF.Squad.Drugs === 0>>
 		Seeing $SF.Lower being relaxed inspires confidence that they are unlikely to
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<<else>>
 		The slight twitchiness and high-end alertness of $SF.Lower's troops makes your citizens afraid that they may
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<</if>> get a face full of lead.
 	<<if $SF.Squad.AV < 1 && $SF.Squad.TV < 1>>
 		The use of basic, unarmored mainly high-end civilian vehicles with jury-rigged crew-served weapons by $SF.Lower does not
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<elseif $SF.Squad.AV < 11 && $SF.Squad.TV < 11>>
 		$SF.Lower's use of the most advanced heavy armored and support vehicles possible
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>> inspires confidence in your citizens.
 	<<if $SF.Squad.AA < 1 && $SF.Squad.TA < 1>>
 		Seeing $SF.Lower's air force only number enough to be a squadron and armed with just a Gatling cannon does not assure your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<elseif $SF.Squad.AA < 11 && $SF.Squad.TA < 11>>
 		Seeing $SF.Lower's air force using more advanced equipment assures your citizens that they are safe from the air.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	<<if $SF.Squad.Drones === 0>>
 		Seeing "re-purposed" non-military drones from the arcology's original contingent flying around, does not inspire confidence in your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<else>>
 		Seeing the latest and greatest drones buzzing over head assures your citizens that they are unmatched.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	<<if $SF.Squad.GiantRobot === 1>>
 		Seeing a basic old world rusted looking Giant Robot, doesn't provide your citizens with much assurance that they are protected.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<else>>
 		Seeing that the Giant Robot has been fully upgraded provides your citizens with a feeling of safety.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	<<if ($SF.ROE === "hold") && ($SF.Depravity >= 1.5)>>
 		The sight of $SF.Lower's forcing their captured slaves to suck them off while swinging their swords and other none lethal tools around trigger fingers twitch inspires terror in your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<elseif ($SF.ROE === "limited") && ($SF.Depravity >= 1.5)>>
 		The sight of $SF.Lower's forcing their captured slaves to suck them off with itchy trigger fingers inspires terror in your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<<elseif ($SF.ROE === "free") && ($SF.Depravity >= 1.5)>>
 		The sight of $SF.Lower's forcing their captured slaves to suck them off while frequently firing without any care into the air, inspiring terror in your citizens.
-		<<set $rep -= 200>>
+		<<run repX(-200, "event")>>
 	<</if>>
 	<<if ($SF.ROE === "hold") && ($SF.Depravity <= 0.3)>>
 		The sight of $SF.Lower's professionally holstering their weapons provides your citizens with a sense of safety.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<<elseif ($SF.ROE === "limited") && ($SF.Depravity <= 0.3)>>
 		The sight of $SF.Lower's professionally keeping their finger on the trigger provides your citizens with a sense of safety.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<<elseif ($SF.ROE === "free") && ($SF.Depravity <= 0.3)>>
 		The sight of $SF.Lower's professionally being alert and to ready to act at a moment's notice provides your citizens with a sense of safety.
-		<<set $rep += 250>>
+		<<run repX(250, "event")>>
 	<</if>>
 	/*Maybe a random chance attack by the Daughter's of Liberty if they haven't been already defeated or if they have by a cell that managed to survive. The size of the attack could depend the time since their last encounter. The amount of damage inflicted would depend primarily on if the hacker's support was acquired, $bodyguard's combat skill, the player's combat skill, SF upgrades and finally some RNG. If a low amount of damage is inflicted then there will be a low hit to rep and some criminals can be acquired or dealt with in the usual manner. Higher amounts of damage leads to higher hits to rep and a chance that fewer attackers will survive. Without a bodyguard there is a chance that PC may die or be held hostage with a chance of being killed if the rescue attempt is botched. */
 	/* I was thinking providing an option (potentially #result3) of giving a speech with it being a duplicate of the above speech just for completeness sake however it would be redundant except for a line or two about the outcome of attack if it fired (i.e listing the number of dead/captured attackers (potentially #result4) and dead soldiers with a couple of potential options (potentially #result5) ;to erect a statute or such acknowledge them and if one is already present to add them on to it, to provide support for their families. Also the amount of monetary damage, did $bodyguard die or just get wounded and if so how severely. Finally a closing message with how the PC wishes to react to it (potentially #result6); e.g. be vigilant, it's a one off, act of war, we will not give into terrorist attacks, etc. */
diff --git a/src/uncategorized/seLethalPit.tw b/src/uncategorized/seLethalPit.tw
index 9a698b70fd2ba1cc15fd93499ad4224e19709a1a..52ce40c3a515137c8de7faf8b63d53496bc10b8e 100644
--- a/src/uncategorized/seLethalPit.tw
+++ b/src/uncategorized/seLethalPit.tw
@@ -46,11 +46,11 @@ This week's pit fight is between _fighterOne.slaveName and <<if $pitAnimal == 0>
 
 <<if $arcologies[0].FSRomanRevivalist != "unset">>
 	They @@.green;passionately approve@@ of your hosting lethal combat between slaves; this advances ideas from antiquity about what public events should be.
-	<<set $rep += 20*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
+	<<run repX(20*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel), "pit")>>
 	<<set $arcologies[0].FSRomanRevivalist += 0.4*$FSSingleSlaveRep>>
 <<elseif $arcologies[0].FSAztecRevivalist != "unset">>
 	They @@.green;approve@@ of your hosting lethal combat; this advances ideas that blood must flow as it did in ancient times.
-	<<set $rep += 10*$FSSingleSlaveRep*($arcologies[0].FSAztecRevivalist/$FSLockinLevel)>>
+	<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSAztecRevivalist/$FSLockinLevel), "pit")>>
 	<<set $arcologies[0].FSAztecRevivalist += 0.2*$FSSingleSlaveRep>>
 <</if>>
 
@@ -406,68 +406,68 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 		<<set _winner.health -= 50>>
 		<<if $pitAudience == "paid">>
 			The audience is surprised by the sudden violence after so much standing around, and your @@.yellowgreen;cut of the betting@@ is modest.
-			<<run cashX(5000, "pit")>>
+			<<run cashX(5000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;surprised@@ by the sudden violence after so much standing around.
-			<<set $rep += 250>>
+			<<run repX(250, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winnerDeadliness > _loserDeadliness+1) && (_winner.amp == -4)>>
 		Upon your word the two combatants approach each other. _winner.slaveName drops $his sword as $he comes, raising only $his hands, but these are terrifying, modern weapons themselves. _loser.slaveName tries a probing sweep, but _winner.slaveName catches _his2 blade in one hand, slides it down to the hilt with a shriek of metal on metal, and snaps the blade cleanly. As _loser.slaveName watches this, dumbstruck, _winner.slaveName places a gentle hand under _his2 chin and then extends that arm's integral blade up and through $his opponent's skull. Though the fight was short,
 		<<if $pitAudience == "paid">>
 			the audience is quite impressed by the display, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(10000, "pit")>>
+			<<run cashX(10000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			the audience is @@.green;very impressed@@ by the display.
-			<<set $rep += 500>>
+			<<run repX(500, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winnerDeadliness > _loserDeadliness+1) && (_winner.amp == -5)>>
 		Upon your word the two combatants approach each other. _winner.slaveName does not carry a sword, raising only $his hands, but these are terrifying, modern weapons themselves. _loser.slaveName tries a probing sweep, but _winner.slaveName catches _his2 blade in one hand, slides it down to the hilt with a shriek of metal on metal, and snaps the blade cleanly. _loser.slaveName watches this, dumbstruck, before regaining composure and taking a fighting stance again. _winner.slaveName manages to touch $his opponent's bare skin with $his own cybernetics, incapacitating _loser.slaveName with an electric shock. While _loser.slaveName is temporarily stunned, _winner.slaveName strikes _loser.slaveName on the head with deadly force, crushing $his opponent's skull. Though the fight was short,
 		<<if $pitAudience == "paid">>
 			the audience is quite impressed by the display, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(10000, "pit")>>
+			<<run cashX(10000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			the audience is @@.green;very impressed@@ by the display.
-			<<set $rep += 500>>
+			<<run repX(500, "pit", _winner)>>
 		<</if>>
 	<<elseif !canSee(_winner)>>
 		_winner.slaveName centers $himself and hones in on _loser.slaveName's rapid breath. $He readies $himself, knowing $he has a single chance to live. With heavy steps, _loser.slaveName rushes $him, fully prepared to slaughter the helpless combatant. _winner.slaveName gambles everything on a single high slash, a slash that cut _loser.slaveName's undefended neck wide open. _winner.slaveName collapses to the ground, fully aware of _loser.slaveName's final gurgles, and the sword @@.red;firmly planted in $his side.@@ $He lived this time, barely, but $he doubts $he can do it again.
 		<<set _winner.health -= 80>>
 		<<if $pitAudience == "paid">>
 			The audience is awestruck by the blind $girl's triumph, and your @@.yellowgreen;cut of the betting@@ is enormous.
-			<<run cashX(40000, "pit")>>
+			<<run cashX(40000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;awestruck@@ by the blind $girl's triumph.
-			<<set $rep += 2000>>
+			<<run repX(2000, "pit", _winner)>>
 		<</if>>
 	<<elseif !canSee(_loser)>>
 		_winner.slaveName sighs at _loser.slaveName's random slashing and calmly struts around the panicking slave. In one quick swoop, _he2 buries _his2 blade in _loser.slaveName's back, ending the poor _girl2's flailing.
 		<<set _winner.health -= 80>>
 		<<if $pitAudience == "paid">>
 			The audience found the fight embarrassing, and your @@.yellowgreen;cut of the betting@@ is pitiful.
-			<<run cashX(40, "pit")>>
+			<<run cashX(40, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.red;annoyed@@ by this waste of a fight.
-			<<set $rep -= 20>>
+			<<run repX(-20, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winnerDeadliness > _loserDeadliness+3)>>
 		<<if (_winner.combatSkill > 0)>>
 			_winner.slaveName wants to win, and $he opens the fight with a furious attack. _loser.slaveName manages to get _his2 blade up, blocking a strike with a ringing clash and a few sparks, but by doing so leaves _his2 abdomen open and obscures _his2 vision enough that _he2 is unprepared for the following horizontal slash, which opens _his2 belly wide. The stricken _girl2 collapses, feebly trying to push _his2 viscera back into place. Whether out of mercy or a desire to get it over with, _winner.slaveName quickly removes the dying _girl2's head.
 			<<if $pitAudience == "paid">>
 				The audience is reasonably impressed by the gore, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-				<<run cashX(4000, "pit")>>
+				<<run cashX(4000, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;reasonably impressed@@ by the gore.
-				<<set $rep += 200>>
+				<<run repX(200, "pit", _winner)>>
 			<</if>>
 		<<else>>
 			_winner.slaveName wants to win and is confident $he will, but $he isn't particularly sure about how to do so. $He fights cautiously, swinging $his sword in powerful but inaccurate strokes. It is only a matter of time before one of these strikes gets through; it's telling that rather than hitting what $he aimed at, _winner.slaveName accidentally opens a massive gash down _loser.slaveName's thigh. Realizing _he2 has to do something, _loser.slaveName makes a desperate counterattack, pouring blood as _he2 goes. _winner.slaveName panics and fails to parry one of the last counterstrikes before loss of blood ends the attack, suffering a @@.red;terrible cut@@ to $his shoulder. Down to one arm, _winner.slaveName is forced to make a long, loud butchery of ending the fight.
 			<<set _winner.health -= 20>>
 			<<if $pitAudience == "paid">>
 				The audience is reasonably impressed by the blood, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-				<<run cashX(4000, "pit")>>
+				<<run cashX(4000, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;reasonably impressed@@ by the blood.
-				<<set $rep += 200>>
+				<<run repX(200, "pit", _winner)>>
 			<</if>>
 		<</if>>
 	<<elseif (_winner.combatSkill > 0) && (_loser.combatSkill > 0)>>
@@ -475,29 +475,29 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 		<<set _winner.health -= 20>>
 		<<if $pitAudience == "paid">>
 			The audience is quite impressed by the expert fight, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(10000, "pit")>>
+			<<run cashX(10000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;very impressed@@ by the expert fight.
-			<<set $rep += 500>>
+			<<run repX(500, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.height-_loser.height <= -10)>>
 		_winner.slaveName realizes that _loser.slaveName's wingspan gives _him2 a huge reach advantage. $He bores straight in, taking @@.red;a glancing scalp wound@@ but coming on regardless. _loser.slaveName understands _his2 opponent's intention and backs off, but the pit is small and there isn't much room to retreat. When _his2 back hits a padded wall, _winner.slaveName aims a gutting cut that _loser.slaveName struggles to block. _He2 manages it, but the wall catches _his2 point, so the block is with _his2 wrist, not _his2 sword. The sharp blade cuts almost all the way through the joint, leaving _him2 in agony and totally incapable of defense. _winner.slaveName pushes _his2 head back against the wall and cuts _his2 throat down to the spine.
 		<<set _loser.health -= 20>>
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the blood, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-			<<run cashX(4000, "pit")>>
+			<<run cashX(4000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;reasonably impressed@@ by the blood.
-			<<set $rep += 200>>
+			<<run repX(200, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.muscles > 30)>>
 		_winner.slaveName is so massively muscular that $he's actually impeded by $his lack of speed and flexibility. _loser.slaveName is properly afraid of _his2 strength, though, so _he2 tries to stay away as much as _he2 can. The few times their blades clash reinforces this approach, since _winner.slaveName is able to beat $his opponent's blocks out of the way with contemptuous ease. The fight takes a long, long time, but it takes more out of _loser.slaveName to survive than it takes out of _winner.slaveName to keep swinging. Eventually the gasping, weeping _loser.slaveName trips and does not struggle to _his2 feet in time. It takes _his2 tired opponent several overhead butcher's cleaves to end it.
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the show of strength, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-			<<run cashX(1000, "pit")>>
+			<<run cashX(1000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;reasonably impressed@@ by the show of strength.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.belly >= 300000)>>
 		_winner.slaveName wants to live badly enough that $he takes an extremely brutal shortcut to victory. The instant the fight starts, $he quickly slices right across _loser.slaveName's massive belly, which is far too large to possibly defend. _loser.slaveName's belly ruptures like a popped water balloon, showering _winner.slaveName with
@@ -511,37 +511,37 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 		_winner.slaveName walks over to the bleeding out slave and quickly cuts _his2 throat.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(slaveCost, "pit")>>
+			<<run cashX(slaveCost, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			the audience is @@.green;not very impressed@@ by this easy kill.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.boobs > 1200)>>
 		_winner.slaveName takes an extremely simple shortcut to victory. The instant the fight starts, $he slices _loser.slaveName right across _his2 huge tits, which are so large they cannot properly be defended. _loser.slaveName reflexively drops _his2 sword to clasp _his2 hands over _his2 ruined breasts, gushing blood<<if _loser.boobsImplant > 400>> and implant fluid<</if>>. _winner.slaveName's follow-up is neither artful nor particularly well planned, but it is effective. $He hits the distracted _girl2's neck from the side, almost but not quite separating _his2 head from _his2 body.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(slaveCost, "pit")>>
+			<<run cashX(slaveCost, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy kill.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.dick > 0)>>
 		_winner.slaveName wants to live badly enough that $he takes an extremely brutal shortcut to victory. The instant the fight starts, $he furiously swings for _loser.slaveName's face. _loser.slaveName reflexively raises _his2 sword to block, at which point _winner.slaveName simply kicks _him2 in the dick. _loser.slaveName goes down like a marionette with cut strings, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes. _winner.slaveName walks over to the prostrate slave and cuts _his2 throat without much trouble.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(2000, "pit")>>
+			<<run cashX(2000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy kill.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<</if>>
 	<<else>>
 		_winner.slaveName wants to live badly enough that $he takes an extremely brutal shortcut to victory. The instant the fight starts, $he furiously swings for _loser.slaveName's face. _loser.slaveName reflexively raises _his2 sword to block, at which point _winner.slaveName simply kicks _him2 in the cunt. _loser.slaveName goes down like a marionette with cut strings, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes. _winner.slaveName walks over to the prostrate slave and cuts _his2 throat without much trouble.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(2000, "pit")>>
+			<<run cashX(2000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy kill.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<</if>>
 	<</if>>
 
@@ -662,19 +662,19 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 			<<set _winner.health -= 80>>
 			<<if $pitAudience == "paid">>
 				The audience is awestruck by the blind $girl's triumph, and your @@.yellowgreen;cut of the betting@@ is enormous.
-				<<run cashX(50000, "pit")>>
+				<<run cashX(50000, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;awestruck@@ by the blind $girl's triumph.
-				<<set $rep += 2000>>
+				<<run repX(2000, "pit", _winner)>>
 			<</if>>
 		<<elseif (_winner.muscles > 30)>>
 			_winner.slaveName is so massively muscular that $he's actually impeded by $his lack of speed and flexibility. The _animal.species is suitably cautious, and it does its best to avoid $his sword. The two go back and forth for a while — the slave slashing and swinging, the animal leaping out of the way. $activeSlave.slaveName finally manages to get the better of the _animal.species, though, and manages to catch the tip of $his sword on the animal's leg. With a loud <<switch _animal.type>><<case "canine">>yelp<<case "hooved">>whinny<<case "feline">>howl<</switch>>, the _animal.species stumbles back, giving the slave a chance to bring $his sword down in an overhead swing, nearly removing the _animal.species's head.
 			<<if $pitAudience == "paid">>
 				The audience is reasonably impressed by the show of strength, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-				<<run cashX(1000, "pit")>>
+				<<run cashX(1000, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;reasonably impressed@@ by the show of strength.
-				<<set $rep += 50>>
+				<<run repX(50, "pit", _winner)>>
 			<</if>>
 		<</if>>
 	<<else>>	/*if slave loses*/
@@ -682,10 +682,10 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 			The _animal.species isn't aware that its opponent is blind, and either way, it wouldn't have cared. It slowly paces around the flailing _loser.slaveName, looking for an opening. Seeing one, the _animal.species <<if _animal.type == "hooved">>rushes<<else>>lunges<</if>> at $him, ending $his life in one fell swoop.
 			<<if $pitAudience == "paid">>
 				The audience found the fight embarrassing, and your @@.yellowgreen;cut of the betting@@ is pitiful.
-				<<run cashX(40, "pit")>>
+				<<run cashX(40, "pit", _loser)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.red;annoyed@@ by this waste of a fight.
-				<<set $rep -= 20>>
+				<<run repX(-20, "pit", _loser)>>
 			<</if>>
 		<<elseif (_winnerDeadliness <= _loserDeadliness+3)>>
 			<<if _loser.combatSkill > 0>>
@@ -706,29 +706,29 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 			With a <<switch _animal.type>><<case "canine" "feline">>growl<<case "hooved">>snort<</switch>>, the _animal.species quickly finishes $him off<<if _animal.type == "hooved">> with a kick to the head<</if>>.
 			<<if $pitAudience == "paid">>
 				The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-				<<run cashX(2000, "pit")>>
+				<<run cashX(2000, "pit", _loser)>>
 			<<elseif $pitAudience == "free">>
 				the audience is @@.green;not very impressed@@ by this easy kill.
-				<<set $rep += 100>>
+				<<run repX(100, "pit", _loser)>>
 			<</if>>
 		<<elseif (_loser.boobs > 1200)>>
 			_loser.slaveName's tits are too big to possibly defend, so $he can't help but watch in horror as the _animal.species lunges at $him, <<switch _animal.type>><<case "canine" "feline">>fangs and claws out<<case "hooved">>headfirst<</switch>>. _loser.slaveName's reflexively drops _his2 sword to clasp _his2 hands over _his2 ruined breasts, gushing blood<<if _loser.boobsImplant > 400>> and implant fluid<</if>>. The _animal.species follows up with a <<switch _animal.type>><<case "canine" "feline">>fierce bite to one of $his legs, causing $him to collapse. A second later, the animal has finished $him off.<<case "hooved">>swift kick to the head, causing $him to drop like a rock. Another blow to the head finishes $him off.<</switch>>
 			<<if $pitAudience == "paid">>
 				The audience is not very impressed by this easy kill, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-				<<run cashX(2000, "pit")>>
+				<<run cashX(2000, "pit", _loser)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;not very impressed@@ by this easy kill.
-				<<set $rep += 100>>
+				<<run repX(100, "pit", _loser)>>
 			<</if>>
 		<<else>> /* if none of the above conditions are met */
 			<<if (_loser.combatSkill > 0)>>
 				_loser.slaveName is reasonably confident in $his fighting abilities, but $he isn't sure how to go about attacking the _animal.species. $He decides to open with a series of wide horizontal slashes, but the beast manages to stay out of range of $his sword. Realizing this isn't working, $he lunges at the animal, leaving $his side exposed. The _animal.species sees this and <<switch _animal.type>><<case "canine" "feline">>leaves some @@.red;deep claw marks in $his side.@@ Bleeding<<case "hooved">>headbutts $him as hard as it can, sending $him flying into the side of $pitName. Battered<</switch>> and unable to stand, $activeSlave.slaveName can do little to stop the _animal.species from finishing $him off with a <<switch _animal.type>><<case "canine">>fierce bite of its fangs to $his throat.<<case "feline">>ferocious swipe of its claws to $his throat.<<case "hooved">>swift kick to the head.<</switch>>
 				<<if $pitAudience == "paid">>
 					The audience is reasonably impressed by the blood, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-					<<run cashX(4000, "pit")>>
+					<<run cashX(4000, "pit", _loser)>>
 				<<elseif $pitAudience == "free">>
 					The audience is @@.green;reasonably impressed@@ by the blood.
-					<<set $rep += 200>>
+					<<run repX(200, "pit", _loser)>>
 				<</if>>
 			<<else>>
 				<<switch _animal.type>>
@@ -739,10 +739,10 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and
 				<</switch>>
 				<<if $pitAudience == "paid">>
 					The audience is reasonably impressed by the violence, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-					<<run cashX(4000, "pit")>>
+					<<run cashX(4000, "pit", _loser)>>
 				<<elseif $pitAudience == "free">>
 					The audience is @@.green;reasonably impressed@@ by the violence.
-					<<set $rep += 200>>
+					<<run repX(200, "pit", _loser)>>
 				<</if>>
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/seNicaeaAnnouncement.tw b/src/uncategorized/seNicaeaAnnouncement.tw
index f4b296e0be65326eefae6cec394d3e81066b5414..77fb83b31f74b7977061ac9280b352ecf1df9801 100644
--- a/src/uncategorized/seNicaeaAnnouncement.tw
+++ b/src/uncategorized/seNicaeaAnnouncement.tw
@@ -52,7 +52,7 @@ Hosting a new religion's first synod will be expensive and time-consuming, but w
 	<</if>>
 	You announce your opposition to the planned council publicly, using your considerable influence within the developing religion to make your opinion known. Your arguments are couched in the language of the new faith, and emphasize its welcoming and open nature to anyone willing to experience the holy institution of sexual slavery, be it as a slave or a slaveowner. Your force and vigor in the debate @@.green;enhances your reputation,@@ and helps sway other prominent Chattel Religionists away from attending the council. It's not yet clear whether a weakened council will manage to meet and get anything done, or if you've successfully prevented the idea from coalescing. You'll have to keep working at it and wait at least a week to see what the results of the controversy will be.
 	<<set $nicaeaInvolvement = -1>>
-	<<set $rep += 1000>>
+	<<run repX(1000, "event")>>
 	<</replace>>
 <</link>>
 <br><<link "Ignore the council">>
diff --git a/src/uncategorized/seNicaeaCouncil.tw b/src/uncategorized/seNicaeaCouncil.tw
index 5fc4ea96d821834db75d0ac6a6c95f7ae09130e5..b504e7b554b8f6163cf2a150fe83b7a7b1338a9b 100644
--- a/src/uncategorized/seNicaeaCouncil.tw
+++ b/src/uncategorized/seNicaeaCouncil.tw
@@ -103,7 +103,7 @@ A majority of the Council currently supports deciding this question in favor of
 <</link>>
 
 <br><br>
-[[Conclude the Council|SE nicaea council][$rep += $nicaeaInfluence*2000, $nicaeaInfluence = 0]] //This will let the currently prevailing views stand, and convert your remaining influence with the Council into general reputation//
+[[Conclude the Council|SE nicaea council][repX($nicaeaInfluence*2000, "event"), $nicaeaInfluence = 0]] //This will let the currently prevailing views stand, and convert your remaining influence with the Council into general reputation//
 
 <<else>>
 
diff --git a/src/uncategorized/seNicaeaPreperation.tw b/src/uncategorized/seNicaeaPreperation.tw
index b0462c2ad241b80f4219d4cdc43b4bfc07f95e71..c96c79fefa718886f86512c36aeffda0e1fa88ca 100644
--- a/src/uncategorized/seNicaeaPreperation.tw
+++ b/src/uncategorized/seNicaeaPreperation.tw
@@ -9,7 +9,8 @@
 <<if $nicaeaInvolvement == -1>>
 
 Your vigorous opposition to a religious council to establish an agreed upon creed for Chattel Religionism has been successful, but not without cost. The furious controversy @@.red;cost you friends and damaged your reputation@@ among those of your religious peers who wanted to see Chattel Religionists draw closer together, and as happens in controversies as heated as this, the influence and reputation you gain from those who agree with you doesn't match what you lose among those who think you're standing in the way of progress. Furthermore, not all of your citizens agreed with you, either. A few citizens of consequence have actually left $arcologies[0].name over it, @@.red;damaging its economic prosperity.@@ Also, Chattel Religionists have had a serious disagreement here for the first time. @@.red;Full acceptance of slaveowning theocracy in your arcology has been set back.@@ A majority of your citizens still approve and participate, but it will take time to rebuild.
-<<set $rep -= 4000, $arcologies[0].prosperity -= 5, $arcologies[0].FSChattelReligionist *= 0.6>>
+<<set $arcologies[0].prosperity -= 5, $arcologies[0].FSChattelReligionist *= 0.6>>
+<<run repX(-4000, "event")>>
 <br><br>
 But you did win. Chattel Religionism will remain a free and open faith that accepts any slaveowner willing to declare that they consider holding slaves holy. You'll be remembered by those who opposed you as the arcology owner who kept Chattel Religionism from developing into a great force, and by those who agreed with you as the arcology owner who preserved Chattel Religionism as a welcoming and open as it was always meant to be. You have no doubt that the latter view dominates now and will come to predominate as it becomes settled. After all this, there's no chance that anyone who calls for another Chattel Religionist synod any time soon will get a serious hearing.
 
@@ -54,7 +55,8 @@ Second, you need to decide whether you intend to engage in a canvassing campaign
 <br><<link "Leverage reputation into power">>
 	<<replace "#result2">>
 	This isn't an opportunity that will come again. @@.red;You call in every favor you have.@@ You'll have to rebuild your reputation later.
-	<<set $rep *= 0.3, $nicaeaInfluence += 1>>
+	<<set $nicaeaInfluence += 1>>
+	<<run repX(($rep * 0.3)-$rep, "event")>>
 	<</replace>>
 <</link>> //This will cost a great deal of reputation//
 </span>
diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw
index 9e88d0f42e40e59ba87b129b510996a67107fde3..0524486d907927d90adc6df272621283a7e5e787 100644
--- a/src/uncategorized/seNonlethalPit.tw
+++ b/src/uncategorized/seNonlethalPit.tw
@@ -42,7 +42,7 @@
 
 	<<if $arcologies[0].FSRomanRevivalist != "unset">>
 		They @@.green;strongly approve@@ of you hosting combat between slaves; this advances ideas from antiquity about what public events should be.
-		<<set $rep += 10*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
+		<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel), "pit")>>
 		<<set $arcologies[0].FSRomanRevivalist += 0.2*$FSSingleSlaveRep>>
 	<</if>>
 
@@ -364,19 +364,19 @@
 		_winner.slaveName and _loser.slaveName are both blind, making the fight a staredown. Neither slave wants to make the first move, especially with the drowning cacophony coming from the jeering crowd. Slowly, _winner.slaveName moves forward, waving feeling for $his opponent before $he $himself gets found. _loser.slaveName's hand meets _winner.slaveName's and the two move to grab each other in a headlock. The two slaves violently thrash against each other, suffering more and more strikes as the struggle goes on. Eventually, _loser.slaveName can take no more and releases _his2 grip on _winner.slaveName neck. It takes a moment for _winner.slaveName to stop wrestling the submitting _loser.slaveName and accept $his victory.
 		<<if $pitAudience == "paid">>
 			The audience is surprised by the sudden wrestling match, and your @@.yellowgreen;cut of the betting@@ is modest.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;surprised@@ by the impromptu wrestling match.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winnerDeadliness > _loserDeadliness+1) && (_winner.amp == -4)>>
 		Upon your word the two combatants approach each other. _winner.slaveName keeps $his artificial limbs up in a protective position. _loser.slaveName probes $him with some light blows, puzzled by this ironclad defense. Gradually, _he2 hits harder and harder, _his2 opponent grunting under the impacts but holding steady. Finally, _loser.slaveName overcommits to a body blow, and _winner.slaveName grips _his2 forearm. That is the end. The augmented grip is effectively unbreakable, and _winner.slaveName uses it to pull $his opponent in and grab _his2 neck with the other hand, using it to exert just the right amount of pressure to choke _him2 out harmlessly. Though the fight was short,
 		<<if $pitAudience == "paid">>
 			the audience is quite impressed by the display, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(2000, "pit")>>
+			<<run cashX(2000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			the audience is @@.green;very impressed@@ by the display.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<<else>>
 			it was a good test of the slave's enhancements.
 		<</if>>
@@ -384,10 +384,10 @@
 		Upon your word the two combatants approach each other. _winner.slaveName keeps $his advanced cybernetic limbs up in a protective position. _loser.slaveName probes $him with some light blows, puzzled by this ironclad defense. Gradually, _he2 hits harder and harder, _his2 opponent grunting under the impacts but holding steady. Finally, _loser.slaveName tires, gets off balance, and _winner.slaveName manages to grab _his2 forearm. _winner.slaveName's limbs emit an electric shock that temporarily incapacitates $his opponent. _winner.slaveName uses $his grip to pull $his stunned opponent in and grab _his2 neck with the other hand, using it to exert just the right amount of pressure to choke _him2 out harmlessly. Though the fight was short,
 		<<if $pitAudience == "paid">>
 			the audience is quite impressed by the display, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(2000, "pit")>>
+			<<run cashX(2000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			the audience is @@.green;very impressed@@ by the display.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<<else>>
 			it was a good test of the slave's enhancements.
 		<</if>>
@@ -395,39 +395,39 @@
 		_winner.slaveName centers $himself and hones in on _loser.slaveName's rapid breath. $He readies $himself, knowing $he has a single chance to win. With heavy steps, _loser.slaveName rushes $him, fully prepared to tackle the helpless combatant. _winner.slaveName gambles everything on a single high punch, a strike that slams _loser.slaveName's undefended neck. _loser.slaveName falls to the ground before the panicking _winner.slaveName, who quickly pins the coughing loser.
 		<<if $pitAudience == "paid">>
 			The audience is awestruck by the blind $girl's triumph, and your @@.yellowgreen;cut of the betting@@ is enormous.
-			<<run cashX(4000, "pit")>>
+			<<run cashX(4000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;awestruck@@ by the blind $girl's triumph.
-			<<set $rep += 200>>
+			<<run repX(200, "pit", _winner)>>
 		<</if>>
 	<<elseif !canSee(_loser)>>
 		_winner.slaveName grins at _loser.slaveName's random swings and poor form. $He centers in on $his favorite part of _loser.slaveName's body before rushing between _his2 strikes and tackling _him2 to the ground. _loser.slaveName lays there, helpless to stop _winner.slaveName from molesting _him2.
 		<<if $pitAudience == "paid">>
 			The audience found the fight embarrassing, and your @@.yellowgreen;cut of the betting@@ is pitiful.
-			<<run cashX(40, "pit")>>
+			<<run cashX(40, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.red;annoyed@@ by this lack of a fight.
-			<<set $rep -= 20>>
+			<<run repX(-20, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winnerDeadliness > _loserDeadliness+3)>>
 		<<if (_winner.combatSkill > 0)>>
 			_winner.slaveName wants to win, and $he opens the fight with a furious attack. _loser.slaveName manages to get _his2 forearms up, blocking a few blows, but by doing so leaves _his2 abdomen open and obscures _his2 vision enough that _he2 is unprepared for the following kidney strike, which brings _him2 gasping to one knee. _winner.slaveName lets _him2 rise just a little before delivering a calculated hard right that sends _loser.slaveName to the mat.
 			<<if $pitAudience == "paid">>
 				The audience is not very impressed by this execution, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-				<<run cashX(500, "pit")>>
+				<<run cashX(500, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;not very impressed@@ by this execution.
-				<<set $rep += 25>>
+				<<run repX(25, "pit", _winner)>>
 			<</if>>
 		<<else>>
 			_winner.slaveName wants to win and is confident $he will, but $he isn't particularly sure about how to do so. $He fights cautiously, mostly hitting _loser.slaveName from afar. Slowly, the rain of blows begins to tell, opening _loser.slaveName's lip, giving _him2 a bloody nose, and bruising _his2 face. Realizing _he2 has to do something, _loser.slaveName makes a desperate counterattack, @@.red;dripping blood@@ as _he2 goes. As _he2 does _he2 manages to get _his2 face in the way of another of _winner.slaveName's inexpert strikes and goes down hard. _He2 makes to rise, but _winner.slaveName decides the fight by the simple expedient of kicking _him2 in the crotch.
 			<<set _loser.health -= 10>>
 			<<if $pitAudience == "paid">>
 				The audience is reasonably impressed by the beating, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-				<<run cashX(100, "pit")>>
+				<<run cashX(100, "pit", _winner)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;reasonably impressed@@ by the beating.
-				<<set $rep += 50>>
+				<<run repX(50, "pit", _winner)>>
 			<</if>>
 		<</if>>
 	<<elseif (_winner.belly >= 600000) && (_loser.belly >= 600000)>>
@@ -436,19 +436,19 @@
 		<<set _loser.health -= 50>>
 		<<if $pitAudience == "paid">>
 			The audience is very impressed by the showdown, and your @@.yellowgreen;cut of the betting@@ is good.
-			<<run cashX(1500, "pit")>>
+			<<run cashX(1500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;very impressed@@ by the showdown.
-			<<set $rep += 75>>
+			<<run repX(75, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.belly >= 600000) && (_loser.belly < 300000)>>
 		_loser.slaveName spies an easy win against _his2 massively bloated opponent and rushes in to topple _winner.slaveName. In an effort to defend $himself, _winner.slaveName hoists $his belly and turns suddenly, accidentally impacting _loser.slaveName with $his massive middle and knocking _him2 to the ground. Seeing an opportunity, _winner.slaveName releases $his grip and slams $his weighty womb down on _loser.slaveName, bashing the wind out of _him2. _loser.slaveName struggles to slip out from under the mass, but the weight is too great and _he2 passes out.
 		<<if $pitAudience == "paid">>
 			The audience is impressed by this absurd win, and your @@.yellowgreen;cut of the betting@@ is reasonably.
-			<<run cashX(1000, "pit")>>
+			<<run cashX(1000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;impressed@@ by this absurd win.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.combatSkill > 0) && (_loser.combatSkill > 0)>>
 		Upon your word the two combatants approach each other warily, both knowing the other is reasonably competent. Before long they are trading expert blows. _winner.slaveName is getting the worst of it, so $he decides to change the nature of the fight. After three tries $he manages to bring _loser.slaveName to the ground, suffering a @@.red;broken nose@@ as $he does. _loser.slaveName tries to break the imperfect hold but only earns _himself2 an elbow to the face. _He2's furious and _winner.slaveName is obliged to wrench _his2 arm @@.red;to the point of damage@@ before _he2 allows _himself2 to go limp.
@@ -456,85 +456,85 @@
 		<<set _winner.health -= 10>>
 		<<if $pitAudience == "paid">>
 			The audience is quite impressed by the expert fight, and your @@.yellowgreen;cut of the betting@@ is quite good.
-			<<run cashX(2000, "pit")>>
+			<<run cashX(2000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;very impressed@@ by the expert fight.
-			<<set $rep += 100>>
+			<<run repX(100, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.height-_loser.height >= 10)>>
 		_winner.slaveName realizes that _loser.slaveName's wingspan gives _him2 a huge reach advantage. $He bores straight in, taking a hit or two but coming on regardless. _loser.slaveName understands _his2 opponent's intention and backs off, but the pit is small and there isn't much room to retreat. When _his2 back hits a padded wall, _winner.slaveName manages to land a light hit to _his2 stomach that leaves _loser.slaveName winded enough that a hard kick to the side of _his2 knee goes undefended. It causes @@.red;considerable damage,@@ dropping _him2 and ending the fight.
 		<<set _loser.health -= 10>>
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the takedown, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-			<<run cashX(1000, "pit")>>
+			<<run cashX(1000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;reasonably impressed@@ by the takedown.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.eyebrowPiercing > 0)>>
 		The fight starts slowly, with the girls trading jabs. Just as the spectators are getting bored, _loser.slaveName takes a glancing blow to the eyebrow. _His2 piercing catches on _winner.slaveName's glove and tears out. _loser.slaveName goes after _his2 tormentor in fury, streaming blood, the piercing forgotten on the mat. Any tendency _winner.slaveName might have had to feel badly about this is extinguished by the assault, and soon _winner.slaveName is even willing to follow up on the success by targeting pierced body parts. The fight ends with poor _loser.slaveName writhing in pain on the mat, @@.red;leaking blood@@ from several terribly shredded areas.
 		<<set _loser.health -= 10, _loser.eyebrowPiercing = 0>>
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the gory spectacle, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-			<<run cashX(1000, "pit")>>
+			<<run cashX(1000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;reasonably impressed@@ by the gory spectacle.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_winner.muscles > 30)>>
 		_winner.slaveName is so massively muscular that $he's actually impeded by $his size. _loser.slaveName is properly afraid of $his strength, though, so _he2 tries to stay away as much as _he2 can. The pit isn't large, however, and eventually _winner.slaveName manages to lay a hand on _him2. $He pulls _him2 down, and then it's all over but the beating. _loser.slaveName rains blows on _his2 huge oppressor, but all _winner.slaveName has to do is hold on with one arm and deliver damage with the other. By the time _he2 gives up and goes limp, _loser.slaveName has collected @@.red;many minor injuries.@@
 		<<set _loser.health -= 10>>
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the show of strength, and your @@.yellowgreen;cut of the betting@@ is reasonable.
-			<<run cashX(1000, "pit")>>
+			<<run cashX(1000, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;reasonably impressed@@ by the show of strength.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif _loser.belly >= 300000>>
 		_winner.slaveName wants to win badly enough that $he takes an extremely brutal shortcut to victory. The instant the fight starts, $he quickly knees _loser.slaveName in the stomach. The massively swollen _loser.slaveName goes down with a loud thud and plenty of jiggling. _winner.slaveName gloats over the struggling _loser.slaveName watching as _he2 is unable to pull _his2 bloated form off the ground.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy win.
-			<<set $rep += 50>>
+			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.boobs > 1200)>>
 		_winner.slaveName wants to win badly enough that $he takes an extremely simple shortcut to victory. The instant the fight starts, $he hits _loser.slaveName right in _his2 huge tits, as hard as $he can. This is a sucker punch of the worst kind; _loser.slaveName's boobs are so big that _he2 has no real chance of defending them. _He2 gasps with pain and wraps _his2 arms around _his2 aching bosom, giving _winner.slaveName a clear opening to deliver a free and easy blow to the jaw that sends the poor top-heavy slave to the mat. Any chance of _loser.slaveName rising is extinguished by _his2 breasts; it takes _him2 so long to muster an attempt to get up that _winner.slaveName can rain hits on _him2 while _he2 does.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy win.
-			<<set $rep += 25>>
+			<<run repX(25, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.dick > 0)>>
 		_winner.slaveName wants to win badly enough that $he takes an extremely brutal shortcut to victory. The instant the fight starts, $he furiously goes for _loser.slaveName's face. _loser.slaveName defends _himself2 with _his2 arms, at which point _winner.slaveName delivers a mighty kick to the dick. _loser.slaveName goes down like a marionette with cut strings, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes. _winner.slaveName winds up to kick _him2 again but hesitates, wondering whether it's even necessary.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy win.
-			<<set $rep += 25>>
+			<<run repX(25, "pit", _winner)>>
 		<</if>>
 	<<elseif canDoVaginal(_loser)>>
 		_winner.slaveName wants to win badly enough that $he takes an extremely unpleasant shortcut to victory. The instant the fight starts, $he furiously goes for _loser.slaveName's eyes, hands forming claws. _loser.slaveName defends _himself2 with _his2 arms, at which point _winner.slaveName delivers a mighty cunt punt. _loser.slaveName goes straight down, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes while _his2 hands desperately shield _his2 outraged pussy. _winner.slaveName follows _him2 down and puts the unresisting girl's head in a simple lock.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy win.
-			<<set $rep += 25>>
+			<<run repX(25, "pit", _winner)>>
 		<</if>>
 	<<else>>
 		_winner.slaveName wants to win badly enough that $he takes an extremely unpleasant shortcut to victory. The instant the fight starts, $he furiously goes for _loser.slaveName's eyes, hands forming claws. _loser.slaveName defends _himself2 with _his2 arms, at which point _winner.slaveName delivers a clenched fist to _loser.slaveName's throat. _loser.slaveName staggers back, wheezing for breath with tears leaking from _his2 closed eyes. _winner.slaveName takes advantage of _loser.slaveName's vulnerability to quickly trip and pin the coughing loser.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", _winner)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this easy win.
-			<<set $rep += 25>>
+			<<run repX(25, "pit", _winner)>>
 		<</if>>
 	<</if>>
 
@@ -770,42 +770,42 @@
 	_winner.slaveName lives to torment and violate slave girls. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ slapping _him2 viciously, pinching _him2 until $he draws blood, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
-		<<set $rep += 50>>
+		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 2>>
 <<elseif (_winner.sexualFlaw == "abusive")>>
 	_winner.slaveName lives to abuse and violate slave girls. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ raping _him2 mercilessly, striking _him2 until _he2 turns a deep reddish-purple, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
-		<<set $rep += 50>>
+		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 2>>
 <<elseif (_winner.energy > 95)>>
 	_winner.slaveName doesn't have to feign willingness to rape a slave _girl2. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ groping _him2, kissing _his2 unwilling mouth, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
-		<<set $rep += 50>>
+		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 1>>
 <<elseif (_winner.fetish == "sadist") && (_winner.fetishStrength > 60)>>
 	_winner.slaveName doesn't have to feign willingness abuse and violate a slave _girl2. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ slapping _him2 cruelly, pinching _him2 until $he draws blood, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
-		<<set $rep += 50>>
+		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 1>>
 <<elseif (_winner.devotion > 75)>>
 	_winner.slaveName is so broken to slavery that $he @@.hotpink;enjoys@@ winning the fight and raping _loser.slaveName.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
-		<<set $rep += 50>>
+		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 1>>
 <<elseif (_winner.devotion > 20)>>
 	_winner.slaveName understands $his role and thoroughly rapes _loser.slaveName.
 	<<if $pitAudience != "none">>
 		The audience @@.green;enjoys@@ the spectacle.
-		<<set $rep += 25>>
+		<<run repX(25, "pit", _winner)>>
 	<</if>>
 <<else>>
 	_winner.slaveName is unenthusiastic and just thrusts mechanically, to avoid being punished. $He @@.mediumorchid;resents@@ having to fight and fuck.
@@ -1039,10 +1039,10 @@
 	<<if $arcologies[0].FSRomanRevivalist != "unset" || $arcologies[0].FSDegradationist != "unset">>
 		They @@.green;strongly approve@@ of you using this method of punishment; this advances ideas from antiquity about what public events should be. /*not sure what the message that usually displays for Degradationism is - that might have to be changed*/
 		<<if $arcologies[0].FSRomanRevivalist != "unset">>
-			<<set $rep += 10*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
+			<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel), "pit")>>
 			<<set $arcologies[0].FSRomanRevivalist += 0.2*$FSSingleSlaveRep>>
 		<<elseif $arcologies[0].FSDegradationist != "unset">>
-			<<set $rep += 10*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>>
+			<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel), "pit")>>
 			<<set $arcologies[0].FSDegradationist += 0.2*$FSSingleSlaveRep>>
 		<</if>>
 	<</if>>
@@ -1054,10 +1054,10 @@
 			$activeSlave.slaveName is quick, though, and $he manages to avoid the animal for the full five minutes, and drops to $his knees in relief and exhaustion once the bell sounds and the _animal.species is leashed and pulled back into its cage.
 			<<if $pitAudience == "paid">>
 				The audience is fairly impressed by this impressive display of sportsmanship, and so is your @@.yellowgreen;cut of the betting.@@
-			<<run cashX(2500, "pit")>>
+			<<run cashX(2500, "pit", $activeSlave)>>
 			<<elseif $pitAudience == "free">>
 				The audience is @@.green;fairly impressed@@ by this impressive display of sportsmanship.
-				<<set $rep += 100>>
+				<<run repX(100, "pit", $activeSlave)>>
 			<</if>>
 		<</if>>
 	<<else>>
@@ -1069,10 +1069,10 @@
 		<</if>>
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this mediocre display, and your @@.yellowgreen;cut of the betting@@ is equally unimpressive.
-			<<run cashX(500, "pit")>>
+			<<run cashX(500, "pit", $activeSlave)>>
 		<<elseif $pitAudience == "free">>
 			The audience is @@.green;not very impressed@@ by this mediocre display.
-			<<set $rep += 25>>
+			<<run repX(25, "pit", $activeSlave)>>
 		<</if>>
 		/* TODO: rewrite this to account for more variables (and to clean this whole mess up) */
 		It <<if _animal.type != "hooved">>swipes at $his legs<<else>>headbutts $him<</if>>, causing $him to go down hard. It doesn't waste a moment, and mounts $him quicker than you thought would have been possible for a _animal.species. It takes a few tries, but it finally manages to find $his _orifice, causing <<if $audience != "none">>the crowd to go wild and<</if>> $activeSlave.slaveName to give a long, drawn-out <<if _agree == 1>>moan<<else>>scream<</if>> as its _animal.dickSize cock <<if (_orifice == "pussy" && $activeSlave.vagina == 0) || (_orifice == "asshole" && $activeSlave.anus == 0)>>@@.limegreen;breaks in@@<<else>>fills<</if>> $his _orifice. Without hesitation, it begins to steadily thrust, pounding $him harder and harder as it grows closer and closer to climax. After several minutes, you see the animal finally stop thrusting as the barely-there slave gives a loud <<if _agree == 1>>moan<<else>>groan<</if>>. <<if $audience != "none">>The crowd gives a loud cheer as the<<else>>The<</if>> animal pulls out, leaving the thoroughly fucked-out $activeSlave.slaveName lying there, cum streaming out of $his _orifice.
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
index 13f02201620e81b3d07ba737b2385ae81822d26f..e25368c3312287f5d39f42e4b594e9faf1e9e3b4 100644
--- a/src/uncategorized/seRetirement.tw
+++ b/src/uncategorized/seRetirement.tw
@@ -194,11 +194,11 @@ Your arcology has gained a well-off citizen.
 	<br><br>
 	<<if $arcologies[0].FSPaternalist != "unset">>
 		Of course, your paternalistic arcology thinks this @@.green;almost too romantic,@@ and there are jesting suggestions that outcomes this adorable ought to be illegal. The pair becomes celebrated citizens immediately.
-		<<set $rep += 10*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel)>>
+		<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), "futureSocieties")>>
 		<<set $arcologies[0].FSPaternalist += 0.1*$FSSingleSlaveRep>>
 	<<else>>
 		Though it is not ordinarily paternalistic, even your society thinks this is @@.green;pretty romantic.@@
-		<<set $rep += 5*$FSSingleSlaveRep>>
+		<<run repX(5*$FSSingleSlaveRep, "futureSocieties")>>
 	<</if>>
 	<br><br>You have gained an additional well-off citizen.
 	<<set $upperClass += 1>>
diff --git a/src/uncategorized/seWeddingDouble.tw b/src/uncategorized/seWeddingDouble.tw
index 1d7ea6251ec9f1d1681d99a69b66b8d696b84769..ed1410a2e7be83750ec8daddb53a25b14c8d1321 100644
--- a/src/uncategorized/seWeddingDouble.tw
+++ b/src/uncategorized/seWeddingDouble.tw
@@ -1387,7 +1387,8 @@
 	<</if>>
 	<<set _slave1.relationship = -3>>
 	<<if _slave1.mpreg == 1>><<set _slave1.analCount += 1, $analTotal += 1>><<else>><<set _slave1.vaginalCount += 1, $vaginalTotal += 1>><</if>>
-	<<set $rep += 500>>
+	<<run repX(250, "event", _slave1)>>
+	<<run repX(250, "event", _slave2)>>
 	<<if _slave1.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of you impregnating the blank-faced " + _slave1.slaveName + " at your wedding">>
 	<<elseif _slave1.devotion+_slave1.trust >= 175>>
@@ -1402,7 +1403,8 @@
 	<<set $trinkets.push($desc)>>
 	<<set _slave2.relationship = -3>>
 	<<if _slave2.mpreg == 1>><<set _slave2.analCount += 1, $analTotal += 1>><<else>><<set _slave2.vaginalCount += 1, $vaginalTotal += 1>><</if>>
-	<<set $rep += 500>>
+	<<run repX(250, "event", _slave1)>>
+	<<run repX(250, "event", _slave2)>>
 	<<if _slave2.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of you impregnating the blank-faced " + _slave2.slaveName + " at your wedding">>
 	<<elseif _slave2.devotion+_slave2.trust >= 175>>
@@ -1886,7 +1888,8 @@
 	<<if canGetPregnant(_slave1) && _slave1.eggType == "human">>
 		<<= knockMeUp(_slave1, 20, 2, -2)>>
 	<</if>>
-	<<set $rep += 1000>>
+	<<run repX(500, "event", _slave1)>>
+	<<run repX(500, "event", _slave2)>>
 	<<if _slave1.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of the broken " + _slave1.slaveName + " getting gangbanged at your wedding">>
 	<<elseif _slave1.devotion+_slave1.trust >= 175>>
@@ -1909,7 +1912,8 @@
 	<<if canGetPregnant(_slave2) && _slave2.eggType == "human">>
 		<<= knockMeUp(_slave2, 20, 2, -2)>>
 	<</if>>
-	<<set $rep += 1000>>
+	<<run repX(500, "event", _slave1)>>
+	<<run repX(500, "event", _slave2)>>
 	<<if _slave2.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of the broken " + _slave2.slaveName + " getting gangbanged at your wedding">>
 	<<elseif _slave2.devotion+_slave2.trust >= 175>>
@@ -2497,7 +2501,8 @@
 	<<set _slave1.relationship = -3>>
 	<<set _slave1.oralCount += 1>>
 	<<set $oralTotal += 1>>
-	<<set $rep += 750>>
+	<<run repX(375, "event", _slave1)>>
+	<<run repX(375, "event", _slave2)>>
 	<<if _slave1.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of your uneventful wedding to the mindbroken " + _slave1.slaveName>>
 	<<elseif _slave1.devotion+_slave1.trust >= 175>>
@@ -2514,7 +2519,8 @@
 	<<set _slave2.relationship = -3>>
 	<<set _slave2.oralCount += 1>>
 	<<set $oralTotal += 1>>
-	<<set $rep += 750>>
+	<<run repX(375, "event", _slave1)>>
+	<<run repX(375, "event", _slave2)>>
 	<<if _slave2.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of your uneventful wedding to the mindbroken " + _slave2.slaveName>>
 	<<elseif _slave2.devotion+_slave2.trust >= 175>>
diff --git a/src/uncategorized/seWeddingSingle.tw b/src/uncategorized/seWeddingSingle.tw
index f802e2a171506e8246bc4280b009adb046ab0a49..09fc8ef59915207c174adf05d2620471e0b4bb88 100644
--- a/src/uncategorized/seWeddingSingle.tw
+++ b/src/uncategorized/seWeddingSingle.tw
@@ -499,7 +499,8 @@
 	<</if>>
 	<<set $slaves[_s].relationship = -3>>
 	<<if $slaves[_s].mpreg == 1>><<set $slaves[_s].analCount += 1, $analTotal += 1>><<else>><<set $slaves[_s].vaginalCount += 1, $vaginalTotal += 1>><</if>>
-	<<set $rep += 750>>
+	<<run repX(375, "event", $slaves[_m])>>
+	<<run repX(375, "event", $slaves[_s])>>
 	<<if $slaves[_s].fetish == "mindbroken">>
 		<<set $desc = "a framed shot of you impregnating the blank-faced " + $slaves[_s].slaveName + " at your wedding">>
 	<<elseif $slaves[_s].devotion+$slaves[_s].trust >= 175>>
@@ -648,7 +649,8 @@
 	<<if canGetPregnant($slaves[_s]) && $slaves[_s].eggType == "human">>
 		<<= knockMeUp($slaves[_s], 20, 2, -2)>>
 	<</if>>
-	<<set $rep += 1000>>
+	<<run repX(500, "event", $slaves[_m])>>
+	<<run repX(500, "event", $slaves[_s])>>
 	<<if $slaves[_s].fetish == "mindbroken">>
 		<<set $desc = "a framed shot of the broken " + $slaves[_s].slaveName + " getting gangbanged at your wedding">>
 	<<elseif $slaves[_s].devotion+$slaves[_s].trust >= 175>>
@@ -829,7 +831,8 @@
 	<<set $slaves[_s].relationship = -3>>
 	<<set $slaves[_s].oralCount += 1>>
 	<<set $oralTotal += 1>>
-	<<set $rep += 750>>
+	<<run repX(375, "event", $slaves[_m])>>
+	<<run repX(375, "event", $slaves[_s])>>
 	<<if $slaves[_s].fetish == "mindbroken">>
 		<<set $desc = "a framed shot of your uneventful wedding to the mindbroken " + $slaves[_s].slaveName>>
 	<<elseif $slaves[_s].devotion+$slaves[_s].trust >= 175>>
diff --git a/src/uncategorized/seWeddingTriple.tw b/src/uncategorized/seWeddingTriple.tw
index 2afb75c8ff1aadc057eefb439e60490a88598dc6..b54c5d373412a853e1e38393b7c9f681a5e44e96 100644
--- a/src/uncategorized/seWeddingTriple.tw
+++ b/src/uncategorized/seWeddingTriple.tw
@@ -182,7 +182,9 @@ In the days leading up to your wedding, your wives-to-be spent their time prepar
 	<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
 		<<= knockMeUp($activeSlave, 20, 2, -2)>>
 	<</if>>
-	<<set $rep += 1000>>
+	<<run repX(334, "event", _slave1)>>
+	<<run repX(333, "event", _slave2)>>
+	<<run repX(333, "event", _slave3)>>
 	<<if $activeSlave.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of the broken " + $activeSlave.slaveName + " getting gangbanged at your wedding">>
 	<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
@@ -363,7 +365,9 @@ In the days leading up to your wedding, your wives-to-be spent their time prepar
 	<<set $activeSlave.relationship = -3>>
 	<<set $activeSlave.oralCount += 1>>
 	<<set $oralTotal += 1>>
-	<<set $rep += 750>>
+	<<run repX(250, "event", _slave1)>>
+	<<run repX(250, "event", _slave2)>>
+	<<run repX(250, "event", _slave3)>>
 	<<if $activeSlave.fetish == "mindbroken">>
 		<<set $desc = "a framed shot of your uneventful wedding to the mindbroken " + $activeSlave.slaveName>>
 	<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw
index 69ff0af01170520178d927e62126b73e6931cbdd..b238785462ab220d0e9fe0b652d8082e2e4912c2 100644
--- a/src/uncategorized/servantsQuartersReport.tw
+++ b/src/uncategorized/servantsQuartersReport.tw
@@ -306,7 +306,8 @@
 	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;$servantsQuartersNameCaps's $servantsQuartersDecoration atmosphere @@.hotpink;has a minor impact on your servants.@@
 <</if>>
 
-<<set $servantMilkersMultiplier = 1, $repGain += _DL*20>>
+<<set $servantMilkersMultiplier = 1>>
+<<run repX(_DL*20, "servantsQuarters")>>
 
 <<if _DL > 0 || $Stewardess != 0>>
 	<br><br>
diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw
index 3bee6ad14d58e0d07949d764bcac451c1dd8f545..41d38b8512d5e089cc5fa27a561d9aef03618d54 100644
--- a/src/uncategorized/slaveSold.tw
+++ b/src/uncategorized/slaveSold.tw
@@ -165,7 +165,7 @@
 	Selling one of your slave wives is @@.red;socially unacceptable.@@ In addition, your other devoted slaves are @@.gold;worried@@ that you may not respect their status.
 	<<run clearSummaryCache()>>
 	<br><br>
-	<<set $rep -= 200>>
+	<<run repX(-200, "slaveTransfer")>>
 	<<set $display = 1>>
 	<<for _ss = 0; _ss < $slaves.length; _ss++>>
 		<<if $slaves[_ss].devotion > 50>>
diff --git a/src/uncategorized/slaveStats.tw b/src/uncategorized/slaveStats.tw
index 6d6daeb89d8cd1aa8a9a51ff4605320199f5dc77..8f30341551d85c7ad755535dcc59b21e1f2f6294 100644
--- a/src/uncategorized/slaveStats.tw
+++ b/src/uncategorized/slaveStats.tw
@@ -382,6 +382,7 @@ slaveName: $activeSlave.slaveName	   /* TODO: figure out why this is being inden
 <br>lastWeeksCashIncome: $activeSlave.lastWeeksCashIncome
 <br>lifetimeRepExpenses: $activeSlave.lifetimeRepExpenses
 <br>lifetimeRepIncome: $activeSlave.lifetimeRepIncome
+<br>lastWeeksRepExpenses: $activeSlave.lastWeeksRepExpenses
 <br>lastWeeksRepIncome: $activeSlave.lastWeeksRepIncome
 <br>Deadliness <<print Deadliness($activeSlave)>>
 <br><br>
\ No newline at end of file
diff --git a/src/uncategorized/spaReport.tw b/src/uncategorized/spaReport.tw
index 7c2760101b7ac3f6251a3753cb568760d0bceb2e..cb18355b0be62348abcd02346d3503a07f6fe968 100644
--- a/src/uncategorized/spaReport.tw
+++ b/src/uncategorized/spaReport.tw
@@ -96,7 +96,8 @@
 				<</if>>
 				<<if ($arcologies[0].FSPaternalist > 0)>>
 					Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity, which advances ideals about enlightened slaveownership.
-					<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+					<<set $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
+					<<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), "spa", $slaves[$i])>>
 				<</if>>
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index ee53c2e5c8d130c6ffe2c2a629a9be2efba7fe01..f7db94bdb91fdc9ba51419c73d8bade8804cd330 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -212,8 +212,11 @@
 <<else>>
 	<<if $assistantPower >= 1>> (@@.red;<<print $arcologies[0].ownership>>%@@:<<print $arcologies[0].minority>>%) <<else>> (@@.red;<<print $arcologies[0].ownership>>%@@) <</if>>
 <</if>>
-<br>@@.green;Rep@@ |
-<<set $rep = Math.clamp(Math.trunc($rep), 0, 20000)>>
+<<if _Pass == "Main">>
+	<br>[[Rep|Rep Budget]] |
+<<else>>
+	<br>@@.green;Rep@@ |
+<</if>>
 <span id="rep">
 <<if $rep > 19000>>
 	@@color:rgb(0,145,0);worshipped@@
@@ -618,12 +621,12 @@
 
 		<br>
 		<br><span id="PAOButton"><<link [[Personal Assistant|Personal assistant options]]>><</link>></span> @@.cyan;[T]@@
-		<br><span id="policyButton"><<link [[Policies]]>><</link>></span> @@.cyan;[Y]@@
+		<br><span id="policyButton"><<link [[Policies]]>><<set $nextButton = "Back", $nextLink = "Main">><</link>></span> @@.cyan;[Y]@@
 		<<if $secExp == 1>>
-		<br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@
+		<br><span id="edictButton"><<link [[Edicts|edicts]]>><<set $nextButton = "Back", $nextLink = "Main">><</link>></span> @@.cyan;[D]@@
 		<</if>>
 		<<if $FSAnnounced>>
-			<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><</link>></span> @@.cyan;[F]@@ <<if ($FSCredits > 0) || ($FSReminder)>>@@.yellow;[!]@@<</if>>
+			<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><<set $nextButton = "Back", $nextLink = "Main">><</link>></span> @@.cyan;[F]@@ <<if ($FSCredits > 0) || ($FSReminder)>>@@.yellow;[!]@@<</if>>
 		<</if>>
 		<br><span id="URButton"><<link [[Universal Rules]]>><</link>></span> @@.cyan;[V]@@
 
@@ -660,12 +663,12 @@
 
 	<br>
 	<br><span id="PAOButton"><<link [[Personal Assistant|Personal assistant options]]>><</link>></span> @@.cyan;[T]@@
-	<br><span id="policyButton"><<link [[Policies]]>><</link>></span> @@.cyan;[Y]@@
+	<br><span id="policyButton"><<link [[Policies]]>><<set $nextButton = "Back", $nextLink = "Manage Arcology">><</link>></span> @@.cyan;[Y]@@
 	<<if $secExp == 1>>
-	<br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@
+	<br><span id="edictButton"><<link [[Edicts|edicts]]>><<set $nextButton = "Back", $nextLink = "Manage Arcology">><</link>></span> @@.cyan;[D]@@
 	<</if>>
 	<<if $FSAnnounced>>
-	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><</link>></span> @@.cyan;[F]@@
+	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><<set $nextButton = "Back", $nextLink = "Manage Arcology">><</link>></span> @@.cyan;[F]@@
 	<</if>>
 	<br><span id="URButton"><<link [[Universal Rules]]>><</link>></span> @@.cyan;[V]@@
 	<br>
@@ -712,12 +715,12 @@
 
 	<br>
 	<br><span id="PAOButton"><<link [[Personal Assistant|Personal assistant options]]>><</link>></span> @@.cyan;[T]@@
-	<br><span id="policyButton"><<link [[Policies]]>><</link>></span> @@.cyan;[Y]@@
+	<br><span id="policyButton"><<link [[Policies]]>><<set $nextButton = "Back", $nextLink = "Manage Economy">><</link>></span> @@.cyan;[Y]@@
 	<<if $secExp == 1>>
-	<br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@
+	<br><span id="edictButton"><<link [[Edicts|edicts]]>><<set $nextButton = "Back", $nextLink = "Manage Economy">><</link>></span> @@.cyan;[D]@@
 	<</if>>
 	<<if $FSAnnounced>>
-	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><</link>></span> @@.cyan;[F]@@
+	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><<set $nextButton = "Back", $nextLink = "Manage Economy">><</link>></span> @@.cyan;[F]@@
 	<</if>>
 	<br><span id="URButton"><<link [[Universal Rules]]>><</link>></span> @@.cyan;[V]@@
 	<br>
@@ -751,12 +754,12 @@
 
 	<br>
 	<br><span id="PAOButton"><<link [[Personal Assistant|Personal assistant options]]>><</link>></span> @@.cyan;[T]@@
-	<br><span id="policyButton"><<link [[Policies]]>><</link>></span> @@.cyan;[Y]@@
+	<br><span id="policyButton"><<link [[Policies]]>><<set $nextButton = "Back", $nextLink = "Manage Corporation">><</link>></span> @@.cyan;[Y]@@
 	<<if $secExp == 1>>
-	<br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@
+	<br><span id="edictButton"><<link [[Edicts|edicts]]>><<set $nextButton = "Back", $nextLink = "Manage Corporation">><</link>></span> @@.cyan;[D]@@
 	<</if>>
 	<<if $FSAnnounced>>
-	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><</link>></span> @@.cyan;[F]@@
+	<br><span id="FSButton"><<link [[Future Societies|Future Society]]>><<set $nextButton = "Back", $nextLink = "Manage Corporation">><</link>></span> @@.cyan;[F]@@
 	<</if>>
 	<br><span id="URButton"><<link [[Universal Rules]]>><</link>></span> @@.cyan;[V]@@
 	<br>