From 47bd318dd6c973c22212b8bc524c258ae6e8126f Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 28 Dec 2018 17:11:34 -0500
Subject: [PATCH] Clone prodding

---
 devNotes/VersionChangeLog-Premod+LoliMod.txt |  6 ++++
 devNotes/twine JS.txt                        |  1 -
 src/js/wombJS.tw                             |  1 -
 src/pregmod/cloningWorkaround.tw             | 38 ++++++++++++++------
 src/pregmod/geneLab.tw                       |  2 +-
 src/pregmod/managePersonalAffairs.tw         |  4 ---
 src/pregmod/surrogacy.tw                     |  8 ++---
 src/uncategorized/slaveInteract.tw           |  4 ---
 8 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 1b808306d5b..de7ab53cea5 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,12 @@
 
 0.10.7.1-1.4.x
 
+12/28/2018
+
+	4
+	-sent cloning back to cheatmode for more testing
+	-fixes
+
 12/27/2018
 
 	3
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 4dcf7972822..dce11cbf61e 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -11368,7 +11368,6 @@ window.WombImpregnateClone = function(actor, fCount, mother, motherOriginal, age
 		}
 
 	}
-	MissingParentIDCorrection(actor);
 };
 
 window.WombProgress = function(actor, ageToAdd) {
diff --git a/src/js/wombJS.tw b/src/js/wombJS.tw
index 27f9a4bd00f..b1e71119801 100644
--- a/src/js/wombJS.tw
+++ b/src/js/wombJS.tw
@@ -179,7 +179,6 @@ window.WombImpregnateClone = function(actor, fCount, mother, motherOriginal, age
 		}
 
 	}
