From 14588be1e18b7d94cb85895c5dec292f9aeb1631 Mon Sep 17 00:00:00 2001
From: pregmodfan <pregmodfan@cock.li>
Date: Fri, 23 Feb 2018 23:42:28 +0200
Subject: [PATCH] WombFlush to some places, so pregnancies can be ended for
 sure

---
 src/npc/startingGirls/startingGirls.tw |  6 +++---
 src/pregmod/electiveSurgery.tw         | 10 +++++-----
 src/uncategorized/reBoomerang.tw       |  2 +-
 src/uncategorized/recETSWorkaround.tw  |  1 +
 src/uncategorized/saDrugs.tw           |  2 +-
 src/uncategorized/saLiveWithHG.tw      |  2 +-
 src/uncategorized/saLongTermEffects.tw |  4 ++--
 src/utility/slaveCreationWidgets.tw    |  6 +++---
 src/utility/summaryWidgets.tw          |  2 +-
 9 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index 5f9cdca3a6b..4a5e74f3515 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -879,7 +879,7 @@ Her nationality is $activeSlave.nationality.
 <<else>>Gaping.
 <</if>>
 </span>
-<<link "No vagina">><<set $activeSlave.vagina = -1, $activeSlave.preg = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0,$activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge, $activeSlave.ovaries = 0>><<replace "#vagina">>//No vagina.//<</replace>><<StartingGirlsCost>><</link>> |
+<<link "No vagina">><<set $activeSlave.vagina = -1, $activeSlave.preg = 0, WombFlush($activeSlave), $activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0,$activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge, $activeSlave.ovaries = 0>><<replace "#vagina">>//No vagina.//<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Virgin">><<set $activeSlave.vagina = 0, $activeSlave.preg = -1, $activeSlave.belly = 0, $activeSlave.bellyPreg = 0, $activeSlave.ovaries = 1>><<replace "#vagina">>@@.lime;Virgin.@@<</replace>><<StartingGirlsVaginalSkill>><<StartingGirlsCost>><<StartingGirlsWarnings>><</link>> |
 <<link "Normal">><<set $activeSlave.vagina = 1, $activeSlave.preg = -1, $activeSlave.belly = 0, $activeSlave.bellyPreg = 0, $activeSlave.ovaries = 1>><<replace "#vagina">>Normal.<</replace>><<StartingGirlsVaginalSkill>><<StartingGirlsCost>><<StartingGirlsWarnings>><</link>> |
 <<link "Veteran">><<set $activeSlave.vagina = 2, $activeSlave.preg = -1, $activeSlave.belly = 0, $activeSlave.bellyPreg = 0, $activeSlave.ovaries = 1>><<replace "#vagina">>Veteran.<</replace>><<StartingGirlsVaginalSkill>><<StartingGirlsCost>><<StartingGirlsWarnings>><</link>> |
@@ -940,7 +940,7 @@ Her nationality is $activeSlave.nationality.
 <<link "Advanced">><<set $activeSlave.preg = 34,$activeSlave.pregType = 1,$activeSlave.belly = 10000,$activeSlave.bellyPreg = 10000,$activeSlave.pubertyXX = 1>><<replace "#preg">>Advanced.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Showing">><<set $activeSlave.preg = 27,$activeSlave.pregType = 1,$activeSlave.belly = 5000,$activeSlave.bellyPreg = 5000,$activeSlave.pubertyXX = 1>><<replace "#preg">>Showing.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Early">><<set $activeSlave.preg = 12,$activeSlave.pregType = 1,$activeSlave.belly = 100,$activeSlave.bellyPreg = 100,$activeSlave.pubertyXX = 1>><<replace "#preg">>Early.<</replace>><<StartingGirlsCost>><</link>> |
-<<link "None">><<set $activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "None">><<set $activeSlave.preg = 0,$activeSlave.pregType = 0 WombFlush($activeSlave), ,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Barren">><<set $activeSlave.preg = -2,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>Barren.<</replace>><<StartingGirlsCost>><</link>>
 <br>''Puberty:''
 <span id="pub">
