From 5b67a7470bcb135484cc84fc6b4f60882d2bd90d Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 4 Dec 2020 12:45:21 -0500
Subject: [PATCH] 4.0.0 work

---
 player variables documentation - Pregmod.txt |   8 +-
 src/events/intro/initNationalities.js        | 148 +++++++++---
 src/events/intro/introSummary.js             | 242 ++++++++++++++++++-
 3 files changed, 349 insertions(+), 49 deletions(-)

diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt
index 4c807878d05..1eddbc1385a 100644
--- a/player variables documentation - Pregmod.txt	
+++ b/player variables documentation - Pregmod.txt	
@@ -91,6 +91,10 @@ Your career before becoming owner
 "rising star"
 "celebrity"
 
+"script kiddy"
+"hacker"
+"BlackHat"
+
 "child prostitute"
 "prostitute"
 "escort"
@@ -103,10 +107,6 @@ Your career before becoming owner
 "hoodlum"
 "gang"
 
-"script kiddy"
-"hacker"
-"BlackHat"
-
 "arcology owner"
 
 rumor:
diff --git a/src/events/intro/initNationalities.js b/src/events/intro/initNationalities.js
index e484c6a4aa1..c22e96ea58d 100644
--- a/src/events/intro/initNationalities.js
+++ b/src/events/intro/initNationalities.js
@@ -22,39 +22,121 @@ App.Intro.initNationalities = function() {
 		resetEyeColor(V.PC);
 		generatePlayerPronouns(V.PC);
 
-		if (V.PC.career === "wealth") {
-			V.trinkets.push("a collection of diplomas from expensive schools");
-			cashX(10000, "personalBusiness");
-		} else if (V.PC.career === "capitalist") {
-			V.trinkets.push("a framed low denomination piece of paper money from your native country");
-		} else if (V.PC.career === "mercenary") {
-			V.trinkets.push("a battered old assault rifle");
-		} else if (V.PC.career === "slaver") {
-			V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
-		} else if (V.PC.career === "engineer") {
-			V.trinkets.push("an artist's impression of an early arcology design");
-			V.arcologyUpgrade.drones = 1;
-			V.arcologyUpgrade.hydro = 1;
-			if (V.secExpEnabled > 0) {
-				V.secBots = App.SecExp.generateUnit("bots");
-			}
-		} else if (V.PC.career === "medicine") {
-			V.trinkets.push("a framed postsurgical x-ray");
-			V.surgeryCost = Math.trunc(V.surgeryCost/2);
-		} else if (V.PC.career === "celebrity") {
-			V.trinkets.push("a framed copy of the first news story featuring yourself");
-			repX(4000, "event");
-		} else if (V.PC.career === "arcology owner") {
-			V.trinkets.push("a miniature model of your first arcology");
-			repX(2000, "event");
-		} else if (V.PC.career === "escort") {
-			V.trinkets.push("a copy of the first porno you starred in");
-		} else if (V.PC.career === "servant") {
-			V.trinkets.push("a framed picture of your late Master");
-		} else if (V.PC.career === "gang") {
-			V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
-		} else if (V.PC.career === "BlackHat") {
-			V.trinkets.push("a news clipping of your first successful live hack");
+		switch(V.PC.career) {
+			case "arcology owner":
+				V.trinkets.push("a miniature model of your first arcology");
+				repX(2000, "event");
+				break;
+			case "wealth":
+				V.trinkets.push("a collection of diplomas from expensive schools");
+				cashX(10000, "personalBusiness");
+				break;
+			case "trust fund":
+				V.trinkets.push("a diploma from your expensive boarding school");
+				cashX(8000, "personalBusiness");
+				break;
+			case "rich kid":
+				V.trinkets.push("an extensive collection of pricey Old World trading cards.");
+				cashX(6000, "personalBusiness");
+				break;
+			case "capitalist":
+			case "entrepreneur":
+			case "business kid":
+				V.trinkets.push("a framed low denomination piece of paper money from your native country");
+				break;
+			case "mercenary":
+				V.trinkets.push("a battered old assault rifle");
+				break;
+			case "recruit":
+				V.trinkets.push("a battered old pistol");
+				break;
+			case "child soldier":
+				V.trinkets.push("a combat knife");
+				break;
+			case "slaver":
+				V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
+				break;
+			case "slave overseer":
+				V.trinkets.push("a framed picture of slave pens you used to lord over");
+				break;
+			case "slave tender":
+				V.trinkets.push("a framed picture of you hosing down a slave for market");
+				break;
+			case "engineer":
+				V.trinkets.push("an artist's impression of an early arcology design");
+				V.arcologyUpgrade.drones = 1;
+				V.arcologyUpgrade.hydro = 1;
+				if (V.secExpEnabled > 0) {
+					V.secBots = App.SecExp.generateUnit("bots");
+				}
+				break;
+			case "construction":
+				V.trinkets.push("the blueprints of a proto-arcology you helped construct");
+				V.arcologyUpgrade.drones = 1;
+				if (V.secExpEnabled > 0) {
+					V.secBots = App.SecExp.generateUnit("bots");
+				}
+			case "worksite helper":
+				V.trinkets.push("the hardhat you used to wear around worksites");
+				break;
+			case "medicine":
+				V.trinkets.push("a framed postsurgical x-ray");
+				V.surgeryCost = Math.trunc(V.surgeryCost / 2);
+				break;
+			case "medical assistant":
+				V.trinkets.push("your personal set of surgical tools");
+				break;
+			case "nurse":
+				V.trinkets.push("a framed picture of you outside the clinic you worked in");
+				break;
+			case "celebrity":
+				V.trinkets.push("a framed copy of the first news story featuring yourself");
+				repX(4000, "event");
+				break;
+			case "rising star":
+				V.trinkets.push("a framed poster of the first movie you starred in");
+				repX(3000, "event");
+				break;
+			case "child star":
+				V.trinkets.push("a copy of the movie that gave you fame");
+				repX(2000, "event");
+				break;
+			case "BlackHat":
+				V.trinkets.push("a news clipping of your first successful live hack");
+				break;
+			case "hacker":
+				V.trinkets.push("an old USB stick that ruined a corporation");
+				break;
+			case "script kiddy":
+				V.trinkets.push("a CD containing your first foray into scripting");
+				break;
+			case "escort":
+				V.trinkets.push("a copy of the first porno you starred in");
+				break;
+			case "prostitute":
+				V.trinkets.push("a nude pinup of you from the brothel you used to work in");
+				break;
+			case "child prostitute":
+				V.trinkets.push("a pair of your used underwear");
+				break;
+			case "servant":
+				V.trinkets.push("a framed picture of your late Master");
+				break;
+			case "handmaiden":
+				V.trinkets.push("a framed picture of your late Master's family");
+				break;
+			case "child servant":
+				V.trinkets.push("a framed picture of your late Master patting your head");
+				break;
+			case "gang":
+				V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
+				break;
+			case "hoodlum":
+				V.trinkets.push("a hood ornament stolen from a fancy Old World vehicle");
+				break;
+			case "street urchin":
+				V.trinkets.push("your trusty knife, whose kept you safe many a night");
+				break;
 		}
 
 		if (V.PC.rumor === "wealth") {
diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js
index ca397aefc67..493156a1daa 100644
--- a/src/events/intro/introSummary.js
+++ b/src/events/intro/introSummary.js
@@ -138,49 +138,193 @@ App.Intro.summary = function() {
 				() => {
 					if (V.freshPC === 1 || V.saveImported === 0) {
 						switch (V.PC.career) {
+							case "arcology owner":
+								V.PC.skill.trading = 100;
+								V.PC.skill.warfare = 100;
+								V.PC.skill.hacking = 100;
+								V.PC.skill.slaving = 100;
+								V.PC.skill.engineering = 100;
+								V.PC.skill.medicine = 100;
+								break;
 							case "wealth":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
 								break;
+							case "trust fund":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = 0;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 0;
+								break;
+							case "rich kid":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -25;
+								break;
 							case "capitalist":
 								V.PC.skill.trading = 100;
 								break;
+							case "entrepreneur":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = 50;
+								V.PC.skill.warfare = -25;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = 0;
+								break;
+							case "business kid":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = 0;
+								V.PC.skill.warfare = -80;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -20;
+								break;
 							case "mercenary":
 								V.PC.skill.warfare = 100;
 								break;
+							case "recruit":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = 50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = 0;
+								break;
+							case "child soldier":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = 0;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -80;
+								break;
 							case "slaver":
 								V.PC.skill.slaving = 100;
 								break;
+							case "slave overseer":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -20;
+								V.PC.skill.warfare = -20;
+								V.PC.skill.slaving = 50;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -20;
+								V.PC.skill.hacking = 0;
+								break;
+							case "slave tender":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = 0;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -60;
+								V.PC.skill.hacking = -100;
+								break;
 							case "engineer":
 								V.PC.skill.engineering = 100;
 								break;
+							case "construction":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = 50;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = -20;
+								break;
+							case "worksite helper":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -80;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = 0;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
 							case "medicine":
 								V.PC.skill.medicine = 100;
 								break;
+							case "medical assistant":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = 50;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = -20;
+								break;
+							case "nurse":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = 0;
+								V.PC.skill.hacking = -20;
+								break;
 							case "celebrity":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
 								break;
+							case "rising star":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 0;
+								break;
+							case "child star":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -20;
+								break;
 							case "BlackHat":
 								V.PC.skill.hacking = 100;
 								break;
-							case "arcology owner":
-								V.PC.skill.trading = 100;
-								V.PC.skill.warfare = 100;
-								V.PC.skill.hacking = 100;
-								V.PC.skill.slaving = 100;
-								V.PC.skill.engineering = 100;
-								V.PC.skill.medicine = 100;
+							case "hacker":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 50;
+								break;
+							case "script kiddy":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -80;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = 20;
 								break;
 							case "escort":
-								if (V.PC.vagina === 1) {
+								if (V.PC.vagina >= 0) {
 									V.PC.vagina = 4;
 								}
 								V.PC.anus = 1;
 								V.PC.clothes = "a slutty outfit";
-								V.PC.education = 15;
+								V.PC.intelligenceImplant = 15;
 								V.PC.skill.trading = 50;
 								V.PC.skill.warfare = -100;
 								V.PC.skill.slaving = -100;
@@ -188,10 +332,38 @@ App.Intro.summary = function() {
 								V.PC.skill.medicine = 10;
 								V.PC.skill.hacking = 10;
 								break;
+							case "prostitute":
+								if (V.PC.vagina >= 0) {
+									V.PC.vagina = 3;
+								}
+								V.PC.anus = 1;
+								V.PC.clothes = "a slutty outfit";
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = 0;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = -20;
+								break;
+							case "child prostitute":
+								if (V.PC.vagina >= 0) {
+									V.PC.vagina = 2;
+								}
+								V.PC.anus = 1;
+								V.PC.clothes = "a slutty outfit";
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -80;
+								break;
 							case "servant":
 								V.PC.clothes = "a nice maid outfit";
-								V.PC.education = 0;
-								if (V.PC.vagina === 1) {
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
 									V.PC.vagina = 4;
 								}
 								V.PC.skill.trading = -100;
@@ -201,16 +373,62 @@ App.Intro.summary = function() {
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -100;
 								break;
+							case "handmaiden":
+								V.PC.clothes = "a nice maid outfit";
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
+									V.PC.vagina = 3;
+								}
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
+							case "child servant":
+								V.PC.clothes = "a nice maid outfit";
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
+									V.PC.vagina = 2;
+								}
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
 							case "gang":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
+								V.PC.intelligenceImplant = 15;
 								V.PC.skill.trading = 50;
 								V.PC.skill.warfare = 50;
 								V.PC.skill.slaving = 50;
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = 0;
 								V.PC.skill.hacking = 50;
+								break;
+							case "hoodlum":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = 0;
+								V.PC.skill.warfare = -20;
+								V.PC.skill.slaving = -20;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 0;
+								break;
+							case "street urchin":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -20;
+								V.PC.skill.warfare = -40;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
 						}
 					}
 					if (V.saveImported === 1 && V.freshPC === 0 && V.PC.rules.living !== "luxurious") {
@@ -219,7 +437,7 @@ App.Intro.summary = function() {
 						} else {
 							V.PC.rules.living = "luxurious";
 						}
-					} else if (V.PC.career === "wealth" || V.PC.career === "celebrity") {
+					} else if (["wealth", "trust fund", "rich kid", "celebrity", "rising star", "child star"].includes(V.PC.career) {
 						V.PC.rules.living = "normal";
 					} else {
 						V.PC.rules.living = "spare";
-- 
GitLab