diff --git a/src/pregmod/breederProposal.tw b/src/pregmod/breederProposal.tw
index 0615dee648ff4d387bbfad4ba5f9bb1e9276ebfc..edd04d5187fa58ff1a733c61bc2a3d804da95259 100644
--- a/src/pregmod/breederProposal.tw
+++ b/src/pregmod/breederProposal.tw
@@ -1,6 +1,6 @@
 :: Breeder Proposal [nobr]
 
-<<set $nextButton = "Continue", $nextLink = "Main", $propOutcome = -1>>
+<<set $nextButton = " ", $nextLink = "Main", $propOutcome = -1>>
 
 You draft a proposal to the Societal Elite proposing the use of specially tested slaves as breeding stock. If they can pass the tests required to join the societal elite; even as slaves, their bodies can prove valuable to furthering eugenics. They will gain no additional rights, but their wombs will be used to birth elite children; helping stave off potential threats of inbreeding and adding possible missed beneficial traits into the Elite's gene pool.
 <br><br>
@@ -10,10 +10,12 @@ Within the hour, you are called before The Societal Elite.
 	"Since you are doing your part and carrying an elite child, we will gladly reward you by granting your proposal. We shall decide upon the standards for breeding stock and notify you shortly."
 	<<set $propOutcome = 1>>
 	<<InitStandards>>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 <<elseif $PC.birthElite > 0>>
 	"Since you have carried children for our cuase, we will gladly reward you by granting your proposal. We shall decide upon the standards for breeding stock and notify you shortly."
 	<<set $propOutcome = 1>>
 	<<InitStandards>>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 <<elseif $PC.dick == 0>>
 	<<if $failedElite > 50>>
 		"Do you really think you are in any position to make such a request? You, a fertile woman and member of the Elite, who has not taken even the slightest interest in carrying one of our children, dares to even suggest using slaves as breeding stock? Well?"
@@ -22,12 +24,14 @@ Within the hour, you are called before The Societal Elite.
 		<<replace "#result">>
 			"Good choice girl. A selection of men will be provided to you, take your pick and bear our children."
 			<<set $playerBred = 1, $propOutcome = 1>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder and face the Societal Elites' wrath">>
 		<<replace "#result">>
 			"You'll regret this decision. We'll have our way one way or another."
 			<<set $failedElite += 275, $propOutcome = -1>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		</span>
@@ -38,6 +42,7 @@ Within the hour, you are called before The Societal Elite.
 		<<replace "#result">>
 			"Good choice girl, your proposal is more important than your dignity after all, isn't it? A selection of men will be provided to you, take your pick and bear our children."
 			<<set $failedElite -= 50, $playerBred = 1, $propOutcome = 1>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		<<if $failedElite <= 0>>
@@ -45,6 +50,7 @@ Within the hour, you are called before The Societal Elite.
 			<<replace "#result">>
 				"Yes, you have done much to further out cuase. We respect the "balls" on you, despite your lack of them. Very well, we shall set the standards for what shall qualify as breeding stock and our standards will be delivered to you shortly."
 				<<set $propOutcome = 1>>
+				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 			<</replace>>
 			<</link>>
 		<<else>>
@@ -52,6 +58,7 @@ Within the hour, you are called before The Societal Elite.
 			<<replace "#result">>
 				"Then why waste our time? You dissapoint us, but don't worry; you'll be laden with child soon enough."
 				<<set $propOutcome = -1>>
+				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 			<</replace>>
 			<</link>>
 		<</if>>
@@ -66,12 +73,14 @@ Within the hour, you are called before The Societal Elite.
 			"Your contributions will be appreciated. We shall convene to decide the qualifications for a slave to become a breeder. We will inform you of them when we send the list of eligible males to breed you."
 			<<set $failedElite -= 50, $playerBred = 1, $propOutcome = 1>>
 			<<InitStandards>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder and withdraw your proposal">>
 		<<replace "#result">>
 			"Very well, if your masculinity is more valuable to you than your proposal, then so be it."
 			<<set $propOutcome to -1>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		</span>
@@ -85,6 +94,7 @@ Within the hour, you are called before The Societal Elite.
 			"Your contributions will be appreciated. We shall convene to decide the qualifications for a slave to become a breeder. We will inform you of them when we send the list of eligible males to breed you."
 			<<set $playerBred = 1, $propOutcome = 1>>
 			<<InitStandards>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder">>
@@ -92,6 +102,7 @@ Within the hour, you are called before The Societal Elite.
 			"Very well, if you wish to waste your gift, it is your prerogative.  We shall convene to decide the qualifications for a slave to become a breeder and inform you upon completion."
 			<<set $propOutcome = 1>>
 			<<InitStandards>>
+			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		</span>
@@ -99,6 +110,7 @@ Within the hour, you are called before The Societal Elite.
 		"We have read your proposal and agree. However, we shall set the standards for what shall qualify as breeding stock, not you. Our standards will be delivered to you shortly."
 		<<set $propOutcome = 1>>
 		<<InitStandards>>
+		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<</if>>
 <</if>>
 <br><br>
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index 6d7451a578d083ba3ec74a695b8aa04e1570680e..c1b9a0654221169b8f4acb6900ab2cecd5d2ae18 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -367,13 +367,14 @@ She sees you examining at her, and looks back at you submissively, too tired to
 
 <<link "Spend a night as equals">>
 	<<replace "#result">>
-	You instruct $activeSlave.slaveName to put on her best dress and meet you at the door. You spend a nice night out with her, walking along the club to a nice restaurant and then seeing a show before returning home for loving sex in your master bed. She nestles under your arm, falling to sleep well before you, a @@.hotpink;contented@@ smile on her face. There's a reason she 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 $activeSlave.devotion += 4>>
-	<<set $activeSlave.oralCount += 1>>
-	<<set $oralTotal += 1>>
-	<<set $activeSlave.analCount += 1>>
-	<<set $analTotal += 1>>
-	<<set $rep -= 100>>
+	<<if $MixedMarriage == 1 && $activeSlave.relationship == -3 && $arcologies[0].FSPaternalist >= 60>>
+		You instruct your slave-wife $activeSlave.slaveName to put on her best dress and meet you at the door. You spend a nice night out with her, 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 her morning duties.
+		<<set $rep += 100>>
+	<<else>>
+		You instruct $activeSlave.slaveName to put on her best dress and meet you at the door. You spend a nice night out with her, walking along the club to a nice restaurant and then seeing a show before returning home for loving sex in your master bed. She nestles under your arm, falling to sleep well before you, a @@.hotpink;contented@@ smile on her face. There's a reason she 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>>
+	<</if>>
+	<<set $activeSlave.devotion += 4, $activeSlave.oralCount += 1, $oralTotal += 1, $activeSlave.analCount += 1, $analTotal += 1>>
 	<</replace>>
 <</link>>
 <br><<link "Pull her in to keep you company as you work">>
