From 04543b4da3d6704d4c84b0a882deb39de7d94e21 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 1 Jun 2018 22:29:27 -0400
Subject: [PATCH] artificial insemination and a couple of fixes

---
 devNotes/VersionChangeLog-Premod+LoliMod.txt | 17 +++++++
 src/pregmod/artificialInsemination.tw        | 49 ++++++++++++++++++++
 src/pregmod/electiveSurgery.tw               | 10 ++--
 src/pregmod/incubator.tw                     | 16 +++----
 src/pregmod/widgets/pregmodWidgets.tw        |  2 +-
 src/uncategorized/BackwardsCompatibility.tw  |  5 +-
 src/uncategorized/reBusyArcade.tw            |  1 +
 src/uncategorized/remoteSurgery.tw           |  5 ++
 src/uncategorized/surgeryDegradation.tw      | 47 +++++++++++++++++--
 9 files changed, 134 insertions(+), 18 deletions(-)
 create mode 100644 src/pregmod/artificialInsemination.tw

diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 635cfb69c90..be69cc62ca6 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,8 +2,25 @@
 
 0.10.7.1-0.3.x
 
+6/01/2018
+
+	6
+	-added artificial insemination
+	-various SF related fixes from SFanon
+	-fixes to braces to age interaction
+
+	5
+	-various minor text corrections
+	-catches to advertisements not getting cleared upon facility decommision
+	-corp fixed race setting should now apply to XY genned slaves
+
 5/31/2018
 
+	4
+	-fixes
+	-fixes to crazy devotion gains from bodyswapping, hopefully
+	-colored slave summary to make it more obvious if something is on a slave
+
 	3
 	-remove all slaves facility option
 	-BC now properly applies pronouns to hero slaves
diff --git a/src/pregmod/artificialInsemination.tw b/src/pregmod/artificialInsemination.tw
new file mode 100644
index 00000000000..63b2e122c86
--- /dev/null
+++ b/src/pregmod/artificialInsemination.tw
@@ -0,0 +1,49 @@
+:: Artificial Insemination [nobr]
+
+<<set $nextButton = "Back", $nextLink = "Remote Surgery", $impregnatrix = 0, _eligibility = 0, _eligibilityI = 0>>
+
+//$activeSlave.slaveName is prepped for fertilization; now you must select a target to harvest sperm from.//
+
+<br><br>
+
+__Select an eligible slave to serve as the semen donatrix:__
+
+<br>
+
+<<for _ai = 0; _ai < $slaves.length; _ai++>>
+	<<if $slaves[_ai].balls > 0 && $slaves[_ai].pubertyXY == 1 && canBreed($activeSlave, $slaves[_ai])>>
+		<br><<print "[[$slaves[_ai].slaveName|Surgery Degradation][$impregnatrix = $slaves[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">>
+		<<set _eligibility = 1>>
+	<</if>>
+<</for>>
+<<if (_eligibility == 0)>>
+	<br>//You have no slaves with potent sperm.//
+<</if>>
+
+/* Disabled until .pregSource can manage to comprehend this
+<<if $incubatorSlaves > 0 && $incubatorReproductionSetting == 2>>
+	<br><br>
+	
+	__Incubator settings are resulting in large-scale fluid secretion. Select an eligible incubatee to milk for semen:__
+
+	<br>
+	<<for _ai = 0; _ai < $tanks.length; _ai++>>
+		<<if $tanks[_ai].balls > 0 && $tanks[_ai].dick > 0 && canBreed($activeSlave, $tanks[_ai])>>
+			<br><<print "[[$tanks[_ai].slaveName|Surgery Degradation][$impregnatrix = $tanks[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">>
+			<<set _eligibilityI = 1>>
+		<</if>>
+	<</for>>
+	<<if (_eligibilityI == 0)>>
+		<br>//You have no growing slaves producing sperm.//
+	<</if>>
+<</if>>
+*/
+
+<<if $PC.dick == 1>>
+	<br>
+	[[Use your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination"]]
+<<elseif $PC.storedCum > 0>>
+	<br>
+	[[Use a vial of your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination", $PC.storedCum--]]
+	//You have enough sperm stored away to inseminate $PC.storedCum more slave<<if $PC.storedCum > 1>>s<</if>>.//
+<</if>>
\ No newline at end of file
diff --git a/src/pregmod/electiveSurgery.tw b/src/pregmod/electiveSurgery.tw
index 3400ddacaf3..0b0906e73ba 100644
--- a/src/pregmod/electiveSurgery.tw
+++ b/src/pregmod/electiveSurgery.tw
@@ -323,22 +323,22 @@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original
 	She pokes your belly. "You're pregnant. What did I tell you?"
 <<else>>
 <<if $PC.dick == 1 && $PC.vagina == 1>>
-	You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@
+	You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!"
 	<br>
-	[[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $cash -= 25000, $surgeryType = "herm2female"]] | 
+	[[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $cash -= 25000, $surgeryType = "herm2female"]] | 
 	[[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, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 25000, $surgeryType = "herm2truefemale"]]
+		| [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 25000, $surgeryType = "herm2truefemale"]]
 	<<else>>
 		| [[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, $PC.pronoun = "he", $PC.object = "him", $PC.possessive = "his", $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.@@
+	You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!"
 	<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, 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, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 50000, $surgeryType = "male2truefemale"]] | 
+		 | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 50000, $surgeryType = "male2truefemale"]] | 
 		 | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 150000, $surgeryType = "male2hermfemale"]]
 	<</if>>
 <<else>>
diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw
index 94f76266cef..1603f1ad913 100644
--- a/src/pregmod/incubator.tw
+++ b/src/pregmod/incubator.tw
@@ -73,13 +73,13 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 	<<if $slaves[_u].preg > 0 && $slaves[_u].broodmother == 0 && $slaves[_u].pregKnown == 1 && $slaves[_u].eggType == "human">>
 	<<if $slaves[_u].assignment == "work in the dairy" && $dairyPregSetting > 0>>
 	<<else>>
-                <<set _slaveId = "slave-" + $slaves[_u].ID>>
-                <<set _pregCount = $slaves[_u].pregType>>
-                <<set _reservedSpots = $slaves[_u].reservedChildren>>
-                <<set _pregWeek = $slaves[_u].pregWeek>>
-                <<set _slaveName = getSlaveDisplayName($slaves[_u])>>
-                <div class="possible" @id="_slaveId" @data-preg-count="_pregCount" @data-reserved-spots="_reservedSpots" @data-preg-week="_pregWeek" @data-name="_slaveName">
-                <<print "[[_slaveName|Long Slave Description][$activeSlave = $slaves[" + _u + "], $nextLink = passage()]]">> is $slaves[_u].pregWeek weeks pregnant with
+		<<set _slaveId = "slave-" + $slaves[_u].ID>>
+		<<set _pregCount = $slaves[_u].pregType>>
+		<<set _reservedSpots = $slaves[_u].reservedChildren>>
+		<<set _pregWeek = $slaves[_u].pregWeek>>
+		<<set _slaveName = getSlaveDisplayName($slaves[_u])>>
+		<div class="possible" @id="_slaveId" @data-preg-count="_pregCount" @data-reserved-spots="_reservedSpots" @data-preg-week="_pregWeek" @data-name="_slaveName">
+		<<print "[[_slaveName|Long Slave Description][$activeSlave = $slaves[" + _u + "], $nextLink = passage()]]">> is $slaves[_u].pregWeek weeks pregnant with
 		<<if $slaves[_u].pregSource == 0 || $slaves[_u].preg <= 5>>someone's<<if $slaves[_u].preg <= 5>>, though it is too early to tell whose,<</if>>
 		<<elseif $slaves[_u].pregSource == -1>>your
 		<<elseif $slaves[_u].pregSource == -2>>a citizen's
