code:
:: piercing description widgets [widget nobr]

<<widget "earPiercingDescription">>
	<<if $activeSlave.earPiercing > 0>>
		<<if $activeSlave.earPiercing == 1>>
			$His earlobes are conventionally pierced.
		<<else>>
			$His ears are heavily pierced, with multiple lobe piercings and a row of helix piercings.
		<</if>>
		<<if ($activeSlave.assignment == "get milked") || ($activeSlave.assignment == "work in the dairy")>>
			$He has a plastic livestock tag in one ear to help identify $him for milking.
		<<else>>
			<<switch $activeSlave.clothes>>
			<<case "attractive lingerie" "attractive lingerie for a pregnant woman">>
				$He's wearing pretty, womanly earrings.
			<<case "a bra" "a button-up shirt" "a button-up shirt and panties" "a sweater" "a sweater and panties" "a t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "a tank-top" "a tank-top and panties" "a thong" "a tube top and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "boyshorts" "cutoffs" "panties">>
				$He's wearing plain but pretty earrings.
			<<case "a nice pony outfit" "a slutty pony outfit">>
				$He's wearing horseshoe shaped earrings.
			<<case "leather pants and pasties" "leather pants" "leather pants and a tube top" "a tube top">>
				$He's wearing large hoop earrings.
			<<case "a gothic lolita dress">>
				$He's wearing black earrings.
			<<case "a sports bra" "a one-piece swimsuit" "sport shorts and a t-shirt" "sport shorts and a sports bra" "sport shorts">>
				$He's wearing cute, simple earrings.
			<<case "a skimpy loincloth">>
				$He's wearing a pair of bone earrings.
			<<case "a police uniform">>
				$He's wearing nightstick-shaped earrings.
			<<case "a succubus outfit">>
				$He's wearing pentagram earrings.
			<<case "a fallen nuns habit" "a penitent nuns habit">>
				$His earrings mimic tiny crowns of thorns.
			<<case "a chattel habit">>
				$He's wearing golden earrings in the shape of saintly nudes.
			<<case "a hijab and abaya" "a niqab and abaya">>
				$He's wearing bronze earrings shaped like crescent moons.
			<<case "a klan robe" "a slutty klan robe">>
				$He's wearing bronze earrings shaped like crucifixes.
			<<case "a long qipao" "a slutty qipao">>
				$His golden earrings resemble Eastern-style dragons.
			<<case "a string bikini" "cutoffs and a t-shirt" "a t-shirt and panties" "panties and pasties" "pasties" "jeans" "a sweater and cutoffs">>
				$He's wearing girly earrings.
			<<case "a schoolgirl outfit">>
				$He's wearing small girlish earrings.
			<<case "striped panties" "a striped bra" "striped underwear">>
				$He's wearing big girlish earrings.
			<<case "a burkini" "a monokini">>
				$He's wearing unobtrusive little stud earrings.
			<<case "a Santa dress">>
				$His earrings resemble little green pine trees.
			<<case "a mini dress" "an apron" "a hanbok">>
				$He's wearing shiny pearl earrings.
			<<case "a hijab and blouse" "conservative clothing">>
				$He's wearing small unobtrusive hoop earrings.
			<<case "a cybersuit" "a scalemail bikini">>
				$He's wearing sharp and brutal-looking earrings.
			<<case "a kimono">>
				$He's wearing gorgeous enameled earrings made to look like tiny koi.
			<<case "a burqa">>
				$He's wearing cheap metal earrings with fake gems.
			<<case "a slave gown" "a halter top dress" "a ball gown" "a maternity dress">>
				$He's wearing lovely diamond earrings; the stones are cut in an alluring, feminine style.
			<<case "slutty business attire">>
				$He's wearing lovely diamond earrings; the stones are cut in a gaudy, nouveau riche style.
			<<case "nice business attire">>
				$He's wearing lovely diamond earrings; the stones are cut in an assertive, unsubtle style.
			<<case "a slutty maid outfit">>
				$He's wearing big hoop earrings inappropriate for a real maid.
			<<case "a nice maid outfit">>
				$He's wearing conservative earrings like those a free maid could afford.
			<<case "harem gauze">>
				$He's wearing broad gold earrings in faux-Arabian style.
			<<case "overalls" "Western clothing">>
				$He's wearing earrings in the shape of a sheriff's star.
			<<case "a huipil">>
				$He's wearing earrings in the shape of a stylized jaguar's head.
			<<case "a bunny outfit">>
				$He's wearing earrings in the shape of a stylized rabbit's head.
			<<case "kitty lingerie">>
				$He's wearing earrings in the shape of a stylized cat's head.
			<<case "a bimbo outfit">>
				$He's wearing large, heart-shaped earrings.
			<<case "a courtesan dress">>
				$He's wearing hanging earrings that accentuate each movement of $his head.
			<<case "slutty jewelry">>
				$He's wearing gold earrings in the shape of a pair of
				<<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>>
					limp dicks.
				<<elseif ($activeSlave.dick > 0)>>
					erect cocks.
				<<elseif ($activeSlave.skill.oral >= 100)>>
					tongues.
				<<elseif ($activeSlave.boobs > 1000)>>
					heavy breasts.
				<<else>>
					female bottoms.
				<</if>>
			<</switch>>
		<</if>>
	<</if>>
<</widget>>

<<widget "nosePiercingDescription">>
	<<if $activeSlave.nosePiercing == 1>>
		$He has simple studs in $his nose.
	<<elseif $activeSlave.nosePiercing == 2>>
		$He has nasal studs and a large septum ring.
		<<if ($activeSlave.clothes == "slutty jewelry") && ($activeSlave.earPiercing > 0)>>
			$His bangles include a light chain from $his nose ring to $his ear piercings on one side.
		<</if>>
	<</if>>
<</widget>>

<<widget "eyebrowPiercingDescription">>
	<<if $activeSlave.eyebrowPiercing == 1>>
		$He has a simple stud in one eyebrow.
	<<elseif $activeSlave.eyebrowPiercing == 2>>
		$He has multiple eyebrow rings.
	<</if>>
<</widget>>

<<widget "lipsPiercingDescription">>
	<<if $activeSlave.lipsPiercing == 1>>
		$He has a simple lip piercing.
	<<elseif $activeSlave.lipsPiercing == 2>>
		$His lips are heavily pierced.
	<</if>>
<</widget>>

<<widget "tonguePiercingDescription">>
	<<if $activeSlave.tonguePiercing == 1>>
		$His tongue bears a single stud, so oral sex with $him is a bit more fun.
	<<elseif $activeSlave.tonguePiercing == 2>>
		$His tongue bears a row of studs, offering thorough stimulation to anyone $he blows.
	<</if>>
	<<if canTalk($activeSlave)>>
		<<if $activeSlave.lips >= 70 || $activeSlave.lipsPiercing == 2>>
			$He can barely enunciate
			<<if $activeSlave.lipsPiercing == 2>>
				past $his piercings;
			<<else>>
				with $his fat lips;
			<</if>>
			<<run Enunciate($activeSlave)>>
			<<if $writtenTitle === $titleEnunciate>>
				<<if (setup.badNames.includes(capFirstChar($writtenTitle)))>>
					unfortunately
				<<else>>
					fortunately
				<</if>>
				'$titleEnunciate' is easy to pronounce.
			<<else>>
				'$writtenTitle' comes out as '$titleEnunciate.'
			<</if>>
		<</if>>
	<</if>>
<</widget>>

<<widget "nipplesPiercingDescription">>
<<set _nippleColor = nippleColor($activeSlave)>>
<<if $activeSlave.fuckdoll > 0>>
	<<if $activeSlave.nipplesPiercing > 0>>
		$His nipple piercings help secure the suit material to $his breasts.
	<</if>>
<<else>>
	<<if $activeSlave.nipplesPiercing == 1>>
		$His _nippleColor nipples have a simple piercing, which keeps them a little harder than they would normally be.
	<<elseif $activeSlave.nipplesPiercing == 2>>
		$His _nippleColor nipples are heavily pierced with several rings and studs, and there is a chain between them.
		<<if ($activeSlave.boobShape == "saggy") && ($activeSlave.boobs > 2500)>>
			It's been shortened to take advantage of the way $his tits sag, and holds $his _nippleColor nipples almost together, producing cleavage that runs from $his _nippleColor nipples all the way up to $his sternum.
		<<else>>
			The constant tugging keeps $his _nippleColor nipples erect.
		<</if>>
	<</if>>
	<<if $activeSlave.nipplesPiercing > 0>>
		<<switch $activeSlave.clothes>>
		<<case "kitty lingerie">>
			The piercings slightly distort the shape of $his lacy bra's cleavage window.
		<<case "attractive lingerie">>
			The piercings are a girly color, to complement $his lingerie.
		<<case "a succubus outfit">>
			The piercings are severe steel, as befits a sex demon.
		<<case "uncomfortable straps">>
			Each nipple bears a horizontal bar that is held forward of the steel ring that's part of $his outfit, constantly tugging them outward.
		<<case "restrictive latex">>
			The piercings are tantalizingly visible under the latex.
		<<case "a fallen nuns habit">>
			A tiny ebon cross on a short chain dangles from each piercing.
		<<case "a chattel habit">>
			A tiny golden cock and balls dangles from each piercing.
		<<case "a monokini">>
			Due to $his toplessness, the piercings are plainly visible.
		<<case "a cybersuit">>
			The piercings are tantalizingly visible under the bodysuit.
		<<case "a string bikini">>
			The piercings are a pastel color, to complement $his bikini.
		<<case "striped panties">>
			The piercings are a pastel color, to complement $his panties.
		<<case "a scalemail bikini">>
			The piercings are severe steel, as befits a hardened warrior.
		<<case "a schoolgirl outfit">>
			<<if ($activeSlave.boobs <= 2000)>>
				The piercings are tantalizingly visible under the thin material.
			<</if>>
		<<case "battledress">>
			The piercings are tantalizingly visible under $his tank top.
		<<case "nice business attire">>
			One side of each piercing peeks over the edge of $his blouse.
		<<case "a comfortable bodysuit">>
			The piercings are tantalizingly visible under the tight bodysuit.
		<<case "a latex catsuit">>
			The piercings are tantalizingly visible under the tight latex catsuit.
		<<case "a mini dress">>
			The piercings are tantalizingly visible under the tight mini dress.
		<<case "a courtesan dress">>
			The piercings are tantalizingly visible through $his thin dress.
		<<case	"a bimbo outfit">>
			They can't be seen, but one can clearly feel the piercings are in the shape of hearts.
		<<case "a slutty maid outfit">>
			One side of each piercing peeks over the edge of $his lacy top.
		<<case "harem gauze">>
			The piercings are tantalizingly visible under the gauze.
		<<case "attractive lingerie for a pregnant woman">>
			The piercings are tantalizingly visible under the thin silk.
		<<case "a maternity dress">>
			The piercings are tantalizingly visible under the dress's tight top.
		<<case "stretch pants and a crop-top">>
			The piercings are tantalizingly visible under $his crop-top.
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "areolaePiercingDescription">>
	<<print App.Desc.areolaePiercing($activeSlave)>>
<</widget>>

<<widget "navelPiercingDescription">>
	<<if $activeSlave.fuckdoll == 0>>
		<<if setup.fakeBellies.includes($bellyAccessory)>>
			<<if $activeSlave.navelPiercing == 1>>
				$His fake navel bears a simple stud.
			<<elseif $activeSlave.navelPiercing == 2>>
				$His fake navel is pierced with a big ring.
				<<if ($activeSlave.clothes == "slutty jewelry")>>
					It has a length of gilded chain dangling from it.
				<<else>>
					It has a short length of chain dangling from it.
				<</if>>
			<</if>>
		<<else>>
			<<if $activeSlave.navelPiercing == 1>>
				$His navel bears a simple stud.
			<<elseif $activeSlave.navelPiercing == 2>>
				$His navel is pierced with a big ring.
				<<if ($activeSlave.clothes == "slutty jewelry")>>
					It has a length of gilded chain dangling from it.
				<<else>>
					It has a short length of chain dangling from it.
				<</if>>
			<</if>>
		<</if>>
	<<else>>
		<<if $activeSlave.navelPiercing > 0>>
			<<if $activeSlave.belly >= 10000>>
				<<if $activeSlave.navelPiercing == 1>>
					$His popped navel bears a simple stud.
				<<elseif $activeSlave.navelPiercing == 2>>
					$His popped navel is pierced with a big ring.
				<</if>>
				It's eye-catching, since most of $his piercings are hidden by the suit.
			<<else>>
				$His navel piercing runs through the suit's material.
			<</if>>
		<</if>>
	<</if>>
<</widget>>