@@ -949,7 +949,7 @@ Her nationality is $activeSlave.nationality.
 <</if>>
 </span>
 <<textbox "$activeSlave.pubertyAgeXX" $activeSlave.pubertyAgeXX "Starting Girls">>
-<<link "Postpubescent">><<set $activeSlave.pubertyXX = 1>><<replace "#pub">>Postpubescent.<</replace>><<StartingGirlsCost>><</link>> | <<link "Prepubescent">><<set $activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge,$activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#pub">>Prepubescent.<</replace>><<StartingGirlsCost>><</link>>
+<<link "Postpubescent">><<set $activeSlave.pubertyXX = 1>><<replace "#pub">>Postpubescent.<</replace>><<StartingGirlsCost>><</link>> | <<link "Prepubescent">><<set $activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge,$activeSlave.preg = 0,WombFlush($activeSlave),$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#pub">>Prepubescent.<</replace>><<StartingGirlsCost>><</link>>
 <<if $PC.dick == 1>>
 	<br> ''Father:''
 	<span id="father">
diff --git a/src/pregmod/electiveSurgery.tw b/src/pregmod/electiveSurgery.tw
index de778cb510c..76633608a42 100644
--- a/src/pregmod/electiveSurgery.tw
+++ b/src/pregmod/electiveSurgery.tw
@@ -320,20 +320,20 @@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original
 	You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@
 	<br>
 	[[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $cash -= 25000, $surgeryType = "herm2female"]] | 
-	[[Remove your female half|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, $cash -= 25000, $surgeryType = "herm2male"]] 
+	[[Remove your female half|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $cash -= 25000, $surgeryType = "herm2male"]] 
 	<<if $PC.title > 0>>
 		| [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.title = 0, $cash -= 25000, $surgeryType = "herm2truefemale"]]
 	<<else>>
-		| [[Remove your female half completely|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $PC.title = 1, $cash -= 25000, $surgeryType = "herm2truemale"]]
+		| [[Remove your female half completely|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $PC.title = 1, $cash -= 25000, $surgeryType = "herm2truemale"]]
 	<</if>>
 <<elseif $PC.dick == 1>>
 	You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@
 	<br>
 	[[Have your male organs replaced with female ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.vagina = 1, $PC.newVag = 1, $cash -= 50000, $surgeryType = "male2female"]] | 
-	[[Add a female reproductive tract|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $cash -= 150000, $surgeryType = "male2herm"]]
+	[[Add a female reproductive tract|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $cash -= 150000, $surgeryType = "male2herm"]]
 	<<if $PC.title > 0>>
 		 | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick == 0, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, $cash -= 50000, $surgeryType = "male2truefemale"]] | 
-		 | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, $cash -= 150000, $surgeryType = "male2hermfemale"]]
+		 | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $PC.title = 0, $cash -= 150000, $surgeryType = "male2hermfemale"]]
 	<</if>>
 <<else>>
 	You have @@.orange;female genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@
@@ -341,7 +341,7 @@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original
 	[[Have your female organs replaced with male ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, $cash -= 50000, $surgeryType = "female2male"]] | 
 	[[Add a male reproductive tract|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $cash -= 150000, $surgeryType = "female2herm"]]
 	<<if $PC.title == 0>>
-		| [[Become a man|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, $PC.preg = 0, $PC.title = 1, $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $cash -= 50000, $surgeryType = "female2truemale"]] | 
+		| [[Become a man|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.title = 1, $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $cash -= 50000, $surgeryType = "female2truemale"]] | 
 		| [[Become a hermaphrodite boy|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.title = 1, $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $cash -= 150000, $surgeryType = "female2hermmale"]]
 	<</if>>
 <</if>>
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index 7aa00e58a68..78a4e177888 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -157,7 +157,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 <<case "degradationist arcology">>
 	"It wa<<s>> horrible." You sold her to a Degradationist arcology; it's nothing short of incredible that she managed to get back here. She must have sold and traded herself without hesitation.
 	<<if $activeSlave.ovaries>>
