diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 3202db3c80717f38a31ae31d3ce2d92f2badaff2..e6a4d7dadc7d3d54076ccd9830a0edaa0a262432 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -817,13 +817,6 @@ App.Data.resetOnNGPlus = {
 	surnamesForbidden: 0,
 	menstruation: 0,
 	FCNNstation: 0,
-	MercenariesMessageSent: 0,
-	SpecialForcesMessageSent: 0,
-	finalChoice: "none",
-	eliteTotal: 12,
-	eliteDead: 0,
-	eliteVegetable: 0,
-	eliteFate: 0,
 	swanSong: 0,
 	swanSongWeek: 99999,
 	failedElite: 0,
diff --git a/src/005-passages/eventsPassages.js b/src/005-passages/eventsPassages.js
index b56f95aef12858eaf8fdbd378df68b227aad09b4..e646b2cb11964dd46deb5774ff7d336bbf7018b0 100644
--- a/src/005-passages/eventsPassages.js
+++ b/src/005-passages/eventsPassages.js
@@ -84,4 +84,4 @@ new App.DomPassage("Gameover",
 	() => {
 		return App.Events.Gameover();
 	}
-);
\ No newline at end of file
+);
diff --git a/src/events/nonRandom/eliteTakeOver.js b/src/events/nonRandom/eliteTakeOver.js
new file mode 100644
index 0000000000000000000000000000000000000000..7f25c98fe1a671f2a26332b37932052d7c011212
--- /dev/null
+++ b/src/events/nonRandom/eliteTakeOver.js
@@ -0,0 +1,695 @@
+App.Events.eliteTakeOver = class eliteTakeOver extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => V.arcologies[0].FSRestart !== "unset",
+			() => V.failedElite > 300,
+			() => V.eugenicsFullControl !== 1
+		];
+	}
+
+	execute(node) {
+		const container = App.UI.DOM.appendNewElement("div", node);
+		let r = [];
+		/* Elites */
+		let eliteTotal = 12;
+		let eliteDead = 0;
+		let eliteVegetable = 0;
+		let mercenariesMessageSent = 0;
+		let specialForcesMessageSent = 0;
+		V.nextButton = " ";
+		const {
+			He,
+			he, his
+		} = getPronouns(S.Bodyguard ? S.Bodyguard : {pronoun: App.Data.Pronouns.Kind.neutral});
+
+		let _pregSurrender = 0; // preg/lobotomization check
+		r.push(`You knew this day would come. Surrounding yourself with powerful people has its boons, but also poses a distinct threat. You've heard them murmuring when you enter the room, you've seen them excuse themselves from your presence, and lately they've been overtly hostile. The Societal Elite${(V.arcologies[0].FSNeoImperialistLaw2 === 1) ? ", likely with the support of your ever-plotting Barons," : ""} have turned on you.`);
+		App.Events.addNode(container, r, "div");
+		r = [];
+		r.push(`You look up from your desk as the locked door to your office unseals, and a dozen individuals brazenly walk into your view.`);
+		if (S.Bodyguard) {
+			r.push(`${S.Bodyguard.slaveName} stands between you and them. A single glare from the leader of the bunch and ${he} backs off, eyes to the ground.`);
+		}
+		App.Events.addNode(container, r, "div");
+		r = [];
+		if (V.PC.pregSource === -1 || V.PC.pregSource === -6) {
+			if (V.PC.refreshmentType === 0) {
+				r.push(`Taking a drag from a fresh ${V.PC.refreshment},`);
+			} else if (V.PC.refreshmentType === 1) {
+				r.push(`Taking a drink of a fresh glass of ${V.PC.refreshment},`);
+			} else if (V.PC.refreshmentType === 2) {
+				r.push(`Taking a bite of a fresh ${V.PC.refreshment},`);
+			} else if (V.PC.refreshmentType === 3) {
+				r.push(`Doing a line of ${V.PC.refreshment},`);
+			} else if (V.PC.refreshmentType === 4) {
+				r.push(`Injecting a hit of ${V.PC.refreshment} into your arm,`);
+			} else if (V.PC.refreshmentType === 5) {
+				r.push(`Swallowing a ${V.PC.refreshment},`);
+			} else if (V.PC.refreshmentType === 6) {
+				r.push(`Placing a tab of ${V.PC.refreshment} under your tongue,`);
+			}
+			r.push(`you greet your rather unwelcome guests.`);
+			App.Events.addParagraph(container, r);
+			r = [];
+			r.push(`"You are no longer worthy of being a part of our society. But you carry within you one of our heirs. A conundrum for some, but we have already solved that problem."`);
+			App.Events.addNode(container, r, "div");
+			r = [];
+			r.push(`What was that last thing he said? It's getting hard to think right. The ${V.PC.refreshment}... Drugged... You collapse onto your desk, unconscious.`);
+			App.Events.addNode(container, r, "div");
+			r = [];
+			if (S.Bodyguard) {
+				r.push(`A sharp pain and a rush of adrenaline drags you back to your senses. Sneaking a peak, you witness ${S.Bodyguard.slaveName} valiantly trying to protect you, despite`);
+				if (hasAnyProstheticLimbs(S.Bodyguard)) {
+					r.push(`${his} cybernetics being locked down.`);
+				} else {
+					r.push(`the overwhelming odds.`);
+				}
+				r.push(`As ${he} and their leader struggle closer to your desk, his revolver and a syringe are dislodged onto your desk. It seems drugging you wasn't their first thought. With ${S.Bodyguard.slaveName}'s risky gamble, your fate has fallen back into your hands.`);
+			} else {
+				r.push(`You'll spend the rest of your life a breeder to the Societal Elite; blinded and muted. More than a slave, but still less than your master. Life isn't so bad, your two most devoted slaves were taken along to keep you happy, and you are treated quite well, possibilities considered. Though once your eggs dry up, odds are your little remaining usefulness will be at an end. Best not to think too much into it.`);
+				_pregSurrender = 1;
+				V.ui = "start";
+				App.Events.addParagraph(container, r);
+				r = [];
+				App.UI.DOM.appendNewElement("p", container, "GAME OVER", "bold");
+			}
+		} else {
+			r.push(`The leader reaches into his jacket and extracts a syringe, you recognize it as a powerful drug used in lobotomies, and places it to your left. From his hip he pulls a revolver, six-chambered, and loads five bullets, spins the chamber, and places it to your right.`);
+			App.Events.addNode(container, r, "div");
+			r = [];
+			r.push(`"You are no longer worthy of being a part of our society. You know you can't be allowed to spread any information. But we are not merciless; one of our members has taken an interest in having you as her pet. You may choose to lose your mind, and service her until she tires of you, or gamble for your life and serve her anyway. Now decide."`);
+		}
+		App.Events.addParagraph(container, r);
+
+		if (_pregSurrender === 0) {
+			App.UI.DOM.appendNewElement("div", container, "You decide to");
+
+			const choices = [];
+			if (S.Bodyguard) {
+				if (V.PC.pregSource === -1 || V.PC.pregSource === -6) {
+					choices.push(new App.Events.Result(null, null, `${S.Bodyguard.slaveName} is already doing everything in ${his} power to save you.`));
+				} else {
+					choices.push(new App.Events.Result(`Attempt to signal ${S.Bodyguard.slaveName}, your bodyguard`, BG));
+				}
+			}
+			if (V.mercenaries >= 1) {
+				choices.push(new App.Events.Result(`Send a message to the leader of the ${V.mercenariesTitle}`, mercenaries));
+			}
+			if (V.SF.Toggle && V.SF.Active >= 1) {
+				choices.push(new App.Events.Result(`Send a message to ${App.SF.SFC()}`, SF));
+			}
+			if (V.PC.pregSource !== -1 && V.PC.pregSource !== -6) {
+				choices.push(new App.Events.Result(`Try and enrage them.`, enrage));
+			}
+			choices.push(new App.Events.Result(`Make a final stand`, finalStand));
+			choices.push(new App.Events.Result(`Give in`, giveIn));
+			App.Events.addResponses(container, choices);
+		}
+		function BG() {
+			$(container).empty().append(eliteTakeOverFight("bodyguard"));
+			return [];
+		}
+		function mercenaries() {
+			$(container).empty().append(eliteTakeOverFight("mercenaries"));
+			return [];
+		}
+		function SF() {
+			$(container).empty().append(eliteTakeOverFight("SF"));
+			return [];
+		}
+		function enrage() {
+			$(container).empty().append(eliteTakeOverFight("enrage"));
+			return [];
+		}
+		function finalStand() {
+			$(container).empty().append(eliteTakeOverFight("final stand"));
+			return [];
+		}
+		function giveIn() {
+			$(container).empty().append(eliteTakeOverFight("give in"));
+			return [];
+		}
+		function eliteTakeOverFight(finalChoice) {
+			const node = new DocumentFragment();
+			let r = [];
+			let _BgSignaled;
+			let _EliteEnraged;
+
+			switch (finalChoice) {
+				case "bodyguard": {
+					const _roll = random(0, 100);
+					if (V.PC.career === "mercenary") {
+						r.push(`As a result of your prior experience as a mercenary you were able to successfully signal ${S.Bodyguard.slaveName} without the Elites noticing.`);
+						_BgSignaled = 1;
+					} else if (V.PC.skill.warfare >= 100 && _roll > 20) {
+						r.push(`As a result of your mastery of warfare you were able to successfully signal ${S.Bodyguard.slaveName} without the Elites noticing.`);
+						_BgSignaled = 1;
+					} else if (V.PC.skill.warfare >= 60 && _roll > 30) {
+						r.push(`As a result of your expertness of warfare you were able to successfully signal ${S.Bodyguard.slaveName} without the Elites noticing.`);
+						_BgSignaled = 1;
+					} else if (V.PC.skill.warfare >= 30 && _roll > 40) {
+						r.push(`As a result of having some skill in warfare you were able to successfully signal ${S.Bodyguard.slaveName} without the elites noticing.`);
+						_BgSignaled = 1;
+					} else if (V.PC.skill.warfare >= 10 && _roll > 50) {
+						r.push(`As a result of having a small amount of skill in warfare you were able to successfully signal ${S.Bodyguard.slaveName} without the Elites noticing.`);
+						_BgSignaled = 1;
+					} else if (V.PC.skill.warfare < 10 && _roll > 60) {
+						r.push(`By blind luck and what little you remember of your lessons in warfare are were able to successfully signal ${S.Bodyguard.slaveName} without the Elites noticing.`);
+						_BgSignaled = 1;
+					} else {
+						r.push(`One of the Elites shouts "What the fuck are you trying to do?" Well, there goes that option.`);
+						_BgSignaled = 0;
+					}
+					App.Events.addNode(node, r, "div");
+					r = [];
+					r.push(`You then pick up the revolver and quickly take aim.`);
+					break;
+				}
+				case "mercenaries":
+					r.push(`You send a quick message to the leader of your ${V.mercenariesTitle}, about your situation, then you pick up the revolver and quickly take aim.`);
+					mercenariesMessageSent = 1;
+					break;
+				case "SF":
+					r.push(`You send a quick message to`);
+					App.SF.SFC();
+					r.push(`about your situation, then you pick up the revolver and quickly take aim.`);
+					specialForcesMessageSent = 1;
+					break;
+				case "enrage":
+					if (["arcology owner", "BlackHat", "capitalist", "celebrity", "child prostitute", "escort", "gang", "hacker", "hoodlum", "medical assistant", "medicine", "prostitute", "rich kid", "rising star", "trust fund", "wealth"].includes(V.PC.career)) {
+						r.push(`You know exactly what to say in order to enrage them.`);
+						_EliteEnraged = 1;
+					} else if (random(0, 100) > 50) {
+						r.push(`You manage to select the right words to enrage them.`);
+						_EliteEnraged = 1;
+					} else {
+						r.push(`You try to enrage them, but your words have had no effect.`);
+						_EliteEnraged = 0;
+					}
+					App.Events.addNode(node, r, "div");
+					r = [];
+					r.push(`You then pick up the revolver and quickly take aim.`);
+					break;
+				case "final stand":
+					r.push(`You pick up the revolver and quickly take aim.`);
+					break;
+				case "give in":
+					r.push(`You pick up the revolver and hold the barrel to your temple.`);
+					break;
+			}
+
+			if (finalChoice === "give in") {
+				if (V.PC.pregSource === -1 || V.PC.pregSource === -6) {
+					r.push(`Screw their plans, you're out of here.`);
+				}
+				r.push(`With a "Bang!" you drop dead.`);
+				V.ui = "start";
+				App.Events.addParagraph(node, r);
+				App.UI.DOM.appendNewElement("p", node, "GAME OVER", "bold");
+			} else {
+				/* PC shooting */
+				/* higher skill means a higher chance to hit due to lower requirements and if the elites are enraged they very slightly become easier targets. */
+				/* 5/6 = 83% rounded down is the chance that it was loaded chamber (simplified version based off the Wikipedia article) */
+
+				/* variables: */
+				/* Revolver */
+				let _revolverChambers = 6;
+				let _revolverBullets = 5;
+
+				/* To Hit chance */
+				let _toHit;
+				if (V.PC.pregSource === -1 || V.PC.pregSource === -6) { /* still woozy */
+					_toHit = 56;
+				} else if (V.PC.career === "mercenary" || V.PC.skill.warfare >= 100) {
+					_toHit = 83;
+				} else if (V.PC.skill.warfare >= 60) {
+					_toHit = 76;
+				} else if (V.PC.skill.warfare >= 30) {
+					_toHit = 67;
+				} else if (V.PC.skill.warfare >= 10) {
+					_toHit = 60;
+				} else {
+					_toHit = 56;
+				}
+				if (_EliteEnraged === 1) {
+					_toHit += 5;
+				}
+
+				/* shooting */
+				/* in the end I removed the messages from the cycle. I don't think having 6 lines of "you shot" is pretty looking. Feel free to re add them in however */
+				for (let _i = _revolverChambers; _i > 0; _i--) {
+					if (random(0, 100) <= _toHit && _revolverBullets > 0) {
+						eliteDead += 1;
+						_revolverBullets -= 1;
+					} else if (_revolverBullets > 0) {
+						_revolverBullets -= 1;
+					}
+				}
+				App.Events.addNode(node, r, "div");
+				r = [];
+				if (eliteDead >= 1) {
+					r.push(`You managed to kill several Elites in rapid succession, leaving the rest in shock and fear.`);
+				} else if (eliteDead === 1) {
+					r.push(`You managed to kill one Elite, leaving the rest in shock and fear.`);
+				} else {
+					r.push(`Unfortunately you fail to kill a single Elite.`);
+				}
+				App.Events.addNode(node, r, "div");
+				r = [];
+
+				/* syringe shot */
+				eliteVegetable = 0;
+				let _druggedThrow = 0;
+
+				if (eliteDead > 0) {
+					r.push(`With ${eliteDead} Elites dead, you pick up the syringe from the desk and aim for the forehead of another.`);
+				} else {
+					r.push(`Having failed to kill them with the revolver, in a desperate move you pick up the syringe from the desk and aim for the forehead of one of the elite.`);
+				}
+				if (V.PC.pregSource === -1 || V.PC.pregSource === -6) {
+					r.push(`But there's two of them... Shaking your head, you realize it's the drugs messing with you. You just need to focus.`);
+				}
+				const hitRoll = (random(0, 100) - _druggedThrow);
+				let syringeHeadShot;
+				if (V.PC.career === "mercenary" && hitRoll > 0) {
+					r.push(`With your prior history as a mercenary, making the throw is child's play.`);
+					syringeHeadShot = 1;
+				} else if (V.PC.skill.warfare >= 100) {
+					if (hitRoll > 50) {
+						r.push(`As a result of your mastery of warfare you successfully made the throw.`);
+						syringeHeadShot = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						syringeHeadShot = 0;
+					}
+				} else if (V.PC.skill.warfare >= 60) {
+					if (hitRoll > 60) {
+						r.push(`As a result of your combat expertise you successfully made the throw.`);
+						syringeHeadShot = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						syringeHeadShot = 0;
+					}
+				} else if (V.PC.skill.warfare >= 30) {
+					if (hitRoll > 70) {
+						r.push(`As you have some skill, you successfully made the throw.`);
+						syringeHeadShot = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						syringeHeadShot = 0;
+					}
+				} else if (V.PC.skill.warfare >= 10) {
+					if (hitRoll > 80) {
+						r.push(`Your small amount of skill assisted you in making the throw.`);
+						syringeHeadShot = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						syringeHeadShot = 0;
+					}
+				} else if (V.PC.skill.warfare < 10) {
+					if (hitRoll > 90) {
+						r.push(`By blind luck you successfully made the throw.`);
+						syringeHeadShot = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						syringeHeadShot = 0;
+					}
+				}
+				App.Events.addNode(node, r, "div");
+				r = [];
+				let _SpentRevolverHitSyringePlunger;
+				if (syringeHeadShot === 1) {
+					r.push(`Picking up the spent revolver, you aim for the syringe's plunger.`);
+					if (V.PC.career === "mercenary") {
+						r.push(`With your prior history as a mercenary, making the throw is child's play.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else if (V.PC.skill.warfare >= 100 && random(0, 100) > 50) {
+						r.push(`As a result of your mastery of warfare you successfully made the throw.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else if (V.PC.skill.warfare >= 60 && random(0, 100) > 60) {
+						r.push(`As a result of your expertness of warfare you successfully made the throw.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else if (V.PC.skill.warfare >= 30 && random(0, 100) > 70) {
+						r.push(`As you have some skill you successfully made the throw.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else if (V.PC.skill.warfare >= 10 && random(0, 100) > 80) {
+						r.push(`Your small amount of skill assisted you in making the throw.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else if (V.PC.skill.warfare < 10 && random(0, 100) > 90) {
+						r.push(`By blind luck you successfully made the throw.`);
+						_SpentRevolverHitSyringePlunger = 1;
+					} else {
+						r.push(`Unfortunately you miss the shot.`);
+						_SpentRevolverHitSyringePlunger = 0;
+					}
+				}
+				App.Events.addNode(node, r, "div");
+				r = [];
+				if (_SpentRevolverHitSyringePlunger === 1) {
+					if (random(0, 100) > 50) {
+						r.push(`The target dies of nervous system overload brought about by the drug.`);
+						eliteDead += 1;
+					} else {
+						r.push(`The target is still alive but is nothing more than a vegetable.`);
+						eliteVegetable = 1;
+					}
+				}
+			}
+
+			let eliteLeft = eliteTotal - eliteDead - eliteVegetable;
+
+			/* if the player has managed to make enough damage to the Elite and the rep is high enough the citizens will come to save the PC */
+			/* this is to give reason to exist for the "enrage" and "last stand" option */
+			/* result							*/
+			/* fate:							*/
+			/*		killed = 0					*/
+			/*		enslaved = 1				*/
+			/*		had fun (and enslaved) = 2	*/
+
+			if (_BgSignaled === 1) {
+				const {title: Master} = getEnunciation(S.Bodyguard);
+				r.push(`${S.Bodyguard.slaveName} asks, "${Master}, what should I do with the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`'Elite' left?"`);
+				App.Events.addNode(node, r, "div");
+				node.append(resultLinks());
+			} else if (mercenariesMessageSent === 1) {
+				r.push(`It is now that a squad of ${V.mercenariesTitle} makes their entrance, pointing their guns at the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`Elite. The officer asks, "Your orders, ${properTitle()}?"`);
+
+				App.Events.addNode(node, r, "div");
+				node.append(resultLinks());
+			} else if (specialForcesMessageSent) {
+				r.push(`It is now that a squad of ${V.SF.Lower} makes their entrance, pointing their guns at the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`Elite. The officer asks, "Your orders, ${properTitle()}?"`);
+
+				node.append(resultLinks());
+			} else if (V.BodyguardID !== 0) {
+				const {title: Master} = getEnunciation(S.Bodyguard);
+				r.push(`It is now that ${S.Bodyguard.slaveName} makes ${his} entrance, pointing ${his} guns at the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`Elite. ${He} then asks "${Master}, what should I do with the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`'Elite' left?"`);
+				node.append(resultLinks());
+			} else if (eliteLeft <= 9 && V.rep >= 10000) {
+				r.push(`Some of the citizens waiting outside your penthouse to see you hear the ruckus and rush inside, worried. Time seems to freeze for a few seconds, while the remaining Elite recover from their terror and the citizens digest the gory scene in front of them.`);
+				r.push(`The newcomers are quick to take your side. In little time the Elites, outgunned and outnumbered, are neutralized.`);
+				App.Events.addNode(node, r, "div");
+				r = [];
+				r.push(`One of the more courageous citizens approaches you and asks "${properTitle()}, what should we do with them?"`);
+				App.Events.addNode(node, r, "div");
+				node.append(resultLinks());
+			} else if (finalChoice !== "give in") {
+				r.push(`With nothing else left, you remain powerless to stop the`);
+				if (eliteLeft < eliteTotal) {
+					r.push(`remaining`);
+				}
+				r.push(`Elite, who quickly capture and enslave you. Your personal story may continue, but the part of it worthy of retelling has now ended.`);
+				V.ui = "start";
+				App.Events.addParagraph(node, r);
+				App.UI.DOM.appendNewElement("p", node, "GAME OVER", "bold");
+			}
+			return node;
+
+			function resultLinks() {
+				const div = document.createElement("div");
+				App.UI.DOM.appendNewElement("div", div, App.UI.DOM.link(
+					"Open fire",
+					() => {
+						$(container).empty().append(eliteTakeOverResult(0));
+					}
+				));
+				App.UI.DOM.appendNewElement("div", div, App.UI.DOM.link(
+					"Enslave them",
+					() => {
+						$(container).empty().append(eliteTakeOverResult(1));
+					}
+				));
+				App.UI.DOM.appendNewElement("div", div, App.UI.DOM.link(
+					"Have fun with them",
+					() => {
+						$(container).empty().append(eliteTakeOverResult(2));
+					}
+				));
+				return div;
+			}
+
+			/**
+			 *
+			 * @param {0|1|2} fate
+			 * @returns {DocumentFragment}
+			 */
+			function eliteTakeOverResult(fate) {
+				const node = new DocumentFragment();
+				let r = [];
+
+				V.nextButton = "Continue";
+				App.Utils.updateUserButton(); /* unlock Continue button */
+
+				const {
+					himU, hisU
+				} = getNonlocalPronouns(V.seeDicks).appendSuffix("U");
+				let _SFHappyEverAfter;
+
+				switch (fate) {
+					case 0:
+						if (mercenariesMessageSent === 1) {
+							r.push(`The mercenaries open fire as ordered. Shortly after, the conspiring Elite are dead.`);
+						} else if (specialForcesMessageSent === 1) {
+							r.push(`The soldiers open fire as ordered. Shortly after, the conspiring Elite are dead.`);
+						} else if (eliteLeft <= 9 && V.rep >= 10000) {
+							r.push(`Your citizens freeze for a second, then obey your orders. Shortly after, the conspiring Elite are dead.`);
+						} else {
+							r.push(`Your bodyguard opens fire as ordered. Shortly after, the conspiring Elite are dead.`);
+						}
+						break;
+					case 1:
+						if (random(0, 100) > 50) {
+							r.push(`An Elite bites down on a cyanide pill hidden in a false tooth and`);
+							if (random(0, 100) > 75) {
+								r.push(`takes the coward's way out (how predictable), frothing at the mouth.`);
+								eliteDead += 1;
+							} else {
+								r.push(`experiences great pain but unfortunately (for them at least) survives.`);
+							}
+						}
+						App.Events.addNode(node, r, "div");
+						r = [];
+						if (mercenariesMessageSent === 1) {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured and enslaved by your mercenaries.`);
+						} else if (specialForcesMessageSent === 1) {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured and enslaved by your soldiers.`);
+						} else if (eliteLeft <= 9 && V.rep >= 10000) {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured and enslaved by your loyal citizens.`);
+						} else {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured and enslaved by your bodyguard.`);
+						}
+						break;
+					case 2:
+						if (random(0, 100) > 50) {
+							r.push(`An Elite bites down on a cyanide pill hidden in a false tooth and`);
+							if (random(0, 100) > 75) {
+								r.push(`takes the coward's way out (how predictable), frothing at the mouth.`);
+								eliteDead += 1;
+							} else {
+								r.push(`experiences great pain but unfortunately (for them at least) survives.`);
+							}
+						}
+						App.Events.addNode(node, r, "div");
+						r = [];
+						if (mercenariesMessageSent === 1) {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured, abused and enslaved. The officer is thankful for giving the troops a chance to let off some stream. Two soldiers decide to double team an Elite; one ass fucks while the other facefucks. Another soldier takes a particular interest in an Elite and politely asks you "${properTitle()}, can I keep ${himU}?"`);
+							App.Events.addNode(node, r, "div");
+
+							App.Events.addResponses(node, [
+								new App.Events.Result(`No`, no),
+								new App.Events.Result(`Yes`, yes)
+							]);
+
+							function no() {
+								return `Your rejection upsets some of them, but their professionalism ensures it isn't visible.`;
+							}
+							function yes() {
+								eliteLeft -= 1;
+								repX(2500, "event");
+								return `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.`;
+							}
+						} else if (specialForcesMessageSent) {
+							r.push(`The`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly captured, abused and enslaved.`);
+							if (V.SF.Depravity <= 0.3) {
+								r.push(`Two soldiers decide to double team an Elite; one gropes ${hisU} ass while the other gropes ${hisU} tits.`);
+							} else if (V.SF.Depravity <= 1.2) {
+								r.push(`Two soldiers decide to double team an Elite; one assfucks while the other facefucks.`);
+							} else {
+								r.push(`Two soldiers decide to double team an Elite; one breaks out their knife and begins to make little breaks in the Elite's skin while the other soldier facefucks them.`);
+							}
+							r.push(`Another soldier takes a particular interest in an Elite and politely asks you "${properTitle()}, can I keep ${himU}?"`);
+							App.Events.addParagraph(node, r);
+							r = [];
+
+							App.Events.addResponses(node, [
+								new App.Events.Result(`No`, no),
+								new App.Events.Result(`Yes`, yes)
+							]);
+
+							function no() {
+								_SFHappyEverAfter = 0;
+								return `Your rejection upsets some of them, but their professionalism ensures it isn't visible.`;
+							}
+							function yes() {
+								eliteLeft -= 1;
+								_SFHappyEverAfter = 1;
+								repX(2500, "event");
+								return `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.`;
+							}
+							if (V.SF.MercCon.CanAttend === -2) {
+								switch (V.SF.Colonel.Core) {
+									case "kind":
+										r.push(`The Colonel is shocked that you would allow her troops to do this but understands that it comes with the territory.`);
+										if (_SFHappyEverAfter === 1) { // TODO: this never worked in tw since this is set by a link that doesn't refresh this content.
+											r.push(`"Thanks for being kind to one of my soldiers."`);
+										}
+										break;
+									case "brazen":
+									case "cruel":
+									case "jaded":
+										r.push(`The Colonel is grateful that you let her troops let off some steam.`);
+										if (_SFHappyEverAfter === 1) {
+											r.push(`"Thanks for being kind to one of my soldiers."`);
+										}
+								}
+							}
+							V.SF.Depravity += 0.05;
+						} else if (eliteLeft <= 9 && V.rep >= 10000) {
+							if (V.arcologies[0].FSDegradationist !== "unset") {
+								r.push(`An evil smile appears on the faces of your loyal citizens, while the surviving Elite freeze in terror. The impromptu festivity will go on for hours, getting more and more depraved.`);
+							} else {
+								r.push(`While some citizens respectfully step out, some join you in the fun. The impromptu festivities will go on for hours, getting more and more depraved.`);
+							}
+						} else {
+							if (S.Bodyguard.fetish === "sadist") {
+								r.push(`${S.Bodyguard.slaveName} gets out ${his} melee weapon and starts to give them many small cuts, the look of pleasure on ${his} face is evident.`);
+							} else {
+								r.push(`${S.Bodyguard.slaveName} ties them and then gets out ${his} melee weapon and starts to abuse them; ${his} face is blank.`);
+							}
+							App.Events.addNode(node, r, "div");
+							r = [];
+							r.push(`Shortly after, the terrified`);
+							if (eliteLeft < eliteTotal) {
+								r.push(`remaining`);
+							}
+							r.push(`Elite are quickly brought away to be officially enslaved.`);
+						}
+				}
+				App.Events.addParagraph(node, r);
+
+				if (fate >= 1) {
+					if (eliteVegetable === 1) {
+						eliteLeft--;
+						let slave;
+						const gender = (V.seeDicks === 100 || (random(1, 100) > 50)) ? "XY" : "XX"; /* 50% chance of getting girl or boy */
+
+						slave = GenerateNewSlave(
+							gender,
+							{
+								minAge: 25, maxAge: V.retirementAge - 2, disableDisability: 1, race: "nonslave"
+							});
+						slave.origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.";
+						slave.career = "a well connected individual";
+						slave.prestige = either(2, 2, 3); /* 33% chance of getting level 3 prestige */
+						slave.prestigeDesc = "$He was once considered influential in society, but now ${he}'s the one getting fucked.";
+						slave.face = random(70, 100);
+						slave.devotion = random(-10, -20);
+						slave.trust = random(-20, -30);
+						if (slave.boobShape === "saggy" || slave.boobShape === "downward-facing") {
+							slave.boobShape = either("perky", "torpedo-shaped", "wide-set");
+						}
+						slave.fetish = "mindbroken";
+						slave.pubicHStyle = "waxed";
+						slave.underArmHStyle = "waxed";
+						slave.anus = 0;
+						slave.weight = random(10, 75);
+						slave.intelligence = random(70, 100);
+						slave.intelligenceImplant = 30;
+						slave.skill.entertainment = 0;
+						slave.skill.whoring = 0;
+						setHealth(slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20));
+						slave.canRecruit = 0;
+						newSlave(slave); /* skip New Slave Intro */
+					}
+					for (let _i = eliteLeft; _i > 0; _i--) {
+						const gender = (V.seeDicks === 100 || (random(1, 100) > 50)) ? "XY" : "XX"; /* 50% chance of getting girl or boy */
+						const slave = GenerateNewSlave(gender, {minAge: 25, maxAge: V.retirementAge - 2, race: "nonslave"});
+						slave.origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.";
+						slave.career = "a well connected individual";
+						slave.prestige = either(2, 2, 3);
+						slave.prestigeDesc = "${He} was once considered influential in society, but now ${he}'s the one getting fucked.";
+						slave.face = random(70, 100);
+						slave.devotion = random(-10, -20);
+						slave.trust = random(-20, -30);
+						if (fate === 2 && random(1, 100) >= 75) { /* 25% chance of getting mindbroken elites if they were abused */
+							slave.fetish = "mindbroken";
+						}
+						if (slave.boobShape === "saggy" || slave.boobShape === "downward-facing") {
+							slave.boobShape = either("perky", "torpedo-shaped", "wide-set");
+						}
+						slave.pubicHStyle = "waxed";
+						slave.underArmHStyle = "waxed";
+						slave.anus = 0;
+						slave.weight = random(-30, 75);
+						slave.intelligence = random(0, 60);
+						slave.intelligenceImplant = 30;
+						slave.skill.entertainment = 0;
+						slave.skill.whoring = 0;
+						setHealth(slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20));
+						slave.canRecruit = 0;
+						slave.behavioralFlaw = either("arrogant", "bitchy");
+						newSlave(slave); /* skip New Slave Intro */
+					}
+				}
+
+				/* clean up */
+				V.failedElite = 0;
+				V.eugenicsFullControl = 1;
+				return node;
+			}
+		}
+	}
+};
diff --git a/src/events/nonRandom/eliteTakeOver.tw b/src/events/nonRandom/eliteTakeOver.tw
deleted file mode 100644
index e9760094422dfc1ae160bd028a0b96eec6470ff2..0000000000000000000000000000000000000000
--- a/src/events/nonRandom/eliteTakeOver.tw
+++ /dev/null
@@ -1,112 +0,0 @@
-:: eliteTakeOver [nobr]
-
-<<set $nextButton = " ">>
-
-<<set _pregSurrender = 0>>
-/* preg/lobotomization check */
-You knew this day would come. Surrounding yourself with powerful people has its boons, but also poses a distinct threat. You've heard them murmuring when you enter the room, you've seen them excuse themselves from your presence, and lately they've been overtly hostile. The Societal Elite<<if $arcologies[0].FSNeoImperialistLaw2 == 1>>, likely with the support of your ever-plotting Barons,<</if>> have turned on you.
-<br>
-You look up from your desk as the locked door to your office unseals, and a dozen individuals brazenly walk into your view.<<if _S.Bodyguard>><<setLocalPronouns _S.Bodyguard>> _S.Bodyguard.slaveName stands between you and them. A single glare from the leader of the bunch and $he backs off, eyes to the ground.<</if>>
-<br>
-<<if $PC.pregSource == -1 || $PC.pregSource == -6>>
-	<<if $PC.refreshmentType == 0>>
-		Taking a drag from a fresh $PC.refreshment,
-	<<elseif $PC.refreshmentType == 1>>
-		Taking a drink of a fresh glass of $PC.refreshment,
-	<<elseif $PC.refreshmentType == 2>>
-		Taking a bite of a fresh $PC.refreshment,
-	<<elseif $PC.refreshmentType == 3>>
-		Doing a line of $PC.refreshment,
-	<<elseif $PC.refreshmentType == 4>>
-		Injecting a hit of $PC.refreshment into your arm,
-	<<elseif $PC.refreshmentType == 5>>
-		Swallowing a $PC.refreshment,
-	<<elseif $PC.refreshmentType == 6>>
-		Placing a tab of $PC.refreshment under your tongue,
-	<</if>>
-	you greet your rather unwelcome guests.
-	<br><br>
-	"You are no longer worthy of being a part of our society. But you carry within you one of our heirs. A conundrum for some, but we have already solved that problem."
-	<br>
-	What was that last thing he said? It's getting hard to think right. The $PC.refreshment... Drugged... You collapse onto your desk, unconscious.
-	<br>
-	<<if _S.Bodyguard>>
-		A sharp pain and a rush of adrenaline drags you back to your senses. Sneaking a peak, you witness _S.Bodyguard.slaveName valiantly trying to protect you, despite <<if hasAnyProstheticLimbs(_S.Bodyguard)>>$his cybernetics being locked down<<else>>the overwhelming odds<</if>>. As $he and their leader struggle closer to your desk, his revolver and a syringe are dislodged onto your desk. It seems drugging you wasn't their first thought. With _S.Bodyguard.slaveName's risky gamble, your fate has fallen back into your hands.
-	<<else>>
-		You'll spend the rest of your life a breeder to the Societal Elite; blinded and muted. More than a slave, but still less than your master. Life isn't so bad, your two most devoted slaves were taken along to keep you happy, and you are treated quite well, possibilities considered. Though once your eggs dry up, odds are your little remaining usefulness will be at an end. Best not to think too much into it.
-		<<set _pregSurrender = 1>>
-		<<set $ui = "start">>
-		<br><br>
-		''GAME OVER''
-	<</if>>
-<<else>>
-	The leader reaches into his jacket and extracts a syringe, you recognize it as a powerful drug used in lobotomies, and places it to your left. From his hip he pulls a revolver, six-chambered, and loads five bullets, spins the chamber, and places it to your right.
-	<br>
-	"You are no longer worthy of being a part of our society. You know you can't be allowed to spread any information. But we are not merciless; one of our members has taken an interest in having you as her pet. You may choose to lose your mind, and service her until she tires of you, or gamble for your life and serve her anyway. Now decide."
-<</if>>
-<br><br>
-<<if _pregSurrender == 0>>
-	<<set $finalChoice = "final stand">>
-	The choice is simple — you will not be a slave.
-	<br>
-	You decide to <span id="fate">make a final stand.</span>
-	<br>
-	<<if _S.Bodyguard>>
-		<br>
-		<<if $PC.pregSource == -1 || $PC.pregSource == -6>>
-			_S.Bodyguard.slaveName is already doing everything in $his power to save you.
-		<<else>>
-			<<link "Attempt to signal _S.Bodyguard.slaveName, your bodyguard">>
-				<<set $finalChoice = "bodyguard">>
-				<<replace "#fate">>
-					attempt to signal _S.Bodyguard.slaveName, your bodyguard.
-				<</replace>>
-			<</link>>
-		<</if>>
-	<</if>>
-	<<if $mercenaries >= 1>>
-		<br>
-		<<link "Send a message to the leader of the $mercenariesTitle">>
-			<<set $finalChoice = "mercenaries">>
-			<<replace "#fate">>
-				send a message to the leader of the $mercenariesTitle.
-			<</replace>>
-		<</link>>
-	<</if>>
-	<<if $SF.Toggle && $SF.Active >= 1>>
-		<br> <<set _N = App.SF.SFC()>>
-		<<link "Send a message to _N">>
-			<<set $finalChoice = "SF">>
-			<<replace "#fate">>
-				send a message to <<print App.SF.SFC()>>.
-			<</replace>>
-		<</link>>
-	<</if>>
-	<<if $PC.pregSource != -1 && $PC.pregSource != -6>>
-		<br>
-		<<link "Try and enrage them.">>
-			<<set $finalChoice = "enrage">>
-			<<replace "#fate">>
-				try and enrage them, baiting them into a vulnerable position.
-			<</replace>>
-		<</link>>
-	<</if>>
-	<br>
-	<<link "Make a final stand">>
-		<<set $finalChoice = "final stand">>
-		<<replace "#fate">>
-			make a final stand.
-		<</replace>>
-	<</link>>
-	<br>
-	<<link "Give in">>
-		<<set $finalChoice = "give in">>
-		<<replace "#fate">>
-			give in.
-		<</replace>>
-	<</link>>
-	<br><br>
-	<<link "Confirm">>
-		<<goto "eliteTakeOverFight">>
-	<</link>>
-<</if>>
diff --git a/src/events/nonRandom/eliteTakeOverFight.tw b/src/events/nonRandom/eliteTakeOverFight.tw
deleted file mode 100644
index 680e22cdd9d63d9b8e05f75384bc67480c345ce4..0000000000000000000000000000000000000000
--- a/src/events/nonRandom/eliteTakeOverFight.tw
+++ /dev/null
@@ -1,306 +0,0 @@
-:: eliteTakeOverFight [nobr]
-
-<<set _shoot = 0>>
-<<switch $finalChoice>>
-<<case "bodyguard">>
-	<<set _roll = random(0,100)>>
-	<<if $career == "mercenary">>
-		As a result of your prior experience as a mercenary you were able to successfully signal _S.Bodyguard.slaveName without the Elites noticing.
-		<<set _BgSignaled = 1>>
-	<<elseif $PC.skill.warfare >= 100 && _roll > 20>>
-		As a result of your mastery of warfare you were able to successfully signal _S.Bodyguard.slaveName without the Elites noticing.
-		<<set _BgSignaled = 1>>
-	<<elseif $PC.skill.warfare >= 60 && _roll > 30>>
-		As a result of your expertness of warfare you were able to successfully signal _S.Bodyguard.slaveName without the Elites noticing.
-		<<set _BgSignaled = 1>>
-	<<elseif $PC.skill.warfare >= 30 && _roll > 40>>
-		As a result of having some skill in warfare you were able to successfully signal _S.Bodyguard.slaveName without the elites noticing.
-		<<set _BgSignaled = 1>>
-	<<elseif $PC.skill.warfare >= 10 && _roll > 50>>
-		As a result of having a small amount of skill in warfare you were able to successfully signal _S.Bodyguard.slaveName without the Elites noticing.
-		<<set _BgSignaled = 1>>
-	<<elseif $PC.skill.warfare < 10 && _roll > 60>>
-		By blind luck and what little you remember of your lessons in warfare are were able to successfully signal _S.Bodyguard.slaveName without the Elites noticing.
-		<<set _BgSignaled = 1>>
-	<<else>>
-		One of the Elites shouts "What the fuck are you trying to do?" Well, there goes that option.
-		<<set _BgSignaled = 0>>
-	<</if>>
-	<br>You then pick up the revolver and quickly take aim.
-<<case "mercenaries">>
-	<br>You send a quick message to the leader of your $mercenariesTitle, about your situation, then you pick up the revolver and quickly take aim.
-	<<set $MercenariesMessageSent = 1>>
-<<case "SF">>
-	<br>You send a quick message to <<print App.SF.SFC()>> about your situation, then you pick up the revolver and quickly take aim.
-	<<set $SpecialForcesMessageSent = 1>>
-<<case "enrage">>
-	<<if ["arcology owner", "BlackHat", "capitalist", "celebrity", "child prostitute", "escort", "gang", "hacker", "hoodlum", "medical assistant", "medicine", "prostitute", "rich kid", "rising star", "trust fund", "wealth"].includes($PC.career)>>
-		You know exactly what to say in order to enrage them.
-		<<set _EliteEnraged = 1>>
-	<<elseif random(0,100) > 50>>
-		You manage to select the right words to enrage them.
-		<<set _EliteEnraged = 1>>
-	<<else>>
-		You try to enrage them, but your words have had no effect.
-		<<set _EliteEnraged = 0>>
-	<</if>>
-	<br>You then pick up the revolver and quickly take aim.
-<<case "final stand">>
-	You pick up the revolver and quickly take aim.
-<<case "give in">>
-	You pick up the revolver and hold the barrel to your temple.
-<</switch>>
-
-<<if $finalChoice == "give in">>
-	<<if $PC.pregSource == -1 || $PC.pregSource == -6>>Screw their plans, you're out of here. <</if>>With a "Bang!" you drop dead.
-	<<set $ui = "start">>
-	<br><br>
-	''GAME OVER''
-<<else>>
-	/* PC shooting */
-	/* higher skill means a higher chance to hit due to lower requirements and if the elites are enraged they very slightly become easier targets. */
-	/* 5/6 = 83% rounded down is the chance that it was loaded chamber (simplified version based off the Wikipedia article) */
-
-	/* variables: */
-	/* Revolver */
-	<<set _revolverChambers = 6>>
-	<<set _revolverBullets = 5>>
-	/*Elites */
-	<<set $eliteTotal = 12>>
-	<<set $eliteDead = 0>>
-	<<set $eliteVegetable = 0>>
-
-	/* To Hit chance */
-	<<if $PC.pregSource == -1 || $PC.pregSource == -6>> /* still woozy */
-		<<set _toHit = 56>>
-	<<elseif $PC.skill.career == "mercenary" || $PC.skill.warfare >= 100>>
-		<<set _toHit = 83>>
-	<<elseif $PC.skill.warfare >= 60>>
-		<<set _toHit = 76>>
-	<<elseif $PC.skill.warfare >= 30>>
-		<<set _toHit = 67>>
-	<<elseif $PC.skill.warfare >= 10>>
-		<<set _toHit = 60>>
-	<<else>>
-		<<set _toHit = 56>>
-	<</if>>
-	<<if _EliteEnraged == 1>>
-		<<set _toHit += 5>>
-	<</if>>
-
-	/* shooting */
-	/* in the end I removed the messages from the cycle. I don't think having 6 lines of "you shot" is pretty looking. Feel free to re add them in however */
-	<<for _i = _revolverChambers; _i > 0; _i-->>
-		<<if random(0,100) <= _toHit && _revolverBullets > 0>>
-			<<set $eliteDead += 1, _revolverBullets -= 1>>
-		<<elseif _revolverBullets > 0>>
-			<<set _revolverBullets -= 1>>
-		<</if>>
-	<</for>>
-
-	<<if $eliteDead >= 1>>
-		<br>You managed to kill several Elites in rapid succession, leaving the rest in shock and fear.
-	<<elseif $eliteDead == 1>>
-		<br>You managed to kill one Elite, leaving the rest in shock and fear.
-	<<else>>
-		<br>Unfortunately you fail to kill a single Elite.
-	<</if>>
-	<br>
-
-	/* syringe shot */
-	<<set $eliteVegetable = 0>>
-	<<set _druggedThrow = 0>>
-
-	<<if $eliteDead > 0>>
-		With $eliteDead Elites dead, you pick up the syringe from the desk and aim for the forehead of another.
-	<<else>>
-		Having failed to kill them with the revolver, in a desperate move you pick up the syringe from the desk and aim for the forehead of one of the elite.
-	<</if>>
-	<<if $PC.pregSource == -1 || $PC.pregSource == -6>>But there's two of them... Shaking your head, you realize it's the drugs messing with you. You just need to focus.<</if>>
-	<<set _hitRoll = (random(0,100) - _druggedThrow)>>
-	<<if $career == "mercenary" && _hitRoll > 0>>
-		With your prior history as a mercenary, making the throw is child's play.
-		<<set _SyringeHeadShot = 1>>
-	<<elseif $PC.skill.warfare >= 100>>
-		<<if _hitRoll > 50>>
-			As a result of your mastery of warfare you successfully made the throw.
-			<<set _SyringeHeadShot = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SyringeHeadShot = 0>>
-		<</if>>
-	<<elseif $PC.skill.warfare >= 60>>
-		<<if _hitRoll > 60>>
-			As a result of your combat expertise you successfully made the throw.
-			<<set _SyringeHeadShot = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SyringeHeadShot = 0>>
-		<</if>>
-	<<elseif $PC.skill.warfare >= 30>>
-		<<if _hitRoll > 70>>
-			As you have some skill, you successfully made the throw.
-			<<set _SyringeHeadShot = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SyringeHeadShot = 0>>
-		<</if>>
-	<<elseif $PC.skill.warfare >= 10>>
-		<<if _hitRoll > 80>>
-			Your small amount of skill assisted you in making the throw.
-			<<set _SyringeHeadShot = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SyringeHeadShot = 0>>
-		<</if>>
-	<<elseif $PC.skill.warfare < 10>>
-		<<if _hitRoll > 90>>
-			By blind luck you successfully made the throw.
-			<<set _SyringeHeadShot = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SyringeHeadShot = 0>>
-		<</if>>
-	<</if>>
-	<<if _SyringeHeadShot == 1>>
-		<br>
-		Picking up the spent revolver, you aim for the syringe's plunger.
-		<<if $career == "mercenary">>
-			With your prior history as a mercenary, making the throw is child's play.
-			<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<elseif $PC.skill.warfare >= 100 && random(0,100) > 50>>
-			As a result of your mastery of warfare you successfully made the throw.
-			<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<elseif $PC.skill.warfare >= 60 && random(0,100) > 60>>
-			As a result of your expertness of warfare you successfully made the throw.
-			<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<elseif $PC.skill.warfare >= 30 && random(0,100) > 70>>
-			As you have some skill you successfully made the throw.
-		<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<elseif $PC.skill.warfare >= 10 && random(0,100) > 80>>
-			Your small amount of skill assisted you in making the throw.
-			<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<elseif $PC.skill.warfare < 10 && random(0,100) > 90>>
-			By blind luck you successfully made the throw.
-			<<set _SpentRevolverHitSyringePlunger = 1>>
-		<<else>>
-			Unfortunately you miss the shot.
-			<<set _SpentRevolverHitSyringePlunger = 0>>
-		<</if>>
-	<</if>>
-	<<if _SpentRevolverHitSyringePlunger == 1>>
-		<br>
-		<<if random(0,100) > 50>>
-			The target dies of nervous system overload brought about by the drug.
-			<<set $eliteDead +=1>>
-		<<else>>
-			The target is still alive but is nothing more than a vegetable.
-			<<set $eliteVegetable = 1>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<set $eliteLeft = $eliteTotal - $eliteDead - $eliteVegetable>>
-
-/* if the player has managed to make enough damage to the Elite and the rep is high enough the citizens will come to save the PC */
-/* this is to give reason to exist for the "enrage" and "last stand" option */
-/* result							*/
-/* $eliteFate:						*/
-/*		killed = 0					*/
-/*		enslaved = 1				*/
-/*		had fun (and enslaved) = 2	*/
-<<if _BgSignaled == 1>>
-	<<setLocalPronouns _S.Bodyguard>>
-	<<run Enunciate(_S.Bodyguard)>>
-	_S.Bodyguard.slaveName asks, "<<Master>>, what <<sh>>ould I do with the <<if $eliteLeft < $eliteTotal>>remaining<</if>> 'Elite' left?"
-	<br>
-	<<link "Open fire">>
-		<<set $eliteFate = 0>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br>
-	<<link "Enslave them">>
-		<<set $eliteFate = 1>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br><<link "Have fun with them them">>
-		<<set $eliteFate = 2>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-<<elseif $MercenariesMessageSent == 1>>
-	It is now that a squad of $mercenariesTitle makes their entrance, pointing their guns at the <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite.
-	The officer asks, "Your orders, <<= properTitle()>>?"
-	<br>
-	<<link "Open fire">>
-		<<set $eliteFate = 0>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br>
-	<<link "Enslave them">>
-		<<set $eliteFate = 1>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br><<link "Have fun with them them">>
-		<<set $eliteFate = 2>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-<<elseif $SpecialForcesMessageSent>>
-	It is now that a squad of $SF.Lower makes their entrance, pointing their guns at the <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite.
-	The officer asks, "Your orders, <<= properTitle()>>?"
-	<br>
-	<<link "Open fire">>
-		<<set $eliteFate = 0>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br>
-	<<link "Enslave them">>
-		<<set $eliteFate = 1>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br><<link "Have fun with them them">>
-		<<set $eliteFate = 2>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-<<elseif $BodyguardID != 0>>
-	<<setLocalPronouns _S.Bodyguard>>
-	<<run Enunciate(_S.Bodyguard)>>
-	It is now that _S.Bodyguard.slaveName makes $his entrance, pointing $his guns at the <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite.
-	$He then asks "<<Master>>, what <<sh>>ould I do with the <<if $eliteLeft < $eliteTotal>>remaining<</if>> 'Elite' left?"
-	<br>
-	<<link "Open fire">>
-		<<set $eliteFate = 0>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br>
-	<<link "Enslave them">>
-		<<set $eliteFate = 1>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br><<link "Have fun with them them">>
-		<<set $eliteFate = 2>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-<<elseif $eliteLeft <= 9 && $rep >= 10000>>
-	Some of the citizens waiting outside your penthouse to see you hear the ruckus and rush inside, worried. Time seems to freeze for a few seconds, while the remaining Elite recover from their terror and the citizens digest the gory scene in front of them.
-	The newcomers are quick to take your side. In little time the Elites, outgunned and outnumbered, are neutralized.
-	<br>One of the more courageous citizens approaches you and asks "<<= properTitle()>>, what should we do with them?"
-	<br>
-	<<link "Open fire">>
-		<<set $eliteFate = 0>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br>
-	<<link "Enslave them">>
-		<<set $eliteFate = 1>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-	<br><<link "Have fun with them them">>
-		<<set $eliteFate = 2>>
-		<<goto "eliteTakeOverResult">>
-	<</link>>
-<<elseif $finalChoice != "give in">>
-	With nothing else left, you remain powerless to stop the <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite, who quickly capture and enslave you. Your personal story may continue, but the part of it worthy of retelling has now ended.
-	<<set $ui = "start">>
-	<br><br>
-	''GAME OVER''
-<</if>>
diff --git a/src/events/nonRandom/eliteTakeOverResult.tw b/src/events/nonRandom/eliteTakeOverResult.tw
deleted file mode 100644
index 692ba0770ac9992f35d1b434194a176c2e3889db..0000000000000000000000000000000000000000
--- a/src/events/nonRandom/eliteTakeOverResult.tw
+++ /dev/null
@@ -1,192 +0,0 @@
-:: eliteTakeOverResult [nobr]
-
-<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
-
-<<if _S.Bodyguard>>
-	<<setLocalPronouns _S.Bodyguard>>
-<</if>>
-<<setNonlocalPronouns $seeDicks>>
-
-<<switch $eliteFate>>
-<<case 0>>
-	<<if $MercenariesMessageSent == 1>>
-		The mercenaries open fire as ordered. Shortly after, the conspiring Elite are dead.
-	<<elseif $SpecialForcesMessageSent == 1>>
-		The soldiers open fire as ordered. Shortly after, the conspiring Elite are dead.
-	<<elseif $eliteLeft <= 9 && $rep >= 10000>>
-		Your citizens freeze for a second, then obey your orders. Shortly after, the conspiring Elite are dead.
-	<<else>>
-		Your bodyguard opens fire as ordered. Shortly after, the conspiring Elite are dead.
-	<</if>>
-<<case 1>>
-	<<if random(0,100) > 50>>
-		An Elite bites down on a cyanide pill hidden in a false tooth and
-		<<if random(0,100) > 75>>
-			takes the coward's way out (how predictable), frothing at the mouth.
-			<<set $eliteDead += 1>>
-		<<else>>
-			experiences great pain but unfortunately (for them at least) survives.
-		<</if>>
-	<</if>>
-	<<if $MercenariesMessageSent == 1>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured and enslaved by your mercenaries.
-	<<elseif $SpecialForcesMessageSent == 1>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured and enslaved by your soldiers.
-	<<elseif $eliteLeft <= 9 && $rep >= 10000>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured and enslaved by your loyal citizens.
-	<<else>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured and enslaved by your bodyguard.
-	<</if>>
-<<case 2>>
-	<<if random(0,100) > 50>>
-			An Elite bites down on a cyanide pill hidden in a false tooth and
-		<<if random(0,100) > 75>>
-			takes the coward's way out (how predictable), frothing at the mouth.
-			<<set $eliteDead += 1>>
-		<<else>>
-			experiences great pain but unfortunately (for them at least) survives.
-		<</if>>
-	<</if>>
-	<<if $MercenariesMessageSent == 1>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured, abused and enslaved.
-		The officer is thankful for giving the troops a chance to let off some stream. Two soldiers decide to double team an Elite; one ass fucks while the other facefucks.
-		Another soldier takes a particular interest in an Elite and politely asks you
-		"<<= properTitle()>>, can I keep _himU?"
-		<br><span id="choice1">
-			<<link "No">>
-				<<replace "#choice1">>
-					Your rejection upsets some of them, but their professionalism ensures it isn't visible.
-				<</replace>>
-			<</link>>
-			|
-			<<link "Yes">>
-				<<set $eliteLeft -= 1>>
-				<<run repX(2500, "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>>
-			<</link>>
-		</span>
-	<<elseif $SpecialForcesMessageSent>>
-		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly captured, abused and enslaved.
-		<<if $SF.Depravity <= 0.3>>
-			Two soldiers decide to double team an Elite; one gropes _hisU ass while the other gropes _hisU tits.
-		<<elseif $SF.Depravity <= 1.2>>
-			Two soldiers decide to double team an Elite; one assfucks while the other facefucks.
-		<<else>>
-			Two soldiers decide to double team an Elite; one breaks out their knife and begins to make little breaks in the Elite's skin while the other soldier facefucks them.
-		<</if>>
-		Another soldier takes a particular interest in an Elite and politely asks you "<<= properTitle()>>, can I keep _himU?"
-		<br><span id="choice1">
-			<<link "No">>
-				<<set _SFHappyEverAfter = 0>>
-				<<replace "#choice1">>
-					Your rejection upsets some of them, but their professionalism ensures it isn't visible.
-				<</replace>>
-			<</link>>
-			|
-			<<link "Yes">>
-				<<set $eliteLeft -= 1, _SFHappyEverAfter = 1>>
-				<<run repX(2500, "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>>
-			<</link>>
-		</span>
-		<<if $SF.MercCon.CanAttend === -2>>
-			<<switch $SF.Colonel.Core>>
-			<<case "kind">>
-				The Colonel is shocked that you would allow her troops to do this but understands that it comes with the territory.<<if _SFHappyEverAfter == 1>> "Thanks for being kind to one of my soldiers."<</if>>
-			<<case "brazen" "cruel" "jaded">>
-				The Colonel is grateful that you let her troops let off some steam.<<if _SFHappyEverAfter == 1>> "Thanks for being kind to one of my soldiers."<</if>>
-			<</switch>>
-		<</if>>
-		<<set $SF.Depravity += 0.05>>
-	<<elseif $eliteLeft <= 9 && $rep >= 10000>>
-		<<if $arcologies[0].FSDegradationist != "unset">>
-			An evil smile appears on the faces of your loyal citizens, while the surviving Elite freeze in terror. The impromptu festivity will go on for hours, getting more and more depraved.
-		<<else>>
-			While some citizens respectfully step out, some join you in the fun. The impromptu festivities will go on for hours, getting more and more depraved.
-		<</if>>
-	<<else>>
-		<<if _S.Bodyguard.fetish == "sadist">>_S.Bodyguard.slaveName gets out $his melee weapon and starts to give them many small cuts, the look of pleasure on $his face is evident.<<else>>_S.Bodyguard.slaveName ties them and then gets out $his melee weapon and starts to abuse them; $his face is blank.<</if>>
-		<br>Shortly after, the terrified <<if $eliteLeft < $eliteTotal>>remaining<</if>> Elite are quickly brought away to be officially enslaved.
-	<</if>>
-<</switch>>
-
-<<if $eliteFate >= 1>>
-	<<if $eliteVegetable == 1>>
-		<<set $eliteLeft-->>
-		<<if $seeDicks == 0>>
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
-		<<elseif $seeDicks == 100>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
-		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
-		<<else>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
-		<</if>>
-		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
-		<<set _slave.origin = _origin>>
-		<<set _slave.career = "a well connected individual">>
-		<<set _slave.prestige = either(2,2,3)>> /* 33% chance of getting level 3 prestige */
-		<<set _slave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
-		<<set _slave.face = random(70,100)>>
-		<<set _slave.devotion = random(-10,-20)>>
-		<<set _slave.trust = random(-20,-30)>>
-		<<if _slave.boobShape == "saggy" || _slave.boobShape == "downward-facing">>
-			<<set _slave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
-		<</if>>
-		<<set _slave.fetish = "mindbroken">>
-		<<set _slave.pubicHStyle = "waxed">>
-		<<set _slave.underArmHStyle = "waxed">>
-		<<set _slave.anus = 0>>
-		<<set _slave.weight = random(10,75)>>
-		<<set _slave.intelligence = random(70,100)>>
-		<<set _slave.intelligenceImplant = 30>>
-		<<set _slave.skill.entertainment = 0>>
-		<<set _slave.skill.whoring = 0>>
-		<<run setHealth(_slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
-		<<set _slave.canRecruit = 0>>
-		<<run newSlave(_slave)>> /* skip New Slave Intro */
-	<</if>>
-	<<for _i = $eliteLeft; _i > 0; _i-->>
-		<<if $seeDicks == 0>>
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
-		<<elseif $seeDicks == 100>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
-		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
-		<<else>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
-		<</if>>
-		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
-		<<set _slave.origin = _origin>>
-		<<set _slave.career = "a well connected individual">>
-		<<set _slave.prestige = either(2,2,3)>>
-		<<set _slave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
-		<<set _slave.face = random(70,100)>>
-		<<set _slave.devotion = random(-10,-20)>>
-		<<set _slave.trust = random(-20,-30)>>
-		<<if $eliteFate == 2 && random(1,100) >= 75>> /* 25% chance of getting mindbroken elites if they were abused */
-			<<set _slave.fetish = "mindbroken">>
-		<</if>>
-		<<if _slave.boobShape == "saggy" || _slave.boobShape == "downward-facing">>
-			<<set _slave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
-		<</if>>
-		<<set _slave.pubicHStyle = "waxed">>
-		<<set _slave.underArmHStyle = "waxed">>
-		<<set _slave.anus = 0>>
-		<<set _slave.weight = random(-30,75)>>
-		<<set _slave.intelligence = random(0,60)>>
-		<<set _slave.intelligenceImplant = 30>>
-		<<set _slave.skill.entertainment = 0>>
-		<<set _slave.skill.whoring = 0>>
-		<<run setHealth(_slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
-		<<set _slave.canRecruit = 0>>
-		<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
-		<<run newSlave(_slave)>> /* skip New Slave Intro */
-	<</for>>
-<</if>>
-
-<<set $failedElite = 0, $eugenicsFullControl = 1>> /* clean up */
\ No newline at end of file
diff --git a/src/events/nonRandomEvent.js b/src/events/nonRandomEvent.js
index c2aa244677f332e5e3791728352ffd1803c0a089..e078f842cab6fbb32a700bf09d72b74736fab799 100644
--- a/src/events/nonRandomEvent.js
+++ b/src/events/nonRandomEvent.js
@@ -119,6 +119,9 @@ App.Events.getNonrandomEvents = function() {
 		new App.Events.SEProjectNMoMoney(),
 		new App.Events.SEProjectNSaboteur(),
 		new App.Events.SEProjectNTechRelease(),
+
+		// Elite
+		new App.Events.eliteTakeOver(),
 	];
 };
 
@@ -232,8 +235,6 @@ globalThis.nonRandomEvent = function() {
 			setTimeout(() => Engine.play("SE assholeknight"), Engine.minDomActionDelay);
 		} else if (V.SF.Toggle && V.SF.Active === -1 && effectiveWeek >= 72) {
 			setTimeout(() => Engine.play("Security Force Proposal"), Engine.minDomActionDelay);
-		} else if (V.arcologies[0].FSRestart !== "unset" && V.failedElite > 300 && V.eugenicsFullControl !== 1) {
-			setTimeout(() => Engine.play("eliteTakeOver"), Engine.minDomActionDelay);
 		} else if (effectiveWeek > 5 && V.rep > 3000 && V.FSAnnounced === 0) {
 			setTimeout(() => Engine.play("P FS Announcement"), Engine.minDomActionDelay);
 		} else if (effectiveWeek > 45 && V.bodyswapAnnounced === 0 && V.surgeryUpgrade === 1) {