diff --git a/src/uncategorized/pCoupAftermath.tw b/src/uncategorized/pCoupAftermath.tw
index c413f1e9ec6c4cb72e4aea2becea5b223587594a..cddcda95a95d70fe80244ca1b3e99eb5f3cae2dd 100644
--- a/src/uncategorized/pCoupAftermath.tw
+++ b/src/uncategorized/pCoupAftermath.tw
@@ -1,18 +1,11 @@
 :: P coup aftermath [nobr]
 
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-<<set $nextButton = "Continue">>
+<<set $nextButton = " ", $nextLink = "Random Nonindividual Event", $rivalOwner = 0, $rivalryPower = 0, _num = random(0,99)>> /* hide button until user makes a selection */
 
-<<set $rivalOwner = 0>>
-<<set $rivalryPower = 0>>
 <<if $rivalryFS == 0>>
-  <<set $hostage = 0>>
-  <<set $hostageAnnounced = 0>>
+  <<set $hostage = 0, $hostageAnnounced = 0>>
 <</if>>
 
-<<set _num = random(0,99)>>
-
 <<if $mercenaries == 0>>Your security drones<<elseif $mercenaries <= 3>>Your mercenaries<<else>>Your $mercenariesTitle<</if>> perform the grisly task of disposing of the bodies of the Daughters killed in the assault. They strip them of anything that might be of use in cleaning up after the attempted coup - communication devices, PDAs, computers, even handwritten notes. The raw intel is scanned and passed to $assistantName. Most of it is rubbish.
 <br><br>
 Some of it is not. There is evidence of payments from a <<if $rivalSet == 0>>nearby Free City<<else>>neighboring arcology<</if>> to the leadership of the Daughters. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> is silent for a long time, crosschecking records to assemble a complete picture despite your enemies' attempts to disguise the transactions. Finally, $assistantName finishes and displays a picture, using nearly the entire surface of your desk for effect. <<if $assistant > 0>>"This," she says in a tone of satisfaction, "is the <<if _num < $seeDicks>>bastard<<elseif (_num-25) < $seeDicks>>bitch<<else>>cunt<</if>> you want, <<if $PC.title == 0>>Ma'am<<else>>Sir<</if>>."<<else>>"This," it says neutrally, "is the culprit, <<if $PC.title == 0>>Ma'am<<else>>Sir<</if>>."<</if>>
@@ -41,16 +34,16 @@ You inquire as to whether there's any identifiable cause for the evident dislike
 
 <span id="result">
 <<link "Contact the culprit privately and discuss the matter">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	Your fellow arcology owner proves very receptive to your missive, as well they might. Your defeat of the Daughters has made a major impact on the willingness of slaveowners to discuss slave revolts in public, and any arcology owner who was proved to be funding anti-slaver violence, even under duress, would be shunned. With very little prompting, <<if _num < $seeDicks>>he<<else>>she<</if>> forwards a @@.yellowgreen;huge indemnity payment.@@ It's nowhere near enough to cause bankruptcy, but it's enough to give you a massive advantage should you find yourselves at odds again.
 	<<set $cash += 100000>>
-	<<set $nextButton = "Continue">>
 	<</replace>>
 <</link>>
 <br><<link "Reveal the evidence publicly">>
+	<<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 $nextButton = "Continue">>
 	<<set $rep += 1000>>
 	<<set $cash += 10000>>
 	<<set $rivalryPower = 1>>
@@ -70,9 +63,9 @@ You inquire as to whether there's any identifiable cause for the evident dislike
 	<</replace>>
 <</link>>
 <br><<link "Devote funds to tracing the evidence">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	The money flows out, and the information flows in. You are rewarded with a reasonably complete picture of your rival's operations. The intelligence will be extremely useful going forward, since by gathering it, you sent an unmistakable signal that you do not consider the matter closed. There is stony silence from the Daughters' backer; today, you began a real inter-arcology war. But, with this information, you can maintain it from a position of advantage.
-	<<set $nextButton = "Continue">>
 	<<set $cash -= 20000>>
 	<<set $rivalryPower = 5>>
 	<<if $rivalSet != 0>>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 05b16914af1405d28693ede68a4780114cc7f23a..2c3002b3355aa64cd6fb667ac4437463574e6e8b 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -1,8 +1,6 @@
 :: P coup attempt [nobr]
 
-<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">>
-
-<<set $daughtersVictory = 1>>
+<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $daughtersVictory = 1>>
 
 You are awakened in the middle of the night by a jolt that shakes the entire arcology, accompanied by a distant boom. It is followed by the wail of the arcology's alarm systems, and then finally by a faint crackle that grows to a constant chatter of gunfire. Main power goes out, and you claw your way in the darkness to the video feeds, running on emergency backup. The Daughters of Liberty have more sympathizers in the arcology than even you suspected, and they're well armed and have the element of surprise. <<if $arcologies[0].FSRomanRevivalistLaw == 1>>$arcologies[0].name, however, is home to a society that cannot be surprised, for each and every one of its citizens is armed and trained for instant contribution to the defense of Rome. Even as you do your best to reestablish control, you hear a thunderous, ubiquitous roar from all around you. Your citizens are already getting into the fight.<</if>>
 
@@ -133,8 +131,8 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 <span id="result">
 <<link "Sell your prisoners immediately">>
 	<<replace "#result">>
-	<<for _i = 0; _i < _newSlaves.length; _i++>>
-		<<slaveCost _newSlaves[_i]>>
+	<<for $i = 0; $i < _newSlaves.length; $i++>>
+		<<slaveCost _newSlaves[$i]>>
 		<<set $cash += $slaveCost>>
 	<</for>>
 	Prisoners sold.
@@ -142,8 +140,8 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 <</link>> <<if $traitor != 0>>//$traitor.slaveName will not be sold.//<</if>>
 <br><<link "Give your prisoners to those who suffered property damage">>
 	<<replace "#result">>
-	<<for _i = 0; _i < _newSlaves.length; _i++>>
-		<<slaveCost _newSlaves[_i]>>
+	<<for $i = 0; $i < _newSlaves.length; $i++>>
+		<<slaveCost _newSlaves[$i]>>
 		<<set $rep += Math.trunc($slaveCost/10)>>
 	<</for>>
 	Prisoners @@.green;given away.@@
