:: Matchmaking [nobr]

<<if lastVisited("Child Interact") === 1>>
	<<set $nextLink = "Incubator">>
<<else>>
	<<set $nextLink = "Slave Interact">>
<</if>>
<<set $nextButton = "Continue">>

<<if $subSlave == 0>>

<<set $desc = SlaveTitle(getSlave($activeSlave.ID))>>
<<set _belly = bellyAdjective(getSlave($activeSlave.ID))>>
<<run App.Utils.setLocalPronouns(getSlave($activeSlave.ID))>>
<<setPlayerPronouns>>
<<setAssistantPronouns>>

/* 000-250-006 */
<<if $seeImages == 1>>
	<div class="imageRef medImg">
		<<= SlaveArt(getSlave($activeSlave.ID), 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>>
	$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.
<</if>>
Their relationship would probably be somewhat artificial at first, and they'd have to struggle at it, but after a period of adjustment, you'd have two worshipful slaves again, except that they'd be together. It'd definitely help if they had compatible behavioral quirks and sexual fetishes.
<br><br>

<span id="result">

<<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>>:__
<<print App.UI.SlaveList.slaveSelectionList(
	s => s.devotion >= 100 && s.relationship === $activeSlave.relationship && s.ID !== $activeSlave.ID,
	App.UI.SlaveList.SlaveInteract.stdInteract,
	null,
	(s) => App.UI.DOM.passageLink('Match them', 'Matchmaking', () => { variables().subSlave = s; })
)>>
</span>

<<else>>

/* 000-250-006 */
<<if $seeImages == 1>>
	<div class="imageColumn">
		<div class="imageRef medImg">
			<<= SlaveArt(getSlave($activeSlave.ID), 2, 0)>>
		</div>
		<div class="imageRef medImg">
			<<= SlaveArt($subSlave, 2, 0)>>
		</div>
	</div>
<</if>>
/* 000-250-006 */

<<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 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.
<</if>>
<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.
<<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 $subSlave.trust += 10>>
<<elseif getSlave($activeSlave.ID).fetish == $subSlave.fetish>>
	They're a couple of
	<<switch getSlave($activeSlave.ID).fetish>>
	<<case "submissive">>
		cringing submissives,
	<<case "cumslut">>
		hungry oral fiends,
	<<case "humiliation">>
		public sex aficionados,
	<<case "buttslut">>
		shameless anal whores,
	<<case "boobs">>
		breast obsessives,
	<<case "pregnancy">>
		breeding bitches,
	<<case "dom">>
		dominating spirits,
	<<case "sadist">>
		inveterate sadists,
	<<case "masochist">>
		pain sluts,
	<<default>>
		vanilla girls,
	<</switch>>
	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 $subSlave.trust -= 10>>
<</if>>
<<if getSlave($activeSlave.ID).behavioralQuirk == $subSlave.behavioralQuirk && getSlave($activeSlave.ID).behavioralQuirk != "none">>
	They're both
	<<switch getSlave($activeSlave.ID).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>>.
	<<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">>
		a little weird. It takes a while for them to adjust to how funny their new partner is, but they learn to support each other soon enough.
	<<case "adores women">>
		pretty crazy about ladies. They're both slave girls themselves, which helps, and they've also got a never-ending parade of female bodies to discuss together.
	<<case "adores men">>
		guy crazy. They discuss nothing else together, and their discussions frequently turn into makeouts and then mutual masturbation.
	<<case "fitness">>
		fitness fanatics, and being together feels natural for them, since they've already worked out together often enough.
	<<case "insecure">>
		very insecure. Perhaps unsurprisingly, they soon grow to depend on each other, each relying on their partner to support their low self-esteem.
	<<case "sinful">>
		<<if $arcologies[0].FSChattelReligionist == "unset">>
			eagerly sinful, and they grow close by opening up and sharing their fraught histories of faith with each other.
		<<else>>
			fanatical about being slave acolytes of the new faith, and their partnership is strengthened by their belief that it's divinely ordained.
		<</if>>
	<<case "advocate">>
		advocates for slavery. Not only do they share this, but they believe that your orders are good for them, including your order that they be together.
	<</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 $subSlave.trust -= 10>>
<</if>>

<<set $subSlave.relationship = 4>>
<<set $subSlave.relationshipTarget = getSlave($activeSlave.ID).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 $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>

<<set $activeSlave = getSlave($activeSlave.ID)>>

<</if>>

<<set $activeSlave = getSlave($activeSlave.ID)>> /* this should be harmless, keyword should */

src/npc/interaction/passage/matchmaking.tw