From bb66020534e928a6fe42a713e8efe48fe27612a3 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Mon, 7 Dec 2020 22:09:00 -0500
Subject: [PATCH] 4.0.0 work

---
 src/events/intro/introSummary.js       |  46 ++++-
 src/npc/startingGirls/startingGirls.js | 193 +++++++++++++++++++++
 src/npc/startingGirls/startingGirls.tw | 231 ++++---------------------
 3 files changed, 271 insertions(+), 199 deletions(-)

diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js
index eef4338fd1c..6588e60f125 100644
--- a/src/events/intro/introSummary.js
+++ b/src/events/intro/introSummary.js
@@ -147,10 +147,11 @@ App.Intro.summary = function() {
 								V.PC.skill.medicine = 100;
 								break;
 							case "wealth":
-							case "celebrity":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
 								break;
 							case "trust fund":
 								V.PC.intelligenceImplant = 15;
@@ -158,6 +159,8 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = -50;
 								V.PC.skill.engineering = -50;
 								V.PC.skill.medicine = -50;
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
 								break;
 							case "rich kid":
 								V.PC.intelligenceImplant = 5;
@@ -167,9 +170,12 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -25;
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
 								break;
 							case "capitalist":
 								V.PC.skill.trading = 100;
+								V.PC.muscles = 0;
 								break;
 							case "entrepreneur":
 								V.PC.intelligenceImplant = 15;
@@ -178,6 +184,7 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = -25;
 								V.PC.skill.engineering = -25;
 								V.PC.skill.medicine = -25;
+								V.PC.muscles = 0;
 								break;
 							case "business kid":
 								V.PC.intelligenceImplant = 5;
@@ -186,9 +193,11 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "mercenary":
 								V.PC.skill.warfare = 100;
+								V.PC.muscles = 50;
 								break;
 							case "recruit":
 								V.PC.intelligenceImplant = 15;
@@ -197,6 +206,7 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = -25;
 								V.PC.skill.engineering = -25;
 								V.PC.skill.medicine = -25;
+								V.PC.muscles = 40;
 								break;
 							case "child soldier":
 								V.PC.intelligenceImplant = 0;
@@ -208,6 +218,7 @@ App.Intro.summary = function() {
 								break;
 							case "slaver":
 								V.PC.skill.slaving = 100;
+								V.PC.muscles = 50;
 								break;
 							case "slave overseer":
 								V.PC.intelligenceImplant = 15;
@@ -216,6 +227,7 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = 50;
 								V.PC.skill.engineering = -25;
 								V.PC.skill.medicine = -20;
+								V.PC.muscles = 50;
 								break;
 							case "slave tender":
 								V.PC.intelligenceImplant = 0;
@@ -224,6 +236,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -60;
 								V.PC.skill.hacking = -100;
+								V.PC.muscles = 10;
 								break;
 							case "engineer":
 								V.PC.skill.engineering = 100;
@@ -236,6 +249,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = 50;
 								V.PC.skill.medicine = -25;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 50;
 								break;
 							case "worksite helper":
 								V.PC.intelligenceImplant = 0;
@@ -248,6 +262,7 @@ App.Intro.summary = function() {
 								break;
 							case "medicine":
 								V.PC.skill.medicine = 100;
+								V.PC.muscles = 0;
 								break;
 							case "medical assistant":
 								V.PC.intelligenceImplant = 15;
@@ -257,6 +272,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = 50;
 								V.PC.skill.medicine = -25;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "nurse":
 								V.PC.intelligenceImplant = 5;
@@ -265,8 +281,14 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = -100;
 								V.PC.skill.engineering = -100;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
+								break;
+							case "celebrity":
+								if (V.PC.vagina === 1) {
+									V.PC.vagina = 2;
+								}
+								V.PC.muscles = -20;
 								break;
-							// celebrity
 							case "rising star":
 								V.PC.intelligenceImplant = 15;
 								V.PC.skill.trading = -50;
@@ -274,6 +296,7 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = -50;
 								V.PC.skill.engineering = -50;
 								V.PC.skill.medicine = -50;
+								V.PC.muscles = -20;
 								break;
 							case "child star":
 								V.PC.intelligenceImplant = 0;
@@ -283,9 +306,11 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "BlackHat":
 								V.PC.skill.hacking = 100;
+								V.PC.muscles = -20;
 								break;
 							case "hacker":
 								V.PC.intelligenceImplant = 15;
@@ -295,6 +320,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -50;
 								V.PC.skill.medicine = -50;
 								V.PC.skill.hacking = 50;
+								V.PC.muscles = -20;
 								break;
 							case "script kiddy":
 								V.PC.intelligenceImplant = 5;
@@ -304,6 +330,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = 20;
+								V.PC.muscles = -20;
 								break;
 							case "escort":
 								if (V.PC.vagina >= 0) {
@@ -318,6 +345,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = 10;
 								V.PC.skill.hacking = 10;
+								V.PC.muscles = 0;
 								break;
 							case "prostitute":
 								if (V.PC.vagina >= 0) {
@@ -331,6 +359,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -50;
 								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "child prostitute":
 								if (V.PC.vagina >= 0) {
@@ -345,6 +374,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -80;
+								V.PC.muscles = -20;
 								break;
 							case "servant":
 								V.PC.clothes = "a nice maid outfit";
@@ -358,6 +388,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
 								break;
 							case "handmaiden":
 								V.PC.clothes = "a nice maid outfit";
@@ -371,6 +402,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
 								break;
 							case "child servant":
 								V.PC.clothes = "a nice maid outfit";
@@ -384,6 +416,7 @@ App.Intro.summary = function() {
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
 								break;
 							case "gang":
 								if (V.PC.vagina === 1) {
@@ -395,6 +428,7 @@ App.Intro.summary = function() {
 								V.PC.skill.slaving = 50;
 								V.PC.skill.engineering = -100;
 								V.PC.skill.hacking = 50;
+								V.PC.muscles = 60;
 								break;
 							case "hoodlum":
 								V.PC.intelligenceImplant = 0;
@@ -414,6 +448,14 @@ App.Intro.summary = function() {
 								V.PC.skill.hacking = -100;
 								break;
 						}
+						if (V.PC.rumor === "diligence") {
+							V.PC.weight = 0;
+							if (V.PC.muscles < 30) {
+								V.PC.muscles += 20;
+							}
+						} else if (V.PC.rumor === "force") {
+							V.PC.muscles += 20;
+						}
 					}
 					if (V.saveImported === 1 && V.freshPC === 0 && V.PC.rules.living !== "luxurious") {
 						if (V.PC.rules.living === "spare") {
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 9e0206d1848..cc7fd5b8e8a 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -283,3 +283,196 @@ App.StartingGirls.career = function(slave) {
 	el.append(pullDown);
 	return el;
 };
+
+App.StartingGirls.applyPlayerOrigin = function(slave) {
+	switch (V.PC.career) {
+		case "wealth":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You bet your body on a sure hand, only to lose. It turns out you could fuck yourself, and not only that, get yourself pregnant.";
+				slave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You bet your body on a sure hand, only to lose. Nine months later, your $daughter was born.";
+				slave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "You won a sexual fling with $his mother after winning at cards, a gamble that ultimately burdened you.";
+				slave.custom.tattoo = "$He has a small tattoo of a poor hand of cards on the nape of $his neck.";
+			} else {
+				slave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.";
+				slave.custom.tattoo = "$He has a small tattoo of a winning hand of cards on the nape of $his neck.";
+			}
+			break;
+		case "capitalist":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "To solidify an investment in hermaphrodite self-fertility, you took part in a test successful test trial. Nine months later your $daughter was born.";
+				slave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Sometimes it pays off to use your body in business deals, and other times you end up burdened with child. $He is the result of the latter.";
+				slave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "To seal a business deal, a client asked you to knock her up. $He is the end result of that fling.";
+				slave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a successful venture capitalist.";
+				slave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.";
+			}
+			break;
+		case "mercenary":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.";
+				slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.";
+				slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "A trip to a brothel after a mission resulted in an unexpected surprise years later.";
+				slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a noted private military contractor.";
+				slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			}
+			break;
+		case "slaver":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create $him.";
+				slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "A fresh capture once overpowered you and had his way with you. You kept $him as a painful reminder to never lower your guard again.";
+				slave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.";
+			} else if (slave.father === -1) {
+				slave.origin = "Your slaving troop kept several girls as fucktoys; you sired $him in your favorite.";
+				slave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.";
+			} else {
+				slave.origin = "You enslaved $him personally during the last stages of your slaving career.";
+				slave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.";
+			}
+			break;
+		case "engineer":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You sired $him in yourself after an arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+				slave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You conceived $him after a male arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+				slave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "You sired $him after a female arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+				slave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.";
+			} else {
+				slave.origin = "You received $him as a gift from an arcology owner impressed by your work.";
+				slave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.";
+			}
+			break;
+		case "medicine":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after a successful experiment in hermaphrodite self-reproduction.";
+				slave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was conceived after a botched birth control experiment early in your career.";
+				slave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He is the product of an affair with a cute nurse who assisted you in more ways than one.";
+				slave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			} else {
+				slave.origin = "You kept $him after $his owner failed to pay your bill for performing surgery on $him.";
+				slave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			}
+			break;
+		case "celebrity":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after a night of partying and a drunken bet. $He nearly killed your career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was conceived after a night of partying and a torn condom. $He nearly killed your career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was conceived after a night of partying and a torn condom.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else {
+				slave.origin = "$He was one of your groupies during your celebrity career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.";
+			}
+			break;
+		case "escort":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A client paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that lucrative night.";
+				slave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of unprotected sex with a client. He paid you quite well to enjoy your body as you grew heavy with his child.";
+				slave.custom.tattoo = "$He has the number of times $his father came in you while you were pregnant with $him tattooed down $his back.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was the result of unprotected sex with a client. $His mother tracked you down years after $his birth to force $him upon you.";
+				slave.custom.tattoo = "$He has your name angrily tattooed on $his right shoulder.";
+			} else {
+				slave.origin = "$He was a fellow escort you were popular with.";
+				slave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast. $He got the tattoo after starring in a porno with you.";
+			}
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -5;
+				}
+			}
+			break;
+		case "gang":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.";
+				slave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score.";
+				slave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was born from one of your sex toys you knocked up.";
+				slave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.";
+			} else {
+				slave.origin = "You captured $him during your transition to the arcology";
+				slave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.";
+			}
+			break;
+		case "servant":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Your late Master took pleasure in using his servants in creative ways. He inseminated you with your own sperm, and nine months later, your $daughter was born.";
+				slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was another of your late Master's servants. $He spent nine months in your womb, courtesy of your Master.";
+				slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was another of your late Master's servants. Your Master permitted you to knock up $his mother.";
+				slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			} else if (V.PC.vagina !== -1) {
+				slave.origin = "$He was another of your late Master's servants. $He helped you give birth to his child.";
+				slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			} else {
+				slave.origin = "$He was another of your late Master's servants.";
+				slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			}
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -3;
+				}
+			}
+			break;
+		case "BlackHat":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was the result of a night of hard celebration after a big score under the glow of monitors and the calming hum of 750 RPM fans. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.";
+				slave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of an intruder brute forcing your firewall, overloading your pleasure sensors, and allowing a corrupted packet to slip by. With a quick wipe of your RAM and cache with some powerful liquor, you have no idea who planted $him in your womb.";
+				slave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was born out of a trade for secure data access. Nine months later, your $daughter was born.";
+				slave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.";
+			} else {
+				slave.origin = "$He was a case officer you captured after going dark.";
+				slave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.";
+			}
+			break;
+		default:
+			slave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.";
+			slave.custom.tattoo = "$He has the silhouette of an arcology tattooed on the nape of $his neck.";
+	}
+	if (slave.fetish === "mindbroken") {
+		if (!isAmputee(slave)) {
+			slave.origin = "You brought $him into the arcology mindbroken, little more than a walking collection of fuckable holes.";
+		} else {
+			slave.origin = "You brought $him into the arcology mindbroken, little more than a human onahole.";
+		}
+	}
+};
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index f5de17245bd..d6725d87aad 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -1,5 +1,7 @@
 :: Starting Girls [nobr]
 
