From 26411de8e29d25c6e2fce11d062c5cce2ee0f3e4 Mon Sep 17 00:00:00 2001
From: kopareigns <kopareigns@gmail.com>
Date: Mon, 4 Jun 2018 20:00:53 -0400
Subject: [PATCH] Cheat Fixes

---
 src/cheats/PCCheatMenuCheatDatatypeCleanup.tw | 19 +++++++++++++------
 src/cheats/mod_EditArcologyCheat.tw           |  7 +++----
 .../mod_EditSlaveCheatDatatypeCleanup.tw      | 11 ++++++++++-
 .../mod_EditSlaveCheatDatatypeCleanupNew.tw   | 11 ++++++++++-
 4 files changed, 36 insertions(+), 12 deletions(-)

diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
index 38502fe9423..76c2c72b2b7 100644
--- a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
+++ b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
@@ -2,8 +2,13 @@
 
 <<set $nextButton = "Continue", $nextLink = "Manage Personal Affairs">>
 
-<<set WombImpregnate($PC, $PC.pregType, $PC.pregSource, $PC.preg)>>
-/*<<set WombNormalizePreg($PC)>>*/
+<<set $PC.preg = Number($PC.preg) || 0>>
+<<set $PC.pregSource = Number($PC.pregSource) || 0>>
+<<set $PC.pregType = Number($PC.pregType) || 0>>
+<<set $PC.pregMood = Number($PC.pregMood) || 0>>
+<<set WombInit($PC)>> /* just to make sure */
+<<set $PC.womb.length = 0>> /* simple way to delete all fetuses */
+<<set WombImpregnate($PC, $PC.pregType, $PC.pregSource, $PC.preg)>> /* recreates fetuses */
 <<if $PC.preg > 0>>
 	<<set $PC.belly = WombGetVolume($PC)>>
 	<<set $PC.pregWeek = $PC.preg>>
@@ -12,6 +17,7 @@
 	<<set $PC.pregWeek = 0>>
 <</if>>
 <<set $PC.pregMood = Number($PC.pregMood) || 0>>
+<<set $PC.boobs = ($PC.boobs == 0 ? 0 : 1)>>
 <<if $PC.boobs == 0>>
 	<<set $PC.boobsBonus = 0>>
 	<<set $PC.boobsImplant = 0>>
@@ -23,8 +29,10 @@
 <<if $PC.butt == 0>>
 	<<set $PC.buttImplant = 0>>
 <<else>>
-	<<set $PC.buttImplant = Math.clamp($PC.buttImplant, 0, 1)>>
+	<<set $PC.buttImplant = ($PC.buttImplant == 0 ? 0 : 1)>>
 <</if>>
+<<set $PC.dick = ($PC.dick == 0 ? 0 : 1)>>
+<<set $PC.vagina = ($PC.vagina == 0 ? 0 : 1)>>
 <<if $PC.dick == 1>>
 	<<set $PC.balls = Number($PC.balls) || 0>>
 	<<set $PC.ballsImplant = Number($PC.ballsImplant) || 0>>
@@ -33,9 +41,6 @@
 	<<set $PC.ballsImplant = 0>>
 <</if>>
 
-<<set $PC.dick = Math.clamp($PC.dick, 0, 1)>>
-<<set $PC.vagina = Math.clamp($PC.vagina, 0, 1)>>
-
 <<set $PC.ageImplant = Number($PC.ageImplant) || 0>>
 <<set $playerAging = Number($playerAging) || 0>>
 <<set $PC.ageImplant = Number($PC.ageImplant) || 0>>
@@ -43,5 +48,7 @@
 <<set $PC.visualAge = Number($PC.visualAge) || 14>>
 <<set $PC.actualAge = Number($PC.actualAge) || 14>>
 <<set $PC.ovaryAge = Number($PC.ovaryAge) || 14>>
