From 22f0e0b54539c17ca047652928b5ce6b651c0221 Mon Sep 17 00:00:00 2001
From: kopareigns <kopareigns@gmail.com>
Date: Sun, 10 Mar 2019 15:01:53 -0400
Subject: [PATCH] Return values

---
 src/events/intro/initNationalities.tw       | 2 +-
 src/js/generateGenetics.js                  | 6 ++----
 src/js/generateNewSlaveJS.js                | 6 +++---
 src/js/slaveGenerationJS.js                 | 2 +-
 src/npc/databases/cheatmodeDatabase.tw      | 2 +-
 src/uncategorized/BackwardsCompatibility.tw | 2 +-
 src/uncategorized/generateNewSlave.tw       | 2 +-
 src/uncategorized/generateXXSlave.tw        | 2 +-
 src/uncategorized/generateXYSlave.tw        | 2 +-
 src/uncategorized/reRelativeRecruiter.tw    | 2 +-
 src/utility/slaveCreationWidgets.tw         | 9 ---------
 11 files changed, 13 insertions(+), 24 deletions(-)

diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index ded7a8e4d41..7d24761c058 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -800,7 +800,7 @@
 /* SET HEROES */
 
 <<set $heroSlaves = []>>
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set $baseHeroSlave = clone($activeSlave)>>
 
 <<if ($seeDicks > 0) && ($seeDicks < 100)>>
diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 71328849036..c76f15559a3 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -1036,8 +1036,7 @@ window.generateChild = function (mother, ova, destination) {
 		V.ageAdjustOverride = 1;
 
 		if (genes.gender === "XX") {
-			GenerateNewSlave("XX");
-			child = V.activeSlave;
+			child = GenerateNewSlave("XX");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
 				if (genes.mother === -1) {
@@ -1127,8 +1126,7 @@ window.generateChild = function (mother, ova, destination) {
 				}
 			}
 		} else {
-			GenerateNewSlave("XY");
-			child = V.activeSlave;
+			child = GenerateNewSlave("XY");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
 				if (genes.mother === -1) {
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 5c5abb46c0f..1c66d62ab5e 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -6,8 +6,7 @@ window.GenerateNewSlave = (function(){
 
 	function GenerateNewSlave(sex) {
 		V = State.variables;
-		BaseSlave();
-		slave = V.activeSlave;
+		slave = BaseSlave();
 
 		preGenCombinedStats();
 		if (!sex) {
@@ -33,8 +32,9 @@ window.GenerateNewSlave = (function(){
 		} else {
 			GenerateXXSlave();
 		}
-
 		postGenCleanup();
+
+		return slave;
 	}
 
 	function preGenCombinedStats() {
diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js
index 8a9f5c913f1..b2d66d403b2 100644
--- a/src/js/slaveGenerationJS.js
+++ b/src/js/slaveGenerationJS.js
@@ -1390,7 +1390,7 @@ window.randomizeAttraction = /** @param {App.Entity.SlaveState} slave*/ function
 };
 
 window.BaseSlave = function BaseSlave() {
-	State.variables.activeSlave = new App.Entity.SlaveState();
+	return new App.Entity.SlaveState();
 };
 
 window.generatePronouns = /** @param {App.Entity.SlaveState} slave*/ function generatePronouns(slave) {
diff --git a/src/npc/databases/cheatmodeDatabase.tw b/src/npc/databases/cheatmodeDatabase.tw
index d797156c685..bcc9e13e48c 100644
--- a/src/npc/databases/cheatmodeDatabase.tw
+++ b/src/npc/databases/cheatmodeDatabase.tw
@@ -1,6 +1,6 @@
 :: Cheatmode Database [nobr]
 
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set _HS = clone($activeSlave)>>
 <<set _HS.slaveName = "Miss Anne", _HS.birthName = "Lindy Anne", _HS.ID = 990000, _HS.relation = "mother", _HS.relationTarget = 990004, _HS.relationship = 4, _HS.relationshipTarget = 990001, _HS.rivalry = 1, _HS.rivalryTarget = 990002, _HS.assignment = "be your Head Girl", _HS.birthWeek = random(0,51), _HS.actualAge = 42, _HS.physicalAge = 42, _HS.visualAge = 42, _HS.ovaryAge = 42, _HS.ageImplant = 1, _HS.health = 50, _HS.devotion = 100, _HS.height = 175, _HS.eyeColor = "green", _HS.hColor = "honey blonde", _HS.skin = "pale", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 1000, _HS.boobsImplant = 600, _HS.areolae = 1, _HS.butt = 4, _HS.buttImplant = 2, _HS.face = 55, _HS.lips = 35, _HS.anus = 1, _HS.makeup = 1, _HS.nails = 1, _HS.earPiercing = 1, _HS.oralSkill = 100, _HS.analSkill = 100, _HS.whoreSkill = 100, _HS.entertainSkill = 100, _HS.clothes = "a slave gown", _HS.intelligence = 100, _HS.energy = 65, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "'Miss Anne' is tattooed in lovely flowing script over her collarbone.", _HS.customDesc = "She speaks with the rich accent of the Old South.">>
 <<if $seeDicks != 100>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 66bd1b9b288..25edbfa197e 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -3456,7 +3456,7 @@ Setting missing slave variables:
 
 <<HeroSlavesCleanup>>
 <<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>>
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set $baseHeroSlave = clone($activeSlave)>>
 Done!
 
diff --git a/src/uncategorized/generateNewSlave.tw b/src/uncategorized/generateNewSlave.tw
index f77773d4dee..e4aa6d85956 100644
--- a/src/uncategorized/generateNewSlave.tw
+++ b/src/uncategorized/generateNewSlave.tw
@@ -1,3 +1,3 @@
 :: Generate New Slave [nobr]
 
-<<run GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave()>>
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index a9e3ec9200c..f4c915d0f0b 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -1,3 +1,3 @@
 :: Generate XX Slave [nobr]
 
-<<run GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX")>>
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index c7d29889638..47cf1b30672 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -1,3 +1,3 @@
 :: Generate XY Slave [nobr]
 
-<<run GenerateNewSlave("XY")>>
+<<set $activeSlave = GenerateNewSlave("XY")>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index c81539fcf8e..f864a7f8cf3 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -5,7 +5,7 @@
 <<if $familyTesting == 1>>
 
 <<set $eventSlave = getSlave($recruiterSlave)>>
-<<run BaseSlave()>>
+<<set $activeSlave = BaseSlave()>>
 <<set $activeSlave = Object.assign($activeSlave, clone($genePool.find(function(o) { return o.ID == $eventSlave.ID; })))>>
 
 <span id="artFrame">
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 898ee64e550..38471801d83 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -1,14 +1,5 @@
 :: slave creation widgets [widget nobr]
 
-/%
-	Base Slave Template.
-	Call as <<BaseSlave>>
-	Called from Gen XX, Gen XY, CheatMode DB, InitNationalities.
-%/
-<<widget "BaseSlave">>
-	<<run BaseSlave()>>
-<</widget>>
-
 /%
  Call as <<StartingGirlsWorkaround>>
 %/
-- 
GitLab