-		<<set $activeSlave.ovaries = 0, $activeSlave.preg = 0, $activeSlave.pregType = 0, $activeSlave.vagina = 4, $activeSlave.pregWeek = 0, $activeSlave.pregKnown = 0>>
+		<<set $activeSlave.ovaries = 0, $activeSlave.preg = 0, WombFlush($activeSlave), $activeSlave.pregType = 0, $activeSlave.vagina = 4, $activeSlave.pregWeek = 0, $activeSlave.pregKnown = 0>>
 		<<SetBellySize $activeSlave>>
 		"They f-fixed me, t-to '<<s>>ave on maintenan<<c>>e of my cunt,'
 	<<elseif $activeSlave.balls>>
diff --git a/src/uncategorized/recETSWorkaround.tw b/src/uncategorized/recETSWorkaround.tw
index a979ab11148..80ba709fefe 100644
--- a/src/uncategorized/recETSWorkaround.tw
+++ b/src/uncategorized/recETSWorkaround.tw
@@ -523,6 +523,7 @@ You turn to the child clutching her mother's grotesque belly.
 	<<set $activeSlave.pregType = 0>>
 	<<set $activeSlave.pregKnown = 0>>
 	<<set $activeSlave.pregWeek = 0>>
+	<<set WombFlush($activeSlave)>>
 	<<SetBellySize $activeSlave>>
 	<<set $activeSlave.labor = 0>>
 	<<set $activeSlave.ovaries = 0>>
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index 937769dc1ad..8971f57b224 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -970,7 +970,7 @@
 		<<if $slaves[$i].health <= -100>>
 			$possessiveCap critically poor health @@.orange;caused her to miscarry.@@
 			<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-			<<set $slaves[$i].pregType = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregKnown = 0>><<SetBellySize $slaves[$i]>>
+			<<set $slaves[$i].pregType = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregKnown = 0, WombFlush($slaves[$i])>><<SetBellySize $slaves[$i]>>
 			<<if $slaves[$i].fetish != "mindbroken" && $slaves[$i].fuckdoll == 0>>
 				$pronounCap is
 				<<if $slaves[$i].devotion < -50>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 8d6f831ed15..05469547d62 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -324,7 +324,7 @@
 		<</if>>
 	<<elseif $HeadGirl.fetish != "pregnancy" && $slaves[$i].pregKnown == 1 && $slaves[$i].preg < 30 && $arcologies[0].FSRepopulationFocus == "unset" && $HGSuiteDrugs == 1>>
 		$HeadGirl.slaveName promptly aborts the child growing in $slaves[$i].slaveName since she prefers her girls not harboring someone else's child or loaded down with her own unwanted spawn.
-		<<set $slaves[$i].preg = 0, $slaves[$i].pregType = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregWeek = 0, $slaves[$i].pregKnown = 0>>
+		<<set $slaves[$i].preg = 0, WombFlush($slaves[$i]), $slaves[$i].pregType = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregWeek = 0, $slaves[$i].pregKnown = 0>>
 		<<SetBellySize $slaves[$i]>>
 	<</if>>
 <</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 57e69c7e275..ce7ed8596f6 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -483,7 +483,7 @@
 		The tight corseting has @@.orange;caused her to miscarry,@@ which @@.red;damages her health.@@
 		<<set $slaves[$i].health -= 20>>
 		<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-		<<set $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+		<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
 		<<SetBellySize $slaves[$i]>>
 		<<if $slaves[$i].reservedChildren > 0>><<set $reservedChildren -= $slaves[$i].reservedChildren>><<set $slaves[$i].reservedChildren = 0>><</if>>
 		She is
