From 4bd35d838f186f491b2f34c4011081933568ba4c Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 29 Sep 2018 01:25:00 -0400
Subject: [PATCH] clothing cleanup

---
 devNotes/VersionChangeLog-Premod+LoliMod.txt |   6 +
 devNotes/twine JS.txt                        | 519 +++++++++++--------
 src/endWeek/saChoosesOwnClothes.tw           |  96 +++-
 src/init/storyInit.tw                        |   5 +
 src/js/itemAvailability.tw                   | 223 ++++++++
 src/js/rulesAssistantOptions.tw              |  35 +-
 src/js/storyJS.tw                            | 167 ------
 src/uncategorized/BackwardsCompatibility.tw  |  15 +
 src/uncategorized/saLiveWithHG.tw            |  12 +-
 src/uncategorized/slaveInteract.tw           |  62 ++-
 src/uncategorized/wardrobe.tw                |  42 +-
 src/uncategorized/wardrobeUse.tw             | 190 ++++---
 12 files changed, 857 insertions(+), 515 deletions(-)
 create mode 100644 src/js/itemAvailability.tw

diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index eaae9af20fc..bad4b38ffd6 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,12 @@
 
 0.10.7.1-0.9.x
 
+9/29/2018
+
+	3
+	-fixes
+	-moved a number of clothes to special orders from the wardrobe
+
 9/28/2018
 
 	2
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 8aab81bd328..a056e8967cf 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -575,166 +575,6 @@ window.relationTargetWord = function(slave) {
 	return slave.relation;
 };
 