@@ -132,7 +132,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 			You have @@.red;no room for her offspring.@@
 		<</if>>
 		<<set _eligibility = 1>>
-                </div>
+		</div>
 	<</if>>
 	<</if>>
 <</for>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index a7fca1dc21a..8dbb7b40a76 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1,7 +1,7 @@
 :: pregmod widgets [nobr widget]
 
 <<widget "initPC">>
-	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35}>>
+	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0}>>
 
 	<<set WombInit($PC)>>
 
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index b13bf0e3f87..4a232d52d0e 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -300,6 +300,9 @@
 <<if ndef $PC.degeneracy>>
 	<<set $PC.degeneracy = 0>>
 <</if>>
+<<if ndef $PC.storedCum>>
+	<<set $PC.storedCum = 0>>
+<</if>>
 
 <<if ndef $universalRulesImmobileSlavesMaintainMuscles>>
 	<<set $universalRulesImmobileSlavesMaintainMuscles = 0>>
@@ -3138,6 +3141,6 @@ Done!
 <<if $clubAdsSpending > 0 && $club == 0>>
 	<<set $clubAdsSpending = 0>>
 <</if>>
-<<if $brothelAdsSpending > 0 && brothel == 0>>
+<<if $brothelAdsSpending > 0 && $brothel == 0>>
 	<<set $brothelAdsSpending = 0>>
 <</if>>
diff --git a/src/uncategorized/reBusyArcade.tw b/src/uncategorized/reBusyArcade.tw
index c30622691e9..2da960dff38 100644
--- a/src/uncategorized/reBusyArcade.tw
+++ b/src/uncategorized/reBusyArcade.tw
@@ -14,6 +14,7 @@
 <<else>>
 
 <<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "RIE Eligibility Check">>
+<<Enunciate $activeSlave>>
 
 Slaves in your arcade are not immured in the facility permanently, since holding them in one position at all times would negatively impact their health. They are released to exercise, eat, bathe, and sleep, though for nothing else. You occasionally inspect them when they do so, to see that their harsh lives are not inappropriately difficult for them. One day when you are doing so, <<EventNameLink $activeSlave>> flings herself on the ground in front of you the instant she sees you.
 
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index a84078f5f53..b3bb5da0801 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -742,6 +742,11 @@ Work on her sex:
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	$pronounCap has a sterile womb.
 <</if>>
+
+<<if isFertile($activeSlave) && $activeSlave.preg == 0>>
+	[[Artificially inseminate|Artificial Insemination]] |
+<</if>>
+
 <<if ($activeSlave.preg > -2) && ($activeSlave.preg < 1) && ($activeSlave.vagina > -1) && ($activeSlave.ovaries != 0)>>
 	<<if $activeSlave.indentureRestrictions < 1 && $activeSlave.breedingMark != 1>>
 	[[Sterilize|Surgery Degradation][$activeSlave.preg = -2,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "ster"]]
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 99a179e7cf2..df750b7a44f 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -25,7 +25,7 @@
 
 <<set $seed = $activeSlave.devotion>>
 
-<<if ($activeSlave.health < random(-100,-80)) && !["braces", "removeBraces", "basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs"].includes($surgeryType)>>
+<<if ($activeSlave.health < random(-100,-80)) && !["braces", "removeBraces", "basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs", "insemination"].includes($surgeryType)>>
 	$activeSlave.slaveName @@.red;has died from complications of surgery.@@
 	<<if $surgeryType == "ocular implant">>At least the ocular implants are still good.<<set $stockpile.ocularImplant++>><</if>>
 	<<include "Remove activeSlave">>
@@ -429,6 +429,47 @@ As the remote surgery's long recovery cycle completes,
 		<<set $activeSlave.devotion -= 15>>
 	<</if>>
 