+<<set $PC.mother = Number($PC.mother) || 0>>
+<<set $PC.father = Number($PC.father) || 0>>
 
 You perform the dark rituals, pray to the dark gods and sold your soul for the power to reshape your body and life at will. What a cheater!
\ No newline at end of file
diff --git a/src/cheats/mod_EditArcologyCheat.tw b/src/cheats/mod_EditArcologyCheat.tw
index 760493701db..867e2271993 100644
--- a/src/cheats/mod_EditArcologyCheat.tw
+++ b/src/cheats/mod_EditArcologyCheat.tw
@@ -149,10 +149,9 @@ International slave variety is
 	 | [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks = 100]]
 <</if>>
 
-<<link "Go your own dick way">>
-	<<textbox "$seeDicks" $seeDicks>>
-	[[Apply|MOD_Edit Arcology Cheat][$seeDicks = Number($seeDicks) || 25]]
-<</link>>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;Go your own dick way: 
+<<textbox "$seeDicks" $seeDicks>>
+[[Apply|MOD_Edit Arcology Cheat][$seeDicks = ($seeDicks == 0 ? 0 : (Math.clamp(Number($seeDicks), 0, 100) || 25))]]
 
 <br>Game mode:
 <<if $plot == 1>>
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
index d67b65bd0f4..8b6bac4a1f9 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
@@ -61,7 +61,16 @@
 <<set $activeSlave.attrXY = Number($activeSlave.attrXY) || 0>>
 <<set $activeSlave.attrXX = Number($activeSlave.attrXX) || 0>>
 <<set $activeSlave.energy = Number($activeSlave.energy) || 0>>
-<<set WombNormalizePreg($activeSlave)>>
+<<set $activeSlave.preg = Number($activeSlave.preg) || 0>>
+<<set $activeSlave.pregSource = Number($activeSlave.pregSource) || 0>>
+<<set $activeSlave.pregType = Number($activeSlave.pregType) || 0>>
+<<if $activeSlave.broodmother == 0>>
+	<<set WombInit($activeSlave)>> /* just to make sure */
+	<<set $activeSlave.womb.length = 0>> /* simple way to delete all fetuses */
+	<<set WombImpregnate($activeSlave, $activeSlave.pregType, $activeSlave.pregSource, $activeSlave.preg)>> /* recreates fetuses */
+<<else>>
+	<<set WombNormalizePreg($activeSlave)>>
+<</if>>
 <<if $activeSlave.preg > 0>>
 	<<set $activeSlave.pregKnown = 1, $activeSlave.pregWeek = $activeSlave.preg>>
 <<else>>
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
index 6acf59fbd89..f985e7caa27 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
@@ -65,7 +65,16 @@
 <<set $tempSlave.vagina = Number($tempSlave.vagina) || 0>>
 <<set $tempSlave.vaginaLube = Number($tempSlave.vaginaLube) || 0>>
 <<set $tempSlave.pubertyAgeXX = Number($tempSlave.pubertyAgeXX) || 13>>
-<<set WombNormalizePreg($tempSlave)>>
+<<set $tempSlave.preg = Number($tempSlave.preg) || 0>>
+<<set $tempSlave.pregSource = Number($tempSlave.pregSource) || 0>>
+<<set $tempSlave.pregType = Number($tempSlave.pregType) || 0>>
+<<if $tempSlave.broodmother == 0>>
+	<<set WombInit($tempSlave)>> /* just to make sure */
+	<<set $tempSlave.womb.length = 0>> /* simple way to delete all fetuses */
+	<<set WombImpregnate($tempSlave, $tempSlave.pregType, $tempSlave.pregSource, $tempSlave.preg)>> /* recreates fetuses */
+<<else>>
+	<<set WombNormalizePreg($tempSlave)>>
+<</if>>
 <<set $tempSlave.pregWeek = Number($tempSlave.pregWeek) || Math.max($tempSlave.preg, 0)>>
 <<if $tempSlave.preg <= 0>>
 	<<set $tempSlave.pregKnown = 0>>
-- 
GitLab