diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 1ea7fa9c2a021c0963aa0c3c164f66bd34e9155a..fdb92acd25d585fdc95d28048bd9fd2d42037cb4 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -13,8 +13,8 @@ You should have received a copy of the GNU General Public License along with thi
 */
 
 <<unset $releaseID>>
-<<set $ver = "0.10.5", $releaseID = 1016>>
-<<if ndef $releaseID>><<set $releaseID = 1016>><</if>>
+<<set $ver = "0.10.4", $releaseID = 1017>>
+<<if ndef $releaseID>><<set $releaseID = 1017>><</if>>
 
 /* This needs to be broken down into individual files that can be added to StoryInit instead. */
 
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index 9af391c28c59a8b5a670c79ed0e113fddfdfc073..0ba1db0f81c0e4b786849eb99f50ff7b528ecdc9 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($PESSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/PETS.tw b/src/uncategorized/PETS.tw
index a761bb010ba7cc33c5d9aae8ef7ac2f0a9572e52..6cf8d3ac5e2af70b210bff44b32e078d7ad42660 100644
--- a/src/uncategorized/PETS.tw
+++ b/src/uncategorized/PETS.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($PETSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index 22001caf190002337b889717c4a72355e0266bbc..05d6510ab05724100b2590b66040b58d26e7dfcf 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($RECIevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index c5e9981e8da9e2623e34c2c463eb5ea9029e9fa6..33f0cecbd7d7132d535a7d7b32714b4bd32a0a89 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -38,7 +38,7 @@
 	<<set $activeSlave = $slaves.find(function(s) { return s.ID == $humiliationInterestTargetID; })>>
 <</switch>>
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($REFIevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/REFS.tw b/src/uncategorized/REFS.tw
index ffd7fd324b4b42de19e1c8df140ad53a33162030..ec98cf81fdb42227e230403cbba25907866e6c4d 100644
--- a/src/uncategorized/REFS.tw
+++ b/src/uncategorized/REFS.tw
@@ -22,7 +22,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($REFSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 85b3ad134ab13e82784c84be24699d70a53002aa..e3ce3320c91df0672ef627b3fd115b190c057a29 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($RESSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/RESSTR.tw b/src/uncategorized/RESSTR.tw
index 7e72f756dbb2b6aa92cb6ba59a08425a4e12ccb6..d43dc4ffadc8df410b4adde7acd09c558179e967 100644
--- a/src/uncategorized/RESSTR.tw
+++ b/src/uncategorized/RESSTR.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($RESSTRevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index d6f2b360759f4576f2a468a686b21d0b98a5228f..4d8ab0151c9d9339a6d57c25c9d11e90cffb8fd9 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -21,7 +21,7 @@
 /*																					*/
 /* Some scenes are also stored in useGuard.tw, walkPast.tw, and toychest.tw			*/
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($RETSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw
index f5e30075167bc5a43e3734b51e813940e69eeba5..235df2469cc206d173c1168240568a86b8db4bce 100644
--- a/src/uncategorized/personalAttentionSelect.tw
+++ b/src/uncategorized/personalAttentionSelect.tw
@@ -153,8 +153,8 @@ Your training will seek to <span id="training"><strong>$trainingRegimen</strong>
 <</if>>
 
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
-<<if $activeSlave.fetishKnown == 0>>
-	<<link "Explore her sexuality">><<set $trainingRegimen = "explore her sexuality">><<replace "#training">><strong>$trainingRegimen</strong><</replace>><</link>>
+<<if $activeSlave.fetishKnown == 0 || $activeSlave.attrKnown == 0>>
+	<<link "Explore her sexuality and fetishes">><<set $trainingRegimen = "explore her sexuality">><<replace "#training">><strong>$trainingRegimen</strong><</replace>><</link>>
 <<else>>
 	//You already understand her sexuality//
 <</if>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index 4c309497faefc73b04c3dbb6241e45a2c9d83f31..2aef340fba5eb7f30480a71a6597a4e86092c2d5 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -1,6 +1,6 @@
 :: RecETS [nobr]
 
-<<if (ndef $activeSlave) || ($activeSlave == 0)>>
+<<if Array.isArray($RecETSevent)>>
   <<set $activeSlave = $eventSlave>>
   <<if $cheatMode == 1>>
 	<<set $nextButton = "Back", $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">> /* if user just clicks spacebar */
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 7d235ed2e2980629b548f3651f4068faad925c90..07845e20dbea9c812864608b0a5ec7d7bdc43de9 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -14,13 +14,13 @@
 <<elseif ($personalAttention == "medicine")>>This week you will learn medicine.
 <<else>>
 	<<if _PA > -1>>
-		You plan to train ''__@@.pink;$slaves[_PA].slaveName@@__'' to $trainingRegimen this week.
+		You plan to train ''__@@.pink;<<SlaveFullName $slaves[_PA]>>@@__'' to $trainingRegimen this week.
 	<</if>>
 <</if>>
 <span id="managePA"><strong><<link "Change plans">><<goto "Personal Attention Select">><</link>></strong></span> @@.cyan;[A]@@
 <br>
 <<if _HG > -1>>
-	''__@@.pink;$HeadGirl.slaveName@@__'' is <<if ndef $headGirlFocus>>serving as your head girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort<</if>>.<<else>>your head girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort,<</if>> and is focusing on your slaves' $headGirlFocus.<</if>>
+	''__@@.pink;<<SlaveFullName $HeadGirl>>@@__'' is <<if ndef $headGirlFocus>>serving as your head girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort<</if>>.<<else>>your head girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort,<</if>> and is focusing on your slaves' $headGirlFocus.<</if>>
 	<span id="manageHG"><strong><<link "Manage Head Girl">><<goto "HG Select">><</link>></strong></span> @@.cyan;[H]@@
 <<elseif (_HG == -1) && ($slaves.length > 1)>>
 	You have not selected a Head Girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort<</if>>. <span id="manageHG"><strong><<link "Select one">><<goto "HG Select">><</link>></strong></span> @@.cyan;[H]@@
@@ -29,7 +29,7 @@
 <</if>>
 <br>
 <<if _RC > -1>>
-	''__@@.pink;$Recruiter.slaveName@@__'' is working to recruit girls.
+	''__@@.pink;<<SlaveFullName $Recruiter>>@@__'' is working to recruit girls.
 	<span id="manageRecruiter"><strong><<link "Manage Recruiter">><<goto "Recruiter Select">><</link>></strong></span> @@.cyan;[U]@@
 <<else>>
 	You have not selected a Recruiter.
@@ -38,7 +38,7 @@
 <<if ($dojo != 0)>>
 	<br>
 	<<if _BG > -1>>
-		''__@@.pink;$Bodyguard.slaveName@@__'' is serving as your bodyguard. <span id="manageBG"><strong><<link "Manage Bodyguard">><<goto "BG Select">><</link>></strong></span> @@.cyan;[B]@@
+		''__@@.pink;<<SlaveFullName $Bodyguard>>@@__'' is serving as your bodyguard. <span id="manageBG"><strong><<link "Manage Bodyguard">><<goto "BG Select">><</link>></strong></span> @@.cyan;[B]@@
 	<<else>>
 		You have not selected a Bodyguard. <span id="manageBG"><strong><<link "Select one">><<goto "BG Select">><</link>></strong></span> @@.cyan;[B]@@
 	<</if>>