+<<case "insemination">>
+	<<set $activeSlave.preg = 1>>
+	<<set $activeSlave.pregType = setPregType($activeSlave)>>
+	<<set $activeSlave.pregWeek = 1>>
+	<<set $activeSlave.pregKnown = 1>>
+	<<set $activeSlave.pregSource = $impregnatrix.ID>>
+	<<set WombImpregnate($activeSlave, $activeSlave.pregType, $activeSlave.pregSource, 1)>>
+	<<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
+		<<if canSee($activeSlave)>>
+			Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its introduction to her waiting egg<<if $activeSlave.pregType > 1>>s<</if>>, she was eagerly watching.
+		<<else>>
+			She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated.
+		<</if>>
+		She is @@.hotpink; filled with joy@@ over the life settling into her womb and can't wait to see the result. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body.
+		<<set $activeSlave.trust += 4, $activeSlave.devotion += 10>>
+	<<elseif ($activeSlave.devotion > 50)>>
+		<<if canSee($activeSlave)>>
+			Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb, she was watching with rapt attention.
+		<<else>>
+			She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated.
+		<</if>>
+		She's @@.hotpink;grateful@@ that you think her worthy of carrying <<if $activeSlave.pregSource == -1>>your<<else>><<print $impregnatrix.slaveName>>'s<</if>> child<<if $activeSlave.pregType > 1>>ren<</if>>, and a little nervous about how she'll perform as a mother.
+		<<set $activeSlave.devotion += 4>>
+	<<elseif ($activeSlave.devotion >= -20)>>
+		<<if canSee($activeSlave)>>
+			Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb and her subsequent impregnation, she couldn't look away.
+		<<else>>
+			She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated.
+		<</if>>
+		She understands the realities of her life as a slave, so it isn't much of a shock. She is @@.gold;sensibly fearful@@ of your total power over her body.
+		<<set $activeSlave.trust -= 10>>
+	<<else>>
+		<<if canSee($activeSlave)>>
+			Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. The moment she realized what was happening, she shut her eyes tight, only opening them again as she feels the slight tingle of the injector exiting her lower abdomen.
+		<<else>>
+			She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated.
+		<</if>>
+		She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you have forced her to become a mother, even more so as she realizes she doesn't know who the father is. She is @@.gold;sensibly fearful@@ of your total power over her body and the future of the life she now harbors within her.
+		<<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>>
+	<</if>>
+
 
 <<case "freshOvaries">>
 	<<if $activeSlave.ovaryAge >= 45>>
@@ -2185,7 +2226,7 @@ As the remote surgery's long recovery cycle completes,
 
 <<if ($PC.medicine >= 100) && !["basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs"].includes($surgeryType)>>
 	<br><br>
-	<<if ($surgeryType != "braces") && ($surgeryType != "removeBraces")>>
+	<<if !["insemination", "braces", "removeBraces"].includes($surgeryType)>>
 		Since you @@.springgreen;performed the surgery yourself,@@ and you do artist's work, her health is @@.green;less affected@@ by the surgery than it would have been if you'd paid some hack to do it remotely.
 		<<set $activeSlave.health += 5>>
 	<</if>>
@@ -2201,7 +2242,7 @@ As the remote surgery's long recovery cycle completes,
 				She is @@.mediumorchid;even more hateful@@ of you afterward than she would otherwise be. It must seem to her that she's nothing more than a test subject to you.
 				<<set $activeSlave.devotion -= 5>>
 			<</if>>
-		<<elseif ($surgeryType != "braces") && ($surgeryType != "removeBraces")>>
+		<<elseif !["insemination", "braces", "removeBraces"].includes($surgeryType)>>
 			<<if ($activeSlave.devotion > 50)>>
 				Since she's happy with the results, she's almost beside herself with @@.hotpink;gratitude,@@ and filled with @@.mediumaquamarine;admiration@@ of your skill.
 				<<set $activeSlave.devotion += 4, $activeSlave.trust += 4>>
-- 
GitLab