diff --git a/src/Mods/Catmod/events/SoSBombing.js b/src/Mods/Catmod/events/SoSBombing.js
index a1c08a233a56144e2f662dcc5ea7e31e0585346d..91544b8d88475d09c92cf11acaba02a353c09c68 100644
--- a/src/Mods/Catmod/events/SoSBombing.js
+++ b/src/Mods/Catmod/events/SoSBombing.js
@@ -61,7 +61,7 @@ App.Events.RESosBombing = class RESosBombing extends App.Events.BaseEvent {
 			const frag = new DocumentFragment();
 			let r = [];
 			if (V.sekhmetBombPlot === 1) {
-				r.push(`You authorize the raid, but transfer authority for its execution over to a group of loyal, free citizens, who are all too eager to defend the Republic. Early in the morning the next day, a group of Praetorians in full gear burst into a small apartment in the lower sectors, interrupting a small group of Sekhmeti terrorists building a series of improvised bombs in the barren living room.Before the bombmakers can even grab their guns, the well-disciplined citizens gun them down in an explosive hail of fire, killing the whole cluster indiscriminately. Although the zealous citizenry don't leave anything left for you to enslave, a group of proud, well-trained free citizens voluntarily defending the arcology from a terrorist plot - and doing so without so much as a scratch - is a <span class="green">good look.</span>`);
+				r.push(`You authorize the raid, but transfer authority for its execution over to a group of loyal, free citizens, who are all too eager to defend the Republic. Early in the morning the next day, a group of Praetorians in full gear burst into a small apartment in the lower sectors, interrupting a small group of Sekhmeti terrorists building a series of improvised bombs in the barren living room. Before the bombmakers can even grab their guns, the well-disciplined citizens gun them down in an explosive hail of fire, killing the whole cluster indiscriminately. Although the zealous citizenry don't leave anything left for you to enslave, a group of proud, well-trained free citizens voluntarily defending the arcology from a terrorist plot - and doing so without so much as a scratch - is a <span class="green">good look.</span>`);
 
 				cashX(-5000, "event");
 				repX(2500, "event");
diff --git a/src/Mods/Catmod/events/SoSassassin.js b/src/Mods/Catmod/events/SoSassassin.js
index 113278e10cd1159efd38a015387464aef907e577..4eb4ad338dd0a52f48022d17fe43623c2915db1d 100644
--- a/src/Mods/Catmod/events/SoSassassin.js
+++ b/src/Mods/Catmod/events/SoSassassin.js
@@ -76,7 +76,7 @@ App.Events.RESosAssassin = class RESosAssassin extends App.Events.BaseEvent {
 					cashX(-1000, "event", S.Bodyguard);
 					repX(2500, "event", S.Bodyguard);
 				} else if (S.Bodyguard.skill.combat < 1 && V.personalArms > 0) {
-					r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, readying her own knife to slash the bodyguard's throat. You raise your handgun at the same time, one bullet left in the trigger, and fire a single round through the assassin's skull just before she can. Her head explodes backwards in a burst of gore, and she slumps off S.Bodyguard.slaveName, her knife clattering to the ground. The citizens in the marketplace watch the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> both you and S.Bodyguard.slaveName panting in the wake of the attack and surrounded by bodies.`);
+					r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, readying her own knife to slash the bodyguard's throat. You raise your handgun at the same time, one bullet left in the trigger, and fire a single round through the assassin's skull just before she can. Her head explodes backwards in a burst of gore, and she slumps off ${S.Bodyguard.slaveName}, her knife clattering to the ground. The citizens in the marketplace watch the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> both you and ${S.Bodyguard.slaveName} panting in the wake of the attack and surrounded by bodies.`);
 				} else {
 					V.gameover = "sons assassinated with bodyguard";
 					Engine.play("Gameover"); // TODO: uhh, do we not want to delay here?  If so, need to suspend the rest of the content.
@@ -116,7 +116,7 @@ App.Events.RESosAssassin = class RESosAssassin extends App.Events.BaseEvent {
 			r = [];
 			r.push(`As the two would-be assassins collapse, the pretty woman draws a vicious-looking curved knife from her sleeve, swears in a foreign language, and lunges towards you. She's intercepted by ${S.Bodyguard.slaveName}, who drops ${his} empty firearm on the ground to pull ${his} own sword free.`);
 			if (S.Bodyguard.skill.combat > 0 && V.personalArms > 0 && V.PC.skill.warfare >= 60) {
-				r.push(`The two trained killers clash ferociously, S.Bodyguard.slaveName using the longer reach of ${his} sword to keep the mysterious assassin's lightning-fast long knife at bay. As the two narrowly avoid each other's attacks, you pull up your handgun, one bullet left in the chamber, carefully lower your aim, and fire into the melee, blasting a hole through the assassin's left thigh. As she cries out in pain and stumbles, your trained bodyguard tackles her to the ground and slams a fist into her face before she can activate whatever suicide method she has. As the security drones arrive, the marketplace watching the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> you call for a medic and some sedatives. You're about to claim yourself a <span class="green">brand new slave.</span>`);
+				r.push(`The two trained killers clash ferociously, ${S.Bodyguard.slaveName} using the longer reach of ${his} sword to keep the mysterious assassin's lightning-fast long knife at bay. As the two narrowly avoid each other's attacks, you pull up your handgun, one bullet left in the chamber, carefully lower your aim, and fire into the melee, blasting a hole through the assassin's left thigh. As she cries out in pain and stumbles, your trained bodyguard tackles her to the ground and slams a fist into her face before she can activate whatever suicide method she has. As the security drones arrive, the marketplace watching the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> you call for a medic and some sedatives. You're about to claim yourself a <span class="green">brand new slave.</span>`);
 				cashX(-1000, "event", S.Bodyguard);
 				repX(2500, "event", S.Bodyguard);
 				const _slave = GenerateNewSlave("XX", {minAge: 18, maxAge: 24, disableDisability: 1});
@@ -139,7 +139,7 @@ App.Events.RESosAssassin = class RESosAssassin extends App.Events.BaseEvent {
 				cashX(-1000, "event", S.Bodyguard);
 				repX(2500, "event", S.Bodyguard);
 			} else if (V.personalArms > 0 && V.PC.skill.warfare >= 60) {
-				r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, readying her own knife to slash the bodyguard's throat. You raise your handgun at the same time, one bullet left in the trigger, and fire a single round through the assassin's skull just before she can. Her head explodes backwards in a burst of gore, and she slumps off S.Bodyguard.slaveName, her knife clattering to the ground. The citizens in the marketplace watch the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> both you and S.Bodyguard.slaveName panting in the wake of the attack and surrounded by bodies.`);
+				r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, readying her own knife to slash the bodyguard's throat. You raise your handgun at the same time, one bullet left in the trigger, and fire a single round through the assassin's skull just before she can. Her head explodes backwards in a burst of gore, and she slumps off ${S.Bodyguard.slaveName}, her knife clattering to the ground. The citizens in the marketplace watch the <span class="red">minorly damaged</span> scene with a mixture of <span class="green">shock and admiration,</span> both you and ${S.Bodyguard.slaveName} panting in the wake of the attack and surrounded by bodies.`);
 			} else {
 				V.gameover = "sons assassinated with bodyguard";
 				Engine.play("Gameover"); // TODO: uhh, do we not want to delay here?  If so, need to suspend the rest of the content.
@@ -165,7 +165,7 @@ App.Events.RESosAssassin = class RESosAssassin extends App.Events.BaseEvent {
 					cashX(-1000, "event", S.Bodyguard);
 					repX(2500, "event", S.Bodyguard);
 				} else if (V.personalArms > 0 && V.PC.skill.warfare >= 60) {
-					r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, slashing S.Bodyguard.slaveName's throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over S.Bodyguard.slaveName's corpse and approaches you, smiling psychotically.`);
+					r.push(`The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from ${S.Bodyguard.slaveName} and hits back twice as hard, forcing ${him} on the defensive. When${S.Bodyguard.slaveName} stumbles, the assassin furiously kicks the blade out from ${his} hand and leaps atop ${him}, slashing ${S.Bodyguard.slaveName}'s throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over ${S.Bodyguard.slaveName}'s corpse and approaches you, smiling psychotically.`);
 					App.Events.addNode(node, r, "div");
 					r = [];
 					r.push(`"Bhalwi al-sham asmik qalbik, dog." The assassin spits, lunging towards you.`);
diff --git a/src/Mods/Catmod/events/nonRandom/bodypuristprotest.js b/src/Mods/Catmod/events/nonRandom/bodypuristprotest.js
index c6b24b21b7f7465dc1e3ab04d0c8b7f8b04e1259..ea5f5749af6e533ed2992eb38f9ca641d63aa749 100644
--- a/src/Mods/Catmod/events/nonRandom/bodypuristprotest.js
+++ b/src/Mods/Catmod/events/nonRandom/bodypuristprotest.js
@@ -102,7 +102,7 @@ App.Events.SEBodyPuristProtest = class SEBodyPuristProtest extends App.Events.Ba
 		function intimidate() {
 			const frag = new DocumentFragment();
 			let r = [];
-			r.push(`You brush some concrete dust from the thrown brick off your shoulder. This isn't the first enemy you've stared down, and it sure as hell isn't the scariest. Even above the crackle of electrobatons and the shouting of the crowd, the entire protest group seems to hear when you ask them coldly if they've forgotten who you are. As the crowd watches, you rattle off battlefields and massacres, the names of armies you've shattered and towns you've burnt to ashes, casually point a finger at the blonde man with the megaphone, say his full name, and tell him that if he says another word you'll give his two daughters to your mercenaries as rape-toys, cut off his dick, and use him as a whipping board until he bleeds out after a few years of abuse. The unarmed crowd freezes up, seemingly just now becoming aware that while they're unarmed, the muscular, scarred-over guardsmen holding crackling electrobatons in front of them are most certainly not. You take the opportunity to remind them that the security cameras outside your penthouse has recorded every face in the crowd, and anyone who so much as raises a weapon in defense has their home, occupation, and family on file.No one moves a muscle.`);
+			r.push(`You brush some concrete dust from the thrown brick off your shoulder. This isn't the first enemy you've stared down, and it sure as hell isn't the scariest. Even above the crackle of electrobatons and the shouting of the crowd, the entire protest group seems to hear when you ask them coldly if they've forgotten who you are. As the crowd watches, you rattle off battlefields and massacres, the names of armies you've shattered and towns you've burnt to ashes, casually point a finger at the blonde man with the megaphone, say his full name, and tell him that if he says another word you'll give his two daughters to your mercenaries as rape-toys, cut off his dick, and use him as a whipping board until he bleeds out after a few years of abuse. The unarmed crowd freezes up, seemingly just now becoming aware that while they're unarmed, the muscular, scarred-over guardsmen holding crackling electrobatons in front of them are most certainly not. You take the opportunity to remind them that the security cameras outside your penthouse has recorded every face in the crowd, and anyone who so much as raises a weapon in defense has their home, occupation, and family on file. No one moves a muscle.`);
 			App.Events.addParagraph(frag, r);
 			r = [];
 			r.push(`You tell the frozen crowd that you'll be continuing your work on Project N, and that if any one of them ever shows up at your house again, let alone with a gun, it'll be the worst, and last, decision they ever make. A few people at the back start to break off from the crowd. You turn back to your penthouse and walk inside as the crowd disintegrates. You have work to do, and you get the feeling these people <span class="green">aren't going to bother you again.</span>`);
diff --git a/src/events/PE/peLonelyBodyguard.js b/src/events/PE/peLonelyBodyguard.js
index 3da902d326d59d48f79e21f5b368fe8abef29ac9..35358bc29fc2869e26c6b8666e251dc031086b2c 100644
--- a/src/events/PE/peLonelyBodyguard.js
+++ b/src/events/PE/peLonelyBodyguard.js
@@ -61,7 +61,7 @@ App.Events.PELonelyBodyguard = class PELonelyBodyguard extends App.Events.BaseEv
 		function setUp() {
 			const frag = new DocumentFragment();
 			let r = [];
-			r.push(`You decide to amuse yourself by engaging in a game of subtle matchmaking. You carefully rearrange ${crush.slaveName}'s schedule and duties so ${he2} and ${BG.slaveName} spend as much time as possible with one another. At the same time, you gradually reduce crush.slaveName's access to sexual outlets. After letting the situation marinate for a few days, you decide that the time is ripe, and without any further explanation assign ${crush.slaveName} to spend the day in slave.slaveName's armory. It's barely midmorning before they're making out on ${BG.slaveName}'s workout mat, and by the afternoon crush.slaveName is under slave.slaveName's workbench, orally servicing ${his2} new <span class="lightgreen">fuckbuddy</span> as ${he} maintains ${his} machine pistol.`);
+			r.push(`You decide to amuse yourself by engaging in a game of subtle matchmaking. You carefully rearrange ${crush.slaveName}'s schedule and duties so ${he2} and ${BG.slaveName} spend as much time as possible with one another. At the same time, you gradually reduce ${crush.slaveName}'s access to sexual outlets. After letting the situation marinate for a few days, you decide that the time is ripe, and without any further explanation assign ${crush.slaveName} to spend the day in ${BG.slaveName}'s armory. It's barely midmorning before they're making out on ${BG.slaveName}'s workout mat, and by the afternoon ${crush.slaveName} is under ${BG.slaveName}'s workbench, orally servicing ${his2} new <span class="lightgreen">fuckbuddy</span> as ${he} maintains ${his} machine pistol.`);
 			crush.relationship = 3;
 			crush.relationshipTarget = BG.ID;
 			BG.relationship = 3;
diff --git a/src/events/nonRandom/peacekeepers/pPeacekeepersIndependence.js b/src/events/nonRandom/peacekeepers/pPeacekeepersIndependence.js
index 91e274eda7a0f1b9b7215c448013698281f8f37d..ab91584da812c681cba575e1af714e3fb61a94cf 100644
--- a/src/events/nonRandom/peacekeepers/pPeacekeepersIndependence.js
+++ b/src/events/nonRandom/peacekeepers/pPeacekeepersIndependence.js
@@ -70,7 +70,7 @@ App.Events.PPeacekeepersIndependence = class PPeacekeepersIndependence extends A
 			r.push(`You immediately wire General ${V.peacekeepers.generalName} ${cashFormat(smallAid)}, not an impressive sum by Free Cities standards, but probably enough to turn the scales in his plans to keep his force together as it transitions from old world peacekeeping to autocratic nation building. Soon enough, he'll be able to support his men and women through armed extortion, the original form of taxation and, arguably, the only form of taxation.`);
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`"You have my thanks," he says formally. "We'll be in control here soon enough. The one thing we'll have an almost limitless supply of is people. I don't think anyone's likely to notice a few menial slaves transferred into the Free City. I'm sure a regular trade already exists; we'll just be adding a few undesirables to it." He ends the call, looking determined.Despite his confidence, he has his work cut out for him.`);
+			r.push(`"You have my thanks," he says formally. "We'll be in control here soon enough. The one thing we'll have an almost limitless supply of is people. I don't think anyone's likely to notice a few menial slaves transferred into the Free City. I'm sure a regular trade already exists; we'll just be adding a few undesirables to it." He ends the call, looking determined. Despite his confidence, he has his work cut out for him.`);
 			cashX(-smallAid, "peacekeepers");
 			V.peacekeepers.strength = 50;
 			V.peacekeepers.attitude += 5;
diff --git a/src/events/nonRandom/rival/pRivalInitiation.js b/src/events/nonRandom/rival/pRivalInitiation.js
index 3c405e8756ee8959f96361c8913330496ecdc4ad..0839d0d41813c7150b436679e6974d927c9e0abb 100644
--- a/src/events/nonRandom/rival/pRivalInitiation.js
+++ b/src/events/nonRandom/rival/pRivalInitiation.js
@@ -88,7 +88,7 @@ App.Events.PRivalInitiation = class PRivalInitiation extends App.Events.BaseEven
 			} else {
 				r.push(`the ground,`);
 			}
-			r.push(`and, in full view of the whole arcology, orally rapes someone who was until this week a slaveowner ${himself}. Behind them, ${V.slaves[1].slaveName} is standing ready for ${his2} turn, and all your other slaves stand behind ${him2}. 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 <span class="hotpink">pleased with you</span> for forcing slave.slaveName, whom they still view as a slaveowner, to pleasure them.`);
+			r.push(`and, in full view of the whole arcology, orally rapes someone who was until this week a slaveowner ${himself}. Behind them, ${V.slaves[1].slaveName} is standing ready for ${his2} turn, and all your other slaves stand behind ${him2}. 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 <span class="hotpink">pleased with you</span> for forcing ${slave.slaveName}, whom they still view as a slaveowner, to pleasure them.`);
 			slave.counter.oral += V.slaves.length * 2;
 			V.oralTotal += V.slaves.length * 2;
 			V.slaves.forEach(function(s) { s.devotion += 10; });