diff --git a/js/003-data/slaveWearData.js b/js/003-data/slaveWearData.js
index bdcda4d95a82d8c602883034f302763891853240..914e054700767da66a43ad64d585854bb83bb9dc 100644
--- a/js/003-data/slaveWearData.js
+++ b/js/003-data/slaveWearData.js
@@ -3,9 +3,8 @@
  * @property {string} name
  * @property {string} value
  * @property {FC.FutureSociety} [fs] Automatically unlocked with this FS.
- * @property {boolean} slutty true: slutty, false: modest
- * @property {boolean} [humiliating] true: reveals genitals
  * @property {boolean} [requirements]
+ * @property {0|1|2} [exposure] 0: Modest, 1: Slutty, 2: Humiliating (exposes genitals)
  */
 
 /**
@@ -21,659 +20,638 @@ App.Data.clothes = {
 			value: "attractive lingerie for a pregnant woman",
 			fs: "FSRepopulationFocus",
 			get requirements() { return V.boughtItem.clothing.maternityLingerie === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Bunny outfit",
 			value: "a bunny outfit",
 			fs: "FSGenderFundamentalist",
 			get requirements() { return V.boughtItem.clothing.bunny === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Body oil",
 			value: "body oil",
 			fs: "FSPhysicalIdealist",
 			get requirements() { return V.boughtItem.clothing.oil === 1; },
-			slutty: false,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Chattel habit",
 			value: "a chattel habit",
 			fs: "FSChattelReligionist",
 			get requirements() { return V.boughtItem.clothing.habit === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Conservative clothing",
 			value: "conservative clothing",
 			fs: "FSPaternalist",
 			get requirements() { return V.boughtItem.clothing.conservative === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Harem gauze",
 			value: "harem gauze",
 			fs: "FSArabianRevivalist",
 			get requirements() { return V.boughtItem.clothing.harem === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Huipil",
 			value: "a huipil",
 			fs: "FSAztecRevivalist",
 			get requirements() { return V.boughtItem.clothing.huipil === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Kimono",
 			value: "a kimono",
 			fs: "FSEdoRevivalist",
 			get requirements() { return (V.boughtItem.clothing.kimono === 1 || V.continent === "Japan"); },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Maternity dress",
 			value: "a maternity dress",
 			fs: "FSRepopulationFocus",
 			get requirements() { return V.boughtItem.clothing.maternityDress === 1; },
-			slutty: false,
+			exposure: 0,
 		},
 		{
 			name: "Qipao (slutty)",
 			value: "a slutty qipao",
 			fs: "FSChineseRevivalist",
 			get requirements() { return V.boughtItem.clothing.qipao === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Qipao (long)",
 			value: "a long qipao",
 			fs: "FSChineseRevivalist",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Imperial Plate",
 			value: "Imperial Plate",
 			fs: "FSNeoImperialist",
 			get requirements() { return V.boughtItem.clothing.imperialarmor === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Imperial Bodysuit",
 			value: "a tight Imperial bodysuit",
 			fs: "FSNeoImperialist",
 			get requirements() { return V.boughtItem.clothing.imperialsuit === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Stretch pants and a crop-top",
 			value: "stretch pants and a crop-top",
 			fs: "FSHedonisticDecadence",
 			get requirements() { return V.boughtItem.clothing.lazyClothes === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Toga",
 			value: "a toga",
 			fs: "FSRomanRevivalist",
 			get requirements() { return V.boughtItem.clothing.toga === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Western clothing",
 			value: "Western clothing",
 			fs: "FSPastoralist",
 			get requirements() { return V.boughtItem.clothing.western === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Courtesan dress",
 			value: "a courtesan dress",
 			fs: "FSSlaveProfessionalism",
 			get requirements() { return V.boughtItem.clothing.courtesan === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Bimbo outfit",
 			value: "a bimbo outfit",
 			fs: "FSIntellectualDependency",
 			get requirements() { return V.boughtItem.clothing.bimbo === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Petite admi outfit",
 			value: "petite admi outfit",
 			fs: "FSPetiteAdmiration",
 			get requirements() { return V.boughtItem.clothing.petite === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Battlearmor",
 			value: "battlearmor",
 			get requirements() { return V.boughtItem.clothing.military === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Military uniform",
 			value: "a military uniform",
 			get requirements() { return V.boughtItem.clothing.military === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Red Army uniform",
 			value: "a red army uniform",
 			get requirements() { return V.boughtItem.clothing.military === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Battledress",
 			value: "battledress",
 			get requirements() { return V.boughtItem.clothing.military === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Biyelgee costume",
 			value: "a biyelgee costume",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Dirndl",
 			value: "a dirndl",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Lederhosen",
 			value: "lederhosen",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Mounty outfit",
 			value: "a mounty outfit",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Hanbok",
 			value: "a hanbok",
 			get requirements() { return V.boughtItem.clothing.cultural === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Burqa",
 			value: "a burqa",
 			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Niqab and abaya",
 			value: "a niqab and abaya",
 			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Hijab and blouse",
 			value: "a hijab and blouse",
 			get requirements() { return (V.boughtItem.clothing.conservative === 1 || V.continent === "the Middle East"); },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Burkini",
 			value: "a burkini",
 			get requirements() { return V.boughtItem.clothing.swimwear === 1 && (V.boughtItem.clothing.swimwear === 1 || V.continent === "the Middle East"); },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Santa dress",
 			value: "a Santa dress",
 			get requirements() { return V.boughtItem.clothing.costume === 1; },
-			slutty: true
+			exposure: 1
 		},
 
 		{
 			name: "Klan robe",
 			value: "a klan robe",
 			get requirements() { return V.boughtItem.clothing.pol === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Slutty klan robe",
 			value: "a slutty klan robe",
 			get requirements() { return V.boughtItem.clothing.pol === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Schutzstaffel uniform",
 			value: "a schutzstaffel uniform",
 			get requirements() { return V.boughtItem.clothing.pol === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Slutty schutzstaffel uniform",
 			value: "a slutty schutzstaffel uniform",
 			get requirements() { return V.boughtItem.clothing.pol === 1; },
-			slutty: true
+			exposure: 1
 		},
 
 		{
 			name: "Nice business attire",
 			value: "nice business attire",
 			get requirements() { return V.boughtItem.clothing.career === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Nurse (nice)",
 			value: "a nice nurse outfit",
 			get requirements() { return V.boughtItem.clothing.career === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Police uniform",
 			value: "a police uniform",
 			get requirements() { return V.boughtItem.clothing.career === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Maid (nice)",
 			value: "a nice maid outfit",
 			get requirements() { return V.boughtItem.clothing.career === 1 || V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant"; },
-			slutty: false
+			exposure: 0
 		},
 
 		{
 			name: "Ballgown",
 			value: "a ball gown",
 			get requirements() { return V.boughtItem.clothing.dresses === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Gothic lolita dress",
 			value: "a gothic lolita dress",
 			get requirements() { return V.boughtItem.clothing.dresses === 1; },
-			slutty: false
+			exposure: 0
 		},
 
 		{
 			name: "Cybersuit",
 			value: "a cybersuit",
 			get requirements() { return V.boughtItem.clothing.bodysuits === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Latex catsuit",
 			value: "a latex catsuit",
 			get requirements() { return V.boughtItem.clothing.bodysuits === 1; },
-			slutty: false
+			exposure: 0
 		},
 
 		{
 			name: "Button-up shirt and panties",
 			value: "a button-up shirt and panties",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Button-up shirt",
 			value: "a button-up shirt",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Cutoffs",
 			value: "cutoffs",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Jeans",
 			value: "jeans",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Leather pants and a tube top",
 			value: "leather pants and a tube top",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Leather pants",
 			value: "leather pants",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Oversized t-shirt",
 			value: "an oversized t-shirt",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Sweater and cutoffs",
 			value: "a sweater and cutoffs",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Sweater and panties",
 			value: "a sweater and panties",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Sweater",
 			value: "a sweater",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "T-shirt and jeans",
 			value: "a t-shirt and jeans",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "T-shirt and panties",
 			value: "a t-shirt and panties",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "T-shirt",
 			value: "a t-shirt",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Tank-top and panties",
 			value: "a tank-top and panties",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Tank-top",
 			value: "a tank-top",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Tube top",
 			value: "a tube top",
 			get requirements() { return V.boughtItem.clothing.casual === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 
 		{
 			name: "Boyshorts",
 			value: "boyshorts",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Bra",
 			value: "a bra",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Kitty lingerie",
 			value: "kitty lingerie",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Panties and pasties",
 			value: "panties and pasties",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Skimpy loincloth",
 			value: "a skimpy loincloth",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Thong",
 			value: "a thong",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Pasties",
 			value: "pasties",
 			get requirements() { return V.boughtItem.clothing.underwear === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 
 		{
 			name: "Leather pants and pasties",
 			value: "leather pants and pasties",
 			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "T-shirt and thong",
 			value: "a t-shirt and thong",
 			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Tube top and thong",
 			value: "a tube top and thong",
 			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Oversized t-shirt and boyshorts",
 			value: "an oversized t-shirt and boyshorts",
 			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
-			slutty: false,
+			exposure: 0,
 		},
 		{
 			name: "Sport shorts and a sports bra",
 			value: "sport shorts and a sports bra",
 			get requirements() { return V.boughtItem.clothing.sports === 1; },
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Sport shorts",
 			value: "sport shorts",
 			get requirements() { return V.boughtItem.clothing.sports === 1; },
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Sports bra",
 			value: "a sports bra",
 			get requirements() { return V.boughtItem.clothing.sports === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Sport shorts and a t-shirt",
 			value: "sport shorts and a t-shirt",
 			get requirements() { return V.boughtItem.clothing.sports === 1 && V.boughtItem.clothing.casual === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Pony outfit (nice)",
 			value: "a nice pony outfit",
 			get requirements() { return V.boughtItem.clothing.pony === 1; },
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Pony outfit (slutty)",
 			value: "a slutty pony outfit",
 			get requirements() { return V.boughtItem.clothing.pony === 1; },
-			slutty: true
+			exposure: 1
 		},
 
 		{
 			name: "Monokini",
 			value: "a monokini",
 			get requirements() { return V.boughtItem.clothing.swimwear === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "One-piece swimsuit",
 			value: "a one-piece swimsuit",
 			get requirements() { return V.boughtItem.clothing.swimwear === 1; },
-			slutty: false
+			exposure: 0
 		},
 
 		{
 			name: "Striped bra",
 			value: "a striped bra",
 			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Striped panties",
 			value: "striped panties",
 			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Striped underwear",
 			value: "striped underwear",
 			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
-			slutty: true,
+			exposure: 1,
 		},
 
 		// "Normal" things:
 		{
 			name: "Apron",
 			value: "an apron",
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Bangles",
 			value: "slutty jewelry",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Clubslut netting",
 			value: "clubslut netting",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Cutoffs and a t-shirt",
 			value: "cutoffs and a t-shirt",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Bodysuit",
 			value: "a comfortable bodysuit",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Cheerleader",
 			value: "a cheerleader outfit",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Fallen nun",
 			value: "a fallen nuns habit",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Hijab and abaya",
 			value: "a hijab and abaya",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Leotard",
 			value: "a leotard",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Maid (slutty)",
 			value: "a slutty maid outfit",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Mini dress",
 			value: "a mini dress",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Nice lingerie",
 			value: "attractive lingerie",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Nurse (slutty)",
 			value: "a slutty nurse outfit",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Overalls",
 			value: "overalls",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Panties",
 			value: "panties",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Scalemail bikini",
 			value: "a scalemail bikini",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Schoolgirl",
 			value: "a schoolgirl outfit",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Slutty outfit",
 			value: "a slutty outfit",
-			slutty: true
+			exposure: 1
 		},
 		{
 			name: "Spats and a tank top",
 			value: "spats and a tank top",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "String bikini",
 			value: "a string bikini",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Succubus costume",
 			value: "a succubus outfit",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Suit (slutty)",
 			value: "slutty business attire",
-			slutty: true,
+			exposure: 1,
 		},
 
 		/*
@@ -685,12 +663,12 @@ App.Data.clothes = {
 		{
 			name: "Haltertop dress",
 			value: "a halter top dress",
-			slutty: false
+			exposure: 0
 		},
 		{
 			name: "Slave gown",
 			value: "a slave gown",
-			slutty: false
+			exposure: 0
 		}
 	],
 
@@ -700,37 +678,32 @@ App.Data.clothes = {
 			value: "chains",
 			fs: "FSDegradationist",
 			get requirements() { return V.boughtItem.clothing.chains === 1; },
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Go naked",
 			value: "no clothing",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Penitent nun",
 			value: "a penitent nuns habit",
-			slutty: true,
+			exposure: 1,
 		},
 		{
 			name: "Restrictive latex",
 			value: "restrictive latex",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Shibari ropes",
 			value: "shibari ropes",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		},
 		{
 			name: "Uncomfortable straps",
 			value: "uncomfortable straps",
-			slutty: true,
-			humiliating: true
+			exposure: 2
 		}
 	],
 };
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index 019a5b053e223417d3da01df8ed40c8dc5b51241..86e649ac224b047bf2f4b5ca6a45a5756e78f60f 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -287,7 +287,7 @@ App.SlaveAssignment.clothes = (function() {
 						r.push(`${He} pretends to be embarrassed by ${his} clearly exposed breasts but <span class="hotpink">secretly gets off on it.</span>`);
 						slave.devotion += 1;
 					}
-				} else if (slave.fetish === "humiliation" && isHumiliating(slave.clothes)) {
+				} else if (slave.fetish === "humiliation" && clothingExposureAmount(slave.clothes) === 2) {
 					if (slave.fetishKnown === 0) {
 						r.push(`${He} pretends to be embarrassed by ${his} extremely revealing clothing but seems to get off on it. <span class="lightcoral">${He}'s into humiliation.</span>`);
 						slave.fetishKnown = 1;
@@ -324,7 +324,7 @@ App.SlaveAssignment.clothes = (function() {
 
 		// humiliating clothing effects
 		if (slave.fetishKnown === 0 || slave.fetish === "none") {
-			if (isHumiliating(slave.clothes)) {
+			if (clothingExposureAmount(slave.clothes) === 2) {
 				if (fetishChangeChance(slave) > jsRandom(0, 100)) {
 					r.push(`Surprisingly, ${he} takes to ${his} extremely revealing clothing, and gets an obvious thrill from it. <span class="lightcoral">${He}'s become a humiliation fetishist!</span>`);
 					slave.fetish = "humiliation";
diff --git a/src/interaction/siWardrobe.js b/src/interaction/siWardrobe.js
index 2034473b005b87d449c5b33a23ce31f83b9d3a1b..4ce4801f5b08a48e24b9c62445e1c99dfbd6f1ad 100644
--- a/src/interaction/siWardrobe.js
+++ b/src/interaction/siWardrobe.js
@@ -41,7 +41,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			// Choose her own
 			if (slave.clothes !== `choosing her own clothes`) {
 				let choiceOptionsArray = [];
-				choiceOptionsArray.push({text: ` Let ${him} choose`, updateSlave: {clothes: `choosing her own clothes`, choosesOwnClothes: 1}});
+				choiceOptionsArray.push({ text: ` Let ${him} choose`, updateSlave: { clothes: `choosing her own clothes`, choosesOwnClothes: 1 } });
 				label.appendChild(generateRows(choiceOptionsArray, "clothes", false));
 			}
 			el.appendChild(label);
@@ -55,10 +55,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 				niceOptionsArray.push(
 					{
 						text: item.name,
-						updateSlave: {clothes: item.value, choosesOwnClothes: 0},
+						updateSlave: { clothes: item.value, choosesOwnClothes: 0 },
 						FS: item.fs,
-						slutty: item.slutty,
-						humiliating: item.humiliating
+						exposure: item.exposure,
 					}
 				);
 			});
@@ -68,10 +67,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 					harshOptionsArray.push(
 						{
 							text: item.name,
-							updateSlave: {clothes: item.value, choosesOwnClothes: 0},
+							updateSlave: { clothes: item.value, choosesOwnClothes: 0 },
 							FS: item.fs,
-							slutty: item.slutty,
-							humiliating: item.humiliating
+							exposure: item.exposure,
 						}
 					);
 				}
@@ -113,7 +111,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Choose her own
 		if (slave.collar !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {collar: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { collar: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "collar", false));
 		}
 
@@ -127,7 +125,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.niceCollars.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {collar: item.value},
+				updateSlave: { collar: item.value },
 				FS: item.fs
 			};
 			niceOptionsArray.push(clothingOption);
@@ -136,7 +134,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.harshCollars.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {collar: item.value},
+				updateSlave: { collar: item.value },
 				FS: item.fs
 			};
 			harshOptionsArray.push(clothingOption);
@@ -176,7 +174,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Choose her own
 		if (slave.faceAccessory !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {faceAccessory: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { faceAccessory: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "faceAccessory", false));
 		}
 
@@ -188,7 +186,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.faceAccessory.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {faceAccessory: item.value},
+				updateSlave: { faceAccessory: item.value },
 				FS: item.fs
 			};
 			array.push(clothingOption);
@@ -231,7 +229,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Choose her own
 		if (slave.mouthAccessory !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {mouthAccessory: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { mouthAccessory: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "mouthAccessory", false));
 		}
 
@@ -244,7 +242,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.mouthAccessory.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {mouthAccessory: item.value},
+				updateSlave: { mouthAccessory: item.value },
 				FS: item.fs
 			};
 			array.push(clothingOption);
@@ -276,7 +274,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		// Choose her own
 		if (slave.armAccessory !== "none") {
-			array.push({text: ` None`, updateSlave: {armAccessory: `none`}});
+			array.push({ text: ` None`, updateSlave: { armAccessory: `none` } });
 			label.appendChild(generateRows(array, "armAccessory", false));
 		}
 
@@ -285,8 +283,8 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		let links = document.createElement('div');
 		links.className = "choices";
 		array = [
-			{text: "Hand gloves", updateSlave: {armAccessory: "hand gloves"}},
-			{text: "Elbow gloves", updateSlave: {armAccessory: "elbow gloves"}}
+			{ text: "Hand gloves", updateSlave: { armAccessory: "hand gloves" } },
+			{ text: "Elbow gloves", updateSlave: { armAccessory: "elbow gloves" } }
 		];
 		links.appendChild(generateRows(array, "armAccessory", false));
 		el.appendChild(links);
@@ -320,7 +318,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.shoes.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {shoes: item.value},
+				updateSlave: { shoes: item.value },
 				FS: item.fs
 			};
 			optionsArray.push(clothingOption);
@@ -361,7 +359,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		// Choose her own
 		if (slave.legAccessory !== "none") {
-			array.push({text: ` None`, updateSlave: {legAccessory: `none`}});
+			array.push({ text: ` None`, updateSlave: { legAccessory: `none` } });
 			label.appendChild(generateRows(array, "legAccessory", false));
 		}
 
@@ -370,8 +368,8 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		let links = document.createElement('div');
 		links.className = "choices";
 		array = [
-			{text: "Short stockings", updateSlave: {legAccessory: "short stockings"}},
-			{text: "Long stockings", updateSlave: {legAccessory: "long stockings"}}
+			{ text: "Short stockings", updateSlave: { legAccessory: "short stockings" } },
+			{ text: "Long stockings", updateSlave: { legAccessory: "long stockings" } }
 		];
 		links.appendChild(generateRows(array, "legAccessory", false));
 		el.appendChild(links);
@@ -381,7 +379,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 	function bellyAccessory() {
 		let choiceOptionsArray = [];
-		choiceOptionsArray.push({text: ` None`, updateSlave: {bellyAccessory: `none`}});
+		choiceOptionsArray.push({ text: ` None`, updateSlave: { bellyAccessory: `none` } });
 
 		let optionsArray = [];
 
@@ -389,7 +387,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.bellyAccessories.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {bellyAccessory: item.value},
+				updateSlave: { bellyAccessory: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -444,7 +442,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		if (slave.buttplug !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {buttplug: `none`, buttplugAttachment: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { buttplug: `none`, buttplugAttachment: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "buttplug", false));
 		}
 		el.appendChild(label);
@@ -455,7 +453,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.buttplugs.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {buttplug: item.value},
+				updateSlave: { buttplug: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -491,7 +489,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		if (slave.buttplugAttachment !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {buttplugAttachment: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { buttplugAttachment: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "buttplugAttachment", false));
 		}
 		el.appendChild(label);
@@ -502,7 +500,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.buttplugAttachments.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {buttplugAttachment: item.value},
+				updateSlave: { buttplugAttachment: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -537,7 +535,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		if (slave.vaginalAccessory !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {vaginalAccessory: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { vaginalAccessory: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "vaginalAccessory", false));
 		}
 		el.appendChild(label);
@@ -548,7 +546,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.vaginalAccessories.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {vaginalAccessory: item.value},
+				updateSlave: { vaginalAccessory: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -584,7 +582,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		if (slave.vaginalAttachment !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {vaginalAttachment: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { vaginalAttachment: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "vaginalAttachment", false));
 		}
 		el.appendChild(label);
@@ -595,7 +593,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.vaginalAttachments.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {vaginalAttachment: item.value},
+				updateSlave: { vaginalAttachment: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -628,7 +626,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		if (slave.dickAccessory !== `none`) {
 			let choiceOptionsArray = [];
-			choiceOptionsArray.push({text: ` None`, updateSlave: {dickAccessory: `none`}});
+			choiceOptionsArray.push({ text: ` None`, updateSlave: { dickAccessory: `none` } });
 			label.appendChild(generateRows(choiceOptionsArray, "dickAccessory", false));
 		}
 		el.appendChild(label);
@@ -639,7 +637,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		App.Data.slaveWear.dickAccessories.forEach(item => {
 			clothingOption = {
 				text: item.name,
-				updateSlave: {dickAccessory: item.value},
+				updateSlave: { dickAccessory: item.value },
 				FS: item.fs
 			};
 			if (item.value !== "none") {
@@ -950,15 +948,19 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 				/* assuming nice clothes, could actually add some sort of check to make sure. */
 				/* which clothes have these is decided in miscData.js */
 				let clothTooltip = Cloth + "";
