diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 65b60dbc0a99a9733a9ead14dbbacc8b327974ac..35eb146b400703731668e816b4eeb323edffce9b 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -207,16 +207,16 @@ 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"});
-			if (isItemAccessible("a hijab and blouse")) {
+			if (isClothingAccessible.entry("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")) {
+			if (isClothingAccessible.entry("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"});
 			}
-			if (isItemAccessible("a kimono")) {
+			if (isClothingAccessible.entry("a kimono")) {
 				clothing.push({text: `${He} uses the ability to select outfits to cover ${himself} with a kimono.`, clothes: "a kimono"});
 			}
-			if (isItemAccessible("stretch pants and a crop-top")) {
+			if (isClothingAccessible.entry("stretch pants and a crop-top")) {
 				clothing.push({text: `${He} uses the ability to select outfits to cover up with stretch pants and a crop-top, though ${he} wishes it didn't have lewd comments printed on it.`, clothes: "stretch pants and a crop-top"});
 			}
 			selection = jsEither(clothing);
@@ -228,12 +228,12 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and wears a slutty nurse outfit to make it clear just how much this nurse needs ${his} daily lay.`, clothes: "a slutty nurse outfit"});
 				} else if (slave.energy > 80) {
 					wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show off ${his} body and arouse ${his} patients.`, clothes: "a slutty nurse outfit"});
-					if (isItemAccessible("a nice nurse outfit")) {
+					if (isClothingAccessible.entry("a nice nurse outfit")) {
 						wardrobeAssignment.push({text: `and wears a nice nurse outfit to look professional before ${his} patients.`, clothes: "a nice nurse outfit"});
 					}
 					wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show to a little skin as ${he} cares for ${his} patients.`, clothes: "a slutty nurse outfit"});
 				} else {
-					if (isItemAccessible("a nice nurse outfit")) {
+					if (isClothingAccessible.entry("a nice nurse outfit")) {
 						wardrobeAssignment.push({text: `and wears a nice nurse outfit to look professional before ${his} patients.`, clothes: "a nice nurse outfit"});
 					}
 					wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show to a little skin as ${he} cares for ${his} patients.`, clothes: "a slutty nurse outfit"});