@@ -151,8 +149,8 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 <</link>> <<if $traitor != 0>>//$traitor.slaveName will not be given away.//<</if>>
 <br><<link "Enslave all of your prisoners">>
 	<<replace "#result">>
-	<<for _i = 0; _i < _newSlaves.length; _i++>>
-		<<AddSlave _newSlaves[_i]>>
+	<<for $i = 0; $i < _newSlaves.length; $i++>>
+		<<AddSlave _newSlaves[$i]>>
 	<</for>>
 	You simply enslave all of the prisoners yourself. You will make them pay for attacking your arcology.
 	<</replace>>
diff --git a/src/uncategorized/pDefenseFears.tw b/src/uncategorized/pDefenseFears.tw
index 979a6f9de7c2a54c481ede128553d44eabba0228..ded773130819372e455d41e748078c5abf1408f3 100644
--- a/src/uncategorized/pDefenseFears.tw
+++ b/src/uncategorized/pDefenseFears.tw
@@ -1,42 +1,40 @@
-:: P defense fears
+:: P defense fears [nobr]
 
+<<set $nextButton = " ", $nextLink = "Random Nonindividual Event">> /* hide button until user makes a selection */
 
-<<nobr>>
-
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-	<<set $nextButton = "Continue">>
-
-<</nobr>>\
-\
 A deputation of slaveowning citizens comes to see you. Though they haven't experienced anything so disturbing as your dealings with the Daughters of Liberty, rumors of unrest and revolution are running through the Free Cities. They are upset with the lack of troops to protect the arcology. This is quite a development in the young history of Free Cities society; only a few months ago, the idea of collective defense would have been a bitterly controversial one. It's still an employer's market for mercenaries; you could easily hire some. Alternatively, your citizens would probably agree to fund them by subscription - the word "taxes" would be impolitic.
 
+<br><br>
+
 ''This is a unique and very important opportunity'' and must not be taken lightly.
-\
+
+<br><br>
+
 <span id="result">
 <<link "Install a full platoon by subscription">>
+	<<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 $nextButton = "Continue">>
 	<<set $rep -= 500>>
 	<<set $mercenaries = 3>>
 	<</replace>>
 <</link>>
-<<link "Install a full platoon at your expense">>
+<br><<link "Install a full platoon at your expense">>
+	<<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 $nextButton = "Continue">>
 	<<set $rep += 500>>
 	<<set $cash -= 10000>>
 	<<set $mercenaries = 3>>
 	<</replace>>
 <</link>> <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤10000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤10000 and incur significant upkeep costs//<</if>>
-<<link "Refuse to quarter so many troops in your arcology">>
+<br><<link "Refuse to quarter so many troops in your arcology">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<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 $nextButton = "Continue">>
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.8)>>
 	<<set $rep -= 1000>>
 	<</replace>>
 <</link>>
 </span>
+
diff --git a/src/uncategorized/pHackerSupport.tw b/src/uncategorized/pHackerSupport.tw
index bc717d43be6a177cf40f213e18f0558cb6ff7958..5d3c53bb1d6ca64481832504db45201aba03728a 100644
--- a/src/uncategorized/pHackerSupport.tw
+++ b/src/uncategorized/pHackerSupport.tw
@@ -1,6 +1,6 @@
 :: P hacker support [nobr]
 
-<<set $nextButton = " ", $nextLink = "Random Nonindividual Event", $nextButton = "Continue">>
+<<set $nextButton = "End Call", $nextLink = "Random Nonindividual Event", $hackerSupport = 0>>
 
 While you are reviewing your information security posture in light of the Daughters of Liberty and their apparent ability to get into your systems, you receive yet another well-secured message unannounced. To your surprise, it isn't the Daughters. It's a video call from a rather interesting individual. She is quite pretty, and has a variety of facial tattoos and piercings; her face is androgynous enough that you aren't entirely sure what gender (probably) she considers herself. Her pale skin is illuminated by the diffuse glow from what's clearly a huge bank of monitors, and the clacking sound of a traditional mechanical keyboard can be heard over the line.
 
@@ -58,12 +58,13 @@ As she finishes speaking, another spasm distorts her expression, and then she su
 
 <span id="result">
 <<link "Decline">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>>
 	<<replace "#result">>
 	She's almost certainly trying to extort a quick payoff. You politely decline. "Meh," she shrugs. <<if $seeDicks == 0>>She shudders again and there's a gasping sound from down below. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Get me my strap-on."<<else>>She shudders and there's a popping sound from down below, like a cockhead springing free of someone's mouth. Sure enough, a still-erect dickhead springs into view from the bottom of the screen; for that to be visible she has to be truly huge, almost as long as one of her forearms. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Rape time! Turn around." Tearful begging can be heard before the call closes.<</if>>
-	<<set $nextButton = "Continue">>
 	<</replace>>
 <</link>>
 <br><<link "Accept">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>>
 	<<replace "#result">>
 	You transfer the funds. "Meh," she shrugs. <<if $seeDicks == 0>>She shudders again and there's a gasping sound from down below. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Get me my strap-on."<<else>>She shudders and there's a popping sound from down below, like a cockhead springing free of someone's mouth. Sure enough, a still-erect dickhead springs into view from the bottom of the screen; for that to be visible she has to be truly huge, almost as long as one of her forearms. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, bitch, it's your asshole anyway. Buttrape time!"<</if>>
 	<<if $assistant > 0>>
@@ -113,9 +114,9 @@ As she finishes speaking, another spasm distorts her expression, and then she su
 			She seems to have left a present for your poor personal assistant; her little bugged avatar is visible in the bottom corner of a screen on the wall opposite you, and is writhing disturbingly. Its arms twist into a pair of extremely phallic tentacles, which it uses to forcefully fuck its ass and pussy.
 		<</switch>>
 	<</if>>
-	<<set $nextButton = "Continue">>
 	<<set $cash -= 10000>>
 	<<set $hackerSupport = 1>>
 	<</replace>>
 <</link>> //This will cost ¤10000//
 </span>
+
diff --git a/src/uncategorized/pMercenaries.tw b/src/uncategorized/pMercenaries.tw
index 9734156822dc76e6cacce9a1d91df11f572d7c7c..b9c09ffc7cba8d42bc97fbb6b312530854c5ad34 100644
--- a/src/uncategorized/pMercenaries.tw
+++ b/src/uncategorized/pMercenaries.tw
@@ -1,46 +1,41 @@
-:: P mercenaries
+:: P mercenaries [nobr]
 
