diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js
index e5335eab38eab0e684dee427a2a83df32956a339..7500fee8a6dfa3aedca84c08df8369682f96136e 100644
--- a/src/art/vector/VectorArtJS.js
+++ b/src/art/vector/VectorArtJS.js
@@ -101,6 +101,8 @@ App.Art.makeVectorArtStyle = function(slave, artSize) {
 				outfitBaseColor = slave.clothingBaseColor || "#515351"; /* use custom color, or use default latex color */
 			} else if (slave.clothes === "a comfortable bodysuit") {
 				outfitBaseColor = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */
+			} else if (slave.clothes === "a tight Imperial bodysuit") {
+				outfitBaseColor = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */
 			}
 
 			/* head addons */
@@ -161,6 +163,13 @@ App.Art.makeVectorArtStyle = function(slave, artSize) {
 				skinColor = outfitBaseColor;
 				bellySkinStyle = `fill:${outfitBaseColor};`;
 				bellybuttonStyle = `fill:${outfitBaseColor};`;
+			} else if (slave.clothes === "a tight Imperial bodysuit") {
+				/* imperial bodysuit does not cover head. */
+				headSkinStyle = `fill:${skinColor};`;
+				/* rest of body is covered in bodysuit */
+				skinColor = outfitBaseColor;
+				bellySkinStyle = `fill:${outfitBaseColor};`;
+				bellybuttonStyle = `fill:${outfitBaseColor};`;
 			}
 			/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
 
