diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index b179ebe014ff6a6839ef91e6f144a126a5b226a0..0d68d77d16ddbcdef90a66ab7fdacdf0eec7c80e 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -163,7 +163,7 @@ App.Data.defaultGameStateVariables = {
 	summaryStats: 0,
 	surnameOrder: 0,
 	/** @type {Object.<string, string>} */
-	tabChoice: {Main: "all"},
+	tabChoice: { Main: "all" },
 	universalRulesAssignsSelfFacility: 0,
 	universalRulesBirthing: 0,
 	universalRulesCSec: 0,
@@ -342,7 +342,7 @@ App.Data.resetOnNGPlus = {
 	},
 	/** @type {assistant} */
 	assistant: {},
-	targetArcology: {fs: "New"},
+	targetArcology: { fs: "New" },
 	readySlaves: 0,
 
 	plot: 1,
@@ -783,6 +783,9 @@ App.Data.resetOnNGPlus = {
 		},
 	},
 	customItem: {
+		/**
+		 * @type {Map<string, slaveButtplugs>}
+		 */
 		buttPlugs: new Map([]),
 		dildos: new Map([]),
 	},
@@ -915,11 +918,11 @@ App.Data.resetOnNGPlus = {
 	ui: "start",
 	tooltipsEnabled: 0,
 
-	brandTarget: {primary: "left buttock", secondary: "left buttock", local: "left buttock"},
-	brandDesign: {primary: "your initials", official: "your initials", local: "your initials"},
+	brandTarget: { primary: "left buttock", secondary: "left buttock", local: "left buttock" },
+	brandDesign: { primary: "your initials", official: "your initials", local: "your initials" },
 
-	scarTarget: {primary: "left cheek", secondary: "left cheek", local: "left cheek"},
-	scarDesign: {primary: "generic", local: "generic"},
+	scarTarget: { primary: "left cheek", secondary: "left cheek", local: "left cheek" },
+	scarDesign: { primary: "generic", local: "generic" },
 
 	oralTotal: 0,
 	vaginalTotal: 0,
diff --git a/js/003-data/slaveWearData.js b/js/003-data/slaveWearData.js
index 736da4e63839b320e70aa4fac9a7e6316fba3d67..94a4c9384277570c7f295868a7105799f4d0143a 100644
--- a/js/003-data/slaveWearData.js
+++ b/js/003-data/slaveWearData.js
@@ -1200,7 +1200,7 @@ App.Data.shoes = new Map([ // TODO: add lift property
  */
 
 /**
- * @type {Map<string, slaveButtplugs>} slaveShoesCategory
+ * @type {Map<string, slaveButtplugs>}
  */
 App.Data.buttplugs = new Map([
 	["none",
diff --git a/src/npc/descriptions/butt/buttplug.js b/src/npc/descriptions/butt/buttplug.js
index bf8bfd502dff87d6cd2b0935e35a0b1b88928ed4..60cce3a04e49b66c3b4017cbff72351a34d8a6bb 100644
--- a/src/npc/descriptions/butt/buttplug.js
+++ b/src/npc/descriptions/butt/buttplug.js
@@ -5,7 +5,7 @@
  * @param {boolean} [params.eventDescription]
  * @returns {string}
  */
-App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
+App.Desc.buttplug = function(slave, { market, eventDescription } = {}) {
 	const r = [];
 	const {
 		he, him, his, He, His
@@ -612,7 +612,7 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 			}
 		}
 	}
-
+	const buttplug = App.Data.buttplugs.get(slave.buttplug) || V.customItem.buttPlugs.get(slave.buttplug);
 	switch (slave.buttplug) {
 		case "plug":
 			r.push(`It's filled by a standard`);
@@ -621,15 +621,6 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`buttplug.`);
 			}
-			if (slave.buttplugAttachment === "tail") {
-				r.push(`A tail protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "fox tail") {
-				r.push(`A bushy ${slave.hColor} tail with a white tip protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cow tail") {
-				r.push(`A slim, spotted tail with a cute tuft at its tip protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cat tail") {
-				r.push(`A tail protrudes from the back of the plug and springs upwards from ${his} rear.`);
-			}
 			break;
 		case "long plug":
 			r.push(`It's filled by a standard sized, overly long`);
@@ -639,15 +630,6 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 				r.push(`buttplug.`);
 			}
 			r.push(`It causes a noticeable bulge in ${his} belly.`);
-			if (slave.buttplugAttachment === "tail") {
-				r.push(`A tail protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "fox tail") {
-				r.push(`A bushy ${slave.hColor} tail with a white tip protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cow tail") {
-				r.push(`A slim, spotted tail with a cute tuft at its tip protrudes from the back of the plug and dangles from ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cat tail") {
-				r.push(`A tail protrudes from the back of the plug and springs upwards from ${his} rear.`);
-			}
 			break;
 		case "large plug":
 			r.push(`It's`);
@@ -659,15 +641,6 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 				r.push(`comfortably stretched`);
 			}
 			r.push(`by a large buttplug.`);
-			if (slave.buttplugAttachment === "tail") {
-				r.push(`${He} swings the tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "fox tail") {
-				r.push(`${He} swings the bushy ${slave.hColor} tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cow tail") {
-				r.push(`${He} swings the spotted tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cat tail") {
-				r.push(`${He} bounces the tail from side to side with every shift of ${his} rear.`);
-			}
 			break;
 		case "long, large plug":
 			r.push(`It's`);
@@ -679,15 +652,6 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 				r.push(`comfortably stretched`);
 			}
 			r.push(`by a large and long buttplug. It causes a noticeable bulge in ${his} belly.`);
-			if (slave.buttplugAttachment === "tail") {
-				r.push(`${He} swings the tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "fox tail") {
-				r.push(`${He} swings the bushy ${slave.hColor} tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cow tail") {
-				r.push(`${He} swings the spotted tail from side to side with every shift of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cat tail") {
-				r.push(`${He} bounces the tail from side to side with every shift of ${his} rear.`);
-			}
 			break;
 		case "huge plug":
 			if (slave.anus < 4) {
@@ -702,15 +666,6 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`Its ridiculous gape is comfortably filled by a huge buttplug.`);
 			}
-			if (slave.buttplugAttachment === "tail") {
-				r.push(`${He} sways the tail back and forth with every ginger movement of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "fox tail") {
-				r.push(`${He} sways the bushy ${slave.hColor} tail back and forth with every ginger movement of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cow tail") {
-				r.push(`${He} sways the spotted tail back and forth with every ginger movement of ${his} rear.`);
-			} else if (slave.buttplugAttachment === "cat tail") {
-				r.push(`${He} jiggles the tail back and forth with every ginger movement of ${his} rear.`);
-			}
 			break;
 		case "long, huge plug":
 			if (slave.anus < 4) {
@@ -725,6 +680,12 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`Its ridiculous gape is comfortably filled by a wide and long buttplug. It causes a noticeable bulge in ${his} belly.`);
 			}
+
+			break;
+		default:
+	}
+	switch (buttplug.width) {
+		case 3:
 			if (slave.buttplugAttachment === "tail") {
 				r.push(`${He} sways the tail back and forth with every ginger movement of ${his} rear.`);
 			} else if (slave.buttplugAttachment === "fox tail") {
@@ -734,6 +695,29 @@ App.Desc.buttplug = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.buttplugAttachment === "cat tail") {
 				r.push(`${He} jiggles the tail back and forth with every ginger movement of ${his} rear.`);
 			}
+			break;
+		case 2:
+			if (slave.buttplugAttachment === "tail") {
+				r.push(`${He} swings the tail from side to side with every shift of ${his} rear.`);
+			} else if (slave.buttplugAttachment === "fox tail") {
+				r.push(`${He} swings the bushy ${slave.hColor} tail from side to side with every shift of ${his} rear.`);
+			} else if (slave.buttplugAttachment === "cow tail") {
+				r.push(`${He} swings the spotted tail from side to side with every shift of ${his} rear.`);
+			} else if (slave.buttplugAttachment === "cat tail") {
+				r.push(`${He} bounces the tail from side to side with every shift of ${his} rear.`);
+			}
+			break;
+		case 1:
+			if (slave.buttplugAttachment === "tail") {
+				r.push(`A tail protrudes from the back of the plug and dangles from ${his} rear.`);
+			} else if (slave.buttplugAttachment === "fox tail") {
+				r.push(`A bushy ${slave.hColor} tail with a white tip protrudes from the back of the plug and dangles from ${his} rear.`);
+			} else if (slave.buttplugAttachment === "cow tail") {
+				r.push(`A slim, spotted tail with a cute tuft at its tip protrudes from the back of the plug and dangles from ${his} rear.`);
+			} else if (slave.buttplugAttachment === "cat tail") {
+				r.push(`A tail protrudes from the back of the plug and springs upwards from ${his} rear.`);
+			}
 	}
+
 	return r.join(" ");
 };