<<widget "clitPiercingDescription">>
	<<if ($activeSlave.clitPiercing == 1) && ($activeSlave.vagina != -1)>>
		$He has a simple clitoral stud.
	<<elseif ($activeSlave.clitPiercing == 2) && ($activeSlave.vagina != -1)>>
		$He has a big ring in $his clit.
		<<if ($activeSlave.clothes == "slutty jewelry")>>
			Since $he's wearing slutty bangles $he has a short length of light chain dangling from $his clit ring; it constantly stimulates $his pussylips.
		<</if>>
	<<elseif ($activeSlave.clitPiercing == 3) && ($activeSlave.vagina != -1) && ($activeSlave.dick == 0)>>
		$He has a smart piercing in $his clit.
	<<elseif ($activeSlave.clitPiercing == 1)>>
		$He has a simple dickhead stud.
	<<elseif ($activeSlave.clitPiercing == 2)>>
		$He has a big ring in $his dickhead.
		<<if ($activeSlave.clothes == "slutty jewelry")>>
			Since $he's wearing slutty bangles $he has a short length of light chain dangling from $his dickhead piercing; as $he moves it tugs lightly at $his cock.
		<</if>>
	<<elseif ($activeSlave.clitPiercing == 3)>>
		$He has a smart frenulum piercing.
	<</if>>
	<<if $activeSlave.fuckdoll > 0>>It anchors the suit's material.<</if>>
<</widget>>

<<widget "vaginaPiercingDescription">>
	<<if ($activeSlave.vagina != -1)>>
		<<if $activeSlave.vaginaPiercing > 0>>
			$He has a
			<<if ($activeSlave.vaginaPiercing == 1)>>
				simple row of studs
			<<else>>
				row of big rings
			<</if>>
			down $his labia<<if $activeSlave.fuckdoll > 0>>, which are looped into the edge of the suit's material as it stops around $his vulva<</if>>.
		<</if>>
	<</if>>
<</widget>>

<<widget "dickPiercingDescription">>
	<<if ($activeSlave.dick != 0)>>
		<<if ($activeSlave.dickPiercing == 1)>>
			$He has a row of studs down $his shaft.
		<<elseif ($activeSlave.dickPiercing == 2)>>
			$He has a row of heavy rings down $his shaft.
		<</if>>
		<<if ($activeSlave.scrotum != 0)>>
			<<if ($activeSlave.dickPiercing == 1)>>
				$He has a couple of studs in $his ballsack.
			<<elseif ($activeSlave.dickPiercing == 2)>>
				$He has a row of rings down the center of $his ballsack, all the way from the base of $his shaft to $his perineum.
			<</if>>
		<<else>>
			<<if ($activeSlave.dickPiercing == 1)>>
				$He has a couple of studs beneath the base of $his dick.
			<<elseif ($activeSlave.dickPiercing == 2)>>
				$He has a row of rings all the way from the base of $his shaft to $his perineum.
			<</if>>
		<</if>>
	<</if>>
	<<if $activeSlave.fuckdoll > 0>>
		<<if $activeSlave.dickPiercing > 0>>
			Every one of them runs through the suit's material, securing it to the Fuckdoll's member.
		<</if>>
	<</if>>
<</widget>>

<<widget "anusPiercingDescription">>
	<<if ($activeSlave.vagina > -1)>>
		<<if ($activeSlave.anusPiercing == 1)>>
			$He has a simple piercing between $his pussy and $his asshole<<if $activeSlave.fuckdoll > 0>> which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place<</if>>.
		<<elseif ($activeSlave.anusPiercing == 2)>>
			$He has a big ring between $his pussy and $his asshole<<if $activeSlave.fuckdoll > 0>>, which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place,<</if>> and studs in all around $his anus.
		<</if>>
	<<else>>
		<<if ($activeSlave.anusPiercing == 1)>>
			$He has a simple perianal piercing between the base of $his dick and $his girly butthole<<if $activeSlave.fuckdoll > 0>> which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place<</if>>.
		<<elseif ($activeSlave.anusPiercing == 2)>>
			$He has a big ring between the base of $his dick and $his girly butthole, which has studs all around it.
		<</if>>
	<</if>>
<</widget>>

<<widget "CorsetPiercingDescription">>

	<<if $activeSlave.corsetPiercing > 0>>
		<<if $activeSlave.fuckdoll == 0>>

			$He has a corset piercing, a ladder of steel rings running up each side of $his back:
			<<if ($activeSlave.bellyAccessory == "a corset") || ($activeSlave.bellyAccessory == "an extreme corset")>>
				these are looped through special lugs in the back of $his actual corset, making it almost a part of $his body.
				<<if $activeSlave.devotion > 50>>
					$He couldn't remove it, even if $he wanted to.
				<<elseif $activeSlave.devotion >= -20>>
					$He couldn't remove it, even if $he were inclined to try.
				<<else>>
					Any attempt to remove it will cause intense pain.
				<</if>>
			<<else>>
				<<switch $activeSlave.clothes>>

				<<case "a hijab and blouse" "a schoolgirl outfit" "conservative clothing" "nice business attire" "slutty business attire">>
					$his blouse hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "chains">>
					they're laced together with steel cable, tightly enough that they're tugging at $his skin.

				<<case "Western clothing">>
					$his shirt hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a toga">>
					$his toga hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a huipil">>
					$his huipil hides them partially, so the leather straps that pull on $his skin are clearly evident.

				<<case "a long qipao" "a slutty qipao">>
					$his qipao hides them completely, but they're laced tightly with silk cord, so $he's aware they're there.

				<<case "uncomfortable straps">>
					they're laced together with a leather cord, tightly enough that they're tugging at $his skin.

				<<case "shibari ropes">>
					they're laced together as part of $his bindings.

				<<case "a latex catsuit" "restrictive latex">>
					these are clipped into the latex covering them, making it almost a part of $his body.
					<<if $activeSlave.devotion > 50>>
						$He couldn't remove it, even if $he wanted to.
					<<elseif $activeSlave.devotion >= -20>>
						$He couldn't remove it, even if $he were inclined to try.
					<<else>>
						Any attempt to remove it will cause intense pain.
					<</if>>

				<<case "a military uniform">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a schutzstaffel uniform">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a slutty schutzstaffel uniform">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a red army uniform">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "battlearmor">>
					$his armor hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a dirndl">>
					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "lederhosen">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a mounty outfit">>
					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a biyelgee costume">>
					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a nice nurse outfit">>
					$his scrubs hide them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a mini dress">>
					these are clipped into the mini dress covering them, making it almost a part of $his body.
					<<if $activeSlave.devotion > 50>>
						$He couldn't remove it, even if $he wanted to.
					<<elseif $activeSlave.devotion >= -20>>
						$He couldn't remove it, even if $he were inclined to try.
					<<else>>
						Any attempt to remove it will cause intense pain.
					<</if>>

				<<case "attractive lingerie" "attractive lingerie for a pregnant woman" "kitty lingerie">>
					they're laced together with a lacy ribbon finished off with a bow.

				<<case "a succubus outfit">>
					they're laced into $his succubus corset, making it a part of $him.

				<<case "a fallen nuns habit">>
					they're laced together with cord, tightly enough that $he is forced to arch $his back or suffer. $He spends most of $his time involuntarily presenting $his bottom to relieve the tugging.

				<<case "a chattel habit">>
					$his white habit hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a penitent nuns habit">>
					$his habit hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a gothic lolita dress" "a hanbok" "a Santa dress">>
					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a burkini" "a one-piece swimsuit">>
					$his swimsuit hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a monokini">>
					the straps of $his swimsuit run on each side of these loops.

				<<case "an apron">>
					the straps of $his apron run on each side of these loops.

				<<case "overalls">>
					the straps of $his overalls run on each side of these loops.

				<<case "a bra" "a skimpy loincloth" "a striped bra" "a thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and pasties" "panties" "panties and pasties" "pasties" "sport shorts" "striped panties" "striped underwear">>
					the piercings are plainly visible on $his bare back.

				<<case "a slutty klan robe" "a slutty pony outfit" "a sports bra" "a tank-top and panties" "a tube top" "a tube top and thong" "leather pants and a tube top">>
					the piercings are only partly visible on $his back.

				<<case "a button-up shirt" "a button-up shirt and panties" "a police uniform" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "a t-shirt" "a tank-top" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a sports bra" "sport shorts and a t-shirt">>
					$his shirt hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a sweater" "a sweater and cutoffs" "a sweater and panties">>
					$his sweater hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a nice pony outfit">>
					$his outfit hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a string bikini">>
					the back of $his string top loops into them and runs down through them to become $his bottom, such as it is.

				<<case "a scalemail bikini">>
					they're laced together with a steel chain.

				<<case "a cheerleader outfit">>
					they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky cheerleader.

				<<case "clubslut netting">>
					these are clipped into the netting covering them, making it almost a part of $his body.
					<<if $activeSlave.devotion > 50>>
						$He couldn't remove it, even if $he wanted to.
					<<elseif $activeSlave.devotion >= -20>>
						$He couldn't remove it, even if $he were inclined to try.
					<<else>>
						Any attempt to remove it will cause intense pain.
					<</if>>

				<<case "cutoffs and a t-shirt">>
					they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky $girl.

				<<case "a slutty outfit">>
					they're laced together with a simple ribbon, tightly enough that $he's aware they're there.

				<<case "a slave gown">>
					they're revealed by the swooping back of $his gown and laced up with matching silk ribbon.

				<<case "a comfortable bodysuit">>
					these are clipped into the bodysuit covering them, making it almost a part of $his body.
					<<if $activeSlave.devotion > 50>>
						$He couldn't remove it, even if $he wanted to.
					<<elseif $activeSlave.devotion >= -20>>
						$He couldn't remove it, even if $he were inclined to try.
					<<else>>
						Any attempt to remove it will cause intense pain.
					<</if>>

				<<case "a leotard">>
					these are clipped into the leotard covering them, making it almost a part of $his body.
					<<if $activeSlave.devotion > 50>>
						$He couldn't remove it, even if $he wanted to.
					<<elseif $activeSlave.devotion >= -20>>
						$He couldn't remove it, even if $he were inclined to try.
					<<else>>
						Any attempt to remove it will cause intense pain.
					<</if>>

				<<case "a bunny outfit">>
					$his teddy hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a slutty maid outfit">>
					$his dress has an open back to reveal them and the black ribbon that laces them tightly together.

				<<case "a nice maid outfit">>
					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a slutty nurse outfit">>
					$his jacket hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a kimono">>
					$his kimono hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a hijab and abaya" "a niqab and abaya">>
					$his abaya hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a klan robe">>
					$his robe hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "a burqa">>
					$his burqa hides them completely, but they're laced tightly, so $he's aware they're there.

				<<case "battledress">>
					they're laced together with paracord.

				<<case "harem gauze">>
					they're laced up with a light golden chain that glints through $his filmy clothing.

				<<case "slutty jewelry">>
					they're laced up with a light golden chain that begins and ends in other parts of $his glinting bonds.

				<<case "a courtesan dress">>
					they're laced into $his dress's corset, binding the material even closer to $him.

				<<case "a bimbo outfit">>
					they're laced together with a bright pink ribbon.

				<<default>>
					they're laced up with a ribbon, tightly enough to keep $him aware they're there.

				<</switch>>
			<</if>>

		<</if>>
	<</if>>

<</widget>>

<<widget "chastityPiercingDescription">>
	<<if ($activeSlave.clitPiercing > 0)>>
		<<if ($activeSlave.nipplesPiercing > 0)>>
			<<if !($activeSlave.chastityPenis)>>
				<<if ($activeSlave.dick > 4)>>
					<<if ($activeSlave.boobs > 1000)>>
						<<if canAchieveErection($activeSlave.balls > 0)>>
							<<if ($activeSlave.devotion > 20)>>
								<<if ($activeSlave.energy > 90)>>
									$His very special body allows $him to wear an incredibly lewd piece of jewelry: a thin golden chain that runs from nipple to nipple, through $his pierced cockhead. The chain is short, and any motion at all tugs at $his nipples and penis.
									<<if canWalk($activeSlave)>>
										The stimulation is almost unbearable, and the mere act of walking sometimes causes $him to cum.
									<</if>>
								<</if>>
							<</if>>
						<</if>>
					<</if>>
				<</if>>
			<</if>>
		<</if>>
	<</if>>
<</widget>>

repo_name: IchthysdeKilt/fc

license: mit


code:
:: tattoo description widgets [widget nobr]

/* Tattoo Descriptions */