-	MissingParentIDCorrection(actor);
 };
 
 window.WombProgress = function(actor, ageToAdd) {
diff --git a/src/pregmod/cloningWorkaround.tw b/src/pregmod/cloningWorkaround.tw
index 8fa5af3e7fb..535a608fba3 100644
--- a/src/pregmod/cloningWorkaround.tw
+++ b/src/pregmod/cloningWorkaround.tw
@@ -1,29 +1,47 @@
 :: Cloning Workaround [nobr]
 
-<<set $nextButton = "Cancel", $receptrix = 0, _eligibility = 0>>
+<<set $nextButton = "Cancel", $nextLink = "Gene Lab", _eligibility = 0>>
+<<if $donatrix != "Undecided" && $donatrix.ID == -1>><<set _impreg = PlayerName()>><<elseif $donatrix != "Undecided">><<set _impreg = SlaveFullName($donatrix)>><<else>><<set _impreg = $donatrix>><</if>>
+<<if $receptrix != "Undecided" && $receptrix.ID == -1>><<set _receive = PlayerName()>><<elseif $receptrix != "Undecided">><<set _receive = SlaveFullName($receptrix)>><<else>><<set _receive = $receptrix>><</if>>
 
-//You've decided to clone <<if $donatrix.ID == -1>>yourself<<else>>$donatrix.slaveName<</if>>.//
+//Blank ovum prepared, please select genetic source://
+
+<br><br>
+[[Yourself|Cloning Workaround][$donatrix = $PC]]
+<<for _cw = 0; _cw < $slaves.length; _cw++>>
+<<capture _cw>>
+	<<set _name = SlaveFullName($slaves[_cw])>>
+	<br><<print "[[_name|Cloning Workaround][$donatrix = $slaves[" + _cw + "]]]">>
+<</capture>>
+<</for>>
 
 <br><br>
 
-__Select a slave to serve as the host for the clone__
+__Chosen surrogate: _receive __
 
 <br>
 
-<<for _cw = 0; _cw < $slaves.length; _cw++>>
-<<capture _cw>>
-	<<if ($slaves[_cw].ovaries > 0 || $slaves[_cw].mpreg > 0) && isSlaveAvailable($slaves[_cw]) && $slaves[_cw].preg >= 0 && $slaves[_cw].preg < $slaves[_cw].pregData.normalBirth/10 && $slaves[_cw].pregWeek >= 0 && $slaves[_cw].pubertyXX == 1 && $slaves[_cw].pregType < 12 && $slaves[_cw].bellyImplant == -1 && $slaves[_cw].broodmother == 0 && $slaves[_cw].inflation <= 2 && $slaves[_cw].physicalAge < 70>>
-		<<set _name = SlaveFullName($slaves[_cw])>>
-		<br><<print "[[_name|Surrogacy][$receptrix = $slaves[" + _cw + "], $cash -= ($surgeryCost*2), $surgeryType = 'clone']]">> <<if $slaves[_cw].pregType >= 4>>//Using a slave carrying multiples is unadvisable//<</if>>
+<<for _cw1 = 0; _cw1 < $slaves.length; _cw1++>>
+<<capture _cw1>>
+	<<if ($slaves[_cw1].ovaries > 0 || $slaves[_cw1].mpreg > 0) && isSlaveAvailable($slaves[_cw1]) && $slaves[_cw1].preg >= 0 && $slaves[_cw1].preg < 4 && $slaves[_cw1].pregWeek >= 0 && $slaves[_cw1].pubertyXX == 1 && $slaves[_cw1].pregType < 12 && $slaves[_cw1].bellyImplant == -1 && $slaves[_cw1].broodmother == 0 && $slaves[_cw1].inflation <= 2 && $slaves[_cw1].physicalAge < 70>>
+		<<set _name2 = SlaveFullName($slaves[_cw1])>>
+		<br><<print "[[_name2|Cloning Workaround][$receptrix = $slaves[" + _cw1 + "]]]">> <<if $slaves[_cw1].pregType >= 4>>//Using a slave carrying multiples is unadvisable//<</if>>
 		<<set _eligibility = 1>>
 	<</if>>
 <</capture>>
 <</for>>
 <<if (_eligibility == 0)>>
-	<br>//You have no slaves capable of acting as an incubator.//
+	<br>//You have no slaves capable of acting as a surrogate.//
 <</if>>
 
 <<if $PC.vagina == 1 && $PC.preg >= 0 && $PC.preg < 4 && $PC.pregType < 8 && $PC.physicalAge < 70>>
 	<br>
-	[[Use your own womb|Surrogacy][$receptrix = $PC, $cash -= ($surgeryCost*2), $surgeryType = 'clone']]
+	[[Use your own womb|Cloning Workaround][$receptrix = $PC]]
 <</if>>
+
+<br><br>
+
+_impreg will be cloned and _receive shall act as the incubator.
+<<if _impreg != "Undecided" && _receive != "Undecided">>
+	[[Implant clone ovum|Surrogacy][$cash -= ($surgeryCost*2), $surgeryType = 'clone']]
+<</if>>
\ No newline at end of file
diff --git a/src/pregmod/geneLab.tw b/src/pregmod/geneLab.tw
index c5feb381bff..137017baa4b 100644
--- a/src/pregmod/geneLab.tw
+++ b/src/pregmod/geneLab.tw
@@ -28,7 +28,7 @@ Genetic Harvesting
 		<br>
 	<</if>>
 <<elseif ($cloningSystem > 0)>>
-	The gene lab is capable of implanting a slave's genetic sequence into a blank embryo to produce a basic clone.
+	The gene lab is capable of implanting a slave's genetic sequence into a blank embryo to produce a basic clone. [[Make a clone|Cloning Workaround][$donatrix = "Undecided", $receptrix = "Undecided"]]
 	<br>
 <</if>>
 <</if>>
\ No newline at end of file
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index 872215cd269..5d1c88018f8 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -592,10 +592,6 @@ __Other Personal Business__
 <br> You lack the reputation to be invited to the underground Black Market.
 <</if>>
 
-<<if $cloningSystem == 1>>
-	<br> [[Clone yourself|Cloning Workaround][$returnTo = "Manage Personal Affairs", $donatrix = $PC]]
-<</if>>
-
 <<if $propOutcome == 1 && $arcologies[0].FSRestart != "unset">>
 	<br><br>
 __Elite Breeder Qualifications__
diff --git a/src/pregmod/surrogacy.tw b/src/pregmod/surrogacy.tw
index 96a203fc5e5..faa29826b61 100644
--- a/src/pregmod/surrogacy.tw
+++ b/src/pregmod/surrogacy.tw
@@ -186,12 +186,8 @@
 			$He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you have forced $him to bear <<if $receptrix.ID == $donatrix.ID>>$his own clone and potential replacement<<else>>this child, even more so as $he realizes $he doesn't know who the father is<</if>>. $He is @@.gold;sensibly fearful@@ of your total power over $his body and the future of the life $he now harbors within $him.
 			<<set $receptrix.trust -= 15, $receptrix.devotion -= 15>>
 		<</if>>
-		<<if $activeSlave.ID != $receptrix.ID>>
-			<<set _surr = $slaves.findIndex(function(s) { return s.ID == $receptrix.ID; })>>
-			<<set $slaves[_surr] = $receptrix>>
-		<<else>>
-			<<set $activeSlave = $receptrix>>
-		<</if>>
+		<<set _surr = $slaves.findIndex(function(s) { return s.ID == $receptrix.ID; })>>
+		<<set $slaves[_surr] = $receptrix>>
 	<</if>>
 	<<set $receptrix = 0, $impregnatrix = 0, $donatrix = 0>>
 
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index a642b08fecf..26667f3cc78 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1452,10 +1452,6 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 <</if>>
 <</if>>
 
-<<if $cloningSystem == 1>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<link "Clone $him" "Cloning Workaround">><<set $returnTo = "Slave Interact", $donatrix = $activeSlave>><</link>>
-<</if>>
 <<if $propOutcome == 1 && $arcologies[0].FSRestart != "unset">>
 	<<if $activeSlave.breedingMark == 0 && $activeSlave.fuckdoll == 0 && $activeSlave.eggType == "human" && isFertile($activeSlave)>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-- 
GitLab