-<<nobr>>
+<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $mercenaries = 0, $mercenariesTitle = "mercenaries">>
 
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-	<<set $nextButton = "Continue">>
-
-	<<set $mercenaries = 0>>
-	<<set $mercenariesTitle = "mercenaries">>
-
-<</nobr>>\
-\
 Another wave of security hysteria is sweeping the Free Cities. And this time, it's not based on rumor and alarmism. On the other side of the globe, a Free City was sacked by an old world army today. The Free City's handful of high-technology defenders and multitude of drones caused heavy casualties among the attackers, but eventually sheer weight of numbers wore them down.
 
+<br><br>
+
 Your Free City is on good terms with the nations that border it, unlike the unfortunate sacked city, which was next to a nation suffering total collapse and looking for a convenient target. However, there's no telling how long this will last. The situation in the small, troubled country close to the arcology you've been monitoring grows worse by the day<<if $nationHate > 0>>, and if rumor of your enslavement of some of their vulnerable citizens got out, its people may have cause to hate you.<</if>>
 
+<br><br>
+
 The budgetary difficulty many old world countries are in has resulted in unemployed soldiers looking for mercenary work. You could easily hire some of them to protect the arcology and fight in the militia if necessary. ''This is a unique opportunity.'' Without this security scare, it's unlikely you could convince any of your free-spirited tenants to even stay near a permanent armed presence.
-\
+
+<br><br>
+
 <span id="result">
 <<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 $nextButton = "Continue">>
 	<<set $rep -= 500>>
 	<<set $cash -= 5000>>
 	<<set $mercenaries = 1>>
 	<</replace>>
 <</link>> <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤5000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤5000 and incur significant upkeep costs//<</if>>
-<<link "Install a full platoon">>
+<br><<link "Install a full platoon">>
 	<<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 $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 $nextButton = "Continue">>
 	<<set $rep -= 1000>>
 	<<set $cash -= 10000>>
 	<<set $mercenaries = 3>>
 	<</replace>>
 <</link>> <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤10000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤10000 and incur significant upkeep costs//<</if>>
-<<link "Do not quarter troops in your arcology">>
+<br><<link "Do not quarter troops in your arcology">>
 	<<replace "#result">>
 	Having armed men on permanent watch is a step too far. $arcologies[0].name's security systems are formidable and will have to serve.
-	<<set $nextButton = "Continue">>
 	<<set $mercenaries = 0>>
 	<</replace>>
 <</link>>
 </span>
+
diff --git a/src/uncategorized/pMercsHelpCorp.tw b/src/uncategorized/pMercsHelpCorp.tw
index 4f13f66d38f84a797a005c2c563f1bd9eeae69af..3665a891b23bab301abba967a82c14902a1d6777 100644
--- a/src/uncategorized/pMercsHelpCorp.tw
+++ b/src/uncategorized/pMercsHelpCorp.tw
@@ -1,35 +1,35 @@
-:: P Mercs Help Corp
+:: P Mercs Help Corp [nobr]
 
-<<nobr>>
+<<set $nextButton = "Decline", $nextLink = "Random Nonindividual Event", $mercenariesHelpCorp = -1>> /* hide button until user makes a selection */
 
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-<<set $nextButton = "Continue">>
-
-	<<set $mercenariesHelpCorp = -1>>
-
-<</nobr>>\
-\
 Your weekly meeting with your $mercenariesTitle commander finishes with unusual speed. With the arcology owner who set the Daughters on you enslaved, all other immediate threats defused or smashed,<<if $arcologies[0].FSRomanRevivalistLaw > 0>> your citizens serving in the urban cohorts with enthusiasm,<</if>> and the $mercenariesTitle in excellent fighting condition, there just weren't enough concerns from either of your perspectives to fill the time. You sit across your desk from each other, discussing the global situation over $PC.refreshment.
 
+<br><br>
+
 "You know, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," the scarred man says thoughtfully. "Threat board's pretty sparse these days. I mean, not for those poor bastards." He <<if $PC.refreshmentType == 0>>waves his $PC.refreshment<<elseif $PC.refreshmentType == 1>>uses his glass to point<<elseif $PC.refreshmentType == 2>>points a piece of $PC.refreshment<<elseif $PC.refreshmentType == 3>>finishes arranging a line before pointing<<elseif $PC.refreshmentType == 4>>using his syringe to point<<elseif $PC.refreshmentType == 5>>shaking the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 6>>using the sheet of $PC.refreshment to point<</if>> at a screen showing a live news feed from a war on the other side of the world. A huge cloud in an unmistakable, malevolent shape, a broad rising head atop a dirty column of vapor, is towering above a large city.
 
+<br><br>
+
 "But in our immediate area, there's just not much that can threaten us. Most trouble on the horizon's going to come from economics and supply and the climate, but that stuff doesn't shoot back. I think we can afford a little dispersal of military effort. Why don't I second squads to your corporation, when we've got the availability? Your corporate guys are already pulling meat out of the conflict zones. No offense to them, they're pretty good, but they're not quite at the level of my boys and girls. And don't worry, I'd keep 'em clear of shit like that." He indicates the onscreen mushroom cloud again.
 
+<br><br>
+
 ''This is a unique opportunity'' and will not reoccur.
-\
+
+<br><br>
+
 <span id="result">
 <<link "Decline">>
 	<<replace "#result">>
 	Best to keep the $mercenariesTitle in reserve. You decline, and the commander chuckles. "Well <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, if you insist, I suppose we could find ways to keep busy around the arcology. I mean, we're a little starved for female company here, but we can make do."
-	<<set $nextButton = "Continue">>
 	<</replace>>
 <</link>>
-<<link "Make it so">>
+<br><<link "Make it so">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>>
 	<<replace "#result">>
 	It's a fine idea, and you agree. The commander looks so enthused that you feel obliged to ask that he not risk himself unduly. He laughs. "There are no old, bold mercs, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, and I am sure as hell old. I'll be sure to grow even older under contract with you. Now, unless there's anything else, I've just bought a nice girl to add to the commander's suite, and she makes me feel a bit younger."
-	<<set $nextButton = "Continue">>
 	<<set $mercenariesHelpCorp = 1>>
 	<</replace>>
 <</link>>
 </span>
