diff --git a/devTools/concatFiles.bat b/devTools/concatFiles.bat
index cc02e8882fa4d3f1577254977789ca956ada1fb6..5bb64b3584700666249949cd88114f3273feef3e 100644
--- a/devTools/concatFiles.bat
+++ b/devTools/concatFiles.bat
@@ -7,7 +7,7 @@ CHCP 65001 > NUL
 
 :: TODO Proper temp file instead of bin\list.txt
 IF EXIST %3 DEL %3
-SET _LISTFILE="bin\list.txt"
+SET _LISTFILE=bin\list.txt
 
 :: Collect sorted list of files
 ECHO "Ignore the first line to skip the BOM" >%_LISTFILE%
@@ -16,7 +16,7 @@ ECHO "Ignore the first line to skip the BOM" >%_LISTFILE%
 :: If we have powershell available, strip the absolute path information
 :: If not, fail silently (which is fine, but will leak path information into the built file)
 powershell -command "" 2> NUL
-IF %ERRORLEVEL% EQU 0 powershell -command "(get-content -path %_LISTFILE% -encoding utf8) -replace [regex]::escape(\"%CD%\"),'' -replace '\"','' ^| set-content -encoding utf8 -path %_LISTFILE%"
+IF %ERRORLEVEL% EQU 0 powershell -command "(get-content -literalPath \"%CD%\%_LISTFILE%\" -encoding utf8) -replace [regex]::escape(\"%CD%\"),'' -replace '\"','' ^| set-content -encoding utf8 -literalPath \"%CD%\%_LISTFILE%\""
 
 :: Append the files
 (FOR /F "skip=1 usebackq delims=" %%F IN (`type "%_LISTFILE%"`) DO (
diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js
index 84c12d3398e1f7eadbc746fac8607737abf8d6dd..e7c084582e791ca86dab3fbb15d3e71fa5bf4eab 100644
--- a/src/npc/generate/newSlaveIntro.js
+++ b/src/npc/generate/newSlaveIntro.js
@@ -1446,7 +1446,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 								r.push(`thanks you.`);
 							}
 							r.push(`Witnessing this display of servitude from ${his} big ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`);
-							if (slave.anus > 0 && slave.fetish !== "cumslut") {
+							if (slave2.anus > 0 && slave2.fetish !== "cumslut") {
 								actX(slave2, "anal");
 							} else {
 								actX(slave2, "oral");
@@ -1511,7 +1511,8 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 							} else {
 								r.push(`thanks you.`);
 							}
-							r.push(`Witnessing this display of servitude from ${his} little ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`); if (slave.anus > 0 && slave.fetish !== "cumslut") {
+							r.push(`Witnessing this display of servitude from ${his} little ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`);
+							if (slave2.anus > 0 && slave2.fetish !== "cumslut") {
 								actX(slave2, "anal");
 							} else {
 								actX(slave2, "oral");
@@ -1570,14 +1571,14 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 							}
 							r.push(`As you finish, ${he2}`);
 							if (slave2.fetish === "cumslut") {
-								r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again`);
+								r.push(`opens ${his2} mouth and savors your gift, thanking you once ${he2}'s swallowed enough to be able to talk again.`);
 							} else if ((slave2.fetish === "buttslut") || (slave2.fetish === "submissive")) {
-								r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white`);
+								r.push(`collapses on the floor with ${his2} ass high in the air, thanking you for painting ${his2} hole white.`);
 							} else {
-								r.push(`thanks you`);
+								r.push(`thanks you.`);
 							}
 							r.push(`Witnessing this display of servitude from ${his} twin ${sister2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`);
-							if (slave.anus > 0 && slave.fetish !== "cumslut") {
+							if (slave2.anus > 0 && slave2.fetish !== "cumslut") {
 								actX(slave2, "anal");
 							} else {
 								actX(slave2, "oral");
@@ -1640,7 +1641,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 								r.push(`father`);
 							}
 							r.push(`<span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`);
-							if (slave.anus > 0 && slave.fetish !== "cumslut") {
+							if (slave2.anus > 0 && slave2.fetish !== "cumslut") {
 								actX(slave2, "anal");
 							} else {
 								actX(slave2, "oral");
@@ -1700,10 +1701,10 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 								r.push(`thanks you.`);
 							}
 							r.push(`Witnessing this display of servitude from ${his} ${daughter2} <span class="hotpink">eases ${slave.slaveName} into ${his} new life,</span> and <span class="mediumaquamarine">gives ${him} hope</span> ${he} can find a place here.`);
-							if (slave.anus > 0 && slave.fetish !== "cumslut") {
-								actX(slave, "anal");
+							if (slave2.anus > 0 && slave2.fetish !== "cumslut") {
+								actX(slave2, "anal");
 							} else {
-								actX(slave, "oral");
+								actX(slave2, "oral");
 							}
 							slave.devotion += 4;
 							slave.trust += 4;
@@ -2590,8 +2591,8 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 								slave.trust -= 4;
 							}
 						}
+						App.Events.addParagraph(el, r);
 
-						App.UI.DOM.appendNewElement("p", el, r.join(" "));
 						r = [];
 						r.push(`Whenever you feel able, you drain your balls into ${his}`);
 						if (slave.mpreg === 1) {
@@ -2622,7 +2623,8 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 							r.push(`Society <span class="red">is disgusted</span> by you promptly knocking up ${his} ass; babies come from women, not men.`);
 							FutureSocieties.Change("GenderFundamentalist", -2);
 						}
-						App.UI.DOM.appendNewElement("p", el, r.join(" "));
+						App.Events.addParagraph(el, r);
+
 						slave.preg = 1;
 						slave.pregType = setPregType(slave);
 						slave.pregWeek = 1;
@@ -3284,7 +3286,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 									let p;
 									const r = [];
 
-									el.append(`${His} arousal is obvious with the hard-on ${he} is sporting, but ${he} still has much to learn about size. You pop your own dick out and draw close to ${slave.slaveName}, grabbing and pulling ${him} close enough for your erections to touch. Both sets of eyes lock onto the crossed swords, or more appropriately, your sword and ${his} dagger. You give the confused ${girl} plenty of time to internalize what a real dick looks like as you <span class="hotpink">thoroughly emasculate</span> ${him}.`);
+									$(el).append(`${His} arousal is obvious with the hard-on ${he} is sporting, but ${he} still has much to learn about size. You pop your own dick out and draw close to ${slave.slaveName}, grabbing and pulling ${him} close enough for your erections to touch. Both sets of eyes lock onto the crossed swords, or more appropriately, your sword and ${his} dagger. You give the confused ${girl} plenty of time to internalize what a real dick looks like as you <span class="hotpink">thoroughly emasculate</span> ${him}.`);
 									slave.devotion += 5;
 
 									p = document.createElement("p");
@@ -3294,7 +3296,7 @@ App.UI.newSlaveIntro = function(slave, slave2 = V.eventSlave) {
 										() => {
 											r.push(`You place a hand on ${his} head and guide ${him}`);
 											if (slave.fetish === "cumslut") {
-												r.push(`downwards, right onto your penis. As you slip deeper into your throat, you find ${him} hungrily sucking your cock like an addict looking for their next hit. You ${him} drain every last drop from your balls before pulling out. ${He} licks the last bit off the tip before opening wide again, <span class="hotpink">begging you for more.</span> <span class="green">You have quite the cum fiend on your hands.</span>`);
+												r.push(`downwards, right onto your penis. As you slip deeper into ${his} throat, you find ${him} hungrily sucking your cock like an addict looking for their next hit. ${He} drains every last drop from your balls before you pull out. ${He} licks the last bit off the tip before opening wide again, <span class="hotpink">begging you for more.</span> <span class="green">You have quite the cum fiend on your hands.</span>`);
 												slave.fetishKnown = 1;
 											} else {
 												r.push(`downwards. ${He} stares at your penis before hesitantly slipping it into ${his} mouth`);