-				if (isHumiliating(cloth)) {
-					clothTooltip += ", it's humiliating";
+				switch (clothingExposureAmount(cloth)) {
+					case 2:
+						clothTooltip += ", it's humiliating";
+						break;
+					case 1:
+						clothTooltip += ", it's slutty";
+						break;
+					case 0:
+						clothTooltip += ", it's modest";
+						break;
 				}
-				if (isSlutty(cloth)) {
-					clothTooltip += ", it's slutty";
-				} else {
-					clothTooltip += ", it's modest";
-				}
-				if (clothTooltip ===  Cloth + "") {
+
+				if (clothTooltip === Cloth + "") {
 					clothTooltip += ", it's only nice(meaning non-obedients lose devotion and fear while obedients gain devotion and trust).";
 				}
 				clothTooltip += ".";
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index a3fda2b849126b98a806cf10e94e7a6017ce6654..023a2f5bb5b352daf0d27e0717cdcb50238587b1 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -618,7 +618,7 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) {
 					if (eventSlave.trust > 20) {
 						if (eventSlave.rules.speech !== "restrictive") {
 							if (eventSlave.choosesOwnClothes !== 1) {
-								if (!isSlutty(eventSlave.clothes)) {
+								if (clothingExposureAmount(eventSlave.clothes) === 0) {
 									V.RESSevent.push("modest clothes");
 								}
 							}
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index 696d8161f66d2be00dc6be3868b49839ff97a8b9..f19ee1234a3284373a3b0c866680e6ec1a30c458 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -472,7 +472,7 @@ globalThis.bimboScore = function(slave) {
 	if (slave.skin === "sun tanned" || slave.skin === "spray tanned") {
 		degree++;
 	}
-	if (isSlutty(slave.clothes)) {
+	if (clothingExposureAmount(slave.clothes) > 0) {
 		degree++;
 	}
 
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index 5916307b5939b35798d40453cb77e03135aafdd2..c07b6d9804672c6c7454f66e3f26e8ef6ad18221 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -3085,12 +3085,12 @@ App.Utils.alphabetizeIterable = function(iterable) {
 	return clonedArray.sort(compare);
 };
 
-globalThis.isSlutty = function(clothing) {
-	const clothes = App.Data.clothes.nice.concat(App.Data.clothes.harsh).find(c => c.value === clothing);
-	return clothes && clothes.slutty;
-};
-
-globalThis.isHumiliating = function(clothing) {
+/**
+ * 
+ * @param {string} clothing 
+ * @returns {0|1|2}
+ */
+globalThis.clothingExposureAmount = function(clothing) {
 	const clothes = App.Data.clothes.nice.concat(App.Data.clothes.harsh).find(c => c.value === clothing);
-	return clothes && clothes.humiliating;
+	return (clothes) ? clothes.exposure : 0;
 };