+
diff --git a/src/uncategorized/pRivalInitiation.tw b/src/uncategorized/pRivalInitiation.tw
index 7140bd79b8020fecd5a5043112ec17fe5bc42259..a5e5afc162fd45bc8a75632438f04a005207b185 100644
--- a/src/uncategorized/pRivalInitiation.tw
+++ b/src/uncategorized/pRivalInitiation.tw
@@ -1,82 +1,52 @@
-:: P rival initiation
+:: P rival initiation [nobr]
 
-<<nobr>>
+<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event", $rivalOwner = 0, $rivalOwnerEnslaved = 1>>
 
-<<set $nextButton = "Continue">>
-<<set $nextLink = "AS Dump">>
-<<set $returnTo = "RIE Eligibility Check">>
+<<set $activeSlave = $slaves.find(function(s) { return s.prestigeDesc == "You bankrupted and enslaved her in revenge for her part in the attack on your arcology by the Daughters of Liberty."; })>>
 
-<<set $rivalOwner = 0>>
-<<set $rivalOwnerEnslaved = 1>>
+This is a special week, the week of your victory. <span id="name"><<print "[[$activeSlave.slaveName|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span> awaits your pleasure. You could certainly do to her anything and everything you usually do to your chattel. You could also do something special to mark the occasion.
 
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if $slaves[$i].prestigeDesc == "You bankrupted and enslaved her in revenge for her part in the attack on your arcology by the Daughters of Liberty.">>
-<<set $activeSlave = $slaves[$i]>>
-<</if>>
-<</for>>
+<br><br>
 
-<</nobr>>\
-\
-This is a special week, the week of your victory. <span id="name"><<print "[[$activeSlave.slaveName|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span> awaits your pleasure. You could certainly do to her anything and everything you usually do to your chattel. You could also do something special to mark the occasion.
-\
 <span id="result">
 <<link "Force her to do a public relations tour with you">>
 	<<replace "#result">>
 	Though she hates you with all her heart, she knows better than most what happens to slaves who disobey. So, when you describe your public relations plans to her, she promises to obey before you even get to the threats. She finds herself 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, she stands, quickly strips naked, gets down on her 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 her down the path of @@.hotpink;obedience,@@ and is the @@.green;talk of the Free Cities.@@
-	<<set $rep += 500>>
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.oralCount += 1>>
-	<<set $oralTotal += 1>>
+	<<set $rep += 500, $activeSlave.devotion += 4, $activeSlave.oralCount += 1, $oralTotal += 1>>
 	<</replace>>
 <</link>>
-<<link "Make her orally service your other slaves in public">>
+<br><<link "Make her orally service your other slaves in public">>
 	<<replace "#result">>
-	$slaves[0].slaveName leads her out into the arcology's largest atrium, forces her to her knees, and in full view of the whole arcology, orally rapes someone who was until this week a slaveowner herself. Behind her, $slaves[1].slaveName is standing ready for her turn, and all your other slaves are behind. Public opinion is divided; the precedent is universally agreed to be bad, but the punishment is generally thought to be terrible and deserved. Your slaves, however, are almost insufferably @@.hotpink;pleased with you@@ for forcing $activeSlave.slaveName, who they still view as a slaveowner, to pleasure them.
-	<<set $activeSlave.oralCount += $slaves.length>>
-	<<set $oralTotal += $slaves.length*2>>
+	$slaves[0].slaveName leads her out into the arcology's largest atrium, forces her to her knees, and in full view of the whole arcology, orally rapes someone who was until this week a slaveowner herself. Behind her, $slaves[1].slaveName is standing ready for her turn, and all your other slaves are behind. Public opinion is divided; the precedent is universally agreed to be bad, but the punishment is generally thought to be terrible and deserved. Your slaves, however, are almost insufferably @@.hotpink;pleased with you@@ for forcing $activeSlave.slaveName, whom they still view as a slaveowner, to pleasure them.
+	<<set $activeSlave.oralCount += $slaves.length*2, $oralTotal += $slaves.length*2>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<set $slaves[$i].devotion += 10>>
-		<<set $activeSlave.oralCount += 1>>
 	<</for>>
 	<</replace>>
 <</link>>
-<<nobr>>
 <<if $activeSlave.anus == 0>>
-	<<link "Break her ass and then let the public use it">>
+	<br><<link "Break her ass and then let the public use it">>
 		<<replace "#result">>
 		$activeSlave.slaveName, who has been fairly dignified up to this point, breaks down when she's placed in stocks with her ass in the air. Her sobs become screams when, for the first time in her life, she feels the burning sensation of a well-lubricated <<if $PC.dick == 1>>cockhead<<else>>strap-on<</if>> forcing its way past her 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 her @@.red;poor injured butthole@@ by the end of the day, she @@.gold;is learning to fear you,@@ and hates you @@.mediumorchid;even more@@ if possible.
-		<<set $rep += 500>>
-		<<set $activeSlave.devotion -= 4>>
-		<<set $activeSlave.trust -= 5>>
-		<<set $activeSlave.health -= 10>>
-		<<set $activeSlave.anus = 3>>
-		<<set $activeSlave.analCount += 47>>
-		<<set $analTotal += 47>>
+		<<set $rep += 500, $activeSlave.devotion -= 4, $activeSlave.trust -= 5, $activeSlave.health -= 10, $activeSlave.anus = 3, $activeSlave.analCount += 47, $analTotal += 47>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
 		<</replace>>
 	<</link>>
 <<elseif ($activeSlave.balls > 0) && ($seeExtreme == 1)>>
-	<<link "Publicly geld her">>
+	<br><<link "Publicly geld her">>
 		<<replace "#result">>
 		You announce that since $activeSlave.slaveName has spent so much money and effort turning herself into a girl with expensive hormones, you'll take a lower-tech step to bring her 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, she was not given general anaesthesia, but instead given local painkillers and made to watch on a monitor, to her @@.gold;rage@@ and @@.mediumorchid;horror.@@ There is @@.green;applause@@ as the cauterizer seals the surgical site where her massive scrotum used to hang. Her cock looks softer already.
-		<<set $rep += 500>>
-		<<set $activeSlave.devotion -= 50>>
-		<<set $activeSlave.trust -= 50>>
-		<<set $activeSlave.health -= 10>>
-		<<set $activeSlave.balls = 0>>
+		<<set $rep += 500, $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 10, $activeSlave.balls = 0>>
 		<</replace>>
 	<</link>>
 <<elseif isFertile($activeSlave)>>