<<widget "shouldersTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if $activeSlave.shouldersTat != 0>>
		<<switch $activeSlave.shouldersTat>>
			<<case "tribal patterns">>
				Tribal tattoos encircle both $his shoulders in swirling patterns.
			<<case "flowers">>
				A gorgeous flower tattoo covers each shoulder.
			<<case "counting">>
				A '¤' tattoo counting $his earnings and acquirements cover $his shoulders.
			<<case "advertisements">>
				<<if $activeSlave.vagina < 0>>
					'Two Hole Whore' is tattooed on each of $his shoulders.
				<<else>>
					'Three Hole Whore' is tattooed on each of $his shoulders.
				<</if>>
			<<case "rude words">>
				'Dickholster' is tattooed on $his left shoulder, and 'Fuckmeat' is tattooed on $his right.
			<<case "degradation">>
				'Hurt Me' is tattooed on $his left shoulder, and 'Rape Me' on $his right.
			<<case "Asian art">>
				Beautiful, colorful tattoos cover $his upper body: a line of wind-whipped waves lashing against mountains runs across $his collarbone and around both shoulders.
			<<case "scenes">>
				<<if $activeSlave.vagina < 0>>
					A stylized rendition of a dick plunging into an open mouth is tattooed on $his left shoulder, and a similar image of a dick entering an anus on $his right.
				<<else>>
					A stylized rendition of a dick going into a pussy is tattooed on $his left shoulder, and a similar image of a dick entering an anus on $his right.
				<</if>>
			<<case "bovine patterns">>
				$His shoulders are flecked with tattoos of bovine blotches.
			<<case "sacrilege">>
				Tattoos depicting demonic nude figures adorn $his shoulders.
			<<case "sacrament">>
				Tattoos depicting saintly nude figures adorn $his shoulders.
			<<case "possessive">>
				A rendition of your face inside a heart is tattooed onto $his left shoulder, and the words 'I love my <<= WrittenMaster($activeSlave)>>' inside an identical heart are tattooed on $his right.
			<<case "paternalist">>
				'Love Me' is tattooed on $his left shoulder, and 'Teach Me' on $his right.
			<<default>>
				$activeSlave.shouldersTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "lipsTatDescription">>
/* Fuckdoll vulva and anus alone are visibile, plus enormus lips */
<<if $activeSlave.fuckdoll == 0 || $activeSlave.lips > 95>>
	<<if $activeSlave.lipsTat != 0>>
		<<switch $activeSlave.lipsTat>>
			<<case "tribal patterns">>
				$His face is tattooed with tribal patterns that make $him seem mysterious and exotic.
			<<case "flowers">>
				$His minimal facial tattoos are limited to a cute flower on each cheek.
			<<case "counting">>
				<<if $activeSlave.counter.oral == 0>>
					There is a horizontal line tattooed across the $his cheeks for symbols counting $his oral totals to be inscribed under, once $he has some.
				<<elseif $activeSlave.counter.oral < 500>>
					Tiny dick, pussy, and anus symbols are tattooed all over $his cheeks, one for every thing $he's sucked.
				<<else>>
					Tiny dick, pussy, and anus symbols are tattooed all over $his face, forehead, and neck, one for every thing $he's sucked.
				<</if>>
			<<case "advertisements">>
				$His facial tattoos include 'Facefuck Me' across $his forehead, 'Cock' to the left of $his mouth, and 'Sucker' to the right of it.
			<<case "rude words">>
				$His facial tattoos include 'Sex Slave' across $his forehead, 'Face' to the left of $his mouth, and 'Pussy' to the right of it.
			<<case "degradation">>
				'$desc' is tattooed across $his forehead.
			<<case "Asian art">>
				$He has a blossoming cherry tree tattooed on one temple; its pink petals are dappled across $his cheeks.
			<<case "bovine patterns">>
				$His face is subtly tattooed to give $him a somewhat bovine appearance.
			<<case "permanent makeup">>
				<<if $activeSlave.makeup != 0>>
					$His normal makeup is difficult to distinguish from the underlying tattoo.
				<</if>>
			<<case "sacrilege">>
				$His face is subtly tattooed to give $him a decidedly demonic appearance.
			<<case "sacrament">>
				$His face is subtly tattooed to give $him a decidedly angelic appearance.
			<<case "possessive">>
				'Property of <<= PlayerName()>>' is tattooed across $his forehead.
			<<case "paternalist">>
				'Beloved $desc' is tattooed across one of $his cheeks.
			<<default>>
				$activeSlave.lipsTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "boobsTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if $activeSlave.boobsTat != 0>>
		<<switch $activeSlave.boobsTat>>
			<<case "tribal patterns">>
				$His chest and breasts are tattooed with tribal patterns that focus attention on $his nipples.
			<<case "flowers">>
				$His chest is tattooed with a pattern of flowering vines that delicately outlines $his breasts.
			<<case "counting">>
				<<if $activeSlave.counter.mammary == 0>>
					There is a horizontal line tattooed across $his middle chest for symbols counting $his mammary encounters to be inscribed under, once $he has some.
				<<elseif $activeSlave.counter.mammary < 500>>
					Tiny dick, lips, breast, and even pussy symbols are tattooed all over $his cleavage, one for each of $his mammary encounters.
				<<else>>
					Tiny dick, lips, breast, and even pussy symbols cover $his breasts, cleavage, and sides, one for each of $his mammary encounters.
				<</if>>
			<<case "advertisements">>
				'Fuck Me!' is tattooed across $his chest in such large letters that the word is visible a long way off.
			<<case "rude words">>
				'Fuckslave' is tattooed across $his chest in such large letters that the word is visible a long way off.
			<<case "degradation">>
				'<<= WrittenMaster($activeSlave)>>'s' is tattooed across the top of $his right breast; 'Bitch' is tattooed across the top of $his left.
			<<case "Asian art">>
				An octopus is tattooed on $his upper chest; its tentacles reach down to envelop $his breasts, their tips reaching for but not quite reaching each nipple.
			<<case "scenes">>
				$His chest is tattooed with lewd scenes; each of $his breasts shows a phallus receiving a titfuck while each of $his collarbones shows a $woman deepthroating a large phallus.
			<<case "bovine patterns">>
				$His chest is tattooed to look like a Holstein cow's, with $his udders left bare to draw attention to them.
			<<case "sacrilege">>
				Each of $his breasts is tattooed with a depiction of a pentagram, with $his nipples forming the center.
			<<case "sacrament">>
				Each of $his breasts is tattooed with a depiction of a crucifix, with $his nipples forming the center.
			<<case "possessive">>
				Your personal symbol is tattooed above $his left breast, '<<= PlayerName()>>' above $his right, leaving the rest of $his chest and breasts bare.
			<<case "paternalist">>
				'<<= WrittenMaster($activeSlave)>>'s' is tattooed across the top of $his right breast; 'Darling' is tattooed across the top of $his left.
			<<default>>
				$activeSlave.boobsTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "armsTatDescription">>