@@ -335,6 +344,7 @@ App.Art.makeVectorArtStyle = function(slave, artSize) {
 					bellySkinStyle = "fill:rgba(128,0,0,1);";
 					break;
 				case "battlearmor":
+				case "Imperial Plate":
 					scrotumSkinStyle = "fill:rgba(200,200,200,1);";
 					break;
 				case "striped underwear":
@@ -740,6 +750,7 @@ App.Art.vectorArtElement = (function() {
 				case "a ball gown":
 				case "a biyelgee costume":
 				case "a comfortable bodysuit":
+				case "a tight Imperial bodysuit":
 				case "a burkini":
 				case "a burqa":
 				case "a halter top dress":
@@ -776,6 +787,7 @@ App.Art.vectorArtElement = (function() {
 				// eslint-disable-next-line no-fallthrough
 				case "a cheerleader outfit":
 				case "battlearmor":
+				case "Imperial Plate":
 				case "battledress":
 				case "cutoffs and a t-shirt":
 				case "cutoffs":
@@ -894,6 +906,7 @@ App.Art.vectorArtElement = (function() {
 				case "a toga":
 				case "an apron":
 				case "battlearmor":
+				case "Imperial Plate":
 				case "battledress":
 				case "conservative clothing":
 				case "jeans":
@@ -1233,6 +1246,13 @@ App.Art.vectorArtElement = (function() {
 				if (hasLeftArm(slave)) {
 					svgQueue.add(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Left_${leftArmType}`);
 				}
+			case "Imperial Plate":
+				if (hasRightArm(slave)) {
+					svgQueue.add(`Art_Vector_Arm_Outfit_Battlearmor_Right_${rightArmType}`);
+				}
+				if (hasLeftArm(slave)) {
+					svgQueue.add(`Art_Vector_Arm_Outfit_Battlearmor_Left_${leftArmType}`);
+				}
 				break;
 			case "a hijab and abaya":
 			case "a niqab and abaya":
@@ -1290,7 +1310,6 @@ App.Art.vectorArtElement = (function() {
 			case "uncomfortable straps":
 			case "Western clothing":
 			case "a tight Imperial bodysuit":
-			case "Imperial Plate":
 				svgQueue.add("Art_Vector_Balls");
 		}
 	}
@@ -1353,8 +1372,6 @@ App.Art.vectorArtElement = (function() {
 				case "striped panties":
 				case "striped underwear":
 				case "uncomfortable straps":
-				case "a tight Imperial bodysuit":
-				case "Imperial Plate":
 					break; /* do nothing for these choices */
 				/* manually handle special cases */
 				case "a slutty schutzstaffel uniform":
@@ -1364,6 +1381,12 @@ App.Art.vectorArtElement = (function() {
 				case "a burqa":
 					svgQueue.add("Art_Vector_Belly_Outfit_HijabAndAbaya");
 					break;
+				case "Imperial Plate":
+					svgQueue.add("Art_Vector_Belly_Outfit_Battlearmor");
+					break;
+				case "a tight Imperial bodysuit":
+					svgQueue.add("Art_Vector_Belly_Outfit_ComfortableBodysuit");
+					break;
 				default:
 					svgQueue.add(`Art_Vector_Belly_Outfit_${clothing2artSuffix(slave.clothes)}`);
 			}
@@ -1430,8 +1453,6 @@ App.Art.vectorArtElement = (function() {
 			case "a succubus outfit":
 			case "a thong":
 			case "a toga":
-			case "a tight Imperial bodysuit":
-			case "Imperial Plate":
 			case "attractive lingerie for a pregnant woman":
 			case "body oil":
 			case "boyshorts":
@@ -1504,7 +1525,6 @@ App.Art.vectorArtElement = (function() {
 				case "a succubus outfit":
 				case "a thong":
 				case "a tight Imperial bodysuit":
-				case "Imperial Plate":
 				case "body oil":
 				case "boyshorts":
 				case "choosing her own clothes":
@@ -1553,7 +1573,6 @@ App.Art.vectorArtElement = (function() {
 				case "a succubus outfit":
 				case "a thong":
 				case "a tight Imperial bodysuit":
-				case "Imperial Plate":
 				case "attractive lingerie":
 				case "attractive lingerie for a pregnant woman":
 				case "body oil":
@@ -1697,7 +1716,6 @@ App.Art.vectorArtElement = (function() {
 				case "a tube top":
 				case "a tube top and thong":
 				case "a tight Imperial bodysuit":
-				case "Imperial Plate":
 				case "an apron":
 				case "an oversized t-shirt":
 				case "attractive lingerie":
@@ -1723,7 +1741,7 @@ App.Art.vectorArtElement = (function() {
 						svgQueue.add("Art_Vector_Dildo_Short");
 					} else if (slave.vaginalAccessory === "long dildo") {
 						svgQueue.add("Art_Vector_Dildo_Long");
-					} else if (slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a string bikini" && slave.clothes !== "attractive lingerie for a pregnant woman" && slave.clothes !== "restrictive latex") {
+					} else if (slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a string bikini" && slave.clothes !== "attractive lingerie for a pregnant woman" && slave.clothes !== "restrictive latex" && slave.clothes !== "a tight Imperial bodysuit") {
 						if (slave.vaginalAccessory === "large dildo") { /* additional outfits disabled due to the art breaking with the larger accessories */
 							svgQueue.add("Art_Vector_Dildo_Large");
 						} else if (slave.vaginalAccessory === "long, large dildo") {
@@ -1873,7 +1891,6 @@ App.Art.vectorArtElement = (function() {
 			case "a tube top":
 			case "a tube top and thong":
 			case "a tight Imperial bodysuit":
-			case "Imperial Plate":
 			case "an oversized t-shirt":
 			case "attractive lingerie for a pregnant woman":
 			case "chains":
@@ -1903,10 +1920,14 @@ App.Art.vectorArtElement = (function() {
 		}
 		if (outfit !== undefined) {
 			if (hasAnyLegs(slave)) {
-				if (slave.clothes !== "a slutty qipao" && slave.clothes !== "harem gauze" && slave.clothes !== "slutty jewelry" && slave.clothes !== "Western clothing") { /* these clothes have a stump/leg outfit, but no butt outfit */
+				if (slave.clothes === "Imperial Plate"){
+					svgQueue.add(`Art_Vector_Butt_Outfit_Battlearmor_${buttSize}`);
+				} else if (slave.clothes !== "a slutty qipao" && slave.clothes !== "harem gauze" && slave.clothes !== "slutty jewelry" && slave.clothes !== "Western clothing") { /* these clothes have a stump/leg outfit, but no butt outfit */
 					svgQueue.add(`Art_Vector_Butt_Outfit_${outfit}_${buttSize}`);
 				}
-				if (slave.clothes !== "a schoolgirl outfit") { /* file is there, but contains no artwork */
+				if (slave.clothes === "Imperial Plate"){
+					svgQueue.add(`Art_Vector_Leg_Outfit_Battlearmor_${buttSize}`);
+				} else if (slave.clothes !== "a schoolgirl outfit") { /* file is there, but contains no artwork */
 					svgQueue.add(`Art_Vector_Leg_Outfit_${outfit}_${legSize}`);
 				}
 			} else {
@@ -1943,6 +1964,7 @@ App.Art.vectorArtElement = (function() {
 					case "a slutty nurse outfit":
 					case "a slutty schutzstaffel uniform":
 					case "battlearmor":
+					case "Imperial Plate":
 					case "restrictive latex":
 					case "Western clothing":
 						break; /* do nothing */
@@ -2019,6 +2041,7 @@ App.Art.vectorArtElement = (function() {
 					case "a slutty nurse outfit":
 					case "a slutty schutzstaffel uniform":
 					case "battlearmor":
+					case "Imperial Plate":
 					case "restrictive latex":
 					case "Western clothing":
 						break; /* do nothing */
@@ -2578,6 +2601,9 @@ App.Art.vectorArtElement = (function() {
 				case "Western clothing":
 					svgQueue.add(`Art_Vector_Head_Outfit_${clothing2artSuffix(slave.clothes)}`);
 					break;
+				case "Imperial Plate":
+					svgQueue.add("Art_Vector_Head_Outfit_Battlearmor");
+					break;
 				case "a schutzstaffel uniform":
 				case "a slutty schutzstaffel uniform":
 					svgQueue.add("Art_Vector_Head_Outfit_SchutzstaffelUniform");
@@ -2703,12 +2729,74 @@ App.Art.vectorArtElement = (function() {
 					case "bushy":
 						svgQueue.add("Art_Vector_Pubic_Hair_Underarm_Bushy");
 				}
+			} else if (slave.clothes !== "a tight Imperial bodysuit") {
+				switch (slave.pubicHStyle) {
+					case "bald":
+					case "hairless":
+					case "waxed":
+						/* commented out to save on rendering time
+						svgQueue.add("Art_Vector_Pubic_Hair_None");
+						*/
+						break;
+					case "strip":
+					case "in a strip":
+						if (torsoSize === "Obese" || torsoSize === "Fat") {
+							svgQueue.add("Art_Vector_Pubic_Hair_StripFat");
+						} else {
+							svgQueue.add("Art_Vector_Pubic_Hair_Strip");
+						}
+						break;
+					case "neat":
+						if (torsoSize === "Obese" || torsoSize === "Fat") {
+							svgQueue.add("Art_Vector_Pubic_Hair_NeatFat");
+						} else {
+							svgQueue.add("Art_Vector_Pubic_Hair_Neat");
+						}
+						break;
+					case "bushy in the front and neat in the rear":
+						if (torsoSize === "Obese" || torsoSize === "Fat") {
+							svgQueue.add("Art_Vector_Pubic_Hair_BushFat");
+						} else {
+							svgQueue.add("Art_Vector_Pubic_Hair_Bush");
+						}
+						break;
+					case "bushy":
+						if (torsoSize === "Obese" || torsoSize === "Fat") {
+							svgQueue.add("Art_Vector_Pubic_Hair_BushyFat");
+						} else {
+							svgQueue.add("Art_Vector_Pubic_Hair_Bushy");
+						}
+						break;
+					case "very bushy":
+						if (torsoSize === "Obese" || torsoSize === "Fat") {
+							svgQueue.add("Art_Vector_Pubic_Hair_Very_BushyFat");
+						} else {
+							svgQueue.add("Art_Vector_Pubic_Hair_Very_Bushy");
+						}
+				}
+				switch (slave.underArmHStyle) {
+					case "hairless":
+					case "waxed":
+					case "bald":
+						/* commented out to save on rendering time
+						svgQueue.add("Art_Vector_Pubic_Hair_Underarm_None");
+						*/
+						break;
+					case "shaved":
+						svgQueue.add("Art_Vector_Pubic_Hair_Underarm_Shaved");
+						break;
+					case "neat":
+						svgQueue.add("Art_Vector_Pubic_Hair_Underarm_Neat");
+						break;
+					case "bushy":
+						svgQueue.add("Art_Vector_Pubic_Hair_Underarm_Bushy");
+				}
 			}
 		}
 	}
 
 	function ArtVectorPussy() {
-		if (slave.vagina >= 0 && slave.clothes !== "a latex catsuit" && slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a cybersuit") {
+		if (slave.vagina >= 0 && slave.clothes !== "a latex catsuit" && slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a cybersuit" && slave.clothes !== "a tight Imperial bodysuit") {
 			svgQueue.add("Art_Vector_Pussy");
 		}
 	}
@@ -2731,8 +2819,6 @@ App.Art.vectorArtElement = (function() {
 			case "a t-shirt":
 			case "a tank-top":
 			case "a tube top":
-			case "a tight Imperial bodysuit":
-			case "Imperial Plate":
 			case "an oversized t-shirt":
 			case "attractive lingerie":
 			case "body oil":
@@ -2791,8 +2877,6 @@ App.Art.vectorArtElement = (function() {
 			case "overalls":
 			case "pasties":
 			case "petite admi outfit":
-			case "a tight Imperial bodysuit":
-			case "Imperial Plate":
 				break; /* no torso outfit */
 			/* manually handle special cases */
 			case "a cybersuit":
@@ -2805,6 +2889,12 @@ App.Art.vectorArtElement = (function() {
 			case "a burqa":
 				svgQueue.add(`Art_Vector_Torso_Outfit_HijabAndAbaya_${torsoSize}`);
 				break;
+			case "Imperial Plate":
+				svgQueue.add(`Art_Vector_Torso_Outfit_Battlearmor_${torsoSize}`);
+				break;
+			case "a tight Imperial bodysuit":
+				svgQueue.add(`Art_Vector_Torso_Outfit_ComfortableBodysuit_${torsoSize}`);
+				break;
 			default:
 				svgQueue.add(`Art_Vector_Torso_Outfit_${clothing2artSuffix(slave.clothes)}_${torsoSize}`);
 		}