-	<<link "Let the public impregnate her">>
+	<br><<link "Let the public impregnate her">>
 		<<replace "#result">>
 		You announce that since $activeSlave.slaveName damaged the arcology, she will be taking a leading role in the reconstruction. She 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 her future as breeding stock comes home to her as she's restrained in a chair with her legs spread. Soon, the stream of fluids is running down her thoroughly-fucked pussy and over her virgin anus to pool on the floor beneath her. Modern medical imaging reveals her 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>>
-		<<set $activeSlave.preg = 1>>
-		<<set $activeSlave.pregSource = -2>>
-		<<set $activeSlave.devotion -= 5>>
+		<<set $rep += 500, $activeSlave.preg = 1, $activeSlave.pregSource = -2, $activeSlave.devotion -= 15>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
 		<</replace>>
 	<</link>>
 <</if>>
-<</nobr>>
 </span>
+
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index 7249cf3ed2fae28329246ceba2dfd0f02be4f8bd..c8f3ff0f3c1efd15849fb9a51ab0feb095235902 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -1,7 +1,6 @@
 :: P rivalry actions [nobr]
 
-<<set $nextButton = "Continue">>
-<<set $nextLink = "RIE Eligibility Check">>
+<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $rivalryDuration += 1, _num = random(1,99)>>
 
 <<if $hostageAnnounced == 1>>
 
@@ -16,9 +15,6 @@
 
 <</if>>
 
-<<set $rivalryDuration += 1>>
-<<set _num = random(1,99)>>
-
 Your inter-arcology war with the arcology owner behind the Daughters of Liberty has dragged on for $rivalryDuration week<<if $rivalryDuration > 1>>s<</if>>. The tone of your arcology is a bit more somber than usual. You have enhanced security in place, and the populace has caught the mood.
 
 <<if $hostageAnnounced == 1>>
@@ -3057,12 +3053,15 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 <</if>>
 
 <br><br>
+
 You remind yourself that success in this conflict will not be defined by the traditional measures of impending victory and defeat. The primary concern here is the weight of your holdings against those of your opponent. Improving your arcology's prosperity will move you closer to victory<<if $rivalSet == 1>>, and so will attacking the prosperity of your rival's neighboring arcology through economic means<</if>>. Of course, you can also take more direct action.
 
 <br><br>
+
 <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> collates several options for directly attacking your rival. This is a corporate war, not a military one; your peers would not tolerate a direct attack on <<if _num < $seeDicks>>him.<<else>>her.<</if>> You must bankrupt your opponent so they are no longer able to hide within the physical and intangible fortress that is their arcology. Your rival <<if ($rivalOwner-$rivalryPower)/$arcologies[0].prosperity < 0.6>>is on their economic knees, putting them on the verge of defeat.<<elseif ($rivalOwner-$rivalryPower)/$arcologies[0].prosperity < 0.7>>is in a bad financial state, well on the way to final dissolution and defeat.<<elseif ($rivalOwner-$rivalryPower)/$arcologies[0].prosperity < 0.8>>has taken some hard corporate blows but is still standing.<<elseif ($rivalOwner-$rivalryPower)/$arcologies[0].prosperity < 0.9>>is starting to feel the pressure.<<else>>is essentially undamaged; you have hard work ahead of you.<</if>>
 
 <br><br>
+
 <span id="result">
 <<link "Apply ¤10000 in standard corporate warfare">>
 	<<if random(1,100) > 50>>
@@ -3111,11 +3110,26 @@ You remind yourself that success in this conflict will not be defined by the tra
 	<</replace>>
 <</link>>
 <<if $arcologies[0].RestartDecoration == 100>>
-<<if $rep >= 1000>>
+<<if $rep >= 10000>>
 <br><<link "Use your connections to throttle your rival's arcology">>
 	<<replace "#result">>
 	With every external, and several internal, supply lines severed, <<if $seeDicks == 2>>his<<else>>her<</if>> tenants are @@.green;faced with imminent destruction@@ and rise up against their hapless landlord. <<if $seeDicks == 2>>He<<else>>She<</if>> is quickly disposed in an effort to appease you.
-	<<set $rivalryPower += 20>>
+	<<if $rivalSet != 0>>
+	  <<for _pra = 0; _pra < $arcologies.length; _pra++>>
+		<<if $arcologies[_pra].rival == 1>>
+		  <<set $arcologies[_pra].embargo = 0>>
+		  <<set $arcologies[_pra].embargoTarget = -1>>
+		  <<set $arcologies[_pra].influenceTarget = -1>>
+		  <<set $arcologies[_pra].rival = 0>>
+		  <<set $arcologies[_pra].government = "direct democracy">>
+		  <<break>>
+		<</if>>
+	  <</for>>
+	<</if>>
+	<<if $hostageAnnounced == 1>>
+		They also present <<if $seeDicks == 2>>her<<else>>his<</if>> hostage in hopes of being released from your iron grasp.
+		<<set $hostageRescued = 1>>
+	<</if>>
 	<</replace>>
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;//This option is available due to your @@.springgreen;societal connections,@@ and will economically devastate your rival//
@@ -3148,9 +3162,8 @@ You remind yourself that success in this conflict will not be defined by the tra
 	<<default>>Target One
 	<</switch>>
 	EKIA. Confirm, E. K. I. A. No other casualties, team exfiltrating."
-	<<set $rivalOwner = 0>>
-	<<set $rivalryPower = 0>>
-	<<if $rivalrySet != 0>>
+	<<set $rivalOwner = 0, $rivalryPower = 0>>
+	<<if $rivalSet != 0>>
 	  <<for _pra = 0; _pra < $arcologies.length; _pra++>>
 		<<if $arcologies[_pra].rival == 1>>
 		  <<set $arcologies[_pra].embargo = 0>>
@@ -3168,8 +3181,7 @@ You remind yourself that success in this conflict will not be defined by the tra
 	<</if>>
 	You go back to your work.
 	<</replace>>
-<</link>>
-<br>&nbsp;&nbsp;&nbsp;&nbsp;//This option is available due to your @@.springgreen;military background,@@ and will immediately end the conflict without enslaving your rival//
+<</link>>&nbsp;&nbsp;&nbsp;&nbsp;//This option is available due to your @@.springgreen;military background,@@ and will immediately end the conflict without enslaving your rival//
 <</if>>
 <</if>>
 </span>
diff --git a/src/uncategorized/pRivalryVictory.tw b/src/uncategorized/pRivalryVictory.tw
index 42aa0556c6b499eef597d298685e9c84a75c31bf..e0262ea253ac429155d2ac1553feea4c002b5a33 100644
--- a/src/uncategorized/pRivalryVictory.tw
+++ b/src/uncategorized/pRivalryVictory.tw
@@ -1,22 +1,21 @@
 :: P rivalry victory [nobr]
 
