From ccba07e9491e09322ac4ac119dc95eb4b0121458 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sun, 27 Sep 2020 00:19:19 -0400
Subject: [PATCH] move SI to assume AS instead of activeSlave

---
 src/facilities/nursery/nursery.tw            |   2 +-
 src/interaction/main/mainLinks.js            |   2 +-
 src/interaction/slaveInteract.js             |   4 +-
 src/js/slaveListing.js                       |   2 +-
 src/npc/exportSlave.tw                       |   8 +-
 src/npc/interaction/passage/fAnimalImpreg.tw |   1 +
 src/npc/interaction/passage/matchmaking.tw   | 129 ++++++++++---------
 src/pregmod/managePersonalAffairs.tw         |  10 +-
 src/uncategorized/costsReport.tw             |   2 +-
 src/uncategorized/costsReportSlaves.tw       |   2 +-
 src/uncategorized/slaveInteract.tw           |   1 -
 11 files changed, 88 insertions(+), 75 deletions(-)

diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw
index 710ba0384bd..c2fc4eb2118 100644
--- a/src/facilities/nursery/nursery.tw
+++ b/src/facilities/nursery/nursery.tw
@@ -211,7 +211,7 @@
 						<<set _pregWeek = $slaves[_u].pregWeek>>
 						<<set _slaveName = SlaveFullName($slaves[_u])>>
 						<div class="possible" @id="_slaveId" @data-preg-count="_WL" @data-reserved-spots="_reservedNursery" @data-preg-week="_pregWeek" @data-name="_slaveName">
-						<<print "[[_slaveName|Slave Interact][$activeSlave = $slaves[" + _u + "], $nextLink = passage()]]">> is <<= numberWithPluralOne($slaves[_u].pregWeek, "week")>> pregnant with
+						<<print "[[_slaveName|Slave Interact][$AS = $slaves[" + _u + "].ID, $nextLink = passage()]]">> is <<= numberWithPluralOne($slaves[_u].pregWeek, "week")>> 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
diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js
index ce76a25865c..5a501292ef8 100644
--- a/src/interaction/main/mainLinks.js
+++ b/src/interaction/main/mainLinks.js
@@ -190,7 +190,7 @@ App.UI.View.mainLinks = function() {
 					const div = document.createElement("div");
 					div.classList.add("yellow");
 					div.append(`The lab has completed ${addA(setup.prosthetics[V.adjustProsthetics[j].id].name)} for `,
-						App.UI.DOM.makeElement("span", App.UI.DOM.link(SlaveFullName(slave), () => { V.activeSlave = slave; }, [], "Slave Interact"), "clear-formatting"),
+						App.UI.DOM.makeElement("span", App.UI.DOM.link(SlaveFullName(slave), () => { V.AS = slave.ID; }, [], "Slave Interact"), "clear-formatting"),
 						" which is ready to be attached.");
 					fragment.append(div);
 				}
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index a5cb4a242c6..9c55102a1bf 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -45,7 +45,7 @@ App.UI.SlaveInteract.navigation = function(slave) {
 
 	App.UI.DOM.appendNewElement("span", p, App.UI.Hotkeys.hotkeys("prev-slave"), "hotkey");
 	const prevSpan = App.UI.DOM.makeElement("span", App.UI.DOM.passageLink("Prev", "Slave Interact",
-		() => { V.activeSlave = getSlave(App.UI.SlaveInteract.placeInLine(slave)[0]); }), "adjacent-slave");
+		() => { V.AS = App.UI.SlaveInteract.placeInLine(slave)[0]; }), "adjacent-slave");
 	prevSpan.id = "prev-slave";
 	p.append(" ", prevSpan);
 