<<if $activeSlave.fuckdoll == 0 && hasAnyArms($activeSlave)>>
	<<if $activeSlave.armsTat != 0>>
		<<if !hasBothArms($activeSlave)>>
			<<set _arms = "arm">>
		<<else>>
			<<set _arms = "arms">>
		<</if>>
		<<switch $activeSlave.armsTat>>
		<<case "tribal patterns">>
			$His tribal tattoos run down $his _arms.
		<<case "flowers">>
			$His floral tattoos run down $his _arms to end in a pretty bloom on the back of <<if hasBothArms($activeSlave)>>each hand<<else>>$his hand<</if>>.
		<<case "counting">>
			<<if $activeSlave.counter.oral == 0>>
				There are horizontal lines tattooed around $his fore<<print _arms>>, creating a blank space to permanently tally future sexual exploits.
			<<elseif $activeSlave.counter.oral < 500>>
				Tiny dick, pussy, and anus symbols are tattooed on $his fore<<print _arms>>, one for each organ $he's manually pleasured.
			<<else>>
				Tiny dick, pussy, and anus symbols are tattooed all over <<if (hasBothArms($activeSlave))>>both of <</if>> $his _arms, one for each organ $he's manually pleasured.
			<</if>>
		<<case "advertisements">>
			$His right arm is tattooed with a price list for use if $he's whoring, and $his left with a simple tourist guide for use if $he's serving the public.
		<<case "rude words">>
			$His _arms <<if (hasBothArms($activeSlave))>>have<<else>>has<</if>> helpful instructions on how to restrain $him for rape, including indications of the best anchor points at $his wrist<<if (hasBothArms($activeSlave))>>s<</if>>.
		<<case "degradation">>
			<<if $activeSlave.dick > 0>>
				<<if $activeSlave.vagina > -1>>
					<<if $activeSlave.boobs > 600>>
						'Boobs Pussy Cock Asshole' is tattooed on $his left arm, and 'Suck Fuck Hurt Rape' is tattooed on $his right.
					<<else>>
						'Half Pussy & Half Cock' is tattooed on $his left arm, and 'All Whore' is tattooed on $his right.
					<</if>>
				<<elseif $activeSlave.boobs > 600>>
					'I didn't used to have boobs' is tattooed on $his left arm, and 'I didn't always take it up the ass' is tattooed on $his right.
				<<else>>
					'I promise to cum buckets' is tattooed on $his left arm, and 'If you fuck my butt' is tattooed on $his right.
				<</if>>
			<<else>>
				<<if ($activeSlave.boobs > 800) && ($activeSlave.lactation > 0)>>
					'Grade AAA Milker' is tattooed on $his left arm, and 'Grade AAA Breeder' is tattooed on $his right.
				<<elseif ($activeSlave.visualAge > 35)>>
					'Please let Mommy suck your cock' is tattooed on $his left arm, and 'Please rape Mommy's cunt' is tattooed on $his right.
				<<elseif ($activeSlave.visualAge < 25)>>
					'Teach me how to suck cock' is tattooed on $his left arm, and 'Teach me how to take dick' is tattooed on $his right.
				<<else>>
					'There are many sex slaves like me' is tattooed on $his left arm, and 'But this one is <<= WrittenMaster($activeSlave)>>'s' is tattooed on $his right.
				<</if>>
			<</if>>
		<<case "Asian art">>
			Tattoos of fierce dragons wind around both $his arms.
		<<case "scenes">>
			$His lewd tattoos cover $his _arms; they include lots of little vignettes of sex, with dates to show when $he was first fucked like that.
		<<case "bovine patterns">>
			Tattoos of cow-like spots cover $his _arms, but stop short of <<if (hasBothArms($activeSlave))>>each of $his elbows<<else>>$his elbow<</if>>.
		<<case "sacrilege">>
			Tattoos of swirling flames run down $his _arms.
		<<case "sacrament">>
			Tattoos of swirling thorns run down $his _arms, culminating in a stylized depiction of a bloody nail on the back of each hand.
		<<case "possessive">>
			$His arm tattoos depict notable moments during $his enslavement by you, culminating in a stylized rendition of your first initial on $his left hand and your second on the right.
		<<case "paternalist">>
			<<if $activeSlave.dick > 0>>
				<<if $activeSlave.vagina > -1>>
					<<if $activeSlave.boobs > 600>>
						'Boobs Pussy Cock Asshole' is tattooed on $his left arm, and 'Caress Pleasure Stroke Stretch' is tattooed on $his right.
					<<else>>
						'Half Pussy & Half Cock' is tattooed on $his left arm, and 'All Loved' is tattooed on $his right.
					<</if>>
				<<elseif $activeSlave.boobs > 600>>
					'I didn't used to have boobs' is tattooed on $his left arm, and 'And now I do!' is tattooed on $his right.
				<<else>>
					'I promise to cum buckets' is tattooed on $his left arm, and 'If you treat me right' is tattooed on $his right.
				<</if>>
			<<else>>
				<<if ($activeSlave.boobs > 800) && ($activeSlave.lactation > 0)>>
					'Please drink' is tattooed on $his left arm, and 'All my milk' is tattooed on $his right.
				<<elseif ($activeSlave.visualAge > 35)>>
					'Please let Mommy worship your cock' is tattooed on $his left arm, and 'Please pleasure Mommy's pussy' is tattooed on $his right.
				<<elseif ($activeSlave.visualAge < 25)>>
					'Please teach me how to suck cock' is tattooed on $his left arm, and 'Please teach me how to fuck' is tattooed on $his right.
				<<else>>
					'There are many sex slaves like me' is tattooed on $his left arm, and 'But <<= WrittenMaster($activeSlave)>> loves me' is tattooed on $his right.
				<</if>>
			<</if>>
		<<default>>
			$activeSlave.armsTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "backTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if $activeSlave.backTat != 0>>
		<<switch $activeSlave.backTat>>
		<<case "tribal patterns">>
			$He has a totem of $his spirit animal tattooed across $his back.
		<<case "flowers">>
			$His back is covered in hundreds of beautiful flower tattoos; one could spend half an hour examining them all.
		<<case "counting">>
			$His back is tattooed with tick marks to count the days of $his sexual
			<<if $activeSlave.weekAcquired == 0>>
				enslavement to you. There are a lot of them.
			<<else>>
				<<set _daysEnslaved = (($week-$activeSlave.weekAcquired)*7)+random(-3,3)>>
				<<if _daysEnslaved < 10>>
					slavery here. There are only a few.
				<<else>>
					slavery here: _daysEnslaved of them.
				<</if>>
			<</if>>
		<<case "advertisements">>
			$He has an ad for the arcology itself tattooed across $his back.
		<<case "rude words">>
			'Sex Slave' is tattooed across $his back; the tattoo uses the broad space to make each letter <<if $showInches == 2>>six inches<<else>>fifteen centimeters<</if>> tall, so that $his identity can be read from hundreds of <<if $showInches == 2>>yards<<else>>meters<</if>> off.
		<<case "degradation">>
			$He has
			<<if $activeSlave.dick > 0>>
				<<if $activeSlave.vagina > -1>>
					<<if $activeSlave.boobs > 600>>
						'Futa<<if $activeSlave.visualAge > 35>> MILF<</if>> Slave'
					<<else>>
						'<<if $activeSlave.visualAge > 35>>MILF <</if>>Hermaphrodite'
					<</if>>
				<<elseif $activeSlave.boobs > 600>>
					'Shemale<<if $activeSlave.visualAge > 35>> MILF<</if>> Slave'
				<<else>>
					'Dickgirl<<if $activeSlave.visualAge > 35>> MILF<</if>> Slave'
				<</if>>
			<<else>>
				<<if ($activeSlave.boobs > 800) && ($activeSlave.lactation > 0)>>
					'Slave Cow'
				<<elseif ($activeSlave.visualAge > 35)>>
					'MILF Slave'
				<<elseif ($activeSlave.visualAge < 25)>>
					'Slave Girl'
				<<else>>
					'Sex Slave'
				<</if>>
			<</if>>
			tattooed across $his back in gothic script.
		<<case "Asian art">>
			An Asian dragon is tattooed in a circle across $his back; the dragon has subtle features that, according to traditional meanings, relate it to $his personality.
		<<case "scenes">>
			<<if $activeSlave.vagina == -1>>
				A line-art rendition of $activeSlave.slaveName $himself cumming copiously while riding a dick is tattooed across $his entire back.
			<<elseif $activeSlave.lactation > 0>>
				A line-art rendition of $activeSlave.slaveName $himself nursing a pair of $his fellow slaves is tattooed across $his entire back.
			<<elseif $activeSlave.skill.vaginal >= 100>>
				A line-art rendition of $activeSlave.slaveName $himself performing reverse cowgirl and spreading $his pussy is tattooed across $his entire back.
			<<elseif $PC.vagina != -1>>
				A line-art rendition of $activeSlave.slaveName $himself eating pussy is tattooed across $his entire back.
			<<else>>
				A line-art rendition of $activeSlave.slaveName $himself deepthroating a cock is tattooed across $his entire back.
			<</if>>
		<<case "bovine patterns">>
			$His back is tattooed to resemble the dappled flank of a cow.
		<<case "sacrilege">>
			$He has a pair of blackened wings tattooed across $his entire back.
		<<case "sacrament">>
			$He has a pair of pure white wings tattooed across $his entire back.
		<<case "possessive">>
			An abridged and stylized version of $his slave contract is tattooed across $his entire back.
		<<case "paternalist">>
			$He has your name and the location of your penthouse tattooed on $his upper back, so kind citizens can return $him to you if $he wanders off.
		<<default>>
			$activeSlave.backTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "stampTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if $activeSlave.stampTat != 0>>
	<<switch $activeSlave.stampTat>>
		<<case "tribal patterns">>
			$He has a tribal-patterned tramp stamp.
		<<case "flowers">>
			$He has a floral-patterned tramp stamp.
		<<case "counting">>
			<<if $activeSlave.anus == 0>>
				$He has the dashed outline of a cock tattooed across $his lower back.
			<<else>>
				$He has the silhouette of the largest cock $he's ever had up $his anus tattooed across $his lower back.
			<</if>>
		<<case "advertisements">>
			$He has a tramp stamp which reads 'Fuck my ass!'
		<<case "rude words">>
			$He has a tramp stamp which reads 'Rear Entrance,' with an arrow pointing downward.
		<<case "degradation">>
			$He has a tramp stamp formed from gothic lettering that reads 'Anal Whore.'
		<<case "Asian art">>
			<<setPlayerPronouns>>
			A traditional Asian household scene is tattooed on $his lower back, showing a rendition of $activeSlave.slaveName, dressed in rich silks, having sex with a <<if $PC.title == 1>>gentleman<<else>>lady<</if>>. The slave and the <<if $PC.title == 1>>gentleman<<else>>lady<</if>> are kissing passionately as _heP
			<<if $activeSlave.vagina < 0>>
				penetrates the slave's anus.
			<<elseif $activeSlave.bellyPreg >= 1500 || $activeSlave.bellyImplant >= 1500>>
				embraces the slave's <<if $activeSlave.pregKnown == 1>>pregnant<<else>>rounded<</if>> belly.
			<<else>>
				penetrates the slave's vagina.
			<</if>>
		<<case "scenes">>
			$He has a tramp stamp which shows a cock entering an anus, recognizably $hers.
		<<case "bovine patterns">>
			$He has an identifying barcode tattooed across $his lower back.
		<<case "sacrilege">>
			$He has a tramp stamp which reads 'Fuck my ass and be damned.'
		<<case "sacrament">>
			$He has a tramp stamp which reads 'Fuck my ass and be blessed.'
		<<case "possessive">>
			$He has a tramp stamp which reads '$PC.slaveName's $desc.'
		<<case "paternalist">>
			$He has a tramp stamp which reads 'Fuck me slowly' with an arrow pointing downward.
		<<default>>
			$activeSlave.stampTat
	<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "buttTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if $activeSlave.buttTat != 0>>
		<<switch $activeSlave.buttTat>>
			<<case "tribal patterns">>
				$His buttocks and hips are tattooed with tribal patterns that emphasize $his womanly curves.
			<<case "flowers">>
				$His hips are tattooed with a cute floral design.
			<<case "counting">>
				<<if $activeSlave.counter.anal == 0>>
					There is a horizontal line tattooed across the tops of $his buttocks for symbols counting $his anal exploits to be inscribed under, once $he has some.
				<<elseif $activeSlave.counter.anal < 500>>
					Tiny dick symbols are tattooed all over the top of $his buttocks, one for every time $he's been assfucked.
				<<else>>
					Tiny dick symbols are tattooed all over $his entire buttocks, attesting to long anal slavery.
				<</if>>
			<<case "advertisements">>
				'Shove' is tattooed across $his left buttock; 'It In' is tattooed across $his right.
			<<case "rude words">>
				<<if $activeSlave.vagina > 0>>
					'No. 2'
				<<else>>
					'No. 1'
				<</if>>
				is tattooed across $his left buttock; 'Fuckhole' is tattooed across $his right.
			<<case "degradation">>
				'Treat it' is tattooed across $his left buttock; 'Like a Pussy' is tattooed across $his right.
			<<case "Asian art">>
				Each of $his buttocks bears a tattoo of a coiled dragon, advancing meaningfully towards $his anus.
			<<case "scenes">>
				<<if ($activeSlave.dick > 0) && ($activeSlave.balls > 0)>>
					$His buttocks are tattooed with lewd scenes; each of $his buttocks shows a smiling shemale offering $his anus, while each of $his thighs shows a rear view of a shemale simultaneously being sodomized and sodomizing.
				<<elseif ($activeSlave.dick > 0)>>
					$His buttocks are tattooed with lewd scenes; each of $his buttocks shows a gelding, legs together to conceal $his cock and display $his anus, while each of $his thighs shows a gelding being double penetrated in $his gaping anus.
				<<else>>
					$His buttocks are tattooed with lewd scenes; each of $his buttocks shows a $woman being sodomized while each of $his thighs shows a $woman being gangbanged in all $his holes.
				<</if>>
			<<case "bovine patterns">>
				$His buttocks are tattooed with large black splotches like those of a Holstein cow.
			<<case "sacrilege">>
				'It's not a sin' is tattooed across $his left buttock;
				<<if $activeSlave.vagina > -1>>
					'If I don't enjoy it'
				<<else>>
					'I'm a girl'
				<</if>> is tattooed across $his right.
			<<case "sacrament">>
				'This is my penance' is tattooed across $his left buttock;
				<<if $activeSlave.vagina > -1>>
					'Make me suffer.'
				<<else>>
					'As a slave.'
				<</if>> is tattooed across $his right.
			<<case "possessive">>
				'$PC.slaveName made me their' is tattooed across $his left buttock; with '$desc' tattooed across $his right.
			<<case "paternalist">>
				'Treat it' is tattooed across $his left buttock; 'Gently' is tattooed across $his right.
			<<default>>
				$activeSlave.buttTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "vaginaTatDescription">>
/* Fuckdoll vulva and anus alone are visibile, plus enormus lips */
<<if ($activeSlave.vaginaTat != 0)>>
	<<switch $activeSlave.vaginaTat>>
	<<case "tribal patterns">>
		$His abdomen is tattooed with tribal patterns that draw the eye down toward $his <<if $activeSlave.dick != 0>>cock<<elseif $activeSlave.vagina == -1>>featureless crotch<<else>>vagina<</if>>.
	<<case "flowers">>
		$His abdomen bears a tasteful tattoo of a <<if $activeSlave.dick != 0>>lily with a large stamen<<else>>blooming flower<</if>>.
	<<case "counting">>
		<<if $activeSlave.counter.vaginal == 0>>
			$His abdomen reads 'count begins other side, sorry.'
		<<elseif $activeSlave.counter.vaginal < 500>>
			Tiny dick symbols are tattooed all over $his abdomen, one for every time $he's been fucked.
		<<else>>
			Tiny dick symbols are tattooed all over $his abdomen, one for every time $he's been fucked. There are so many that they spread up to $his breasts and around $his sides.
		<</if>>
	<<case "advertisements">>
		$His abdomen reads <<if $activeSlave.vagina < 0>>'Rear Entrance Other Side.'<<else>>'Insert Cock' with an arrow pointing downward.<</if>>
	<<case "rude words">>
		$His abdomen reads <<if $activeSlave.vagina < 0>>'Useless, Rape Ass Instead' with an arrow pointing downward<<else>>'Fucktoy'<</if>>.
	<<case "degradation">>
		$His abdomen is tattooed with <<if $activeSlave.dick != 0>>a downward-pointing arrow which reads 'Bounces When Buttfucked.'<<else>>gothic script that reads '<<if $PC.dick != 0>><<if $PC.vagina != -1>>Futa<<else>>Cock<</if>><<else>>Cunt<</if>> Pleaser.'<</if>>
	<<case "Asian art">>
		$He has formal Asian characters tattooed across $his abdomen. To those who do not know the language, they look elegant, but roughly translated, they read
		<<if ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
			'dick girl slut.'
		<<elseif $activeSlave.dick > 0>>
			'limp dick slut.'
		<<elseif $activeSlave.pregKnown == 1 && $activeSlave.bellyPreg >= 100>>
			'pregnant cow.'
		<<elseif $activeSlave.physicalAge > 35>>
			'horny old bitch.'
		<<else>>
			'sex slave.'
		<</if>>
	<<case "scenes">>
		$His abdomen is tattooed with lewd scenes. It entices with a depiction of <<if $activeSlave.dick != 0>><<if $activeSlave.balls != 0>>sodomy of a shemale<<else>>sodomy of a gelding<</if>><<elseif $activeSlave.vagina == -1>>sodomy of a null<<else>>loving intercourse<</if>>.
	<<case "bovine patterns">>
		$His abdomen is tattooed in a Holstein cow pattern.
	<<case "sacrilege">>
		$His abdomen is tattooed with a variety of heretical symbols.
	<<case "sacrament">>
		$His abdomen is tattooed with a variety of religious symbols.
	<<case "possessive">>
		$His abdomen is tattooed with
		<<if ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
			'Dick girl slave
		<<elseif $activeSlave.dick > 0>>
			'Limp dick slave
		<<elseif $activeSlave.counter.births > 5>>
			'Breeder slave
		<<elseif $activeSlave.actualAge > 35>>
			'MILF slave
		<<else>>
			'Sex slave
		<</if>>
		of <<= WrittenMaster($activeSlave)>> $PC.slaveName.'
	<<case "paternalist">>
		$His abdomen is tattooed with a downward-pointing arrow which reads 'Let's come together.'
	<<default>>
		$activeSlave.vaginaTat
	<</switch>>
<</if>>
<</widget>>