-<<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check", $rivalOwner = 0, $rivalryPower = 0, _num = random(1,99)>>
-
-<<set $rivalOwner = 0>>
-<<set $rivalryPower = 0>>
-
-<<set _num = random(1,99)>>
+<<set $nextButton = " ", $nextLink = "Random Nonindividual Event",  $rivalOwner = 0, $rivalryPower = 0, _num = random(1,99)>> /* hide button until user makes a selection */
 
 For the first time, you receive a direct call from your rival. You pictured the moment as feeling grander than this, sitting at your desk as usual looking into <<if _num < $seeDicks>>his<<else>>her<</if>> downcast face. You're the victor in a new form of warfare in which bankruptcy has replaced surrender. If the world survives in its present state, you may one day be remembered as an innovator in the evolution of (nearly) bloodless war. Today, your reputation has @@.green;greatly improved.@@ But today all you have that's tangible is a view of a still-dignified arcology owner, self-possessed despite the situation.
+
 <br><br>
+
 "For what it's worth," <<if _num < $seeDicks>>he<<else>>she<</if>> says without preamble, "I had nothing against you. The Daughters wouldn't accept a straight buy-off. Their leadership needed a target to attack, or the rank and file would have killed them themselves and gone ahead attacking me. I had to give them an alternative, or it would have been me." <<if _num < $seeDicks>>He<<else>>She<</if>> looks nervous for the first time. "So, what do we do now? I've still got enough resources to make the end of this story a messy one for you. Let me go, and I won't. I'll walk away, and I'll sign everything I've got left over to you.<<if $hostageAnnounced == 1>> Including $hostage.slaveName, of course.<</if>>"
 
 <br><br>
+
 <span id="result">
 <<link "Accept">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You accept, magnanimous in victory. "I don't think I would have done that," your rival replies. "Thank you. When they write the book, I'll make sure you look good."
-	<<if $rivalrySet != 0>>
+	<<if $rivalSet != 0>>
 		<<if _num < $seeDicks>>His<<else>>Her<</if>> remaining liquid assets will go to satisfy her great debts, <<if _num < $seeDicks>>his<<else>>her<</if>> @@.yellowgreen;arcology holdings are yours.@@
 		<<for _prv = 0; _prv < $arcologies.length; _prv++>>
 		<<if $arcologies[_prv].rival == 1>>
@@ -38,9 +37,10 @@ For the first time, you receive a direct call from your rival. You pictured the
 	<</replace>>
 <</link>>
 <br><<link "Refuse">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You coldly decline. "That was a mistake," your rival replies, entering computer command.
-	<<if $rivalrySet != 0>>
+	<<if $rivalSet != 0>>
 		"All my remaining liquid assets have just been @@.red;carefully dispersed to deny you control of my arcology.@@ You'll get nothing from me." It's true. The financial self-destruction ensures that the fiscal wreckage goes to the arcology's citizens, not you.
 		<<for _prv = 0; _prv < $arcologies.length; _prv++>>
 		<<if $arcologies[_prv].rival == 1>>
@@ -70,8 +70,9 @@ For the first time, you receive a direct call from your rival. You pictured the
 	<</if>>
 	<</replace>>
 <</link>>
-<<if $rivalryDuration >= 30 && $hostageAnnounced == 0 && $rivalrySet != 0>>
+<<if $rivalryDuration >= 30 && $hostageAnnounced == 0 && $rivalSet != 0>>
 <br><<link "Refuse, and place a bounty of ¤50000 on your rival's death">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You coldly decline. "That was a mistake," your rival replies, entering computer command. "All my remaining liquid assets have just been @@.red;expended in an attack on the value of your holdings,@@ and my arcology has been heavily sabotaged. You'll get nothing from me." It's not entirely true, but the damage to your holdings does outweigh your gains by a significant margin. Your rival vanishes back into the old world
 - but only for a few days.
@@ -92,10 +93,11 @@ For the first time, you receive a direct call from your rival. You pictured the
 <</link>>
 <</if>>
 <br><<link "Refuse, and place a bounty of ¤50000 on your rival's enslavement">>
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	<<set $nextLink = "AS Dump">>
 	You coldly decline. "That was a mistake," your rival replies, entering computer command.
-	<<if $rivalrySet != 0>>
+	<<if $rivalSet != 0>>
 		"All my remaining liquid assets have just been @@.red;carefully dispersed to deny you control of my arcology.@@ You'll get nothing from me." It's true. The financial self-destruction ensures that the fiscal wreckage goes to the arcology's citizens, not you.
 		<<for _prv = 0; _prv < $arcologies.length; _prv++>>
 		<<if $arcologies[_prv].rival == 1>>
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index ee21bf585b808e3c897b6ddc48e0453df9d65f68..c598d17297aba2bbb1992874574af2bb1074e2c7 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -1,55 +1,13 @@
 :: P underground railroad [nobr]
 
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-<<set $nextButton = "Continue">>
+<<set $nextButton = " ", $nextLink = "Random Nonindividual Event">> /* hide button until user makes a selection */
 
-<<set $activeSlave = 0>>
-<<if $activeSlave == 0>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if ($slaves[$i].devotion < 75)>>
-	<<if ($slaves[$i].fuckdoll == 0)>>
-	<<if ($slaves[$i].amp != 1)>>
-	<<if canTalk($slaves[$i])>>
-		<<if ($slaves[$i].assignment == "serve the public")>>
-		<<set $activeSlave = $slaves[$i]>>
-		<<break>>
-		<</if>>
-		<<if ($slaves[$i].assignment == "serve in the club")>>
-		<<set $activeSlave = $slaves[$i]>>
-		<<break>>
-		<</if>>
-		<<if ($slaves[$i].assignment == "whore")>>
-		<<set $activeSlave = $slaves[$i]>>
-		<<break>>
-		<</if>>
-		<<if ($slaves[$i].assignment == "work in the brothel")>>
-		<<set $activeSlave = $slaves[$i]>>
-		<<break>>
-		<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</for>>
-<</if>>
-<<if $activeSlave == 0>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if ($slaves[$i].devotion < 75)>>
-	<<if ($slaves[$i].trust < 75)>>
-	<<if ($slaves[$i].amp != 1)>>
-	<<if canTalk($slaves[$i])>>
-		<<set $activeSlave = $slaves[$i]>>
-		<<break>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</for>>
-<</if>>
-
-<<if ndef $activeSlave.ID>>
+<<set $activeSlave = $slaves.find(function(s) { return s.fuckdoll == 0 && s.amp != 1 && s.devotion < 75 && canTalk(s) && ["whore", "serve the public", "serve in the club", "work in the brothel"].includes(s.assignment); })>>
+<<if (ndef $activeSlave)>> /* search again without assignments limitation */
+	<<set $activeSlave = $slaves.find(function(s) { return s.fuckdoll == 0 && s.amp != 1 && s.devotion < 75 && canTalk(s); })>>
+	<<if (ndef $activeSlave.ID)>> /* still no match */
 		<<set $activeSlave = $slaves.random()>>