@@ -62,7 +62,7 @@ App.UI.SlaveInteract.navigation = function(slave) {
 	p.append(centerSpan);
 
 	const nextSpan = App.UI.DOM.makeElement("span", App.UI.DOM.passageLink("Next", "Slave Interact",
-		() => { V.activeSlave = getSlave(App.UI.SlaveInteract.placeInLine(slave)[1]); }), "adjacent-slave");
+		() => { V.AS = App.UI.SlaveInteract.placeInLine(slave)[1]; }), "adjacent-slave");
 	nextSpan.id = "next-slave";
 	p.append(nextSpan, " ");
 	App.UI.DOM.appendNewElement("span", p, App.UI.Hotkeys.hotkeys("next-slave"), "hotkey");
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 3c0eb404892..8b387b2e2c0 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -527,7 +527,7 @@ App.UI.SlaveList.SlaveInteract = {};
 App.UI.SlaveList.SlaveInteract.stdInteract = function(slave) {
 	const link = App.UI.DOM.passageLink(SlaveFullName(slave), "Slave Interact", () => {
 		App.UI.SlaveList.ScrollPosition.record();
-		V.activeSlave = slave;
+		V.AS = slave.ID;
 	});
 	if (V.favorites.includes(slave.ID)) {
 		return App.UI.DOM.combineNodes(
diff --git a/src/npc/exportSlave.tw b/src/npc/exportSlave.tw
index 1cf3bef4820..ec71866dcd8 100644
--- a/src/npc/exportSlave.tw
+++ b/src/npc/exportSlave.tw
@@ -1,12 +1,16 @@
 :: Export Slave [nobr]
 
-<<set $nextButton = "Continue", $nextLink = "Slave Interact">>
+<<set $nextButton = "Continue", $nextLink = "Slave Interact", $AS = $activeSLave.ID>>
 
 //Copy the following block of code for importing//
 
 <br><br>
 
-<<if (ndef $activeSlave.currentRules) || ($activeSlave.currentRules.length < 1)>><<set _currentRules = "[]">><<else>><<set _currentRules = "$activeSlave.currentRules">><</if>>
+<<if (ndef $activeSlave.currentRules) || ($activeSlave.currentRules.length < 1)>>
+	<<set _currentRules = "[]">>
+<<else>>
+	<<set _currentRules = "$activeSlave.currentRules">>
+<</if>>
 
 /* <br><br><br> __Direct JSON export method__: <br><br> */
 
diff --git a/src/npc/interaction/passage/fAnimalImpreg.tw b/src/npc/interaction/passage/fAnimalImpreg.tw
index 37cdb96e0fb..6b9b83da62b 100644
--- a/src/npc/interaction/passage/fAnimalImpreg.tw
+++ b/src/npc/interaction/passage/fAnimalImpreg.tw
@@ -1,6 +1,7 @@
 :: FAnimalImpreg [nobr]
 
 <<set $nextButton = "Back", $nextLink = "Slave Interact", $impregnatrix = 0, $eligibility = 0>>
+<<set $AS = $activeSlave.ID>>
 
 <<set _CL = $canines.length, _HL = $hooved.length, _FL = $felines.length>>
 
diff --git a/src/npc/interaction/passage/matchmaking.tw b/src/npc/interaction/passage/matchmaking.tw
index 1bec089c484..d8aa42e569f 100644
--- a/src/npc/interaction/passage/matchmaking.tw
+++ b/src/npc/interaction/passage/matchmaking.tw
@@ -6,25 +6,26 @@
 	<<set $nextLink = "Slave Interact">>
 <</if>>
 <<set $nextButton = "Continue">>
+<<set $AS = $activeSlave.ID>>
 
 <<if $subSlave == 0>>
 
-<<set $desc = SlaveTitle(getSlave($activeSlave.ID))>>
-<<set _belly = bellyAdjective(getSlave($activeSlave.ID))>>
-<<run App.Utils.setLocalPronouns(getSlave($activeSlave.ID))>>
+<<set $desc = SlaveTitle(getSlave($AS))>>
+<<set _belly = bellyAdjective(getSlave($AS))>>
+<<run App.Utils.setLocalPronouns(getSlave($AS))>>
 <<setPlayerPronouns>>
 <<setAssistantPronouns>>
 
 /* 000-250-006 */
 <<if $seeImages == 1>>
 	<div class="imageRef medImg">
-		<<= SlaveArt(getSlave($activeSlave.ID), 2, 0)>>
+		<<= SlaveArt(getSlave($AS), 2, 0)>>
 	</div>
 <</if>>
 /* 000-250-006 */
 
-You order <<= getSlave($activeSlave.ID).slaveName>> to come to your office. The <<if getSlave($activeSlave.ID).relationship == -2>>worshipful<<else>>slutty<</if>> $desc arrives promptly, greets you correctly, and waits <<if getSlave($activeSlave.ID).relationship == -2>>adoringly for a command<<else>>eagerly for you to fuck $him<</if>>. You consider the situation carefully.
-<<if getSlave($activeSlave.ID).relationship == -2>>
+You order <<= getSlave($AS).slaveName>> to come to your office. The <<if getSlave($AS).relationship == -2>>worshipful<<else>>slutty<</if>> $desc arrives promptly, greets you correctly, and waits <<if getSlave($AS).relationship == -2>>adoringly for a command<<else>>eagerly for you to fuck $him<</if>>. You consider the situation carefully.
+<<if getSlave($AS).relationship == -2>>
 	$He's emotionally bonded to you, and loves you with all $his heart. $He would probably do anything you command and love you all the more for it. If you were to decide that you were tired of $his adoration, you could probably set $him up with another similarly broken slave. If you ordered them to love each other like they love you, they'd obey.
 <<else>>
 	$He's an emotional slut, and worships you and values $himself primarily in terms of sex. $He's such a perfect sex slave that $he'd probably fuck anyone or anything you told $him to, and love you all the more for giving $him the chance. If you were to decide that even a sex slave like $him needs a little more structure than constant omnisexual lust, you could probably set $him up with another universal slut.
@@ -36,7 +37,7 @@ Their relationship would probably be somewhat artificial at first, and they'd ha
 
 <<if $seeImages == 1>><br style="clear:both"><</if>>
 
-<br><br>__Put $him with another worshipful <<if getSlave($activeSlave.ID).relationship == -2>>emotionally bonded slave<<else>>emotional slut<</if>>:__
+<br><br>__Put $him with another worshipful <<if getSlave($AS).relationship == -2>>emotionally bonded slave<<else>>emotional slut<</if>>:__
 <<includeDOM App.UI.SlaveList.slaveSelectionList(
 	s => s.devotion >= 100 && s.relationship === $activeSlave.relationship && s.ID !== $activeSlave.ID,
 	App.UI.SlaveList.SlaveInteract.stdInteract,
@@ -51,7 +52,7 @@ Their relationship would probably be somewhat artificial at first, and they'd ha
 <<if $seeImages == 1>>
 	<div class="imageColumn">
 		<div class="imageRef medImg">
-			<<= SlaveArt(getSlave($activeSlave.ID), 2, 0)>>
+			<<= SlaveArt(getSlave($AS), 2, 0)>>
 		</div>
 		<div class="imageRef medImg">
 			<<= SlaveArt($subSlave, 2, 0)>>
@@ -62,8 +63,8 @@ Their relationship would probably be somewhat artificial at first, and they'd ha
 
 <<setLocalPronouns $subSlave 2>>
 
-You decide to set <<= getSlave($activeSlave.ID).slaveName>> up with $subSlave.slaveName. Telling the former to wait, you have the latter hurry up to your office. When the <<if getSlave($activeSlave.ID).relationship == -2>>slaves are waiting adoringly<<else>>sluts are waiting with barely concealed lust<</if>> in front of your desk together, you inform them of your decision.
-<<if getSlave($activeSlave.ID).relationship == -2>>
+You decide to set <<= getSlave($AS).slaveName>> up with $subSlave.slaveName. Telling the former to wait, you have the latter hurry up to your office. When the <<if getSlave($AS).relationship == -2>>slaves are waiting adoringly<<else>>sluts are waiting with barely concealed lust<</if>> in front of your desk together, you inform them of your decision.
+<<if getSlave($AS).relationship == -2>>
 	You commend their love for you, and let them know that it's all right for it to continue, but command them to love each other, too. They look doubtful, but at your orders they obediently take each other by the hand, and share a kiss. It will do for now. You assign them to live together as much as possible for a few days, and inform them that you'll be limiting your personal contact with them during this period. They give you identical looks of horror, and fail to notice how much of a perfect couple they already are.
 <<else>>
 	You praise their total commitment to sexual slavery, and let them know they'll continue to be sex slaves, but tell them that it's time for them to settle down. They give you identical looks of horror, and fail to notice how much of a perfect couple they already are. Patiently, you explain that their sex lives will remain more or less unchanged; just because two slaves are together doesn't mean they can't and won't have sex with other people. They look doubtful, but cheer up when you inform them that they'll be spending a lot of alone time together for a few days.
@@ -71,58 +72,58 @@ You decide to set <<= getSlave($activeSlave.ID).slaveName>> up with $subSlave.sl
 <br><br>
 Being ordered into a relationship would be difficult for anyone, but they're so obedient that @@.lightgreen;they do their best and make it work.@@ You ensure that they do, and your determined efforts to do so @@.mediumorchid;reduce their devotion to you,@@ though it's mostly by redirection towards each other. And in any case, they remain devoted enough, and will likely return to their earlier worshipfulness in a few weeks at most.
 <<set _matched = 1>>
-<<if (getSlave($activeSlave.ID).fetish == "submissive") && ($subSlave.fetish == "dom")>>
-	$subSlave.slaveName is a dom and <<= getSlave($activeSlave.ID).slaveName>> is a sub. It's a match out of bad fiction.
-<<elseif ($subSlave.fetish == "submissive") && (getSlave($activeSlave.ID).fetish == "dom")>>
-	<<= getSlave($activeSlave.ID).slaveName>> is a dom and $subSlave.slaveName is a sub. It's a match out of bad fiction.
-<<elseif (getSlave($activeSlave.ID).fetish == "masochist") && ($subSlave.fetish == "sadist")>>
-	$subSlave.slaveName is a sadist and <<= getSlave($activeSlave.ID).slaveName>> is a masochist. They're a perfect ouroboros of agony.
-<<elseif ($subSlave.fetish == "masochist") && (getSlave($activeSlave.ID).fetish == "sadist")>>
-	<<= getSlave($activeSlave.ID).slaveName>> is a sadist and $subSlave.slaveName is a masochist. They're a perfect ouroboros of agony.
-<<elseif (getSlave($activeSlave.ID).fetish == "cumslut") && ($subSlave.balls > 0)>>
-	$subSlave.slaveName has balls and <<= getSlave($activeSlave.ID).slaveName>> has the appetite to drain them of every drop of cum.
-<<elseif ($subSlave.fetish == "cumslut") && (getSlave($activeSlave.ID).balls > 0)>>
-	<<= getSlave($activeSlave.ID).slaveName>> has balls and $subSlave.slaveName has the appetite to drain them of every drop of cum.
-<<elseif (getSlave($activeSlave.ID).fetish == "humiliation") && ($subSlave.fetish == "sadist")>>
-	<<= getSlave($activeSlave.ID).slaveName>> loves to be humiliated, and $subSlave.slaveName can definitely get off on another $girl's shame.
-<<elseif ($subSlave.fetish == "humiliation") && (getSlave($activeSlave.ID).fetish == "sadist")>>
-	$subSlave.slaveName loves to be humiliated, and <<= getSlave($activeSlave.ID).slaveName>> can definitely get off on another _girl2's shame.
-<<elseif (getSlave($activeSlave.ID).fetish == "buttslut") && ($subSlave.fetish == "dom")>>
-	$subSlave.slaveName likes fucking other girls, so once <<= getSlave($activeSlave.ID).slaveName>> asks _him2 to just do it to $his ass all the time, they're both happy.
-<<elseif ($subSlave.fetish == "buttslut") && (getSlave($activeSlave.ID).fetish == "dom")>>
-	<<= getSlave($activeSlave.ID).slaveName>> likes fucking other girls, so once $subSlave.slaveName asks $him to just do it to _his2 ass all the time, they're both happy.
-<<elseif (getSlave($activeSlave.ID).fetish == "boobs") && ($subSlave.boobs > 4000)>>
-	<<= getSlave($activeSlave.ID).slaveName>> fetishized breasts so much that $he thinks $subSlave.slaveName's udders are one of the sexiest things $he's ever seen.
-<<elseif ($subSlave.fetish == "boobs") && (getSlave($activeSlave.ID).boobs > 4000)>>
-	$subSlave.slaveName fetishized breasts so much that _he2 thinks <<= getSlave($activeSlave.ID).slaveName>>'s udders are one of the sexiest things _he2's ever seen.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 300000 && getSlave($activeSlave.ID).bellyPreg >= 300000>>
-	<<= getSlave($activeSlave.ID).slaveName>> and $subSlave.slaveName are both enormously laden with children, much to the other's delight. They can't wait to explore each other's baby filled middle.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2 && getSlave($activeSlave.ID).preg > getSlave($activeSlave.ID).pregData.normalBirth/2>>
-	<<= getSlave($activeSlave.ID).slaveName>> and $subSlave.slaveName are both heavily pregnant, much to the other's delight.
-<<elseif ($subSlave.fetish == "pregnancy") && getSlave($activeSlave.ID).bellyPreg >= 300000>>
-	$subSlave.slaveName fetishizes pregnant bellies so much that _he2 is awestruck by <<= getSlave($activeSlave.ID).slaveName>>'s enormous, baby filled middle.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && $subSlave.bellyPreg >= 300000>>
-	<<= getSlave($activeSlave.ID).slaveName>> fetishizes pregnant bellies so much that $he is awestruck by $subSlave.slaveName's enormous, baby filled middle.
-<<elseif ($subSlave.fetish == "pregnancy") && getSlave($activeSlave.ID).preg > getSlave($activeSlave.ID).pregData.normalBirth/2>>
-	$subSlave.slaveName fetishizes pregnant bellies so much that _he2 thinks <<= getSlave($activeSlave.ID).slaveName>> gravid middle is one of the sexiest things _he2's ever seen.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2>>
-	<<= getSlave($activeSlave.ID).slaveName>> fetishizes pregnant bellies so much that $he thinks $subSlave.slaveName's gravid middle is one of the sexiest things $he's ever seen.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 100 && getSlave($activeSlave.ID).bellyPreg >= 100>>
-	<<= getSlave($activeSlave.ID).slaveName>> and $subSlave.slaveName are both pregnant and just beginning to show. They'll both be able to enjoy the other's swelling body.
-<<elseif (getSlave($activeSlave.ID).fetish == "pregnancy") && canAchieveErection($subSlave)>>
-	<<= getSlave($activeSlave.ID).slaveName>> can indulge the fantasy that $he's getting pregnant each and every time $subSlave.slaveName cums inside $him.
-<<elseif ($subSlave.fetish == "pregnancy") && canAchieveErection(getSlave($activeSlave.ID))>>
-	$subSlave.slaveName can indulge the fantasy that _he2's getting pregnant each and every time <<= getSlave($activeSlave.ID).slaveName>> cums inside _him2.
+<<if (getSlave($AS).fetish == "submissive") && ($subSlave.fetish == "dom")>>
+	$subSlave.slaveName is a dom and <<= getSlave($AS).slaveName>> is a sub. It's a match out of bad fiction.
+<<elseif ($subSlave.fetish == "submissive") && (getSlave($AS).fetish == "dom")>>
+	<<= getSlave($AS).slaveName>> is a dom and $subSlave.slaveName is a sub. It's a match out of bad fiction.
+<<elseif (getSlave($AS).fetish == "masochist") && ($subSlave.fetish == "sadist")>>
+	$subSlave.slaveName is a sadist and <<= getSlave($AS).slaveName>> is a masochist. They're a perfect ouroboros of agony.
+<<elseif ($subSlave.fetish == "masochist") && (getSlave($AS).fetish == "sadist")>>
+	<<= getSlave($AS).slaveName>> is a sadist and $subSlave.slaveName is a masochist. They're a perfect ouroboros of agony.
+<<elseif (getSlave($AS).fetish == "cumslut") && ($subSlave.balls > 0)>>
+	$subSlave.slaveName has balls and <<= getSlave($AS).slaveName>> has the appetite to drain them of every drop of cum.
+<<elseif ($subSlave.fetish == "cumslut") && (getSlave($AS).balls > 0)>>
+	<<= getSlave($AS).slaveName>> has balls and $subSlave.slaveName has the appetite to drain them of every drop of cum.
+<<elseif (getSlave($AS).fetish == "humiliation") && ($subSlave.fetish == "sadist")>>
+	<<= getSlave($AS).slaveName>> loves to be humiliated, and $subSlave.slaveName can definitely get off on another $girl's shame.
+<<elseif ($subSlave.fetish == "humiliation") && (getSlave($AS).fetish == "sadist")>>
+	$subSlave.slaveName loves to be humiliated, and <<= getSlave($AS).slaveName>> can definitely get off on another _girl2's shame.
+<<elseif (getSlave($AS).fetish == "buttslut") && ($subSlave.fetish == "dom")>>
+	$subSlave.slaveName likes fucking other girls, so once <<= getSlave($AS).slaveName>> asks _him2 to just do it to $his ass all the time, they're both happy.
+<<elseif ($subSlave.fetish == "buttslut") && (getSlave($AS).fetish == "dom")>>
+	<<= getSlave($AS).slaveName>> likes fucking other girls, so once $subSlave.slaveName asks $him to just do it to _his2 ass all the time, they're both happy.
+<<elseif (getSlave($AS).fetish == "boobs") && ($subSlave.boobs > 4000)>>
+	<<= getSlave($AS).slaveName>> fetishized breasts so much that $he thinks $subSlave.slaveName's udders are one of the sexiest things $he's ever seen.
+<<elseif ($subSlave.fetish == "boobs") && (getSlave($AS).boobs > 4000)>>
+	$subSlave.slaveName fetishized breasts so much that _he2 thinks <<= getSlave($AS).slaveName>>'s udders are one of the sexiest things _he2's ever seen.
+<<elseif (getSlave($AS).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 300000 && getSlave($AS).bellyPreg >= 300000>>
+	<<= getSlave($AS).slaveName>> and $subSlave.slaveName are both enormously laden with children, much to the other's delight. They can't wait to explore each other's baby filled middle.
+<<elseif (getSlave($AS).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2 && getSlave($AS).preg > getSlave($AS).pregData.normalBirth/2>>
+	<<= getSlave($AS).slaveName>> and $subSlave.slaveName are both heavily pregnant, much to the other's delight.
+<<elseif ($subSlave.fetish == "pregnancy") && getSlave($AS).bellyPreg >= 300000>>
+	$subSlave.slaveName fetishizes pregnant bellies so much that _he2 is awestruck by <<= getSlave($AS).slaveName>>'s enormous, baby filled middle.
+<<elseif (getSlave($AS).fetish == "pregnancy") && $subSlave.bellyPreg >= 300000>>
+	<<= getSlave($AS).slaveName>> fetishizes pregnant bellies so much that $he is awestruck by $subSlave.slaveName's enormous, baby filled middle.
+<<elseif ($subSlave.fetish == "pregnancy") && getSlave($AS).preg > getSlave($AS).pregData.normalBirth/2>>
+	$subSlave.slaveName fetishizes pregnant bellies so much that _he2 thinks <<= getSlave($AS).slaveName>> gravid middle is one of the sexiest things _he2's ever seen.
+<<elseif (getSlave($AS).fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2>>
+	<<= getSlave($AS).slaveName>> fetishizes pregnant bellies so much that $he thinks $subSlave.slaveName's gravid middle is one of the sexiest things $he's ever seen.
+<<elseif (getSlave($AS).fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 100 && getSlave($AS).bellyPreg >= 100>>
+	<<= getSlave($AS).slaveName>> and $subSlave.slaveName are both pregnant and just beginning to show. They'll both be able to enjoy the other's swelling body.
+<<elseif (getSlave($AS).fetish == "pregnancy") && canAchieveErection($subSlave)>>
+	<<= getSlave($AS).slaveName>> can indulge the fantasy that $he's getting pregnant each and every time $subSlave.slaveName cums inside $him.
+<<elseif ($subSlave.fetish == "pregnancy") && canAchieveErection(getSlave($AS))>>
+	$subSlave.slaveName can indulge the fantasy that _he2's getting pregnant each and every time <<= getSlave($AS).slaveName>> cums inside _him2.
 <<else>>
 	<<set _matched = 0>>
 <</if>>
 <<if _matched == 1>>
 	Their sexual compatibility is excellent, and they @@.mediumaquamarine;trust you more@@ for matching them so perfectly.
-	<<set getSlave($activeSlave.ID).trust += 10>>
+	<<set getSlave($AS).trust += 10>>
 	<<set $subSlave.trust += 10>>
-<<elseif getSlave($activeSlave.ID).fetish == $subSlave.fetish>>
+<<elseif getSlave($AS).fetish == $subSlave.fetish>>
 	They're a couple of
-	<<switch getSlave($activeSlave.ID).fetish>>
+	<<switch getSlave($AS).fetish>>
 	<<case "submissive">>
 		cringing submissives,
 	<<case "cumslut">>
@@ -147,14 +148,14 @@ Being ordered into a relationship would be difficult for anyone, but they're so
 	and they bond over their shared sexual tastes, easing their acclimation to having another slave play a major role in their sex lives. They're almost as happy sharing stories about their past sexual exploits as they are actually having sex.
 <<else>>
 	Their fetishes aren't very compatible, and though as a couple of inventive nymphos they do their absolute best to fuck each other senseless, they @@.gold;trust you a less@@ out of doubt in the sexual match.
-	<<set getSlave($activeSlave.ID).trust -= 10>>
+	<<set getSlave($AS).trust -= 10>>
 	<<set $subSlave.trust -= 10>>
 <</if>>
-<<if getSlave($activeSlave.ID).behavioralQuirk == $subSlave.behavioralQuirk && getSlave($activeSlave.ID).behavioralQuirk != "none">>
+<<if getSlave($AS).behavioralQuirk == $subSlave.behavioralQuirk && getSlave($AS).behavioralQuirk != "none">>
 	They're both
-	<<switch getSlave($activeSlave.ID).behavioralQuirk>>
+	<<switch getSlave($AS).behavioralQuirk>>
 	<<case "confident">>
-		confident, and soon come to an understanding that they'll be able to <<if getSlave($activeSlave.ID).relationship == -2>>serve you better together<<else>>fuck third parties better as a pair<</if>>.
+		confident, and soon come to an understanding that they'll be able to <<if getSlave($AS).relationship == -2>>serve you better together<<else>>fuck third parties better as a pair<</if>>.
 	<<case "cutting">>
 		witty, and each quickly discovers that their new partner can hold up their end of a battle of quips. Their loving snippiness develops rapidly, and it's pretty cute.
 	<<case "funny">>
@@ -178,19 +179,19 @@ Being ordered into a relationship would be difficult for anyone, but they're so
 	<</switch>>
 <<else>>
 	They approach life as slaves differently, and it's @@.gold;tough for them to reconcile their differences over their values.@@
-	<<set getSlave($activeSlave.ID).trust -= 10>>
+	<<set getSlave($AS).trust -= 10>>
 	<<set $subSlave.trust -= 10>>
 <</if>>
 
 <<set $subSlave.relationship = 4>>
 <<set $subSlave.relationshipTarget = $activeSlave.ID>>
 <<set $subSlave.devotion -= 20>>
-<<set getSlave($activeSlave.ID).relationship = 4>>
-<<set getSlave($activeSlave.ID).relationshipTarget = $subSlave.ID>>
-<<set getSlave($activeSlave.ID).devotion -= 20>>
+<<set getSlave($AS).relationship = 4>>
+<<set getSlave($AS).relationshipTarget = $subSlave.ID>>
+<<set getSlave($AS).devotion -= 20>>
 
 <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 
 <</if>>
 
-<<set $activeSlave = getSlave($activeSlave.ID)>> /* this should be harmless, keyword should */
+<<set $activeSlave = getSlave($AS)>> /* this should be harmless, keyword should */
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index 146c0e02333..52b6c07af1d 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -108,7 +108,15 @@
 		<</if>>
 
 		/* yes, I am aware this looks horrendous - if you can find a way to clean this up, by all means */
-		You have a wedding planned for this weekend; you are <<if $weddingPlanned == 1>>marrying<<elseif $weddingPlanned == 2>>sharing<<elseif $weddingPlanned == 3>>knocking up<</if>> <<print "[[SlaveFullName(_slave1)|Slave Interact][$activeSlave = _slave1]]">><<if _ML > 2>>, <<elseif _ML == 2>> and <<print "[[SlaveFullName(_slave2)|Slave Interact][$activeSlave = _slave2]]">><</if>><<if _ML > 2>><<print "[[SlaveFullName(_slave2)|Slave Interact][$activeSlave = _slave2]]">><<if _ML == 3>> and <<else>>, <</if>><<print "[[SlaveFullName(_slave3)|Slave Interact][$activeSlave = _slave3]]">><<if _ML == 4>> and <<print "[[SlaveFullName(_slave4)|Slave Interact][$activeSlave = _slave4]]">><</if>> <<if $weddingPlanned == 2>>with your honored guests<</if>><</if>>.
+		You have a wedding planned for this weekend; you are
+		<<if $weddingPlanned == 1>>
+			marrying
+		<<elseif $weddingPlanned == 2>>
+			sharing
+		<<elseif $weddingPlanned == 3>>
+			knocking up
+		<</if>>
+		<<print "[[SlaveFullName(_slave1)|Slave Interact][$AS = _slave1.ID]]">><<if _ML > 2>>, <<elseif _ML == 2>> and <<print "[[SlaveFullName(_slave2)|Slave Interact][$AS = _slave2.ID]]">><</if>><<if _ML > 2>><<print "[[SlaveFullName(_slave2)|Slave Interact][$AS = _slave2.ID]]">><<if _ML == 3>> and <<else>>, <</if>><<print "[[SlaveFullName(_slave3)|Slave Interact][$AS = _slave3.ID]]">><<if _ML == 4>> and <<print "[[SlaveFullName(_slave4)|Slave Interact][$AS = _slave4.ID]]">><</if>> <<if $weddingPlanned == 2>>with your honored guests<</if>><</if>>.
 		[[Cancel it|Manage Personal Affairs][$weddingPlanned = -1, $marrying = []]]
 	</p>
 <</if>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index 4ee38131c20..d248725996e 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -6,7 +6,7 @@
 <<for $i = 0; $i < _SL; $i++>>
 	<<capture $i>>
 		<br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
-		[[$slaves[$i].slaveName|Slave Interact][$activeSlave = $slaves[$i]]] will $slaves[$i].assignment.
+		[[$slaves[$i].slaveName|Slave Interact][$AS = $slaves[$i].ID]] will $slaves[$i].assignment.
 		<<includeDOM slaveExpenses($slaves[$i])>>
 	<</capture>>
 <</for>>
diff --git a/src/uncategorized/costsReportSlaves.tw b/src/uncategorized/costsReportSlaves.tw
index 0bfb98f93d1..4c8f540b059 100644
--- a/src/uncategorized/costsReportSlaves.tw
+++ b/src/uncategorized/costsReportSlaves.tw
@@ -7,7 +7,7 @@
 <<for $i = 0; $i < _SL; $i++>>
 	<<capture $i>>
 	<br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
-	[[$slaves[$i].slaveName|Slave Interact][$activeSlave = $slaves[$i]]] will $slaves[$i].assignment.
+	[[$slaves[$i].slaveName|Slave Interact][$AS = $slaves[$i].ID]] will $slaves[$i].assignment.
 	<<includeDOM slaveExpenses($slaves[$i])>>
 	<</capture>>
 <</for>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 901901cf4d3..9b09b7d77fb 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -2,7 +2,6 @@
 
 <<set $nextButton = "Confirm changes", $nextLink = "Main">>
 <<set _SL = $slaves.length, _CL = $canines.length, _HL = $hooved.length, _FL = $felines.length>>
-<<set $AS = $activeSlave.ID>>
 <<run App.Utils.setLocalPronouns(getSlave($AS))>>
 <<run Enunciate(getSlave($AS))>>
 <style>
-- 
GitLab