<<widget "dickTatDescription">>
<<if $activeSlave.fuckdoll == 0>>
	<<if ($activeSlave.dick != 0) && ($activeSlave.dickTat != 0)>>
		<<switch $activeSlave.dickTat>>
			<<case "tribal patterns">>
				$His cock is tattooed with tribal patterns.
			<<case "flowers">>
				$His cock is tattooed with a vine that wraps around its shaft.
			<<case "counting">>
				<<if $activeSlave.counter.penetrative == 0>>
					There is a horizontal line tattooed around the base of $his dick for symbols counting $his penetrative exploits to be inscribed under, once $he has some.
				<<elseif $activeSlave.counter.penetrative < 500>>
					Tiny anus, pussy and mouth symbols are tattooed all over $his dick, recounting $his penetrative exploits.
				<<else>>
					Tiny anus, pussy and mouth symbols are tattooed all over $his dick, recounting $his penetrative exploits. $He has so many that they radiate out across $his crotch, too.
				<</if>>
			<<case "advertisements">>
				$His cock reads 'Sissy Slut.'
			<<case "rude words">>
				$His cock reads 'Bitchstick.'
			<<case "degradation">>
				<<if $activeSlave.anus == 0>>
					$His cock reads '100% Virgin Anus.'
				<<else>>
					$His cock reads 'Comes When Assraped.'
				<</if>>
			<<case "Asian art">>
				$His cock has an Asian dragon rushing down each side to the tip.
			<<case "bovine patterns">>
				$His cock is tattooed to make it look a little like a bulls'.
			<<case "sacrilege">>
				$His cock is covered in tiny words, each derived from a sacrilegious text.
			<<case "sacrament">>
				$His cock is covered in tiny words, each derived from a sacred scripture.
			<<case "possessive">>
				$His cock has an identification barcode tattooed on its side.
			<<case "paternalist">>
				<<if $activeSlave.anus == 0>>
					$His cock reads 'Still an Ass Virgin.'
				<<else>>
					$His cock reads 'Comes When Stroked.'
				<</if>>
			<<default>>
				$activeSlave.dickTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>

<<widget "anusTatDescription">>
/* Fuckdoll vulva and anus alone are visibile, plus enormus lips */
<<if $activeSlave.anusTat != 0>>
	<<switch $activeSlave.anusTat>>
		<<case "bleached">>
			$His anus is bleached.
		<<case "tribal patterns">>
			$His anus is bleached. It is tattooed with a tribal pattern that changes interestingly when $he relaxes or tightens $his sphincter.
		<<case "flowers">>
			$He has a huge blooming flower tattooed right over $his anus.
		<<case "counting">>
			<<if $activeSlave.counter.anal == 0>>
				$He has a dashed line tattooed around $his anus as a guideline for where $his anal count will be inscribed.
			<<elseif $activeSlave.counter.anal < 1000>>
				$He has fine rings tattooed around $his anus, one for each hundred cocks.
			<<else>>
				$He has thick and fine rings tattooed around $his anus, for each thousand and hundred cocks.
			<</if>>
		<<case "advertisements">>
			<<if ($activeSlave.vagina > -1)>>
				$He has a ring of text tattooed around $his anus which reads 'Second Pussy.'
			<<else>>
				$He has a ring of text tattooed around $his anus which reads 'Spit First.'
			<</if>>
		<<case "rude words">>
			<<if ($activeSlave.vagina > -1)>>
				$He has a ring of text tattooed around $his anus which reads 'Fucktoy's Favorite Fuckhole.'
			<<else>>
				$He has a ring of text tattooed around $his anus which reads 'Sissy Slut's Sodomy Slit.'
			<</if>>
		<<case "degradation">>
			$His anus is bleached. It is tattooed with gothic script in a ring around $his hole, reading '<<= WrittenMaster($activeSlave)>> Made Me An Anal Slut.'
		<<case "bovine patterns">>
			$His anus is tattooed to mimic the puffy, dark appearance of a cow's.
		<<case "sacrilege">>
			$He has a ring of Aramaic text tattooed around $his anus, which translates to horrible blasphemy.
		<<case "sacrament">>
			$He has a ring of Aramaic text tattooed around $his anus, which translates to a comforting blessing.
		<<case "possessive">>
			$He has a ring of numbers around $his anus, detailing the date $he was enslaved by you.
		<<case "paternalist">>
			$His anus is bleached. It is tattooed with text in a ring around $his hole, reading '<<= WrittenMaster($activeSlave)>> Helped Me Love Anal.'
		<<case "Asian art">>
			$His anus is bleached.
		<<default>>
			$activeSlave.anusTat
	<</switch>>
<</if>>
<</widget>>

<<widget "legsTatDescription">>
<<if $activeSlave.fuckdoll == 0 && hasAnyLegs($activeSlave)>>
	<<if $activeSlave.legsTat != 0>>
		<<if !hasBothLegs($activeSlave)>>
			<<set _legs = "leg">>
		<<else>>
			<<set _legs = "legs">>
		<</if>>
		<<switch $activeSlave.legsTat>>
		<<case "tribal patterns">>
			$His tribal tattoos run down $his _legs.
		<<case "flowers">>
			$His floral tattoos run down $his _legs, with an especially beautiful bouquet of blooms sprayed across <<if hasBothLegs($activeSlave)>>each<<else>>$his<</if>> thigh.
		<<case "counting">>
			$His thighs are used as space for tattoos that count the number of times $he's done various degrading but nonsexual things.
		<<case "advertisements">>
			$His thighs are used as simple ad space, promoting $arcologies[0].name and your business pursuits.
		<<case "rude words">>
			$His left thigh reads '$desc' and the right 'slut.'
		<<case "degradation">>
			<<if ($activeSlave.vagina < 0)>>
				$His left thigh reads 'I Used To Fuck,' and the right 'But Now I Get Fucked.'
			<<else>>
				$His left thigh reads 'My Life Is Sex,' and the right 'All I'm Good For.'
			<</if>>
		<<case "Asian art">>
			A komainu is tattooed across $his right leg while a shishi graces $his left, the fierce lions guarding the way to $his "temple".
		<<case "scenes">>
			$He has symmetrical tattoos on <<if hasBothLegs($activeSlave)>>each<<else>>$his<</if>> thigh depicting $him being spitroasted.
		<<case "bovine patterns">>
			$His _legs <<if hasBothLegs($activeSlave)>>are<<else>>is<</if>> covered in tattoos of spots, giving $him a noticeably bovine appearance.
		<<case "sacrilege">>
			$His _legs <<if hasBothLegs($activeSlave)>>are<<else>>is<</if>> covered in tattoos of swirling flames.
		<<case "sacrament">>
			$His _legs <<if hasBothLegs($activeSlave)>>are<<else>>is<</if>> covered in tattoos of swirling thorns.
		<<case "possessive">>
			$His left thigh is tattooed with a stylized representation of your initials, and the right with a depiction of your personal symbol.
		<<case "paternalist">>
			$His left thigh reads 'I Love My Life,' and the right 'Let Me Love Yours Too.'
		<<default>>
			$activeSlave.legsTat
		<</switch>>
	<</if>>
<</if>>
<</widget>>


code:
:: extended family widgets [nobr widget]

<<widget "Family">>

/*testtest PC parent passage - determines if the current slave is your mother or father*/
<<if $activeSlave.ID == $PC.mother && $activeSlave.ID == $PC.father>>
	$He @@.lightgreen;is both your mother and father;@@ $he impregnated $himself with you.
<<elseif $activeSlave.ID == $PC.mother>>
	$He @@.lightgreen;is your mother.@@
<<elseif $activeSlave.ID == $PC.father>>
	$He @@.lightgreen;is your father.@@
<</if>>

<<if $activeSlave.father == -1 && $activeSlave.mother == -1>>
	$He's @@.lightgreen;your child;@@ you knocked yourself up and gave birth to $him.
<<elseif $activeSlave.father == $activeSlave.mother && ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves))>>
	<<if $activeSlave.father > 0>>
		<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
	<<else>>
		<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
	<</if>>
	$He was @@.lightgreen;both fathered and mothered by _pName.@@
<</if>>

<<if $activeSlave.father == -1 && $activeSlave.mother != -1>>
	$He's @@.lightgreen;your child;@@ you knocked $his mother up.
<<elseif ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
	<<if $activeSlave.father > 0>>
		<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
	<<else>>
		<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
	<</if>>
	$He was @@.lightgreen;fathered by _pName's@@ virile dick.
<</if>>

<<if $activeSlave.father != -1 && $activeSlave.mother == -1>>
	$He's @@.lightgreen;your child;@@ you gave birth to $him.