+	<</if>>
 <</if>>
 
 One fine day, as normal as any day surrounded by your slaves can be, you're sitting at your desk when a message comes in. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> totally fails to announce it, which is unusual; when you ask her why not, she replies
@@ -109,18 +67,15 @@ You call $activeSlave.slaveName in and politely inquire as to whether she knows
 <br><br>
 
 <span id="result">
-<<link "Free her">>
+<<link "Free her">> /* do not set $nextLink to AS Dump for this option because we call Remove activeSlave */
+	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You calmly inform her that she's free to go. She almost collapses with shock, but turns and hurries out of the arcology, tears streaming from her eyes. She wanders down through the arcology, attracting little notice. One moment the monitors have her struggling through a dense-packed crowd, and the next, they don't.
-	<<set $nextButton = "Continue">>
 	<<if $activeSlave.relationship > 0>>
 		<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $activeSlave.relationshipTarget == $slaves[$i].ID>>
-			<<set $activeSlave.relationshipTarget = 0>>
-			<<set $activeSlave.relationship = 0>>
-			<<set $slaves[$i].relationshipTarget = 0>>
-			<<set $slaves[$i].relationship = 0>>
-		<</if>>
+			<<if $activeSlave.relationshipTarget == $slaves[$i].ID>>
+				<<set $activeSlave.relationshipTarget = 0, $activeSlave.relationship = 0, $slaves[$i].relationshipTarget = 0, $slaves[$i].relationship = 0>>
+			<</if>>
 		<</for>>
 	<</if>>
 	<<set $traitor = $activeSlave>>
@@ -128,40 +83,28 @@ You call $activeSlave.slaveName in and politely inquire as to whether she knows
 	<</replace>>
 <</link>>
 <br><<link "Tell her to ignore the Daughters in the future">>
+	<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	$activeSlave.slaveName almost @@.mediumorchid;faints with relief@@ when it becomes apparent you aren't going to punish her for speaking of freedom. All attempts to use your monitoring systems to find the citizens who contacted her fail; it seems their ability to corrupt your systems is considerable. @@.mediumorchid;Whispers of freedom@@ run like wildfire amongst your slaves.
-	<<set $nextButton = "Continue">>
+	<<set $activeSlave.devotion -= 15>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $activeSlave.ID == $slaves[$i].ID>>
-		<<set $slaves[$i].devotion -= 15>>
-		<<else>>
 		<<set $slaves[$i].devotion -= 10>>
-		<</if>>
 	<</for>>
 	<</replace>>
 <</link>>
 <br><<link "Publicly flog her for treasonous conversation">>
+	<<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 she is @@.gold;terrified of failing you again.@@
-	<<set $nextButton = "Continue">>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $activeSlave.ID == $slaves[$i].ID>>
-		<<set $slaves[$i].health -= 30>>
-		<<set $activeSlave.trust -= 15>>
-		<</if>>
-	<</for>>
-	<<set $rep -= 500>>
+	<<set $activeSlave.health -= 30, $activeSlave.trust -= 15, $rep -= 500>>
 	<</replace>>
 <</link>>
 <br><<link "Chemically lobotomize her to extirpate any record of the incident">>
+	<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
 	You inform $activeSlave.slaveName that she is to return to her duties, which she does, mystified. Later in the day she finds herself scheduled for surgery, and meekly goes. As she feels the cool touch of the injector, loaded with powerful chemical lobotomizing agents, she looks up at the camera above the auto-surgery with a hint of resigned apology in her eyes. When she is released from the surgery's care a few hours later, the hint is gone. @@.red;As is everything.@@
-	<<set $nextButton = "Continue">>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $activeSlave.ID == $slaves[$i].ID>>
-		<<set $slaves[$i].fetish = "mindbroken">>
-		<</if>>
-	<</for>>
+	<<set $activeSlave.fetish = "mindbroken">>
 	<</replace>>
 <</link>>
 </span>
+
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index 5a7f102a878cec1a753508261122cf230ae4a3a9..e48afae11ed2a37581be4ea5c554c347eda26e39 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -221,7 +221,15 @@
 	<</script>>
 	<</link>></strong></span> @@.cyan;[Ent]@@
 <<else>>
-	<span id="nextButton"><strong><<link [[($nextButton)|($nextLink)][$ui = "main"]]>><</link>></strong></span> @@.cyan;[Spa]@@
+	<span id="nextButton"> /* target for miscWidgets' <<UpdateNextButton>> */
+		<strong><<link "$nextButton">> /* must use link so spacebar shortcut will work */
+			<<if $nextButton != " ">> /* but no effect if nextButton is set to a blank space */
+				<<set $ui = "main">>
+				<<goto $nextLink>>
+			<</if>>
+		<</link>></strong>
+		<<if $nextButton != " ">>@@.cyan;[Space]@@<</if>>
+	</span>
 <</if>>
 <br><br>
 <<if $newModelUI == 0>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 6e1476a537ca8db8c19498a20820d16fa8567a12..5e89302717e41696c2c7ef1956889bbdecf98699 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -2,6 +2,22 @@
 
 /* TODO: Modularize. */
 
+/%
+ Call as <<UpdateNextButton>>
+ Allows for dynamic updating of the next button in the storyCaption (left side-bar) for events that disable the button until user makes a selection
+%/
+<<widget "UpdateNextButton">>
+	<<replace "#nextButton">>
+		<strong><<link "$nextButton">> /* must use link so spacebar shortcut will work */
+			<<if $nextButton != " ">> /* but no effect if nextButton is set to a blank space */
+				<<set $ui = "main">>
+				<<goto $nextLink>>
+			<</if>>
+		<</link>></strong>
+		<<if $nextButton != " ">>@@.cyan;[Space]@@<</if>>
+	<</replace>>
+<</widget>>
+
 /%
  Call as <<AssayedSlaveAvailable>>
  Checks $assayedSlave for availability, e.g. not strapped to a machine or distant.