From 34a5d94893d15d8d91aac75a338d71afa23c248e Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Fri, 13 Mar 2020 16:47:33 -0400
Subject: [PATCH] remove isItemAvailable entirely

---
 devNotes/Useful JS Function Documentation.txt |  2 -
 src/endWeek/saChoosesOwnClothes.js            |  2 +-
 src/endWeek/saRules_old.js                    |  2 +-
 src/facilities/nursery/childInteract.tw       | 26 +++----
 src/js/itemAvailability.js                    | 70 -------------------
 src/pregmod/newChildIntro.tw                  |  2 +-
 src/uncategorized/RESS.tw                     | 18 ++---
 src/uncategorized/neighborInteract.tw         | 40 +++++------
 src/uncategorized/ptWorkaround.tw             |  2 +-
 src/uncategorized/saLiveWithHG.tw             |  4 +-
 src/uncategorized/slaveInteract.tw            |  2 +-
 src/uncategorized/wardrobe.tw                 | 66 ++++++++---------
 src/utility/saRulesWidgets.tw                 |  2 +-
 13 files changed, 83 insertions(+), 155 deletions(-)

diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index 2afb2f932ab..5299a19a0d2 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -387,8 +387,6 @@ releaseRestricted - returns true if the slave has some kind of rule limiting the
 
 Other Functions:
 
-isItemAccessible(itemName) - Returns if the string is available for use. Defaults to true.
-
 UtilJS [script]
 	html5passage(passage_function) - circumvents sugarcube, allowing a plain HTML5 UI within it
 
diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 5a3bb536b09..f9bab8017fd 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -1147,7 +1147,7 @@ window.saChoosesOwnClothes = (function() {
 				} else {
 					belly.push({text: `straps on a fake pregnant belly to fit in with all the other pregnant girls,`, bellyAccessory: jsEither(["a small empathy belly", "a medium empathy belly", "a large empathy belly"])});
 				}
-			} else if (slave.belly < 1500 && slave.fetish === "pregnancy" && isItemAccessible("a small empathy belly") && slave.sexualFlaw !== "breeder" && slave.weight <= 130) {
+			} else if (slave.belly < 1500 && slave.fetish === "pregnancy" && isClothingAccessible.entry("a small empathy belly", "bellyAccessory") && slave.sexualFlaw !== "breeder" && slave.weight <= 130) {
 				if (slave.fetishStrength <= 30) {
 					belly.push({text: `straps on a 1st trimester belly to sate ${his} curiosity,`, bellyAccessory: "a small empathy belly"});
 					belly.push({text: `straps on a 2nd trimester belly to sate ${his} curiosity,`, bellyAccessory: "a medium empathy belly"});
diff --git a/src/endWeek/saRules_old.js b/src/endWeek/saRules_old.js
index 63b06d4da56..779e7e3be4c 100644
--- a/src/endWeek/saRules_old.js
+++ b/src/endWeek/saRules_old.js
@@ -848,7 +848,7 @@
 					if (slave.belly > 1500) {
 						let belly = bellyAdjective(slave);
 						r += `always rubs and teases ${his} ${belly} belly while doing so. `;
-					} else if (isItemAccessible("a small empathy belly")) {
+					} else if (isClothingAccessible.entry("a small empathy belly", "bellyAccessory")) {
 						r += `frequently straps on a fake belly to enhance ${his} fun. `;
 					} else {
 						r += `frequently pretends to be`;
diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw
index 25ec8cecda7..837100e3df0 100644
--- a/src/facilities/nursery/childInteract.tw
+++ b/src/facilities/nursery/childInteract.tw
@@ -582,13 +582,13 @@ FIXME:
 		<<set $activeChild.collar = "leather with cowbell">>
 		<<replace "#collar">>$activeChild.collar<</replace>>
 	<</link>>
-	<<if isItemAccessible("bowtie")>>
+	<<if isClothingAccessible.entry("bowtie", "collar")>>
 	| //FS// <<link "Bowtie collar">>
 			<<set $activeChild.collar = "bowtie">>
 			<<replace "#collar">>$activeChild.collar<</replace>>
 		<</link>>
 	<</if>>
-	<<if isItemAccessible("ancient Egyptian")>>
+	<<if isClothingAccessible.entry("ancient Egyptian", "collar")>>
 	| //FS// <<link "Ancient Egyptian">>
 			<<set $activeChild.collar = "ancient Egyptian">>
 			<<replace "#collar">>$activeChild.collar<</replace>>
@@ -624,7 +624,7 @@ FIXME:
 		<<set $activeChild.collar = "dildo gag">>
 		<<replace "#collar">>$activeChild.collar<</replace>>
 	<</link>> |
-	<<if isItemAccessible("massive dildo gag") && $activeChild.skill.oral > 50>>
+	<<if isClothingAccessible.entry("massive dildo gag", "collar") && $activeChild.skill.oral > 50>>
 		<<link "Massive dildo gag">>
 			<<set $activeChild.collar = "massive dildo gag">>
 			<<replace "#collar">>$activeChild.collar<</replace>>
@@ -726,7 +726,7 @@ FIXME:
 			<<replace "#bellyAccessory">>$activeChild.bellyAccessory<</replace>>
 		<</link>>
 	<</if>>
-	<<if isItemAccessible("a small empathy belly")>> /* works for all of them */
+	<<if isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>> /* works for all of them */
 	<<if $activeChild.belly < 1500 && $activeChild.weight < 130>> |
 		|	<<link "1st Trimester belly">>
 				<<set $activeChild.bellyAccessory = "a small empathy belly">>
@@ -758,7 +758,7 @@ FIXME:
 		<<set $activeChild.buttplug = "plug">>
 		<<replace "#buttplug">>$activeChild.buttplug<</replace>>
 	<</link>>
-	<<if isItemAccessible("long plug") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
+	<<if isClothingAccessible.entry("long plug", "buttPlug") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
 		<<link "Long">>
 			<<set $activeChild.buttplug = "long plug">>
 			<<replace "#buttplug">>$activeChild.buttplug<</replace>>
@@ -768,7 +768,7 @@ FIXME:
 		<<set $activeChild.buttplug = "large plug">>
 		<<replace "#buttplug">>$activeChild.buttplug<</replace>>
 	<</link>>
-	<<if isItemAccessible("long, large plug") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
+	<<if isClothingAccessible.entry("long, large plug", "buttPlug") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
 		<<link "Long and large">>
 			<<set $activeChild.buttplug = "long, large plug">>
 			<<replace "#buttplug">>$activeChild.buttplug<</replace>>
@@ -780,7 +780,7 @@ FIXME:
 			<<replace "#buttplug">>$activeChild.buttplug<</replace>>
 		<</link>>
 	<</if>>
-	<<if isItemAccessible("long, huge plug")>>
+	<<if isClothingAccessible.entry("long, huge plug", "buttPlug")>>
 		<<if ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl) && $activeChild.anus >= 2>>
 			<<link "Long and huge">>
 				<<set $activeChild.buttplug = "long, huge plug">>
@@ -788,7 +788,7 @@ FIXME:
 			<</link>> |
 		<</if>>
 	<</if>>
-	<<if isItemAccessible("tail") && $activeChild.buttplug != "none">>
+	<<if isClothingAccessible.entry("tail", "buttplugAttachment") && $activeChild.buttplug != "none">>
 		&nbsp;&nbsp;&nbsp;&nbsp;Anal accessory attachment: <b><span id="buttplugAttach">$activeChild.buttplugAttachment</span>.</b>
 		<<link "None">>
 			<<set $activeChild.buttplugAttachment = "none">>
@@ -820,7 +820,7 @@ FIXME:
 			<<set $activeChild.vaginalAccessory = "dildo">>
 			<<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>>
 		<</link>> |
-		<<if isItemAccessible("long dildo") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
+		<<if isClothingAccessible.entry("long dildo", "vaginalAccessory") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
 			<<link "Long dildo">>
 				<<set $activeChild.vaginalAccessory = "long dildo">>
 				<<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>>
@@ -830,7 +830,7 @@ FIXME:
 			<<set $activeChild.vaginalAccessory = "large dildo">>
 			<<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>>
 		<</link>>
-		<<if isItemAccessible("long, large dildo") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
+		<<if isClothingAccessible.entry("long, large dildo", "vaginalAccessory") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
 		|	<<link "Large and long dildo">>
 				<<set $activeChild.vaginalAccessory = "long, large dildo">>
 				<<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>>
@@ -842,7 +842,7 @@ FIXME:
 				<<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>>
 			<</link>>
 		<</if>>
-		<<if isItemAccessible("long, huge dildo") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
+		<<if isClothingAccessible.entry("long, huge dildo", "vaginalAccessory") && ($activeChild.breedingMark != 1 || !$propOutcome || $eugenicsFullControl)>>
 		|	<<if $activeChild.vagina >= 2>>
 				<<link "Huge and long dildo">>
 					<<set $activeChild.vaginalAccessory = "long, huge dildo">>
@@ -857,13 +857,13 @@ FIXME:
 			<<set $activeChild.dickAccessory = "none">>
 			<<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>>
 		<</link>>
-		<<if isItemAccessible("bullet vibrator") && $toysBoughtVaginalAttachments>>
+		<<if isClothingAccessible.entry("bullet vibrator", "dickAccessory") && $toysBoughtVaginalAttachments>>
 		|	<<link "Bullet vibrator">>
 				<<set $activeChild.dickAccessory = "bullet vibrator">>
 				<<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>>
 			<</link>>
 		<</if>>
-		<<if isItemAccessible("smart bullet vibrator") && $toysBoughtVaginalAttachments>>
+		<<if isClothingAccessible.entry("smart bullet vibrator", "dickAccessory") && $toysBoughtVaginalAttachments>>
 		|	<<link "Smart bullet vibrator">>
 				<<set $activeChild.dickAccessory = "smart bullet vibrator">>
 				<<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>>
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index a64493d56a8..a450e3d3868 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -1,75 +1,5 @@
 /* intended to condense the clothing/toy/etc availability checks into something less asinine */
 
-/**
- * Depreciated, use isClothingAccessible.entry() directly
- * Checks whether item is accessible
- * @param {string} string Name of wearable item
- * @returns {boolean}
- */
-window.isItemAccessible = function(string) {
-	let category;
-	if (
-		[
-			"platform shoes",
-			"platform heels",
-			"extreme platform heels"
-		].includes(string)
-	) {
-		category = "shoes";
-	} else if (
-		[
-			"bowtie",
-			"ancient Egyptian",
-			"massive dildo gag"
-		].includes(string)
-	) {
-		category = "collar";
-	} else if (
-		[
-			"a small empathy belly",
-			"a medium empathy belly",
-			"a large empathy belly",
-			"a huge empathy belly"
-		].includes(string)
-	) {
-		category = "bellyAccessory";
-	} else if (
-		[
-			"bullet vibrator",
-			"smart bullet vibrator",
-			"long dildo",
-			"long, large dildo",
-			"long, huge dildo",
-			"vibrator"
-		].includes(string)
-	) {
-		category = "vaginalAccessory";
-	} else if (
-		[
-			"long plug",
-			"long, large plug",
-			"long, huge plug"
-		].includes(string)
-	) {
-		category = "buttplug";
-	} else if (
-		[
-			"tail",
-			"cow tail",
-			"cat tail",
-			"fox tail"
-		].includes(string)
-	) {
-		category = "buttplugAttachment";
-	} else {
-		category = "clothing";
-	}
-
-	if (isClothingAccessible.entry(string, category) === true) {
-		return true;
-	}
-};
-
 window.isClothingAccessible = (function() {
 	return {
 		array: array,
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index 923a1d9f05e..e426592ca62 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -1348,7 +1348,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 
 <<if _momInterest == "belly" || _dadInterest == "belly">>
 	<br>You noticed $his interest in $his <<if _momInterest == "belly" && _dadInterest == "belly">>parents'<<elseif _momInterest == "belly">>mother's<<else>>father's<</if>> rounded middle when $he was around them.
-	<<if isItemAccessible("a huge empathy belly")>>
+	<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory")>>
 		<br><<link "Give $him a big fake belly to wear">>
 			<<set $activeSlave.devotion += 15>>
 			<<set $activeSlave.trust += 15>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 5abb099e451..f5abbf76c46 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -51,7 +51,7 @@
 	<<set $activeSlave.clothes = "restrictive latex">>
 <<case "inconvenient labia">>
 	/* "pulling down the compression shorts $he was wearing" */
-	<<if isItemAccessible("sport shorts")>>
+	<<if isClothingAccessible.entry("sport shorts", "clothing")>>
 		<<if $activeSlave.boobs >= 650>>
 			<<set $activeSlave.clothes = "sport shorts and a sports bra">>
 		<<else>>
@@ -68,7 +68,7 @@
 	<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
 		<<set $activeSlave.clothes = "a halter top dress">>
 	<<elseif $activeSlave.muscles > 30>>
-		<<if isItemAccessible("sport shorts")>>
+		<<if isClothingAccessible.entry("sport shorts", "clothing")>>
 			<<if $activeSlave.boobs >= 650>>
 				<<set $activeSlave.clothes = "sport shorts and a sports bra">>
 			<<else>>
@@ -12543,7 +12543,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 						"Plea<<s>>e, could I play with your pregnan<<c>>y while I fuck you, <<Master>>?" $His eyes are glued to your gravid middle. You could let $him play with your pregnancy, and you do, enjoying $his fondling as $he fucks your pussy.
 					<<else>>
 						"Plea<<s>>e, would you pretend to be pregnant with my baby, <<Master>>?" $His eyes are glued to your middle. You could play pretend with $him, and you do,
-						<<if isItemAccessible("a small empathy belly")>>
+						<<if isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>>
 							strapping an empathy belly on yourself before bending over for $him.
 						<<else>>
 							tossing on a camisole and sticking a pillow under it before bending over for $him.
@@ -12562,7 +12562,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 						"Plea<<s>>e, would you play with my pregnan<<c>>y, <<Master>>?" $He pokes out $his belly and sways it enticingly, lest you misunderstand. You could play with $his pregnancy, and you do, managing to get off several ways.
 					<<else>>
 						"Plea<<s>>e, would you pretend that I'm pregnant with your baby, <<Master>>?" $He pokes out $his belly and sways it enticingly, lest you misunderstand. You could play pretend with $him, and you do,
-						<<if isItemAccessible("a small empathy belly")>>
+						<<if isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>>
 							strapping an empathy belly on $him before feeling $him up.
 						<<else>>
 							tossing $him a camisole and a pillow before feeling $him up.
@@ -16232,7 +16232,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 				belly is becoming distended.
 			<</if>>
 			Below this, the slave $himself
-			<<if isItemAccessible("a huge empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight <= 130>>
+			<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $activeSlave) == true>>
 				has a huge empathy belly hanging from $his middle and is
 			<<else>>
 				is
@@ -16258,7 +16258,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 				belly is becoming massively distended.
 			<</if>>
 			Below this, the slave $himself
-			<<if isItemAccessible("a huge empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight <= 130>>
+			<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $activeSlave) == true>>
 				has a huge empathy belly hanging from $his middle and is
 			<<else>>
 				is
@@ -16333,7 +16333,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 			with _hisA tentacles crammed into every available hole in an avatar of $activeSlave.slaveName, rapidly pumping eggs into $his quickly swelling body.
 			<<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>
 				Below this, the slave $himself
-				<<if isItemAccessible("a huge empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight <= 130>>
+				<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $activeSlave) == true>>
 					has a huge empathy belly strapped to $his middle and
 				<</if>>
 				is
@@ -16350,7 +16350,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 				<<run seX($activeSlave, "oral", "assistant", "penetrative", 3)>>
 			<<elseif canDoVaginal($activeSlave)>>
 				Below this, the slave $himself
-				<<if isItemAccessible("a huge empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight <= 130>>
+				<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $activeSlave) == true>>
 					has a huge empathy belly strapped to $his middle and
 				<</if>>
 				is
@@ -16366,7 +16366,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 				<<run seX($activeSlave, "oral", "assistant", "penetrative", 3)>>
 			<<else>>
 				Below this, the slave $himself
-				<<if isItemAccessible("a huge empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight <= 130>>
+				<<if isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $activeSlave) == true>>
 					has a huge empathy belly strapped to $his middle and
 				<</if>>
 				is
diff --git a/src/uncategorized/neighborInteract.tw b/src/uncategorized/neighborInteract.tw
index 0a8d74cdbb4..3da29fe8c72 100644
--- a/src/uncategorized/neighborInteract.tw
+++ b/src/uncategorized/neighborInteract.tw
@@ -420,7 +420,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _prices = _opinion*10>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSRomanRevivalist > 95>>
-		<<if !isItemAccessible("a toga")>>
+		<<if !isClothingAccessible.entry("a toga", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of togas" "Neighbor Interact">>
 					<<set $clothesBoughtToga = 1>>
@@ -440,7 +440,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSEdoRevivalist > 95>>
-		<<if !isItemAccessible("a kimono")>>
+		<<if !isClothingAccessible.entry("a kimono", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of kimonos" "Neighbor Interact">>
 					<<set $clothesBoughtKimono = 1>>
@@ -460,7 +460,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSArabianRevivalist > 95>>
-		<<if !isItemAccessible("harem gauze")>>
+		<<if !isClothingAccessible.entry("harem gauze", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of silken harem garb" "Neighbor Interact">>
 					<<set $clothesBoughtHarem = 1>>
@@ -480,7 +480,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSAztecRevivalist > 95>>
-		<<if !isItemAccessible("a huipil")>>
+		<<if !isClothingAccessible.entry("a huipil", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of huipils" "Neighbor Interact">>
 					<<set $clothesBoughtHuipil = 1>>
@@ -500,7 +500,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSChineseRevivalist > 95>>
-		<<if !isItemAccessible("a slutty qipao")>>
+		<<if !isClothingAccessible.entry("a slutty qipao", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of qipaos" "Neighbor Interact">>
 					<<set $clothesBoughtQipao = 1>>
@@ -520,7 +520,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSEgyptianRevivalist > 95>>
-		<<if !isItemAccessible("ancient Egyptian")>>
+		<<if !isClothingAccessible.entry("ancient Egyptian", "collar")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of Egyptian necklace replicas" "Neighbor Interact">>
 					<<set $clothesBoughtEgypt = 1>>
@@ -541,7 +541,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSPaternalist > 95>>
-		<<if !isItemAccessible("conservative clothing")>>
+		<<if !isClothingAccessible.entry("conservative clothing", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of conservative clothing" "Neighbor Interact">>
 					<<set $clothesBoughtConservative = 1>>
@@ -561,7 +561,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSDegradationist > 95>>
-		<<if !isItemAccessible("chains")>>
+		<<if !isClothingAccessible.entry("chains", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of binding chains" "Neighbor Interact">>
 					<<set $clothesBoughtChains = 1>>
@@ -582,7 +582,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSGenderFundamentalist > 95>>
-		<<if !isItemAccessible("a bunny outfit")>>
+		<<if !isClothingAccessible.entry("a bunny outfit", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of bunny suits" "Neighbor Interact">>
 					<<set $clothesBoughtBunny = 1>>
@@ -603,7 +603,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSIntellectualDependency > 95>>
-		<<if !isItemAccessible("a bimbo outfit")>>
+		<<if !isClothingAccessible.entry("a bimbo outfit", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of outfits suitable for bimbos" "Neighbor Interact">>
 					<<set $clothesBoughtBimbo = 1>>
@@ -624,7 +624,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSSlaveProfessionalism > 95>>
-		<<if !isItemAccessible("a courtesan dress")>>
+		<<if !isClothingAccessible.entry("a courtesan dress", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of courtesan dresses" "Neighbor Interact">>
 					<<set $clothesBoughtCourtesan = 1>>
@@ -646,7 +646,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 	<</if>>
 	/*
 	<<if $arcologies[_currentNeighbor].FSPetiteAdmiration > 95>>
-		<<if !isItemAccessible("temp")>>
+		<<if !isClothingAccessible.entry("temp", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of petite-sized dresses" "Neighbor Interact">>
 					<<set $clothesBoughtPetite = 1>>
@@ -668,7 +668,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 	<</if>>
 	*/
 	<<if $arcologies[_currentNeighbor].FSPhysicalIdealist > 95>>
-		<<if !isItemAccessible("body oil")>>
+		<<if !isClothingAccessible.entry("body oil", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of body oil" "Neighbor Interact">>
 					<<set $clothesBoughtOil = 1>>
@@ -688,7 +688,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<</if>>
 		<<set _exports = 1>>
 	<<elseif $arcologies[_currentNeighbor].FSHedonisticDecadence > 95>>
-		<<if !isItemAccessible("stretch pants and a crop-top")>>
+		<<if !isClothingAccessible.entry("stretch pants and a crop-top", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of stretch pants and crop-tops" "Neighbor Interact">>
 					<<set $clothesBoughtLazyClothes = 1>>
@@ -709,7 +709,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSChattelReligionist > 95>>
-		<<if !isItemAccessible("a chattel habit")>>
+		<<if !isClothingAccessible.entry("a chattel habit", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of chattel religionist habits" "Neighbor Interact">>
 					<<set $clothesBoughtHabit = 1>>
@@ -730,7 +730,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSPastoralist > 95>>
-		<<if !isItemAccessible("Western clothing")>>
+		<<if !isClothingAccessible.entry("Western clothing", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of Western clothing" "Neighbor Interact">>
 					<<set $clothesBoughtWestern = 1>>
@@ -751,7 +751,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSRepopulationFocus > 95>>
-		<<if !isItemAccessible("a maternity dress")>>
+		<<if !isClothingAccessible.entry("a maternity dress", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of maternity clothing" "Neighbor Interact">>
 					<<set $clothesBoughtMaternityDress = 1>>
@@ -769,7 +769,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<else>>
 			<br>You already have enough maternity dresses.
 		<</if>>
-		<<if !isItemAccessible("attractive lingerie for a pregnant woman")>>
+		<<if !isClothingAccessible.entry("attractive lingerie for a pregnant woman", "clothing")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of maternity lingerie" "Neighbor Interact">>
 					<<set $clothesBoughtMaternityLingerie = 1>>
@@ -787,7 +787,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<else>>
 			<br>You already have enough lingerie suited for pregnant women.
 		<</if>>
-		<<if !isItemAccessible("a small empathy belly")>>
+		<<if !isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of empathy bellies" "Neighbor Interact">>
 					<<set $clothesBoughtBelly = 1>>
@@ -808,7 +808,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 		<<set _exports = 1>>
 	<</if>>
 	<<if $arcologies[_currentNeighbor].FSStatuesqueGlorification > 95>>
-		<<if !isItemAccessible("platform heels")>>
+		<<if !isClothingAccessible.entry("platform heels", "shoes")>>
 			<<if ($arcologies[_currentNeighbor].government == "your trustees") || ($arcologies[_currentNeighbor].government == "your agent")>>
 				<br><<link "Request a shipment of height boosting footwear" "Neighbor Interact">>
 					<<set $shoesBoughtHeels = 1>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index b4cf8f00a7a..3573186e4de 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -29,7 +29,7 @@
 		Since $activeSlave.slaveName has an unusual taste for having $his tits fondled, you @@.hotpink;build $his devotion to you@@ by indulging $him. You keep $him near you as a sort of living stress ball. Whenever you have a free hand, whether you're conducting business or buttfucking another slave, you reach over and play with $him. $He sometimes masturbates while you massage $his breasts and <<if $activeSlave.nipples == "fuckable">>finger<<else>>pinch<</if>> $his nipples, but often $he doesn't even need to.
 		<<set $activeSlave.counter.mammary += 20, $mammaryTotal += 20>>
 	<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetish == "pregnancy")>>
-		Since $activeSlave.slaveName has an unusual taste for big pregnant bellies, you @@.hotpink;build $his devotion to you@@ by indulging $him. You <<if isItemAccessible("a small empathy belly") && $activeSlave.belly < 1500 && $activeSlave.weight < 130>>strap an enormous sympathy belly onto $him and <<elseif $activeSlave.belly < 1500>>strap a pillow around $his middle, give $him an oversized shirt and <</if>>keep $him near you as a sort of living stress ball. Whenever you have a free hand, whether you're conducting business or buttfucking another slave, you reach over and rub $his dome of a belly for luck. Occasionally you pay more attention to $him, making sure to fondle $his rounded middle as you feel up $his motherly body. $He sometimes masturbates when you aren't groping $him, enjoying $his gravid figure, but often $he doesn't even need to.
+		Since $activeSlave.slaveName has an unusual taste for big pregnant bellies, you @@.hotpink;build $his devotion to you@@ by indulging $him. You <<if isClothingAccessible.entry("a small empathy belly", "bellyAccessory") && $activeSlave.belly < 1500 && $activeSlave.weight < 130>>strap an enormous sympathy belly onto $him and <<elseif $activeSlave.belly < 1500>>strap a pillow around $his middle, give $him an oversized shirt and <</if>>keep $him near you as a sort of living stress ball. Whenever you have a free hand, whether you're conducting business or buttfucking another slave, you reach over and rub $his dome of a belly for luck. Occasionally you pay more attention to $him, making sure to fondle $his rounded middle as you feel up $his motherly body. $He sometimes masturbates when you aren't groping $him, enjoying $his gravid figure, but often $he doesn't even need to.
 	<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetish == "humiliation") && ((canDoVaginal($activeSlave) && $activeSlave.vagina > 0) || (canDoAnal($activeSlave) && $activeSlave.anus > 0))>>
 		Since $activeSlave.slaveName has an unusual sexuality, you @@.hotpink;build $his devotion to you@@ by indulging $his perversions. Since $he's an absolute slut for humiliation, you let $him whore around inside the special camera room whenever possible. When you're going out and feel like putting on a show, you bring $him on a leash and fuck $him in public. $He comes harder than ever when you push $his naked body up against the wall of a crowded public arcology elevator and molest $him.
 		<<set $activeSlave.counter.oral += 4, $oralTotal += 4>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 45997a512ec..f9f53d2ca2d 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -713,7 +713,7 @@
 		<<set $slaves[$i].clothes = "slutty business attire">>
 	<<elseif ($HeadGirl.fetish == "masochist")>>
 		$HeadGirl.slaveName keeps $slaves[$i].slaveName
-		<<if isItemAccessible("battledress")>>
+		<<if isClothingAccessible.entry("battledress", "clothing")>>
 			in battledress, since _he2 likes the fantasy of being raped by a soldier $girl.
 			<<set $slaves[$i].clothes = "battledress">>
 		<<else>>
@@ -743,7 +743,7 @@
 	<<elseif ($HeadGirl.fetish == "buttslut")>>
 		$HeadGirl.slaveName keeps $slaves[$i].slaveName wearing nothing but slutty bangles, since _he2 likes dressing $him up but wants that butt bare.
 		<<set $slaves[$i].clothes = "slutty jewelry">>
-	<<elseif ($HeadGirl.fetish == "pregnancy") && ($slaves[$i].belly < 1500) && ($slaves[$i].weight <= 130) && isItemAccessible("a small empathy belly")>>
+	<<elseif ($HeadGirl.fetish == "pregnancy") && isClothingAccessible.entry("a huge empathy belly", "bellyAccessory", $slaves[$i]) == true)>>
 		$HeadGirl.slaveName keeps $slaves[$i].slaveName wearing an empathy belly, since _he2 likes _his2 <<= $girl>>s with a bun in the oven.
 		<<set $slaves[$i].bellyAccessory = "a large empathy belly">>
 	<<elseif ($HeadGirl.fetish == "pregnancy") && ($slaves[$i].preg > 0) && ($slaves[$i].pregSource == $HeadGirl.ID) >>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 153e77959fb..cd468342479 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -252,7 +252,7 @@
 				<span id="buttplug"></span>
 				/*<script>App.UI.Wardrobe.buttplug(getSlave(V.activeSlave.ID))</script>*/
 
-				<<if isItemAccessible("tail") && $slaves[_i].buttplug != "none">>
+				<<if isClothingAccessible.entry("tail", "buttplugAttachments") && $slaves[_i].buttplug != "none">>
 					<span id="buttplugAttachment"></span>
 					/*<script>App.UI.Wardrobe.buttplugAttachment(getSlave(V.activeSlave.ID))</script>*/
 				<</if>>
diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw
index b3b94d49c84..b3e1b200153 100644
--- a/src/uncategorized/wardrobe.tw
+++ b/src/uncategorized/wardrobe.tw
@@ -51,7 +51,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a bunny outfit") !== true>>
+<<if isClothingAccessible.entry("a bunny outfit", "clothing") !== true>>
 	[[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>>
@@ -66,7 +66,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("conservative clothing") !== true>>
+<<if isClothingAccessible.entry("conservative clothing", "clothing") !== true>>
 	[[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>>
@@ -83,7 +83,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a bimbo outfit") !== true>>
+<<if isClothingAccessible.entry("a bimbo outfit", "clothing") !== true>>
 	[[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>>
@@ -98,7 +98,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a courtesan dress") !== true>>
+<<if isClothingAccessible.entry("a courtesan dress", "clothing") !== true>>
 	[[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>>
@@ -115,7 +115,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("chains") !== true>>
+<<if isClothingAccessible.entry("chains", "clothing") !== true>>
 	[[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>>
@@ -130,7 +130,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("Western clothing") !== true>>
+<<if isClothingAccessible.entry("Western clothing", "clothing") !== true>>
 	[[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>>
@@ -147,7 +147,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("body oil") !== true>>
+<<if isClothingAccessible.entry("body oil", "clothing") !== true>>
 	[[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>>
@@ -162,7 +162,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("stretch pants and a crop-top") !== true>>
+<<if isClothingAccessible.entry("stretch pants and a crop-top", "clothing") !== true>>
 	[[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>>
@@ -179,7 +179,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a chattel habit") !== true>>
+<<if isClothingAccessible.entry("a chattel habit", "clothing") !== true>>
 	[[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>>
@@ -193,7 +193,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a maternity dress") !== true>>
+<<if isClothingAccessible.entry("a maternity dress", "clothing") !== true>>
 	[[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>>
@@ -210,7 +210,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("attractive lingerie for a pregnant woman") !== true>>
+<<if isClothingAccessible.entry("attractive lingerie for a pregnant woman", "clothing") !== true>>
 	[[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>>
@@ -233,7 +233,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", "collar")>>
 	[[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>>
@@ -248,7 +248,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a toga") !== true>>
+<<if isClothingAccessible.entry("a toga", "clothing") !== true>>
 	[[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>>
@@ -265,7 +265,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a huipil") !== true>>
+<<if isClothingAccessible.entry("a huipil", "clothing") !== true>>
 	[[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>>
@@ -280,7 +280,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a kimono") !== true>>
+<<if isClothingAccessible.entry("a kimono", "clothing") !== true>>
 	[[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>>
@@ -297,7 +297,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("harem gauze") !== true>>
+<<if isClothingAccessible.entry("harem gauze", "clothing") !== true>>
 	[[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>>
@@ -312,7 +312,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a slutty qipao") !== true>>
+<<if isClothingAccessible.entry("a slutty qipao", "clothing") !== true>>
 	[[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>>
@@ -333,7 +333,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("battlearmor") !== true>>
+<<if isClothingAccessible.entry("battlearmor", "clothing") !== true>>
 	[[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>>
@@ -348,7 +348,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a dirndl") !== true>>
+<<if isClothingAccessible.entry("a dirndl", "clothing") !== true>>
 	[[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>>
@@ -365,7 +365,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a burqa") !== true>>
+<<if isClothingAccessible.entry("a burqa", "clothing") !== true>>
 	[[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>>
@@ -380,7 +380,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("jeans") !== true>>
+<<if isClothingAccessible.entry("jeans", "clothing") !== true>>
 	[[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>>
@@ -397,7 +397,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a police uniform") !== true>>
+<<if isClothingAccessible.entry("a police uniform", "clothing") !== true>>
 	[[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>>
@@ -412,7 +412,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a gothic lolita dress") !== true>>
+<<if isClothingAccessible.entry("a gothic lolita dress", "clothing") !== true>>
 	[[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>>
@@ -429,7 +429,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a cybersuit") !== true>>
+<<if isClothingAccessible.entry("a cybersuit", "clothing") !== true>>
 	[[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>>
@@ -444,7 +444,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("boyshorts") !== true>>
+<<if isClothingAccessible.entry("boyshorts", "clothing") !== true>>
 	[[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>>
@@ -461,7 +461,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("sport shorts and a sports bra") !== true>>
+<<if isClothingAccessible.entry("sport shorts and a sports bra", "clothing") !== true>>
 	[[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>>
@@ -476,7 +476,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a one-piece swimsuit") !== true>>
+<<if isClothingAccessible.entry("a one-piece swimsuit", "clothing") !== true>>
 	[[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>>
@@ -493,7 +493,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a nice pony outfit") !== true>>
+<<if isClothingAccessible.entry("a nice pony outfit", "clothing") !== true>>
 	[[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>>
@@ -508,7 +508,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a schutzstaffel uniform") !== true>>
+<<if isClothingAccessible.entry("a schutzstaffel uniform", "clothing") !== true>>
 	[[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>>
@@ -525,7 +525,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("a Santa dress") !== true>>
+<<if isClothingAccessible.entry("a Santa dress", "clothing") !== true>>
 	[[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>>
@@ -540,7 +540,7 @@ The room containing all the clothes and accessories you have available to dress
 		<<= SlaveArt(_model, 1, 0)>>
 	</div>
 <</if>>
-<<if isClothingAccessible.entry("striped panties") !== true>>
+<<if isClothingAccessible.entry("striped panties", "clothing") !== true>>
 	[[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>>
@@ -553,7 +553,7 @@ The room containing all the clothes and accessories you have available to dress
 <h2>Accessories</h2>
 
 <p>
-	<<if !isItemAccessible("platform heels")>>
+	<<if !isClothingAccessible.entry("platform heels", "shoes")>>
 		[[Order a shipment of platform shoes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $shoesBoughtHeels = 1]]
 		<span class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></span>
 	<<else>>
@@ -562,7 +562,7 @@ The room containing all the clothes and accessories you have available to dress
 </p>
 
 <p>
-	<<if !isItemAccessible("a small empathy belly")>>
+	<<if !isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>>
 		[[Order a shipment of fake pregnancy bellies|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBelly = 1]]
 		<span class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></span>
 	<<else>>
diff --git a/src/utility/saRulesWidgets.tw b/src/utility/saRulesWidgets.tw
index 5a2164b3da3..382b85d3674 100644
--- a/src/utility/saRulesWidgets.tw
+++ b/src/utility/saRulesWidgets.tw
@@ -280,7 +280,7 @@ and
 		<<if $slaves[$i].belly > 1500>>
 			<<set _belly = bellyAdjective($slaves[$i])>>
 			always rubs and teases $his _belly belly while doing so.
-		<<elseif isItemAccessible("a small empathy belly")>>
+		<<elseif isClothingAccessible.entry("a small empathy belly", "bellyAccessory")>>
 			frequently straps on a fake belly to enhance $his fun.
 		<<else>>
 			frequently pretends to be
-- 
GitLab