@@ -795,7 +795,7 @@
 		The dildo penetrating her womb @@.orange;caused her to miscarry,@@ which @@.red;damages her health.@@
 		<<set  $slaves[$i].health -= 20>>
 		<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-		<<set $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+		<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
 		<<SetBellySize $slaves[$i]>>
 		She is
 		<<if $slaves[$i].devotion < -50>>
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 9f8363b69a9..d723ee91511 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -469,7 +469,7 @@
 		<<link "Advanced">><<set $activeSlave.preg = 34,$activeSlave.pregType = 1,$activeSlave.belly = 10000,$activeSlave.bellyPreg = 10000,$activeSlave.pubertyXX = 1>><<replace "#preg">>Advanced.<</replace>><<StartingGirlsCost>><</link>> |
 		<<link "Showing">><<set $activeSlave.preg = 27,$activeSlave.pregType = 1,$activeSlave.belly = 5000,$activeSlave.bellyPreg = 5000,$activeSlave.pubertyXX = 1>><<replace "#preg">>Showing.<</replace>><<StartingGirlsCost>><</link>> |
 		<<link "Early">><<set $activeSlave.preg = 12,$activeSlave.pregType = 1,$activeSlave.belly = 100,$activeSlave.bellyPreg = 100,$activeSlave.pubertyXX = 1>><<replace "#preg">>Early.<</replace>><<StartingGirlsCost>><</link>> |
-		<<link "None">><<set $activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> |
+		<<link "None">><<set $activeSlave.preg = 0,WombFlush($activeSlave),$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> |
 		<<link "Barren">><<set $activeSlave.preg = -2,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#preg">>Barren.<</replace>><<StartingGirlsCost>><</link>>
 		<br>''Puberty:''
 		<span id="pub">
@@ -479,7 +479,7 @@
 		</span>
 		<<textbox "$activeSlave.pubertyAgeXX" $activeSlave.pubertyAgeXX "Starting Girls">>
 		<<link "Postpubescent">><<set $activeSlave.pubertyXX = 1>><<replace "#pub">>Postpubescent.<</replace>><<StartingGirlsCost>><</link>> |
-		<<link "Prepubescent">><<set $activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge,$activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#pub">>Prepubescent.<</replace>><<StartingGirlsCost>><</link>>
+		<<link "Prepubescent">><<set $activeSlave.pubertyXX = 0,$activeSlave.pubertyAgeXX = $fertilityAge,$activeSlave.preg = 0,WombFlush($activeSlave),$activeSlave.pregType = 0,$activeSlave.belly = 0,$activeSlave.bellyPreg = 0,$activeSlave.pregSource = 0>><<replace "#pub">>Prepubescent.<</replace>><<StartingGirlsCost>><</link>>
 		<<if $PC.dick == 1>>
 		<br> ''Father:''
 		<span id="father">
@@ -1685,7 +1685,7 @@
 		<<else>>Normal vagina.
 		<</if>>
 		<<link "No vagina">>
-			<<set $customSlave.vagina = -1, $customSlave.preg = 0, $customSlave.ovaries = 0>>
+			<<set $customSlave.vagina = -1, $customSlave.preg = 0, WombFlush($activeSlave), $customSlave.ovaries = 0>>
 			<<CustomSlaveVagina>>
 		<</link>>
 	<</replace>>
diff --git a/src/utility/summaryWidgets.tw b/src/utility/summaryWidgets.tw
index 5b86241f962..8a6e22f3223 100644
--- a/src/utility/summaryWidgets.tw
+++ b/src/utility/summaryWidgets.tw
@@ -39,5 +39,5 @@
 <<if isNaN($args[0].penetrativeCount)>><<set $args[0].penetrativeCount = 0>>//Pentration count has broken, report what you just did!<</if>>
 <<if ndef $args[0].foreskin>><<set $args[0].foreskin = 0>><</if>>
 <<if $args[0].amp != 0 && $args[0].heels == 1>><<set $args[0].heels = 0>><</if>>
-<<if $args[0].vagina < 0 && $args[0].mpreg == 0 && $args[0].preg == -1>><<set $args[0].preg = 0>><</if>>
+<<if $args[0].vagina < 0 && $args[0].mpreg == 0 && $args[0].preg == -1>><<set $args[0].preg = 0, WombFlush($args[0])>><</if>>
 <</widget>>
-- 
GitLab