@@ -242,25 +242,25 @@ window.saChoosesOwnClothes = (function() {
 				if (slave.energy > 95 || slave.need > 100) {
 					wardrobeAssignment.push({text: `and wears a slutty suit to be certain nothing blocks ${him} from getting the sex ${he} needs.`, clothes: "slutty business attire"});
 				} else if (slave.energy > 80) {
-					if (isItemAccessible("nice business attire")) {
+					if (isClothingAccessible.entry("nice business attire")) {
 						wardrobeAssignment.push({text: `and wears a nice suit to show ${he} means business.`, clothes: "nice business attire"});
 					}
 					wardrobeAssignment.push({text: `and wears a slutty suit to entice and arouse while still looking managerial.`, clothes: "slutty business attire"});
 					wardrobeAssignment.push({text: `and wears a slutty suit to entice and arouse while still looking managerial.`, clothes: "slutty business attire"});
 				} else {
-					if (isItemAccessible("nice business attire")) {
+					if (isClothingAccessible.entry("nice business attire")) {
 						wardrobeAssignment.push({text: `and wears a nice suit to show ${he} means business.`, clothes: "nice business attire"});
 					}
 					wardrobeAssignment.push({text: `and wears a slutty suit to entice and arouse while still looking managerial.`, clothes: "slutty business attire"});
 				}
 			} else if (slave.assignment === "be the Milkmaid") {
 				if (slave.energy > 95 || slave.need > 100) {
-					if (isItemAccessible("body oil")) {
+					if (isClothingAccessible.entry("body oil")) {
 						wardrobeAssignment.push({text: `and coats ${himself} with oil to better slip between ${his} cows as ${he} pleasures them.`, clothes: "body oil"});
 					}
 					wardrobeAssignment.push({text: `but goes nude to not be slowed down while moving between ${his} charges.`, clothes: "no clothing"});
 				} else {
-					if (isItemAccessible("a nice maid outfit")) {
+					if (isClothingAccessible.entry("a nice maid outfit")) {
 						wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work with the cows.`, clothes: "a nice maid outfit"});
 					}
 					wardrobeAssignment.push({text: `and puts on a proper pair of worker's overalls, but not much else.`, clothes: "overalls"});
@@ -268,36 +268,36 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and opts to don a cheerleader outfit to help cheer the cows on.`, clothes: "a cheerleader outfit"});
 					wardrobeAssignment.push({text: `and dresses up as a succubus since ${he}'ll be drawing plenty of fluids.`, clothes: "a succubus outfit"});
 					wardrobeAssignment.push({text: `and slips into some spats and a tank top since ${he} feels a workout coming on.`, clothes: "spats and a tank top"});
-					if (isItemAccessible("Western clothing")) {
+					if (isClothingAccessible.entry("Western clothing")) {
 						wardrobeAssignment.push({text: `and wears an appropriate cowgirl outfit. ${His} bare ass walking past is sure to amuse ${his} charges.`, clothes: "Western clothing"});
 					}
-					if (isItemAccessible("stretch pants and a crop-top")) {
+					if (isClothingAccessible.entry("stretch pants and a crop-top")) {
 						wardrobeAssignment.push({text: `and slips into some comfy stretch pants to relax as ${he} works the cows.`, clothes: "stretch pants and a crop-top"});
 					}
 					if (State.variables.cumSlaves > 2) {
 						wardrobeAssignment.push({text: `and wears a slutty nurse outfit to help keep ${his} charges hard.`, clothes: "a slutty nurse outfit"});
 						wardrobeAssignment.push({text: `and wears nothing but sexy lingerie to help keep ${his} charges hard.`, clothes: "attractive lingerie"});
 						wardrobeAssignment.push({text: `and wears the skimpiest bikini on hand to help keep ${his} charges hard.`, clothes: "a string bikini"});
-						if (isItemAccessible("body oil")) {
+						if (isClothingAccessible.entry("body oil")) {
 							wardrobeAssignment.push({text: `and coats ${himself} in oil for ${his} charges to savor.`, clothes: "body oil"});
 						}
 					}
 				}
 			} else if (slave.assignment === "be your Head Girl") {
-				if (isItemAccessible("a military uniform")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("a mounty outfit")) {
 					wardrobeAssignment.push({text: `and wears a mounty outfit to give ${him} that extra touch of authority.`, clothes: "a mounty outfit"});
 				}
-				if (isItemAccessible("nice business attire")) {
+				if (isClothingAccessible.entry("nice business attire")) {
 					wardrobeAssignment.push({text: `and wears a handsome suit to give ${him} that extra touch of authority.`, clothes: "nice business attire"});
 				}
 				if (canPenetrate(slave)) {
@@ -306,49 +306,49 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and wears a slutty suit to give ${him} an extra touch of authority while keeping ${his} crotch available.`, clothes: "slutty business attire"});
 				}
 			} else if (slave.assignment === "be the Schoolteacher") {
-				if (isItemAccessible("nice business attire")) {
+				if (isClothingAccessible.entry("nice business attire")) {
 					wardrobeAssignment.push({text: `and wears a handsome suit to give ${him} that teacherly authority.`, clothes: "nice business attire"});
 				}
 				wardrobeAssignment.push({text: `and wears a slutty suit to give ${him} an air of authority will keeping all eyes focused on ${him}.`, clothes: "slutty business attire"});
 				wardrobeAssignment.push({text: `and wears a schoolgirl outfit to help keep ${his} charges focused on ${him}.`, clothes: "a schoolgirl outfit"});
 				wardrobeAssignment.push({text: `and dresses up as a succubus to give ${his} sex lessons an extra kick.`, clothes: "a succubus outfit"});
-				if (isItemAccessible("conservative clothing")) {
+				if (isClothingAccessible.entry("conservative clothing")) {
 					wardrobeAssignment.push({text: `and wears conservative clothes to not detract from this week's lesson.`, clothes: "conservative clothing"});
 				}
-				if (isItemAccessible("a toga")) {
+				if (isClothingAccessible.entry("a toga")) {
 					wardrobeAssignment.push({text: `and wraps ${himself} in a toga to model ${himself} after the philosophers of yore.`, clothes: "a toga"});
 				}
-				if (isItemAccessible("a maternity dress") && slave.belly >= 10000) {
+				if (isClothingAccessible.entry("a maternity dress") && slave.belly >= 10000) {
 					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") {
-				if (isItemAccessible("battledress")) {
+				if (isClothingAccessible.entry("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"});
-				if (isItemAccessible("a military uniform")) {
+				if (isClothingAccessible.entry("a military uniform")) {
 					wardrobeAssignment.push({text: `and wears a military uniform to look even more brutal and authoritative.`, clothes: "a military uniform"});
 				}
-				if (isItemAccessible("a schutzstaffel uniform")) {
+				if (isClothingAccessible.entry("a schutzstaffel uniform")) {
 					wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to look even more brutal and authoritative.`, clothes: "a schutzstaffel uniform"});
 					wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to look even more brutal and authoritative.`, clothes: "a slutty schutzstaffel uniform"});
 				}
-				if (isItemAccessible("a red army uniform")) {
+				if (isClothingAccessible.entry("a red army uniform")) {
 					wardrobeAssignment.push({text: `and wears a red army uniform to look even more brutal and authoritative.`, clothes: "a red army uniform"});
 				}
-				if (isItemAccessible("stretch pants and a crop-top")) {
+				if (isClothingAccessible.entry("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"});
-				if (isItemAccessible("a monokini")) {
+				if (isClothingAccessible.entry("a monokini")) {
 					wardrobeAssignment.push({text: `and wears an one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a monokini"});
 				}
-				if (isItemAccessible("a one-piece swimsuit")) {
+				if (isClothingAccessible.entry("a one-piece swimsuit")) {
 					wardrobeAssignment.push({text: `and wears a one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a one-piece swimsuit"});
 				}
-				if (isItemAccessible("a burkini")) {
+				if (isClothingAccessible.entry("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"});
@@ -357,10 +357,10 @@ window.saChoosesOwnClothes = (function() {
 				wardrobeAssignment.push({text: `and slips into some attractive lingerie to enjoy ${himself} as ${he} unwinds.`, clothes: "attractive lingerie"});
 				wardrobeAssignment.push({text: `and slips into nothing more than a pair of panties.`, clothes: "panties"});
 				wardrobeAssignment.push({text: `but decides that clothing takes too much work and would rather sleep nude.`, clothes: "no clothing"});
-				if (isItemAccessible("stretch pants and a crop-top")) {
+				if (isClothingAccessible.entry("stretch pants and a crop-top")) {
 					wardrobeAssignment.push({text: `and slips into some comfy stretch pants to relax.`, clothes: "stretch pants and a crop-top"});
 				}
-				if (isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
+				if (isClothingAccessible.entry("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
 					wardrobeAssignment.push({text: `and slips into some attractive lingerie to enjoy ${himself} as ${he} unwinds.`, clothes: "attractive lingerie for a pregnant woman"});
 				}
 				if (slave.fetish === "submissive") {
@@ -368,13 +368,13 @@ window.saChoosesOwnClothes = (function() {
 				}
 			} else if (slave.assignment === "get milked" || slave.assignment === "work in the dairy") {
 				wardrobeAssignment.push({text: `and wears sturdy lingerie to offer the best support to ${his} sore, milk-filled udders.`, clothes: "attractive lingerie"});
-				if (isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
+				if (isClothingAccessible.entry("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
 					wardrobeAssignment.push({text: `and wears lingerie designed for milky mothers.`, clothes: "attractive lingerie for a pregnant woman"});
 				}
-				if (isItemAccessible("a maternity dress") && slave.belly >= 10000) {
+				if (isClothingAccessible.entry("a maternity dress") && slave.belly >= 10000) {
 					wardrobeAssignment.push({text: `and chooses a maternity dress since it is easy to free ${his} breasts from.`, clothes: "a maternity dress"});
 				}
-				if (isItemAccessible("a monokini")) {
+				if (isClothingAccessible.entry("a monokini")) {
 					wardrobeAssignment.push({text: `and chooses a swimsuit that leaves ${his} breasts exposed.`, clothes: "a monokini"});
 				}
 				wardrobeAssignment.push({text: `and puts on a pair of overalls, making sure to leave ${his} breasts exposed.`, clothes: "overalls"});
@@ -386,48 +386,48 @@ 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"});
-				if (isItemAccessible("a military uniform")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("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"});
 				}
-				if (isItemAccessible("nice business attire")) {
+				if (isClothingAccessible.entry("nice business attire")) {
 					wardrobeAssignment.push({text: `and wears a nice suit to make it clear you mean business.`, clothes: "nice business attire"});
 				}
-				if (isItemAccessible("a mounty outfit")) {
+				if (isClothingAccessible.entry("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")) {
+				if (isClothingAccessible.entry("a kimono")) {
 					wardrobeAssignment.push({text: `and wears a nice kimono to add an air of elegance to your presence.`, clothes: "a kimono"});
 				}
 			} else {
 				/* Chooses clothes according to assignment (exceptions allowed)*/
 				if (slave.assignment === "recruit girls") {
-					if (isItemAccessible("a mini dress")) {
+					if (isClothingAccessible.entry("a mini dress")) {
 						wardrobeAssignment.push({text: `and wears a flattering mini dress to appear sexy and carefree before those desperately seeking a better life.`, clothes: "a mini dress"});
 					}
 					wardrobeAssignment.push({text: `and wears a cutoffs and a t-shirt to appear sexy and carefree before those desperately seeking a better life.`, clothes: "cutoffs and a t-shirt"});
-					if (isItemAccessible("nice business attire")) {
+					if (isClothingAccessible.entry("nice business attire")) {
 						wardrobeAssignment.push({text: `and wears a nice suit to appear trustworthy before those desperately seeking a better life.`, clothes: "nice business attire"});
 					}
 					wardrobeAssignment.push({text: `and wears a schoolgirl outfit to appear sexy and carefree before those desperately seeking a better life.`, clothes: "a schoolgirl outfit"});
-					if (isItemAccessible("a ball gown")) {
+					if (isClothingAccessible.entry("a ball gown")) {
 						wardrobeAssignment.push({text: `and wears an opulent gown to showcase your wealth before those desperately seeking a better life.`, clothes: "a ball gown"});
 					}
 					wardrobeAssignment.push({text: `and dresses as a succubus to attempt to lure any potential catches.`, clothes: "a succubus outfit"});
-					if (isItemAccessible("harem gauze")) {
+					if (isClothingAccessible.entry("harem gauze")) {
 						wardrobeAssignment.push({text: `and dons ${his} finest silks to showcase the luxuries waiting would-be slaves.`, clothes: "harem gauze"});
 					}
-					if (isItemAccessible("stretch pants and a crop-top")) {
+					if (isClothingAccessible.entry("stretch pants and a crop-top")) {
 						wardrobeAssignment.push({text: `and wears comfortable stretch pants to and crop-top to appear carefree before those desperately seeking a better life.`, clothes: "stretch pants and a crop-top"});
 					}
-					if (isItemAccessible("conservative clothing")) {
+					if (isClothingAccessible.entry("conservative clothing")) {
 						wardrobeAssignment.push({text: `and wears normal clothing to suggest to those desperately seeking a better life that they can find it here with you.`, clothes: "conservative clothing"});
 					}
 				} else if (slave.assignment === "be the DJ") {
@@ -439,7 +439,7 @@ window.saChoosesOwnClothes = (function() {
 					if (slave.boobs > 1000) {
 						wardrobeAssignment.push({text: `but decides to go naked and let ${his} girls bounce free as ${he} dances.`, clothes: "no clothing"});
 					}
-					if (isItemAccessible("harem gauze")) {
+					if (isClothingAccessible.entry("harem gauze")) {
 						wardrobeAssignment.push({text: `and wears the finest available silks to give ${his} moves a sensual grace.`, clothes: "harem gauze"});
 					}
 				} else if (slave.assignment === "be your Concubine") {
@@ -451,7 +451,7 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeAssignment.push({text: `and dresses as a slutty maid as you always come home with a stiff package that needs a thorough polishing.`, clothes: "a slutty maid outfit"});
 					}
 					wardrobeAssignment.push({text: `and, since you personally see that ${he} never goes hungry, ${he} dresses like the sex demoness ${he} is.`, clothes: "a succubus outfit"});
-					if (isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 10000 && slave.pregSource === -1) {
+					if (isClothingAccessible.entry("attractive lingerie for a pregnant woman") && slave.belly >= 10000 && slave.pregSource === -1) {
 						wardrobeAssignment.push({text: `and chooses attractive lingerie to showcase the body you've given ${him} in the hopes that you ravish ${him}.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 					if (slave.toyHole === "dick" && canPenetrate(slave)) {
@@ -459,7 +459,7 @@ window.saChoosesOwnClothes = (function() {
 					}
 				} else if (slave.assignment === "be a subordinate slave") {
 					wardrobeAssignment.push({text: `but gives up and goes naked after the other slaves constantly tear whatever ${he}'s wearing off ${him}.`, clothes: "no clothing"});
-					if (isItemAccessible("Western clothing")) {
+					if (isClothingAccessible.entry("Western clothing")) {
 						wardrobeAssignment.push({text: `and chooses a pair of crotchless chaps so your other slaves don't have to waste time undressing ${him}.`, clothes: "Western clothing"});
 					}
 					if (slave.fetish === "submissive") {
@@ -472,28 +472,28 @@ window.saChoosesOwnClothes = (function() {
 				} else if (slave.assignment === "take classes" || slave.assignment === "learn in the schoolroom") {
 					wardrobeAssignment.push({text: `and wears a schoolgirl outfit, since it seems most appropriate.`, clothes: "a schoolgirl outfit"});
 					wardrobeAssignment.push({text: `and wears a cheerleader outfit, since ${he} might as well be one of the popular girls.`, clothes: "a cheerleader outfit"});
-					if (isItemAccessible("conservative clothing")) {
+					if (isClothingAccessible.entry("conservative clothing")) {
 						wardrobeAssignment.push({text: `and wears normal clothing to not distract from ${his} lessons.`, clothes: "conservative clothing"});
 					}
 				} else if ((slave.assignment === "whore") || (slave.assignment === "work in the brothel")) {
-					if (slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
+					if (slave.belly >= 5000 && isClothingAccessible.entry("attractive lingerie for a pregnant woman")) {
 						wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while still looking a little classy.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 					wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and still look a little classy.`, clothes: "attractive lingerie"});
-					if (isItemAccessible("kitty lingerie")) {
+					if (isClothingAccessible.entry("kitty lingerie")) {
 						wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and still look a little cute.`, clothes: "kitty lingerie"});
 					}
-					if (isItemAccessible("harem gauze")) {
+					if (isClothingAccessible.entry("harem gauze")) {
 						wardrobeAssignment.push({text: `and dresses ${himself} with harem gauze to add an exotic charm to ${his} display.`, clothes: "harem gauze"});
 					}
-					if (isItemAccessible("a kimono")) {
+					if (isClothingAccessible.entry("a kimono")) {
 						wardrobeAssignment.push({text: `and wraps ${himself} in a kimono to add some elegance to ${his} display.`, clothes: "a kimono"});
 					}
-					if (isItemAccessible("a slave gown")) {
+					if (isClothingAccessible.entry("a slave gown")) {
 						wardrobeAssignment.push({text: `and adorns ${himself} in fine dress to show off how much of a high class whore ${he} is.`, clothes: "a slave gown"});
 					}
 					wardrobeAssignment.push({text: `and dresses ${himself} in a slutty suit to show ${he}'s in it for the ¤.`, clothes: "slutty business attire"});
-					if (isItemAccessible("a mini dress")) {
+					if (isClothingAccessible.entry("a mini dress")) {
 						wardrobeAssignment.push({text: `and wears a flattering mini dress to really strut ${his} stuff.`, clothes: "a mini dress"});
 					}
 				} else if (slave.assignment === "serve the public" || slave.assignment === "serve in the club") {
@@ -502,7 +502,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and tosses on a slutty suit that screams ${he} needs a good fuck after a long day.`, clothes: "slutty business attire"});
 					wardrobeAssignment.push({text: `and dresses up as a slutty nurse; ${he} has just the technique to cure penile swelling.`, clothes: "a slutty nurse outfit"});
 					wardrobeAssignment.push({text: `and wears a cheerleader outfit to look energetic and fuckable.`, clothes: "a cheerleader outfit"});
-					if (isItemAccessible("a bunny outfit")) {
+					if (isClothingAccessible.entry("a bunny outfit")) {
 						wardrobeAssignment.push({text: `and slips into a teddy to add some class to ${his} post.`, clothes: "a bunny outfit"});
 					}
 					wardrobeAssignment.push({text: `and dresses up as a succubus to clearly advertise ${his} promiscuity.`, clothes: "a succubus outfit"});
@@ -515,13 +515,13 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeAssignment.push({text: `and wears nothing more than an apron in the hopes that someone sneaks up behind ${him} as ${he} works and fulfills ${his} desires.`, clothes: "an apron"});
 					} else if (slave.energy > 80) {
 						wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
-						if (isItemAccessible("a nice maid outfit")) {
+						if (isClothingAccessible.entry("a nice maid outfit")) {
 							wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
 						}
 						wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
 						wardrobeAssignment.push({text: `and wears nothing more than an apron to tempt anyone watching ${his} work.`, clothes: "an apron"});
 					} else {
-						if (isItemAccessible("a nice maid outfit")) {
+						if (isClothingAccessible.entry("a nice maid outfit")) {
 							wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
 						}
 						wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
@@ -558,14 +558,14 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeFS.push({text: `and settles for some sexy succubutt.`, clothes: "a succubus outfit"});
 				}
 				if (V.arcologies[0].FSSlaveProfessionalism > 0) {
-					if (isItemAccessible("nice business attire")) {
+					if (isClothingAccessible.entry("nice business attire")) {
 						if (slave.energy > 80) {
 							wardrobeFS.push({text: `and picks out a professional suit with a nice, short skirt so ${he} can get right to business.`, clothes: "slutty business attire"});
 						} else {
 							wardrobeFS.push({text: `and picks out a professional suit that shows ${he} is open for business.`, clothes: "nice business attire"});
 						}
 					}
-					if (isItemAccessible("a nice maid outfit")) {
+					if (isClothingAccessible.entry("a nice maid outfit")) {
 						if (slave.energy > 80) {
 							wardrobeFS.push({text: `and picks out a skimpy maid outfit so ${he} can take advantage of its short skirt and ${his} lack of underwear,`, clothes: "a slutty maid outfit"});
 						} else {
@@ -579,7 +579,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeFS.push({text: `and slaps together the sluttiest outfit ${he} can manage.`, clothes: "a slutty outfit"});
 					wardrobeFS.push({text: `and squeezes into a fishnet bodysuit to give ${his} nudity a slutty flair.`, clothes: "clubslut netting"});
 					wardrobeFS.push({text: `and ties on the skimpiest bikini ${he} can find.`, clothes: "a string bikini"});
-					if (slave.bellyPreg >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
+					if (slave.bellyPreg >= 5000 && isClothingAccessible.entry("attractive lingerie for a pregnant woman")) {
 						wardrobeFS.push({text: `and opts for the classic seductive lingerie, albeit something more fitting for ${his} 'little accident'.`, clothes: "attractive lingerie for a pregnant woman"});
 					} else {
 						wardrobeFS.push({text: `and opts for the classic seductive lingerie.`, clothes: "attractive lingerie"});
@@ -587,10 +587,10 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if (V.arcologies[0].FSPaternalist > 0) {
 					wardrobeFS.push({text: `and wears conservative clothing, as permitted by your paternalism.`, clothes: "conservative clothing"});
-					if (isItemAccessible("a hijab and blouse") && slave.race === "middle eastern") {
+					if (isClothingAccessible.entry("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")) {
+					if (isClothingAccessible.entry("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"});
 					}
 				} else if (V.arcologies[0].FSDegradationist > 0) {
@@ -601,16 +601,16 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if (V.arcologies[0].FSMaturityPreferentialist > 0) {
 					if (slave.visualAge >= 30) {
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeFS.push({text: `and wears a formal suit to look like the ideal older woman.`, clothes: "nice business attire"});
 						}
 						wardrobeFS.push({text: `and wears a slutty suit to look like the ideal horny older woman.`, clothes: "slutty business attire"});
 						wardrobeFS.push({text: `and wears only an apron to make ${himself} seem more matronly.`, clothes: "an apron"});
 					} else {
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeFS.push({text: `and wears a formal suit to look more mature.`, clothes: "nice business attire"});
 						}
-						if (isItemAccessible("a Santa dress")) {
+						if (isClothingAccessible.entry("a Santa dress")) {
 							wardrobeFS.push({text: `and wears a dress referencing a figure of advanced age.`, clothes: "a Santa dress"});
 						}
 						wardrobeFS.push({text: `and wears only an apron in an attempt to make ${himself} seem more matronly.`, clothes: "an apron"});
@@ -632,10 +632,10 @@ window.saChoosesOwnClothes = (function() {
 				if (V.arcologies[0].FSPastoralist > 0) {
 					wardrobeFS.push({text: `and wears Western clothing, since ${he} thinks it fits with pastoralism.`, clothes: "Western clothing"});
 					wardrobeFS.push({text: `and wears overalls that leave ${his} breasts uncovered.`, clothes: "overalls"});
-					if (isItemAccessible("a monokini")) {
+					if (isClothingAccessible.entry("a monokini")) {
 						wardrobeFS.push({text: `and wears a swimsuit that leaves ${his} breasts uncovered.`, clothes: "a monokini"});
 					}
-					if (isItemAccessible("pasties")) {
+					if (isClothingAccessible.entry("pasties")) {
 						wardrobeFS.push({text: `and wears nothing more than a pair of pasties over ${his} nipples and crotch.`, clothes: "pasties"});
 					}
 					if (slave.lactation > 0) {
@@ -646,13 +646,13 @@ window.saChoosesOwnClothes = (function() {
 				if (V.arcologies[0].FSBodyPurist > 0) {
 					wardrobeFS.push({text: `and wears a leotard to show off the purity of ${his} body.`, clothes: "a leotard"});
 					wardrobeFS.push({text: `but decides ${his} body is too nice to hide with clothing.`, clothes: "no clothing"});
-					if (isItemAccessible("body oil")) {
+					if (isClothingAccessible.entry("body oil")) {
 						wardrobeFS.push({text: `and coats ${his} pure body in oil to make it stand out.`, clothes: "body oil"});
 					}
 				} else if (V.arcologies[0].FSTransformationFetishist > 0) {
 					wardrobeFS.push({text: `and decides squeezing into a latex suit will only complement ${his} unnatural appearance.`, clothes: "restrictive latex"});
 					wardrobeFS.push({text: `and decides to go nude, ensuring everyone sees ${his} assets.`, clothes: "no clothing"});
-					if (isItemAccessible("body oil")) {
+					if (isClothingAccessible.entry("body oil")) {
 						wardrobeFS.push({text: `and coats ${his} assets in body oil to give them some extra shine.`, clothes: "body oil"});
 					}
 				}
@@ -660,13 +660,13 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeFS.push({text: `and decides to dress up like a young man's wet dream.`, clothes: "a succubus outfit"});
 					wardrobeFS.push({text: `and decides to wear a skimpy bikini to make ${his} assets look even larger.`, clothes: "a string bikini"});
 					wardrobeFS.push({text: `and decides to throw together a slutty outfit that highlight ${his} assets.`, clothes: "a slutty outfit"});
-					if (isItemAccessible("a monokini")) {
+					if (isClothingAccessible.entry("a monokini")) {
 						wardrobeFS.push({text: `and decides to wear a monokini that clings to the assets it actually does conceal.`, clothes: "a monokini"});
 					}
 				} else if (V.arcologies[0].FSSlimnessEnthusiast > 0) {
 					if (slave.boobs < 300) {
 						wardrobeFS.push({text: `and wears a string bikini to show off just how flat ${he} is.`, clothes: "a string bikini"});
-						if (isItemAccessible("a monokini")) {
+						if (isClothingAccessible.entry("a monokini")) {
 							wardrobeFS.push({text: `and wears a monokini that leaves ${his} flat chest bare.`, clothes: "a monokini"});
 						}
 						wardrobeFS.push({text: `and wears only panties, leaving ${his} flat chest bare.`, clothes: "panties"});
@@ -682,23 +682,23 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if (V.arcologies[0].FSSupremacist > 0) {
 					if (V.arcologies[0].FSSupremacistRace === "white") {
-						if (isItemAccessible("a dirndl")) {
+						if (isClothingAccessible.entry("a dirndl")) {
 							wardrobeFS.push({text: `and wears one of the beautiful folk costumes of the white race.`, clothes: "a dirndl"});
 						}
-						if (isItemAccessible("lederhosen")) {
+						if (isClothingAccessible.entry("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") {
-						if (isItemAccessible("a biyelgee costume")) {
+						if (isClothingAccessible.entry("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")) {
+						if (isClothingAccessible.entry("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")) {
+						if (isClothingAccessible.entry("a kimono")) {
 							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a kimono"});
 						}
-						if (isItemAccessible("a hanbok")) {
+						if (isClothingAccessible.entry("a hanbok")) {
 							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a hanbok"});
 						}
 					}
@@ -706,17 +706,17 @@ window.saChoosesOwnClothes = (function() {
 
 				if (V.arcologies[0].FSSubjugationist > 0) {
 					if (V.arcologies[0].FSSubjugationistRace === "black") {
-						if (isItemAccessible("a klan robe")) {
+						if (isClothingAccessible.entry("a klan robe")) {
 							wardrobeFS.push({text: `and wears a costume associated with anti-black societies of the past.`, clothes: "a klan robe"});
 						}
-						if (isItemAccessible("a slutty klan robe")) {
+						if (isClothingAccessible.entry("a slutty klan robe")) {
 							wardrobeFS.push({text: `and wears a costume associated with anti-black societies of the past.`, clothes: "a slutty klan robe"});
 						}
 					} else if (V.arcologies[0].FSSubjugationistRace === "semitic") {
-						if (isItemAccessible("a schutzstaffel uniform")) {
+						if (isClothingAccessible.entry("a schutzstaffel uniform")) {
 							wardrobeFS.push({text: `and wears a costume associated with anti-semitic societies of the past.`, clothes: "a schutzstaffel uniform"});
 						}
-						if (isItemAccessible("a slutty schutzstaffel uniform")) {
+						if (isClothingAccessible.entry("a slutty schutzstaffel uniform")) {
 							wardrobeFS.push({text: `and wears a costume associated with anti-semitic societies of the past.`, clothes: "a slutty schutzstaffel uniform"});
 						}
 					}
@@ -731,7 +731,7 @@ window.saChoosesOwnClothes = (function() {
 						if (slave.butt > 3) {
 							wardrobeTastes.push({text: `and slips on some cutoffs that are sure to have men checking out ${his} ass.`, clothes: "cutoffs and a t-shirt"});
 						}
-						if (isItemAccessible("a bunny outfit")) {
+						if (isClothingAccessible.entry("a bunny outfit")) {
 							wardrobeTastes.push({text: `and slips into a bunny outfit that ${he} knows will have men lining up.`, clothes: "a bunny outfit"});
 						}
 						if (slave.boobs > 800) {
@@ -744,7 +744,7 @@ window.saChoosesOwnClothes = (function() {
 						if (slave.butt > 3) {
 							wardrobeTastes.push({text: `and slips on some cutoffs that shows off ${his} ass.`, clothes: "cutoffs and a t-shirt"});
 						}
-						if (isItemAccessible("a bunny outfit")) {
+						if (isClothingAccessible.entry("a bunny outfit")) {
 							wardrobeTastes.push({text: `and slips into a bunny outfit that hugs ${his} curves.`, clothes: "a bunny outfit"});
 						}
 						if (slave.boobs > 800) {
@@ -754,19 +754,19 @@ window.saChoosesOwnClothes = (function() {
 				}
 				if (slave.attrXX > 70) {
 					if (slave.attrKnown === 1) {
-						if (isItemAccessible("a slave gown")) {
+						if (isClothingAccessible.entry("a slave gown")) {
 							wardrobeTastes.push({text: `and wears a fashionable gown, since girls appreciate nice clothes.`, clothes: "a slave gown"});
 						}
 						wardrobeTastes.push({text: `and wears nothing but pretty lingerie to give the girls a show.`, clothes: "attractive lingerie"});
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeTastes.push({text: `and wears a nice suit, since girls appreciate nice clothes.`, clothes: "nice business attire"});
 						}
 					} else {
-						if (isItemAccessible("a slave gown")) {
+						if (isClothingAccessible.entry("a slave gown")) {
 							wardrobeTastes.push({text: `and wears a fashionable gown.`, clothes: "a slave gown"});
 						}
 						wardrobeTastes.push({text: `and wears pretty lingerie that shows off ${his} body.`, clothes: "attractive lingerie"});
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeTastes.push({text: `and wears a nice suit, the reasons not entirely clear to you.`, clothes: "nice business attire"});
 						}
 					}
@@ -783,12 +783,12 @@ window.saChoosesOwnClothes = (function() {
 
 				/* quirks n flaws */
 				if (slave.behavioralFlaw === "arrogant") {
-					if (isItemAccessible("a ball gown")) {
+					if (isClothingAccessible.entry("a ball gown")) {
 						wardrobeTastes.push({text: `and chooses a formal dress that makes ${him} feel like royalty.`, clothes: "a ball gown"});
 					}
 				} else if (slave.behavioralFlaw === "devout") {
 					wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"});
-					if (isItemAccessible("a burqa")) {
+					if (isClothingAccessible.entry("a burqa")) {
 						wardrobeTastes.push({text: `and chooses an incredibly restricting piece of religious garb.`, clothes: "a burqa"});
 					}
 				}
@@ -801,46 +801,46 @@ window.saChoosesOwnClothes = (function() {
 
 				if (slave.sexualFlaw === "shamefast") {
 					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a hijab and abaya"});
-					if (isItemAccessible("a burqa")) {
+					if (isClothingAccessible.entry("a burqa")) {
 						wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"});
 					}
 				} else if (slave.sexualFlaw === "breeder") {
-					if (isItemAccessible("attractive lingerie for a pregnant woman")) {
+					if (isClothingAccessible.entry("attractive lingerie for a pregnant woman")) {
 						wardrobeTastes.push({text: `and wears lingerie designed to accommodate pregnancies, hoping that others get the hint.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 				} else if (slave.sexualFlaw === "malicious") {
-					if (isItemAccessible("a schutzstaffel uniform")) {
+					if (isClothingAccessible.entry("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") {
-					if (isItemAccessible("a halter top dress")) {
+					if (isClothingAccessible.entry("a halter top dress")) {
 						wardrobeTastes.push({text: `and dresses up like ${he}'s about to go on a date.`, clothes: "a halter top dress"});
 					}
 				} else if (slave.sexualQuirk === "tease") {
-					if (isItemAccessible("kitty lingerie")) {
+					if (isClothingAccessible.entry("kitty lingerie")) {
 						wardrobeTastes.push({text: `and wears a set of provocatively designed lingerie.`, clothes: "kitty lingerie"});
 					}
-					if (isItemAccessible("panties and pasties")) {
+					if (isClothingAccessible.entry("panties and pasties")) {
 						wardrobeTastes.push({text: `and wears the skimpiest outfit ${he} can find.`, clothes: "panties and pasties"});
 					}
 				}
 
 				/* age stuff */
 				if (slave.actualAge < 10) {
-					if (isItemAccessible("a ball gown")) {
+					if (isClothingAccessible.entry("a ball gown")) {
 						wardrobeTastes.push({text: `and puts on a pretty dress so ${he} can be a princess.`, clothes: "a ball gown"});
 					}
 					wardrobeTastes.push({text: `and dresses up like a cheerleader since ${he} thinks it looks cute.`, clothes: "a cheerleader outfit"});
-					if (isItemAccessible("a kimono")) {
+					if (isClothingAccessible.entry("a kimono")) {
 						wardrobeTastes.push({text: `and wraps ${himself} in a kimono, since it feels so good on ${his} skin.`, clothes: "a kimono"});
 					}
 				} else if (slave.actualAge < 18) {
 					wardrobeTastes.push({text: `and chooses an outfit that somewhat resembles one of ${his} school uniforms.`, clothes: "a schoolgirl outfit"});
 				} else if (slave.actualAge > 65) {
-					if (isItemAccessible("a Santa dress")) {
+					if (isClothingAccessible.entry("a Santa dress")) {
 						wardrobeTastes.push({text: `and chooses a dress that acknowledges ${his} advanced age while still looking sexy.`, clothes: "a Santa dress"});
 					}
 				}
@@ -851,20 +851,20 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeTastes.push({text: `and wears restrictive latex to encourage others to dominate ${him}.`, clothes: "restrictive latex"});
 						wardrobeTastes.push({text: `and wears shibari ropes to encourage others to dominate ${him}.`, clothes: "shibari ropes"});
 					} else if (slave.fetish === "dom") {
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeTastes.push({text: `and wears a handsome suit, since ${he} likes other slaves to look up to ${him}.`, clothes: "nice business attire"});
 						}
-						if (isItemAccessible("a latex catsuit")) {
+						if (isClothingAccessible.entry("a latex catsuit")) {
 							wardrobeTastes.push({text: `and wears a full body latex catsuit to look the part of the whip cracking dom.`, clothes: "a latex catsuit"});
 						}
 						wardrobeTastes.push({text: `and wears a scalemail bikini to make ${himself} look tough.`, clothes: "a scalemail bikini"});
 					} else if (slave.fetish === "masochist") {
 						wardrobeTastes.push({text: `and wears painfully restrictive bondage gear, since ${he} likes the torment.`, clothes: "uncomfortable straps"});
-						if (isItemAccessible("chains")) {
+						if (isClothingAccessible.entry("chains")) {
 							wardrobeTastes.push({text: `and wears painfully tight chains, since ${he} likes the torment.`, clothes: "chains"});
 						}
 					} else if (slave.fetish === "sadist") {
-						if (isItemAccessible("a slave gown")) {
+						if (isClothingAccessible.entry("a slave gown")) {
 							wardrobeTastes.push({text: `and wears an elegant gown, since ${he} thinks it makes ${him} look the part of the femme fatale.`, clothes: "a slave gown"});
 						}
 						wardrobeTastes.push({text: `and wears a scalemail bikini, since ${he} thinks it makes ${him} look fierce.`, clothes: "a scalemail bikini"});
@@ -877,21 +877,21 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeTastes.push({text: `and wears nothing other than an apron, because ${he} likes to catch the eye without putting anything between cocks and ${his} rear end.`, clothes: "an apron"});
 					} else if (slave.fetish === "pregnancy") {
 						wardrobeTastes.push({text: `and wears a short maid dress, because ${he} wants to look motherly and fuckable at the same time.`, clothes: "a slutty maid outfit"});
-						if (isItemAccessible("a maternity dress") && canGetPregnant(slave)) {
+						if (isClothingAccessible.entry("a maternity dress") && canGetPregnant(slave)) {
 							wardrobeTastes.push({text: `and wears a maternity dress in the hope someone fills out its middle.`, clothes: "a maternity dress"});
 						}
 					} else if (slave.fetish === "boobs") {
 						wardrobeTastes.push({text: `and wears a cheerleader outfit, since ${he} loves the way it hugs ${his} tits as ${he} moves.`, clothes: "a cheerleader outfit"});
-						if (isItemAccessible("a monokini")) {
+						if (isClothingAccessible.entry("a monokini")) {
 							wardrobeTastes.push({text: `and wears a monokini, since ${he} loves how it leaves ${his} breasts totally bare.`, clothes: "a monokini"});
 						}
-						if (isItemAccessible("kitty lingerie")) {
+						if (isClothingAccessible.entry("kitty lingerie")) {
 							wardrobeTastes.push({text: `and chooses a lingerie set that leaves ${his} cleavage on public display.`, clothes: "kitty lingerie"});
 						}
-						if (isItemAccessible("pasties")) {
+						if (isClothingAccessible.entry("pasties")) {
 							wardrobeTastes.push({text: `and wears nothing but a pair of pasties to draw eyes straight to ${his} nipples.`, clothes: "pasties"});
 						}
-						if (isItemAccessible("a bra")) {
+						if (isClothingAccessible.entry("a bra")) {
 							wardrobeTastes.push({text: `and wears nothing but a bra in the hopes that the outlandish get up fixes eyes on ${his} chest.`, clothes: "a bra"});
 						}
 						wardrobeTastes.push({text: `and wears nothing but a pair of panties so ${his} tits can bounce freely.`, clothes: "panties"});
@@ -901,20 +901,20 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeTastes.push({text: `and strangely opts for restrictive latex.`, clothes: "restrictive latex"});
 						wardrobeTastes.push({text: `and strangely opts for shibari ropes.`, clothes: "shibari ropes"});
 					} else if (slave.fetish === "dom") {
-						if (isItemAccessible("nice business attire")) {
+						if (isClothingAccessible.entry("nice business attire")) {
 							wardrobeTastes.push({text: `and wears a handsome suit; ${he} seems to think highly of ${himself} in it.`, clothes: "nice business attire"});
 						}
-						if (isItemAccessible("a latex catsuit")) {
+						if (isClothingAccessible.entry("a latex catsuit")) {
 							wardrobeTastes.push({text: `and wears a full body latex catsuit; there is a strange look on ${his} face as ${he} wears it.`, clothes: "a latex catsuit"});
 						}
 						wardrobeTastes.push({text: `and wears a scalemail bikini; ${he} keeps flexing and acting tough to ${himself}.`, clothes: "a scalemail bikini"});
 					} else if (slave.fetish === "masochist") {
 						wardrobeTastes.push({text: `and strangely opts for painfully restrictive bondage gear.`, clothes: "uncomfortable straps"});
-						if (isItemAccessible("chains")) {
+						if (isClothingAccessible.entry("chains")) {
 							wardrobeTastes.push({text: `and strangely opts for painfully tight chains.`, clothes: "chains"});
 						}
 					} else if (slave.fetish === "sadist") {
-						if (isItemAccessible("a slave gown")) {
+						if (isClothingAccessible.entry("a slave gown")) {
 							wardrobeTastes.push({text: `and wears an elegant gown for some reason.`, clothes: "a slave gown"});
 						}
 						wardrobeTastes.push({text: `and wears a scalemail bikini; an odd choice.`, clothes: "a scalemail bikini"});
@@ -927,21 +927,21 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeTastes.push({text: `and wears nothing other than an apron, an odd choice; ${his} ass is completely exposed.`, clothes: "an apron"});
 					} else if (slave.fetish === "pregnancy") {
 						wardrobeTastes.push({text: `and wears a short maid dress; you frequently notice ${him} observing ${his} stomach.`, clothes: "a slutty maid outfit"});
-						if (isItemAccessible("a maternity dress") && canGetPregnant(slave)) {
+						if (isClothingAccessible.entry("a maternity dress") && canGetPregnant(slave)) {
 							wardrobeTastes.push({text: `and wears a maternity dress even though ${he} isn't pregnant.`, clothes: "a maternity dress"});
 						}
 					} else if (slave.fetish === "boobs") {
 						wardrobeTastes.push({text: `and wears a cheerleader outfit; ${he} seems to enjoy jiggling ${his} breasts in it.`, clothes: "a cheerleader outfit"});
-						if (isItemAccessible("a monokini")) {
+						if (isClothingAccessible.entry("a monokini")) {
 							wardrobeTastes.push({text: `and strangely decides to wear a monokini, which leaves ${his} breasts totally bare.`, clothes: "a monokini"});
 						}
-						if (isItemAccessible("kitty lingerie")) {
+						if (isClothingAccessible.entry("kitty lingerie")) {
 							wardrobeTastes.push({text: `and oddly chooses a lingerie set with a cleavage cutout in the bra.`, clothes: "kitty lingerie"});
 						}
-						if (isItemAccessible("pasties")) {
+						if (isClothingAccessible.entry("pasties")) {
 							wardrobeTastes.push({text: `and oddly opts for just a pair of pasties attached to ${his} nipples and one over ${his} crotch.`, clothes: "pasties"});
 						}
-						if (isItemAccessible("a bra")) {
+						if (isClothingAccessible.entry("a bra")) {
 							wardrobeTastes.push({text: `and oddly opts for nothing more than a bra.`, clothes: "a bra"});
 						}
 						wardrobeTastes.push({text: `and wears nothing but a pair of panties; ${he} seems to enjoy the way ${his} breasts bounce freely.`, clothes: "panties"});
@@ -954,7 +954,7 @@ window.saChoosesOwnClothes = (function() {
 				} else if (slave.energy > 60) {
 					wardrobeTastes.push({text: `and puts on some daring lingerie to draw attention to ${himself}.`, clothes: "attractive lingerie"});
 					wardrobeTastes.push({text: `and goes topless to draw attention to ${himself}.`, clothes: "panties"});
-					if (isItemAccessible("kitty lingerie")) {
+					if (isClothingAccessible.entry("kitty lingerie")) {
 						wardrobeTastes.push({text: `and puts on some decorative lingerie to draw attention to ${himself}.`, clothes: "kitty lingerie"});
 					}
 				}
@@ -963,15 +963,15 @@ window.saChoosesOwnClothes = (function() {
 				if (slave.belly >= 5000) {
 					wardrobeTastes.push({text: `and wears pretty lingerie to show off ${his} merchandise while giving ${his} protruding belly plenty of room to hang free.`, clothes: "attractive lingerie"});
 					wardrobeTastes.push({text: `and wears only panties. Something so easy to slip on is appreciable with such a big belly in the way.`, clothes: "panties"});
-					if (isItemAccessible("kitty lingerie")) {
+					if (isClothingAccessible.entry("kitty lingerie")) {
 						wardrobeTastes.push({text: `and wears cute lingerie to show off ${his} merchandise while giving ${his} protruding belly plenty of room to hang free.`, clothes: "kitty lingerie"});
 					}
-					if (isItemAccessible("a Santa dress")) {
+					if (isClothingAccessible.entry("a Santa dress")) {
 						wardrobeTastes.push({text: `and chooses a dress that pokes fun at ${his} rotund figure while still looking sexy.`, clothes: "a Santa dress"});
 					}
-					if (isItemAccessible("attractive lingerie for a pregnant woman") && slave.energy > 70) {
+					if (isClothingAccessible.entry("attractive lingerie for a pregnant woman") && slave.energy > 70) {
 						wardrobeTastes.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while giving it plenty of room to hang free.`, clothes: "attractive lingerie for a pregnant woman"});
-					} else if (isItemAccessible("a maternity dress")) {
+					} else if (isClothingAccessible.entry("a maternity dress")) {
 						wardrobeTastes.push({text: `and wears a conservative dress with plenty of give for ${his} belly to stretch it.`, clothes: "a maternity dress"});
 					}
 					wardrobeTastes.push({text: `and wears string lingerie to look fun and fuckable while giving ${his} protruding belly plenty of room to hang free.`, clothes: "a string bikini"});
@@ -980,19 +980,19 @@ window.saChoosesOwnClothes = (function() {
 				}
 
 				if (slave.nationality === "Canadian") {
-					if (isItemAccessible("a mounty outfit")) {
+					if (isClothingAccessible.entry("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")) {
+					if (isClothingAccessible.entry("a kimono")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a kimono"});
 					}
 				} else if (slave.nationality === "Korean") {
-					if (isItemAccessible("a hanbok")) {
+					if (isClothingAccessible.entry("a hanbok")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a hanbok"});
 					}
 				} else if (slave.nationality === "Mongolian") {
-					if (isItemAccessible("a biyelgee costume")) {
+					if (isClothingAccessible.entry("a biyelgee costume")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a biyelgee costume"});
 					}
 				}
diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw
index 6814e85f84a73c15b09ade3adc7122f696c236ae..d109cce50f1fdb67a4884ae22cdb514af33852cb 100644
--- a/src/uncategorized/wardrobe.tw
+++ b/src/uncategorized/wardrobe.tw
@@ -12,7 +12,7 @@
 
 <p class="scene-intro">
 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 they be allowed to dress themselves. 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") && isItemAccessible("striped panties") && isItemAccessible("a schutzstaffel uniform") && isItemAccessible("a burqa") && isItemAccessible("a dirndl") && isItemAccessible("battlearmor") && isItemAccessible("a police uniform") && isItemAccessible("a gothic lolita dress") && isItemAccessible("a cybersuit") && isItemAccessible("jeans") && isItemAccessible("boyshorts") && isItemAccessible("sport shorts and a sports bra") && isItemAccessible("a monokini") && isItemAccessible("a nice pony outfit") && isItemAccessible("a Santa dress") && isItemAccessible("a bimbo outfit") && isItemAccessible("a courtesan dress"))>>
+<<if ($cheatMode == 1) || (isClothingAccessible.entry("a bunny outfit") && isClothingAccessible.entry("chains") && isClothingAccessible.entry("conservative clothing") && isClothingAccessible.entry("Western clothing") && isClothingAccessible.entry("body oil") && isClothingAccessible.entry("a chattel habit") && isClothingAccessible.entry("a toga") && isClothingAccessible.entry("a huipil") && isClothingAccessible.entry("a kimono") && isClothingAccessible.entry("harem gauze") && isClothingAccessible.entry("a slutty qipao") && isClothingAccessible.entry("ancient Egyptian") && isClothingAccessible.entry("a maternity dress") && isClothingAccessible.entry("attractive lingerie for a pregnant woman") && isClothingAccessible.entry("a small empathy belly") && isClothingAccessible.entry("stretch pants and a crop-top") && isClothingAccessible.entry("striped panties") && isClothingAccessible.entry("a schutzstaffel uniform") && isClothingAccessible.entry("a burqa") && isClothingAccessible.entry("a dirndl") && isClothingAccessible.entry("battlearmor") && isClothingAccessible.entry("a police uniform") && isClothingAccessible.entry("a gothic lolita dress") && isClothingAccessible.entry("a cybersuit") && isClothingAccessible.entry("jeans") && isClothingAccessible.entry("boyshorts") && isClothingAccessible.entry("sport shorts and a sports bra") && isClothingAccessible.entry("a monokini") && isClothingAccessible.entry("a nice pony outfit") && isClothingAccessible.entry("a Santa dress") && isClothingAccessible.entry("a bimbo outfit") && isClothingAccessible.entry("a courtesan dress"))>>
 	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.
@@ -47,7 +47,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a bunny outfit")>>
+<<if !isClothingAccessible.entry("a bunny outfit")>>
 	[[Order a shipment of bunny suits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBunny = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -62,7 +62,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("conservative clothing")>>
+<<if !isClothingAccessible.entry("conservative clothing")>>
 	[[Order a shipment of conservative clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtConservative = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -79,7 +79,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a bimbo outfit")>>
+<<if !isClothingAccessible.entry("a bimbo outfit")>>
 	[[Order a shipment of outfits suitable for bimbos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBimbo = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -94,7 +94,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a courtesan dress")>>
+<<if !isClothingAccessible.entry("a courtesan dress")>>
 	[[Order a shipment of courtesan dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCourtesan = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -111,7 +111,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("chains")>>
+<<if !isClothingAccessible.entry("chains")>>
 	[[Order a shipment of chains|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtChains = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -126,7 +126,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("Western clothing")>>
+<<if !isClothingAccessible.entry("Western clothing")>>
 	[[Order a shipment of western outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtWestern = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -143,7 +143,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("body oil")>>
+<<if !isClothingAccessible.entry("body oil")>>
 	[[Order a shipment of body oil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtOil = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -158,7 +158,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("stretch pants and a crop-top")>>
+<<if !isClothingAccessible.entry("stretch pants and a crop-top")>>
 	[[Order a shipment of comfortable, rather stretchy, clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtLazyClothes = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -175,7 +175,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a chattel habit")>>
+<<if !isClothingAccessible.entry("a chattel habit")>>
 	[[Order a shipment of chattel habits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHabit = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -189,7 +189,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a maternity dress")>>
+<<if !isClothingAccessible.entry("a maternity dress")>>
 	[[Order a shipment of maternity dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityDress = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -206,7 +206,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("attractive lingerie for a pregnant woman")>>
+<<if !isClothingAccessible.entry("attractive lingerie for a pregnant woman")>>
 	[[Order a shipment of maternity lingerie|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityLingerie = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -229,7 +229,7 @@ The room containing all the clothes and accessories you have available to dress
 	</div>
 <</if>>
 <<set _model.collar = "none">>
-<<if !isItemAccessible("ancient Egyptian")>>
+<<if !isClothingAccessible.entry("ancient Egyptian")>>
 	[[Order a shipment of Egyptian necklaces|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtEgypt = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -244,7 +244,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a toga")>>
+<<if !isClothingAccessible.entry("a toga")>>
 	[[Order a shipment of togas|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtToga = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -261,7 +261,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a huipil")>>
+<<if !isClothingAccessible.entry("a huipil")>>
 	[[Order a shipment of huipil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHuipil = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -276,7 +276,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a kimono")>>
+<<if !isClothingAccessible.entry("a kimono")>>
 	[[Order a shipment of kimonos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtKimono = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -293,7 +293,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("harem gauze")>>
+<<if !isClothingAccessible.entry("harem gauze")>>
 	[[Order a shipment of harem outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHarem = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -308,7 +308,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a slutty qipao")>>
+<<if !isClothingAccessible.entry("a slutty qipao")>>
 	[[Order a shipment of qipaos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtQipao = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -329,7 +329,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("battlearmor")>>
+<<if !isClothingAccessible.entry("battlearmor")>>
 	[[Order a shipment of military themed clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMilitary = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -344,7 +344,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a dirndl")>>
+<<if !isClothingAccessible.entry("a dirndl")>>
 	[[Order a shipment of cultural outfits|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCultural = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -361,7 +361,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a burqa")>>
+<<if !isClothingAccessible.entry("a burqa")>>
 	[[Order a shipment of burqas and similar garb|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMiddleEastern = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -376,7 +376,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("jeans")>>
+<<if !isClothingAccessible.entry("jeans")>>
 	[[Order an extra large shipment of casual clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCasual = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -393,7 +393,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a police uniform")>>
+<<if !isClothingAccessible.entry("a police uniform")>>
 	[[Order a shipment of professional garments|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCareer = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -408,7 +408,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a gothic lolita dress")>>
+<<if !isClothingAccessible.entry("a gothic lolita dress")>>
 	[[Order a shipment of professionally tailored dresses|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtDresses = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -425,7 +425,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a cybersuit")>>
+<<if !isClothingAccessible.entry("a cybersuit")>>
 	[[Order a shipment of exotic bodysuits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBodysuits = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -440,7 +440,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("boyshorts")>>
+<<if !isClothingAccessible.entry("boyshorts")>>
 	[[Order a shipment of undergarments|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtUnderwear = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -457,7 +457,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("sport shorts and a sports bra")>>
+<<if !isClothingAccessible.entry("sport shorts and a sports bra")>>
 	[[Order a shipment of exercise wear|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtSports = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -472,7 +472,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a one-piece swimsuit")>>
+<<if !isClothingAccessible.entry("a one-piece swimsuit")>>
 	[[Order a shipment of swimwear|Wardrobe][cashX(forceNeg(Math.trunc(3500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtSwimwear = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(3500 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -489,7 +489,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a nice pony outfit")>>
+<<if !isClothingAccessible.entry("a nice pony outfit")>>
 	[[Order a shipment of specialized latex ponygirl outfits|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPony = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -504,7 +504,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a schutzstaffel uniform")>>
+<<if !isClothingAccessible.entry("a schutzstaffel uniform")>>
 	[[Order a shipment of politically incorrect clothing|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPol = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -521,7 +521,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("a Santa dress")>>
+<<if !isClothingAccessible.entry("a Santa dress")>>
 	[[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCostume = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div>
 <<else>>
@@ -536,7 +536,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if !isItemAccessible("striped panties")>>
+<<if !isClothingAccessible.entry("striped panties")>>
 	[[Order a large crate of panties from Japan|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPantsu = 1]]
 	<div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div>
 <<else>>