+/* Lots of long lists here that will benefit from conversion to switch statements when turned to JS. */
+
 <style>
 .active {
 	background-color: grey;
@@ -12,8 +14,16 @@
 		<<if ($PC.dick != 0) && ($PC.vagina != -1) && ($seeDicks != 0 || $makeDicks == 1)>>
 			Since you have both a penis and a vagina yourself, you've obviously had access to a source of advanced surgery and organ farming. @@.springgreen;Slaves get a smaller cost increase here for having both penises and vaginas, and for having both testicles and ovaries.@@
 		<</if>>
-		<<if $PC.career == "slaver">>
-			Since you personally saw to the capture, breaking and or training of these slaves, @@.springgreen;they cost half of what they normally would have here.@@
+		<<if $PC.career == "slaver" || $PC.career == "slave overseer" || $PC.career == "slave tender">>
+			Since you
+			<<if $PC.career == "slaver">>
+				personally saw to the capture, breaking and or training of
+			<<elseif $PC.career == "slave overseer">>
+				managed the slave pits that processed
+			<<elseif $PC.career == "slave tender">>
+				helped train
+			<</if>>
+			these slaves, @@.springgreen;they cost half of what they normally would have here.@@
 		<</if>>
 	<</if>>
 	<br>Current cash reserves can be found on the far left sidebar.
@@ -183,185 +193,8 @@
 	<</if>>
 <</if>>
 /* this block makes starting girls actually apply the slave origins, mostly since it just hates you and everything you do */
-<<if $originOverride == 0>>
-	<<if $PC.career == "capitalist">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "To solidify an investment in hermaphrodite self-fertility, you took part in a test successful test trial. Nine months later your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "Sometimes it pays off to use your body in business deals, and other times you end up burdened with child. $He is the result of the latter.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "To seal a business deal, a client asked you to knock her up. $He is the end result of that fling.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You acquired $him in the last stages of your career as a successful venture capitalist.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "mercenary">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "A trip to a brothel after a mission resulted in an unexpected surprise years later.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You acquired $him in the last stages of your career as a noted private military contractor.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "slaver">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create $him.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "A fresh capture once overpowered you and had his way with you. You kept $him as a painful reminder to never lower your guard again.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Your slaving troop kept several girls as fucktoys; you sired $him in your favorite.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<<else>>
-			<<set $activeSlave.origin = "You enslaved $him personally during the last stages of your slaving career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<</if>>
-	<<elseif $PC.career == "engineer">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You sired $him in yourself after an arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "You conceived $him after a male arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You sired $him after a female arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You received $him as a gift from an arcology owner impressed by your work.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "escort">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "A client paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that lucrative night.">>
-			<<set $activeSlave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of unprotected sex with a client. He paid you quite well to enjoy your body as you grew heavy with his child.">>
-			<<set $activeSlave.custom.tattoo = "$He has the number of times $his father came in you while you were pregnant with $him tattooed down $his back.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of unprotected sex with a client. $His mother tracked you down years after $his birth to force $him upon you.">>
-			<<set $activeSlave.custom.tattoo = "$He has your name angrily tattooed on $his right shoulder.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was a fellow escort you were popular with.">>
-			<<set $activeSlave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast. $He got the tattoo after starring in a porno with you.">>
-		<</if>>
-		<<if $activeSlave.preg > 0>>
-			<<if $activeSlave.pregSource != -1>>
-				<<set $activeSlave.pregSource = -5>>
-			<</if>>
-		<</if>>
-	<<elseif $PC.career == "gang">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was born from one of your sex toys you knocked up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You captured $him during your transition to the arcology">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "servant">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Your late Master took pleasure in using his servants in creative ways. He inseminated you with your own sperm, and nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. $He spent nine months in your womb, courtesy of your Master.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. Your Master permitted you to knock up $his mother.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $PC.vagina != -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. $He helped you give birth to his child.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<</if>>
-		<<if $activeSlave.preg > 0>>
-			<<if $activeSlave.pregSource != -1>>
-				<<set $activeSlave.pregSource = -3>>
-			<</if>>
-		<</if>>
-	<<elseif $PC.career == "medicine">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a successful experiment in hermaphrodite self-reproduction.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a botched birth control experiment early in your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He is the product of an affair with a cute nurse who assisted you in more ways than one.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<else>>
-			<<set $activeSlave.origin = "You kept $him after $his owner failed to pay your bill for performing surgery on $him.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<</if>>
-	<<elseif $PC.career == "celebrity">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a drunken bet. $He nearly killed your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a torn condom. $He nearly killed your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a torn condom.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was one of your groupies during your celebrity career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.">>
-		<</if>>
-	<<elseif $PC.career == "wealth">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You bet your body on a sure hand, only to lose. It turns out you could fuck yourself, and not only that, get yourself pregnant.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "You bet your body on a sure hand, only to lose. Nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You won a sexual fling with $his mother after winning at cards, a gamble that ultimately burdened you.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a poor hand of cards on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a winning hand of cards on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "BlackHat">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard celebration after a big score under the glow of monitors and the calming hum of 750 RPM fans. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of an intruder brute forcing your firewall, overloading your pleasure sensors, and allowing a corrupted packet to slip by. With a quick wipe of your RAM and cache with some powerful liquor, you have no idea who planted $him in your womb.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was born out of a trade for secure data access. Nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was a case officer you captured after going dark.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<</if>>
-	<<else>>
-		<<set $activeSlave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.">>
-		<<set $activeSlave.custom.tattoo = "$He has the silhouette of an arcology tattooed on the nape of $his neck.">>
-	<</if>>
-	<<if $activeSlave.fetish == "mindbroken">>
-		<<if !isAmputee($activeSlave)>>
-			<<set $activeSlave.origin = "You brought $him into the arcology mindbroken, little more than a walking collection of fuckable holes.">>
-		<<else>>
-			<<set $activeSlave.origin = "You brought $him into the arcology mindbroken, little more than a human onahole.">>
-		<</if>>
-	<</if>>
+<<if $originOverride != 1>>
+	<<run App.StartingGirls.applyPlayerOrigin($activeSlave)>>
 <</if>>
 
 <h2>You are customizing this slave:</h2> <<includeDOM App.Desc.longSlave(V.activeSlave, {market: "generic"})>>
@@ -1096,10 +929,10 @@
 	<br>Custom tattoo: <<textbox "$activeSlave.custom.tattoo" $activeSlave.custom.tattoo "Starting Girls">> //Use complete, capitalized and punctuated sentences.//
 	<br>Custom origin story: <<textbox "$activeSlave.origin" $activeSlave.origin "Starting Girls">> //Use complete, capitalized and punctuated sentences.//
 	<br>Origin override:
-	<<if $originOverride == 0>>
-		@@.red;Disabled@@ [[Enable|Starting Girls][$originOverride = 1]] //Enabling will keep your custom origin and tattoo from being overwritten by Starting Girls.//
-	<<else>>
+	<<if $originOverride == 1>>
 		@@.green;Enabled@@ [[Disable|Starting Girls][$originOverride = 0]] //Disabling will allow Starting Girls to overwrite origins and tattoos with its defaults.//
+	<<else>>
+		@@.red;Disabled@@ [[Enable|Starting Girls][$originOverride = 1]] //Enabling will keep your custom origin and tattoo from being overwritten by Starting Girls.//
 	<</if>>
 	<<if $activeSlave.prestige>>
 		<br>Reason for prestigiousness: <<textbox "$activeSlave.prestigeDesc" $activeSlave.prestigeDesc>> //Use complete, capitalized and punctuated sentences.//
@@ -1190,7 +1023,7 @@
 	<div class="content">
 
 	<<if $cash >= _slaveCost>>
-		<<if $PC.career != "engineer">>
+		<<if $PC.career != "engineer" && $PC.career != "construction" && $PC.career != "worksite helper">>
 			<div class="indent">
 				<<link "Add this slave">>
 					<<set $applyCareerBonus = 1>>
@@ -1198,25 +1031,29 @@
 				<</link>>
 				<span class="note">
 					This will apply your @@.springgreen;career bonus@@ to $him:
-					<<if $PC.career == "capitalist">>
+					<<if $PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid">>
 						one free level of @@.cyan;prostitution skill.@@
-					<<elseif $PC.career == "mercenary">>
-						@@.mediumaquamarine;+10 trust.@@
-					<<elseif $PC.career == "slaver">>
+					<<elseif $PC.career == "mercenary" || $PC.career == "recruit" || $PC.career == "child soldier">>
+						<<if $activeSlave.devotion > 20>>
+							@@.mediumaquamarine;+10 trust.@@
+						<<else>>
+							@@.gold;+10 fear.@@
+						<</if>>
+					<<elseif $PC.career == "slaver" || $PC.career == "slave overseer" || $PC.career == "slave tender">>
 						@@.hotpink;+10 devotion.@@
-					<<elseif $PC.career == "medicine">>
+					<<elseif $PC.career == "medicine" || $PC.career == "medical assistant" || $PC.career == "nurse">>
 						free @@.lime;basic implants.@@
-					<<elseif $PC.career == "celebrity">>
+					<<elseif $PC.career == "celebrity" || $PC.career == "rising star" || $PC.career == "child star">>
 						one free level of @@.cyan;entertainment skill.@@
-					<<elseif $PC.career == "escort">>
+					<<elseif $PC.career == "escort" || $PC.career == "prostitute" || $PC.career == "child prostitute">>
 						two free levels of @@.cyan;sex skills,@@ one free level of @@.cyan;prostitution skill,@@ and one free level of @@.cyan;entertainment skill.@@
-					<<elseif $PC.career == "servant">>
+					<<elseif $PC.career == "servant" || $PC.career == "handmaiden" || $PC.career == "child servant">>
 						@@.mediumaquamarine;+10 trust@@ and @@.hotpink;+10 devotion.@@
-					<<elseif $PC.career == "gang">>
+					<<elseif $PC.career == "gang" || $PC.career == "hoodlum" || $PC.career == "street urchin">>
 						@@.green;+5 health@@ and one free level of @@.cyan;combat skill.@@
-					<<elseif $PC.career == "wealth">>
+					<<elseif $PC.career == "wealth" || $PC.career == "trust fund" || $PC.career == "rich kid">>
 						two free levels of @@.cyan;sex skills.@@
-					<<elseif $PC.career == "BlackHat">>
+					<<elseif $PC.career == "BlackHat" || $PC.career == "hacker" || $PC.career == "script kiddy">>
 						one free level of @@.cyan;intelligence.@@
 					<<else>>
 						@@.hotpink;+10 devotion,@@ one free level of @@.cyan;prostitution skill@@ and @@.cyan;entertainment skill,@@ and two free levels of @@.cyan;sex skills.@@
@@ -1224,7 +1061,7 @@
 				</span>
 			</div>
 		<</if>>
-		<<set _text = $PC.career != "engineer" ? "Add this slave without career bonus" : "Add this slave">>
+		<<set _text = ($PC.career != "engineer" && $PC.career != "construction" && $PC.career != "worksite helper") ? "Add this slave without career bonus" : "Add this slave">>
 		<div class="indent">
 			<<link _text>>
 				<<set $applyCareerBonus = 0>>
-- 
GitLab