From c6d1449bd4a6ea7192d96119a439b77916f3f8f7 Mon Sep 17 00:00:00 2001
From: Vasileios Pasialiokis <whiterocket@outlook.com>
Date: Mon, 9 Jul 2018 23:02:54 +0300
Subject: [PATCH] finish stage 1

---
 src/js/slaveSummaryWidgets.tw | 1009 +++++++++++++++++++--------------
 1 file changed, 574 insertions(+), 435 deletions(-)

diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw
index e31ba74be84..ddd0ab23f44 100644
--- a/src/js/slaveSummaryWidgets.tw
+++ b/src/js/slaveSummaryWidgets.tw
@@ -2354,7 +2354,6 @@ r += `<br>`;
 			<<set slave.sexualQuirk = "none">>
 	<</switch>>
 	r += `</span>`;
-// TODO: done up to here
 <<elseif V.abbreviateMental == 2>>
 	<<if slave.fetish != "mindbroken">>
 	<<if slave.fetishKnown == 1>>
@@ -2362,455 +2361,485 @@ r += `<br>`;
 		<<switch slave.fetish>>
 			<<case "submissive">>
 				<<if slave.fetishStrength > 95>>
-					Complete submissive<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Complete submissive${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Submissive<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Submissive${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Submissive tendencies<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Submissive tendencies${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "cumslut">>
 				<<if slave.fetishStrength > 95>>
-					Cumslut<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Cumslut${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Oral fixation<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Oral fixation${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Prefers oral<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Prefers oral${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "humiliation">>
 				<<if slave.fetishStrength > 95>>
-					Humiliation slut<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Humiliation slut${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Exhibitionist<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Exhibitionist${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Interest in humiliation<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Interest in humiliation${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "buttslut">>
 				<<if slave.fetishStrength > 95>>
-					Buttslut<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Buttslut${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Anal fixation<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Anal fixation${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Prefers anal<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Prefers anal${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "boobs">>
 				<<if slave.fetishStrength > 95>>
-					Boobslut<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Boobslut${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Breast fixation<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Breast fixation${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Loves boobs<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Loves boobs${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "sadist">>
 				<<if slave.fetishStrength > 95>>
-					Complete sadist<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Complete sadist${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Sadist<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Sadist${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Sadistic tendencies<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Sadistic tendencies${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "masochist">>
 				<<if slave.fetishStrength > 95>>
-					Complete masochist<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Complete masochist${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Masochist<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Masochist${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Masochistic tendencies<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Masochistic tendencies${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "dom">>
 				<<if slave.fetishStrength > 95>>
-					Complete dom<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Complete dom${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Dominant<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Dominant${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Dominant tendencies<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Dominant tendencies${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<case "pregnancy">>
 				<<if slave.fetishStrength > 95>>
-					Pregnancy fetish<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Pregnancy fetish${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<elseif slave.fetishStrength > 60>>
-					Pregnancy kink<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Pregnancy kink${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<<else>>
-					Interest in impregnation<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+					r += `Interest in impregnation${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 				<</if>>
 			<<default>>
-				Sexually vanilla<<if V.summaryStats>> [slave.fetishStrength]<</if>>.
+				r += `Sexually vanilla${V.summaryStats? `[${slave.fetishStrength}]` : ''}.`;
 		<</switch>>
 		</span>
 	<</if>>
 	<</if>>
 	<<if slave.attrKnown == 1>>
 		<<if slave.attrXY <= 5>>
-			<span class="red">Disgusted by men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="red">Disgusted by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<<elseif slave.attrXY <= 15>>
-			<span class="red">Turned off by men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="red">Turned off by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<<elseif slave.attrXY <= 35>>
-			<span class="red">Not attracted to men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="red">Not attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<<elseif slave.attrXY <= 65>>
-			Indifferent to men<<if V.summaryStats>> [slave.attrXY]<</if>>,
+			r += `Indifferent to men${V.summaryStats? `[${slave.attrXY}]` : ''},`;
 		<<elseif slave.attrXY <= 85>>
-			<span class="green">Attracted to men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="green">Attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<<elseif slave.attrXY <= 95>>
-			<span class="green">Aroused by men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="green">Aroused by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<<elseif slave.attrXX > 95>>
 			<<if slave.energy <= 95>>
-				<span class="green">Omnisexual!</span>
+				r += `<span class="green">Omnisexual!</span>`;
 			<<else>>
-				<span class="green">Omnisexual nymphomaniac!</span>
+				r += `<span class="green">Omnisexual nymphomaniac!</span>`;
 			<</if>>
 		<<else>>
-			<span class="green">Passionate about men<<if V.summaryStats>> [slave.attrXY]<</if>>,</span>
+			r += `<span class="green">Passionate about men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`;
 		<</if>>
 		<<if slave.attrXX <= 5>>
-			<span class="red">disgusted by women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="red">disgusted by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<<elseif slave.attrXX <= 15>>
-			<span class="red">turned off by women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="red">turned off by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<<elseif slave.attrXX <= 35>>
-			<span class="red">not attracted to women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="red">not attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<<elseif slave.attrXX <= 65>>
-			indifferent to women<<if V.summaryStats>> [slave.attrXX]<</if>>. 
+			r += `indifferent to women${V.summaryStats? `[${slave.attrXX}]` : ''}. `;
 		<<elseif slave.attrXX <= 85>>
-			<span class="green">attracted to women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="green">attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<<elseif slave.attrXX <= 95>>
-			<span class="green">aroused by women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="green">aroused by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<<elseif slave.attrXY <= 95>>
-			<span class="green">passionate about women<<if V.summaryStats>> [slave.attrXX]<</if>>.</span>
+			r += `<span class="green">passionate about women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`;
 		<</if>>
 		<<if slave.energy > 95>>
 			<<if (slave.attrXY <= 95) || (slave.attrXX <= 95)>>
-				<span class="green">Nymphomaniac!</span>
+				r += `<span class="green">Nymphomaniac!</span>`;
 			<</if>>
 		<<elseif slave.energy > 80>>
-			<span class="green">Powerful sex drive<<if V.summaryStats>> [slave.energy]<</if>>.</span>
+			r += `<span class="green">Powerful sex drive${V.summaryStats? `[${slave.energy}]` : ''}.</span>`;
 		<<elseif slave.energy > 60>>
-			<span class="green">Good sex drive<<if V.summaryStats>> [slave.energy]<</if>>.</span>
+			r += `<span class="green">Good sex drive${V.summaryStats? `[${slave.energy}]` : ''}.</span>`;
 		<<elseif slave.energy > 40>>
-			<span class="yellow">Average sex drive<<if V.summaryStats>> [slave.energy]<</if>>.</span>
+			r += `<span class="yellow">Average sex drive${V.summaryStats? `[${slave.energy}]` : ''}.</span>`;
 		<<elseif slave.energy > 20>>
-			<span class="red">Poor sex drive<<if V.summaryStats>> [slave.energy]<</if>>.</span>
+			r += `<span class="red">Poor sex drive${V.summaryStats? `[${slave.energy}]` : ''}.</span>`;
 		<<else>>
-			<span class="red">No sex drive<<if V.summaryStats>> [slave.energy]<</if>>.</span>
+			r += `<span class="red">No sex drive${V.summaryStats? `[${slave.energy}]` : ''}.</span>`;
 		<</if>>
 	<</if>>
 	<<if slave.clitPiercing == 3>>
 		<<if slave.fetishKnown == 1>>
 			<<if slave.clitSetting == "off">>
-				SP off.
+				r += `SP off.`;
 			<<elseif ((slave.fetish != "submissive") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "submissive")>>
-				SP: submissive.
+				r += `SP: submissive.`;
 			<<elseif ((slave.fetish != "cumslut") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "oral")>>
-				SP: oral.
+				r += `SP: oral.`;
 			<<elseif ((slave.fetish != "humiliation") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "humiliation")>>
-				SP: humiliation.
+				r += `SP: humiliation.`;
 			<<elseif ((slave.fetish != "buttslut") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "anal")>>
-				SP: anal.
+				r += `SP: anal.`;
 			<<elseif ((slave.fetish != "boobs") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "boobs")>>
-				SP: breasts.
+				r += `SP: breasts.`;
 			<<elseif ((slave.fetish != "sadist") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "sadist")>>
-				SP: sadism.
+				r += `SP: sadism.`;
 			<<elseif ((slave.fetish != "masochist") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "masochist")>>
-				SP: masochism.
+				r += `SP: masochism.`;
 			<<elseif ((slave.fetish != "dom") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "dom")>>
-				SP: dominance.
+				r += `SP: dominance.`;
 			<<elseif ((slave.fetish != "pregnancy") || (slave.fetishStrength <= 95)) && (slave.clitSetting == "pregnancy")>>
-				SP: pregnancy.
+				r += `SP: pregnancy.`;
 			<<elseif (slave.fetish != "none") && (slave.clitSetting == "vanilla")>>
-				SP: vanilla.
+				r += `SP: vanilla.`;
 			<<elseif (slave.energy <= 95) && (slave.clitSetting == "all")>>
-				SP: all.
+				r += `SP: all.`;
 			<<elseif (slave.energy > 5) && (slave.clitSetting == "none")>>
-				SP: none.
+				r += `SP: none.`;
 			<<elseif !["women", "men", "anti-women", "anti-men"].includes(slave.clitSetting)>>
-				SP: monitoring.
+				r += `SP: monitoring.`;
 			<</if>>
 		<<else>>
 			<<switch slave.clitSetting>>
-			<<case "off">>
-				SP off.
-			<<case "submissive">>
-				SP: submissive.
-			<<case "oral">>
-				SP: oral.
-			<<case "humiliation">>
-				SP: humiliation.
-			<<case "anal">>
-				SP: anal.
-			<<case "boobs">>
-				SP: breasts.
-			<<case "sadist">>
-				SP: sadism.
-			<<case "masochist">>
-				SP: masochism.
-			<<case "dom">>
-				SP: dominance.
-			<<case "pregnancy">>
-				SP: pregnancy.
-			<<case "vanilla">>
-				SP: vanilla.
-			<<case "all">>
-				SP: all.
-			<<case "none">>
-				SP: none.
+				<<case "off">>
+					r += `SP off.`;
+				<<case "submissive">>
+					r += `SP: submissive.`;
+				<<case "oral">>
+					r += `SP: oral.`;
+				<<case "humiliation">>
+					r += `SP: humiliation.`;
+				<<case "anal">>
+					r += `SP: anal.`;
+				<<case "boobs">>
+					r += `SP: breasts.`;
+				<<case "sadist">>
+					r += `SP: sadism.`;
+				<<case "masochist">>
+					r += `SP: masochism.`;
+				<<case "dom">>
+					r += `SP: dominance.`;
+				<<case "pregnancy">>
+					r += `SP: pregnancy.`;
+				<<case "vanilla">>
+					r += `SP: vanilla.`;
+				<<case "all">>
+					r += `SP: all.`;
+				<<case "none">>
+					r += `SP: none.`;
 			<</switch>>
 		<</if>>
 		<<if slave.attrKnown == 1>>
 			<<if (slave.attrXX < 100) && (slave.clitSetting == "women")>>
-				SP: women.
+				r += `SP: women.`;
 			<<elseif (slave.attrXY < 100) && (slave.clitSetting == "men")>>
-				SP: men.
+				r += `SP: men.`;
 			<</if>>
 		<<else>>
 			<<if slave.clitSetting == "women">>
-				SP: women.
+				r += `SP: women.`;
 			<<elseif slave.clitSetting == "men">>
-				SP: men.
+				r += `SP: men.`;
 			<</if>>
 		<</if>>
 	<</if>>
-	<span class="red">
+	r + =`<span class="red">`;
 	<<switch slave.behavioralFlaw>>
-	<<case "arrogant">>
-		Arrogant.
-	<<case "bitchy">>
-		Bitchy.
-	<<case "odd">>
-		Odd.
-	<<case "hates men">>
-		Hates men.
-	<<case "hates women">>
-		Hates women.
-	<<case "gluttonous">>
-		Stress eater.
-	<<case "anorexic">>
-		Anorexic.
-	<<case "devout">>
-		Devoutly religious.
-	<<case "liberated">>
-		Mentally liberated.
+		<<case "arrogant">>
+			r += `Arrogant.`;
+		<<case "bitchy">>
+			r += `Bitchy.`;
+		<<case "odd">>
+			r += `Odd.`;
+		<<case "hates men">>
+			r += `Hates men.`;
+		<<case "hates women">>
+			r += `Hates women.`;
+		<<case "gluttonous">>
+			r += `Stress eater.`;
+		<<case "anorexic">>
+			r += `Anorexic.`;
+		<<case "devout">>
+			r += `Devoutly religious.`;
+		<<case "liberated">>
+			r += `Mentally liberated.`;
 	<<default>>
 		<<set slave.behavioralFlaw = "none">>
 	<</switch>>
-	</span>
+	r += `</span>`;
 	<<switch slave.sexualFlaw>>
-	<<case "hates oral">>
-		<span class="red">Hates oral.</span>
-	<<case "hates anal">>
-		<span class="red">Hates anal.</span>
-	<<case "hates penetration">>
-		<span class="red">Hates penetration.</span>
-	<<case "shamefast">>
-		<span class="red">Shamefast.</span>
-	<<case "idealistic">>
-		<span class="red">Sexually idealistic.</span>
-	<<case "repressed">>
-		<span class="red">Sexually repressed.</span>
-	<<case "apathetic">>
-		<span class="red">Sexually apathetic.</span>
-	<<case "crude">>
-		<span class="red">Sexually crude.</span>
-	<<case "judgemental">>
-		<span class="red">Sexually judgemental.</span>
-	<<case "cum addict">>
-		<span class="yellow">Cum addict.</span>
-	<<case "anal addict">>
-		<span class="yellow">Anal addict.</span>
-	<<case "attention whore">>
-		<span class="yellow">Attention whore.</span>
-	<<case "breast growth">>
-		<span class="yellow">Breast obsession.</span>
-	<<case "abusive">>
-		<span class="yellow">Sexually abusive.</span>
-	<<case "malicious">>
-		<span class="yellow">Sexually malicious.</span>
-	<<case "self hating">>
-		<span class="yellow">Self hatred.</span>
-	<<case "neglectful">>
-		<span class="yellow">Self neglectful.</span>
-	<<case "breeder">>
-		<span class="yellow">Breeding obsession.</span>
-	<<default>>
-		<<set slave.sexualFlaw = "none">>
+		<<case "hates oral">>
+			r += `<span class="red">Hates oral.</span>`;
+		<<case "hates anal">>
+			r += `<span class="red">Hates anal.</span>`;
+		<<case "hates penetration">>
+			r += `<span class="red">Hates penetration.</span>`;
+		<<case "shamefast">>
+			r += `<span class="red">Shamefast.</span>`;
+		<<case "idealistic">>
+			r += `<span class="red">Sexually idealistic.</span>`;
+		<<case "repressed">>
+			r += `<span class="red">Sexually repressed.</span>`;
+		<<case "apathetic">>
+			r += `<span class="red">Sexually apathetic.</span>`;
+		<<case "crude">>
+			r += `<span class="red">Sexually crude.</span>`;
+		<<case "judgemental">>
+			r += `<span class="red">Sexually judgemental.</span>`;
+		<<case "cum addict">>
+			r += `<span class="yellow">Cum addict.</span>`;
+		<<case "anal addict">>
+			r += `<span class="yellow">Anal addict.</span>`;
+		<<case "attention whore">>
+			r += `<span class="yellow">Attention whore.</span>`;
+		<<case "breast growth">>
+			r += `<span class="yellow">Breast obsession.</span>`;
+		<<case "abusive">>
+			r += `<span class="yellow">Sexually abusive.</span>`;
+		<<case "malicious">>
+			r += `<span class="yellow">Sexually malicious.</span>`;
+		<<case "self hating">>
+			r += `<span class="yellow">Self hatred.</span>`;
+		<<case "neglectful">>
+			r += `<span class="yellow">Self neglectful.</span>`;
+		<<case "breeder">>
+			r += `<span class="yellow">Breeding obsession.</span>`;
+		<<default>>
+			<<set slave.sexualFlaw = "none">>
 	<</switch>>
-	<span class="green">
+	r += `<span class="green">`;
 	<<switch slave.behavioralQuirk>>
-	<<case "confident">>
-		Confident.
-	<<case "cutting">>
-		Cutting.
-	<<case "funny">>
-		Funny.
-	<<case "fitness">>
-		Fitness.
-	<<case "adores women">>
-		Adores women.
-	<<case "adores men">>
-		Adores men.
-	<<case "insecure">>
-		Insecure.
-	<<case "sinful">>
-		Sinful.
-	<<case "advocate">>
-		Advocate.
-	<<default>>
-		<<set slave.behavioralQuirk = "none">>
+		<<case "confident">>
+			r += `Confident.`;
+		<<case "cutting">>
+			r += `Cutting.`;
+		<<case "funny">>
+			r += `Funny.`;
+		<<case "fitness">>
+			r += `Fitness.`;
+		<<case "adores women">>
+			r += `Adores women.`;
+		<<case "adores men">>
+			r += `Adores men.`;
+		<<case "insecure">>
+			r += `Insecure.`;
+		<<case "sinful">>
+			r += `Sinful.`;
+		<<case "advocate">>
+			r += `Advocate.`;
+		<<default>>
+			<<set slave.behavioralQuirk = "none">>
 	<</switch>>
 	<<switch slave.sexualQuirk>>
-	<<case "gagfuck queen">>
-		Gagfuck queen.
-	<<case "painal queen">>
-		Painal queen.
-	<<case "strugglefuck queen">>
-		Strugglefuck queen.
-	<<case "tease">>
-		Tease.
-	<<case "romantic">>
-		Romantic.
-	<<case "perverted">>
-		Perverted.
-	<<case "caring">>
-		Caring.
-	<<case "unflinching">>
-		Unflinching.
-	<<case "size queen">>
-		Size queen.
-	<<default>>
-		<<set slave.sexualQuirk = "none">>
+		<<case "gagfuck queen">>
+			r += `Gagfuck queen.`;
+		<<case "painal queen">>
+			r += `Painal queen.`;
+		<<case "strugglefuck queen">>
+			r += `Strugglefuck queen.`;
+		<<case "tease">>
+			r += `Tease.`;
+		<<case "romantic">>
+			r += `Romantic.`;
+		<<case "perverted">>
+			r += `Perverted.`;
+		<<case "caring">>
+			r += `Caring.`;
+		<<case "unflinching">>
+			r += `Unflinching.`;
+		<<case "size queen">>
+			r += `Size queen.`;
+		<<default>>
+			<<set slave.sexualQuirk = "none">>
 	<</switch>>
-	</span>
+	r += `</span>`;
 <</if>>
 
-<<if slave.customLabel != "">>''<span class="yellow">slave.customLabel</span>''<</if>>
+<<if slave.customLabel != "">>
+	r += `<strong><span class="yellow">${slave.customLabel}</span></strong>`;
+<</if>>
 
 <<if (slave.relationship != 0) || (slave.relation != 0) || (V.abbreviateClothes == 2) || (V.abbreviateRulesets == 2)>>
-	<br><<if V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
+	r += `<br>`;
+	<<if V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1>>
+		r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
+	<</if>>
 <</if>>
 
 <<if V.abbreviateMental == 1>>
-<span class="lightgreen">
+r += `<span class="lightgreen">`;
 <<if V.familyTesting == 1>>
 	<<if slave.mother > 0>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.mother; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s daughter
+			r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
-				<<if slave.relationship == 1>> & friend
-				<<elseif slave.relationship == 2>> & BFF
-				<<elseif slave.relationship == 3>> & FWB
-				<<elseif slave.relationship == 4>> & lover
-				<<else>> & wife
+				<<if slave.relationship == 1>>
+					r += ` & friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` & BFF`;
+				<<elseif slave.relationship == 3>>
+					r += ` & FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` & lover`;
+				<<else>>
+					r += ` & wife`;
 				<</if>>
 				<<set _relationshipHandled = 1>>
 			<</if>>
 		<</if>>
 	<<elseif slave.mother == -1>>
-		Your daughter
+		r += `Your daughter`;
 		<<if slave.relationship == -3>>
-			& wife
+			r += `& wife`;
 			<<set _relationshipHandled = 1>>
 		<<elseif slave.relationship == -2>>
-			& lover
+			r += `& lover`;
 			<<set _relationshipHandled = 1>>
 		<</if>>
 	<</if>>
 	<<if slave.father > 0 && slave.father != slave.mother>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.father; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s daughter
+			r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 			<<if slave.relationshipTarget == V.slaves[_ssj].ID && _relationshipHandled != 1>>
-				<<if slave.relationship == 1>> & friend
-				<<elseif slave.relationship == 2>> & BFF
-				<<elseif slave.relationship == 3>> & FWB
-				<<elseif slave.relationship == 4>> & lover
-				<<else>> & wife
+				<<if slave.relationship == 1>>
+					r += ` & friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` & BFF`;
+				<<elseif slave.relationship == 3>>
+					r += ` & FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` & lover`;
+				<<else>>
+					r += ` & wife`;
 				<</if>>
 				<<set _relationshipHandled = 1>>
 			<</if>>
 		<</if>>
 	<<elseif slave.father == -1 && slave.mother != -1>>
-		Your daughter
+		r += `Your daughter`;
 		<<if slave.relationship == -3>>
-			& wife
+			r += `& wife`;
 			<<set _relationshipHandled = 1>>
 		<<elseif slave.relationship == -2>>
-			& lover
+			r += `& lover`;
 			<<set _relationshipHandled = 1>>
 		<</if>>
 	<</if>>
 	<<if slave.daughters == 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.mother == slave.ID; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s mother
+			r += `${SlaveFullName(V.slaves[_ssj])}'s mother`;
 			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
-				<<if slave.relationship == 1>> & friend
-				<<elseif slave.relationship == 2>> & BFF
-				<<elseif slave.relationship == 3>> & FWB
-				<<elseif slave.relationship == 4>> & lover
-				<<else>> & wife
+				<<if slave.relationship == 1>>
+					r += ` & friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` & BFF`;
+				<<elseif slave.relationship == 3>>
+					r += ` & FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` & lover`;
+				<<else>>
+					r += ` & wife`;
 				<</if>>
 				<<set _relationshipHandled = 1>>
 			<</if>>
 		<</if>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.father == slave.ID; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s father
+			r += `${SlaveFullName(V.slaves[_ssj])}'s father`;
 			<<if slave.relationshipTarget == V.slaves[_ssj].ID && _relationshipHandled != 1>>
-				<<if slave.relationship == 1>> & friend
-				<<elseif slave.relationship == 2>> & BFF
-				<<elseif slave.relationship == 3>> & FWB
-				<<elseif slave.relationship == 4>> & lover
-				<<else>> & wife
+				<<if slave.relationship == 1>>
+					r += ` & friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` & BFF`;
+				<<elseif slave.relationship == 3>>
+					r += ` & FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` & lover`;
+				<<else>>
+					r += ` & wife`;
 				<</if>>
 				<<set _relationshipHandled = 1>>
 			<</if>>
 		<</if>>
 	<<elseif slave.daughters > 1>>
-		multiple daughters
+		r += `multiple daughters`;
 	<</if>>
 	<<if slave.sisters == 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return areSisters(s, slave) > 0; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s sister
+			r += `${SlaveFullName(V.slaves[_ssj])}'s sister`;
 			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
-				<<if slave.relationship == 1>> & friend
-				<<elseif slave.relationship == 2>> & BFF
-				<<elseif slave.relationship == 3>> & FWB
-				<<elseif slave.relationship == 4>> & lover
-				<<else>> & wife
+				<<if slave.relationship == 1>>
+					r += ` & friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` & BFF`;
+				<<elseif slave.relationship == 3>>
+					r += ` & FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` & lover`;
+				<<else>>
+					r += ` & wife`;
 				<</if>>
 				<<set _relationshipHandled = 1>>
 			<</if>>
 		<</if>>
 	<<elseif slave.sisters > 1>>
-		multiple sisters
+		r += `multiple sisters`;
 	<</if>>
 	<<if slave.relationship > 0 && _relationshipHandled != 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.relationshipTarget; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s
+			r += `${SlaveFullName(V.slaves[_ssj])}'s`;
 			<<switch slave.relationship>>	
 			<<case 1>>
-				friend
+				r += `friend`;
 			<<case 2>>
-				BFF
+				r += `BFF`;
 			<<case 3>>
-				FWB
+				r += `FWB`;
 			<<case 4>>
-				lover
+				r += `lover`;
 			<<case 5>>
-				wife
+				r += `wife`;
 			<</switch>>
 		<</if>>
 	<<elseif slave.relationship == -3>>
-		Your wife
+		r += `Your wife`;
 	<<elseif slave.relationship == -2>>
-		E Bonded
+		r += `E Bonded`;
 	<<elseif slave.relationship == -1>>
-		E Slut
+		r += `E Slut`;
 	<</if>>
 <<else>>
 	<<if slave.relation != 0>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.relationTarget; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s slave.relation
+			r += `${SlaveFullName(V.slaves[_ssj])}'s ${slave.relation}`;
 		<</if>>
 	<</if>>
 	<<if slave.relationship > 0>>
@@ -2819,47 +2848,62 @@ r += `<br>`;
 			<<switch slave.relationship>>
 			<<case 1>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>&<</if>> friend
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `&`;
+				<</if>>
+				r += `friend`;
 			<<case 2>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>&<</if>> BFF
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `&`;
+				<</if>>
+				r += `BFF`;
 			<<case 3>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>&<</if>> FWB
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `&`;
+				<</if>>
+				r += `FWB`;
 			<<case 4>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>&<</if>> lover
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `&`;
+				<</if>>
+				r += `lover`;
 			<<case 5>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>&<</if>> wife
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `&`;
+				<</if>>
+				r += `wife`;
 			<</switch>>
 		<</if>>
 	<<elseif slave.relationship == -3>>
-		Your wife
+		r += `Your wife`;
 	<<elseif slave.relationship == -2>>
-		E Bonded
+		r += `E Bonded`;
 	<<elseif slave.relationship == -1>>
-		E Slut
+		r += `E Slut`;
 	<</if>>
 <</if>>
-</span>
+r += `</span>`;
 <<set _relationshipHandled = 0>>
 <<if slave.rivalry != 0>>
-	&nbsp;&nbsp;&nbsp;&nbsp;
+	r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 	<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.rivalryTarget; })>>
 	<<if _ssj != -1>>
-		<span class="lightsalmon">
+		r += `<span class="lightsalmon">`;
 		<<if slave.rivalry <= 1>>
-			Disl <<SlaveFullName V.slaves[_ssj]>>
+			r += `Disl ${SlaveFullName(V.slaves[_ssj])}`;
 		<<elseif slave.rivalry <= 2>>
-			<<SlaveFullName V.slaves[_ssj]>>'s rival
+			r += `${SlaveFullName(V.slaves[_ssj])}'s rival`;
 		<<else>>
-			Hates <<SlaveFullName V.slaves[_ssj]>>
+			r += `Hates ${SlaveFullName(V.slaves[_ssj])}`;
 		<</if>>
 		</span>
 	<</if>>
@@ -2869,104 +2913,182 @@ r += `<br>`;
 	<<if slave.mother > 0>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.mother; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightgreen">daughter<<if slave.relationshipTarget == V.slaves[_ssj].ID>><<if slave.relationship == 1>> and friend<<elseif slave.relationship == 2>> and best friend<<elseif slave.relationship == 3>> and FWB<<elseif slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.</span>
+			r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
+			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
+				<<if slave.relationship == 1>>
+					r += ` and friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` and best friend`;
+				<<elseif slave.relationship == 3>>
+					r += ` and FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` and lover`;
+				<<else>>
+					r += ` and wife`;
+				<</if>>
+				<<set _relationshipHandled = 1>>
+			<</if>>
+			r += `.</span>`;
 		<</if>>
 	<<elseif slave.mother == -1>>
-		Your
+		r += `Your`;
 		<<if slave.relationship == -3>>
-			<span class="lightgreen">daughter and wife.</span>
+			r += `<span class="lightgreen">daughter and wife.</span>`;
 			<<set _relationshipHandled = 1>>
 		<<elseif slave.relationship == -2>>
-			<span class="lightgreen">daughter and lover.</span>
+			r += `<span class="lightgreen">daughter and lover.</span>`;
 			<<set _relationshipHandled = 1>>
 		<<else>>
-			<span class="lightgreen">daughter.</span>
+			r += `<span class="lightgreen">daughter.</span>`;
 		<</if>>
 	<</if>>
+	// HERE
 	<<if slave.father > 0 && slave.father != slave.mother>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.father; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightgreen">daughter<<if slave.relationshipTarget == V.slaves[_ssj].ID>><<if slave.relationship == 1>> and friend<<elseif slave.relationship == 2>> and best friend<<elseif slave.relationship == 3>> and FWB<<elseif slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.</span>
+			r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
+			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
+				<<if slave.relationship == 1>>
+					r += ` and friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` and best friend`;
+				<<elseif slave.relationship == 3>>
+					r += ` and FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` and lover`;
+				<<else>>
+					r += ` and wife`;
+				<</if>>
+				<<set _relationshipHandled = 1>>
+			<</if>>
+			r += `.</span>`;
 		<</if>>
 	<<elseif slave.father == -1 && slave.father != slave.mother>>
-		Your
+		r += `Your`;
 		<<if slave.relationship == -3>>
-			<span class="lightgreen">daughter and wife.</span>
+			r += `<span class="lightgreen">daughter and wife.</span>`;
 			<<set _relationshipHandled = 1>>
 		<<elseif slave.relationship == -2>>
-			<span class="lightgreen">daughter and lover.</span>
+			r += `<span class="lightgreen">daughter and lover.</span>`;
 			<<set _relationshipHandled = 1>>
 		<<else>>
-			<span class="lightgreen">daughter.</span>
+			r += `<span class="lightgreen">daughter.</span>`;
 		<</if>>
 	<</if>>
 	<<if slave.daughters == 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.mother == slave.ID; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightgreen">mother<<if slave.relationshipTarget == V.slaves[_ssj].ID>><<if slave.relationship == 1>> and friend<<elseif slave.relationship == 2>> and best friend<<elseif slave.relationship == 3>> and FWB<<elseif slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.</span>
+			r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">mother`;
+			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
+				<<if slave.relationship == 1>>
+					r += ` and friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` and best friend`;
+				<<elseif slave.relationship == 3>>
+					r += ` and FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` and lover`;
+				<<else>>
+					r += ` and wife`;
+				<</if>>
+				<<set _relationshipHandled = 1>>
+			<</if>>
+			r += `.</span>`;
 		<</if>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.father == slave.ID; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightgreen">father<<if slave.relationshipTarget == V.slaves[_ssj].ID>><<if slave.relationship == 1>> and friend<<elseif slave.relationship == 2>> and best friend<<elseif slave.relationship == 3>> and FWB<<elseif slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.</span>
+			r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">father`;
+			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
+				<<if slave.relationship == 1>>
+					r += ` and friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` and best friend`;
+				<<elseif slave.relationship == 3>>
+					r += ` and FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` and lover`;
+				<<else>>
+					r += ` and wife`;
+				<</if>>
+				<<set _relationshipHandled = 1>>
+			<</if>>
+			r += `.</span>`;
 		<</if>>
 	<<elseif slave.daughters > 1>>
 		<<if slave.daughters > 10>>
-			<span class="lightgreen">Has tons of daughters.</span>
+			r += `<span class="lightgreen">Has tons of daughters.</span>`;
 		<<elseif slave.daughters > 5>>
-			<span class="lightgreen">Has many daughters.</span>
+			r += `<span class="lightgreen">Has many daughters.</span>`;
 		<<else>>
-			<span class="lightgreen">Has several daughters.</span>
+			r += `<span class="lightgreen">Has several daughters.</span>`;
 		<</if>>
 	<</if>>
 	<<if slave.sisters == 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return areSisters(s, slave) > 0; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightgreen">sister<<if slave.relationshipTarget == V.slaves[_ssj].ID>><<if slave.relationship == 1>> and friend<<elseif slave.relationship == 2>> and best friend<<elseif slave.relationship == 3>> and FWB<<elseif slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.</span>
+			`${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">sister`;
+			<<if slave.relationshipTarget == V.slaves[_ssj].ID>>
+				<<if slave.relationship == 1>>
+					r += ` and friend`;
+				<<elseif slave.relationship == 2>>
+					r += ` and best friend`;
+				<<elseif slave.relationship == 3>>
+					r += ` and FWB`;
+				<<elseif slave.relationship == 4>>
+					r += ` and lover`;
+				<<else>>
+					r += ` and wife`;
+				<</if>>
+				<<set _relationshipHandled = 1>>
+			<</if>>
+			r += `.</span>`;
 		<</if>>
 	<<elseif slave.sisters > 1>>
 		<<if slave.sisters > 10>>
-			<span class="lightgreen">One of many sisters.</span>
+			r += `<span class="lightgreen">One of many sisters.</span>`;
 		<<elseif slave.sisters > 5>>
-			<span class="lightgreen">Has many sisters.</span>
+			r += `<span class="lightgreen">Has many sisters.</span>`;
 		<<else>>
-			<span class="lightgreen">Has several sisters.</span>
+			r += `<span class="lightgreen">Has several sisters.</span>`;
 		<</if>>
 	<</if>>
 	<<if slave.relationship > 0 && _relationshipHandled != 1>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.relationshipTarget; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s
+			r += `${SlaveFullName(V.slaves[_ssj])}'s`;
 			<<switch slave.relationship>>
 			<<case 1>>
-				<span class="lightgreen">friend.</span>
+				r += `<span class="lightgreen">friend.</span>`;
 			<<case 2>>
-				<span class="lightgreen">best friend.</span>
+				r += `<span class="lightgreen">best friend.</span>`;
 			<<case 3>>
-				<span class="lightgreen">FWB.</span>
+				r += `<span class="lightgreen">FWB.</span>`;
 			<<case 4>>
-				<span class="lightgreen">lover.</span>
+				r += `<span class="lightgreen">lover.</span>`;
 			<<case 5>>
-				<span class="lightgreen">slave wife.</span>
+				r += `<span class="lightgreen">slave wife.</span>`;
 			<</switch>>
 		<</if>>
 	<<elseif slave.relationship == -3>>
-		<span class="lightgreen">Your wife.</span>
+		r += `<span class="lightgreen">Your wife.</span>`;
 	<<elseif slave.relationship == -2>>
-		<span class="lightgreen">Emotionally bonded to you.</span>
+		r += `<span class="lightgreen">Emotionally bonded to you.</span>`;
 	<<elseif slave.relationship == -1>>
-		<span class="lightgreen">Emotional slut.</span>
+		r += `<span class="lightgreen">Emotional slut.</span>`;
 	<</if>>
 <<else>>
 	<<if slave.relation != 0>>
 		<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.relationTarget; })>>
 		<<if _ssj != -1>>
-			<<SlaveFullName V.slaves[_ssj]>>'s
+			r += `${SlaveFullName(V.slaves[_ssj])'s`;
 			<<if slave.relationshipTarget != slave.relationTarget>>
-				<span class="lightgreen">slave.relation<span class="
+				r += `<span class="lightgreen">${slave.relation}</span>.`;
 			<<else>>
-				</span>.lightgreen">slave.relation</span>
+				r += `<span class="lightgreen">${slave.relation}</span>`;
+			<</if>>
+			<<if slave.relationship <= 0>>
+				r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 			<</if>>
-			<<if slave.relationship <= 0>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
 		<</if>>
 	<</if>>
 	<<if slave.relationship > 0>>
@@ -2975,45 +3097,60 @@ r += `<br>`;
 			<<switch slave.relationship>>
 			<<case 1>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>and<</if>> <span class="lightgreen">friend.</span>
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `and`;
+				<</if>>
+				r += `<span class="lightgreen">friend.</span>`;
 			<<case 2>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>and<</if>> <span class="lightgreen">best friend.</span>
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `and`;
+				<</if>>
+				r += `<span class="lightgreen">best friend.</span>`;
 			<<case 3>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>and<</if>> <span class="lightgreen">FWB.</span>
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `and`;
+				<</if>>
+				r += `<span class="lightgreen">FWB.</span>`;
 			<<case 4>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>and<</if>> <span class="lightgreen">lover.</span>
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `and`;
+				<</if>>
+				r += `<span class="lightgreen">lover.</span>`;
 			<<case 5>>
 				<<if slave.relationshipTarget != slave.relationTarget>>
-					<<SlaveFullName V.slaves[_ssj]>>'s
-				<<else>>and<</if>> <span class="lightgreen">slave wife.</span>
+					r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+				<<else>>
+					r += `and`;
+				<</if>>
+				r += `<span class="lightgreen">slave wife.</span>`;
 			<</switch>>
 		<</if>>
 	<<elseif slave.relationship == -3>>
-		<span class="lightgreen">Your wife.</span>
+		r += `<span class="lightgreen">Your wife.</span>`;
 	<<elseif slave.relationship == -2>>
-		<span class="lightgreen">Emotionally bonded to you.</span>
+		r += `<span class="lightgreen">Emotionally bonded to you.</span>`;
 	<<elseif slave.relationship == -1>>
-		<span class="lightgreen">Emotional slut.</span>
+		r += `<span class="lightgreen">Emotional slut.</span>`;
 	<</if>>
 <</if>>
 <<set _relationshipHandled = 0>>
 <<if slave.rivalry != 0>>
-	&nbsp;&nbsp;&nbsp;&nbsp;
+	r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 	<<set _ssj = V.slaves.findIndex(function(s) { return s.ID == slave.rivalryTarget; })>>
 	<<if _ssj != -1>>
 		<<if slave.rivalry <= 1>>
-			<span class="lightsalmon">Dislikes</span> <<SlaveFullName V.slaves[_ssj]>>.
+			r += `<span class="lightsalmon">Dislikes</span> ${SlaveFullName(V.slaves[_ssj])}.`;
 		<<elseif slave.rivalry <= 2>>
-			<<SlaveFullName V.slaves[_ssj]>>'s <span class="lightsalmon">rival.</span>
+			r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightsalmon">rival.</span>`;
 		<<else>>
-			<span class="lightsalmon">Hates</span> <<SlaveFullName V.slaves[_ssj]>>.
+			r += `<span class="lightsalmon">Hates</span> ${SlaveFullName(V.slaves[_ssj])}.`;
 		<</if>>
 	<</if>>
 <</if>>
@@ -3021,267 +3158,269 @@ r += `<br>`;
 
 <<if slave.fuckdoll == 0>>
 <<if V.abbreviateClothes == 2>>
-&nbsp;&nbsp;&nbsp;&nbsp;
+r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 <<if slave.choosesOwnClothes == 1>>
-	Dressing herself.
+	r += `Dressing herself.`;
 <</if>>
 <<switch slave.clothes>>
 <<case "attractive lingerie">>
-	Lingerie.
+	r + =`Lingerie.`;
 <<case "a succubus outfit">>
-	Succubus outfit.
+	r + =`Succubus outfit.`;
 <<case "a string bikini">>
-	String bikini.
+	r + =`String bikini.`;
 <<case "a scalemail bikini">>
-	Scalemail bikini.
+	r + =`Scalemail bikini.`;
 <<case "a monokini">>
-	Monokini.
+	r + =`Monokini.`;
 <<case "an apron">>
-	Apron.
+	r + =`Apron.`;
 <<case "a cybersuit">>
-	Cybersuit.
+	r + =`Cybersuit.`;
 <<case "cutoffs and a t-shirt">>
-	Cutoffs, t-shirt.
+	r + =`Cutoffs, t-shirt.`;
 <<case "a slutty outfit">>
-	Slutty outfit.
+	r + =`Slutty outfit.`;
 <<case "uncomfortable straps">>
-	Leather straps.
+	r + =`Leather straps.`;
 <<case "a fallen nuns habit">>
-	Slutty habit.
+	r + =`Slutty habit.`;
 <<case "a chattel habit">>
-	Chattel habit.
+	r + =`Chattel habit.`;
 <<case "a penitent nuns habit">>
-	Cilice.
+	r + =`Cilice.`;
 <<case "slutty jewelry">>
-	Bangles.
+	r + =`Bangles.`;
 <<case "attractive lingerie for a pregnant woman">>
-	Preggo lingerie.
+	r + =`Preggo lingerie.`;
 <<case "a maternity dress">>
-	Maternity dress.
+	r + =`Maternity dress.`;
 <<case "stretch pants and a crop-top">>
-	Stretch pants, crop-top.
+	r + =`Stretch pants, crop-top.`;
 <<case "harem gauze">>
-	Harem outfit.
+	r + =`Harem outfit.`;
 <<case "a slave gown">>
-	Slave gown.
+	r + =`Slave gown.`;
 <<case "a halter top dress">>
-	Halter top dress.
+	r + =`Halter top dress.`;
 <<case "a mini dress">>
-	Mini dress.
+	r + =`Mini dress.`;
 <<case "a ball gown">>
-	Ball gown.
+	r + =`Ball gown.`;
 <<case "slutty business attire">>
-	Slutty suit.
+	r + =`Slutty suit.`;
 <<case "nice business attire">>
-	Nice suit.
+	r + =`Nice suit.`;
 <<case "a comfortable bodysuit">>
-	Bodysuit.
+	r + =`Bodysuit.`;
 <<case "a military uniform">>
-	Military uniform.
+	r + =`Military uniform.`;
 <<case "a schutzstaffel uniform">>
-	Schutzstaffel uniform.
+	r + =`Schutzstaffel uniform.`;
 <<case "a slutty schutzstaffel uniform">>
-	Slutty Schutzstaffel uniform.
+	r + =`Slutty Schutzstaffel uniform.`;
 <<case "a red army uniform">>
-	Red Army uniform.
+	r + =`Red Army uniform.`;
 <<case "a long qipao">>
-	Long Qipao.
+	r + =`Long Qipao.`;
 <<case "battlearmor">>
-	Battlearmor.
+	r + =`Battlearmor.`;
 <<case "a mounty outfit">>
-	Mounty outfit.
+	r + =`Mounty outfit.`;
 <<case "a dirndl">>
-	Dirndl.
+	r + =`Dirndl.`;
 <<case "lederhosen">>
-	Lederhosen.
+	r + =`Lederhosen.`;
 <<case "a biyelgee costume">>
-	Biyelgee costume.
+	r + =`Biyelgee costume.`;
 <<case "a leotard">>
-	Leotard.
+	r + =`Leotard.`;
 <<case "a bunny outfit">>
-	Bunny outfit.
+	r + =`Bunny outfit.`;
 <<case "a slutty maid outfit">>
-	Slutty maid.
+	r + =`Slutty maid.`;
 <<case "a nice maid outfit">>
-	Nice maid.
+	r + =`Nice maid.`;
 <<case "a slutty nurse outfit">>
-	Slutty nurse.
+	r + =`Slutty nurse.`;
 <<case "a nice nurse outfit">>
-	Nice nurse.
+	r + =`Nice nurse.`;
 <<case "a schoolgirl outfit">>
-	Schoolgirl outfit.
+	r + =`Schoolgirl outfit.`;
 <<case "a kimono">>
-	Kimono.
+	r + =`Kimono.`;
 <<case "a hijab and abaya">>
-	Hijab and abaya.
+	r + =`Hijab and abaya.`;
 <<case "battledress">>
-	Battledress.
+	r + =`Battledress.`;
 <<case "a latex catsuit">>
-	Nice latex.
+	r + =`Nice latex.`;
 <<case "restrictive latex">>
-	Bondage latex.
+	r + =`Bondage latex.`;
 <<case "conservative clothing">>
-	Conservative clothing.
+	r + =`Conservative clothing.`;
 <<case "chains">>
-	Chains.
+	r + =`Chains.`;
 <<case "a cheerleader outfit">>
-	Cheerleader.
+	r + =`Cheerleader.`;
 <<case "clubslut netting">>
-	Netting.
+	r + =`Netting.`;
 <<case "shibari ropes">>
-	Shibari.
+	r + =`Shibari.`;
 <<case "Western clothing">>
-	Chaps.
+	r + =`Chaps.`;
 <<case "body oil">>
-	Body oil.
+	r + =`Body oil.`;
 <<case "a toga">>
-	Toga.
+	r + =`Toga.`;
 <<case "a huipil">>
-	Huipil.
+	r + =`Huipil.`;
 <<case "a slutty qipao">>
-	Qipao.
+	r + =`Qipao.`;
 <<case "spats and a tank top">>
-	Spats, tank top.
+	r + =`Spats, tank top.`;
 <<default>>
-	Naked.
+	r + =`Naked.`;
 <</switch>>
 <<switch slave.collar>>
 <<case "uncomfortable leather">>
-	Leather collar.
+	r + =`Leather collar.`;
 <<case "tight steel">>
-	Steel collar.
+	r + =`Steel collar.`;
 <<case "preg biometrics">>
-	Pregnancy biometrics collar.
+	r + =`Pregnancy biometrics collar.`;
 <<case "cruel retirement counter">>
-	Cruel counter collar.
+	r + =`Cruel counter collar.`;
 <<case "shock punishment">>
-	Shock collar.
+	r + =`Shock collar.`;
 <<case "dildo gag">>
-	Dildo gag.
+	r + =`Dildo gag.`;
 <<case "massive dildo gag">>
-	Throat-bulging dildo gag.
+	r + =`Throat-bulging dildo gag.`;
 <<case "neck corset">>
-	Neck corset.
+	r + =`Neck corset.`;
 <<case "stylish leather">>
-	Stylish leather collar.
+	r + =`Stylish leather collar.`;
 <<case "satin choker">>
-	Satin choker.
+	r + =`Satin choker.`;
 <<case "silk ribbon">>
-	Silken ribbon.
+	r + =`Silken ribbon.`;
 <<case "heavy gold">>
-	Gold collar.
+	r + =`Gold collar.`;
 <<case "bowtie">>
-	Bowtie collar.
+	r + =`Bowtie collar.`;
 <<case "pretty jewelry">>
-	Pretty collar.
+	r + =`Pretty collar.`;
 <<case "nice retirement counter">>
-	Nice counter collar.
+	r + =`Nice counter collar.`;
 <<case "leather with cowbell">>
-	Cowbell collar.
+	r + =`Cowbell collar.`;
 <<case "ancient Egyptian">>
-	Wesekh.
+	r + =`Wesekh.`;
 <<case "ball gag">>
-	Ball gag.
+	r + =`Ball gag.`;
 <<case "bit gag">>
-	Bit gag.
+	r + =`Bit gag.`;
 <<case "porcelain mask">>
-	Porcelain mask.
+	r + =`Porcelain mask.`;
 <</switch>>
 <<switch slave.bellyAccessory>>
 <<case "shapewear">>
-	Shapewear.
+	r + =`Shapewear.`;
 <<case "a small empathy belly">>
-	Small fake belly.
+	r + =`Small fake belly.`;
 <<case "a medium empathy belly">>
-	Medium fake belly.
+	r + =`Medium fake belly.`;
 <<case "a large empathy belly">>
-	Large fake belly.
+	r + =`Large fake belly.`;
 <<case "a huge empathy belly">>
-	Huge fake belly.
+	r + =`Huge fake belly.`;
 <<case "a corset">>
-	Corset.
+	r + =`Corset.`;
 <<case "an extreme corset">>
-	Extreme corsetage.
+	r + =`Extreme corsetage.`;
 <</switch>>
 <<if slave.amp != 1>>
 	<<if slave.legAccessory == "short stockings">>
-		Short stockings.
+		r + =`Short stockings.`;
 	<<elseif slave.legAccessory == "long stockings">>
-		Long stockings.
+		r + =`Long stockings.`;
 	<</if>>
 <</if>>
 <<if canWalk(slave)>>
 <<if slave.shoes == "heels">>
-	Heels.
+	r + =`Heels.`;
 <<elseif slave.shoes == "pumps">>
-	Pumps.
+	r + =`Pumps.`;
 <<elseif slave.shoes == "extreme heels">>
-	Extreme heels.
+	r + =`Extreme heels.`;
 <<elseif slave.shoes == "boots">>
-	Boots.
+	r + =`Boots.`;
 <<elseif slave.heels == 1>>
-	<span class="yellow">Crawling.</span>
+	r + =`<span class="yellow">Crawling.</span>`;
 <<elseif slave.shoes == "flats">>
-	Flats.
+	r + =`Flats.`;
 <</if>>
 <</if>>
 <<switch slave.vaginalAccessory>>
 <<case "chastity belt">>
-	Vaginal chastity.
+	r + =`Vaginal chastity.`;
 <<case "combined chastity">>
-	Combined chastity.
+	r + =`Combined chastity.`;
 <<case "anal chastity">>
-	Anal chastity.
+	r + =`Anal chastity.`;
 <<case "dildo">>
-	Vaginal dildo.
+	r + =`Vaginal dildo.`;
 <<case "large dildo">>
-	Large vaginal dildo.
+	r + =`Large vaginal dildo.`;
 <<case "huge dildo">>
-	Huge vaginal dildo.
+	r + =`Huge vaginal dildo.`;
 <<case "long dildo">>
-	Long vaginal dildo.
+	r + =`Long vaginal dildo.`;
 <<case "long, large dildo">>
-	Long and large vaginal dildo.
+	r + =`Long and large vaginal dildo.`;
 <<case "long, huge dildo">>
-	Long and wide vaginal dildo.
+	r + =`Long and wide vaginal dildo.`;
 <</switch>>
 <<if slave.dickAccessory == "chastity">>
-	Chastity cage.
+	r + =`Chastity cage.`;
 <<elseif slave.dickAccessory == "combined chastity">>
-	Combined chastity.
+	r + =`Combined chastity.`;
 <<elseif slave.dickAccessory == "anal chastity">>
-	Anal chastity.
+	r + =`Anal chastity.`;
 <</if>>
 <<switch slave.buttplug>>
 <<case "plug">>
-	Buttplug.
+	r + =`Buttplug.`;
 <<case "large plug">>
-	Large buttplug.
+	r + =`Large buttplug.`;
 <<case "huge plug">>
-	Huge buttplug.
+	r + =`Huge buttplug.`;
 <<case "long plug">>
-	Long buttplug.
+	r + =`Long buttplug.`;
 <<case "long, large plug">>
-	Large, long buttplug.
+	r + =`Large, long buttplug.`;
 <<case "long, huge plug">>
-	Enormous buttplug.
+	r + =`Enormous buttplug.`;
 <</switch>>
 <<switch slave.buttplugAttachment>>
 <<case "tail">>
-	Attached tail.
+	r + =`Attached tail.`;
 <</switch>>
 <</if>>
 <</if>>
 
-&nbsp;&nbsp;&nbsp;&nbsp;
+r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 <<if slave.useRulesAssistant == 0>>
-	<span class="lightgreen">RA-Exempt</span>
+	r + =`<span class="lightgreen">RA-Exempt</span>`;
 <<elseif V.abbreviateRulesets == 2 && (def slave.currentRules) && (slave.currentRules.length > 0)>>
-	Rules: 
-	<<= V.defaultRules.filter(x => ruleApplied(slave, x)).map(x => x.name).join(" ") >>
+	r += `Rules: ${V.defaultRules.filter(x => ruleApplied(slave, x)).map(x => x.name).join(" ") }`;
 <</if>>
 
 <<if V.abbreviateOrigins == 2 && slave.origin != 0>>
-	<br><<if V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
-    <span class="gray">slave.origin</span>
+	r += `<br>`;
+	<<if V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1>>
+		r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
+	<</if>>
+	r += `<span class="gray">${slave.origin}</span>`;
 <</if>>
-- 
GitLab