From ff7ab7e4faae1e07bdb81f8a3c2f9fe501f13b29 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 4 Mar 2021 18:57:34 -0500
Subject: [PATCH 1/3] remove origin override

---
 devTools/types/FC/gameState.d.ts              |  1 -
 src/npc/startingGirls/startingGirls.js        |  7 +-----
 src/npc/startingGirls/startingGirlsPassage.js | 22 ++++++++++++++-----
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/devTools/types/FC/gameState.d.ts b/devTools/types/FC/gameState.d.ts
index 7c914548169..d1821a9cc66 100644
--- a/devTools/types/FC/gameState.d.ts
+++ b/devTools/types/FC/gameState.d.ts
@@ -153,7 +153,6 @@ declare namespace FC {
 		seed?: number;
 		applyCareerBonus?: Bool;
 		careerBonusNeeded?: number[];
-		originOverride?: Bool;
 		prostheticsConfig?: string;
 		relation: number;
 
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 8d2495f7997..ac9b63f6a29 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -1264,11 +1264,6 @@ App.StartingGirls.profile = function(slave, cheat = false) {
 		.showTextBox({large: true, forceString: true})
 		.addComment("Use complete, capitalized and punctuated sentences.");
 
-	options.addOption("Origin override", "originOverride", V)
-		.addValue("Enable", 1).on()
-		.addValue("Disable", 0).off()
-		.addComment("Prevent Starting Girls from overwriting custom origin and tattoo with its defaults.");
-
 	if (slave.prestige) {
 		options.addOption("Prestige description", "prestigeDesc", slave)
 			.showTextBox({large: true, forceString: true})
@@ -1549,8 +1544,8 @@ App.StartingGirls.finalize = function(slave) {
 					`Add this slave, and randomize the next slave`,
 					() => {
 						addGirl();
-						V.originOverride = 0;
 						V.activeSlave = this.generate();
+						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
diff --git a/src/npc/startingGirls/startingGirlsPassage.js b/src/npc/startingGirls/startingGirlsPassage.js
index 365e30f72e4..e01d9db7939 100644
--- a/src/npc/startingGirls/startingGirlsPassage.js
+++ b/src/npc/startingGirls/startingGirlsPassage.js
@@ -1,5 +1,8 @@
 App.StartingGirls.passage = function() {
-	V.activeSlave = V.activeSlave || App.StartingGirls.generate();
+	if (!V.activeSlave) {
+		V.activeSlave = App.StartingGirls.generate();
+		App.StartingGirls.applyPlayerOrigin(V.activeSlave);
+	}
 	if (!jsDef(V.applyCareerBonus)) {
 		V.applyCareerBonus = 1;
 	}
@@ -77,6 +80,7 @@ App.StartingGirls.passage = function() {
 			"Start over with a random slave",
 			() => {
 				V.activeSlave = App.StartingGirls.generate();
+				App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 			},
 			[],
 			"Starting Girls"
@@ -97,6 +101,7 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.origSkin = "fair";
 						V.activeSlave.origHColor = "red";
 						V.activeSlave.markings = "heavily freckled";
+						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -116,6 +121,7 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.muscles = 20;
 						V.activeSlave.weight = -20;
 						V.activeSlave.height = Math.round(Height.forAge(190, V.activeSlave));
+						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -137,6 +143,7 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.physicalAge = 18;
 						V.activeSlave.fetishKnown = 0;
 						V.activeSlave.attrKnown = 0;
+						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -150,6 +157,7 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.career = App.Data.Careers.Leader.HG.random();
 						V.activeSlave.intelligence = 70;
 						V.activeSlave.intelligenceImplant = 0;
+						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -182,6 +190,7 @@ App.StartingGirls.passage = function() {
 							V.activeSlave.lactationDuration = 2;
 							V.activeSlave.nipples = "huge";
 							V.activeSlave.boobs = 10000;
+							App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 						},
 						[],
 						"Starting Girls"
@@ -203,6 +212,7 @@ App.StartingGirls.passage = function() {
 							V.activeSlave.hears = 0;
 							removeLimbs(V.activeSlave, "all");
 							eyeSurgery(V.activeSlave, "both", "normal");
+							App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 						},
 						[],
 						"Starting Girls"
@@ -229,6 +239,7 @@ App.StartingGirls.passage = function() {
 							nation,
 							() => {
 								V.activeSlave = App.StartingGirls.generate({nationality: nation});
+								App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 							},
 							[],
 							"Starting Girls"
@@ -262,6 +273,7 @@ App.StartingGirls.passage = function() {
 							return App.UI.DOM.link(capFirstChar(sibling), () => {
 								setMissingParents(srcSlave);
 								V.activeSlave = generateRelatedSlave(srcSlave, sibling);
+								App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 								App.StartingGirls.randomizeUnknowns(V.activeSlave);
 							}, [], "Starting Girls");
 						};
@@ -273,6 +285,7 @@ App.StartingGirls.passage = function() {
 									relatives.push(
 										App.UI.DOM.link("Mother", () => {
 											V.activeSlave = generateRelatedSlave(srcSlave, "mother");
+											App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 											App.StartingGirls.randomizeUnknowns(V.activeSlave);
 											srcSlave.mother = V.activeSlave.ID;
 										}, [], "Starting Girls")
@@ -285,6 +298,7 @@ App.StartingGirls.passage = function() {
 									relatives.push(
 										App.UI.DOM.link("Father", () => {
 											V.activeSlave = generateRelatedSlave(srcSlave, "father");
+											App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 											App.StartingGirls.randomizeUnknowns(V.activeSlave);
 											srcSlave.father = V.activeSlave.ID;
 										}, [], "Starting Girls")
@@ -312,6 +326,7 @@ App.StartingGirls.passage = function() {
 									relatives.push(
 										App.UI.DOM.link("Daughter", () => {
 											V.activeSlave = generateRelatedSlave(srcSlave, "daughter");
+											App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 											App.StartingGirls.randomizeUnknowns(V.activeSlave);
 										}, [], "Starting Girls")
 									);
@@ -320,6 +335,7 @@ App.StartingGirls.passage = function() {
 									relatives.push(
 										App.UI.DOM.link("Son", () => {
 											V.activeSlave = generateRelatedSlave(srcSlave, "son");
+											App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 											App.StartingGirls.randomizeUnknowns(V.activeSlave);
 										}, [], "Starting Girls")
 									);
@@ -367,10 +383,6 @@ App.StartingGirls.passage = function() {
 			V.activeSlave.mother = 0;
 		}
 	}
-	/* this block makes starting girls actually apply the slave origins, mostly since it just hates you and everything you do */
-	if (V.originOverride !== 1) {
-		App.StartingGirls.applyPlayerOrigin(V.activeSlave);
-	}
 
 	App.UI.DOM.appendNewElement("h2", el, "You are customizing this slave:");
 	el.append(App.Desc.longSlave(V.activeSlave, {market: "generic"}));
-- 
GitLab


From a5f8d5752381f214f2a4bb9bcea25ca16bcdb9d2 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 4 Mar 2021 19:00:27 -0500
Subject: [PATCH 2/3] add default button to manually restore default origin

---
 src/npc/startingGirls/startingGirls.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index ac9b63f6a29..4bff8c8dff8 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -1260,9 +1260,12 @@ App.StartingGirls.profile = function(slave, cheat = false) {
 	App.UI.DOM.appendNewElement("h3", el, "Optional customizations");
 	options = new App.UI.OptionsGroup();
 
-	options.addOption("Origin story", "origin", slave)
+	option = options.addOption("Origin story", "origin", slave)
 		.showTextBox({large: true, forceString: true})
 		.addComment("Use complete, capitalized and punctuated sentences.");
+	if (!cheat) {
+		option.customButton("Default", () => App.StartingGirls.applyPlayerOrigin(slave), "Starting Girls");
+	}
 
 	if (slave.prestige) {
 		options.addOption("Prestige description", "prestigeDesc", slave)
-- 
GitLab


From 335911a6cc4d084cd15336b2a10bbb5052484c75 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 4 Mar 2021 19:17:27 -0500
Subject: [PATCH 3/3] simplify how we use applyPlayerOrigin

---
 src/npc/startingGirls/startingGirls.js        |  2 +-
 src/npc/startingGirls/startingGirlsPassage.js | 13 +------------
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 4bff8c8dff8..424b706c211 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -46,6 +46,7 @@ App.StartingGirls.generate = function(params) {
 	slave.skill.vaginal = mapValue(slave.skill.vaginal, App.Data.StartingGirls.skill);
 	slave.skill.whoring = mapValue(slave.skill.whoring, App.Data.StartingGirls.skill);
 	slave.skill.entertainment = mapValue(slave.skill.entertainment, App.Data.StartingGirls.skill);
+	App.StartingGirls.applyPlayerOrigin(slave);
 
 	return slave;
 };
@@ -1548,7 +1549,6 @@ App.StartingGirls.finalize = function(slave) {
 					() => {
 						addGirl();
 						V.activeSlave = this.generate();
-						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
diff --git a/src/npc/startingGirls/startingGirlsPassage.js b/src/npc/startingGirls/startingGirlsPassage.js
index e01d9db7939..b5a9ba07a00 100644
--- a/src/npc/startingGirls/startingGirlsPassage.js
+++ b/src/npc/startingGirls/startingGirlsPassage.js
@@ -1,8 +1,5 @@
 App.StartingGirls.passage = function() {
-	if (!V.activeSlave) {
-		V.activeSlave = App.StartingGirls.generate();
-		App.StartingGirls.applyPlayerOrigin(V.activeSlave);
-	}
+	V.activeSlave = V.activeSlave || App.StartingGirls.generate();
 	if (!jsDef(V.applyCareerBonus)) {
 		V.applyCareerBonus = 1;
 	}
@@ -80,7 +77,6 @@ App.StartingGirls.passage = function() {
 			"Start over with a random slave",
 			() => {
 				V.activeSlave = App.StartingGirls.generate();
-				App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 			},
 			[],
 			"Starting Girls"
@@ -101,7 +97,6 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.origSkin = "fair";
 						V.activeSlave.origHColor = "red";
 						V.activeSlave.markings = "heavily freckled";
-						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -121,7 +116,6 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.muscles = 20;
 						V.activeSlave.weight = -20;
 						V.activeSlave.height = Math.round(Height.forAge(190, V.activeSlave));
-						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -143,7 +137,6 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.physicalAge = 18;
 						V.activeSlave.fetishKnown = 0;
 						V.activeSlave.attrKnown = 0;
-						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -157,7 +150,6 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.career = App.Data.Careers.Leader.HG.random();
 						V.activeSlave.intelligence = 70;
 						V.activeSlave.intelligenceImplant = 0;
-						App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 					},
 					[],
 					"Starting Girls"
@@ -190,7 +182,6 @@ App.StartingGirls.passage = function() {
 							V.activeSlave.lactationDuration = 2;
 							V.activeSlave.nipples = "huge";
 							V.activeSlave.boobs = 10000;
-							App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 						},
 						[],
 						"Starting Girls"
@@ -212,7 +203,6 @@ App.StartingGirls.passage = function() {
 							V.activeSlave.hears = 0;
 							removeLimbs(V.activeSlave, "all");
 							eyeSurgery(V.activeSlave, "both", "normal");
-							App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 						},
 						[],
 						"Starting Girls"
@@ -239,7 +229,6 @@ App.StartingGirls.passage = function() {
 							nation,
 							() => {
 								V.activeSlave = App.StartingGirls.generate({nationality: nation});
-								App.StartingGirls.applyPlayerOrigin(V.activeSlave);
 							},
 							[],
 							"Starting Girls"
-- 
GitLab