diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index b36116bdda11acef82533dd371e29f6fc7be236c..a64493d56a831a62b26ad15fa99b833b6d4aa6b0 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -1,202 +1,72 @@
 /* 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) {
-	if (V.cheatMode === 1) {
-		return true;
+	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";
 	}
-	switch (string) {
-		/* no breaks needed because we always return */
-		case "attractive lingerie for a pregnant woman":
-			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityLingerie === 1);
-		case "a bunny outfit":
-			return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1);
-		case "body oil":
-			return (V.arcologies[0].FSPhysicalIdealist > 0 || V.clothesBoughtOil === 1);
-		case "chains":
-			return (V.arcologies[0].FSDegradationist > 0 || V.clothesBoughtChains === 1);
-		case "a chattel habit":
-			return (V.arcologies[0].FSChattelReligionist > 0 || V.clothesBoughtHabit === 1);
-		case "conservative clothing":
-			return (V.arcologies[0].FSPaternalist > 0 || V.clothesBoughtConservative === 1);
-		case "harem gauze":
-			return (V.arcologies[0].FSArabianRevivalist > 0 || V.clothesBoughtHarem === 1);
-		case "a huipil":
-			return (V.arcologies[0].FSAztecRevivalist > 0 || V.clothesBoughtHuipil === 1);
-		case "a kimono":
-			return (V.arcologies[0].FSEdoRevivalist > 0 || V.clothesBoughtKimono === 1 || V.continent === "Japan");
-		case "a maternity dress":
-			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityDress === 1);
-		case "a slutty qipao":
-			return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtQipao === 1);
-		case "a long qipao":
-			return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtCultural === 1);
-		case "stretch pants and a crop-top":
-			return (V.arcologies[0].FSHedonisticDecadence > 0 || V.clothesBoughtLazyClothes === 1);
-		case "a toga":
-			return (V.arcologies[0].FSRomanRevivalist > 0 || V.clothesBoughtToga === 1);
-		case "Western clothing":
-			return (V.arcologies[0].FSPastoralist > 0 || V.clothesBoughtWestern === 1);
-		case "a courtesan dress":
-			return (V.arcologies[0].FSSlaveProfessionalism > 0 || V.clothesBoughtCourtesan === 1);
-		case "a bimbo outfit":
-			return (V.arcologies[0].FSIntellectualDependency > 0 || V.clothesBoughtBimbo === 1);
-		case "petite admi outfit":
-			return (V.arcologies[0].FSPetiteAdmiration > 0 || V.clothesBoughtPetite === 1);
-		case "battlearmor":
-		case "a military uniform":
-		case "a red army uniform":
-		case "battledress":
-			return (V.clothesBoughtMilitary === 1);
-		case "a biyelgee costume":
-		case "a dirndl":
-		case "lederhosen":
-		case "a mounty outfit":
-		case "a hanbok":
-			return (V.clothesBoughtCultural === 1);
-		case "a burqa":
-		case "a niqab and abaya":
-			return (V.clothesBoughtMiddleEastern === 1 || V.continent === "the Middle East");
-		case "a hijab and blouse":
-			return (V.clothesBoughtMiddleEastern === 1 || V.clothesBoughtConservative === 1 || V.continent === "the Middle East");
-		case "a burkini":
-			return (V.clothesBoughtMiddleEastern === 1 && V.clothesBoughtSwimwear === 1 || V.continent === "the Middle East");
-		case "a Santa dress":
-			return (V.clothesBoughtCostume === 1);
-		case "a klan robe":
-		case "a slutty klan robe":
-		case "a schutzstaffel uniform":
-		case "a slutty schutzstaffel uniform":
-			return (V.clothesBoughtPol === 1);
-		case "nice business attire":
-		case "a nice nurse outfit":
-		case "a police uniform":
-			return (V.clothesBoughtCareer === 1);
-		case "a nice maid outfit":
-			return (V.clothesBoughtCareer === 1 || V.PC.career === "servant");
-		case "a ball gown":
-		case "a gothic lolita dress":
-			return (V.clothesBoughtDresses === 1);
-		case "a cybersuit":
-		case "a latex catsuit":
-			return (V.clothesBoughtBodysuits === 1);
-		case "a button-up shirt and panties":
-		case "a button-up shirt":
-		case "cutoffs":
-		case "jeans":
-		case "leather pants and a tube top":
-		case "leather pants":
-		case "an oversized t-shirt":
-		case "a sweater and cutoffs":
-		case "a sweater and panties":
-		case "a sweater":
-		case "a t-shirt and jeans":
-		case "a t-shirt and panties":
-		case "a t-shirt":
-		case "a tank-top and panties":
-		case "a tank-top":
-		case "a tube top":
-			return (V.clothesBoughtCasual === 1);
-		case "boyshorts":
-		case "a bra":
-		case "kitty lingerie":
-		case "panties and pasties":
-		case "a skimpy loincloth":
-		case "a thong":
-		case "pasties":
-			return (V.clothesBoughtUnderwear === 1);
-		case "leather pants and pasties":
-		case "a t-shirt and thong":
-		case "a tube top and thong":
-		case "an oversized t-shirt and boyshorts":
-			return (V.clothesBoughtUnderwear === 1 && V.clothesBoughtCasual === 1);
-		case "sport shorts and a sports bra":
-		case "sport shorts":
-		case "a sports bra":
-			return (V.clothesBoughtSports === 1);
-		case "sport shorts and a t-shirt":
-			return (V.clothesBoughtSports === 1 && V.clothesBoughtCasual === 1);
-		case "a nice pony outfit":
-		case "a slutty pony outfit":
-			return (V.clothesBoughtPony === 1);
-		case "a monokini":
-		case "a one-piece swimsuit":
-			return (V.clothesBoughtSwimwear === 1);
-		case "a striped bra":
-		case "striped panties":
-		case "striped underwear":
-			return (V.clothesBoughtPantsu === 1 || V.continent === "Japan");
-		case "platform shoes":
-		case "platform heels":
-		case "extreme platform heels":
-			return (V.arcologies[0].FSStatuesqueGlorification > 0 || V.shoesBoughtHeels === 1);
-		case "bowtie":
-			return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1);
-		case "ancient Egyptian":
-			return (V.arcologies[0].FSEgyptianRevivalist > 0 || V.clothesBoughtEgypt === 1);
-		case "massive dildo gag":
-			return (V.toysBoughtGags === 1);
-		case "a small empathy belly":
-		case "a medium empathy belly":
-		case "a large empathy belly":
-		case "a huge empathy belly":
-			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtBelly === 1);
-		case "bullet vibrator":
-		case "smart bullet vibrator":
-		case "long dildo":
-		case "long, large dildo":
-		case "long, huge dildo":
-			return (V.toysBoughtDildos === 1);
-		case "vibrator":
-			return (V.toysBoughtVaginalAttachments === 1);
-		case "long plug":
-		case "long, large plug":
-		case "long, huge plug":
-			return (V.toysBoughtButtPlugs === 1);
-		case "tail":
-		case "cow tail":
-		case "cat tail":
-		case "fox tail":
-			return (V.toysBoughtButtPlugTails === 1);
-			// "Normal" things:
-		case "an apron":
-		case "slutty jewelry":
-		case "clubslut netting":
-		case "cutoffs and a t-shirt":
-		case "a comfortable bodysuit":
-		case "a cheerleader outfit":
-		case "a fallen nuns habit":
-		case "a hijab and abaya":
-		case "a leotard":
-		case "a slutty maid outfit":
-		case "a mini dress":
-		case "attractive lingerie":
-		case "a slutty nurse outfit":
-		case "overalls":
-		case "panties":
-		case "a scalemail bikini":
-		case "a schoolgirl outfit":
-		case "a slutty outfit":
-		case "spats and a tank top":
-		case "a string bikini":
-		case "a succubus outfit":
-		case "slutty business attire":
-		case "no clothing":
-		case "a penitent nuns habit":
-		case "restrictive latex":
-		case "shibari ropes":
-		case "uncomfortable straps":
-		case "choosing her own clothes":
-		case "a halter top dress":
-		case "a slave gown":
-			return true;
-		default:
-			console.log(`${string} not found`);
-			return true;
+
+	if (isClothingAccessible.entry(string, category) === true) {
+		return true;
 	}
 };