diff --git a/src/events/scheduled/seRaiding.js b/src/events/scheduled/seRaiding.js
index 388cb30b8ff737c9036b22f92e55f38b34ff19fd..fa3b784f79f86166a3121be2003f4a5b878b5181 100644
--- a/src/events/scheduled/seRaiding.js
+++ b/src/events/scheduled/seRaiding.js
@@ -14,18 +14,39 @@ App.Events.SERaiding = function() {
 	let _target3;
 	let _origin3;
 	let _targetEscape3;
+	let _MercCaptureL = -4;
+	let _MercCaptureU = 4;
+	let _raidEscapeL = 1;
+	let _raidEscapeU = 3;
+
+	const hasSat = function() {
+		_MercCaptureL += 1;
+		_MercCaptureU += 1;
+		_raidEscapeL -= 1;
+		_raidEscapeU -= 1;
+	};
+
+	const hasPlane = function() {
+		_MercCaptureL += 1;
+		_MercCaptureU += 1;
+		_raidEscapeL -= 1;
+	};
 
 	r.push(`The leader of your ${V.mercenariesTitle} has contacted you from the world outside your arcology. It seems that your ${V.mercenariesTitle} have enjoyed a profitable series of raids in their time outside the arcology and have decided to push their luck by plundering one last location on their way back to the arcology. As their nominal leader, they ask your opinion of a small number of potential targets. Given the distance from the arcology and the time sensitivity of conducting such a mission, you have little to base your decision on besides a brief description.`);
 	if (V.SF.Toggle && V.SF.Active >= 1 && ((V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0) || V.SF.Squad.SpacePlane >= 1)) {
 		r.push(`By having access to the use of ${V.SF.Lower}'s`);
 		if (V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0) {
 			r.push(`satellite`);
+			hasSat();
 		}
 		if (V.SF.Squad.SpacePlane >= 1) {
 			r.push(`space plane`);
+			hasPlane();
 		}
 		if (V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0 && V.SF.Squad.SpacePlane >= 1) {
 			r.push(`satellite and space plane`);
+			hasSat();
+			hasPlane();
 		}
 		r.push(`it is`);
 		if (V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0 && V.SF.Squad.SpacePlane >= 1) {
@@ -33,6 +54,9 @@ App.Events.SERaiding = function() {
 		}
 		r.push(`less likely that the target will escape.`);
 	}
+	const _MercCapture = random(_MercCaptureL, _MercCaptureU);
+	const _raidEscape = random(_raidEscapeL, _raidEscapeU);
+
 	App.Events.addParagraph(el, r);
 	r = [];
 
@@ -223,7 +247,7 @@ App.Events.SERaiding = function() {
 				_slave.muscles = 50;
 				break;
 			case "military soldier":
-				_pram = {disableDisability: 1, minAge: 18};
+				_pram = { disableDisability: 1, minAge: 18 };
 				if (V.pedo_mode === 1) {
 					_pram.ageOverridesPedoMode = 1;
 				} else {
@@ -284,7 +308,7 @@ App.Events.SERaiding = function() {
 				}
 				break;
 			case "nun":
-				_slave = GenerateNewSlave("XX", {maxAge: 70, disableDisability: 1});
+				_slave = GenerateNewSlave("XX", { maxAge: 70, disableDisability: 1 });
 				_slave.career = "a nun";
 				_slave.anus = 0;
 				_slave.vagina = 0;
@@ -357,7 +381,7 @@ App.Events.SERaiding = function() {
 				_slave.weight = random(-40, 40);
 				break;
 			case "classical dancer":
-				_slave = GenerateNewSlave("XX", {maxAge: 20, disableDisability: 1});
+				_slave = GenerateNewSlave("XX", { maxAge: 20, disableDisability: 1 });
 				_slave.career = "a classical dancer";
 				_slave.prestige = 1;
 				_slave.prestigeDesc = "${He} was the pride of renowned dance troupe.";
@@ -375,7 +399,7 @@ App.Events.SERaiding = function() {
 				_slave.weight = random(-100, -10);
 				break;
 			case "law enforcement officer":
-				_pram = {minAge: 18, disableDisability: 1};
+				_pram = { minAge: 18, disableDisability: 1 };
 				if (V.pedo_mode === 1) {
 					_pram.ageOverridesPedoMode = 1;
 				} else {
@@ -407,7 +431,7 @@ App.Events.SERaiding = function() {
 				}
 				break;
 			case "classical musician":
-				_slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1, ageOverridesPedoMode: 1});
+				_slave = GenerateNewSlave("XX", { maxAge: 43, disableDisability: 1, ageOverridesPedoMode: 1 });
 				_slave.career = "a classical musician";
 				_slave.prestige = 1;
 				_slave.prestigeDesc = "${He} was the pride of a renowned orchestra.";
@@ -469,7 +493,7 @@ App.Events.SERaiding = function() {
 				}
 				break;
 			case "shut-in":
-				_slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1});
+				_slave = GenerateNewSlave("XX", { maxAge: 43, disableDisability: 1 });
 				generateSalonModifications(_slave);
 				_slave.career = "a shut-in";
 				_slave.anus = 0;
@@ -525,7 +549,7 @@ App.Events.SERaiding = function() {
 				}
 				break;
 			case "scientist":
-				_slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1});
+				_slave = GenerateNewSlave("XX", { minAge: 28, maxAge: 55, disableDisability: 1 });
 				_slave.career = "a scientist";
 				_slave.face = random(15, 100);
 				_slave.vagina = 1;
@@ -602,11 +626,7 @@ App.Events.SERaiding = function() {
 				r.push(`is the recording studio of a sleepy old world town's local news channel. The news channel itself is unremarkable, a quaint reminder of the tedious life of a small town, save for its news anchor. The anchor stands in stark contrast to ${his} fellow residents by the abundance of ${his} plastic surgery, likely an attempt to cling to youth lest ${his} coveted anchor position be snatched away by a younger ${woman}.`);
 				break;
 			case "classical dancer":
-				r.push(`is the performing arts theater at the heart of an aristocratic old world city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young ${girl}`);
-				if (V.pedo_mode === 0) {
-					r.push(`, barely past ${his} majority,`);
-				}
-				r.push(` whose performance has been said to bring tears to the eyes of audiences the world over.`);
+				r.push(`is the performing arts theater at the heart of an aristocratic old world city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young ${girl}${(V.pedo_mode === 0) ? `, barely past ${his} majority,` : ``} whose performance has been said to bring tears to the eyes of audiences the world over.`);
 				break;
 			case "law enforcement officer":
 				r.push(`is the precinct of a small old world town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for ${his} adherence to the letter of the law despite ${his} small town cop status.`);
@@ -632,19 +652,15 @@ App.Events.SERaiding = function() {
 			case "shut-in":
 				r.push(`is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your ${V.mercenariesTitle} considerable time and effort. The shut-in ${himself} has been a fixture of the landscape for `);
 				if (_slave.visualAge < 13) {
-					r.push(`only a little while`);
+					r.push(`only a little while,`);
 				} else if (_slave.visualAge <= 18) {
-					r.push(`some time`);
+					r.push(`some time,`);
 				} else if (_slave.visualAge <= 32) {
-					r.push(`years`);
+					r.push(`years,`);
 				} else {
-					r.push(`decades`);
+					r.push(`decades,`);
 				}
-				r.push(`, with many speculating that ${he} remains a virgin`);
-				if (_slave.visualAge > 32) {
-					r.push(` despite ${his} mature age`);
-				}
-				r.push(`.`);
+				r.push(`with many speculating that ${he} remains a virgin${(_slave.visualAge > 32) ? ` despite ${his} mature age` : ``}.`);
 				break;
 			case "procuress":
 				r.push(`is a halfway house for vulnerable women operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells ${his} guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress ${himself} as a tempting bonus.`);
@@ -807,27 +823,6 @@ App.Events.SERaiding = function() {
 		const el = new DocumentFragment();
 		const r = [];
 		r.push(`You make your selection and direct your ${V.mercenariesTitle} to attack the target.`);
-
-		let _MercCaptureL = -4;
-		let _MercCaptureU = 4;
-		let _raidEscapeL = 1;
-		let _raidEscapeU = 3;
-
-		if (V.SF.Toggle && V.SF.Active >= 1) {
-			if (V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0) {
-				_MercCaptureL += 1;
-				_MercCaptureU += 1;
-				_raidEscapeL -= 1;
-				_raidEscapeU -= 1;
-			}
-			if (V.SF.Squad.SpacePlane >= 1) {
-				_MercCaptureL += 1;
-				_MercCaptureU += 1;
-				_raidEscapeL -= 1;
-			}
-		}
-		const _MercCapture = random(_MercCaptureL, _MercCaptureU);
-		const _raidEscape = random(_raidEscapeL, _raidEscapeU);
 		const {
 			He,
 			he, his, him, himself, wife, woman