<<elseif ($activeSlave.mother > 0 || ($activeSlave.mother in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
	<<if $activeSlave.mother > 0>>
		<<set _pName = $slaves[$slaveIndices[$activeSlave.mother]].slaveName>>
	<<else>>
		<<set _pName = "your former slave "+$missingTable[$activeSlave.mother].slaveName>>
	<</if>>
	$He was @@.lightgreen;born from _pName's@@ fertile womb.
<</if>>

<<set _children = $slaves.filter(function(s) { return $activeSlave.ID == s.father; })>>
<<if _children.length > 2>>
	$He @@.lightgreen;fathered <<print _children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
<<elseif _children.length > 1>>
	$He @@.lightgreen;fathered a pair of your slaves: _children[0].slaveName, and _children[1].slaveName.@@
<<elseif _children.length > 0>>
	$He @@.lightgreen;fathered a single slave of yours: _children[0].slaveName.@@
<</if>>

<<set _children = $slaves.filter(function(s) { return $activeSlave.ID == s.mother; })>>
<<if _children.length > 2>>
	$He @@.lightgreen;gave birth to <<print _children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
<<elseif _children.length > 1>>
	$He @@.lightgreen;gave birth to a pair of your slaves: _children[0].slaveName, and _children[1].slaveName.@@
<<elseif _children.length > 0>>
	$He @@.lightgreen;gave birth to a single one of your slaves: _children[0].slaveName.@@
<</if>>

<<if (def $showDistantRelatives) && $showDistantRelatives == 1>>
	/*testtest maternal grandma passage - determines if the current slave has a maternal grandmother*/
	<<set _mi = $slaveIndices[$activeSlave.mother]>>
	<<set _fi = $slaveIndices[$activeSlave.father]>>
	<<if def _mi>>
		<<set _mmi = $slaveIndices[$slaves[_mi].mother]>>
		<<set _fmi = $slaveIndices[$slaves[_mi].father]>>
	<<elseif $PC.ID == $activeSlave.mother>>
		<<set _mmi = $slaveIndices[$PC.mother]>>
		<<set _fmi = $slaveIndices[$PC.father]>>
	<</if>>
	<<if def _fi>>
		<<set _mfi = $slaveIndices[$slaves[_fi].mother]>>
		<<set _ffi = $slaveIndices[$slaves[_fi].father]>>
	<<elseif $PC.ID == $activeSlave.father>>
		<<set _mfi = $slaveIndices[$PC.mother]>>
		<<set _ffi = $slaveIndices[$PC.father]>>
	<</if>>
	<<if (def _mi || def _fi) && ndef _mmi && ndef _fmi && ndef _mfi && ndef _ffi>>
		<<if def _mi>>
			<<if (def _fi) && _mi == _fi>>
				<<if $PC.ID == $slaves[_mi].mother && $PC.ID == $slaves[_fi].father>>
					$He is @@.lightgreen;your grandchild.@@ You impregnated yourself with $his sole biological parent.
				<<elseif $PC.ID == $slaves[_mi].mother>>
					$He is @@.lightgreen;your grandchild.@@ You gave birth to $his sole biological parent.
				<<elseif $PC.ID == $slaves[_fi].father>>
					$He is @@.lightgreen;your grandchild.@@ You fathered $his sole biological parent.
				<</if>>
			<<elseif (def _fi) && $PC.ID == $slaves[_mi].mother && $PC.ID == $slaves[_fi].mother>>
				$He is @@.lightgreen;your grandchild.@@ You gave birth to both of $his parents.
			<<elseif (def _fi) && $PC.ID == $slaves[_mi].father && $PC.ID == $slaves[_fi].father>>
				$He is @@.lightgreen;your grandchild.@@ You fathered both of $his parents.
			<<elseif $PC.ID == $slaves[_mi].mother>>
				$He is @@.lightgreen;your grandchild.@@ You gave birth to $his mother.
			<<elseif $PC.ID == $slaves[_mi].father>>
				$He is @@.lightgreen;your grandchild.@@ You fathered $his mother.
			<</if>>
		<<elseif def _fi>>
			<<if $PC.ID == $slaves[_fi].mother>>
				$He is @@.lightgreen;your grandchild.@@ You gave birth to $his father.
			<<elseif $PC.ID == $slaves[_fi].father>>
				$He is @@.lightgreen;your grandchild.@@ You fathered $his father.
			<</if>>
		<</if>>
	<<else>>
		<<if (def _mmi) && (def _ffi) && _mmi == _ffi>>
			$His sole @@.lightgreen;grandparent is $slaves[_mmi].slaveName.@@
		<<else>>
			<<if (def _mmi) && (def _mfi) && _mmi == _mfi>>
				$His sole @@.lightgreen;grandmother is $slaves[_mmi].slaveName.@@
			<<else>>
				<<if def _mmi>>
					$His maternal @@.lightgreen;grandmother is $slaves[_mmi].slaveName.@@
				<</if>>
				<<if def _mfi>>
					$His paternal @@.lightgreen;grandmother is $slaves[_mfi].slaveName.@@
				<</if>>
			<</if>>
			<<if (def _fmi) && (def _ffi) && _fmi == _ffi>>
				$His sole @@.lightgreen;grandfather is $slaves[_ffi].slaveName.@@
			<<else>>
				<<if def _fmi>>
					$His maternal @@.lightgreen;grandfather is $slaves[_fmi].slaveName.@@
				<</if>>
				<<if _ffi>>
					$His paternal @@.lightgreen;grandfather is $slaves[_ffi].slaveName.@@
				<</if>>
			<</if>>
		<</if>>
	<</if>>

	/*testtest PC grandparents passage - determines if the current slave is your grandparent*/
	<<set _pcMother = $slaveIndices[$PC.mother]>>
	<<set _pcFather = $slaveIndices[$PC.father]>>
	<<if def _pcMother>>
		<<if (def _pcFather) && _pcMother == _pcFather>>
			<<if $activeSlave.ID == $slaves[_pcMother].mother && $activeSlave.ID == $slaves[_pcFather].father>>
				$He is @@.lightgreen;your sole grandparent.@@ $He impregnated $himself with your mother/father who in turn impregnated themselves with you.
			<<elseif $activeSlave.ID == $slaves[_pcMother].mother>>
				$He is @@.lightgreen;your sole grandmother.@@ $He gave birth to $slaves[_pcMother].slaveName who in turn impregnated themselves with you.
			<<elseif $activeSlave.ID == $slaves[_pcFather].father>>
				$He is @@.lightgreen;your sole grandfather.@@ $He fathered $slaves[_pcFather].slaveName who in turn impregnated themselves with you.
			<</if>>
		<<elseif (def _pcFather) && $activeSlave.ID == $slaves[_pcMother].mother && $activeSlave.ID == $slaves[_pcFather].mother>>
			$He is @@.lightgreen;your sole grandmother.@@ $He gave birth to both of your parents, $slaves[_pcMother].slaveName and $slaves[_pcFather].slaveName.
		<<elseif (def _pcFather) && $activeSlave.ID == $slaves[_pcMother].father && $activeSlave.ID == $slaves[_pcFather].father>>
			$He is @@.lightgreen;your sole grandfather.@@ $He fathered both of your parents, $slaves[_pcFather].slaveName and $slaves[_pcMother].slaveName.
		<<elseif $activeSlave.ID == $slaves[_pcMother].mother>>
			$He is @@.lightgreen;your maternal grandmother.@@
		<<elseif $activeSlave.ID == $slaves[_pcMother].father>>
			$He is @@.lightgreen;your maternal grandfather.@@
		<</if>>
	<<elseif def _pcFather>>
		<<if $activeSlave.ID == $slaves[_pcFather].mother>>
			$He is @@.lightgreen;your paternal grandmother.@@
		<<elseif $activeSlave.ID == $slaves[_pcFather].father>>
			$He is @@.lightgreen;your paternal grandfather.@@
		<</if>>
	<</if>>

	/*testtest grandchild passage - determines how many grandchildren the current slave has*/
	<<set $children = $slaves.filter((s) => { return isGrandparentP(s, $activeSlave); });>>
	<<if $children.length > 0>>
		$He
		<<if $children.length > 2>>
			has @@.lightgreen;many grandchildren, <<print $children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>, amongst your slaves.@@
		<<elseif $children.length > 1>>
			has @@.lightgreen;two grandchildren, $children[0].slaveName, and $children[1].slaveName as your slaves.@@
		<<else>>
			has a @@.lightgreen;grandchild, $children[0].slaveName as your slave.@@
		<</if>>
	<</if>>
	<<set $children = []>>

	/*testtest PC aunt and uncle passage - determines how many aunts and uncles you have*/
	<<set _aunts = [], _uncles = []>>
	<<if isAunt($PC, $activeSlave)>>
		<<set _momsiblings = $slaves.filter((s) => { const sis = areSisters(s, $PC.mother); return sis == 1 || sis == 2; }),
			  _dadsiblings = $slaves.filter((s) => { const sis = areSisters(s, $PC.father); return sis == 1 || sis == 2; })>>
		<<for $i = 0; $i < _momsiblings.length; $i++>>
			<<if _momsiblings[$i].ID != $activeSlave.ID>>
				<<if _momsiblings[$i].genes == "XX">>
					<<set _aunts.push(_momsiblings[$i])>>
				<<else>>
					<<set _uncles.push(_momsiblings[$i])>>
				<</if>>
			<</if>>
		<</for>>
		<<for $i = 0; $i < _dadsiblings.length; $i++>>
			<<if _dadsiblings[$i].ID != $activeSlave.ID>>
				<<if _dadsiblings[$i].genes == "XX">>
					<<set _aunts.push(_dadsiblings[$i])>>
				<<else>>
					<<set _uncles.push(_dadsiblings[$i])>>
				<</if>>
			<</if>>
		<</for>>

		<<if $activeSlave.genes == "XX">>
			$He
			<<if _aunts.length > 1>>
				is @@.lightgreen;your aunt along with <<print _aunts.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
			<<elseif _aunts.length > 0>>
				is @@.lightgreen;your aunt along with _aunts[0].slaveName.@@
			<<else>>
				is @@.lightgreen;your aunt.@@
			<</if>>
		<<else>>
			$He
			<<if _uncles.length > 1>>
				is @@.lightgreen;your uncle along with <<print _uncles.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
			<<elseif _uncles.length > 0>>
				is @@.lightgreen;your uncle along with _uncles[0].slaveName.@@
			<<else>>
				is @@.lightgreen;your uncle.@@
			<</if>>
		<</if>>
	<</if>>

	/*testtest aunt and uncle passage - determines how many aunts and uncles a slave has*/
	<<set _aunts = [], _uncles = []>>
	<<set _momsiblings = $slaves.filter((s) => { const sis = areSisters(s, $activeSlave.mother); return sis == 1 || sis == 2; }),
		  _dadsiblings = $slaves.filter((s) => { const sis = areSisters(s, $activeSlave.father); return sis == 1 || sis == 2; })>>
	<<for $i = 0; $i < _momsiblings.length; $i++>>
		<<if _momsiblings[$i].genes == "XX">>
			<<set _aunts.push(_momsiblings[$i])>>
		<<else>>
			<<set _uncles.push(_momsiblings[$i])>>
		<</if>>
	<</for>>
	<<for $i = 0; $i < _dadsiblings.length; $i++>>
		<<if _dadsiblings[$i].genes == "XX">>
			<<set _aunts.push(_dadsiblings[$i])>>
		<<else>>
			<<set _uncles.push(_dadsiblings[$i])>>
		<</if>>
	<</for>>

	<<if _aunts.length > 0>>
		$He
		<<if _aunts.length > 2>>
			has @@.lightgreen;many aunts, <<print _aunts.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
		<<elseif _aunts.length > 1>>
			has @@.lightgreen;two aunts, _aunts[0].slaveName, and _aunts[1].slaveName.@@
		<<else>>
			has @@.lightgreen;an aunt, _aunts[0].slaveName.@@
		<</if>>
	<</if>>
	<<if _uncles.length > 0>>
		$He
		<<if _uncles.length > 2>>
			has @@.lightgreen;many uncles, <<print _uncles.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
		<<elseif _uncles.length > 1>>
			has @@.lightgreen;two uncles, _uncles[0].slaveName, and _uncles[1].slaveName.@@
		<<else>>
			has @@.lightgreen;an uncle, _uncles[0].slaveName.@@
		<</if>>
	<</if>>

	/*testtest PC niece and nephew passage - determines how many nieces and nephews you have*/
	<<set _nieces = [], _nephews = []>>
	<<if isAunt($activeSlave, $PC)>>
		<<set _nieces = $slaves.filter((s) => { return (isAunt(s, $PC) && (s.genes == "XX")); })>>
		<<set _nephews = $slaves.filter((s) => { return (isAunt(s, $PC) && (s.genes == "XY")); })>>

		<<if $activeSlave.genes == "XX">>
			$He
			<<if _nieces.length > 1>>
				is @@.lightgreen;your niece along with <<print _nieces.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
			<<elseif _nieces.length > 0>>
				is @@.lightgreen;your niece along with _nieces[0].slaveName.@@
			<<else>>
				is @@.lightgreen;your niece.@@
			<</if>>
		<<else>>
			$He
			<<if _nephews.length > 1>>
				is @@.lightgreen;your nephew along with <<print _nephews.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
			<<elseif _nephews.length > 0>>
				is @@.lightgreen;your nephew along with _nephews[0].slaveName.@@
			<<else>>
				is @@.lightgreen;your nephew.@@
			<</if>>
		<</if>>
	<</if>>

	/* testtest niece and nephew passage - determines how many nieces and nephews a slave has*/
	<<set _nieces = $slaves.filter((s) => { return( (s.ID != $activeSlave.ID) && (isAunt(s, $activeSlave)) && (s.genes == "XX")); })>>
	<<set _nephews = $slaves.filter((s) => { return( (s.ID != $activeSlave.ID) && (isAunt(s, $activeSlave)) && (s.genes == "XY")); })>>

	<<if _nieces.length > 0>>
		$He
		<<if _nieces.length > 2>>
			has @@.lightgreen;many nieces, <<print _nieces.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>, who are your slaves.@@
		<<elseif _nieces.length > 1>>
			has @@.lightgreen;two nieces, _nieces[0].slaveName, and _nieces[1].slaveName, who are your slaves.@@
		<<else>>
			has @@.lightgreen;a niece, _nieces[0].slaveName, who is your slave.@@
		<</if>>
	<</if>>

	<<if _nephews.length > 0>>
		$He
		<<if _nephews.length > 2>>
			has @@.lightgreen;many nephews,	<<print _nephews.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>, who are your slaves.@@
		<<elseif _nephews.length > 1>>
			has @@.lightgreen;two nephews, _nephews[0].slaveName, and _nephews[1].slaveName, who are your slaves.@@
		<<else>>
			has @@.lightgreen;a nephew, _nephews[0].slaveName, who is your slave.@@
		<</if>>
	<</if>>
	<<set $children = []>>
<</if>> /* end distant relatives toggle check */

/*testtest PC sibling passages - determines how many siblings you have*/
<<set _twins = [], _sisters = [], _brothers = [], _halfsisters = [], _halfbrothers = [], _cousins = []>>
<<for _efw = 0; _efw < $slaves.length; _efw++>>
	<<set _sisterCheck = areSisters($slaves[_efw], $activeSlave)>>
	<<if _sisterCheck == 1>>
		<<run _twins.push($slaves[_efw])>>
	<</if>>
	<<if _sisterCheck == 2>>
		<<run ($slaves[_efw].genes == 'XX' ? _sisters : _brothers).push($slaves[_efw])>>
	<</if>>
	<<if _sisterCheck == 3>>
		<<run ($slaves[_efw].genes == 'XX' ? _halfsisters : _halfbrothers).push($slaves[_efw])>>
	<</if>>
	<<if (def $showDistantRelatives) && $showDistantRelatives == 1>>
		<<if areCousins($slaves[_efw], $activeSlave) == true>>
			<<run _cousins.push($slaves[_efw])>>
		<</if>>
	<</if>>
<</for>>

/*testtest PC twin passages - determines how many twins you have but not implemented yet*/
<<if areSisters($activeSlave, $PC) == 1>>
	$He
	<<if _twins.length > 1>>
		@@.lightgreen;shared a cramped womb with you, <<print _twins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _twins.length > 0>>
		is @@.lightgreen;your twin along with _twins[0].slaveName.@@
	<<else>>
		is @@.lightgreen;your twin $sister.@@
	<</if>>
<</if>>

/*testtest PC sister passages - determines how many sisters you have*/
<<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XX">>
	$He
	<<if _sisters.length > 1>>
		@@.lightgreen;is your $sister along with <<print _sisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _sisters.length > 0>>
		is @@.lightgreen;your $sister along with _sisters[0].slaveName.@@
	<<else>>
		is @@.lightgreen;your $sister.@@
	<</if>>
<</if>>

/*testtest PC brother passages - determines how many brothers you have*/
<<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XY">>
	$He
	<<if _brothers.length > 1>>
		@@.lightgreen;is your $sister along with <<print _brothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _brothers.length > 0>>
		is @@.lightgreen;your $sister along with _brothers[0].slaveName.@@
	<<else>>
		is @@.lightgreen;your $sister.@@
	<</if>>
<</if>>

/*testtest PC half-sister passages - determines how many half-sisters you have*/
<<if areSisters($activeSlave, $PC) == 3 && $activeSlave.genes == "XX">>
	$He
	<<if _halfsisters.length > 1>>
		@@.lightgreen;is your half-<<= $sister>> along with <<print _halfsisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _halfsisters.length > 0>>
		is @@.lightgreen;your half-<<= $sister>> along with _halfsisters[0].slaveName.@@
	<<else>>
		is @@.lightgreen;your half-<<= $sister>>.@@
	<</if>>
<</if>>

/*testtest PC half-brother passages - determines how many half-brothers you have*/
<<if areSisters($activeSlave, $PC) == 3 && $activeSlave.genes == "XY">>
	$He
	<<if _halfbrothers.length > 1>>
		@@.lightgreen;is your half-<<= $sister>> along with <<print _halfbrothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _halfbrothers.length > 0>>
		is @@.lightgreen;your half-<<= $sister>> along with _halfbrothers[0].slaveName.@@
	<<else>>
		is @@.lightgreen;your half-<<= $sister>>.@@
	<</if>>
<</if>>

/*testtest twins? - determines how many twins a slave has*/
<<if _twins.length > 0>>
	$He
	<<if _twins.length > 2>>
		@@.lightgreen;shared a cramped womb with <<print _twins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
	<<elseif _twins.length > 1>>
		is @@.lightgreen;one of a set of triplets; _twins[0].slaveName and _twins[1].slaveName@@ complete the trio.
	<<else>>
		is @@.lightgreen;twins with _twins[0].slaveName.@@
	<</if>>
<</if>>

/*testtest sister - determines how many sisters a slave has*/
<<if _sisters.length > 0>>
	<<if _sisters.length > 1>>
		@@.lightgreen;<<print _sisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are $his sisters.@@
	<<else>>
		<<setLocalPronouns _sisters[0] 2>>
		@@.lightgreen; _sisters[0].slaveName is $his _sister2.@@
	<</if>>
<</if>>

/*testtest brother - determines how many brothers a slave has*/
<<if _brothers.length > 0>>
	<<if _brothers.length > 1>>
		@@.lightgreen;<<print _brothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are $his brothers.@@
	<<else>>
		<<setLocalPronouns _brothers[0] 2>>
		@@.lightgreen;_brothers[0].slaveName is $his _sister2.@@
	<</if>>
<</if>>

/*testtest half-sister - determines how many half-sisters a slave has*/
<<set _children = $slaves.filter(function(s) { return s.ID != $activeSlave.ID && areSisters($activeSlave, s) == 3 && s.genes == "XX"; })>>
<<if _children.length > 2>>
	@@.lightgreen;<<print _children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are half-sisters to $him.@@
<<elseif _children.length > 1>>
	@@.lightgreen;_children[0].slaveName and _children[1].slaveName are half-sisters to $him.@@
<<elseif _children.length > 0>>
	<<setLocalPronouns _children[0] 2>>
	@@.lightgreen;_children[0].slaveName is a half-<<= _sister2>> to $him.@@
<</if>>

/*testtest half-brother - determines how many half-brothers a slave has*/
<<set _children = $slaves.filter(function(s) { return s.ID != $activeSlave.ID && areSisters($activeSlave, s) == 3 && s.genes == "XY"; })>>
<<if _children.length > 2>>
	@@.lightgreen;<<print _children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are half-brothers to $him.@@
<<elseif _children.length > 1>>
	@@.lightgreen;_children[0].slaveName and _children[1].slaveName are half-brothers to $him.@@
<<elseif _children.length > 0>>
	@@.lightgreen;_children[0].slaveName is a half-brother to $him.@@
<</if>>

<<if (def $showDistantRelatives) && $showDistantRelatives == 1>>
	/*testtest PC cousin passage - determines how many cousins you have*/
	<<if areCousins($activeSlave, $PC)>>
		$He
		<<if _cousins.length > 1>>
			@@.lightgreen;is your cousin along with <<print _cousins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
		<<elseif _cousins.length > 0>>
			is @@.lightgreen;your cousin along with _cousins[0].slaveName.@@
		<<else>>
			is @@.lightgreen;your cousin.@@
		<</if>>
	<</if>>

	/*testtest cousin - determines how many cousins a slave has*/
	<<set _children = $slaves.filter(function(s) { return s.ID != $activeSlave.ID && areCousins($activeSlave, s)})>>
	<<if _children.length > 2>>
		@@.lightgreen;<<print _children.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are cousins to $him.@@
	<<elseif _children.length > 1>>
		@@.lightgreen;_children[0].slaveName and _children[1].slaveName are cousins to $him.@@
	<<elseif _children.length > 0>>
		@@.lightgreen;_children[0].slaveName is a cousin to $him.@@
	<</if>>
<</if>> /* end distant relatives toggle check */

<<if $activeSlave.clone != 0>>
	$He is
	<<if $activeSlave.cloneID == -1>>
		your clone.
	<<else>>
		a clone of $activeSlave.clone.
	<</if>>
<</if>>

<<if $cheatMode == 1>>
	$He has $activeSlave.sisters sister<<if $activeSlave.sisters > 1>>s<</if>>, and $activeSlave.daughters daughter<<if $activeSlave.daughters > 1>>s<</if>>.
<</if>>

<</widget>>

<<widget PlayerFamily>>

<br><br>Your present family includes:

/*Player parents, lists both your parents, or just one.*/
<<if $showMissingSlaves>>
	<<if $PC.mother in $missingTable>>
		<<set $children.push($missingTable[$PC.mother])>>
	<</if>>
	<<if $PC.father in $missingTable && !($PC.father == $PC.mother)>>
		<<set $children.push($missingTable[$PC.father])>>
	<</if>>
<</if>>
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID == $PC.father || $slaves[$i].ID == $PC.mother>>
		<<set $children.push($slaves[$i])>>
	<</if>>
<</for>>
<<if $children.length > 1>>
	<br>Your parents are @@.lightgreen;<<if $children[0].ID < 0>>your former slave<<if $children[1].ID < 0>>s<</if>><</if>> $children[0].slaveName and <<if $children[1].ID < 0 && $children[0].ID > 0>>your former slave<</if>> $children[1].slaveName.@@
<<elseif $children.length > 0>>
	<<if $PC.father == $PC.mother>>
		<br>Your parent is @@.lightgreen;<<if $children[0].ID < 0>>your former slave<</if>> $children[0].slaveName,@@ who impregnated $himself with you.
	<<else>>
		<br>You know one of your parents, @@.lightgreen;<<if $children[0].ID < 0>>your former slave<</if>> $children[0].slaveName.@@
	<</if>>
<</if>>
<<set $children = []>>

/*Twins Test with aresisters*/
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID != $PC.ID>>
		<<if areSisters($slaves[$i], $PC) == 1 && areSisters($slaves[$i], $slaves[$i]) == 1>>
			<<set $children.push($slaves[$i])>>
		<</if>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>You are @@.lightgreen;twins with
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName.@@
		<</if>>
	<</for>>
<<elseif $children.length > 1>>
	<br>You are twins with @@.lightgreen;$children[0].slaveName and $children[1].slaveName.@@
<<elseif $children.length > 0>>
	<br>Your twin is @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*Sister Test with aresisters*/
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID != $PC.ID>>
		<<if areSisters($PC, $slaves[$i]) === 2 && areSisters($slaves[$i], $PC) === 2>>
			<<if $slaves[$i].genes == "XX">>
				<<set $children.push($slaves[$i])>>
			<</if>>
		<</if>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>@@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName
		<</if>>
	<</for>>@@
	are your sisters.
<<elseif $children.length > 1>>
	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your sisters.
<<elseif $children.length > 0>>
	<<setLocalPronouns $children[0]>>
	<br>Your $sister is @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*Brother Test with aresisters*/
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID != $PC.ID>>
		<<if areSisters($PC, $slaves[$i]) === 2 && areSisters($slaves[$i], $PC) === 2>>
			<<if $slaves[$i].genes == "XY">>
				<<set $children.push($slaves[$i])>>
			<</if>>
		<</if>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>@@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName
		<</if>>
	<</for>>@@
	are your brothers.
<<elseif $children.length > 1>>
	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your brothers.
<<elseif $children.length > 0>>
	<<setLocalPronouns $children[0]>>
	<br>Your $sister is @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*Half-Sister Test with aresisters */
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID != $PC.ID>>
		<<if areSisters($slaves[$i], $PC) == 3 && areSisters($PC, $slaves[$i]) == 3>>
			<<if $slaves[$i].genes == "XX">>
				<<set $children.push($slaves[$i])>>
			<</if>>
		<</if>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>@@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName.
		<</if>>
	<</for>>@@
	are your half-sisters.
<<elseif $children.length > 1>>
	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your half-sisters.
<<elseif $children.length > 0>>
	<<setLocalPronouns $children[0]>>
	<br>You have one half-<<= $sister>>, @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*Half-Brother Test with aresisters */
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $slaves[$i].ID != $PC.ID>>
		<<if areSisters($slaves[$i], $PC) == 3 && areSisters($PC, $slaves[$i]) == 3>>
			<<if $slaves[$i].genes == "XY">>
				<<set $children.push($slaves[$i])>>
			<</if>>
		<</if>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>@@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName.
		<</if>>
	<</for>>@@
	are your half-brothers.
<<elseif $children.length > 1>>
	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your half-brothers.
<<elseif $children.length > 0>>
	<br>You have one half-brother, @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*
<<if $PC.clone != 0>>
	<br>You are a clone of
	<<if $activeSlave.cloneID == -1>>
		yourself.
	<<else>>
		$PC.clone.
	<</if>>
<</if>>
*/

/*Player is Father, lists children you fathered*/
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $PC.ID == $slaves[$i].father>>
		<<set $children.push($slaves[$i])>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>You are the father of @@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName.@@
		<</if>>
	<</for>>
<<elseif $children.length > 1>>
	<br>You are the father of two of your slaves, @@.lightgreen;$children[0].slaveName, and $children[1].slaveName.@@
<<elseif $children.length > 0>>
	<br>You are the father of one of your slaves, @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

/*Player is Mother, lists birthed children*/
<<for $i = 0; $i < $slaves.length; $i++>>
	<<if $PC.ID == $slaves[$i].mother>>
		<<set $children.push($slaves[$i])>>
	<</if>>
<</for>>
<<if $children.length > 2>>
	<br>You are the mother of@@.lightgreen;
	<<for $j = 0; $j < $children.length; $j++>>
		<<if $j < $children.length-1>>
			$children[$j].slaveName,
		<<else>>
			and $children[$j].slaveName.@@
		<</if>>
	<</for>>
<<elseif $children.length > 1>>
	<br>You are the mother of two of your slaves, @@.lightgreen;$children[0].slaveName, and $children[1].slaveName.@@
<<elseif $children.length > 0>>
	<br>You are the mother of one of your slaves, @@.lightgreen;$children[0].slaveName.@@
<</if>>
<<set $children = []>>

<<if $cheatMode == 1>>
	You have $PC.sisters sister<<if $PC.sisters > 1>>s<</if>>, and $PC.daughters daughter<<if $PC.daughters > 1>>s<</if>>.
<</if>>

<</widget>>

<<widget "parentName">>
<<if $activeSlave[$args[0]] == $PC.ID>>
	You
<<else>>
	<<set _j = $slaveIndices[$activeSlave[$args[0]]]>>
	<<if def _j>>
		<<print $slaves[_j].slaveName>>
	<<else>>
		Unknown
	<</if>>
<</if>>
<</widget>>

<<widget "listOfSlavesWithSameParent">>
<<if $activeSlave[$args[0]] != 0>>
	<<set _printSeperator = false>>
	<<if $activeSlave[$args[0]] == $PC[$args[0]]>>
		You
		<<set _printSeperator = true>>
	<</if>>
	<<for _j = 0; _j < $slaves.length; _j++>>
		<<if $slaves[_j][$args[0]] == $activeSlave[$args[0]]>>
			<<if _printSeperator>> | <</if>>
			<<set _printSeperator = true>>
			<<print $slaves[_j].slaveName>>
		<</if>>
	<</for>>
<</if>>
<</widget>>

<<widget "redisplayFamily">>
<<replace '#dontBeDumb'>><br> //You will break things by making impossible relations such as being your own father. If you do this, clearing all PC relations will fix it. Probably.//<</replace>>
<<replace '#fatheredNames'>><<listOfSlavesWithParent "father" $activeSlave.ID>><</replace>>
<<replace '#motheredNames'>><<listOfSlavesWithParent "mother" $activeSlave.ID>><</replace>>
<<replace '#familySummary'>><<Family>><</replace>>
<<replace '#motherName'>><<parentName "mother">><</replace>>
<<replace '#fatherName'>><<parentName "father">><</replace>>
<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent 'mother'>><</replace>>
<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent 'father'>><</replace>>
/* <<run updateFamilyTree($activeSlave, $slaves, $PC)>> */
<<set _tSlaveList = [$activeSlave]>>
<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
<</widget>>

/* First parameter is e.g. "father" or "mother" and second parameter is the ID to match */
<<widget "listOfSlavesWithParent">>
<<if $args[1] != 0>>
	<<set _printSeperator = false>>
	<<if $args[1] == $PC[$args[0]]>>
		You
		<<set _printSeperator = true>>
	<</if>>
	<<for _j = 0; _j < $slaves.length; _j++>>
		<<if $slaves[_j][$args[0]] == $args[1]>>
			<<if _printSeperator>> | <</if>>
			<<set _printSeperator = true>>
			<<print $slaves[_j].slaveName>>
		<</if>>
	<</for>>
<</if>>
<</widget>>

<<widget "editFamily">>
<div id="editFamily"><div id="familyTable">

<span id="dontBeDumb"></span>

<br>''Mother:'' <span id="motherName"><<parentName "mother">></span>
<<link "Reset">>
	<<set $activeSlave.mother = 0>>
	<<redisplayFamily>>
<</link>>
<<if $PC.vagina > 0 && (($PC.actualAge - $activeSlave.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && $saveImported == 0>>
	| <<link "You">><<set $activeSlave.mother = $PC.ID>><<redisplayFamily>><</link>>
<</if>>
<<for _efw = 0; _efw < $slaves.length; _efw++>>
	<<if $slaves[_efw].vagina > 0 && (($slaves[_efw].actualAge - $activeSlave.actualAge) >= $fertilityAge) && (($slaves[_efw].mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && $slaves[_efw].newGamePlus == 0>>
		|
		<<set _id = $slaves[_efw].ID>>
		<<set _slaveName = $slaves[_efw].slaveName>>
		<<print "
			<<link _slaveName>>
				<<set $activeSlave.mother = " + _id + ">>
				<<redisplayFamily>>
			<</link>>
		">>
	<</if>>
<</for>>

<br>''Father:'' <span id="fatherName"><<parentName "father">></span>
<<link "Reset">>
	<<set $activeSlave.father = 0>>
	<<redisplayFamily>>
<</link>>
<<if ($PC.dick > 0) && (($PC.actualAge - $activeSlave.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && $saveImported == 0>>
	| <<link "You">><<set $activeSlave.father = $PC.ID>><<redisplayFamily>><</link>>
<</if>>
<<for _efw = 0; _efw < $slaves.length; _efw++>>
	<<if ($slaves[_efw].dick > 0) && ((($slaves[_efw].actualAge - $activeSlave.actualAge) >= $potencyAge)) && (($slaves[_efw].father != $activeSlave.father) || ($activeSlave.father == 0)) && $slaves[_efw].newGamePlus == 0>>
		|
		<<set _id = $slaves[_efw].ID>>
		<<set _slaveName = $slaves[_efw].slaveName>>
		<<print "
		<<link _slaveName>>
			<<set $activeSlave.father = " + _id + ">>
			<<redisplayFamily>>
		<</link>>
		">>
	<</if>>
<</for>>

<br>''Same mother as:'' <span id="sameMotherNames"><<listOfSlavesWithSameParent 'mother'>></span>
<<link "Reset">>
	<<set $activeSlave.mother = 0>>
	<<redisplayFamily>>
<</link>>
<<if ($activeSlave.mother != $PC.ID) && ($PC.mother != $activeSlave.ID) && ($saveImported == 0)>>
	|
	<<link "You">>
		<<if $PC.mother != 0>>
			<<set $activeSlave.mother = $PC.mother>>
		<<elseif $activeSlave.mother != 0>>
			<<set $PC.mother = $activeSlave.mother>>
		<<else>>
			<<set $activeSlave.mother = -20 - 2*$activeSlave.ID>>
			<<set $PC.mother = $activeSlave.mother>>
		<</if>>
		<<redisplayFamily>>
	<</link>>
<</if>>
<<for _efw = 0; _efw < $slaves.length; _efw++>>
	<<if $slaves[_efw].newGamePlus == 0>>
		<<if $saveImported == 1>>|<</if>>
		<<set _slaveName = $slaves[_efw].slaveName>>
		<<set _slave = $slaves[_efw]>>
		<<if ($activeSlave.mother != _slave.ID) && (_slave.mother != $activeSlave.ID)>>
			|
			<<print "
				<<link _slaveName>>
					<<set _slave = $slaves[" + _efw + "]>>
					<<if _slave.mother != 0>>
						<<set $activeSlave.mother = _slave.mother>>
					<<elseif $activeSlave.mother != 0>>
						<<set _slave.mother = $activeSlave.mother>>
					<<else>>
						<<set $activeSlave.mother = -20 - 2*$activeSlave.ID>>
						<<set _slave.mother = $activeSlave.mother>>
					<</if>>
					<<redisplayFamily>>
				<</link>>
			">>
		<</if>>
	<</if>>
<</for>>

<br>''Same father as:'' <span id="sameFatherNames"><<listOfSlavesWithSameParent 'father'>></span>
<<link "Reset">>
	<<set $activeSlave.father = 0>>
	<<replace '#fatherName'>><</replace>>
	<<replace '#sameFatherNames'>><</replace>>
	<<redisplayFamily>>
<</link>>
<<if ($activeSlave.father != $PC.ID) && ($PC.father != $activeSlave.ID) && ($saveImported == 0)>>
	|
	<<link "You">>
		<<if $PC.father != 0>>
			<<set $activeSlave.father = $PC.father>>
		<<elseif $activeSlave.father != 0>>
			<<set $PC.father = $activeSlave.father>>
		<<else>>
			<<set $activeSlave.father = (-20 - 2*$activeSlave.ID -1)>>
			<<set $PC.father = $activeSlave.father>>
		<</if>>
		<<redisplayFamily>>
	<</link>>
<</if>>
<<for _efw = 0; _efw < $slaves.length; _efw++>>
	<<if $slaves[_efw].newGamePlus == 0>>
		<<if $saveImported == 1>>|<</if>>
		<<set _slaveName = $slaves[_efw].slaveName>>
		<<set _slave = $slaves[_efw]>>
		<<if ($activeSlave.father != _slave.ID) && (_slave.father != $activeSlave.ID)>>
			|
			<<print "
				<<link _slaveName>>
					<<set _slave = $slaves[" + _efw + "]>>
					<<if _slave.father != 0>>
						<<set $activeSlave.father = _slave.father>>
					<<elseif $activeSlave.father != 0>>
						<<set _slave.father = $activeSlave.father>>
					<<else>>
						<<set $activeSlave.father = (-20 - 2*$activeSlave.ID -1)>>
						<<set _slave.father = $activeSlave.father>>
					<</if>>
					<<redisplayFamily>>
				<</link>>
			">>
		<</if>>
	<</if>>
<</for>>

<br>''Mother of the children:'' <span id="motheredNames"><<listOfSlavesWithParent "mother" $activeSlave.ID>></span>
<<link "Reset">>
	<<for _efw = 0; _efw < $slaves.length; _efw++>>
		<<if $slaves[_efw].mother == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
			<<set $slaves[_efw].mother = 0>>
		<</if>>
	<</for>>
	<<if $PC.mother == $activeSlave.ID && $saveImported == 0>>
		<<set $PC.mother = 0>>
	<</if>>
	<<redisplayFamily>>
<</link>>
<<if $activeSlave.vagina >= 0>>
	<<if (($activeSlave.actualAge - $PC.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && ($saveImported == 0)>>
		|
		<<link "You">>
			<<set $PC.mother = $activeSlave.ID>>
			<<if $activeSlave.vagina == 0>>
				<<set $activeSlave.vagina = 1>>
			<</if>>
			<<redisplayFamily>>
		<</link>>
	<</if>>

	<<for _efw = 0; _efw < $slaves.length; _efw++>>
		<<if $slaves[_efw].newGamePlus == 0>>
			<<set _slaveName = $slaves[_efw].slaveName>>
			<<set _slave = $slaves[_efw]>>
			<<if (($activeSlave.actualAge - _slave.actualAge) >= $fertilityAge) && ((_slave.mother != $activeSlave.mother) || ($activeSlave.mother == 0))>>
				|
				<<print "
				<<link _slaveName>>
					<<set _slave = $slaves[" + _efw + "]>>
					<<set _slave.mother = $activeSlave.ID>>
					<<if $activeSlave.vagina == 0>>
						<<set $activeSlave.vagina = 1>>
					<</if>>
					<<redisplayFamily>>
				<</link>>
				">>
			<</if>>
		<</if>>
	<</for>>
<</if>>

<br>''Father of the children:'' <span id="fatheredNames"><<listOfSlavesWithParent "father" $activeSlave.ID>></span>
<<link "Reset">>
	<<for _efw = 0; _efw < $slaves.length; _efw++>>
		<<if $slaves[_efw].father == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
			<<set $slaves[_efw].father = 0>>
		<</if>>
	<</for>>
	<<if $PC.father == $activeSlave.ID && $saveImported == 0>>
		<<set $PC.father = 0>>
	<</if>>
	<<redisplayFamily>>
<</link>>
<<if $activeSlave.dick > 0>>
	<<if (($activeSlave.actualAge - $PC.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && ($saveImported == 0)>>
		|
		<<link "You">>
			<<set $PC.father = $activeSlave.ID>>
			<<redisplayFamily>>
		<</link>>
	<</if>>

	<<for _efw = 0; _efw < $slaves.length; _efw++>>
		<<if $slaves[_efw].newGamePlus == 0>>
			<<set _slaveName = $slaves[_efw].slaveName>>
			<<set _slave = $slaves[_efw]>>
			<<if (($activeSlave.actualAge - _slave.actualAge) >= $potencyAge) && ((_slave.father != $activeSlave.father) || ($activeSlave.father == 0))>>
				|
				<<print "
				<<link _slaveName>>
					<<set _slave = $slaves[" + _efw + "]>>
					<<set _slave.father = $activeSlave.ID>>
					<<redisplayFamily>>
				<</link>>
				">>
			<</if>>
		<</if>>
	<</for>>
<</if>>

<br>
<<if $saveImported == 0>>
	<<link "Reset ALL PC Relatives">>
		<<set _sameMother = 0, _sameFather = 0>>
		<<for _efw = 0; _efw < $slaves.length; _efw++>>
			<<if $slaves[_efw].newGamePlus == 0>>
				<<if $slaves[_efw].mother == $PC.ID>>
					<<set $slaves[_efw].mother = 0>>
				<</if>>
				<<if $slaves[_efw].father == $PC.ID>>
					<<set $slaves[_efw].father = 0>>
				<</if>>
				<<if $slaves[_efw].mother == $PC.mother>>
					<<set _sameMother++>>
				<</if>>
				<<if $slaves[_efw].father == $PC.father>>
					<<set _sameFather++>>
				<</if>>
			<</if>>
		<</for>>
		<<if _sameMother == 0 && $activeSlave.mother == $PC.mother>>
			<<set $activeSlave.mother = 0>>
		<</if>>
		<<if _sameFather == 0 && $activeSlave.father == $PC.father>>
			<<set $activeSlave.father = 0>>
		<</if>>
		<<for _efw = 0; (_efw < $slaves.length && (_sameMother == 1 || _sameFather == 1)); _efw++>>
			<<if $slaves[_efw].newGamePlus == 0>>
				<<if $slaves[_efw].mother == $PC.mother && _sameMother == 1>>
					<<set $slaves[_efw].mother = 0, _sameMother = 0>>
				<</if>>
				<<if $slaves[_efw].father == $PC.father && _sameFather == 1>>
					<<set $slaves[_efw].father = 0, _sameFather = 0>>
				<</if>>
			<</if>>
		<</for>>
		<<if $activeSlave.mother == $PC.ID>>
			<<set $activeSlave.mother = 0>>
		<</if>>
		<<if $activeSlave.father == $PC.ID>>
			<<set $activeSlave.father = 0>>
		<</if>>
		<<set $PC.father = 0>>
		<<set $PC.mother = 0>>
		<<redisplayFamily>>
	<</link>>
<</if>>

<br>
    <span id="familySummary"><<Family>></span>
<br>
</div>
<div id="familyTree"></div>
	<<set _tSlaveList = [$activeSlave]>>
	<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
	<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
</div>

<</widget>>