-/* intended to condense the clothing/toy/etc availability checks into something less asinine */
-window.isItemAccessible = function(string) {
-	if (State.variables.cheatMode === 1){
-		return true;
-	} else {
-		switch(string) {
-		case 'attractive lingerie for a pregnant woman':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtMaternityLingerie === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a bunny outfit':
-			if ((State.variables.arcologies[0].FSGenderFundamentalist > 0) || (State.variables.clothesBoughtBunny === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'body oil':
-			if ((State.variables.arcologies[0].FSPhysicalIdealist > 0) || (State.variables.clothesBoughtOil === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'chains':
-			if ((State.variables.arcologies[0].FSDegradationist > 0) || (State.variables.clothesBoughtChains === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a chattel habit':
-			if ((State.variables.arcologies[0].FSChattelReligionist > 0) || (State.variables.clothesBoughtHabit === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'conservative clothing':
-			if ((State.variables.arcologies[0].FSPaternalist > 0) || (State.variables.clothesBoughtConservative === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'harem gauze':
-			if ((State.variables.arcologies[0].FSArabianRevivalist > 0) || (State.variables.clothesBoughtHarem === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a huipil':
-			if ((State.variables.arcologies[0].FSAztecRevivalist > 0) || (State.variables.clothesBoughtHuipil === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a kimono':
-			if ((State.variables.arcologies[0].FSEdoRevivalist > 0) || (State.variables.clothesBoughtKimono === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a maternity dress':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtMaternityDress === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a slutty qipao':
-			if ((State.variables.arcologies[0].FSChineseRevivalist > 0) || (State.variables.clothesBoughtQipao === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'stretch pants and a crop-top':
-			if ((State.variables.arcologies[0].FSHedonisticDecadence > 0) || (State.variables.clothesBoughtLazyClothes === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a toga':
-			if ((State.variables.arcologies[0].FSRomanRevivalist > 0) || (State.variables.clothesBoughtToga === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'Western clothing':
-			if ((State.variables.arcologies[0].FSPastoralist > 0) || (State.variables.clothesBoughtWestern === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'bowtie':
-			if ((State.variables.arcologies[0].FSGenderFundamentalist > 0) || (State.variables.clothesBoughtBunny === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'ancient Egyptian':
-			if ((State.variables.arcologies[0].FSEgyptianRevivalist > 0) || (State.variables.clothesBoughtEgypt === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'massive dildo gag':
-			if (State.variables.toysBoughtGags === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a small empathy belly': case 'a medium empathy belly': case 'a large empathy belly': case 'a huge empathy belly':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtBelly === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'long dildo': case 'long, large dildo': case 'long, huge dildo':
-			if (State.variables.toysBoughtDildos === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'long plug': case 'long, large plug': case 'long, huge plug':
-			if (State.variables.toysBoughtButtPlugs === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'tail':
-			if (State.variables.toysBoughtButtPlugTails === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		default:
-			return true;
-			break;
-		}
-	}
-};
-
 window.expandFacilityAssignments = function(facilityAssignments) {
 	var assignmentPairs = {
 		"serve in the club": "be the DJ",
@@ -1118,6 +958,230 @@ window.SoftenSexualFlaw = function SoftenSexualFlaw(slave) {
 	slave.sexualFlaw = "none";
 };
 
+/*:: itemAvailability [script]*/
+
+/* intended to condense the clothing/toy/etc availability checks into something less asinine */
+window.isItemAccessible = function(string) {
+
+	const V = State.variables;
+
+	if (State.variables.cheatMode === 1){
+		return true;
+	} else {
+		switch(string) {
+		case 'attractive lingerie for a pregnant woman':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtMaternityLingerie === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a bunny outfit':
+			if ((V.arcologies[0].FSGenderFundamentalist > 0) || (V.clothesBoughtBunny === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'body oil':
+			if ((V.arcologies[0].FSPhysicalIdealist > 0) || (V.clothesBoughtOil === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'chains':
+			if ((V.arcologies[0].FSDegradationist > 0) || (V.clothesBoughtChains === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a chattel habit':
+			if ((V.arcologies[0].FSChattelReligionist > 0) || (V.clothesBoughtHabit === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'conservative clothing':
+			if ((V.arcologies[0].FSPaternalist > 0) || (V.clothesBoughtConservative === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'harem gauze':
+			if ((V.arcologies[0].FSArabianRevivalist > 0) || (V.clothesBoughtHarem === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a huipil':
+			if ((V.arcologies[0].FSAztecRevivalist > 0) || (V.clothesBoughtHuipil === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a kimono':
+			if ((V.arcologies[0].FSEdoRevivalist > 0) || (V.clothesBoughtKimono === 1) || (V.continent === 'Japan')) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a maternity dress':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtMaternityDress === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a slutty qipao':
+			if ((V.arcologies[0].FSChineseRevivalist > 0) || (V.clothesBoughtQipao === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a long qipao':
+			if ((V.arcologies[0].FSChineseRevivalist > 0) || (V.clothesBoughtCultural === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'stretch pants and a crop-top':
+			if ((V.arcologies[0].FSHedonisticDecadence > 0) || (V.clothesBoughtLazyClothes === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a toga':
+			if ((V.arcologies[0].FSRomanRevivalist > 0) || (V.clothesBoughtToga === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'Western clothing':
+			if ((V.arcologies[0].FSPastoralist > 0) || (V.clothesBoughtWestern === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'battlearmor':
+		case 'a military uniform':
+		case 'a red army uniform':
+		case 'battledress':
+			if (V.clothesBoughtMilitary === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'a biyelgee costume':
+		case 'a dirndl':
+		case 'lederhosen':
+		case 'a mounty outfit':
+			if (V.clothesBoughtCultural === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'a burqa':
+		case 'a burkini':
+		case 'a hijab and blouse':
+		case 'a niqab and abaya':
+			if (V.clothesBoughtMiddleEastern === 1 || V.continent === 'the Middle East') {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+			
+		case 'klan robes':
+		case 'a schutzstaffel uniform':
+		case 'a slutty schutzstaffel uniform':
+			if (V.clothesBoughtPol === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'shimapan panties':
+			if (V.clothesBoughtPantsu === 1 || V.continent === 'Japan') {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'bowtie':
+			if ((V.arcologies[0].FSGenderFundamentalist > 0) || (V.clothesBoughtBunny === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'ancient Egyptian':
+			if ((V.arcologies[0].FSEgyptianRevivalist > 0) || (V.clothesBoughtEgypt === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'massive dildo gag':
+			if (V.toysBoughtGags === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a small empathy belly': case 'a medium empathy belly': case 'a large empathy belly': case 'a huge empathy belly':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtBelly === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'long dildo': case 'long, large dildo': case 'long, huge dildo':
+			if (V.toysBoughtDildos === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'long plug': case 'long, large plug': case 'long, huge plug':
+			if (V.toysBoughtButtPlugs === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'tail': case 'cat tail': case 'fox tail':
+			if (V.toysBoughtButtPlugTails === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		default:
+			return true;
+			break;
+		}
+	}
+};
+
 /*:: Extended Family Mode JS [script]*/
 
 /* see documentation for details /devNotes/Extended Family Mode Explained.txt */
@@ -9961,7 +10025,7 @@ window.saChoosesOwnClothes = (function() {
 					selection = {text: `${he} commonly sees others wearing chains and is drawn to doing so ${himself}.`, clothes: jsEither(['chains', 'uncomfortable straps', 'shibari ropes'])};
 					break;
 				case 'mature':
-					selection = {text: `${he} commonly sees others wearing suits and is drawn to doing so ${himself}.`, clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'a military uniform', 'a schutzstaffel uniform', 'a slutty schutzstaffel uniform', 'a red army uniform', 'a mounty outfit', 'nice business attire'])};
+					selection = {text: `${he} commonly sees others wearing suits and is drawn to doing so ${himself}.`, clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'nice business attire'])};
 					break;
 				case 'youth':
 					selection = {text: `${he} commonly sees schoolgirls around and instinctually follows along.`, clothes: jsEither(['a schoolgirl outfit', 'a cheerleader outfit'])};
@@ -9982,7 +10046,9 @@ window.saChoosesOwnClothes = (function() {
 			}
 		} else if(slave.devotion <= 20) {
 			clothing.push({text: `${He} uses the ability to select outfits to cover up with comfortable cutoffs and a t-shirt.`, clothes: "cutoffs and a t-shirt"});
-			clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "a hijab and blouse"});
+			if(isItemAccessible("a hijab and blouse")) {
+				clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "a hijab and blouse"});
+			}
 			if(isItemAccessible("conservative clothing")) {
 				clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "conservative clothing"});
 			}
@@ -10048,11 +10114,19 @@ window.saChoosesOwnClothes = (function() {
 					}
 				}
 			} else if(slave.assignment == "be your Head Girl") {
-				wardrobeAssignment.push({text: `and wears a military uniform to give ${him} that extra touch of authority.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to give ${him} that extra touch of authority.`, clothes: "a red army uniform"});
-				wardrobeAssignment.push({text: `and wears a mounty outfit to give ${him} that extra touch of authority.`, clothes: "a mounty outfit"});					
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to give ${him} that extra touch of authority.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to give ${him} that extra touch of authority.`, clothes: "a red army uniform"});
+				}
+				if(isItemAccessible("a mounty outfit")) {
+					wardrobeAssignment.push({text: `and wears a mounty outfit to give ${him} that extra touch of authority.`, clothes: "a mounty outfit"});
+				}
 				wardrobeAssignment.push({text: `and wears a handsome suit to give ${him} that extra touch of authority.`, clothes: "nice business attire"});
 				if(canPenetrate(slave)){
 					wardrobeAssignment.push({text: `and wears a slutty suit to make it perfectly clear that ${his} dick is ${his} main tool in ${his} job.`, clothes: "slutty business attire"});
@@ -10072,20 +10146,30 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and settles for a comfortable maternity dress to support ${his} middle while ${he} lectures in front of the class all week.`, clothes: "a maternity dress"});
 				}
 			} else if(slave.assignment == "be the Wardeness") {
-				wardrobeAssignment.push({text: `and dons battledress, the better to intimidate the prisoners.`, clothes: "battledress"});
+				if(isItemAccessible("battledress")) {
+					wardrobeAssignment.push({text: `and dons battledress, the better to intimidate the prisoners.`, clothes: "battledress"});
+				}
 				wardrobeAssignment.push({text: `and slips into a scalemail bikini, the better to intimidate the prisoners.`, clothes: "a scalemail bikini"});
 				wardrobeAssignment.push({text: `and dons a scandalous habit to make it perfectly clear that crossing this nun will result in sexual punishment.`, clothes: "a fallen nuns habit"});
-				wardrobeAssignment.push({text: `and wears a military uniform to look even more brutal and authoritive.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to look even more brutal and authoritive.`, clothes: "a red army uniform"});
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to look even more brutal and authoritive.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to look even more brutal and authoritive.`, clothes: "a red army uniform"});
+				}
 				if(isItemAccessible("stretch pants and a crop-top")) {
 					wardrobeAssignment.push({text: `and decides to take it easy by slipping into some stretch pants. They come off just as quickly as they come on, just in case.`, clothes: "stretch pants and a crop-top"});
 				}
 			} else if(slave.assignment == "be the Attendant") {
 				wardrobeAssignment.push({text: `and wears a string bikini, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a string bikini"});
 				wardrobeAssignment.push({text: `and wears an immodest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a monokini"});
-				wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
+				if(isItemAccessible("a burkini")) {
+					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
+				}
 				wardrobeAssignment.push({text: `but decides to go nude, since ${he}'ll be spending so much time in the water.`, clothes: "no clothing"});
 			} else if(slave.assignment == "rest") {
 				wardrobeAssignment.push({text: `and wears a comfortable t-shirt and cutoffs to relax.`, clothes: "cutoffs and a t-shirt"});
@@ -10115,12 +10199,20 @@ window.saChoosesOwnClothes = (function() {
 				wardrobeAssignment.push({text: `and dons a slutty outfit. If ${his} breasts are going to hang out, might as well wear something to complement them.`, clothes: "a slutty outfit"});
 			} else if(slave.assignment == "guard you") {
 				wardrobeAssignment.push({text: `and wears a bodysuit to show off ${his} curves without hindering ${his} deadliness.`, clothes: "a comfortable bodysuit"});
-				wardrobeAssignment.push({text: `and wears a military uniform to look the part of the honor guard.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look the part of the honor guard.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look the part of the honor guard.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to look the part of the honor guard.`, clothes: "a red army uniform"});
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to look the part of the honor guard.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look the part of the honor guard.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look the part of the honor guard.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to look the part of the honor guard.`, clothes: "a red army uniform"});
+				}
 				wardrobeAssignment.push({text: `and wears a nice suit to make it clear you mean business.`, clothes: "nice business attire"});
-				wardrobeAssignment.push({text: `and wears a mounty outfit to make it clear you mean business.`, clothes: "a mounty outfit"});
+				if(isItemAccessible("a mounty outfit")) {
+					wardrobeAssignment.push({text: `and wears a mounty outfit to make it clear you mean business.`, clothes: "a mounty outfit"});
+				}
 				wardrobeAssignment.push({text: `and wears a scalemail bikini to make ${himself} look fierce.`, clothes: "a scalemail bikini"});
 				if(isItemAccessible("a kimono")) {
 					wardrobeAssignment.push({text: `and wears a nice kimono to add an air of elegance to your presence.`, clothes: "a kimono"});
@@ -10259,7 +10351,9 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if(V.arcologies[0].FSPaternalist > 0) {
 					wardrobeFS.push({text: `and wears conservative clothing, as permitted by your paternalism.`, clothes: "conservative clothing"});
-					wardrobeFS.push({text: `and wears very conservative clothing, as permitted by your paternalism.`, clothes: "a hijab and blouse"});
+					if(isItemAccessible("a hijab and blouse") && slave.race == "middle eastern") {
+						wardrobeFS.push({text: `and wears very conservative clothing, as permitted by your paternalism.`, clothes: "a hijab and blouse"});
+					}
 					if(isItemAccessible("stretch pants and a crop-top")) {
 						wardrobeFS.push({text: `and wears the most comfortable stretch pants ${he} can find.`, clothes: "stretch pants and a crop-top"});
 					}
@@ -10332,11 +10426,19 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if(V.arcologies[0].FSSupremacist > 0) {
 					if(V.arcologies[0].FSSupremacistRace == "white") {
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "a dirndl"});
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "lederhosen"});
+						if(isItemAccessible("a dirndl")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "a dirndl"});
+						}
+						if(isItemAccessible("lederhosen")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "lederhosen"});
+						}
 					} else if(V.arcologies[0].FSSupremacistRace == "asian") {
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a biyelgee costume"});
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a long qipao"});
+						if(isItemAccessible("a biyelgee costume")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a biyelgee costume"});
+						}
+						if(isItemAccessible("a long qipao")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a long qipao"});
+						}
 						if(isItemAccessible("a kimono")) {
 							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a kimono"});
 						}
@@ -10408,14 +10510,16 @@ window.saChoosesOwnClothes = (function() {
 				}
 
 				if(slave.sexualFlaw == "shamefast") {
-					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"});
+					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a hijab and abaya"});
 				} else if(slave.sexualFlaw == "breeder") {
 					if(isItemAccessible("attractive lingerie for a pregnant woman")) {
 						wardrobeTastes.push({text: `and wears lingerie designed to acommodate pregnancies, hoping that others get the hint.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 				} else if(slave.sexualFlaw == "malicious") {
-					wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"});
-					wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"});
+					if(isItemAccessible("a schutzstaffel uniform")) {
+						wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"});
+						wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"});
+					}
 				}
 
 				if(slave.sexualQuirk == "romantic") {
@@ -10525,7 +10629,9 @@ window.saChoosesOwnClothes = (function() {
 				}
 
 				if(slave.nationality == "Canadian") {
-					wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"});
+					if(isItemAccessible("a mounty outfit")) {
+						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"});
+					}
 				} else if(slave.nationality == "Japanese") {
 					if(isItemAccessible("a kimono")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a kimono"});
@@ -11120,7 +11226,7 @@ window.saServant = function saServant(slave) {
 			if (V.Stewardess != 0) {
 				t += ` This brings ${him} under ${V.Stewardess.slaveName}'s supervision. The Stewardess `;
 				if (slave.devotion < -20) {
-					t += `subjects ${him} to <span class='gold'>corrective rape</span> when ${his} service is imperfect, <span class='hotpink'>when ${he] steps out of line</span>, or when the Stewardess just feels like raping ${him}, forcing the poor slave to <span class='yellowgreen'>find refuge in work.</span>`;
+					t += `subjects ${him} to <span class='gold'>corrective rape</span> when ${his} service is imperfect, <span class='hotpink'>when ${he} steps out of line</span>, or when the Stewardess just feels like raping ${him}, forcing the poor slave to <span class='yellowgreen'>find refuge in work.</span>`;
 					slave.devotion += 2;
 					slave.trust -= 2;
 				} else if (slave.devotion <= 20) {
@@ -11148,7 +11254,7 @@ window.saServant = function saServant(slave) {
 		t += "frightened of punishment and works very hard, <span class='yellowgreen'>reducing the upkeep</span> of your slaves.";
 	} else if (slave.devotion < -20) {
 		if (slave.trust >= 20) {
-			t += `uninterested in doing such work and barely lifts a finger to <span class='yellowgreen'>reduce the upkeep</span> of your slaves.
+			t += `uninterested in doing such work and barely lifts a finger to <span class='yellowgreen'>reduce the upkeep</span> of your slaves.`;
 		} else {
 			t += `reluctant, requiring your other slaves to force ${his} services, and does not <span class='yellowgreen'>reduce upkeep</span> of your slaves much.`;
 		}
@@ -15862,51 +15968,53 @@ window.rulesAssistantOptions = (function() {
 				["No default clothes setting", "no default setting"],
 				["Apron", "an apron"],
 				["Bangles", "slutty jewelry"],
-				["Battlearmor", "battlearmor"],
-				["Biyelgee costume", "a biyelgee costume"],
 				["Bodysuit", "a comfortable bodysuit"],
-				["Burkini", "a burkini"],
-				["Burqa", "a burqa"],
 				["Cheerleader outfit", "a cheerleader outfit"],
 				["Clubslut netting", "clubslut netting"],
 				["Cybersuit", "a cybersuit"],
 				["Cutoffs and a t-shirt", "cutoffs and a t-shirt"],
-				["Dirndl", "a dirndl"],
 				["Fallen nun", "a fallen nuns habit"],
 				["Halter top", "a halter top dress"],
 				["Hijab and abaya", "a hijab and abaya"],
-				["Hijab and blouse", "a hijab and blouse"],
 				["Kitty lingerie", "kitty lingerie"],
-				["Klan robes", "klan robes"],
 				["Latex catsuit", "a latex catsuit"],
-				["Lederhosen", "lederhosen"],
 				["Leotard", "a leotard"],
-				["Mounty outfit", "a mounty outfit"],
 				["Maid (nice)", "a nice maid outfit"],
 				["Maid (slutty)", "a slutty maid outfit"],
-				["Military uniform", "a military uniform"],
 				["Mini dress", "a mini dress"],
 				["Monokini", "a monokini"],
 				["Nice lingerie", "attractive lingerie"],
-				["Niqab and abaya", "a niqab and abaya"],
 				["Nurse (nice)", "a nice nurse outfit"],
 				["Nurse (slutty)", "a slutty nurse outfit"],
-				["Red Army uniform", "a red army uniform"],
 				["Schoolgirl", "a schoolgirl outfit"],
-				["Shimapan Panties", "shimapan panties"],
 				["Silken ballgown", "a ball gown"],
-				["Skimpy battledress", "battledress"],
 				["Slave gown", "a slave gown"],
 				["Slutty outfit", "a slutty outfit"],
 				["String bikini", "a string bikini"],
 				["Scalemail bikini", "a scalemail bikini"],
-				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
-				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
 				["Succubus costume", "a succubus outfit"],
 				["Suit (nice)", "nice business sattire"],
 				["Suit (slutty)", "slutty business attire"],
 				["Spats and tank top", "spats and a tank top"]
 			];
+			const spclothes = [
+				["Battlearmor", "battlearmor"],
+				["Biyelgee costume", "a biyelgee costume"],
+				["Burkini", "a burkini"],
+				["Burqa", "a burqa"],
+				["Dirndl", "a dirndl"],
+				["Hijab and blouse", "a hijab and blouse"],
+				["Klan robes", "klan robes"],
+				["Lederhosen", "lederhosen"],
+				["Mounty outfit", "a mounty outfit"],
+				["Military uniform", "a military uniform"],
+				["Niqab and abaya", "a niqab and abaya"],
+				["Red Army uniform", "a red army uniform"],
+				["Shimapan Panties", "shimapan panties"],
+				["Skimpy battledress", "battledress"],
+				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
+				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
+			];
 			const fsnclothes = [
 				["Body oil (FS)", "body oil"],
 				["Bunny outfit (FS)", "a bunny outfit"],
@@ -15923,6 +16031,7 @@ window.rulesAssistantOptions = (function() {
 				["Toga (FS)", "a toga"],
 				["Western clothing (FS)", "Western clothing"],
 			];
+			spclothes.forEach(pair => { if (isItemAccessible(pair[1])) nclothes.push(pair); });
 			fsnclothes.forEach(pair => { if (isItemAccessible(pair[1])) nclothes.push(pair); });
 			const nice = new ListSubSection(this, "Nice", nclothes);
 			this.appendChild(nice);
diff --git a/src/endWeek/saChoosesOwnClothes.tw b/src/endWeek/saChoosesOwnClothes.tw
index d80c1f8eae0..5dbd62aee5b 100644
--- a/src/endWeek/saChoosesOwnClothes.tw
+++ b/src/endWeek/saChoosesOwnClothes.tw
@@ -174,7 +174,7 @@ window.saChoosesOwnClothes = (function() {
 					selection = {text: `${he} commonly sees others wearing chains and is drawn to doing so ${himself}.`, clothes: jsEither(['chains', 'uncomfortable straps', 'shibari ropes'])};
 					break;
 				case 'mature':
-					selection = {text: `${he} commonly sees others wearing suits and is drawn to doing so ${himself}.`, clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'a military uniform', 'a schutzstaffel uniform', 'a slutty schutzstaffel uniform', 'a red army uniform', 'a mounty outfit', 'nice business attire'])};
+					selection = {text: `${he} commonly sees others wearing suits and is drawn to doing so ${himself}.`, clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'nice business attire'])};
 					break;
 				case 'youth':
 					selection = {text: `${he} commonly sees schoolgirls around and instinctually follows along.`, clothes: jsEither(['a schoolgirl outfit', 'a cheerleader outfit'])};
@@ -195,7 +195,9 @@ window.saChoosesOwnClothes = (function() {
 			}
 		} else if(slave.devotion <= 20) {
 			clothing.push({text: `${He} uses the ability to select outfits to cover up with comfortable cutoffs and a t-shirt.`, clothes: "cutoffs and a t-shirt"});
-			clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "a hijab and blouse"});
+			if(isItemAccessible("a hijab and blouse")) {
+				clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "a hijab and blouse"});
+			}
 			if(isItemAccessible("conservative clothing")) {
 				clothing.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "conservative clothing"});
 			}
@@ -261,11 +263,19 @@ window.saChoosesOwnClothes = (function() {
 					}
 				}
 			} else if(slave.assignment == "be your Head Girl") {
-				wardrobeAssignment.push({text: `and wears a military uniform to give ${him} that extra touch of authority.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to give ${him} that extra touch of authority.`, clothes: "a red army uniform"});
-				wardrobeAssignment.push({text: `and wears a mounty outfit to give ${him} that extra touch of authority.`, clothes: "a mounty outfit"});					
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to give ${him} that extra touch of authority.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to give ${him} that extra touch of authority.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to give ${him} that extra touch of authority.`, clothes: "a red army uniform"});
+				}
+				if(isItemAccessible("a mounty outfit")) {
+					wardrobeAssignment.push({text: `and wears a mounty outfit to give ${him} that extra touch of authority.`, clothes: "a mounty outfit"});
+				}
 				wardrobeAssignment.push({text: `and wears a handsome suit to give ${him} that extra touch of authority.`, clothes: "nice business attire"});
 				if(canPenetrate(slave)){
 					wardrobeAssignment.push({text: `and wears a slutty suit to make it perfectly clear that ${his} dick is ${his} main tool in ${his} job.`, clothes: "slutty business attire"});
@@ -285,20 +295,30 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and settles for a comfortable maternity dress to support ${his} middle while ${he} lectures in front of the class all week.`, clothes: "a maternity dress"});
 				}
 			} else if(slave.assignment == "be the Wardeness") {
-				wardrobeAssignment.push({text: `and dons battledress, the better to intimidate the prisoners.`, clothes: "battledress"});
+				if(isItemAccessible("battledress")) {
+					wardrobeAssignment.push({text: `and dons battledress, the better to intimidate the prisoners.`, clothes: "battledress"});
+				}
 				wardrobeAssignment.push({text: `and slips into a scalemail bikini, the better to intimidate the prisoners.`, clothes: "a scalemail bikini"});
 				wardrobeAssignment.push({text: `and dons a scandalous habit to make it perfectly clear that crossing this nun will result in sexual punishment.`, clothes: "a fallen nuns habit"});
-				wardrobeAssignment.push({text: `and wears a military uniform to look even more brutal and authoritive.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to look even more brutal and authoritive.`, clothes: "a red army uniform"});
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to look even more brutal and authoritive.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look even more brutal and authoritive.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to look even more brutal and authoritive.`, clothes: "a red army uniform"});
+				}
 				if(isItemAccessible("stretch pants and a crop-top")) {
 					wardrobeAssignment.push({text: `and decides to take it easy by slipping into some stretch pants. They come off just as quickly as they come on, just in case.`, clothes: "stretch pants and a crop-top"});
 				}
 			} else if(slave.assignment == "be the Attendant") {
 				wardrobeAssignment.push({text: `and wears a string bikini, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a string bikini"});
 				wardrobeAssignment.push({text: `and wears an immodest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a monokini"});
-				wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
+				if(isItemAccessible("a burkini")) {
+					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
+				}
 				wardrobeAssignment.push({text: `but decides to go nude, since ${he}'ll be spending so much time in the water.`, clothes: "no clothing"});
 			} else if(slave.assignment == "rest") {
 				wardrobeAssignment.push({text: `and wears a comfortable t-shirt and cutoffs to relax.`, clothes: "cutoffs and a t-shirt"});
@@ -328,12 +348,20 @@ window.saChoosesOwnClothes = (function() {
 				wardrobeAssignment.push({text: `and dons a slutty outfit. If ${his} breasts are going to hang out, might as well wear something to complement them.`, clothes: "a slutty outfit"});
 			} else if(slave.assignment == "guard you") {
 				wardrobeAssignment.push({text: `and wears a bodysuit to show off ${his} curves without hindering ${his} deadliness.`, clothes: "a comfortable bodysuit"});
-				wardrobeAssignment.push({text: `and wears a military uniform to look the part of the honor guard.`, clothes: "a military uniform"});
-				wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look the part of the honor guard.`, clothes: "a schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look the part of the honor guard.`, clothes: "a slutty schutzstaffel uniform"});
-				wardrobeAssignment.push({text: `and wears a red army uniform to look the part of the honor guard.`, clothes: "a red army uniform"});
+				if(isItemAccessible("a military uniform")) {
+					wardrobeAssignment.push({text: `and wears a military uniform to look the part of the honor guard.`, clothes: "a military uniform"});
+				}
+				if(isItemAccessible("a schutzstaffel uniform")) {
+					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look the part of the honor guard.`, clothes: "a schutzstaffel uniform"});
+					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look the part of the honor guard.`, clothes: "a slutty schutzstaffel uniform"});
+				}
+				if(isItemAccessible("a red army uniform")) {
+					wardrobeAssignment.push({text: `and wears a red army uniform to look the part of the honor guard.`, clothes: "a red army uniform"});
+				}
 				wardrobeAssignment.push({text: `and wears a nice suit to make it clear you mean business.`, clothes: "nice business attire"});
-				wardrobeAssignment.push({text: `and wears a mounty outfit to make it clear you mean business.`, clothes: "a mounty outfit"});
+				if(isItemAccessible("a mounty outfit")) {
+					wardrobeAssignment.push({text: `and wears a mounty outfit to make it clear you mean business.`, clothes: "a mounty outfit"});
+				}
 				wardrobeAssignment.push({text: `and wears a scalemail bikini to make ${himself} look fierce.`, clothes: "a scalemail bikini"});
 				if(isItemAccessible("a kimono")) {
 					wardrobeAssignment.push({text: `and wears a nice kimono to add an air of elegance to your presence.`, clothes: "a kimono"});
@@ -472,7 +500,9 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if(V.arcologies[0].FSPaternalist > 0) {
 					wardrobeFS.push({text: `and wears conservative clothing, as permitted by your paternalism.`, clothes: "conservative clothing"});
-					wardrobeFS.push({text: `and wears very conservative clothing, as permitted by your paternalism.`, clothes: "a hijab and blouse"});
+					if(isItemAccessible("a hijab and blouse") && slave.race == "middle eastern") {
+						wardrobeFS.push({text: `and wears very conservative clothing, as permitted by your paternalism.`, clothes: "a hijab and blouse"});
+					}
 					if(isItemAccessible("stretch pants and a crop-top")) {
 						wardrobeFS.push({text: `and wears the most comfortable stretch pants ${he} can find.`, clothes: "stretch pants and a crop-top"});
 					}
@@ -545,11 +575,19 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if(V.arcologies[0].FSSupremacist > 0) {
 					if(V.arcologies[0].FSSupremacistRace == "white") {
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "a dirndl"});
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "lederhosen"});
+						if(isItemAccessible("a dirndl")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "a dirndl"});
+						}
+						if(isItemAccessible("lederhosen")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "lederhosen"});
+						}
 					} else if(V.arcologies[0].FSSupremacistRace == "asian") {
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a biyelgee costume"});
-						wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a long qipao"});
+						if(isItemAccessible("a biyelgee costume")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a biyelgee costume"});
+						}
+						if(isItemAccessible("a long qipao")) {
+							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a long qipao"});
+						}
 						if(isItemAccessible("a kimono")) {
 							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a kimono"});
 						}
@@ -621,14 +659,16 @@ window.saChoosesOwnClothes = (function() {
 				}
 
 				if(slave.sexualFlaw == "shamefast") {
-					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"});
+					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a hijab and abaya"});
 				} else if(slave.sexualFlaw == "breeder") {
 					if(isItemAccessible("attractive lingerie for a pregnant woman")) {
 						wardrobeTastes.push({text: `and wears lingerie designed to acommodate pregnancies, hoping that others get the hint.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 				} else if(slave.sexualFlaw == "malicious") {
-					wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"});
-					wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"});
+					if(isItemAccessible("a schutzstaffel uniform")) {
+						wardrobeTastes.push({text: `and chooses an outfit that is commonly associated with wanton cruelty.`, clothes: "a schutzstaffel uniform"});
+						wardrobeTastes.push({text: `and chooses a skimpy outfit that is commonly associated with wanton cruelty.`, clothes: "a slutty schutzstaffel uniform"});
+					}
 				}
 
 				if(slave.sexualQuirk == "romantic") {
@@ -738,7 +778,9 @@ window.saChoosesOwnClothes = (function() {
 				}
 
 				if(slave.nationality == "Canadian") {
-					wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"});
+					if(isItemAccessible("a mounty outfit")) {
+						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a mounty outfit"});
+					}
 				} else if(slave.nationality == "Japanese") {
 					if(isItemAccessible("a kimono")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a kimono"});
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index e96046ab6ce..9ae8c0cc7f1 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -830,6 +830,11 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $clothesBoughtMaternityDress = 0>>
 <<set $clothesBoughtMaternityLingerie = 0>>
 <<set $clothesBoughtLazyClothes = 0>>
+<<set $clothesBoughtMilitary = 0>>
+<<set $clothesBoughtCultural = 0>>
+<<set $clothesBoughtMiddleEastern = 0>>
+<<set $clothesBoughtPol = 0>>
+<<set $clothesBoughtPantsu = 0>>
 <<set $toysBoughtDildos = 0>>
 <<set $toysBoughtGags = 0>>
 <<set $toysBoughtButtPlugs = 0>>
diff --git a/src/js/itemAvailability.tw b/src/js/itemAvailability.tw
new file mode 100644
index 00000000000..fa06c5778ba
--- /dev/null
+++ b/src/js/itemAvailability.tw
@@ -0,0 +1,223 @@
+:: itemAvailability [script]
+
+/* intended to condense the clothing/toy/etc availability checks into something less asinine */
+window.isItemAccessible = function(string) {
+
+	const V = State.variables;
+
+	if (State.variables.cheatMode === 1){
+		return true;
+	} else {
+		switch(string) {
+		case 'attractive lingerie for a pregnant woman':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtMaternityLingerie === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a bunny outfit':
+			if ((V.arcologies[0].FSGenderFundamentalist > 0) || (V.clothesBoughtBunny === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'body oil':
+			if ((V.arcologies[0].FSPhysicalIdealist > 0) || (V.clothesBoughtOil === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'chains':
+			if ((V.arcologies[0].FSDegradationist > 0) || (V.clothesBoughtChains === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a chattel habit':
+			if ((V.arcologies[0].FSChattelReligionist > 0) || (V.clothesBoughtHabit === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'conservative clothing':
+			if ((V.arcologies[0].FSPaternalist > 0) || (V.clothesBoughtConservative === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'harem gauze':
+			if ((V.arcologies[0].FSArabianRevivalist > 0) || (V.clothesBoughtHarem === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a huipil':
+			if ((V.arcologies[0].FSAztecRevivalist > 0) || (V.clothesBoughtHuipil === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a kimono':
+			if ((V.arcologies[0].FSEdoRevivalist > 0) || (V.clothesBoughtKimono === 1) || (V.continent === 'Japan')) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a maternity dress':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtMaternityDress === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a slutty qipao':
+			if ((V.arcologies[0].FSChineseRevivalist > 0) || (V.clothesBoughtQipao === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a long qipao':
+			if ((V.arcologies[0].FSChineseRevivalist > 0) || (V.clothesBoughtCultural === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'stretch pants and a crop-top':
+			if ((V.arcologies[0].FSHedonisticDecadence > 0) || (V.clothesBoughtLazyClothes === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a toga':
+			if ((V.arcologies[0].FSRomanRevivalist > 0) || (V.clothesBoughtToga === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'Western clothing':
+			if ((V.arcologies[0].FSPastoralist > 0) || (V.clothesBoughtWestern === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'battlearmor':
+		case 'a military uniform':
+		case 'a red army uniform':
+		case 'battledress':
+			if (V.clothesBoughtMilitary === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'a biyelgee costume':
+		case 'a dirndl':
+		case 'lederhosen':
+		case 'a mounty outfit':
+			if (V.clothesBoughtCultural === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'a burqa':
+		case 'a burkini':
+		case 'a hijab and blouse':
+		case 'a niqab and abaya':
+			if (V.clothesBoughtMiddleEastern === 1 || V.continent === 'the Middle East') {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+			
+		case 'klan robes':
+		case 'a schutzstaffel uniform':
+		case 'a slutty schutzstaffel uniform':
+			if (V.clothesBoughtPol === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'shimapan panties':
+			if (V.clothesBoughtPantsu === 1 || V.continent === 'Japan') {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+
+		case 'bowtie':
+			if ((V.arcologies[0].FSGenderFundamentalist > 0) || (V.clothesBoughtBunny === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'ancient Egyptian':
+			if ((V.arcologies[0].FSEgyptianRevivalist > 0) || (V.clothesBoughtEgypt === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'massive dildo gag':
+			if (V.toysBoughtGags === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'a small empathy belly': case 'a medium empathy belly': case 'a large empathy belly': case 'a huge empathy belly':
+			if ((V.arcologies[0].FSRepopulationFocus > 0) || (V.clothesBoughtBelly === 1)) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'long dildo': case 'long, large dildo': case 'long, huge dildo':
+			if (V.toysBoughtDildos === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'long plug': case 'long, large plug': case 'long, huge plug':
+			if (V.toysBoughtButtPlugs === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		case 'tail': case 'cat tail': case 'fox tail':
+			if (V.toysBoughtButtPlugTails === 1) {
+				return true;
+			} else {
+				return false;
+			}
+			break;
+		default:
+			return true;
+			break;
+		}
+	}
+};
\ No newline at end of file
diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw
index 3c391320348..c290dfb8a63 100644
--- a/src/js/rulesAssistantOptions.tw
+++ b/src/js/rulesAssistantOptions.tw
@@ -1075,51 +1075,53 @@ window.rulesAssistantOptions = (function() {
 				["No default clothes setting", "no default setting"],
 				["Apron", "an apron"],
 				["Bangles", "slutty jewelry"],
-				["Battlearmor", "battlearmor"],
-				["Biyelgee costume", "a biyelgee costume"],
 				["Bodysuit", "a comfortable bodysuit"],
-				["Burkini", "a burkini"],
-				["Burqa", "a burqa"],
 				["Cheerleader outfit", "a cheerleader outfit"],
 				["Clubslut netting", "clubslut netting"],
 				["Cybersuit", "a cybersuit"],
 				["Cutoffs and a t-shirt", "cutoffs and a t-shirt"],
-				["Dirndl", "a dirndl"],
 				["Fallen nun", "a fallen nuns habit"],
 				["Halter top", "a halter top dress"],
 				["Hijab and abaya", "a hijab and abaya"],
-				["Hijab and blouse", "a hijab and blouse"],
 				["Kitty lingerie", "kitty lingerie"],
-				["Klan robes", "klan robes"],
 				["Latex catsuit", "a latex catsuit"],
-				["Lederhosen", "lederhosen"],
 				["Leotard", "a leotard"],
-				["Mounty outfit", "a mounty outfit"],
 				["Maid (nice)", "a nice maid outfit"],
 				["Maid (slutty)", "a slutty maid outfit"],
-				["Military uniform", "a military uniform"],
 				["Mini dress", "a mini dress"],
 				["Monokini", "a monokini"],
 				["Nice lingerie", "attractive lingerie"],
-				["Niqab and abaya", "a niqab and abaya"],
 				["Nurse (nice)", "a nice nurse outfit"],
 				["Nurse (slutty)", "a slutty nurse outfit"],
-				["Red Army uniform", "a red army uniform"],
 				["Schoolgirl", "a schoolgirl outfit"],
-				["Shimapan Panties", "shimapan panties"],
 				["Silken ballgown", "a ball gown"],
-				["Skimpy battledress", "battledress"],
 				["Slave gown", "a slave gown"],
 				["Slutty outfit", "a slutty outfit"],
 				["String bikini", "a string bikini"],
 				["Scalemail bikini", "a scalemail bikini"],
-				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
-				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
 				["Succubus costume", "a succubus outfit"],
 				["Suit (nice)", "nice business sattire"],
 				["Suit (slutty)", "slutty business attire"],
 				["Spats and tank top", "spats and a tank top"]
 			];
+			const spclothes = [
+				["Battlearmor", "battlearmor"],
+				["Biyelgee costume", "a biyelgee costume"],
+				["Burkini", "a burkini"],
+				["Burqa", "a burqa"],
+				["Dirndl", "a dirndl"],
+				["Hijab and blouse", "a hijab and blouse"],
+				["Klan robes", "klan robes"],
+				["Lederhosen", "lederhosen"],
+				["Mounty outfit", "a mounty outfit"],
+				["Military uniform", "a military uniform"],
+				["Niqab and abaya", "a niqab and abaya"],
+				["Red Army uniform", "a red army uniform"],
+				["Shimapan Panties", "shimapan panties"],
+				["Skimpy battledress", "battledress"],
+				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
+				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
+			];
 			const fsnclothes = [
 				["Body oil (FS)", "body oil"],
 				["Bunny outfit (FS)", "a bunny outfit"],
@@ -1136,6 +1138,7 @@ window.rulesAssistantOptions = (function() {
 				["Toga (FS)", "a toga"],
 				["Western clothing (FS)", "Western clothing"],
 			];
+			spclothes.forEach(pair => { if (isItemAccessible(pair[1])) nclothes.push(pair); });
 			fsnclothes.forEach(pair => { if (isItemAccessible(pair[1])) nclothes.push(pair); });
 			const nice = new ListSubSection(this, "Nice", nclothes);
 			this.appendChild(nice);
diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 227180c3a0f..7dc0173b5f3 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -572,173 +572,6 @@ window.relationTargetWord = function(slave) {
 	return slave.relation;
 };
 
-/* intended to condense the clothing/toy/etc availability checks into something less asinine */
-window.isItemAccessible = function(string) {
-	if (State.variables.cheatMode === 1){
-		return true;
-	} else {
-		switch(string) {
-		case 'attractive lingerie for a pregnant woman':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtMaternityLingerie === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a bunny outfit':
-			if ((State.variables.arcologies[0].FSGenderFundamentalist > 0) || (State.variables.clothesBoughtBunny === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'body oil':
-			if ((State.variables.arcologies[0].FSPhysicalIdealist > 0) || (State.variables.clothesBoughtOil === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'chains':
-			if ((State.variables.arcologies[0].FSDegradationist > 0) || (State.variables.clothesBoughtChains === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a chattel habit':
-			if ((State.variables.arcologies[0].FSChattelReligionist > 0) || (State.variables.clothesBoughtHabit === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'conservative clothing':
-			if ((State.variables.arcologies[0].FSPaternalist > 0) || (State.variables.clothesBoughtConservative === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'harem gauze':
-			if ((State.variables.arcologies[0].FSArabianRevivalist > 0) || (State.variables.clothesBoughtHarem === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a huipil':
-			if ((State.variables.arcologies[0].FSAztecRevivalist > 0) || (State.variables.clothesBoughtHuipil === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a kimono':
-			if ((State.variables.arcologies[0].FSEdoRevivalist > 0) || (State.variables.clothesBoughtKimono === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a maternity dress':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtMaternityDress === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a slutty qipao':
-			if ((State.variables.arcologies[0].FSChineseRevivalist > 0) || (State.variables.clothesBoughtQipao === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a long qipao':
-			if ((State.variables.arcologies[0].FSChineseRevivalist > 0) || (State.variables.clothesBoughtQipao === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'stretch pants and a crop-top':
-			if ((State.variables.arcologies[0].FSHedonisticDecadence > 0) || (State.variables.clothesBoughtLazyClothes === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a toga':
-			if ((State.variables.arcologies[0].FSRomanRevivalist > 0) || (State.variables.clothesBoughtToga === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'Western clothing':
-			if ((State.variables.arcologies[0].FSPastoralist > 0) || (State.variables.clothesBoughtWestern === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'bowtie':
-			if ((State.variables.arcologies[0].FSGenderFundamentalist > 0) || (State.variables.clothesBoughtBunny === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'ancient Egyptian':
-			if ((State.variables.arcologies[0].FSEgyptianRevivalist > 0) || (State.variables.clothesBoughtEgypt === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'massive dildo gag':
-			if (State.variables.toysBoughtGags === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'a small empathy belly': case 'a medium empathy belly': case 'a large empathy belly': case 'a huge empathy belly':
-			if ((State.variables.arcologies[0].FSRepopulationFocus > 0) || (State.variables.clothesBoughtBelly === 1)) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'long dildo': case 'long, large dildo': case 'long, huge dildo':
-			if (State.variables.toysBoughtDildos === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'long plug': case 'long, large plug': case 'long, huge plug':
-			if (State.variables.toysBoughtButtPlugs === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		case 'tail':
-			if (State.variables.toysBoughtButtPlugTails === 1) {
-				return true;
-			} else {
-				return false;
-			}
-			break;
-		default:
-			return true;
-			break;
-		}
-	}
-};
-
 window.expandFacilityAssignments = function(facilityAssignments) {
 	var assignmentPairs = {
 		"serve in the club": "be the DJ",
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 7a47f43d958..65a33648a74 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -1961,6 +1961,21 @@ Setting missing global variables:
 <<if ndef $clothesBoughtEgypt>>
 	<<set $clothesBoughtEgypt = 0>>
 <</if>>
+<<if ndef $clothesBoughtMilitary>>
+	<<set $clothesBoughtMilitary = 0>>
+<</if>>
+<<if ndef $clothesBoughtCultural>>
+	<<set $clothesBoughtCultural = 0>>
+<</if>>
+<<if ndef $clothesBoughtMiddleEastern>>
+	<<set $clothesBoughtMiddleEastern = 0>>
+<</if>>
+<<if ndef $clothesBoughtPol>>
+	<<set $clothesBoughtPol = 0>>
+<</if>>
+<<if ndef $clothesBoughtPantsu>>
+	<<set $clothesBoughtPantsu = 0>>
+<</if>>
 <<if ndef $buckets>>
 	<<set $buckets = 0>>
 <</if>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index ca27d5812c7..802dd60874c 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -651,11 +651,17 @@
 		$HeadGirl.slaveName keeps $slaves[$i].slaveName in a torturous habit since $he still clings to $his dignity and remains defiant.
 		<<set $slaves[$i].clothes = "a penitent nuns habit">>
 	<<elseif ($HeadGirl.fetish == "submissive")>>
-		$HeadGirl.slaveName keeps $slaves[$i].slaveName dressed up in slutty power clothing, since _he2's attracted to competence.
+		$HeadGirl.slaveName keeps $slaves[$i].slaveNamedressed up in slutty power clothing, since _he2's attracted to competence.
 		<<set $slaves[$i].clothes = "slutty business attire">>
 	<<elseif ($HeadGirl.fetish == "masochist")>>
-		$HeadGirl.slaveName keeps $slaves[$i].slaveName in battledress, since _he2 likes the fantasy of being raped by a soldier $girl.
-		<<set $slaves[$i].clothes = "battledress">>
+		$HeadGirl.slaveName keeps $slaves[$i].slaveName
+		<<if isItemAccessible("battledress")>>
+			in battledress, since _he2 likes the fantasy of being raped by a soldier $girl.
+			<<set $slaves[$i].clothes = "battledress">>
+		<<else>>
+			in a scalemail bikini, since _he2 likes the fantasy of being raped by a horny barbarian.
+			<<set $slaves[$i].clothes = "a scalemail bikini">>
+		<</if>>
 	<<elseif ($HeadGirl.fetish == "dom")>>
 		$HeadGirl.slaveName keeps $slaves[$i].slaveName dressed up as a schoolgirl to infantilize _his2 sub.
 		<<set $slaves[$i].clothes = "a schoolgirl outfit">>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 1ea2b2658bc..7056d8741be 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -637,43 +637,73 @@
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;//Nice://
 	<<link "Apron">><<set $activeSlave.clothes = "an apron",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Bangles">><<set $activeSlave.clothes = "slutty jewelry",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Battlearmor">><<set $activeSlave.clothes = "battlearmor",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Biyelgee costume">><<set $activeSlave.clothes = "a biyelgee costume",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("battlearmor")>>
+		| <<link "Battlearmor">><<set $activeSlave.clothes = "battlearmor",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
+	<<if isItemAccessible("a biyelgee costume")>>
+		| <<link "Biyelgee costume">><<set $activeSlave.clothes = "a biyelgee costume",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Bodysuit">><<set $activeSlave.clothes = "a comfortable bodysuit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Burkini">><<set $activeSlave.clothes = "a burkini",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Burqa">><<set $activeSlave.clothes = "a burqa",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a burkini")>>
+		| <<link "Burkini">><<set $activeSlave.clothes = "a burkini",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
+	<<if isItemAccessible("a burqa")>>
+		| <<link "Burqa">><<set $activeSlave.clothes = "a burqa",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Cheerleader outfit">><<set $activeSlave.clothes = "a cheerleader outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">><<print $activeSlave.clothes>><</replace>><</link>>
 	| <<link "Clubslut netting">><<set $activeSlave.clothes = "clubslut netting",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Cutoffs and a t-shirt">><<set $activeSlave.clothes = "cutoffs and a t-shirt",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Cybersuit">><<set $activeSlave.clothes = "a cybersuit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Dirndl">><<set $activeSlave.clothes = "a dirndl",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a dirndl")>>
+		| <<link "Dirndl">><<set $activeSlave.clothes = "a dirndl",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Fallen nun">><<set $activeSlave.clothes = "a fallen nuns habit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Haltertop dress">><<set $activeSlave.clothes = "a halter top dress",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Hijab and abaya">><<set $activeSlave.clothes = "a hijab and abaya",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Hijab and blouse">><<set $activeSlave.clothes = "a hijab and blouse",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a hijab and blouse")>>
+		| <<link "Hijab and blouse">><<set $activeSlave.clothes = "a hijab and blouse",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Kitty lingerie">><<set $activeSlave.clothes = "kitty lingerie",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Klan robes">><<set $activeSlave.clothes = "klan robes",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("klan robes")>>
+		| <<link "Klan robes">><<set $activeSlave.clothes = "klan robes",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Latex catsuit">><<set $activeSlave.clothes = "a latex catsuit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Lederhosen">><<set $activeSlave.clothes = "lederhosen",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("lederhosen")>>
+		| <<link "Lederhosen">><<set $activeSlave.clothes = "lederhosen",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Leotard">><<set $activeSlave.clothes = "a leotard",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Maid (nice)">><<set $activeSlave.clothes = "a nice maid outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Maid (slutty)">><<set $activeSlave.clothes = "a slutty maid outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Military uniform">><<set $activeSlave.clothes = "a military uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a military uniform")>>
+		| <<link "Military uniform">><<set $activeSlave.clothes = "a military uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Mini dress">><<set $activeSlave.clothes = "a mini dress",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Monokini">><<set $activeSlave.clothes = "a monokini",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Mounty outfit">><<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a mounty outfit")>>
+		| <<link "Mounty outfit">><<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Nice lingerie">><<set $activeSlave.clothes = "attractive lingerie",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Niqab and abaya">><<set $activeSlave.clothes = "a niqab and abaya",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a niqab and abaya")>>
+		| <<link "Niqab and abaya">><<set $activeSlave.clothes = "a niqab and abaya",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Nurse (nice)">><<set $activeSlave.clothes = "a nice nurse outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Nurse (slutty)">><<set $activeSlave.clothes = "a slutty nurse outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Red Army uniform">><<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a red army uniform")>>
+		| <<link "Red Army uniform">><<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Scalemail bikini">><<set $activeSlave.clothes = "a scalemail bikini",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Schoolgirl">><<set $activeSlave.clothes = "a schoolgirl outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Schutzstaffel uniform (nice)">><<set $activeSlave.clothes = "a schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Schutzstaffel uniform (slutty)">><<set $activeSlave.clothes = "a slutty schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Shimapan panties">><<set $activeSlave.clothes = "shimapan panties",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("a schutzstaffel uniform")>>
+		| <<link "Schutzstaffel uniform (nice)">><<set $activeSlave.clothes = "a schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+		| <<link "Schutzstaffel uniform (slutty)">><<set $activeSlave.clothes = "a slutty schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
+	<<if isItemAccessible("shimapan panties")>>
+		| <<link "Shimapan panties">><<set $activeSlave.clothes = "shimapan panties",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Silken ballgown">><<set $activeSlave.clothes = "a ball gown",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
-	| <<link "Skimpy battledress">><<set $activeSlave.clothes = "battledress",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<<if isItemAccessible("battledress")>>
+		| <<link "Skimpy battledress">><<set $activeSlave.clothes = "battledress",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	| <<link "Slave gown">><<set $activeSlave.clothes = "a slave gown",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Slutty outfit">><<set $activeSlave.clothes = "a slutty outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	| <<link "Spats and a tank top">><<set $activeSlave.clothes = "spats and a tank top",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw
index 1d9bb33a087..4d0684d48f0 100644
--- a/src/uncategorized/wardrobe.tw
+++ b/src/uncategorized/wardrobe.tw
@@ -7,7 +7,7 @@
 <br>
 //
 The room containing all the clothes and accessories you have available to dress your slaves in, as well as the supplies and tools your tailor needs to resize them to better fit your slaves. Several mirrors are set up for a slave to try on outfits should she be allowed to dress herself. The selection includes
-<<if ($cheatMode == 1) || (isItemAccessible("a bunny outfit") && isItemAccessible("chains") && isItemAccessible("conservative clothing") && isItemAccessible("Western clothing") && isItemAccessible("body oil") && isItemAccessible("a chattel habit") && isItemAccessible("a toga") && isItemAccessible("a huipil") && isItemAccessible("a kimono") && isItemAccessible("harem gauze") && isItemAccessible("a slutty qipao") && isItemAccessible("ancient Egyptian") && isItemAccessible("a maternity dress") && isItemAccessible("attractive lingerie for a pregnant woman") && isItemAccessible("a small empathy belly") && isItemAccessible("stretch pants and a crop-top"))>>
+<<if ($cheatMode == 1) || (isItemAccessible("a bunny outfit") && isItemAccessible("chains") && isItemAccessible("conservative clothing") && isItemAccessible("Western clothing") && isItemAccessible("body oil") && isItemAccessible("a chattel habit") && isItemAccessible("a toga") && isItemAccessible("a huipil") && isItemAccessible("a kimono") && isItemAccessible("harem gauze") && isItemAccessible("a slutty qipao") && isItemAccessible("ancient Egyptian") && isItemAccessible("a maternity dress") && isItemAccessible("attractive lingerie for a pregnant woman") && isItemAccessible("a small empathy belly") && isItemAccessible("stretch pants and a crop-top") && isItemAccessible("shimapan panties") && isItemAccessible("a schutzstaffel uniform") && isItemAccessible("a burqa") && isItemAccessible("a dirndl") && isItemAccessible("battlearmor"))>>
 	outfits from all manner of cultures and societies; not a single style eludes you.
 <<else>>
 	many styles of clothing ranging from exciting to mundane and sexy to practical.
@@ -148,6 +148,46 @@ The room containing all the clothes and accessories you have available to dress
 <</if>>
 
 <br>
+<<if !isItemAccessible("battlearmor")>>
+	[[Order a shipment of military themed clothing|Wardrobe][$cash -= 5000, $clothesBoughtMilitary = 1]]
+	//Costs <<print cashFormat(5000)>>//
+<<else>>
+	You are well stocked with a variety of military themed garb.
+<</if>>
+
+<br>
+<<if !isItemAccessible("a dirndl")>>
+	[[Order a shipment of cultural outfits|Wardrobe][$cash -= 15000, $clothesBoughtCultural = 1]]
+	//Costs <<print cashFormat(15000)>>//
+<<else>>
+	You are well stocked with a variety of signature outfits from a variety of countries.
+<</if>>
+
+<br>
+<<if !isItemAccessible("a burqa")>>
+	[[Order a shipment of burqas and similar garb|Wardrobe][$cash -= 5000, $clothesBoughtMiddleEastern = 1]]
+	//Costs <<print cashFormat(5000)>>//
+<<else>>
+	You are well stocked with a number of burqas and similar clothing.
+<</if>>
+
+<br>
+<<if !isItemAccessible("a schutzstaffel uniform")>>
+	[[Order a shipment of politically incorrect clothing|Wardrobe][$cash -= 15000, $clothesBoughtPol = 1]]
+	//Costs <<print cashFormat(15000)>>//
+<<else>>
+	You are well stocked with selection of outfits once considered distasteful.
+<</if>>
+
+<br>
+<<if !isItemAccessible("shimapan panties")>>
+	[[Order a large crate of panties from Japan|Wardrobe][$cash -= 2500, $clothesBoughtPantsu = 1]]
+	//Costs <<print cashFormat(2500)>>//
+<<else>>
+	You have an impressive stash of panties that may or may not be have at one point been used.
+<</if>>
+
+<br><br>
 <<if !isItemAccessible("a small empathy belly")>>
 	[[Order a shipment of fake pregnancy bellies|Wardrobe][$cash -= 15000, $clothesBoughtBelly = 1]]
 	//Costs <<print cashFormat(15000)>>//
diff --git a/src/uncategorized/wardrobeUse.tw b/src/uncategorized/wardrobeUse.tw
index 10d6173e8fc..b4ccf079212 100644
--- a/src/uncategorized/wardrobeUse.tw
+++ b/src/uncategorized/wardrobeUse.tw
@@ -44,31 +44,39 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Battlearmor">>
-	<<set $activeSlave.clothes = "battlearmor",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
-| <<link "Biyelgee costume">>
-	<<set $activeSlave.clothes = "a biyelgee costume",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("battlearmor")>>
+	| <<link "Battlearmor">>
+		<<set $activeSlave.clothes = "battlearmor",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
+<<if isItemAccessible("a biyelgee costume")>>
+	| <<link "Biyelgee costume">>
+		<<set $activeSlave.clothes = "a biyelgee costume",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Bodysuit">>
 	<<set $activeSlave.clothes = "a comfortable bodysuit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Burkini">>
-	<<set $activeSlave.clothes = "a burkini",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
-| <<link "Burqa">>
-	<<set $activeSlave.clothes = "a burqa",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a burkini")>>
+	| <<link "Burkini">>
+		<<set $activeSlave.clothes = "a burkini",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
+<<if isItemAccessible("a burqa")>>
+	| <<link "Burqa">>
+		<<set $activeSlave.clothes = "a burqa",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Cheerleader outfit">>
 	<<set $activeSlave.clothes = "a cheerleader outfit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -89,11 +97,13 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Dirndl">>
-	<<set $activeSlave.clothes = "a dirndl",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a dirndl")>>
+	| <<link "Dirndl">>
+		<<set $activeSlave.clothes = "a dirndl",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Fallen nun">>
 	<<set $activeSlave.clothes = "a fallen nuns habit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -109,31 +119,37 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Hijab and blouse">>
-	<<set $activeSlave.clothes = "a hijab and blouse",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a hijab and blouse")>>
+	| <<link "Hijab and blouse">>
+		<<set $activeSlave.clothes = "a hijab and blouse",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Kitty lingerie">>
 	<<set $activeSlave.clothes = "kitty lingerie",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Klan robes">>
-	<<set $activeSlave.clothes = "klan robes",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("klan robes")>>
+	| <<link "Klan robes">>
+		<<set $activeSlave.clothes = "klan robes",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Latex catsuit">>
 	<<set $activeSlave.clothes = "a latex catsuit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Lederhosen">>
-	<<set $activeSlave.clothes = "lederhosen",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("lederhosen")>>
+	| <<link "Lederhosen">>
+		<<set $activeSlave.clothes = "lederhosen",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Leotard">>
 	<<set $activeSlave.clothes = "a leotard",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -149,16 +165,13 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Military uniform">>
-	<<set $activeSlave.clothes = "a military uniform",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
-| <<link "Mounty Outfit">>
-	<<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a military uniform")>>
+	| <<link "Military uniform">>
+		<<set $activeSlave.clothes = "a military uniform",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Mini dress">>
 	<<set $activeSlave.clothes = "a mini dress",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -169,16 +182,25 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
+<<if isItemAccessible("a mounty outfit")>>
+	| <<link "Mounty Outfit">>
+		<<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Nice lingerie">>
 	<<set $activeSlave.clothes = "attractive lingerie",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Niqab and abaya">>
-	<<set $activeSlave.clothes = "a niqab and abaya",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a niqab and abaya")>>
+	| <<link "Niqab and abaya">>
+		<<set $activeSlave.clothes = "a niqab and abaya",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Nurse (nice)">>
 	<<set $activeSlave.clothes = "a nice nurse outfit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -189,41 +211,49 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Red Army uniform">>
-	<<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a red army uniform")>>
+	| <<link "Red Army uniform">>
+		<<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Schoolgirl">>
 	<<set $activeSlave.clothes = "a schoolgirl outfit",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Schutzstaffel uniform (nice)">>
-	<<set $activeSlave.clothes = "a schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
-| <<link "Schutzstaffel uniform (slutty)">>
-	<<set $activeSlave.clothes = "a slutty schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
-| <<link "Shimapan panties">>
-	<<set $activeSlave.clothes = "shimapan panties",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("a schutzstaffel uniform")>>
+	| <<link "Schutzstaffel uniform (nice)">>
+		<<set $activeSlave.clothes = "a schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+	| <<link "Schutzstaffel uniform (slutty)">>
+		<<set $activeSlave.clothes = "a slutty schutzstaffel uniform",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
+<<if isItemAccessible("shimapan panties")>>
+	| <<link "Shimapan panties">>
+		<<set $activeSlave.clothes = "shimapan panties",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Silken ballgown">>
 	<<set $activeSlave.clothes = "a ball gown",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
 	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 <</link>>
-| <<link "Skimpy battledress">>
-	<<set $activeSlave.clothes = "battledress",$activeSlave.choosesOwnClothes = 0>>
-	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-	<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
-<</link>>
+<<if isItemAccessible("battledress")>>
+	| <<link "Skimpy battledress">>
+		<<set $activeSlave.clothes = "battledress",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Slave gown">>
 	<<set $activeSlave.clothes = "a slave gown",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
-- 
GitLab