diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
index 67a4ed46cd..03d28bdff5 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
@@ -14,7 +14,7 @@
/area/lavaland/surface/outdoors)
"e" = (
/obj/item/clothing/shoes/workboots/mining,
-/obj/item/clothing/under/rank/miner/lavaland,
+/obj/item/clothing/under/rank/cargo/miner/lavaland,
/obj/effect/decal/remains/human,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
index fec70b215e..e22f21ef4f 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
@@ -188,10 +188,10 @@
/area/ruin/powered/seedvault)
"G" = (
/obj/structure/closet/crate/hydroponics,
-/obj/item/clothing/under/rank/hydroponics,
-/obj/item/clothing/under/rank/hydroponics,
-/obj/item/clothing/under/rank/hydroponics,
-/obj/item/clothing/under/rank/hydroponics,
+/obj/item/clothing/under/rank/civilian/hydroponics,
+/obj/item/clothing/under/rank/civilian/hydroponics,
+/obj/item/clothing/under/rank/civilian/hydroponics,
+/obj/item/clothing/under/rank/civilian/hydroponics,
/turf/open/floor/plasteel/freezer,
/area/ruin/powered/seedvault)
"H" = (
diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
index c8ccd8d30a..7cbee23c98 100644
--- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
@@ -324,7 +324,7 @@
dir = 1
},
/obj/structure/rack,
-/obj/item/clothing/under/soviet,
+/obj/item/clothing/under/costume/soviet,
/obj/item/clothing/head/ushanka,
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/djstation)
diff --git a/_maps/RandomRuins/SpaceRuins/advancedlab.dmm b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm
index 39e29018ea..66a3d4e55d 100644
--- a/_maps/RandomRuins/SpaceRuins/advancedlab.dmm
+++ b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm
@@ -219,7 +219,7 @@
/obj/structure/closet{
name = "Official Clothing"
},
-/obj/item/clothing/under/rank/centcom_commander,
+/obj/item/clothing/under/rank/centcom/commander,
/obj/item/clothing/head/centhat,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/suit/armor/vest,
diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
index 6b5a44529e..63e6770e42 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
@@ -2098,7 +2098,7 @@
/area/awaymission/BMPship/Aft)
"gj" = (
/obj/structure/closet,
-/obj/item/clothing/under/overalls,
+/obj/item/clothing/under/misc/overalls,
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Aft)
"gk" = (
@@ -2269,7 +2269,7 @@
/area/awaymission/BMPship/Aft)
"gP" = (
/obj/structure/closet,
-/obj/item/clothing/under/lawyer/bluesuit,
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit,
/obj/item/clothing/suit/apron,
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Aft)
diff --git a/_maps/RandomRuins/SpaceRuins/derelict2.dmm b/_maps/RandomRuins/SpaceRuins/derelict2.dmm
index a20be471f4..61c0913ac6 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict2.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict2.dmm
@@ -64,7 +64,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/item/clothing/under/polychromic/shirt,
+/obj/item/clothing/under/misc/poly_shirt,
/obj/item/clothing/neck/tie/black,
/obj/item/clothing/shoes/laceup,
/obj/item/storage/wallet/random,
@@ -89,7 +89,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/item/clothing/under/polychromic/skirt,
+/obj/item/clothing/under/dress/skirt/polychromic,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/gloves/color/white,
/obj/item/clothing/glasses/regular,
diff --git a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
index 299d1769b0..308f58535a 100644
--- a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
+++ b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
@@ -573,7 +573,7 @@
"bU" = (
/obj/effect/decal/cleanable/blood,
/obj/structure/chair,
-/obj/item/clothing/under/rank/centcom_officer,
+/obj/item/clothing/under/rank/centcom/officer,
/obj/item/restraints/handcuffs,
/obj/effect/decal/remains/human,
/turf/open/floor/plating/airless,
diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm
index 2f08d9a29e..97ebb80101 100644
--- a/_maps/RandomZLevels/Academy.dmm
+++ b/_maps/RandomZLevels/Academy.dmm
@@ -2754,12 +2754,12 @@
"hT" = (
/obj/structure/closet,
/obj/item/storage/belt/soulstone,
-/obj/item/clothing/under/schoolgirl,
+/obj/item/clothing/under/costume/schoolgirl,
/turf/open/floor/plasteel,
/area/awaymission/academy/academyaft)
"hU" = (
/obj/structure/closet,
-/obj/item/clothing/under/skirt/black,
+/obj/item/clothing/under/dress/skirt,
/obj/item/clothing/glasses/regular,
/turf/open/floor/plasteel,
/area/awaymission/academy/academyaft)
@@ -2772,7 +2772,7 @@
"hW" = (
/obj/structure/closet,
/obj/item/lipstick/random,
-/obj/item/clothing/under/schoolgirl,
+/obj/item/clothing/under/costume/schoolgirl,
/turf/open/floor/plasteel,
/area/awaymission/academy/academyaft)
"hX" = (
diff --git a/_maps/RandomZLevels/VR/snowdin_VR.dmm b/_maps/RandomZLevels/VR/snowdin_VR.dmm
index 222615619e..cbece3304a 100644
--- a/_maps/RandomZLevels/VR/snowdin_VR.dmm
+++ b/_maps/RandomZLevels/VR/snowdin_VR.dmm
@@ -2524,7 +2524,7 @@
/area/awaymission/snowdin/post)
"fF" = (
/obj/structure/closet,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots,
/obj/effect/turf_decal/bot,
diff --git a/_maps/RandomZLevels/VR/syndicate_trainer.dmm b/_maps/RandomZLevels/VR/syndicate_trainer.dmm
index a8c316d770..0a44006802 100644
--- a/_maps/RandomZLevels/VR/syndicate_trainer.dmm
+++ b/_maps/RandomZLevels/VR/syndicate_trainer.dmm
@@ -2252,7 +2252,7 @@
/area/awaymission/centcomAway/hangar)
"mQ" = (
/obj/structure/safe/floor,
-/obj/item/clothing/under/rank/centcom_officer,
+/obj/item/clothing/under/rank/centcom/officer,
/obj/item/clothing/suit/det_suit,
/obj/item/gun/ballistic/revolver/mateba,
/turf/open/indestructible,
diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm
index 913de0817c..e9d592c107 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -580,7 +580,7 @@
/area/awaymission/caves/BMP_asteroid/level_four)
"bH" = (
/obj/effect/decal/remains/human,
-/obj/item/clothing/under/patriotsuit,
+/obj/item/clothing/under/misc/patriotsuit,
/turf/open/floor/plating/asteroid/basalt/lava{
initial_gas_mix = "n2=23;o2=14"
},
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index 8c33326703..0a08edb9b2 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -174,7 +174,7 @@
/obj/structure/bed/nest,
/obj/effect/decal/cleanable/blood/gibs,
/obj/item/clothing/mask/facehugger/impregnated,
-/obj/item/clothing/under/rank/security,
+/obj/item/clothing/under/rank/security/officer,
/obj/item/clothing/suit/armor/vest,
/obj/item/melee/baton/loaded,
/obj/item/clothing/head/helmet,
@@ -5718,7 +5718,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/suit_jacket/navy,
+/obj/item/clothing/under/suit/navy,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
@@ -6008,7 +6008,7 @@
name = "Kitchen Crate"
},
/obj/item/storage/box/mousetraps,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
/turf/open/floor/plasteel/showroomfloor{
heat_capacity = 1e+006;
temperature = 273.15
@@ -6655,7 +6655,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
@@ -6823,7 +6823,7 @@
/obj/structure/table,
/obj/structure/bedsheetbin,
/obj/item/clothing/neck/tie/black,
-/obj/item/clothing/under/lawyer/blacksuit,
+/obj/item/clothing/under/suit/black,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
@@ -7068,7 +7068,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/suit_jacket/burgundy,
+/obj/item/clothing/under/suit/burgundy,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm
index 2499270d8f..c07499fb57 100644
--- a/_maps/RandomZLevels/research.dmm
+++ b/_maps/RandomZLevels/research.dmm
@@ -3214,7 +3214,7 @@
id_job = "Geneticist";
oxy_damage = 55;
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
- uniform = /obj/item/clothing/under/rank/geneticist;
+ uniform = /obj/item/clothing/under/rank/medical/geneticist;
name = "Geneticist"
},
/obj/effect/decal/cleanable/blood,
@@ -4322,7 +4322,7 @@
id_job = "Geneticist";
oxy_damage = 55;
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
- uniform = /obj/item/clothing/under/rank/geneticist;
+ uniform = /obj/item/clothing/under/rank/medical/geneticist;
name = "Geneticist"
},
/obj/effect/decal/cleanable/blood,
@@ -5173,7 +5173,7 @@
id_job = "Geneticist";
oxy_damage = 55;
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
- uniform = /obj/item/clothing/under/rank/geneticist;
+ uniform = /obj/item/clothing/under/rank/medical/geneticist;
name = "Geneticist"
},
/obj/effect/decal/cleanable/blood,
@@ -6047,7 +6047,7 @@
id_job = "Geneticist";
oxy_damage = 55;
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
- uniform = /obj/item/clothing/under/rank/geneticist;
+ uniform = /obj/item/clothing/under/rank/medical/geneticist;
name = "Geneticist"
},
/turf/open/floor/mineral/titanium/blue,
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index 56018b943a..33fdb7a28d 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -312,7 +312,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/pj/blue,
+/obj/item/clothing/under/misc/pj/blue,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
@@ -362,7 +362,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/suit_jacket/female,
+/obj/item/clothing/under/suit/black/skirt,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
@@ -2135,7 +2135,7 @@
},
/area/awaymission/undergroundoutpost45/caves)
"ev" = (
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/red,
/obj/structure/closet/secure_closet{
desc = "It's a secure locker for personnel. The first card swiped gains control.";
icon_state = "cabinet";
@@ -3130,7 +3130,7 @@
name = "Kitchen Crate"
},
/obj/item/storage/box/mousetraps,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/showroomfloor{
heat_capacity = 1e+006
@@ -5263,7 +5263,7 @@
},
/area/awaymission/undergroundoutpost45/gateway)
"km" = (
-/obj/item/clothing/under/suit_jacket/navy,
+/obj/item/clothing/under/suit/navy,
/obj/structure/closet/secure_closet{
desc = "It's a secure locker for personnel. The first card swiped gains control.";
icon_state = "cabinet";
@@ -9706,7 +9706,7 @@
name = "personal closet";
req_access_txt = "201"
},
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/red,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index d380d30d10..d4aea707fb 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -363,13 +363,13 @@
name = "formal uniform crate";
req_access = "3"
},
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/warden/navyblue,
-/obj/item/clothing/under/rank/head_of_security/navyblue,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/warden/formal,
+/obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
@@ -8935,9 +8935,9 @@
dir = 8
},
/obj/structure/closet/wardrobe/white,
-/obj/item/clothing/under/waiter,
-/obj/item/clothing/under/waiter,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
+/obj/item/clothing/under/suit/waiter,
+/obj/item/clothing/under/suit/waiter,
/obj/structure/sign/poster/contraband/lizard{
pixel_x = -32
},
@@ -9220,9 +9220,9 @@
"aua" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/closet/wardrobe/mixed,
-/obj/item/clothing/under/kilt,
-/obj/item/clothing/under/kilt,
-/obj/item/clothing/under/skirt/purple,
+/obj/item/clothing/under/costume/kilt,
+/obj/item/clothing/under/costume/kilt,
+/obj/item/clothing/under/dress/skirt/purple,
/obj/item/clothing/head/beret,
/obj/item/clothing/head/beret,
/obj/item/clothing/head/beret,
@@ -10210,10 +10210,10 @@
/obj/item/clothing/under/trek/medsci/next,
/obj/item/clothing/under/trek/medsci/next,
/obj/item/clothing/under/trek/medsci/next,
-/obj/item/clothing/under/russobluecamooutfit,
-/obj/item/clothing/under/russobluecamooutfit,
-/obj/item/clothing/under/gladiator,
-/obj/item/clothing/under/gladiator,
+/obj/item/clothing/under/misc/blue_camo,
+/obj/item/clothing/under/misc/blue_camo,
+/obj/item/clothing/under/costume/gladiator,
+/obj/item/clothing/under/costume/gladiator,
/obj/machinery/firealarm{
dir = 4;
pixel_x = -24
@@ -12067,7 +12067,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aBE" = (
-/obj/item/clothing/under/rank/mailman,
+/obj/item/clothing/under/misc/mailman,
/obj/item/clothing/head/mailman,
/obj/structure/closet,
/obj/effect/landmark/blobstart,
@@ -15280,9 +15280,9 @@
/obj/structure/closet/secure_closet/bar{
req_access_txt = "25"
},
-/obj/item/clothing/under/waiter,
-/obj/item/clothing/under/waiter,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
+/obj/item/clothing/under/suit/waiter,
+/obj/item/clothing/under/suit/waiter,
/obj/item/gun/ballistic/revolver/doublebarrel,
/turf/open/floor/wood,
/area/crew_quarters/bar)
@@ -18833,8 +18833,8 @@
/obj/machinery/light{
dir = 8
},
-/obj/item/clothing/under/kilt,
-/obj/item/clothing/under/kilt,
+/obj/item/clothing/under/costume/kilt,
+/obj/item/clothing/under/costume/kilt,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"aTy" = (
@@ -19352,9 +19352,9 @@
department = "Locker Room";
pixel_x = -32
},
-/obj/item/clothing/under/assistantformal,
-/obj/item/clothing/under/assistantformal,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/item/clothing/under/color/grey,
/obj/item/clothing/under/color/grey,
/turf/open/floor/plasteel,
@@ -19967,10 +19967,10 @@
"aWn" = (
/obj/structure/closet/wardrobe/black,
/obj/item/clothing/shoes/jackboots,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/maid,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/clothing/accessory/maidapron,
/obj/item/clothing/accessory/maidapron,
/obj/item/clothing/head/beret/black,
@@ -27801,7 +27801,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
-/obj/item/clothing/under/captainparade,
+/obj/item/clothing/under/rank/captain/parade,
/turf/open/floor/carpet,
/area/crew_quarters/heads/captain)
"bpl" = (
@@ -29475,8 +29475,8 @@
/obj/item/clothing/head/beret/black,
/obj/item/clothing/head/beret,
/obj/item/clothing/head/beret,
-/obj/item/clothing/under/assistantformal,
-/obj/item/clothing/under/skirt/black,
+/obj/item/clothing/under/misc/assistantformal,
+/obj/item/clothing/under/dress/skirt,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"btj" = (
@@ -29490,8 +29490,8 @@
/area/science/explab)
"btk" = (
/obj/structure/closet/wardrobe/white,
-/obj/item/clothing/under/kilt,
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/costume/kilt,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"btl" = (
@@ -34230,12 +34230,12 @@
"bDJ" = (
/obj/structure/closet/jcloset,
/obj/item/storage/bag/trash,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/maid,
-/obj/item/clothing/under/maid,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
/turf/open/floor/plasteel,
/area/janitor)
"bDK" = (
@@ -45780,8 +45780,8 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
-/obj/item/clothing/under/overalls,
-/obj/item/clothing/under/overalls,
+/obj/item/clothing/under/misc/overalls,
+/obj/item/clothing/under/misc/overalls,
/obj/item/radio/headset/headset_eng,
/turf/open/floor/plasteel,
/area/engine/engineering)
@@ -45840,8 +45840,8 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
-/obj/item/clothing/under/overalls,
-/obj/item/clothing/under/overalls,
+/obj/item/clothing/under/misc/overalls,
+/obj/item/clothing/under/misc/overalls,
/obj/item/radio/headset/headset_eng,
/turf/open/floor/plasteel,
/area/engine/engineering)
@@ -48199,8 +48199,8 @@
"clO" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/closet/wardrobe/grey,
-/obj/item/clothing/under/assistantformal,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/machinery/camera{
c_tag = "Dorms East - Holodeck";
dir = 4
@@ -52511,12 +52511,12 @@
/area/maintenance/starboard/aft)
"cBZ" = (
/obj/structure/table/wood,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"cCb" = (
@@ -54056,10 +54056,10 @@
/obj/item/clothing/head/ushanka,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/head/ushanka,
-/obj/item/clothing/under/russobluecamooutfit,
-/obj/item/clothing/under/russobluecamooutfit,
-/obj/item/clothing/under/russobluecamooutfit,
-/obj/item/clothing/under/russobluecamooutfit,
+/obj/item/clothing/under/misc/blue_camo,
+/obj/item/clothing/under/misc/blue_camo,
+/obj/item/clothing/under/misc/blue_camo,
+/obj/item/clothing/under/misc/blue_camo,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/shoes/jackboots,
@@ -54257,7 +54257,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
"eAG" = (
-/obj/item/clothing/under/pj/blue,
+/obj/item/clothing/under/misc/pj/blue,
/obj/item/clothing/shoes/sneakers/white,
/turf/open/floor/plating,
/area/maintenance/fore)
@@ -54275,25 +54275,25 @@
/obj/structure/closet{
name = "Suit Closet"
},
-/obj/item/clothing/under/suit_jacket/white,
-/obj/item/clothing/under/suit_jacket/tan,
-/obj/item/clothing/under/suit_jacket/red,
-/obj/item/clothing/under/suit_jacket/really_black,
-/obj/item/clothing/under/suit_jacket/navy,
-/obj/item/clothing/under/suit_jacket/green,
-/obj/item/clothing/under/suit_jacket/female,
-/obj/item/clothing/under/suit_jacket/checkered,
-/obj/item/clothing/under/suit_jacket/charcoal,
-/obj/item/clothing/under/suit_jacket/burgundy,
-/obj/item/clothing/under/suit_jacket,
-/obj/item/clothing/under/lawyer/black,
-/obj/item/clothing/under/lawyer/blacksuit,
-/obj/item/clothing/under/lawyer/blue,
-/obj/item/clothing/under/lawyer/bluesuit,
-/obj/item/clothing/under/lawyer/female,
-/obj/item/clothing/under/lawyer/purpsuit,
-/obj/item/clothing/under/lawyer/really_black,
-/obj/item/clothing/under/lawyer/red,
+/obj/item/clothing/under/suit/white,
+/obj/item/clothing/under/suit/tan,
+/obj/item/clothing/under/suit/red,
+/obj/item/clothing/under/suit/black_really,
+/obj/item/clothing/under/suit/navy,
+/obj/item/clothing/under/suit/green,
+/obj/item/clothing/under/suit/black/skirt,
+/obj/item/clothing/under/suit/checkered,
+/obj/item/clothing/under/suit/charcoal,
+/obj/item/clothing/under/suit/burgundy,
+/obj/item/clothing/under/suit/black,
+/obj/item/clothing/under/rank/civilian/lawyer/black,
+/obj/item/clothing/under/suit/black,
+/obj/item/clothing/under/rank/civilian/lawyer/blue,
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit,
+/obj/item/clothing/under/rank/civilian/lawyer/female,
+/obj/item/clothing/under/rank/civilian/lawyer/purpsuit,
+/obj/item/clothing/under/rank/civilian/lawyer/really_black,
+/obj/item/clothing/under/rank/civilian/lawyer/red,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"eCR" = (
@@ -55204,7 +55204,7 @@
"hsb" = (
/obj/structure/table/wood,
/obj/item/book/codex_gigas,
-/obj/item/clothing/under/suit_jacket/red,
+/obj/item/clothing/under/suit/red,
/obj/structure/destructible/cult/tome,
/turf/open/floor/carpet,
/area/library)
@@ -56409,25 +56409,25 @@
/obj/structure/closet{
name = "Suit Closet"
},
-/obj/item/clothing/under/suit_jacket/white,
-/obj/item/clothing/under/suit_jacket/tan,
-/obj/item/clothing/under/suit_jacket/red,
-/obj/item/clothing/under/suit_jacket/really_black,
-/obj/item/clothing/under/suit_jacket/navy,
-/obj/item/clothing/under/suit_jacket/green,
-/obj/item/clothing/under/suit_jacket/female,
-/obj/item/clothing/under/suit_jacket/checkered,
-/obj/item/clothing/under/suit_jacket/charcoal,
-/obj/item/clothing/under/suit_jacket/burgundy,
-/obj/item/clothing/under/suit_jacket,
-/obj/item/clothing/under/lawyer/black,
-/obj/item/clothing/under/lawyer/blacksuit,
-/obj/item/clothing/under/lawyer/blue,
-/obj/item/clothing/under/lawyer/bluesuit,
-/obj/item/clothing/under/lawyer/female,
-/obj/item/clothing/under/lawyer/purpsuit,
-/obj/item/clothing/under/lawyer/really_black,
-/obj/item/clothing/under/lawyer/red,
+/obj/item/clothing/under/suit/white,
+/obj/item/clothing/under/suit/tan,
+/obj/item/clothing/under/suit/red,
+/obj/item/clothing/under/suit/black_really,
+/obj/item/clothing/under/suit/navy,
+/obj/item/clothing/under/suit/green,
+/obj/item/clothing/under/suit/black/skirt,
+/obj/item/clothing/under/suit/checkered,
+/obj/item/clothing/under/suit/charcoal,
+/obj/item/clothing/under/suit/burgundy,
+/obj/item/clothing/under/suit/black,
+/obj/item/clothing/under/rank/civilian/lawyer/black,
+/obj/item/clothing/under/suit/black,
+/obj/item/clothing/under/rank/civilian/lawyer/blue,
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit,
+/obj/item/clothing/under/rank/civilian/lawyer/female,
+/obj/item/clothing/under/rank/civilian/lawyer/purpsuit,
+/obj/item/clothing/under/rank/civilian/lawyer/really_black,
+/obj/item/clothing/under/rank/civilian/lawyer/red,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"lnk" = (
@@ -57536,10 +57536,10 @@
"oZl" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/closet/wardrobe/pjs,
-/obj/item/clothing/under/maid,
-/obj/item/clothing/under/maid,
-/obj/item/clothing/under/janimaid,
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/obj/item/clothing/accessory/maidapron,
/obj/item/clothing/accessory/maidapron,
/obj/machinery/light{
@@ -58201,12 +58201,12 @@
dir = 4
},
/obj/structure/closet/wardrobe/black,
-/obj/item/clothing/under/skirt/black,
+/obj/item/clothing/under/dress/skirt,
/obj/item/clothing/head/beret/black,
/obj/item/clothing/head/beret/black,
-/obj/item/clothing/under/trendy_fit,
-/obj/item/clothing/under/trendy_fit,
-/obj/item/clothing/under/sundress,
+/obj/item/clothing/under/custom/trendy_fit,
+/obj/item/clothing/under/custom/trendy_fit,
+/obj/item/clothing/under/dress/sundress,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"rtl" = (
@@ -58282,7 +58282,7 @@
/area/security/brig)
"rBq" = (
/obj/item/clothing/head/kitty,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/clothing/mask/muzzle,
/turf/open/floor/plating,
/area/maintenance/bar)
@@ -58490,7 +58490,7 @@
/area/maintenance/department/medical/morgue)
"sqg" = (
/obj/structure/table/wood,
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/red,
/obj/item/clothing/shoes/sneakers/white,
/turf/open/floor/plating,
/area/maintenance/fore)
@@ -59581,8 +59581,8 @@
/area/crew_quarters/fitness/pool)
"vpY" = (
/obj/structure/closet/lasertag/blue,
-/obj/item/clothing/under/pj/blue,
-/obj/item/clothing/under/pj/blue,
+/obj/item/clothing/under/misc/pj/blue,
+/obj/item/clothing/under/misc/pj/blue,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"vqP" = (
@@ -60626,8 +60626,8 @@
/area/crew_quarters/fitness)
"xZD" = (
/obj/structure/closet/lasertag/red,
-/obj/item/clothing/under/pj/red,
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/red,
+/obj/item/clothing/under/misc/pj/red,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"xZL" = (
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 7a09da4347..0f6e034be0 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -4154,7 +4154,7 @@
},
/obj/item/wirerod,
/obj/item/wrench,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
/obj/item/clothing/accessory/waistcoat,
/obj/structure/sign/poster/contraband/random{
pixel_x = -32
@@ -39822,7 +39822,7 @@
/obj/structure/closet/secure_closet/hos,
/obj/item/clothing/head/HoS/beret,
/obj/item/clothing/suit/armor/hos/trenchcoat,
-/obj/item/clothing/under/rank/head_of_security/grey,
+/obj/item/clothing/under/rank/security/head_of_security/grey,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
@@ -50312,7 +50312,7 @@
/obj/item/clothing/suit/det_suit{
icon_state = "curator"
},
-/obj/item/clothing/under/rank/det{
+/obj/item/clothing/under/rank/security/detective{
icon_state = "curator"
},
/obj/effect/turf_decal/tile/neutral{
@@ -62632,7 +62632,7 @@
/area/security/warden)
"cbF" = (
/obj/structure/closet/secure_closet/warden,
-/obj/item/clothing/under/rank/warden/grey,
+/obj/item/clothing/under/rank/security/warden/grey,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -74042,7 +74042,7 @@
/area/maintenance/starboard)
"cuG" = (
/obj/structure/table,
-/obj/item/clothing/under/rank/security,
+/obj/item/clothing/under/rank/security/officer,
/obj/item/restraints/handcuffs,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small,
@@ -78636,7 +78636,7 @@
pixel_x = 26;
pixel_y = 26
},
-/obj/item/clothing/under/kilt,
+/obj/item/clothing/under/costume/kilt,
/obj/item/clothing/head/beret,
/obj/machinery/airalarm{
pixel_y = 23
@@ -78674,7 +78674,7 @@
/obj/item/clothing/head/fedora{
icon_state = "detective"
},
-/obj/item/clothing/under/geisha,
+/obj/item/clothing/under/costume/geisha,
/obj/item/clothing/head/fedora{
icon_state = "curator"
},
@@ -78682,7 +78682,7 @@
desc = "This looks awfully familiar...";
icon_state = "curator"
},
-/obj/item/clothing/under/rank/curator/treasure_hunter,
+/obj/item/clothing/under/rank/civilian/curator/treasure_hunter,
/obj/machinery/airalarm{
pixel_y = 23
},
@@ -81143,7 +81143,7 @@
icon_state = "1-2"
},
/obj/item/folder/blue,
-/obj/item/clothing/under/rank/centcom_commander{
+/obj/item/clothing/under/rank/centcom/commander{
desc = "A replica of a jumpsuit worn by the highest ranking commanders under Nanotrasen's central command.";
name = "Replica CentCom officer's jumpsuit"
},
@@ -88556,7 +88556,7 @@
/area/crew_quarters/fitness/recreation)
"cTg" = (
/obj/structure/table,
-/obj/item/clothing/under/sl_suit{
+/obj/item/clothing/under/suit/sl{
name = "referee suit"
},
/obj/effect/turf_decal/tile/neutral{
@@ -89705,7 +89705,7 @@
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/item/clothing/suit/jacket/letterman_nanotrasen,
/obj/item/clothing/suit/toggle/lawyer,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/clothing/head/kitty,
/obj/machinery/airalarm{
dir = 1;
@@ -89733,7 +89733,7 @@
/obj/item/clothing/head/fedora{
icon_state = "detective"
},
-/obj/item/clothing/under/lawyer/female,
+/obj/item/clothing/under/rank/civilian/lawyer/female,
/obj/machinery/airalarm{
dir = 1;
pixel_y = -22
@@ -89757,7 +89757,7 @@
pixel_y = -32
},
/obj/item/clothing/head/fedora,
-/obj/item/clothing/under/redeveninggown,
+/obj/item/clothing/under/dress/redeveninggown,
/obj/item/clothing/head/rabbitears,
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/dorms)
@@ -92803,7 +92803,7 @@
/area/crew_quarters/fitness/recreation)
"dae" = (
/obj/structure/table,
-/obj/item/clothing/under/suit_jacket/really_black,
+/obj/item/clothing/under/suit/black_really,
/obj/item/cane,
/obj/item/clothing/head/bowler{
pixel_y = 5
@@ -98184,7 +98184,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/table/wood,
/obj/item/clothing/suit/toggle/owlwings,
-/obj/item/clothing/under/owl,
+/obj/item/clothing/under/costume/owl,
/obj/item/clothing/mask/gas/owl_mask,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
@@ -110502,7 +110502,7 @@
/area/medical/medbay/central)
"dFk" = (
/obj/structure/table/wood,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/clothing/head/kitty,
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
@@ -111362,7 +111362,7 @@
/area/maintenance/department/medical/morgue)
"dGw" = (
/obj/structure/closet/secure_closet/CMO,
-/obj/item/clothing/under/rank/nursesuit,
+/obj/item/clothing/under/rank/medical/doctor/nurse,
/obj/item/clothing/head/nursehat,
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -113664,7 +113664,7 @@
/area/crew_quarters/theatre/abandoned)
"dKr" = (
/obj/structure/table/wood,
-/obj/item/clothing/under/geisha,
+/obj/item/clothing/under/costume/geisha,
/obj/item/clothing/shoes/sandal,
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -121170,7 +121170,7 @@
/area/library/abandoned)
"dYm" = (
/obj/structure/table/wood,
-/obj/item/clothing/under/rank/curator,
+/obj/item/clothing/under/rank/civilian/curator,
/obj/effect/spawner/lootdrop/maintenance{
lootcount = 2;
name = "2maintenance loot spawner"
@@ -125929,12 +125929,12 @@
dir = 8
},
/obj/structure/table,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"gbV" = (
@@ -126052,7 +126052,7 @@
/area/science/circuit)
"gVS" = (
/obj/item/clothing/head/kitty,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/clothing/mask/muzzle,
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 73386e6e1e..a6d747a4d2 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -7053,7 +7053,7 @@
/obj/effect/turf_decal/bot,
/obj/structure/rack,
/obj/item/clothing/gloves/color/brown,
-/obj/item/clothing/under/overalls,
+/obj/item/clothing/under/misc/overalls,
/obj/item/clothing/mask/gas{
pixel_x = 4;
pixel_y = 4
@@ -9271,7 +9271,7 @@
/obj/structure/closet{
name = "science locker"
},
-/obj/item/clothing/under/rank/scientist{
+/obj/item/clothing/under/rank/rnd/scientist{
pixel_x = 4;
pixel_y = 4
},
@@ -14495,12 +14495,12 @@
/obj/structure/closet{
name = "skirt closet"
},
-/obj/item/clothing/under/skirt/red{
+/obj/item/clothing/under/dress/skirt/red{
pixel_x = 4;
pixel_y = 4
},
-/obj/item/clothing/under/skirt/blue,
-/obj/item/clothing/under/skirt/black{
+/obj/item/clothing/under/dress/skirt/blue,
+/obj/item/clothing/under/dress/skirt{
pixel_x = -4;
pixel_y = -4
},
@@ -23309,7 +23309,7 @@
/area/science/mixing)
"aLT" = (
/obj/structure/closet,
-/obj/item/clothing/under/rank/bartender/purple{
+/obj/item/clothing/under/rank/civilian/bartender/purple{
pixel_x = 4;
pixel_y = 4
},
@@ -27298,11 +27298,11 @@
name = "medical locker"
},
/obj/structure/grille/broken,
-/obj/item/clothing/under/skirt/blue{
+/obj/item/clothing/under/dress/skirt/blue{
pixel_x = 4;
pixel_y = 4
},
-/obj/item/clothing/under/rank/medical,
+/obj/item/clothing/under/rank/medical/doctor,
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/turf/open/floor/plating,
@@ -27635,7 +27635,7 @@
pixel_x = -26
},
/obj/item/reagent_containers/food/snacks/pie/cream,
-/obj/item/clothing/under/lobster,
+/obj/item/clothing/under/costume/lobster,
/obj/item/clothing/head/lobsterhat,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -35210,7 +35210,7 @@
/obj/structure/closet{
name = "kitchen closet"
},
-/obj/item/clothing/under/rank/chef{
+/obj/item/clothing/under/rank/civilian/chef{
pixel_x = 4;
pixel_y = 4
},
@@ -41674,7 +41674,7 @@
/obj/structure/closet/secure_closet/personal,
/obj/item/storage/backpack,
/obj/item/storage/backpack/satchel,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots,
/obj/effect/turf_decal/tile/neutral,
@@ -42355,7 +42355,7 @@
/obj/structure/closet{
name = "supply locker"
},
-/obj/item/clothing/under/rank/cargotech,
+/obj/item/clothing/under/rank/cargo/tech,
/obj/item/clothing/shoes/sneakers/brown,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
@@ -42577,11 +42577,11 @@
/obj/effect/turf_decal/tile/neutral,
/obj/structure/table,
/obj/effect/decal/cleanable/cobweb,
-/obj/item/clothing/under/suit_jacket/really_black{
+/obj/item/clothing/under/suit/black_really{
pixel_x = 4;
pixel_y = 4
},
-/obj/item/clothing/under/suit_jacket/really_black,
+/obj/item/clothing/under/suit/black_really,
/obj/item/clothing/neck/tie/black{
pixel_x = 6
},
@@ -42749,7 +42749,7 @@
/obj/structure/closet/secure_closet/personal,
/obj/item/storage/backpack,
/obj/item/storage/backpack/satchel,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots,
/obj/effect/turf_decal/tile/neutral,
@@ -49260,8 +49260,8 @@
"byZ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/closet/wardrobe/black,
-/obj/item/clothing/under/trendy_fit,
-/obj/item/clothing/under/trendy_fit,
+/obj/item/clothing/under/custom/trendy_fit,
+/obj/item/clothing/under/custom/trendy_fit,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"bza" = (
@@ -49929,12 +49929,12 @@
/obj/structure/closet{
name = "suit closet"
},
-/obj/item/clothing/under/lawyer/female{
+/obj/item/clothing/under/rank/civilian/lawyer/female{
pixel_x = 4;
pixel_y = 4
},
-/obj/item/clothing/under/lawyer/bluesuit,
-/obj/item/clothing/under/lawyer/red{
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit,
+/obj/item/clothing/under/rank/civilian/lawyer/red{
pixel_x = -4;
pixel_y = -4
},
@@ -55137,7 +55137,7 @@
/area/security/processing)
"bIl" = (
/obj/structure/table,
-/obj/item/clothing/under/rank/security{
+/obj/item/clothing/under/rank/security/officer{
pixel_x = -4
},
/obj/item/toy/figure/dsquad{
@@ -63067,7 +63067,7 @@
name = "security locker"
},
/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/under/rank/security/skirt,
+/obj/item/clothing/under/rank/security/officer/skirt,
/obj/item/clothing/shoes/jackboots,
/obj/structure/grille/broken,
/obj/effect/decal/cleanable/cobweb,
@@ -80246,7 +80246,7 @@
/obj/effect/turf_decal/tile/neutral,
/obj/structure/table/wood,
/obj/effect/decal/cleanable/cobweb,
-/obj/item/clothing/under/geisha{
+/obj/item/clothing/under/costume/geisha{
pixel_y = 5
},
/obj/item/toy/katana,
@@ -81105,7 +81105,7 @@
name = "engineering locker"
},
/obj/item/clothing/suit/hazardvest,
-/obj/item/clothing/under/rank/engineer,
+/obj/item/clothing/under/rank/engineering/engineer,
/obj/item/clothing/shoes/workboots,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt,
@@ -82787,11 +82787,11 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/gloves/color/white,
-/obj/item/clothing/under/maid{
+/obj/item/clothing/under/costume/maid{
pixel_x = 4;
pixel_y = 4
},
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/obj/item/clothing/accessory/maidapron{
pixel_x = -4;
pixel_y = -4
@@ -87680,7 +87680,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -88205,7 +88205,7 @@
/area/hallway/primary/fore)
"uqy" = (
/obj/effect/decal/cleanable/dirt,
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm
index 4ebe1650d6..64e1f1cf09 100644
--- a/_maps/map_files/LambdaStation/lambda.dmm
+++ b/_maps/map_files/LambdaStation/lambda.dmm
@@ -11069,7 +11069,7 @@
dir = 4
},
/obj/structure/closet/secure_closet/warden,
-/obj/item/clothing/under/rank/warden/grey,
+/obj/item/clothing/under/rank/security/warden/grey,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
@@ -34895,7 +34895,7 @@
light_color = "#e8eaff"
},
/obj/machinery/vending/wardrobe/jani_wardrobe{
- products = list(/obj/item/clothing/under/rank/janitor = 2, /obj/item/cartridge/janitor = 2, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/caution = 10, /obj/item/holosign_creator = 2, /obj/item/lightreplacer = 2, /obj/item/soap/nanotrasen = 2, /obj/item/storage/bag/trash = 2, /obj/item/clothing/shoes/galoshes = 2, /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2)
+ products = list(/obj/item/clothing/under/rank/civilian/janitor = 2, /obj/item/cartridge/janitor = 2, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/caution = 10, /obj/item/holosign_creator = 2, /obj/item/lightreplacer = 2, /obj/item/soap/nanotrasen = 2, /obj/item/storage/bag/trash = 2, /obj/item/clothing/shoes/galoshes = 2, /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2)
},
/turf/open/floor/plating,
/area/janitor)
@@ -44976,7 +44976,7 @@
/area/library)
"bCG" = (
/obj/structure/destructible/cult/tome,
-/obj/item/clothing/under/suit_jacket/red,
+/obj/item/clothing/under/suit/red,
/obj/item/book/codex_gigas,
/turf/open/floor/plasteel/cult{
dir = 2
@@ -64293,12 +64293,12 @@
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"clT" = (
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
/obj/structure/closet/crate{
name = "Burial Garment Crate"
},
@@ -65314,7 +65314,7 @@
/area/engine/engineering)
"cnW" = (
/obj/machinery/vending/engineering{
- products = list(/obj/item/clothing/under/rank/engineer = 4, /obj/item/clothing/shoes/sneakers/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/storage/belt/utility = 4, /obj/item/clothing/glasses/meson/engine = 4, /obj/item/clothing/gloves/color/yellow = 2, /obj/item/screwdriver = 12, /obj/item/crowbar = 12, /obj/item/wirecutters = 12, /obj/item/multitool = 12, /obj/item/wrench = 12, /obj/item/t_scanner = 12, /obj/item/stock_parts/cell = 8, /obj/item/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/light/tube = 10, /obj/item/clothing/suit/fire = 4, /obj/item/stock_parts/scanning_module = 5, /obj/item/stock_parts/micro_laser = 5, /obj/item/stock_parts/matter_bin = 5, /obj/item/stock_parts/manipulator = 5)
+ products = list(/obj/item/clothing/under/rank/engineering/engineer = 4, /obj/item/clothing/shoes/sneakers/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/storage/belt/utility = 4, /obj/item/clothing/glasses/meson/engine = 4, /obj/item/clothing/gloves/color/yellow = 2, /obj/item/screwdriver = 12, /obj/item/crowbar = 12, /obj/item/wirecutters = 12, /obj/item/multitool = 12, /obj/item/wrench = 12, /obj/item/t_scanner = 12, /obj/item/stock_parts/cell = 8, /obj/item/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/light/tube = 10, /obj/item/clothing/suit/fire = 4, /obj/item/stock_parts/scanning_module = 5, /obj/item/stock_parts/micro_laser = 5, /obj/item/stock_parts/matter_bin = 5, /obj/item/stock_parts/manipulator = 5)
},
/obj/effect/turf_decal/trimline/yellow/filled/line{
icon_state = "trimline_fill";
@@ -77033,7 +77033,7 @@
},
/obj/item/clothing/head/HoS/beret,
/obj/item/clothing/suit/armor/hos/trenchcoat,
-/obj/item/clothing/under/rank/head_of_security/grey,
+/obj/item/clothing/under/rank/security/head_of_security/grey,
/obj/item/storage/box/deputy,
/obj/structure/sign/nanotrasen{
pixel_x = 32;
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 2f8d1a5eb9..ee042ee5d2 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -4556,7 +4556,7 @@
/area/crew_quarters/fitness/recreation)
"aiR" = (
/obj/structure/table,
-/obj/item/clothing/under/sl_suit{
+/obj/item/clothing/under/suit/sl{
desc = "Whoever wears this makes the rules.";
name = "referee suit"
},
@@ -6918,8 +6918,8 @@
/area/maintenance/port)
"ana" = (
/obj/structure/rack,
-/obj/item/clothing/under/rank/mailman,
-/obj/item/clothing/under/rank/vice{
+/obj/item/clothing/under/misc/mailman,
+/obj/item/clothing/under/misc/vice_officer{
pixel_x = 4;
pixel_y = -3
},
@@ -7555,7 +7555,7 @@
c_tag = "Brig - Infirmary";
dir = 1
},
-/obj/item/clothing/under/rank/medical/purple{
+/obj/item/clothing/under/rank/medical/doctor/purple{
pixel_y = -4
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
@@ -8886,7 +8886,7 @@
/obj/structure/chair,
/obj/item/restraints/handcuffs,
/obj/effect/decal/remains/human,
-/obj/item/clothing/under/soviet,
+/obj/item/clothing/under/costume/soviet,
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -9965,7 +9965,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"asV" = (
@@ -10042,7 +10042,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/item/clothing/under/suit_jacket/burgundy,
+/obj/item/clothing/under/suit/burgundy,
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"atc" = (
@@ -11693,7 +11693,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/item/clothing/under/suit_jacket/tan,
+/obj/item/clothing/under/suit/tan,
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"awE" = (
@@ -13402,11 +13402,11 @@
/area/crew_quarters/dorms)
"aAe" = (
/obj/structure/table,
-/obj/item/clothing/under/suit_jacket/female{
+/obj/item/clothing/under/suit/black/skirt{
pixel_x = 3;
pixel_y = 1
},
-/obj/item/clothing/under/suit_jacket/really_black{
+/obj/item/clothing/under/suit/black_really{
pixel_x = -2
},
/obj/machinery/light/small{
@@ -13418,9 +13418,9 @@
},
/obj/item/clothing/accessory/waistcoat,
/obj/item/clothing/suit/toggle/lawyer/black,
-/obj/item/clothing/under/suit_jacket/red,
+/obj/item/clothing/under/suit/red,
/obj/item/clothing/neck/tie/black,
-/obj/item/clothing/under/lawyer/blacksuit,
+/obj/item/clothing/under/suit/black,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
@@ -14755,7 +14755,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/item/clothing/under/suit_jacket/navy,
+/obj/item/clothing/under/suit/navy,
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"aCM" = (
@@ -16789,7 +16789,7 @@
/area/crew_quarters/dorms)
"aGP" = (
/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"aGQ" = (
@@ -23603,7 +23603,7 @@
/area/maintenance/starboard/fore)
"aUX" = (
/obj/structure/closet/secure_closet/personal,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots,
@@ -26182,7 +26182,7 @@
/area/ai_monitored/turret_protected/ai)
"aZU" = (
/obj/structure/closet/secure_closet/personal,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots,
/obj/effect/turf_decal/tile/neutral{
@@ -26345,7 +26345,7 @@
/area/maintenance/port/fore)
"bah" = (
/obj/structure/closet/secure_closet/personal,
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/structure/sign/map/right{
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
icon_state = "map-right-MS";
@@ -27278,7 +27278,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/obj/structure/sign/map/left{
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
icon_state = "map-left-MS";
@@ -29748,21 +29748,21 @@
name = "formal uniform crate";
req_access_txt = "3"
},
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
-/obj/item/clothing/under/rank/security/navyblue,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
+/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
-/obj/item/clothing/under/rank/warden/navyblue,
+/obj/item/clothing/under/rank/security/warden/formal,
/obj/item/clothing/suit/armor/vest/warden/navyblue,
-/obj/item/clothing/under/rank/head_of_security/navyblue,
+/obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/armor/hos/navyblue,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
@@ -46039,7 +46039,7 @@
},
/obj/structure/table/wood,
/obj/item/clothing/shoes/laceup,
-/obj/item/clothing/under/suit_jacket/really_black,
+/obj/item/clothing/under/suit/black_really,
/obj/item/clothing/glasses/sunglasses,
/obj/machinery/camera{
c_tag = "Corporate Showroom"
@@ -47330,7 +47330,7 @@
/obj/machinery/newscaster{
pixel_x = -30
},
-/obj/item/clothing/under/suit_jacket/red,
+/obj/item/clothing/under/suit/red,
/obj/effect/decal/cleanable/cobweb,
/obj/item/book/codex_gigas,
/turf/open/floor/engine/cult,
@@ -72433,12 +72433,12 @@
pixel_x = -26
},
/obj/structure/table/wood,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"cLW" = (
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index 151c459687..7253030d9f 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -12660,7 +12660,7 @@
/area/maintenance/port/fore)
"avQ" = (
/obj/structure/table,
-/obj/item/clothing/under/rank/security,
+/obj/item/clothing/under/rank/security/officer,
/obj/item/restraints/handcuffs,
/obj/structure/cable/white,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -13692,7 +13692,7 @@
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/item/clothing/suit/jacket/letterman_nanotrasen,
/obj/item/clothing/suit/toggle/lawyer,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/machinery/light/small{
dir = 1
},
@@ -13716,7 +13716,7 @@
/obj/item/clothing/head/fedora{
icon_state = "detective"
},
-/obj/item/clothing/under/geisha,
+/obj/item/clothing/under/costume/geisha,
/obj/machinery/light/small{
dir = 1
},
@@ -17365,7 +17365,7 @@
/obj/item/clothing/head/fedora{
icon_state = "detective"
},
-/obj/item/clothing/under/lawyer/female,
+/obj/item/clothing/under/rank/civilian/lawyer/female,
/obj/machinery/light/small,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
@@ -17387,7 +17387,7 @@
},
/obj/item/clothing/suit/toggle/lawyer/black,
/obj/item/clothing/head/fedora,
-/obj/item/clothing/under/blacktango,
+/obj/item/clothing/under/dress/blacktango,
/obj/machinery/light/small,
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/dorms)
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 77b44df636..213b337415 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -18191,7 +18191,7 @@
/obj/structure/chair/wood/normal{
dir = 8
},
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/turf/open/floor/wood{
icon_state = "wood-broken"
},
@@ -20830,7 +20830,7 @@
/area/janitor)
"aXP" = (
/obj/structure/table,
-/obj/item/clothing/under/maid,
+/obj/item/clothing/under/costume/maid,
/obj/item/key/janitor,
/obj/item/grenade/clusterbuster/cleaner,
/obj/item/grenade/chem_grenade/cleaner,
@@ -22599,9 +22599,9 @@
"bbt" = (
/obj/structure/disposalpipe/segment,
/obj/structure/table/wood,
-/obj/item/clothing/under/sundress,
-/obj/item/clothing/under/waiter,
-/obj/item/clothing/under/blacktango,
+/obj/item/clothing/under/dress/sundress,
+/obj/item/clothing/under/suit/waiter,
+/obj/item/clothing/under/dress/blacktango,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/bar)
"bbu" = (
@@ -22661,7 +22661,7 @@
pixel_x = 6;
pixel_y = -5
},
-/obj/item/clothing/under/rank/mailman,
+/obj/item/clothing/under/misc/mailman,
/obj/item/clothing/head/mailman,
/turf/open/floor/plasteel,
/area/quartermaster/office)
@@ -35727,7 +35727,7 @@
icon_state = "2-4"
},
/obj/structure/closet,
-/obj/item/clothing/under/rank/nursesuit,
+/obj/item/clothing/under/rank/medical/doctor/nurse,
/obj/item/clothing/head/nursehat,
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/airalarm{
@@ -51429,10 +51429,10 @@
/turf/open/floor/carpet,
/area/chapel/main/monastery)
"cwz" = (
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
+/obj/item/clothing/under/misc/burial,
/obj/structure/table/wood,
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
@@ -55848,7 +55848,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
"klV" = (
-/obj/item/clothing/under/rank/clown/sexy,
+/obj/item/clothing/under/rank/civilian/clown/sexy,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"kmd" = (
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 905b2cdb1b..f9c3653b35 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -1711,14 +1711,14 @@
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/obj/item/clothing/under/schoolgirl,
+/obj/item/clothing/under/costume/schoolgirl,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
"eD" = (
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/obj/item/clothing/under/schoolgirl/green,
+/obj/item/clothing/under/costume/schoolgirl/green,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
"eE" = (
@@ -1832,14 +1832,14 @@
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/obj/item/clothing/under/schoolgirl/orange,
+/obj/item/clothing/under/costume/schoolgirl/orange,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
"eU" = (
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/obj/item/clothing/under/schoolgirl/red,
+/obj/item/clothing/under/costume/schoolgirl/red,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
"eV" = (
@@ -1934,7 +1934,7 @@
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/obj/item/clothing/under/schoolgirl,
+/obj/item/clothing/under/costume/schoolgirl,
/obj/item/toy/katana,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
@@ -6839,8 +6839,8 @@
/area/centcom/ferry)
"pN" = (
/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/item/clothing/under/rank/curator/treasure_hunter,
-/obj/item/clothing/under/skirt/black,
+/obj/item/clothing/under/rank/civilian/curator/treasure_hunter,
+/obj/item/clothing/under/dress/skirt,
/obj/item/clothing/under/shorts/black,
/obj/item/clothing/under/pants/track,
/obj/item/clothing/accessory/armband/deputy,
@@ -17017,11 +17017,11 @@
/turf/open/floor/plasteel/white,
/area/centcom/holding)
"OU" = (
-/obj/item/clothing/under/jabroni,
-/obj/item/clothing/under/geisha,
-/obj/item/clothing/under/kilt,
+/obj/item/clothing/under/costume/jabroni,
+/obj/item/clothing/under/costume/geisha,
+/obj/item/clothing/under/costume/kilt,
/obj/structure/closet,
-/obj/item/clothing/under/roman,
+/obj/item/clothing/under/costume/roman,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"OV" = (
diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm
index 7b4bcc71f5..0eea5ab1c8 100644
--- a/_maps/shuttles/emergency_pubby.dmm
+++ b/_maps/shuttles/emergency_pubby.dmm
@@ -520,7 +520,7 @@
/obj/structure/window/reinforced,
/obj/structure/table,
/obj/item/storage/bag/tray,
-/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/suit/waiter,
/turf/open/floor/plasteel/cafeteria,
/area/shuttle/escape)
"bg" = (
diff --git a/_maps/shuttles/ruin_pirate_cutter.dmm b/_maps/shuttles/ruin_pirate_cutter.dmm
index 424436f1b3..f3a71b8f5c 100644
--- a/_maps/shuttles/ruin_pirate_cutter.dmm
+++ b/_maps/shuttles/ruin_pirate_cutter.dmm
@@ -82,7 +82,7 @@
},
/obj/item/clothing/head/collectable/pirate,
/obj/item/clothing/suit/pirate,
-/obj/item/clothing/under/pirate,
+/obj/item/clothing/under/costume/pirate,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/head/bandana,
/turf/open/floor/plasteel/dark/side{
@@ -387,7 +387,7 @@
},
/obj/item/clothing/head/collectable/pirate,
/obj/item/clothing/suit/pirate,
-/obj/item/clothing/under/pirate,
+/obj/item/clothing/under/costume/pirate,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/head/bandana,
/obj/effect/turf_decal/tile/red{
diff --git a/_maps/shuttles/whiteship_delta.dmm b/_maps/shuttles/whiteship_delta.dmm
index 7ecbe59bf0..817f337503 100644
--- a/_maps/shuttles/whiteship_delta.dmm
+++ b/_maps/shuttles/whiteship_delta.dmm
@@ -909,11 +909,11 @@
dir = 1
},
/obj/item/storage/wallet/random,
-/obj/item/clothing/under/rank/centcom_officer{
+/obj/item/clothing/under/rank/centcom/officer{
desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time.";
name = "\improper dusty old CentCom jumpsuit"
},
-/obj/item/clothing/under/rank/centcom_commander{
+/obj/item/clothing/under/rank/centcom/commander{
desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time.";
name = "\improper dusty old CentCom jumpsuit"
},
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index 914e45add5..e825233bca 100644
--- a/code/_globalvars/lists/maintenance_loot.dm
+++ b/code/_globalvars/lists/maintenance_loot.dm
@@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
/obj/item/clothing/head/welding = 1,
/obj/item/clothing/mask/gas = 15,
/obj/item/clothing/suit/hazardvest = 1,
- /obj/item/clothing/under/rank/vice = 1,
+ /obj/item/clothing/under/misc/vice_officer = 1,
/obj/item/clothing/suit/hooded/flashsuit = 2,
/obj/item/clothing/accessory/medal/greytide = 1,
/obj/item/assembly/prox_sensor = 4,
diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm
index 1ad4a15ee7..0d854371aa 100644
--- a/code/controllers/subsystem/traumas.dm
+++ b/code/controllers/subsystem/traumas.dm
@@ -69,12 +69,12 @@ SUBSYSTEM_DEF(traumas)
"spiders" = typecacheof(list(/obj/structure/spider)),
- "security" = typecacheof(list(/obj/item/clothing/under/rank/security, /obj/item/clothing/under/rank/warden,
- /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/det,
+ "security" = typecacheof(list(/obj/item/clothing/under/rank/security/officer, /obj/item/clothing/under/rank/security/warden,
+ /obj/item/clothing/under/rank/security/head_of_security, /obj/item/clothing/under/rank/security/detective,
/obj/item/melee/baton, /obj/item/gun/energy/taser, /obj/item/restraints/handcuffs,
/obj/machinery/door/airlock/security, /obj/effect/hallucination/simple/securitron)),
- "clowns" = typecacheof(list(/obj/item/clothing/under/rank/clown, /obj/item/clothing/shoes/clown_shoes,
+ "clowns" = typecacheof(list(/obj/item/clothing/under/rank/civilian/clown, /obj/item/clothing/shoes/clown_shoes,
/obj/item/clothing/mask/gas/clown_hat, /obj/item/instrument/bikehorn,
/obj/item/pda/clown, /obj/item/grown/bananapeel)),
@@ -87,15 +87,15 @@ SUBSYSTEM_DEF(traumas)
"skeletons" = typecacheof(list(/obj/item/organ/tongue/bone, /obj/item/clothing/suit/armor/bone, /obj/item/stack/sheet/bone,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton,
/obj/effect/decal/remains/human)),
- "conspiracies" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_security,
- /obj/item/clothing/under/rank/chief_engineer, /obj/item/clothing/under/rank/chief_medical_officer,
- /obj/item/clothing/under/rank/head_of_personnel, /obj/item/clothing/under/rank/research_director,
- /obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt,
- /obj/item/clothing/under/rank/research_director/alt, /obj/item/clothing/under/rank/research_director/turtleneck,
- /obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, /obj/item/clothing/under/hosparadefem,
+ "conspiracies" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/security/head_of_security,
+ /obj/item/clothing/under/rank/engineering/chief_engineer, /obj/item/clothing/under/rank/medical/chief_medical_officer,
+ /obj/item/clothing/under/rank/civilian/head_of_personnel, /obj/item/clothing/under/rank/rnd/research_director,
+ /obj/item/clothing/under/rank/security/head_of_security/grey, /obj/item/clothing/under/rank/security/head_of_security/alt,
+ /obj/item/clothing/under/rank/rnd/research_director/alt, /obj/item/clothing/under/rank/rnd/research_director/turtleneck,
+ /obj/item/clothing/under/rank/captain/parade, /obj/item/clothing/under/rank/security/head_of_security/parade, /obj/item/clothing/under/rank/security/head_of_security/parade/female,
/obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor/baton,
/obj/item/storage/belt/military/abductor, /obj/item/gun/energy/alien, /obj/item/abductor/silencer,
- /obj/item/abductor/gizmo, /obj/item/clothing/under/rank/centcom_officer,
+ /obj/item/abductor/gizmo, /obj/item/clothing/under/rank/centcom/officer,
/obj/item/clothing/suit/space/hardsuit/ert, /obj/item/clothing/suit/space/hardsuit/ert/sec,
/obj/item/clothing/suit/space/hardsuit/ert/engi, /obj/item/clothing/suit/space/hardsuit/ert/med,
/obj/item/clothing/suit/space/hardsuit/deathsquad, /obj/item/clothing/head/helmet/space/hardsuit/deathsquad,
@@ -103,8 +103,8 @@ SUBSYSTEM_DEF(traumas)
"robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station,
/obj/item/aicard, /obj/item/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)),
- "doctors" = typecacheof(list(/obj/item/clothing/under/rank/medical, /obj/item/clothing/under/rank/chemist,
- /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/under/rank/chief_medical_officer,
+ "doctors" = typecacheof(list(/obj/item/clothing/under/rank/medical/doctor, /obj/item/clothing/under/rank/medical/chemist,
+ /obj/item/clothing/under/rank/medical/doctor/nurse, /obj/item/clothing/under/rank/medical/chief_medical_officer,
/obj/item/reagent_containers/syringe, /obj/item/reagent_containers/pill/, /obj/item/reagent_containers/hypospray,
/obj/item/storage/firstaid, /obj/item/storage/pill_bottle, /obj/item/healthanalyzer,
/obj/structure/sign/departments/medbay, /obj/machinery/door/airlock/medical, /obj/machinery/sleeper,
@@ -112,10 +112,10 @@ SUBSYSTEM_DEF(traumas)
/obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/circular_saw,
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/head/plaguedoctorhat, /obj/item/clothing/mask/gas/plaguedoctor)),
- "authority" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_personnel,
- /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/research_director,
- /obj/item/clothing/under/rank/chief_medical_officer, /obj/item/clothing/under/rank/chief_engineer,
- /obj/item/clothing/under/rank/centcom_officer, /obj/item/clothing/under/rank/centcom_commander,
+ "authority" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/civilian/head_of_personnel,
+ /obj/item/clothing/under/rank/security/head_of_security, /obj/item/clothing/under/rank/rnd/research_director,
+ /obj/item/clothing/under/rank/medical/chief_medical_officer, /obj/item/clothing/under/rank/engineering/chief_engineer,
+ /obj/item/clothing/under/rank/centcom/officer, /obj/item/clothing/under/rank/centcom/commander,
/obj/item/melee/classic_baton/telescopic, /obj/item/card/id/silver, /obj/item/card/id/gold,
/obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)),
@@ -131,7 +131,7 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/suit/wizrobe, /obj/item/clothing/head/wizard, /obj/item/spellbook, /obj/item/staff,
/obj/item/clothing/suit/space/hardsuit/shielded/wizard, /obj/item/clothing/suit/space/hardsuit/wizard,
/obj/item/gun/magic/staff, /obj/item/gun/magic/wand,
- /obj/item/nullrod, /obj/item/clothing/under/rank/chaplain)),
+ /obj/item/nullrod, /obj/item/clothing/under/rank/civilian/chaplain)),
"aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo,
/obj/structure/alien, /obj/item/toy/toy_xeno,
@@ -145,21 +145,21 @@ SUBSYSTEM_DEF(traumas)
"birds" = typecacheof(list(/obj/item/clothing/mask/gas/plaguedoctor, /obj/item/reagent_containers/food/snacks/cracker,
/obj/item/clothing/suit/chickensuit, /obj/item/clothing/head/chicken,
- /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/owl, /obj/item/clothing/mask/gas/owl_mask,
- /obj/item/clothing/under/griffin, /obj/item/clothing/shoes/griffin, /obj/item/clothing/head/griffin,
+ /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/costume/owl, /obj/item/clothing/mask/gas/owl_mask,
+ /obj/item/clothing/under/costume/griffin, /obj/item/clothing/shoes/griffin, /obj/item/clothing/head/griffin,
/obj/item/clothing/head/helmet/space/freedom, /obj/item/clothing/suit/space/freedom)),
- "anime" = typecacheof(list(/obj/item/clothing/under/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi,
+ "anime" = typecacheof(list(/obj/item/clothing/under/costume/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi,
/obj/item/reagent_containers/food/drinks/bottle/sake, /obj/item/throwing_star, /obj/item/clothing/head/kitty/genuine, /obj/item/clothing/suit/space/space_ninja,
/obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/twohanded/vibro_weapon,
/obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)),
- "mimes" = typecacheof(list(/obj/item/pda/mime, /obj/item/clothing/under/rank/mime, /obj/item/clothing/mask/gas/mime,
+ "mimes" = typecacheof(list(/obj/item/pda/mime, /obj/item/clothing/under/rank/civilian/mime, /obj/item/clothing/mask/gas/mime,
/obj/item/clothing/head/frenchberet, /obj/item/clothing/suit/suspenders, /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing,
/obj/item/storage/backpack/mime, /obj/item/reagent_containers/food/snacks/grown/banana/mime,
/obj/item/grown/bananapeel/mimanapeel, /obj/item/cartridge/virus/mime, /obj/item/clothing/shoes/sneakers/mime,
/obj/item/bedsheet/mime, /obj/item/reagent_containers/food/snacks/burger/mime, /obj/item/clothing/head/beret, /obj/item/clothing/mask/gas/sexymime,
- /obj/item/clothing/under/sexymime, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)),
+ /obj/item/clothing/under/rank/civilian/mime/sexy, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)),
"cats" = typecacheof(list(/obj/item/organ/ears/cat, /obj/item/organ/tail/cat, /obj/item/laser_pointer, /obj/item/toy/cattoy, /obj/item/clothing/head/kitty,
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat)),
diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm
index 369cf2bbf4..5636be6b2a 100644
--- a/code/datums/components/crafting/recipes/recipes_clothing.dm
+++ b/code/datums/components/crafting/recipes/recipes_clothing.dm
@@ -8,7 +8,7 @@
/datum/crafting_recipe/mummy/body
name = "Mummification Bandages (Body)"
- result = /obj/item/clothing/under/mummy
+ result = /obj/item/clothing/under/costume/mummy
reqs = list(/obj/item/stack/sheet/cloth = 5)
/datum/crafting_recipe/lizardhat
diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm
index 38ae3560e5..ee72745016 100644
--- a/code/datums/components/crafting/recipes/recipes_misc.dm
+++ b/code/datums/components/crafting/recipes/recipes_misc.dm
@@ -278,7 +278,7 @@
result = /obj/item/banner/command/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/captainparade = 1)
+ /obj/item/clothing/under/rank/captain/parade = 1)
category = CAT_MISC
/datum/crafting_recipe/engineering_banner
@@ -286,7 +286,7 @@
result = /obj/item/banner/engineering/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/rank/engineer = 1)
+ /obj/item/clothing/under/rank/engineering/engineer = 1)
category = CAT_MISC
/datum/crafting_recipe/cargo_banner
@@ -294,7 +294,7 @@
result = /obj/item/banner/cargo/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/rank/cargotech = 1)
+ /obj/item/clothing/under/rank/cargo/tech = 1)
category = CAT_MISC
/datum/crafting_recipe/science_banner
@@ -302,7 +302,7 @@
result = /obj/item/banner/science/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/rank/scientist = 1)
+ /obj/item/clothing/under/rank/rnd/scientist = 1)
category = CAT_MISC
/datum/crafting_recipe/medical_banner
@@ -310,7 +310,7 @@
result = /obj/item/banner/medical/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/rank/medical = 1)
+ /obj/item/clothing/under/rank/medical/doctor = 1)
category = CAT_MISC
/datum/crafting_recipe/security_banner
@@ -318,7 +318,7 @@
result = /obj/item/banner/security/mundane
time = 40
reqs = list(/obj/item/stack/rods = 2,
- /obj/item/clothing/under/rank/security = 1)
+ /obj/item/clothing/under/rank/security/officer = 1)
category = CAT_MISC
/datum/crafting_recipe/bloodsucker/vassalrack
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index a76e8234ba..c1baf0a77a 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -269,7 +269,7 @@ Credit where due:
//Servant of Ratvar outfit
/datum/outfit/servant_of_ratvar
name = "Servant of Ratvar"
- uniform = /obj/item/clothing/under/rank/engineer //no more chameleon suit for them, as requested
+ uniform = /obj/item/clothing/under/rank/engineering/engineer //no more chameleon suit for them, as requested
shoes = /obj/item/clothing/shoes/sneakers/black
back = /obj/item/storage/backpack
ears = /obj/item/radio/headset
diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm
index baecd6a1de..ce864007f0 100644
--- a/code/game/gamemodes/clown_ops/bananium_bomb.dm
+++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm
@@ -35,7 +35,7 @@
H.Stun(10)
var/obj/item/clothing/C
if(!H.w_uniform || H.dropItemToGround(H.w_uniform))
- C = new /obj/item/clothing/under/rank/clown(H)
+ C = new /obj/item/clothing/under/rank/civilian/clown(H)
ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT)
H.equip_to_slot_or_del(C, SLOT_W_UNIFORM)
diff --git a/code/game/gamemodes/gangs/gang_datums.dm b/code/game/gamemodes/gangs/gang_datums.dm
index 9d6c03d9f6..c3a9cb0647 100644
--- a/code/game/gamemodes/gangs/gang_datums.dm
+++ b/code/game/gamemodes/gangs/gang_datums.dm
@@ -21,7 +21,7 @@
/datum/team/gang/zerog
name = "Zero-G"
color = "#C0C0C0"
- inner_outfits = list(/obj/item/clothing/under/suit_jacket/white)
+ inner_outfits = list(/obj/item/clothing/under/suit/white)
outer_outfits = list(/obj/item/clothing/suit/hooded/wintercoat)
/datum/team/gang/max
@@ -33,13 +33,13 @@
/datum/team/gang/blasto
name = "Blasto"
color = "#000080"
- inner_outfits = list(/obj/item/clothing/under/suit_jacket/navy)
+ inner_outfits = list(/obj/item/clothing/under/suit/navy)
outer_outfits = list(/obj/item/clothing/suit/jacket/miljacket)
/datum/team/gang/waffle
name = "Waffle"
color = "#808000" //shared color with cyber, but they can keep brown cause waffles.
- inner_outfits = list(/obj/item/clothing/under/suit_jacket/green)
+ inner_outfits = list(/obj/item/clothing/under/suit/green)
outer_outfits = list(/obj/item/clothing/suit/poncho)
/datum/team/gang/north
@@ -87,7 +87,7 @@
/datum/team/gang/tunnel
name = "Tunnel"
color = "#FF00FF" //Gave the leather jacket to the tunnel gang over diablo.
- inner_outfits = list(/obj/item/clothing/under/villain)
+ inner_outfits = list(/obj/item/clothing/under/costume/villain)
outer_outfits = list(/obj/item/clothing/suit/jacket/leather)
/datum/team/gang/diablo
@@ -123,13 +123,13 @@
/datum/team/gang/h
name = "H"
color = "#993333"
- inner_outfits = list(/obj/item/clothing/under/jabroni) //Why not?
+ inner_outfits = list(/obj/item/clothing/under/costume/jabroni) //Why not?
outer_outfits = list(/obj/item/clothing/suit/toggle/owlwings)
/datum/team/gang/rigatonifamily
name = "Rigatoni family"
color = "#cc9900" // p a s t a colored
- inner_outfits = list(/obj/item/clothing/under/rank/chef)
+ inner_outfits = list(/obj/item/clothing/under/rank/civilian/chef)
outer_outfits = list(/obj/item/clothing/suit/apron/chef)
/datum/team/gang/weed
diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm
index b9acba70d9..3f2701c03f 100644
--- a/code/game/objects/effects/spawners/bundle.dm
+++ b/code/game/objects/effects/spawners/bundle.dm
@@ -24,20 +24,20 @@
/obj/effect/spawner/bundle/costume/gladiator
name = "gladiator costume spawner"
items = list(
- /obj/item/clothing/under/gladiator,
+ /obj/item/clothing/under/costume/gladiator,
/obj/item/clothing/head/helmet/gladiator)
/obj/effect/spawner/bundle/costume/madscientist
name = "mad scientist costume spawner"
items = list(
- /obj/item/clothing/under/gimmick/rank/captain/suit,
+ /obj/item/clothing/under/rank/captain/suit,
/obj/item/clothing/head/flatcap,
/obj/item/clothing/suit/toggle/labcoat/mad)
/obj/effect/spawner/bundle/costume/elpresidente
name = "el presidente costume spawner"
items = list(
- /obj/item/clothing/under/gimmick/rank/captain/suit,
+ /obj/item/clothing/under/rank/captain/suit,
/obj/item/clothing/head/flatcap,
/obj/item/clothing/mask/cigarette/cigar/havana,
/obj/item/clothing/shoes/jackboots)
@@ -45,14 +45,14 @@
/obj/effect/spawner/bundle/costume/nyangirl
name = "nyangirl costume spawner"
items = list(
- /obj/item/clothing/under/schoolgirl,
+ /obj/item/clothing/under/costume/schoolgirl,
/obj/item/clothing/head/kitty,
/obj/item/clothing/glasses/sunglasses/blindfold)
/obj/effect/spawner/bundle/costume/maid
name = "maid costume spawner"
items = list(
- /obj/item/clothing/under/skirt/black,
+ /obj/item/clothing/under/dress/skirt,
/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears,
/obj/item/clothing/glasses/sunglasses/blindfold)
@@ -61,13 +61,13 @@
name = "butler costume spawner"
items = list(
/obj/item/clothing/accessory/waistcoat,
- /obj/item/clothing/under/suit_jacket,
+ /obj/item/clothing/under/suit/black,
/obj/item/clothing/head/that)
/obj/effect/spawner/bundle/costume/highlander
name = "highlander costume spawner"
items = list(
- /obj/item/clothing/under/kilt,
+ /obj/item/clothing/under/costume/kilt,
/obj/item/clothing/head/beret)
/obj/effect/spawner/bundle/costume/prig
@@ -78,7 +78,7 @@
/obj/effect/spawner/lootdrop/minor/bowler_or_that,
/obj/item/clothing/shoes/sneakers/black,
/obj/item/cane,
- /obj/item/clothing/under/sl_suit,
+ /obj/item/clothing/under/suit/sl,
/obj/item/clothing/mask/fakemoustache)
/obj/effect/spawner/bundle/costume/plaguedoctor
@@ -92,7 +92,7 @@
name = "night owl costume spawner"
items = list(
/obj/item/clothing/suit/toggle/owlwings,
- /obj/item/clothing/under/owl,
+ /obj/item/clothing/under/costume/owl,
/obj/item/clothing/mask/gas/owl_mask)
/obj/effect/spawner/bundle/costume/griffin
@@ -100,20 +100,20 @@
items = list(
/obj/item/clothing/suit/toggle/owlwings/griffinwings,
/obj/item/clothing/shoes/griffin,
- /obj/item/clothing/under/griffin,
+ /obj/item/clothing/under/costume/griffin,
/obj/item/clothing/head/griffin)
/obj/effect/spawner/bundle/costume/waiter
name = "waiter costume spawner"
items = list(
- /obj/item/clothing/under/waiter,
+ /obj/item/clothing/under/suit/waiter,
/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
/obj/item/clothing/suit/apron)
/obj/effect/spawner/bundle/costume/pirate
name = "pirate costume spawner"
items = list(
- /obj/item/clothing/under/pirate,
+ /obj/item/clothing/under/costume/pirate,
/obj/item/clothing/suit/pirate,
/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
/obj/item/clothing/glasses/eyepatch)
@@ -121,7 +121,7 @@
/obj/effect/spawner/bundle/costume/commie
name = "commie costume spawner"
items = list(
- /obj/item/clothing/under/soviet,
+ /obj/item/clothing/under/costume/soviet,
/obj/item/clothing/head/ushanka)
/obj/effect/spawner/bundle/costume/imperium_monk
@@ -145,7 +145,7 @@
/obj/effect/spawner/bundle/costume/cutewitch
name = "cute witch costume spawner"
items = list(
- /obj/item/clothing/under/sundress,
+ /obj/item/clothing/under/dress/sundress,
/obj/item/clothing/head/witchwig,
/obj/item/staff/broom)
@@ -161,10 +161,10 @@
name = "sexy clown costume spawner"
items = list(
/obj/item/clothing/mask/gas/sexyclown,
- /obj/item/clothing/under/rank/clown/sexy)
+ /obj/item/clothing/under/rank/civilian/clown/sexy)
/obj/effect/spawner/bundle/costume/sexymime
name = "sexy mime costume spawner"
items = list(
/obj/item/clothing/mask/gas/sexymime,
- /obj/item/clothing/under/sexymime)
+ /obj/item/clothing/under/rank/civilian/mime/sexy)
diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm
index 787a5ad2d8..a2145e67ee 100644
--- a/code/game/objects/items/miscellaneous.dm
+++ b/code/game/objects/items/miscellaneous.dm
@@ -79,7 +79,7 @@
/obj/item/storage/box/hero/PopulateContents()
new /obj/item/clothing/head/fedora/curator(src)
new /obj/item/clothing/suit/curator(src)
- new /obj/item/clothing/under/rank/curator/treasure_hunter(src)
+ new /obj/item/clothing/under/rank/civilian/curator/treasure_hunter(src)
new /obj/item/clothing/shoes/workboots/mining(src)
new /obj/item/melee/curator_whip(src)
@@ -96,7 +96,7 @@
name = "Braveheart, the Scottish rebel - 1300's."
/obj/item/storage/box/hero/scottish/PopulateContents()
- new /obj/item/clothing/under/kilt(src)
+ new /obj/item/clothing/under/costume/kilt(src)
new /obj/item/claymore/weak/ceremonial(src)
new /obj/item/toy/crayon/spraycan(src)
new /obj/item/clothing/shoes/sandal(src)
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 2ffa38ea3c..65931db2f5 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -35,7 +35,7 @@ GLOBAL_LIST_INIT(human_recipes, list( \
GLOBAL_LIST_INIT(gondola_recipes, list ( \
new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1), \
- new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/gondola, 2), \
+ new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \
new/datum/stack_recipe("gondola bedsheet", /obj/item/bedsheet/gondola, 1), \
))
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 31886edf2b..a54d126abb 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -427,7 +427,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
* Durathread
*/
GLOBAL_LIST_INIT(durathread_recipes, list ( \
- new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/durathread, 4, time = 40),
+ new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/misc/durathread, 4, time = 40),
new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread bandana", /obj/item/clothing/mask/bandana/durathread, 1, time = 25), \
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index b4e0dab65b..a4d9636414 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -458,7 +458,7 @@
item_state = "duffel-syndieammo"
/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents()
- new /obj/item/clothing/under/lawyer/blacksuit(src)
+ new /obj/item/clothing/under/suit/black(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/toggle/lawyer/black(src)
new /obj/item/clothing/shoes/laceup(src)
@@ -630,7 +630,7 @@
/obj/item/storage/backpack/duffelbag/clown/syndie/PopulateContents()
new /obj/item/pda/clown(src)
- new /obj/item/clothing/under/rank/clown(src)
+ new /obj/item/clothing/under/rank/civilian/clown(src)
new /obj/item/clothing/shoes/clown_shoes(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/bikehorn(src)
diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm
index a0ec1c2306..826a00b90d 100644
--- a/code/game/objects/items/storage/briefcase.dm
+++ b/code/game/objects/items/storage/briefcase.dm
@@ -99,7 +99,7 @@
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm/soporific(src)
new /obj/item/ammo_box/c10mm/soporific(src)
- new /obj/item/clothing/under/lawyer/blacksuit(src)
+ new /obj/item/clothing/under/suit/black(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/toggle/lawyer/black/syndie(src)
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index aeb7bc8f59..a80c568d3c 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -49,7 +49,7 @@
new /obj/item/grenade/plastic/c4(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
- new /obj/item/clothing/under/suit_jacket/really_black(src)
+ new /obj/item/clothing/under/suit/black_really(src)
new /obj/item/screwdriver/power(src) //2 tc item
if("murder") // 35 tc
@@ -130,7 +130,7 @@
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
- new /obj/item/clothing/under/suit_jacket/really_black(src)
+ new /obj/item/clothing/under/suit/black_really(src)
if("metaops") // 30 tc
new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc
@@ -343,7 +343,7 @@
new /obj/item/implanter/radio/syndicate(src)
/obj/item/storage/box/syndie_kit/centcom_costume/PopulateContents()
- new /obj/item/clothing/under/rank/centcom_officer/syndicate(src)
+ new /obj/item/clothing/under/rank/centcom/officer/syndicate(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/radio/headset/headset_cent/empty(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm
index 0adfe77853..89a3ccaa7e 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -11,10 +11,10 @@
new /obj/item/clothing/under/shorts/red(src)
new /obj/item/clothing/under/shorts/blue(src)
new /obj/item/clothing/under/shorts/green(src)
- new /obj/item/clothing/under/jabroni(src)
- new /obj/item/clothing/under/polychromic/shortpants(src)
- new /obj/item/clothing/under/polychromic/shortpants(src)
- new /obj/item/clothing/under/polychromic/shortpants(src)
+ new /obj/item/clothing/under/costume/jabroni(src)
+ new /obj/item/clothing/under/shorts/polychromic(src)
+ new /obj/item/clothing/under/shorts/polychromic(src)
+ new /obj/item/clothing/under/shorts/polychromic(src)
/obj/structure/closet/boxinggloves
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index 6719800340..83827b56b6 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -27,7 +27,7 @@
for(var/i in 1 to 5)
new /obj/item/clothing/head/ushanka(src)
for(var/i in 1 to 5)
- new /obj/item/clothing/under/soviet(src)
+ new /obj/item/clothing/under/costume/soviet(src)
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 897e921e07..21b75e8af3 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -11,10 +11,10 @@
new /obj/item/radio/headset/headset_srv(src)
new /obj/item/radio/headset/headset_srv(src)
new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/under/sl_suit(src)
- new /obj/item/clothing/under/sl_suit(src)
- new /obj/item/clothing/under/rank/bartender(src)
- new /obj/item/clothing/under/rank/bartender(src)
+ new /obj/item/clothing/under/suit/sl(src)
+ new /obj/item/clothing/under/suit/sl(src)
+ new /obj/item/clothing/under/rank/civilian/bartender(src)
+ new /obj/item/clothing/under/rank/civilian/bartender(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/head/soft/black(src)
@@ -37,8 +37,8 @@
/obj/structure/closet/chefcloset/PopulateContents()
..()
- new /obj/item/clothing/under/waiter(src)
- new /obj/item/clothing/under/waiter(src)
+ new /obj/item/clothing/under/suit/waiter(src)
+ new /obj/item/clothing/under/suit/waiter(src)
new /obj/item/radio/headset/headset_srv(src)
new /obj/item/radio/headset/headset_srv(src)
new /obj/item/clothing/accessory/waistcoat(src)
@@ -51,7 +51,7 @@
new /obj/item/storage/box/mousetraps(src)
new /obj/item/circuitboard/machine/dish_drive(src)
new /obj/item/clothing/suit/toggle/chef(src)
- new /obj/item/clothing/under/rank/chef(src)
+ new /obj/item/clothing/under/rank/civilian/chef(src)
new /obj/item/clothing/head/chefhat(src)
new /obj/item/reagent_containers/rag(src)
@@ -62,7 +62,7 @@
/obj/structure/closet/jcloset/PopulateContents()
..()
- new /obj/item/clothing/under/rank/janitor(src)
+ new /obj/item/clothing/under/rank/civilian/janitor(src)
new /obj/item/cartridge/janitor(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/head/soft/purple(src)
@@ -87,14 +87,14 @@
/obj/structure/closet/lawcloset/PopulateContents()
..()
- new /obj/item/clothing/under/lawyer/female(src)
- new /obj/item/clothing/under/lawyer/black(src)
- new /obj/item/clothing/under/lawyer/red(src)
- new /obj/item/clothing/under/lawyer/bluesuit(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/female(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/black(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/red(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/bluesuit(src)
new /obj/item/clothing/suit/toggle/lawyer(src)
- new /obj/item/clothing/under/lawyer/purpsuit(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/purpsuit(src)
new /obj/item/clothing/suit/toggle/lawyer/purple(src)
- new /obj/item/clothing/under/lawyer/blacksuit(src)
+ new /obj/item/clothing/under/rank/civilian/lawyer/black(src)
new /obj/item/clothing/suit/toggle/lawyer/black(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/clothing/shoes/laceup(src)
@@ -109,7 +109,7 @@
/obj/structure/closet/wardrobe/chaplain_black/PopulateContents()
new /obj/item/choice_beacon/holy(src)
new /obj/item/clothing/accessory/pocketprotector/cosmetology(src)
- new /obj/item/clothing/under/rank/chaplain(src)
+ new /obj/item/clothing/under/rank/civilian/chaplain(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/suit/chaplain/nun(src)
new /obj/item/clothing/head/nun_hood(src)
@@ -130,9 +130,9 @@
new /obj/item/storage/backpack/duffelbag/sec(src)
new /obj/item/storage/backpack/duffelbag/sec(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/security(src)
+ new /obj/item/clothing/under/rank/security/officer(src)
for(var/i in 1 to 2)
- new /obj/item/clothing/under/rank/security/skirt(src)
+ new /obj/item/clothing/under/rank/security/officer/skirt(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/jackboots(src)
for(var/i in 1 to 3)
@@ -151,7 +151,7 @@
/obj/structure/closet/wardrobe/cargotech/PopulateContents()
new /obj/item/clothing/suit/hooded/wintercoat/cargo(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/cargotech(src)
+ new /obj/item/clothing/under/rank/cargo/tech(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src)
for(var/i in 1 to 3)
@@ -172,7 +172,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
+ new /obj/item/clothing/under/rank/engineering/atmospheric_technician(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src)
return
@@ -188,7 +188,7 @@
new /obj/item/storage/backpack/satchel/eng(src)
new /obj/item/clothing/suit/hooded/wintercoat/engineering(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/engineer(src)
+ new /obj/item/clothing/under/rank/engineering/engineer(src)
for(var/i in 1 to 3)
new /obj/item/clothing/suit/hazardvest(src)
for(var/i in 1 to 3)
@@ -206,13 +206,13 @@
new /obj/item/storage/backpack/medic(src)
new /obj/item/storage/backpack/satchel/med(src)
new /obj/item/clothing/suit/hooded/wintercoat/medical(src)
- new /obj/item/clothing/under/rank/nursesuit(src)
+ new /obj/item/clothing/under/rank/medical/doctor/nurse(src)
new /obj/item/clothing/head/nursehat(src)
- new /obj/item/clothing/under/rank/medical/blue(src)
- new /obj/item/clothing/under/rank/medical/green(src)
- new /obj/item/clothing/under/rank/medical/purple(src)
+ new /obj/item/clothing/under/rank/medical/doctor/blue(src)
+ new /obj/item/clothing/under/rank/medical/doctor/green(src)
+ new /obj/item/clothing/under/rank/medical/doctor/purple(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/medical(src)
+ new /obj/item/clothing/under/rank/medical/doctor(src)
for(var/i in 1 to 3)
new /obj/item/clothing/suit/toggle/labcoat(src)
for(var/i in 1 to 3)
@@ -230,8 +230,8 @@
/obj/structure/closet/wardrobe/robotics_black/PopulateContents()
new /obj/item/clothing/glasses/hud/diagnostic(src)
new /obj/item/clothing/glasses/hud/diagnostic(src)
- new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/under/rank/roboticist(src)
+ new /obj/item/clothing/under/rank/rnd/roboticist(src)
+ new /obj/item/clothing/under/rank/rnd/roboticist(src)
new /obj/item/clothing/suit/toggle/labcoat(src)
new /obj/item/clothing/suit/toggle/labcoat(src)
new /obj/item/clothing/shoes/sneakers/black(src)
@@ -252,8 +252,8 @@
icon_door = "white"
/obj/structure/closet/wardrobe/chemistry_white/PopulateContents()
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/under/rank/chemist(src)
+ new /obj/item/clothing/under/rank/medical/chemist(src)
+ new /obj/item/clothing/under/rank/medical/chemist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/suit/toggle/labcoat/chemist(src)
@@ -272,8 +272,8 @@
icon_door = "white"
/obj/structure/closet/wardrobe/genetics_white/PopulateContents()
- new /obj/item/clothing/under/rank/geneticist(src)
- new /obj/item/clothing/under/rank/geneticist(src)
+ new /obj/item/clothing/under/rank/medical/geneticist(src)
+ new /obj/item/clothing/under/rank/medical/geneticist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/suit/toggle/labcoat/genetics(src)
@@ -290,8 +290,8 @@
icon_door = "white"
/obj/structure/closet/wardrobe/virology_white/PopulateContents()
- new /obj/item/clothing/under/rank/virologist(src)
- new /obj/item/clothing/under/rank/virologist(src)
+ new /obj/item/clothing/under/rank/medical/virologist(src)
+ new /obj/item/clothing/under/rank/medical/virologist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/clothing/suit/toggle/labcoat/virologist(src)
@@ -316,7 +316,7 @@
new /obj/item/storage/backpack/satchel/tox(src)
new /obj/item/clothing/suit/hooded/wintercoat/science(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/scientist(src)
+ new /obj/item/clothing/under/rank/rnd/scientist(src)
for(var/i in 1 to 3)
new /obj/item/clothing/suit/toggle/labcoat/science(src)
for(var/i in 1 to 3)
@@ -342,7 +342,7 @@
new /obj/item/clothing/suit/apron/overalls(src)
new /obj/item/clothing/suit/apron/overalls(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/rank/hydroponics(src)
+ new /obj/item/clothing/under/rank/civilian/hydroponics(src)
for(var/i in 1 to 3)
new /obj/item/clothing/mask/bandana(src)
@@ -355,7 +355,7 @@
new /obj/item/clothing/accessory/pocketprotector/full(src)
new /obj/item/clothing/head/fedora/curator(src)
new /obj/item/clothing/suit/curator(src)
- new /obj/item/clothing/under/rank/curator/treasure_hunter(src)
+ new /obj/item/clothing/under/rank/civilian/curator/treasure_hunter(src)
new /obj/item/clothing/shoes/workboots/mining(src)
new /obj/item/storage/backpack/satchel/explorer(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index e1537063bd..7f22a49df9 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -8,8 +8,8 @@
new /obj/item/clothing/neck/cloak/qm(src)
new /obj/item/clothing/head/beret/qm(src)
new /obj/item/storage/lockbox/medal/cargo(src)
- new /obj/item/clothing/under/rank/cargo(src)
- new /obj/item/clothing/under/rank/cargo/skirt(src)
+ new /obj/item/clothing/under/rank/cargo/qm(src)
+ new /obj/item/clothing/under/rank/cargo/qm/skirt(src)
new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/radio/headset/heads/qm(src)
new /obj/item/clothing/suit/fire/firefighter(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index bdbc91554d..58d72e6ee0 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -7,8 +7,8 @@
..()
new /obj/item/clothing/neck/cloak/ce(src)
new /obj/item/clothing/head/beret/ce(src)
- new /obj/item/clothing/under/rank/chief_engineer(src)
- new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
+ new /obj/item/clothing/under/rank/engineering/chief_engineer(src)
+ new /obj/item/clothing/under/rank/engineering/chief_engineer/skirt(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/head/hardhat/weldhat/white(src)
new /obj/item/clothing/gloves/color/yellow(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 90b57471b4..a7ffef1a0c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -60,8 +60,9 @@
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/suit/toggle/labcoat/cmo(src)
- new /obj/item/clothing/under/rank/chief_medical_officer(src)
- new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
+ new /obj/item/clothing/under/rank/medical/chief_medical_officer(src)
+ new /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt(src)
+ new /obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck(src)
new /obj/item/clothing/shoes/sneakers/brown (src)
new /obj/item/cartridge/cmo(src)
new /obj/item/radio/headset/heads/cmo(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 3e4497bb45..135e0685c1 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -10,12 +10,12 @@
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/suit/toggle/labcoat(src)
- new /obj/item/clothing/under/rank/research_director(src)
- new /obj/item/clothing/under/rank/research_director/skirt(src)
- new /obj/item/clothing/under/rank/research_director/alt(src)
- new /obj/item/clothing/under/rank/research_director/alt/skirt(src)
- new /obj/item/clothing/under/rank/research_director/turtleneck(src)
- new /obj/item/clothing/under/rank/research_director/turtleneck/skirt(src)
+ new /obj/item/clothing/under/rank/rnd/research_director(src)
+ new /obj/item/clothing/under/rank/rnd/research_director/skirt(src)
+ new /obj/item/clothing/under/rank/rnd/research_director/alt(src)
+ new /obj/item/clothing/under/rank/rnd/research_director/alt/skirt(src)
+ new /obj/item/clothing/under/rank/rnd/research_director/turtleneck(src)
+ new /obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt(src)
new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/cartridge/rd(src)
new /obj/item/clothing/gloves/color/latex(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index bec1c893ae..e5c50af782 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -25,8 +25,8 @@
/obj/structure/closet/secure_closet/hop/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/hop(src)
- new /obj/item/clothing/under/rank/head_of_personnel(src)
- new /obj/item/clothing/under/rank/head_of_personnel/skirt(src)
+ new /obj/item/clothing/under/rank/civilian/head_of_personnel(src)
+ new /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt(src)
new /obj/item/clothing/head/hopcap(src)
new /obj/item/clothing/head/hopcap/beret(src)
new /obj/item/cartridge/hop(src)
@@ -57,17 +57,17 @@
new /obj/item/clothing/neck/cloak/hos(src)
new /obj/item/cartridge/hos(src)
new /obj/item/radio/headset/heads/hos(src)
- new /obj/item/clothing/under/hosparadefem(src)
- new /obj/item/clothing/under/hosparademale(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/parade/female(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/parade(src)
new /obj/item/clothing/suit/armor/vest/leather(src)
new /obj/item/clothing/suit/armor/hos(src)
- new /obj/item/clothing/under/rank/head_of_security/skirt(src)
- new /obj/item/clothing/under/rank/head_of_security/alt(src)
- new /obj/item/clothing/under/rank/head_of_security/alt/skirt(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/skirt(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/alt(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/alt/skirt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars(src)
- new /obj/item/clothing/under/rank/head_of_security/grey(src)
+ new /obj/item/clothing/under/rank/security/head_of_security/grey(src)
new /obj/item/storage/lockbox/medal/sec(src)
new /obj/item/megaphone/sec(src)
new /obj/item/holosign_creator/security(src)
@@ -94,8 +94,8 @@
new /obj/item/clothing/head/warden/drill(src)
new /obj/item/clothing/head/beret/sec/navywarden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
- new /obj/item/clothing/under/rank/warden/navyblue(src)
- new /obj/item/clothing/under/rank/warden/skirt(src)
+ new /obj/item/clothing/under/rank/security/warden/formal(src)
+ new /obj/item/clothing/under/rank/security/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer(src)
@@ -155,13 +155,13 @@
/obj/structure/closet/secure_closet/detective/PopulateContents()
..()
- new /obj/item/clothing/under/rank/det(src)
- new /obj/item/clothing/under/rank/det/skirt(src)
+ new /obj/item/clothing/under/rank/security/detective(src)
+ new /obj/item/clothing/under/rank/security/detective/skirt(src)
new /obj/item/clothing/suit/det_suit(src)
new /obj/item/clothing/head/fedora/det_hat(src)
new /obj/item/clothing/gloves/color/black(src)
- new /obj/item/clothing/under/rank/det/grey(src)
- new /obj/item/clothing/under/rank/det/grey/skirt(src)
+ new /obj/item/clothing/under/rank/security/detective/grey(src)
+ new /obj/item/clothing/under/rank/security/detective/grey/skirt(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/det_suit/grey(src)
new /obj/item/clothing/head/fedora(src)
@@ -286,7 +286,7 @@
..()
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet/sec(src)
- new /obj/item/clothing/under/rank/security(src)
- new /obj/item/clothing/under/rank/security/skirt(src)
+ new /obj/item/clothing/under/rank/security/officer(src)
+ new /obj/item/clothing/under/rank/security/officer/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 1c09b2fd63..a8f3dc0676 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -170,7 +170,7 @@
if(prob(90))
new /obj/item/wirecutters(src)
new /obj/item/clothing/suit/bomb_suit/security(src)
- new /obj/item/clothing/under/rank/security(src)
+ new /obj/item/clothing/under/rank/security/officer(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/head/bomb_hood/security(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 63c8856ac3..fdf382b3ba 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -7,7 +7,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/blue(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/blue(src)
+ new /obj/item/clothing/under/color/jumpskirt/blue(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/brown(src)
return
@@ -18,7 +18,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/pink(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/pink(src)
+ new /obj/item/clothing/under/color/jumpskirt/pink(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/brown(src)
return
@@ -29,7 +29,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/black(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/black(src)
+ new /obj/item/clothing/under/color/jumpskirt/black(src)
if(prob(25))
new /obj/item/clothing/suit/jacket/leather(src)
if(prob(20))
@@ -52,7 +52,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/green(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/green(src)
+ new /obj/item/clothing/under/color/jumpskirt/green(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/mask/bandana/green(src)
@@ -77,7 +77,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/yellow(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/yellow(src)
+ new /obj/item/clothing/under/color/jumpskirt/yellow(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/orange(src)
new /obj/item/clothing/mask/bandana/gold(src)
@@ -90,7 +90,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/white(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/white(src)
+ new /obj/item/clothing/under/color/jumpskirt/white(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/white(src)
for(var/i in 1 to 3)
@@ -100,10 +100,10 @@
name = "pajama wardrobe"
icon_door = "white"
/obj/structure/closet/wardrobe/pjs/PopulateContents()
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/blue(src)
- new /obj/item/clothing/under/pj/blue(src)
+ new /obj/item/clothing/under/misc/pj/red(src)
+ new /obj/item/clothing/under/misc/pj/red(src)
+ new /obj/item/clothing/under/misc/pj/blue(src)
+ new /obj/item/clothing/under/misc/pj/blue(src)
for(var/i in 1 to 4)
new /obj/item/clothing/shoes/sneakers/white(src)
return
@@ -114,7 +114,7 @@
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/grey(src)
for(var/i in 1 to 3)
- new /obj/item/clothing/under/skirt/color/grey(src)
+ new /obj/item/clothing/under/color/jumpskirt/grey(src)
for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src)
for(var/i in 1 to 3)
@@ -125,10 +125,10 @@
new /obj/item/clothing/mask/bandana/black(src)
new /obj/item/clothing/mask/bandana/black(src)
if(prob(40))
- new /obj/item/clothing/under/assistantformal(src)
+ new /obj/item/clothing/under/misc/assistantformal(src)
new /obj/item/clothing/suit/hooded/wintercoat/aformal(src)
if(prob(40))
- new /obj/item/clothing/under/assistantformal(src)
+ new /obj/item/clothing/under/misc/assistantformal(src)
new /obj/item/clothing/suit/hooded/wintercoat/aformal(src)
if(prob(30))
new /obj/item/clothing/suit/hooded/wintercoat(src)
@@ -144,21 +144,21 @@
new /obj/item/clothing/suit/jacket(src)
if(prob(40))
new /obj/item/clothing/suit/jacket(src)
- new /obj/item/clothing/under/polychromic/jumpsuit(src)
- new /obj/item/clothing/under/polychromic/jumpsuit(src)
- new /obj/item/clothing/under/polychromic/jumpsuit(src)
- new /obj/item/clothing/under/polychromic/shirt(src)
- new /obj/item/clothing/under/polychromic/shirt(src)
- new /obj/item/clothing/under/polychromic/shirt(src)
- new /obj/item/clothing/under/polychromic/kilt(src)
- new /obj/item/clothing/under/polychromic/kilt(src)
- new /obj/item/clothing/under/polychromic/kilt(src)
- new /obj/item/clothing/under/polychromic/skirt(src)
- new /obj/item/clothing/under/polychromic/skirt(src)
- new /obj/item/clothing/under/polychromic/skirt(src)
- new /obj/item/clothing/under/polychromic/shorts(src)
- new /obj/item/clothing/under/polychromic/shorts(src)
- new /obj/item/clothing/under/polychromic/shorts(src)
+ new /obj/item/clothing/under/misc/polyjumpsuit(src)
+ new /obj/item/clothing/under/misc/polyjumpsuit(src)
+ new /obj/item/clothing/under/misc/polyjumpsuit(src)
+ new /obj/item/clothing/under/misc/poly_shirt(src)
+ new /obj/item/clothing/under/misc/poly_shirt(src)
+ new /obj/item/clothing/under/misc/poly_shirt(src)
+ new /obj/item/clothing/under/costume/kilt/polychromic(src)
+ new /obj/item/clothing/under/costume/kilt/polychromic(src)
+ new /obj/item/clothing/under/costume/kilt/polychromic(src)
+ new /obj/item/clothing/under/dress/skirt/polychromic(src)
+ new /obj/item/clothing/under/dress/skirt/polychromic(src)
+ new /obj/item/clothing/under/dress/skirt/polychromic(src)
+ new /obj/item/clothing/under/misc/polyshorts(src)
+ new /obj/item/clothing/under/misc/polyshorts(src)
+ new /obj/item/clothing/under/misc/polyshorts(src)
new /obj/item/clothing/mask/bandana/red(src)
new /obj/item/clothing/mask/bandana/red(src)
new /obj/item/clothing/mask/bandana/blue(src)
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 711bc09069..7469bd2e72 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -89,7 +89,7 @@
/datum/outfit/ashwalker
name ="Ashwalker"
head = /obj/item/clothing/head/helmet/gladiator
- uniform = /obj/item/clothing/under/gladiator/ash_walker
+ uniform = /obj/item/clothing/under/costume/gladiator/ash_walker
//Timeless prisons: Spawns in Wish Granter prisons in lavaland. Ghosts become age-old users of the Wish Granter and are advised to seek repentance for their past.
@@ -243,7 +243,7 @@
flavour_text += "you were a [pick("arms dealer", "shipwright", "docking manager")]'s assistant on a small trading station several sectors from here. Raiders attacked, and there was \
only one pod left when you got to the escape bay. You took it and launched it alone, and the crowd of terrified faces crowding at the airlock door as your pod's engines burst to \
life and sent you to this hell are forever branded into your memory."
- outfit.uniform = /obj/item/clothing/under/assistantformal
+ outfit.uniform = /obj/item/clothing/under/misc/assistantformal
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack
if(2)
@@ -256,7 +256,7 @@
if(3)
flavour_text += "you were a doctor on one of Nanotrasen's space stations, but you left behind that damn corporation's tyranny and everything it stood for. From a metaphorical hell \
to a literal one, you find yourself nonetheless missing the recycled air and warm floors of what you left behind... but you'd still rather be here than there."
- outfit.uniform = /obj/item/clothing/under/rank/medical
+ outfit.uniform = /obj/item/clothing/under/rank/medical/doctor
outfit.suit = /obj/item/clothing/suit/toggle/labcoat
outfit.back = /obj/item/storage/backpack/medic
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
@@ -351,7 +351,7 @@
/datum/outfit/hotelstaff
name = "Hotel Staff"
- uniform = /obj/item/clothing/under/telegram
+ uniform = /obj/item/clothing/under/suit/telegram
shoes = /obj/item/clothing/shoes/laceup
head = /obj/item/clothing/head/hotel
r_pocket = /obj/item/radio/off
@@ -371,7 +371,7 @@
/datum/outfit/hotelstaff/security
name = "Hotel Secuirty"
- uniform = /obj/item/clothing/under/rank/security/blueshirt
+ uniform = /obj/item/clothing/under/rank/security/officer/blueshirt
shoes = /obj/item/clothing/shoes/jackboots
suit = /obj/item/clothing/suit/armor/vest/blueshirt
head = /obj/item/clothing/head/helmet/blueshirt
@@ -433,7 +433,7 @@
/datum/outfit/demonic_friend
name = "Demonic Friend"
- uniform = /obj/item/clothing/under/assistantformal
+ uniform = /obj/item/clothing/under/misc/assistantformal
shoes = /obj/item/clothing/shoes/laceup
r_pocket = /obj/item/radio/off
back = /obj/item/storage/backpack
@@ -527,7 +527,7 @@
The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod."
important_info = "Work as a team with your fellow survivors and do not abandon them."
- uniform = /obj/item/clothing/under/rank/security
+ uniform = /obj/item/clothing/under/rank/security/officer
shoes = /obj/item/clothing/shoes/jackboots
id = /obj/item/card/id/away/old/sec
r_pocket = /obj/item/restraints/handcuffs
@@ -555,7 +555,7 @@
you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod."
important_info = "Work as a team with your fellow survivors and do not abandon them."
- uniform = /obj/item/clothing/under/rank/engineer
+ uniform = /obj/item/clothing/under/rank/engineering/engineer
shoes = /obj/item/clothing/shoes/workboots
id = /obj/item/card/id/away/old/eng
gloves = /obj/item/clothing/gloves/color/fyellow/old
@@ -581,7 +581,7 @@
The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod."
important_info = "Work as a team with your fellow survivors and do not abandon them."
- uniform = /obj/item/clothing/under/rank/scientist
+ uniform = /obj/item/clothing/under/rank/rnd/scientist
shoes = /obj/item/clothing/shoes/laceup
id = /obj/item/card/id/away/old/sci
l_pocket = /obj/item/stack/medical/bruise_pack
@@ -703,12 +703,12 @@
if(suited)
uniform = /obj/item/clothing/under/color/grey
else
- uniform = /obj/item/clothing/under/skirt/color/grey
+ uniform = /obj/item/clothing/under/color/jumpskirt/grey
else
if(suited)
uniform = /obj/item/clothing/under/color/random
else
- uniform = /obj/item/clothing/under/skirt/color/random
+ uniform = /obj/item/clothing/under/color/jumpskirt/random
/obj/item/storage/box/syndie_kit/chameleon/ghostcafe
name = "ghost cafe costuming kit"
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 68ae3568af..255b1a10fa 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -415,8 +415,8 @@
H.fully_replace_character_name(H.real_name,newname)
H.update_mutant_bodyparts()
if(animetype == "Yes")
- var/seifuku = pick(typesof(/obj/item/clothing/under/schoolgirl))
- var/obj/item/clothing/under/schoolgirl/I = new seifuku
+ var/seifuku = pick(typesof(/obj/item/clothing/under/costume/schoolgirl))
+ var/obj/item/clothing/under/costume/schoolgirl/I = new seifuku
var/olduniform = H.w_uniform
H.temporarilyRemoveItemFromInventory(H.w_uniform, TRUE, FALSE)
H.equip_to_slot_or_del(I, SLOT_W_UNIFORM)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 51c2ba4fc6..d86211f216 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1880,7 +1880,7 @@
if(ishuman(L))
var/mob/living/carbon/human/observer = L
- observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(observer), SLOT_W_UNIFORM)
+ observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit/black(observer), SLOT_W_UNIFORM)
observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(observer), SLOT_SHOES)
L.Unconscious(100)
sleep(5)
diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm
index 84920eba00..1d0bfde322 100644
--- a/code/modules/antagonists/devil/devil.dm
+++ b/code/modules/antagonists/devil/devil.dm
@@ -414,11 +414,11 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
if(BANISH_FUNERAL_GARB)
if(ishuman(body))
var/mob/living/carbon/human/H = body
- if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/burial))
+ if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/misc/burial))
return 1
return 0
else
- for(var/obj/item/clothing/under/burial/B in range(0,body))
+ for(var/obj/item/clothing/under/misc/burial/B in range(0,body))
if(B.loc == get_turf(B)) //Make sure it's not in someone's inventory or something.
return 1
return 0
@@ -456,7 +456,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
return -1
currentMob.change_mob_type( /mob/living/carbon/human, targetturf, null, 1)
var/mob/living/carbon/human/H = owner.current
- H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/black(H), SLOT_W_UNIFORM)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/civilian/lawyer/black(H), SLOT_W_UNIFORM)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), SLOT_SHOES)
H.equip_to_slot_or_del(new /obj/item/storage/briefcase(H), SLOT_HANDS)
H.equip_to_slot_or_del(new /obj/item/pen(H), SLOT_L_STORE)
diff --git a/code/modules/antagonists/devil/devil_helpers.dm b/code/modules/antagonists/devil/devil_helpers.dm
index d3445eac0f..51d480e64e 100644
--- a/code/modules/antagonists/devil/devil_helpers.dm
+++ b/code/modules/antagonists/devil/devil_helpers.dm
@@ -8,19 +8,19 @@
var/obj/item/clothing/under/U = H.w_uniform
var/static/list/whiteness = list (
/obj/item/clothing/under/color/white = 2,
- /obj/item/clothing/under/rank/bartender = 1,
- /obj/item/clothing/under/rank/chef = 1,
- /obj/item/clothing/under/rank/chief_engineer = 1,
- /obj/item/clothing/under/rank/scientist = 1,
- /obj/item/clothing/under/rank/chemist = 1,
- /obj/item/clothing/under/rank/chief_medical_officer = 1,
- /obj/item/clothing/under/rank/geneticist = 1,
- /obj/item/clothing/under/rank/virologist = 1,
- /obj/item/clothing/under/rank/nursesuit = 1,
- /obj/item/clothing/under/rank/medical = 1,
- /obj/item/clothing/under/rank/det = 1,
- /obj/item/clothing/under/suit_jacket/white = 0.5,
- /obj/item/clothing/under/burial = 1
+ /obj/item/clothing/under/rank/civilian/bartender = 1,
+ /obj/item/clothing/under/rank/civilian/chef = 1,
+ /obj/item/clothing/under/rank/engineering/chief_engineer = 1,
+ /obj/item/clothing/under/rank/rnd/scientist = 1,
+ /obj/item/clothing/under/rank/medical/chemist = 1,
+ /obj/item/clothing/under/rank/medical/chief_medical_officer = 1,
+ /obj/item/clothing/under/rank/medical/geneticist = 1,
+ /obj/item/clothing/under/rank/medical/virologist = 1,
+ /obj/item/clothing/under/rank/medical/doctor/nurse = 1,
+ /obj/item/clothing/under/rank/medical/doctor = 1,
+ /obj/item/clothing/under/rank/security/detective = 1,
+ /obj/item/clothing/under/suit/white = 0.5,
+ /obj/item/clothing/under/misc/burial = 1
)
if(U && whiteness[U.type])
src.visible_message("[src] seems to have been harmed by the purity of [attacker]'s clothes.", "Unsullied white clothing is disrupting your form.")
diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm
index eccf7e3c60..bfd7b50cf8 100644
--- a/code/modules/antagonists/highlander/highlander.dm
+++ b/code/modules/antagonists/highlander/highlander.dm
@@ -45,7 +45,7 @@
qdel(I)
for(var/obj/item/I in H.held_items)
qdel(I)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), SLOT_W_UNIFORM)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/costume/kilt/highlander(H), SLOT_W_UNIFORM)
H.equip_to_slot_or_del(new /obj/item/radio/headset/heads/captain(H), SLOT_EARS)
H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), SLOT_HEAD)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), SLOT_SHOES)
diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm
index 74cfc61d0f..7c63266255 100644
--- a/code/modules/antagonists/wizard/equipment/artefact.dm
+++ b/code/modules/antagonists/wizard/equipment/artefact.dm
@@ -230,7 +230,7 @@
var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionnaire)
H.equip_to_slot_or_del(new hat(H), SLOT_HEAD)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/roman(H), SLOT_W_UNIFORM)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/costume/roman(H), SLOT_W_UNIFORM)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), SLOT_SHOES)
H.put_in_hands(new /obj/item/shield/riot/roman(H), TRUE)
H.put_in_hands(new /obj/item/claymore(H), TRUE)
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 7421b9e09a..f740ed27dd 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -411,7 +411,7 @@
/datum/outfit/spacebartender
name = "Space Bartender"
- uniform = /obj/item/clothing/under/rank/bartender
+ uniform = /obj/item/clothing/under/rank/civilian/bartender
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
@@ -467,7 +467,7 @@
/datum/outfit/nanotrasenbridgeofficercorpse
name = "Bridge Officer Corpse"
ears = /obj/item/radio/headset/heads/hop
- uniform = /obj/item/clothing/under/rank/centcom_officer
+ uniform = /obj/item/clothing/under/rank/centcom/officer
suit = /obj/item/clothing/suit/armor/bulletproof
shoes = /obj/item/clothing/shoes/sneakers/black
glasses = /obj/item/clothing/glasses/sunglasses
@@ -482,7 +482,7 @@
/datum/outfit/nanotrasencommandercorpse
name = "Nanotrasen Private Security Commander"
- uniform = /obj/item/clothing/under/rank/centcom_commander
+ uniform = /obj/item/clothing/under/rank/centcom/commander
suit = /obj/item/clothing/suit/armor/bulletproof
ears = /obj/item/radio/headset/heads/captain
glasses = /obj/item/clothing/glasses/eyepatch
@@ -502,7 +502,7 @@
/datum/outfit/nanotrasensoldiercorpse
name = "NT Private Security Officer Corpse"
- uniform = /obj/item/clothing/under/rank/security
+ uniform = /obj/item/clothing/under/rank/security/officer
suit = /obj/item/clothing/suit/armor/vest
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
@@ -602,7 +602,7 @@
/datum/outfit/cryobartender
name = "Cryogenic Bartender"
- uniform = /obj/item/clothing/under/rank/bartender
+ uniform = /obj/item/clothing/under/rank/civilian/bartender
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
@@ -639,7 +639,7 @@
/datum/outfit/lavaknight
name = "Cydonian Knight"
- uniform = /obj/item/clothing/under/assistantformal
+ uniform = /obj/item/clothing/under/misc/assistantformal
mask = /obj/item/clothing/mask/breath
shoes = /obj/item/clothing/shoes/sneakers/black
r_pocket = /obj/item/melee/transforming/energy/sword/cx
diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm
index a1453f6aa1..e808444ddb 100644
--- a/code/modules/awaymissions/mission_code/Academy.dm
+++ b/code/modules/awaymissions/mission_code/Academy.dm
@@ -299,7 +299,7 @@
/datum/outfit/butler
name = "Butler"
- uniform = /obj/item/clothing/under/suit_jacket/really_black
+ uniform = /obj/item/clothing/under/suit/black_really
shoes = /obj/item/clothing/shoes/laceup
head = /obj/item/clothing/head/bowler
glasses = /obj/item/clothing/glasses/monocle
diff --git a/code/modules/cargo/exports/gear.dm b/code/modules/cargo/exports/gear.dm
index d15fc18b6e..10b3d4f707 100644
--- a/code/modules/cargo/exports/gear.dm
+++ b/code/modules/cargo/exports/gear.dm
@@ -582,18 +582,18 @@ datum/export/gear/glasses //glasses are not worth selling
cost = 10
unit_name = "fancy clothing"
k_elasticity = 1/90 //These will be what sells
- export_types = list(/obj/item/clothing/under/scratch, /obj/item/clothing/under/sl_suit, /obj/item/clothing/under/rank/vice, /obj/item/clothing/under/suit_jacket, \
- /obj/item/clothing/under/burial, /obj/item/clothing/under/skirt/black, /obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, \
- /obj/item/clothing/under/hosparadefem, /obj/item/clothing/under/assistantformal, /obj/item/clothing/under/stripeddress, /obj/item/clothing/under/redeveninggown, \
- /obj/item/clothing/under/plaid_skirt, /obj/item/clothing/under/geisha, /obj/item/clothing/under/trek, /obj/item/clothing/under/rank)
+ export_types = list(/obj/item/clothing/under/suit/white_on_white, /obj/item/clothing/under/suit/sl, /obj/item/clothing/under/misc/vice_officer, /obj/item/clothing/under/suit/black, \
+ /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/dress/skirt, /obj/item/clothing/under/rank/captain/parade, /obj/item/clothing/under/rank/security/head_of_security/parade, \
+ /obj/item/clothing/under/rank/security/head_of_security/parade/female, /obj/item/clothing/under/misc/assistantformal, /obj/item/clothing/under/dress/striped, /obj/item/clothing/under/dress/redeveninggown, \
+ /obj/item/clothing/under/dress/skirt/plaid, /obj/item/clothing/under/costume/geisha, /obj/item/clothing/under/trek, /obj/item/clothing/under/rank)
include_subtypes = TRUE
/datum/export/gear/armored_jumpsuit
cost = 15
unit_name = "armored_jumpsuit"
k_elasticity = 1/90 //These will be what sells
- export_types = list(/obj/item/clothing/under/durathread, /obj/item/clothing/under/rank/security, /obj/item/clothing/under/plasmaman, /obj/item/clothing/under/syndicate, \
- /obj/item/clothing/under/rank/det, /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/security/spacepol)
+ export_types = list(/obj/item/clothing/under/misc/durathread, /obj/item/clothing/under/rank/security/officer, /obj/item/clothing/under/plasmaman, /obj/item/clothing/under/syndicate, \
+ /obj/item/clothing/under/rank/security/detective, /obj/item/clothing/under/rank/security/head_of_security, /obj/item/clothing/under/rank/security/officer/spacepol)
exclude_types = list(/obj/item/clothing/under/syndicate/tacticool, /obj/item/clothing/under/syndicate/tacticool/skirt)
include_subtypes = TRUE
diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm
index fc95b05007..664030da33 100644
--- a/code/modules/cargo/packs/armory.dm
+++ b/code/modules/cargo/packs/armory.dm
@@ -188,7 +188,7 @@
/obj/item/clothing/shoes/russian,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/under/syndicate/rus_army,
- /obj/item/clothing/under/soviet,
+ /obj/item/clothing/under/costume/soviet,
/obj/item/clothing/mask/russian_balaclava,
/obj/item/clothing/head/helmet/rus_ushanka,
/obj/item/clothing/suit/armor/vest/russian_coat,
diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm
index c559e7925a..dab8cad5b6 100644
--- a/code/modules/cargo/packs/costumes_toys.dm
+++ b/code/modules/cargo/packs/costumes_toys.dm
@@ -219,14 +219,14 @@
name = "Formalwear Crate"
desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing."
cost = 4750 //Lots of fancy clothing that can be sold back!
- contains = list(/obj/item/clothing/under/blacktango,
- /obj/item/clothing/under/assistantformal,
- /obj/item/clothing/under/assistantformal,
- /obj/item/clothing/under/lawyer/bluesuit,
+ contains = list(/obj/item/clothing/under/dress/blacktango,
+ /obj/item/clothing/under/misc/assistantformal,
+ /obj/item/clothing/under/misc/assistantformal,
+ /obj/item/clothing/under/rank/civilian/lawyer/bluesuit,
/obj/item/clothing/suit/toggle/lawyer,
- /obj/item/clothing/under/lawyer/purpsuit,
+ /obj/item/clothing/under/rank/civilian/lawyer/purpsuit,
/obj/item/clothing/suit/toggle/lawyer/purple,
- /obj/item/clothing/under/lawyer/blacksuit,
+ /obj/item/clothing/under/suit/black,
/obj/item/clothing/suit/toggle/lawyer/black,
/obj/item/clothing/accessory/waistcoat,
/obj/item/clothing/neck/tie/blue,
@@ -240,11 +240,11 @@
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup,
- /obj/item/clothing/under/suit_jacket/charcoal,
- /obj/item/clothing/under/suit_jacket/navy,
- /obj/item/clothing/under/suit_jacket/burgundy,
- /obj/item/clothing/under/suit_jacket/checkered,
- /obj/item/clothing/under/suit_jacket/tan,
+ /obj/item/clothing/under/suit/charcoal,
+ /obj/item/clothing/under/suit/navy,
+ /obj/item/clothing/under/suit/burgundy,
+ /obj/item/clothing/under/suit/checkered,
+ /obj/item/clothing/under/suit/tan,
/obj/item/lipstick/random)
crate_name = "formalwear crate"
crate_type = /obj/structure/closet/crate/wooden
@@ -277,9 +277,9 @@
contains = list(/obj/item/storage/backpack/clown,
/obj/item/clothing/shoes/clown_shoes,
/obj/item/clothing/mask/gas/clown_hat,
- /obj/item/clothing/under/rank/clown,
+ /obj/item/clothing/under/rank/civilian/clown,
/obj/item/bikehorn,
- /obj/item/clothing/under/rank/mime,
+ /obj/item/clothing/under/rank/civilian/mime,
/obj/item/clothing/shoes/sneakers/black,
/obj/item/clothing/gloves/color/white,
/obj/item/clothing/mask/gas/mime,
diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm
index 80d6f76910..273acb10e2 100644
--- a/code/modules/cargo/packs/misc.dm
+++ b/code/modules/cargo/packs/misc.dm
@@ -274,7 +274,7 @@
name = "Funeral Supplies"
desc = "Mourn your dead properly buy sending them off with love filled notes, clean clothes, and a proper ceremony. Contains two candle packs, funeral garb, flowers, a paperbin , and crayons to help aid in religious rituals. Coffin included."
cost = 1200
- contains = list(/obj/item/clothing/under/burial,
+ contains = list(/obj/item/clothing/under/misc/burial,
/obj/item/storage/fancy/candle_box,
/obj/item/storage/fancy/candle_box,
/obj/item/reagent_containers/food/snacks/grown/harebell,
@@ -419,8 +419,8 @@
/obj/item/dildo/custom,
/obj/item/vending_refill/kink,
/obj/item/vending_refill/kink,
- /obj/item/clothing/under/maid,
- /obj/item/clothing/under/maid,
+ /obj/item/clothing/under/costume/maid,
+ /obj/item/clothing/under/costume/maid,
/obj/item/electropack/shockcollar,
/obj/item/electropack/shockcollar,
/obj/item/restraints/handcuffs/fake/kinky,
diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm
index ffc0d757b5..97b7636f58 100644
--- a/code/modules/cargo/packs/organic.dm
+++ b/code/modules/cargo/packs/organic.dm
@@ -380,7 +380,7 @@
/obj/item/reagent_containers/food/drinks/bottle/cognac,
/obj/item/storage/fancy/cigarettes/cigars/havana,
/obj/item/clothing/gloves/color/white,
- /obj/item/clothing/under/rank/curator,
+ /obj/item/clothing/under/rank/civilian/curator,
/obj/item/gun/ballistic/shotgun/lethal)
access = ACCESS_ARMORY
crate_name = "sporting crate"
diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm
index 90bc837767..aea7b95742 100644
--- a/code/modules/cargo/packs/security.dm
+++ b/code/modules/cargo/packs/security.dm
@@ -139,16 +139,16 @@
name = "Security Clothing Crate"
desc = "Contains appropriate outfits for the station's private security force. Contains outfits for the Warden, Head of Security, and two Security Officers. Each outfit comes with a rank-appropriate jumpsuit, suit, and beret. Requires Security access to open."
cost = 3250
- contains = list(/obj/item/clothing/under/rank/security/navyblue,
- /obj/item/clothing/under/rank/security/navyblue,
+ contains = list(/obj/item/clothing/under/rank/security/officer/formal,
+ /obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/suit/armor/navyblue,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
- /obj/item/clothing/under/rank/warden/navyblue,
+ /obj/item/clothing/under/rank/security/warden/formal,
/obj/item/clothing/suit/armor/vest/warden/navyblue,
/obj/item/clothing/head/beret/sec/navywarden,
- /obj/item/clothing/under/rank/head_of_security/navyblue,
+ /obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/armor/hos/navyblue,
/obj/item/clothing/head/beret/sec/navyhos)
crate_name = "security clothing crate"
diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm
index bdbac1165e..48cc92db61 100644
--- a/code/modules/clothing/outfits/ert.dm
+++ b/code/modules/clothing/outfits/ert.dm
@@ -1,7 +1,7 @@
/datum/outfit/ert
name = "ERT Common"
- uniform = /obj/item/clothing/under/rank/centcom_officer
+ uniform = /obj/item/clothing/under/rank/centcom/officer
shoes = /obj/item/clothing/shoes/combat/swat
gloves = /obj/item/clothing/gloves/combat
ears = /obj/item/radio/headset/headset_cent/alt
@@ -227,7 +227,7 @@
/datum/outfit/centcom_official
name = "CentCom Official"
- uniform = /obj/item/clothing/under/rank/centcom_officer
+ uniform = /obj/item/clothing/under/rank/centcom/officer
shoes = /obj/item/clothing/shoes/sneakers/black
gloves = /obj/item/clothing/gloves/color/black
ears = /obj/item/radio/headset/headset_cent
diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm
index ab2f89ffc4..b1f6e7696d 100644
--- a/code/modules/clothing/outfits/standard.dm
+++ b/code/modules/clothing/outfits/standard.dm
@@ -27,7 +27,7 @@
/datum/outfit/tournament/gangster
name = "tournament gangster"
- uniform = /obj/item/clothing/under/rank/det
+ uniform = /obj/item/clothing/under/rank/security/detective
suit = /obj/item/clothing/suit/det_suit
glasses = /obj/item/clothing/glasses/thermal/monocle
head = /obj/item/clothing/head/fedora/det_hat
@@ -38,7 +38,7 @@
/datum/outfit/tournament/janitor
name = "tournament janitor"
- uniform = /obj/item/clothing/under/rank/janitor
+ uniform = /obj/item/clothing/under/rank/civilian/janitor
back = /obj/item/storage/backpack
suit = null
head = null
@@ -80,7 +80,7 @@
/datum/outfit/pirate
name = "Space Pirate"
- uniform = /obj/item/clothing/under/pirate
+ uniform = /obj/item/clothing/under/costume/pirate
shoes = /obj/item/clothing/shoes/sneakers/brown
suit = /obj/item/clothing/suit/pirate
head = /obj/item/clothing/head/bandana
@@ -113,7 +113,7 @@
/datum/outfit/tunnel_clown
name = "Tunnel Clown"
- uniform = /obj/item/clothing/under/rank/clown
+ uniform = /obj/item/clothing/under/rank/civilian/clown
shoes = /obj/item/clothing/shoes/clown_shoes
gloves = /obj/item/clothing/gloves/color/black
mask = /obj/item/clothing/mask/gas/clown_hat
@@ -138,7 +138,7 @@
/datum/outfit/psycho
name = "Masked Killer"
- uniform = /obj/item/clothing/under/overalls
+ uniform = /obj/item/clothing/under/misc/overalls
shoes = /obj/item/clothing/shoes/sneakers/white
gloves = /obj/item/clothing/gloves/color/latex
mask = /obj/item/clothing/mask/surgical
@@ -160,7 +160,7 @@
/datum/outfit/assassin
name = "Assassin"
- uniform = /obj/item/clothing/under/suit_jacket
+ uniform = /obj/item/clothing/under/suit/black
shoes = /obj/item/clothing/shoes/sneakers/black
gloves = /obj/item/clothing/gloves/color/black
ears = /obj/item/radio/headset
@@ -202,7 +202,7 @@
/datum/outfit/centcom_commander
name = "CentCom Commander"
- uniform = /obj/item/clothing/under/rank/centcom_commander
+ uniform = /obj/item/clothing/under/rank/centcom/commander
suit = /obj/item/clothing/suit/armor/bulletproof
shoes = /obj/item/clothing/shoes/combat/swat
gloves = /obj/item/clothing/gloves/combat
@@ -313,7 +313,7 @@
/datum/outfit/soviet
name = "Soviet Admiral"
- uniform = /obj/item/clothing/under/soviet
+ uniform = /obj/item/clothing/under/costume/soviet
head = /obj/item/clothing/head/pirate/captain
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
@@ -340,7 +340,7 @@
/datum/outfit/mobster
name = "Mobster"
- uniform = /obj/item/clothing/under/suit_jacket/really_black
+ uniform = /obj/item/clothing/under/suit/black_really
head = /obj/item/clothing/head/fedora
shoes = /obj/item/clothing/shoes/laceup
gloves = /obj/item/clothing/gloves/color/black
@@ -426,7 +426,7 @@
/datum/outfit/debug //Debug objs plus hardsuit
name = "Debug outfit"
- uniform = /obj/item/clothing/under/patriotsuit
+ uniform = /obj/item/clothing/under/misc/patriotsuit
suit = /obj/item/clothing/suit/space/hardsuit/syndi/elite/debug
glasses = /obj/item/clothing/glasses/debug
ears = /obj/item/radio/headset/headset_cent/commander
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index ab85a1b59b..cc91391393 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -19,13 +19,26 @@
/obj/item/clothing/under/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE)
. = list()
- if(!isinhands)
- if(damaged_clothes)
- . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform")
- if(blood_DNA)
- . += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color())
- if(accessory_overlay)
- . += accessory_overlay
+ if(isinhands)
+ return
+ if(damaged_clothes)
+ . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform")
+ if(blood_DNA)
+ . += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color())
+ if(accessory_overlay)
+ . += accessory_overlay
+ if(hasprimary) //checks if overlays are enabled
+ var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary") //automagical sprite selection
+ primary_worn.color = primary_color //colors the overlay
+ . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite.
+ if(hassecondary)
+ var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary")
+ secondary_worn.color = secondary_color
+ . += secondary_worn
+ if(hastertiary)
+ var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[item_color]-tertiary")
+ tertiary_worn.color = tertiary_color
+ . += tertiary_worn
/obj/item/clothing/under/attackby(obj/item/I, mob/user, params)
if((has_sensor == BROKEN_SENSORS) && istype(I, /obj/item/stack/cable_coil))
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index a18b7e5817..6b40e08af9 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -1,7 +1,7 @@
/obj/item/clothing/under/color
desc = "A standard issue colored jumpsuit. Variety is the spice of life!"
-/obj/item/clothing/under/skirt/color
+/obj/item/clothing/under/color/jumpskirt
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -11,7 +11,7 @@
/obj/item/clothing/under/color/random/Initialize()
..()
- var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - subtypesof(/obj/item/clothing/under/skirt/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost)
+ var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - subtypesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost)
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -20,12 +20,12 @@
new C(loc)
return INITIALIZE_HINT_QDEL
-/obj/item/clothing/under/skirt/color/random
+/obj/item/clothing/under/color/jumpskirt/random
icon_state = "random_jumpsuit" //Skirt variant needed
-/obj/item/clothing/under/skirt/color/random/Initialize()
+/obj/item/clothing/under/color/jumpskirt/random/Initialize()
..()
- var/obj/item/clothing/under/skirt/color/C = pick(subtypesof(/obj/item/clothing/under/skirt/color) - /obj/item/clothing/under/skirt/color/random)
+ var/obj/item/clothing/under/color/jumpskirt/C = pick(subtypesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/jumpskirt/random)
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM)
@@ -45,7 +45,7 @@
desc = "A black jumpsuit that has its sensors removed."
has_sensor = NO_SENSORS
-/obj/item/clothing/under/skirt/color/black
+/obj/item/clothing/under/color/jumpskirt/black
name = "black jumpskirt"
icon_state = "black_skirt"
item_state = "bl_suit"
@@ -68,7 +68,7 @@
item_state = "gy_suit"
item_color = "grey"
-/obj/item/clothing/under/skirt/color/grey
+/obj/item/clothing/under/color/jumpskirt/grey
name = "grey jumpskirt"
desc = "A tasteful grey jumpskirt that reminds you of the good old days."
icon_state = "grey_skirt"
@@ -89,7 +89,7 @@
item_state = "b_suit"
item_color = "blue"
-/obj/item/clothing/under/skirt/color/blue
+/obj/item/clothing/under/color/jumpskirt/blue
name = "blue jumpskirt"
icon_state = "blue_skirt"
item_state = "b_suit"
@@ -101,7 +101,7 @@
item_state = "g_suit"
item_color = "green"
-/obj/item/clothing/under/skirt/color/green
+/obj/item/clothing/under/color/jumpskirt/green
name = "green jumpskirt"
icon_state = "green_skirt"
item_state = "g_suit"
@@ -114,7 +114,7 @@
item_state = "o_suit"
item_color = "orange"
-/obj/item/clothing/under/skirt/color/orange
+/obj/item/clothing/under/color/jumpskirt/orange
name = "orange jumpskirt"
icon_state = "orange_skirt"
item_state = "o_suit"
@@ -127,7 +127,7 @@
item_state = "p_suit"
item_color = "pink"
-/obj/item/clothing/under/skirt/color/pink
+/obj/item/clothing/under/color/jumpskirt/pink
name = "pink jumpskirt"
icon_state = "pink_skirt"
item_state = "p_suit"
@@ -139,7 +139,7 @@
item_state = "r_suit"
item_color = "red"
-/obj/item/clothing/under/skirt/color/red
+/obj/item/clothing/under/color/jumpskirt/red
name = "red jumpskirt"
icon_state = "red_skirt"
item_state = "r_suit"
@@ -151,7 +151,7 @@
item_state = "w_suit"
item_color = "white"
-/obj/item/clothing/under/skirt/color/white
+/obj/item/clothing/under/color/jumpskirt/white
name = "white jumpskirt"
icon_state = "white_skirt"
item_state = "w_suit"
@@ -163,7 +163,7 @@
item_state = "y_suit"
item_color = "yellow"
-/obj/item/clothing/under/skirt/color/yellow
+/obj/item/clothing/under/color/jumpskirt/yellow
name = "yellow jumpskirt"
icon_state = "yellow_skirt"
item_state = "y_suit"
@@ -175,7 +175,7 @@
item_state = "b_suit"
item_color = "darkblue"
-/obj/item/clothing/under/skirt/color/darkblue
+/obj/item/clothing/under/color/jumpskirt/darkblue
name = "darkblue jumpskirt"
icon_state = "darkblue_skirt"
item_state = "b_suit"
@@ -187,7 +187,7 @@
item_state = "b_suit"
item_color = "teal"
-/obj/item/clothing/under/skirt/color/teal
+/obj/item/clothing/under/color/jumpskirt/teal
name = "teal jumpskirt"
icon_state = "teal_skirt"
item_state = "b_suit"
@@ -203,7 +203,7 @@
desc = "A magically colored jumpsuit. No sensors are attached!"
has_sensor = NO_SENSORS
-/obj/item/clothing/under/skirt/color/lightpurple
+/obj/item/clothing/under/color/jumpskirt/lightpurple
name = "lightpurple jumpskirt"
icon_state = "lightpurple_skirt"
item_state = "p_suit"
@@ -215,7 +215,7 @@
item_state = "g_suit"
item_color = "darkgreen"
-/obj/item/clothing/under/skirt/color/darkgreen
+/obj/item/clothing/under/color/jumpskirt/darkgreen
name = "darkgreen jumpskirt"
icon_state = "darkgreen_skirt"
item_state = "g_suit"
@@ -227,7 +227,7 @@
item_state = "lb_suit"
item_color = "lightbrown"
-/obj/item/clothing/under/skirt/color/lightbrown
+/obj/item/clothing/under/color/jumpskirt/lightbrown
name = "lightbrown jumpskirt"
icon_state = "lightbrown_skirt"
item_state = "lb_suit"
@@ -239,7 +239,7 @@
item_state = "lb_suit"
item_color = "brown"
-/obj/item/clothing/under/skirt/color/brown
+/obj/item/clothing/under/color/jumpskirt/brown
name = "brown jumpskirt"
icon_state = "brown_skirt"
item_state = "lb_suit"
@@ -251,7 +251,7 @@
item_state = "r_suit"
item_color = "maroon"
-/obj/item/clothing/under/skirt/color/maroon
+/obj/item/clothing/under/color/jumpskirt/maroon
name = "maroon jumpskirt"
icon_state = "maroon_skirt"
item_state = "r_suit"
@@ -265,7 +265,7 @@
item_color = "rainbow"
can_adjust = FALSE
-/obj/item/clothing/under/skirt/color/rainbow
+/obj/item/clothing/under/color/jumpskirt/rainbow
name = "rainbow jumpskirt"
desc = "A multi-colored jumpskirt!"
icon_state = "rainbow_skirt"
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
new file mode 100644
index 0000000000..be142a04ff
--- /dev/null
+++ b/code/modules/clothing/under/costume.dm
@@ -0,0 +1,351 @@
+/obj/item/clothing/under/costume/roman
+ name = "\improper Roman armor"
+ desc = "Ancient Roman armor. Made of metallic and leather straps."
+ icon_state = "roman"
+ item_color = "roman"
+ item_state = "armor"
+ can_adjust = FALSE
+ strip_delay = 100
+ resistance_flags = NONE
+
+/obj/item/clothing/under/costume/jabroni
+ name = "Jabroni Outfit"
+ desc = "The leather club is two sectors down."
+ icon_state = "darkholme"
+ item_state = "darkholme"
+ item_color = "darkholme"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/owl
+ name = "owl uniform"
+ desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
+ icon_state = "owl"
+ item_color = "owl"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/griffin
+ name = "griffon uniform"
+ desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
+ icon_state = "griffin"
+ item_color = "griffin"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/schoolgirl
+ name = "blue schoolgirl uniform"
+ desc = "It's just like one of my Japanese animes!"
+ icon_state = "schoolgirl"
+ item_state = "schoolgirl"
+ item_color = "schoolgirl"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/schoolgirl/red
+ name = "red schoolgirl uniform"
+ icon_state = "schoolgirlred"
+ item_state = "schoolgirlred"
+ item_color = "schoolgirlred"
+
+/obj/item/clothing/under/costume/schoolgirl/green
+ name = "green schoolgirl uniform"
+ icon_state = "schoolgirlgreen"
+ item_state = "schoolgirlgreen"
+ item_color = "schoolgirlgreen"
+
+/obj/item/clothing/under/costume/schoolgirl/orange
+ name = "orange schoolgirl uniform"
+ icon_state = "schoolgirlorange"
+ item_state = "schoolgirlorange"
+ item_color = "schoolgirlorange"
+
+/obj/item/clothing/under/costume/pirate
+ name = "pirate outfit"
+ desc = "Yarr."
+ icon_state = "pirate"
+ item_state = "pirate"
+ item_color = "pirate"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/soviet
+ name = "soviet uniform"
+ desc = "For the Motherland!"
+ icon_state = "soviet"
+ item_state = "soviet"
+ item_color = "soviet"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/redcoat
+ name = "redcoat uniform"
+ desc = "Looks old."
+ icon_state = "redcoat"
+ item_state = "redcoat"
+ item_color = "redcoat"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/kilt
+ name = "kilt"
+ desc = "Includes shoes and plaid."
+ icon_state = "kilt"
+ item_state = "kilt"
+ item_color = "kilt"
+ body_parts_covered = CHEST|GROIN|LEGS|FEET
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/kilt/highlander
+ desc = "You're the only one worthy of this kilt."
+
+/obj/item/clothing/under/costume/kilt/highlander/Initialize()
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, HIGHLANDER)
+
+/obj/item/clothing/under/costume/kilt/polychromic
+ name = "polychromic kilt"
+ desc = "It's not a skirt!"
+ icon_state = "polykilt"
+ item_color = "polykilt"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#F08080"
+ body_parts_covered = CHEST|GROIN|ARMS|LEGS
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/gladiator
+ name = "gladiator uniform"
+ desc = "Are you not entertained? Is that not why you are here?"
+ icon_state = "gladiator"
+ item_state = "gladiator"
+ item_color = "gladiator"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+ resistance_flags = NONE
+
+/obj/item/clothing/under/costume/gladiator/ash_walker
+ desc = "This gladiator uniform appears to be covered in ash and fairly dated."
+ has_sensor = NO_SENSORS
+
+/obj/item/clothing/under/costume/maid
+ name = "maid costume"
+ desc = "Maid in China."
+ icon_state = "maid"
+ item_state = "maid"
+ item_color = "maid"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/maid/Initialize()
+ . = ..()
+ var/obj/item/clothing/accessory/maidapron/A = new (src)
+ attach_accessory(A)
+
+/obj/item/clothing/under/costume/singer/yellow
+ name = "yellow performer's outfit"
+ desc = "Just looking at this makes you want to sing."
+ icon_state = "ysing"
+ item_state = "ysing"
+ item_color = "ysing"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = NO_FEMALE_UNIFORM
+ alternate_worn_layer = ABOVE_SHOES_LAYER
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/singer/blue
+ name = "blue performer's outfit"
+ desc = "Just looking at this makes you want to sing."
+ icon_state = "bsing"
+ item_state = "bsing"
+ item_color = "bsing"
+ body_parts_covered = CHEST|GROIN|ARMS
+ alternate_worn_layer = ABOVE_SHOES_LAYER
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/geisha
+ name = "geisha suit"
+ desc = "Cute space ninja senpai not included."
+ icon_state = "geisha"
+ item_color = "geisha"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/villain
+ name = "villain suit"
+ desc = "A change of wardrobe is necessary if you ever want to catch a real superhero."
+ icon_state = "villain"
+ item_color = "villain"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/sailor
+ name = "sailor suit"
+ desc = "Skipper's in the wardroom drinkin gin'."
+ icon_state = "sailor"
+ item_state = "b_suit"
+ item_color = "sailor"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/russian_officer
+ name = "\improper Russian officer's uniform"
+ desc = "The latest in fashionable russian outfits."
+ icon_state = "hostanclothes"
+ item_state = "hostanclothes"
+ item_color = "hostanclothes"
+
+/obj/item/clothing/under/costume/mummy
+ name = "mummy wrapping"
+ desc = "Return the slab or suffer my stale references."
+ icon_state = "mummy"
+ item_state = "mummy"
+ item_color = "mummy"
+ body_parts_covered = CHEST|GROIN|ARMS|LEGS
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+ resistance_flags = NONE
+
+/obj/item/clothing/under/costume/scarecrow
+ name = "scarecrow clothes"
+ desc = "Perfect camouflage for hiding in botany."
+ icon_state = "scarecrow"
+ item_state = "scarecrow"
+ item_color = "scarecrow"
+ body_parts_covered = CHEST|GROIN|ARMS|LEGS
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+ resistance_flags = NONE
+
+/obj/item/clothing/under/costume/draculass
+ name = "draculass coat"
+ desc = "A dress inspired by the ancient \"Victorian\" era."
+ icon_state = "draculass"
+ item_state = "draculass"
+ item_color = "draculass"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/drfreeze
+ name = "doctor freeze's jumpsuit"
+ desc = "A modified scientist jumpsuit to look extra cool."
+ icon_state = "drfreeze"
+ item_state = "drfreeze"
+ item_color = "drfreeze"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/lobster
+ name = "foam lobster suit"
+ desc = "Who beheaded the college mascot?"
+ icon_state = "lobster"
+ item_state = "lobster"
+ item_color = "lobster"
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/gondola
+ name = "gondola hide suit"
+ desc = "Now you're cooking."
+ icon_state = "gondola"
+ item_state = "lb_suit"
+ item_color = "gondola"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/skeleton
+ name = "skeleton jumpsuit"
+ desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!"
+ icon_state = "skeleton"
+ item_state = "skeleton"
+ item_color = "skeleton"
+ body_parts_covered = CHEST|GROIN|ARMS|LEGS
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+ resistance_flags = NONE
+
+//Christmas Clothes
+/obj/item/clothing/under/costume/christmas
+ name = "red christmas suit"
+ desc = "A simple red christmas suit that looks close to Santa's!"
+ icon_state = "christmasmaler"
+ item_state = "christmasmaler"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/christmas/green
+ name = "green christmas suit"
+ desc = "A simple green christmas suit. Smells minty!"
+ icon_state = "christmasmaleg"
+ item_state = "christmasmaleg"
+
+/obj/item/clothing/under/costume/christmas/croptop
+ name = "red croptop christmas suit"
+ desc = "A simple red christmas suit that doesn't quite looks like Mrs Claus'."
+ icon_state = "christmasfemaler"
+ item_state = "christmasfemaler"
+ body_parts_covered = CHEST|GROIN
+
+/obj/item/clothing/under/costume/christmas/croptop/green
+ name = "green feminine christmas suit"
+ desc = "A simple green christmas suit. Smells minty!"
+ icon_state = "christmasfemaleg"
+ item_state = "christmasfemaleg"
+
+// Lunar Clothes
+/obj/item/clothing/under/costume/qipao
+ name = "Black Qipao"
+ desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is black."
+ icon_state = "qipao"
+ item_state = "qipao"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/qipao/white
+ name = "White Qipao"
+ desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is white."
+ icon_state = "qipao_white"
+ item_state = "qipao_white"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/qipao/red
+ name = "Red Qipao"
+ desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is red."
+ icon_state = "qipao_red"
+ item_state = "qipao_red"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/cheongsam
+ name = "Black Cheongsam"
+ desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is black."
+ icon_state = "cheong"
+ item_state = "cheong"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/cheongsam/white
+ name = "White Cheongsam"
+ desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is white."
+ icon_state = "cheongw"
+ item_state = "cheongw"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/cheongsam/red
+ name = "Red Cheongsam"
+ desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is red.."
+ icon_state = "cheongr"
+ item_state = "cheongr"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/costume/cloud
+ name = "cloud"
+ desc = "cloud"
+ icon_state = "cloud"
+ item_color = "cloud"
+ can_adjust = FALSE
diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm
new file mode 100644
index 0000000000..5727ebc0e9
--- /dev/null
+++ b/code/modules/clothing/under/jobs/cargo.dm
@@ -0,0 +1,51 @@
+
+/obj/item/clothing/under/rank/cargo/qm
+ name = "quartermaster's jumpsuit"
+ desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
+ icon_state = "qm"
+ item_state = "lb_suit"
+ item_color = "qm"
+
+/obj/item/clothing/under/rank/cargo/qm/skirt
+ name = "quartermaster's jumpskirt"
+ desc = "It's a jumpskirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
+ icon_state = "qm_skirt"
+ item_state = "lb_suit"
+ item_color = "qm_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/cargo/tech
+ name = "cargo technician's jumpsuit"
+ desc = "Shooooorts! They're comfy and easy to wear!"
+ icon_state = "cargotech"
+ item_state = "lb_suit"
+ item_color = "cargo"
+ body_parts_covered = CHEST|GROIN|ARMS
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/cargo/tech/skirt
+ name = "cargo technician's jumpskirt"
+ desc = "Skiiiiirts! They're comfy and easy to wear"
+ icon_state = "cargo_skirt"
+ item_state = "lb_suit"
+ item_color = "cargo_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/cargo/miner
+ desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
+ name = "shaft miner's jumpsuit"
+ icon_state = "miner"
+ item_state = "miner"
+ item_color = "miner"
+
+/obj/item/clothing/under/rank/cargo/miner/lavaland
+ desc = "A green uniform for operating in hazardous environments."
+ name = "shaft miner's jumpsuit"
+ icon_state = "explorer"
+ item_state = "explorer"
+ item_color = "explorer"
+ can_adjust = FALSE
diff --git a/code/modules/clothing/under/jobs/centcom.dm b/code/modules/clothing/under/jobs/centcom.dm
new file mode 100644
index 0000000000..3ee210612e
--- /dev/null
+++ b/code/modules/clothing/under/jobs/centcom.dm
@@ -0,0 +1,17 @@
+/obj/item/clothing/under/rank/centcom/officer
+ desc = "It's a jumpsuit worn by CentCom Officers."
+ name = "\improper CentCom officer's jumpsuit"
+ icon_state = "officer"
+ item_state = "g_suit"
+ item_color = "officer"
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/centcom/officer/syndicate
+ has_sensor = NO_SENSORS
+
+/obj/item/clothing/under/rank/centcom/commander
+ desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
+ name = "\improper CentCom officer's jumpsuit"
+ icon_state = "centcom"
+ item_state = "dg_suit"
+ item_color = "centcom"
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
deleted file mode 100644
index 2d0e2055ab..0000000000
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ /dev/null
@@ -1,424 +0,0 @@
-//Alphabetical order of civilian jobs.
-
-/obj/item/clothing/under/rank/bartender
- desc = "It looks like it could use some more flair."
- name = "bartender's uniform"
- icon_state = "barman"
- item_state = "bar_suit"
- item_color = "barman"
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/rank/bartender/purple
- desc = "It looks like it has lots of flair!"
- name = "purple bartender's uniform"
- icon_state = "purplebartender"
- item_state = "purplebartender"
- item_color = "purplebartender"
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/bartender/skirt
- name = "bartender's skirt"
- desc = "It looks like it could use some more flair."
- icon_state = "barman_skirt"
- item_state = "bar_suit"
- item_color = "barman_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
- desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
- name = "captain's jumpsuit"
- icon_state = "captain"
- item_state = "b_suit"
- item_color = "captain"
- sensor_mode = SENSOR_COORDS
- random_sensor = FALSE
-
-/obj/item/clothing/under/rank/captain/skirt
- name = "captain's jumpskirt"
- desc = "It's a blue jumpskirt with some gold markings denoting the rank of \"Captain\"."
- icon_state = "captain_skirt"
- item_state = "b_suit"
- item_color = "captain_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/cargo
- name = "quartermaster's jumpsuit"
- desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
- icon_state = "qm"
- item_state = "lb_suit"
- item_color = "qm"
-
-/obj/item/clothing/under/rank/cargo/skirt
- name = "quartermaster's jumpskirt"
- desc = "It's a jumpskirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
- icon_state = "qm_skirt"
- item_state = "lb_suit"
- item_color = "qm_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/cargotech
- name = "cargo technician's jumpsuit"
- desc = "Shooooorts! They're comfy and easy to wear!"
- icon_state = "cargotech"
- item_state = "lb_suit"
- item_color = "cargo"
- body_parts_covered = CHEST|GROIN|ARMS
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/rank/cargotech/skirt
- name = "cargo technician's jumpskirt"
- desc = "Skiiiiirts! They're comfy and easy to wear"
- icon_state = "cargo_skirt"
- item_state = "lb_suit"
- item_color = "cargo_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/chaplain
- desc = "It's a black jumpsuit, often worn by religious folk."
- name = "chaplain's jumpsuit"
- icon_state = "chaplain"
- item_state = "bl_suit"
- item_color = "chapblack"
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/chaplain/skirt
- name = "chaplain's jumpskirt"
- desc = "It's a black jumpskirt, often worn by religious folk."
- icon_state = "chapblack_skirt"
- item_state = "bl_suit"
- item_color = "chapblack_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/chef
- name = "cook's suit"
- desc = "A suit which is given only to the most hardcore cooks in space."
- icon_state = "chef"
- item_color = "chef"
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/rank/chef/skirt
- name = "cook's skirt"
- desc = "A skirt which is given only to the most hardcore cooks in space."
- icon_state = "chef_skirt"
- item_color = "chef_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/clown
- name = "clown suit"
- desc = "'HONK!'"
- icon_state = "clown"
- item_state = "clown"
- item_color = "clown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-/obj/item/clothing/under/rank/blueclown
- name = "blue clown suit"
- desc = "'BLUE HONK!'"
- icon_state = "blueclown"
- item_state = "blueclown"
- item_color = "blueclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/greenclown
- name = "green clown suit"
- desc = "'GREEN HONK!'"
- icon_state = "greenclown"
- item_state = "greenclown"
- item_color = "greenclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/yellowclown
- name = "yellow clown suit"
- desc = "'YELLOW HONK!'"
- icon_state = "yellowclown"
- item_state = "yellowclown"
- item_color = "yellowclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/purpleclown
- name = "purple clown suit"
- desc = "'PURPLE HONK!'"
- icon_state = "purpleclown"
- item_state = "purpleclown"
- item_color = "purpleclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/orangeclown
- name = "orange clown suit"
- desc = "'ORANGE HONK!'"
- icon_state = "orangeclown"
- item_state = "orangeclown"
- item_color = "orangeclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/rainbowclown
- name = "rainbow clown suit"
- desc = "'R A I N B O W HONK!'"
- icon_state = "rainbowclown"
- item_state = "rainbowclown"
- item_color = "rainbowclown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/clown/Initialize()
- . = ..()
- AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)
-/obj/item/clothing/under/rank/head_of_personnel
- desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
- name = "head of personnel's jumpsuit"
- icon_state = "hop"
- item_state = "b_suit"
- item_color = "hop"
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/head_of_personnel/skirt
- name = "head of personnel's jumpskirt"
- desc = "It's a jumpskirt worn by someone who works in the position of \"Head of Personnel\"."
- icon_state = "hop_skirt"
- item_state = "b_suit"
- item_color = "hop_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/hydroponics
- desc = "It's a jumpsuit designed to protect against minor plant-related hazards."
- name = "botanist's jumpsuit"
- icon_state = "hydroponics"
- item_state = "g_suit"
- item_color = "hydroponics"
- permeability_coefficient = 0.5
-
-/obj/item/clothing/under/rank/hydroponics/skirt
- name = "botanist's jumpskirt"
- desc = "It's a jumpskirt designed to protect against minor plant-related hazards."
- icon_state = "hydroponics_skirt"
- item_state = "g_suit"
- item_color = "hydroponics_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/janitor
- desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
- name = "janitor's jumpsuit"
- icon_state = "janitor"
- item_color = "janitor"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
-
-/obj/item/clothing/under/rank/janitor/skirt
- name = "janitor's jumpskirt"
- desc = "It's the official skirt of the station's janitor. It has minor protection from biohazards."
- icon_state = "janitor_skirt"
- item_color = "janitor_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer
- desc = "Slick threads."
- name = "Lawyer suit"
- can_adjust = FALSE
-/obj/item/clothing/under/lawyer/black
- name = "lawyer black suit"
- icon_state = "lawyer_black"
- item_state = "lawyer_black"
- item_color = "lawyer_black"
-
-/obj/item/clothing/under/lawyer/black/skirt
- name = "lawyer black suitskirt"
- icon_state = "lawyer_black_skirt"
- item_state = "lawyer_black"
- item_color = "lawyer_black_skirt"
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/female
- name = "female black suit"
- icon_state = "black_suit_fem"
- item_state = "bl_suit"
- item_color = "black_suit_fem"
-
-/obj/item/clothing/under/lawyer/red
- name = "lawyer red suit"
- icon_state = "lawyer_red"
- item_state = "lawyer_red"
- item_color = "lawyer_red"
-
-/obj/item/clothing/under/lawyer/female/skirt
- name = "female black suitskirt"
- icon_state = "black_suit_fem_skirt"
- item_state = "bl_suit"
- item_color = "black_suit_fem_skirt"
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/red/skirt
- name = "lawyer red suitskirt"
- icon_state = "lawyer_red_skirt"
- item_state = "lawyer_red"
- item_color = "lawyer_red_skirt"
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/blue
- name = "lawyer blue suit"
- icon_state = "lawyer_blue"
- item_state = "lawyer_blue"
- item_color = "lawyer_blue"
-
-/obj/item/clothing/under/lawyer/blue/skirt
- name = "lawyer blue suitskirt"
- icon_state = "lawyer_blue_skirt"
- item_state = "lawyer_blue"
- item_color = "lawyer_blue_skirt"
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/bluesuit
- name = "blue suit"
- desc = "A classy suit and tie."
- icon_state = "bluesuit"
- item_state = "b_suit"
- item_color = "bluesuit"
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/lawyer/bluesuit/skirt
- name = "blue suitskirt"
- desc = "A classy suitskirt and tie."
- icon_state = "bluesuit_skirt"
- item_state = "b_suit"
- item_color = "bluesuit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/purpsuit
- name = "purple suit"
- icon_state = "lawyer_purp"
- item_state = "p_suit"
- item_color = "lawyer_purp"
- fitted = NO_FEMALE_UNIFORM
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/lawyer/purpsuit/skirt
- name = "purple suitskirt"
- icon_state = "lawyer_purp_skirt"
- item_state = "p_suit"
- item_color = "lawyer_purp_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/lawyer/blacksuit
- name = "black suit"
- desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
- icon_state = "blacksuit"
- item_state = "bar_suit"
- item_color = "blacksuit"
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/lawyer/blacksuit/skirt
- name = "black suitskirt"
- desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
- icon_state = "blacksuit_skirt"
- item_state = "bar_suit"
- item_color = "blacksuit_skirt"
- can_adjust = FALSE
- alt_covers_chest = TRUE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/curator
- name = "sensible suit"
- desc = "It's very... sensible."
- icon_state = "red_suit"
- item_state = "red_suit"
- item_color = "red_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/lawyer/really_black
- name = "executive suit"
- desc = "A formal black suit and red tie, intended for the station's finest."
- icon_state = "really_black_suit"
- item_state = "bl_suit"
- item_color = "really_black_suit"
-
-/obj/item/clothing/under/lawyer/really_black/skirt
- name = "executive suitskirt"
- desc = "A formal black suitskirt and red tie, intended for the station's finest."
- icon_state = "really_black_suit_skirt"
- item_state = "bl_suit"
- item_color = "really_black_suit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/curator/skirt
- name = "sensible suitskirt"
- desc = "It's very... sensible."
- icon_state = "red_suit_skirt"
- item_state = "red_suit"
- item_color = "red_suit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/curator/treasure_hunter
- name = "treasure hunter uniform"
- desc = "A rugged uniform suitable for treasure hunting."
- icon_state = "curator"
- item_state = "curator"
- item_color = "curator"
-
-/obj/item/clothing/under/rank/mime
- name = "mime's outfit"
- desc = "It's not very colourful."
- icon_state = "mime"
- item_state = "mime"
- item_color = "mime"
-
-/obj/item/clothing/under/rank/mime/skirt
- name = "mime's skirt"
- desc = "It's not very colourful."
- icon_state = "mime_skirt"
- item_state = "mime"
- item_color = "mime_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/miner
- desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
- name = "shaft miner's jumpsuit"
- icon_state = "miner"
- item_state = "miner"
- item_color = "miner"
-/obj/item/clothing/under/rank/miner/lavaland
- desc = "A green uniform for operating in hazardous environments."
- name = "shaft miner's jumpsuit"
- icon_state = "explorer"
- item_state = "explorer"
- item_color = "explorer"
- can_adjust = FALSE
diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm
new file mode 100644
index 0000000000..ac5f4f12fd
--- /dev/null
+++ b/code/modules/clothing/under/jobs/civilian/civilian.dm
@@ -0,0 +1,266 @@
+/obj/item/clothing/under/rank/civilian/bartender
+ desc = "It looks like it could use some more flair."
+ name = "bartender's uniform"
+ icon_state = "barman"
+ item_state = "bar_suit"
+ item_color = "barman"
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/civilian/bartender/purple
+ desc = "It looks like it has lots of flair!"
+ name = "purple bartender's uniform"
+ icon_state = "purplebartender"
+ item_state = "purplebartender"
+ item_color = "purplebartender"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/bartender/skirt
+ name = "bartender's skirt"
+ desc = "It looks like it could use some more flair."
+ icon_state = "barman_skirt"
+ item_state = "bar_suit"
+ item_color = "barman_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/chaplain
+ desc = "It's a black jumpsuit, often worn by religious folk."
+ name = "chaplain's jumpsuit"
+ icon_state = "chaplain"
+ item_state = "bl_suit"
+ item_color = "chapblack"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/chaplain/skirt
+ name = "chaplain's jumpskirt"
+ desc = "It's a black jumpskirt, often worn by religious folk."
+ icon_state = "chapblack_skirt"
+ item_state = "bl_suit"
+ item_color = "chapblack_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/chef
+ name = "cook's suit"
+ desc = "A suit which is given only to the most hardcore cooks in space."
+ icon_state = "chef"
+ item_color = "chef"
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/civilian/chef/skirt
+ name = "cook's skirt"
+ desc = "A skirt which is given only to the most hardcore cooks in space."
+ icon_state = "chef_skirt"
+ item_color = "chef_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/head_of_personnel
+ desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
+ name = "head of personnel's jumpsuit"
+ icon_state = "hop"
+ item_state = "b_suit"
+ item_color = "hop"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/head_of_personnel/skirt
+ name = "head of personnel's jumpskirt"
+ desc = "It's a jumpskirt worn by someone who works in the position of \"Head of Personnel\"."
+ icon_state = "hop_skirt"
+ item_state = "b_suit"
+ item_color = "hop_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/head_of_personnel/suit
+ name = "head of personnel's suit"
+ desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
+ icon_state = "teal_suit"
+ item_state = "g_suit"
+ item_color = "teal_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt
+ name = "teal suitskirt"
+ desc = "A teal suitskirt and yellow necktie. An authoritative yet tacky ensemble."
+ icon_state = "teal_suit_skirt"
+ item_state = "g_suit"
+ item_color = "teal_suit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/hydroponics
+ desc = "It's a jumpsuit designed to protect against minor plant-related hazards."
+ name = "botanist's jumpsuit"
+ icon_state = "hydroponics"
+ item_state = "g_suit"
+ item_color = "hydroponics"
+ permeability_coefficient = 0.5
+
+/obj/item/clothing/under/rank/civilian/hydroponics/skirt
+ name = "botanist's jumpskirt"
+ desc = "It's a jumpskirt designed to protect against minor plant-related hazards."
+ icon_state = "hydroponics_skirt"
+ item_state = "g_suit"
+ item_color = "hydroponics_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/janitor
+ desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
+ name = "janitor's jumpsuit"
+ icon_state = "janitor"
+ item_color = "janitor"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
+
+/obj/item/clothing/under/rank/civilian/janitor/skirt
+ name = "janitor's jumpskirt"
+ desc = "It's the official skirt of the station's janitor. It has minor protection from biohazards."
+ icon_state = "janitor_skirt"
+ item_color = "janitor_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/janitor/maid
+ name = "maid uniform"
+ desc = "A simple maid uniform for housekeeping."
+ icon_state = "janimaid"
+ item_state = "janimaid"
+ item_color = "janimaid"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/lawyer
+ desc = "Slick threads."
+ name = "Lawyer suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/lawyer/black
+ name = "lawyer black suit"
+ icon_state = "lawyer_black"
+ item_state = "lawyer_black"
+ item_color = "lawyer_black"
+
+/obj/item/clothing/under/rank/civilian/lawyer/black/alt
+ name = "lawyer black suit"
+ desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
+ icon_state = "blacksuit"
+ item_state = "bar_suit"
+ item_color = "blacksuit"
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/civilian/lawyer/black/alt/skirt
+ name = "lawyer black suitskirt"
+ icon_state = "blacksuit_skirt"
+ item_color = "blacksuit_skirt"
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/really_black
+ name = "executive suit"
+ desc = "A formal black suit and red tie, intended for the station's finest."
+ icon_state = "really_black_suit"
+ item_state = "bl_suit"
+ item_color = "really_black_suit"
+
+/obj/item/clothing/under/rank/civilian/lawyer/really_black/skirt
+ name = "executive suitskirt"
+ desc = "A formal black suitskirt and red tie, intended for the station's finest."
+ icon_state = "really_black_suit_skirt"
+ item_state = "bl_suit"
+ item_color = "really_black_suit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/black/skirt
+ name = "lawyer black suitskirt"
+ icon_state = "lawyer_black_skirt"
+ item_state = "lawyer_black"
+ item_color = "lawyer_black_skirt"
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/female
+ name = "female black suit"
+ icon_state = "black_suit_fem"
+ item_state = "bl_suit"
+ item_color = "black_suit_fem"
+
+/obj/item/clothing/under/rank/civilian/lawyer/red
+ name = "lawyer red suit"
+ icon_state = "lawyer_red"
+ item_state = "lawyer_red"
+ item_color = "lawyer_red"
+
+/obj/item/clothing/under/rank/civilian/lawyer/female/skirt
+ name = "female black suitskirt"
+ icon_state = "black_suit_fem_skirt"
+ item_state = "bl_suit"
+ item_color = "black_suit_fem_skirt"
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/red/skirt
+ name = "lawyer red suitskirt"
+ icon_state = "lawyer_red_skirt"
+ item_state = "lawyer_red"
+ item_color = "lawyer_red_skirt"
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/blue
+ name = "lawyer blue suit"
+ icon_state = "lawyer_blue"
+ item_state = "lawyer_blue"
+ item_color = "lawyer_blue"
+
+/obj/item/clothing/under/rank/civilian/lawyer/blue/skirt
+ name = "lawyer blue suitskirt"
+ icon_state = "lawyer_blue_skirt"
+ item_state = "lawyer_blue"
+ item_color = "lawyer_blue_skirt"
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit
+ name = "blue suit"
+ desc = "A classy suit and tie."
+ icon_state = "bluesuit"
+ item_state = "b_suit"
+ item_color = "bluesuit"
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt
+ name = "blue suitskirt"
+ desc = "A classy suitskirt and tie."
+ icon_state = "bluesuit_skirt"
+ item_state = "b_suit"
+ item_color = "bluesuit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/lawyer/purpsuit
+ name = "purple suit"
+ icon_state = "lawyer_purp"
+ item_state = "p_suit"
+ item_color = "lawyer_purp"
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt
+ name = "purple suitskirt"
+ icon_state = "lawyer_purp_skirt"
+ item_state = "p_suit"
+ item_color = "lawyer_purp_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
new file mode 100644
index 0000000000..7e85d60dbc
--- /dev/null
+++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
@@ -0,0 +1,118 @@
+
+/obj/item/clothing/under/rank/civilian/mime
+ name = "mime's outfit"
+ desc = "It's not very colourful."
+ icon_state = "mime"
+ item_state = "mime"
+ item_color = "mime"
+
+/obj/item/clothing/under/rank/civilian/mime/skirt
+ name = "mime's skirt"
+ desc = "It's not very colourful."
+ icon_state = "mime_skirt"
+ item_state = "mime"
+ item_color = "mime_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/mime/sexy
+ name = "sexy mime outfit"
+ desc = "The only time when you DON'T enjoy looking at someone's rack."
+ icon_state = "sexymime"
+ item_state = "sexymime"
+ item_color = "sexymime"
+ body_parts_covered = CHEST|GROIN|LEGS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/clown
+ name = "clown suit"
+ desc = "'HONK!'"
+ icon_state = "clown"
+ item_state = "clown"
+ item_color = "clown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/clown/blue
+ name = "blue clown suit"
+ desc = "'BLUE HONK!'"
+ icon_state = "blueclown"
+ item_state = "blueclown"
+ item_color = "blueclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/green
+ name = "green clown suit"
+ desc = "'GREEN HONK!'"
+ icon_state = "greenclown"
+ item_state = "greenclown"
+ item_color = "greenclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/yellow
+ name = "yellow clown suit"
+ desc = "'YELLOW HONK!'"
+ icon_state = "yellowclown"
+ item_state = "yellowclown"
+ item_color = "yellowclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/purple
+ name = "purple clown suit"
+ desc = "'PURPLE HONK!'"
+ icon_state = "purpleclown"
+ item_state = "purpleclown"
+ item_color = "purpleclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/orange
+ name = "orange clown suit"
+ desc = "'ORANGE HONK!'"
+ icon_state = "orangeclown"
+ item_state = "orangeclown"
+ item_color = "orangeclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/rainbow
+ name = "rainbow clown suit"
+ desc = "'R A I N B O W HONK!'"
+ icon_state = "rainbowclown"
+ item_state = "rainbowclown"
+ item_color = "rainbowclown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/civilian/clown/jester
+ name = "jester suit"
+ desc = "A jolly dress, well suited to entertain your master, nuncle."
+ icon_state = "jester"
+ item_color = "jester"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/clown/jester/alt
+ icon_state = "jester2"
+
+/obj/item/clothing/under/rank/civilian/clown/sexy
+ name = "sexy-clown suit"
+ desc = "It makes you look HONKable!"
+ icon_state = "sexyclown"
+ item_state = "sexyclown"
+ item_color = "sexyclown"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/clown/Initialize()
+ . = ..()
+ AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)
diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm
new file mode 100644
index 0000000000..c02cc4b710
--- /dev/null
+++ b/code/modules/clothing/under/jobs/civilian/curator.dm
@@ -0,0 +1,41 @@
+/obj/item/clothing/under/rank/civilian/curator
+ name = "sensible suit"
+ desc = "It's very... sensible."
+ icon_state = "red_suit"
+ item_state = "red_suit"
+ item_color = "red_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/civilian/curator/skirt
+ name = "sensible suitskirt"
+ desc = "It's very... sensible."
+ icon_state = "red_suit_skirt"
+ item_state = "red_suit"
+ item_color = "red_suit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/civilian/curator/treasure_hunter
+ name = "treasure hunter uniform"
+ desc = "A rugged uniform suitable for treasure hunting."
+ icon_state = "curator"
+ item_state = "curator"
+ item_color = "curator"
+
+/obj/item/clothing/under/rank/civilian/curator/nasa
+ name = "\improper NASA jumpsuit"
+ desc = "It has a NASA logo on it and is made of space-proofed materials."
+ icon_state = "black"
+ item_state = "bl_suit"
+ item_color = "black"
+ w_class = WEIGHT_CLASS_BULKY
+ gas_transfer_coefficient = 0.01
+ permeability_coefficient = 0.02
+ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ cold_protection = CHEST | GROIN | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected.
+ min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
+ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
+ can_adjust = FALSE
+ resistance_flags = NONE
diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm
new file mode 100644
index 0000000000..30560e76b4
--- /dev/null
+++ b/code/modules/clothing/under/jobs/command.dm
@@ -0,0 +1,53 @@
+/obj/item/clothing/under/rank/captain
+ desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
+ name = "captain's jumpsuit"
+ icon_state = "captain"
+ item_state = "b_suit"
+ item_color = "captain"
+ sensor_mode = SENSOR_COORDS
+ random_sensor = FALSE
+
+/obj/item/clothing/under/rank/captain/skirt
+ name = "captain's jumpskirt"
+ desc = "It's a blue jumpskirt with some gold markings denoting the rank of \"Captain\"."
+ icon_state = "captain_skirt"
+ item_state = "b_suit"
+ item_color = "captain_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/captain/suit
+ name = "captain's suit"
+ desc = "A green suit and yellow necktie. Exemplifies authority."
+ icon_state = "green_suit"
+ item_state = "dg_suit"
+ item_color = "green_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/captain/suit/skirt
+ name = "green suitskirt"
+ desc = "A green suitskirt and yellow necktie. Exemplifies authority."
+ icon_state = "green_suit_skirt"
+ item_state = "dg_suit"
+ item_color = "green_suit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/captain/parade
+ name = "captain's parade uniform"
+ desc = "A captain's luxury-wear, for special occasions."
+ icon_state = "captain_parade"
+ item_state = "by_suit"
+ item_color = "captain_parade"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/captain/femformal
+ name = "captain's female formal outfit"
+ desc = "An ironically skimpy blue dress with gold markings denoting the rank of \"Captain\"."
+ icon_state = "lewdcap"
+ item_state = "lewdcap"
+ item_color = "lewdcap"
+ can_adjust = FALSE
+ mutantrace_variation = NONE
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 1f74a572ed..ae0ded5888 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -1,5 +1,5 @@
//Contains: Engineering department jumpsuits
-/obj/item/clothing/under/rank/chief_engineer
+/obj/item/clothing/under/rank/engineering/chief_engineer
desc = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding."
name = "chief engineer's jumpsuit"
icon_state = "chiefengineer"
@@ -8,7 +8,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40)
resistance_flags = NONE
-/obj/item/clothing/under/rank/chief_engineer/skirt
+/obj/item/clothing/under/rank/engineering/chief_engineer/skirt
name = "chief engineer's jumpskirt"
desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding."
icon_state = "chief_skirt"
@@ -18,7 +18,7 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/atmospheric_technician
+/obj/item/clothing/under/rank/engineering/atmospheric_technician
desc = "It's a jumpsuit worn by atmospheric technicians."
name = "atmospheric technician's jumpsuit"
icon_state = "atmos"
@@ -26,7 +26,7 @@
item_color = "atmos"
resistance_flags = NONE
-/obj/item/clothing/under/rank/atmospheric_technician/skirt
+/obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt
name = "atmospheric technician's jumpskirt"
desc = "It's a jumpskirt worn by atmospheric technicians."
icon_state = "atmos_skirt"
@@ -36,7 +36,7 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/engineer
+/obj/item/clothing/under/rank/engineering/engineer
desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
name = "engineer's jumpsuit"
icon_state = "engine"
@@ -44,7 +44,8 @@
item_color = "engine"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20)
resistance_flags = NONE
-/obj/item/clothing/under/rank/engineer/hazard
+
+/obj/item/clothing/under/rank/engineering/engineer/hazard
name = "engineer's hazard jumpsuit"
desc = "A high visibility jumpsuit made from heat and radiation resistant materials."
icon_state = "hazard"
@@ -52,7 +53,7 @@
item_color = "hazard"
alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/engineer/skirt
+/obj/item/clothing/under/rank/engineering/engineer/skirt
name = "engineer's jumpskirt"
desc = "It's an orange high visibility jumpskirt worn by engineers."
icon_state = "engine_skirt"
@@ -61,21 +62,3 @@
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/roboticist
- desc = "It's a slimming black with reinforced seams; great for industrial work."
- name = "roboticist's jumpsuit"
- icon_state = "robotics"
- item_state = "robotics"
- item_color = "robotics"
- resistance_flags = NONE
-
-/obj/item/clothing/under/rank/roboticist/skirt
- name = "roboticist's jumpskirt"
- desc = "It's a slimming black with reinforced seams; great for industrial work."
- icon_state = "robotics_skirt"
- item_state = "robotics"
- item_color = "robotics_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medical.dm
similarity index 60%
rename from code/modules/clothing/under/jobs/medsci.dm
rename to code/modules/clothing/under/jobs/medical.dm
index 3f31fb4717..0c2b885bec 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medical.dm
@@ -1,107 +1,4 @@
-/*
- * Science
- */
-/obj/item/clothing/under/rank/research_director
- desc = "It's a suit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
- name = "research director's vest suit"
- icon_state = "director"
- item_state = "lb_suit"
- item_color = "director"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35)
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/research_director/skirt
- name = "research director's vest suitskirt"
- desc = "It's a suitskirt worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
- icon_state = "director_skirt"
- item_state = "lb_suit"
- item_color = "director_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/research_director/alt
- desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
- name = "research director's tan suit"
- icon_state = "rdwhimsy"
- item_state = "rdwhimsy"
- item_color = "rdwhimsy"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/rank/research_director/alt/skirt
- name = "research director's tan suitskirt"
- desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
- icon_state = "rdwhimsy_skirt"
- item_state = "rdwhimsy"
- item_color = "rdwhimsy_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/research_director/turtleneck
- desc = "A dark purple turtleneck and tan khakis, for a director with a superior sense of style."
- name = "research director's turtleneck"
- icon_state = "rdturtle"
- item_state = "p_suit"
- item_color = "rdturtle"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/rank/research_director/turtleneck/skirt
- name = "research director's turtleneck skirt"
- desc = "A dark purple turtleneck and tan khaki skirt, for a director with a superior sense of style."
- icon_state = "rdturtle_skirt"
- item_state = "p_suit"
- item_color = "rdturtle_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/scientist
- desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
- name = "scientist's jumpsuit"
- icon_state = "toxins"
- item_state = "w_suit"
- item_color = "toxinswhite"
- permeability_coefficient = 0.5
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
-
-/obj/item/clothing/under/rank/scientist/skirt
- name = "scientist's jumpskirt"
- desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
- icon_state = "toxinswhite_skirt"
- item_state = "w_suit"
- item_color = "toxinswhite_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/chemist
- desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
- name = "chemist's jumpsuit"
- icon_state = "chemistry"
- item_state = "w_suit"
- item_color = "chemistrywhite"
- permeability_coefficient = 0.5
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65)
-
-/obj/item/clothing/under/rank/chemist/skirt
- name = "chemist's jumpskirt"
- desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
- icon_state = "chemistrywhite_skirt"
- item_state = "w_suit"
- item_color = "chemistrywhite_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/*
- * Medical
- */
-/obj/item/clothing/under/rank/chief_medical_officer
+/obj/item/clothing/under/rank/medical/chief_medical_officer
desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
name = "chief medical officer's jumpsuit"
icon_state = "cmo"
@@ -110,7 +7,7 @@
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
-/obj/item/clothing/under/rank/chief_medical_officer/skirt
+/obj/item/clothing/under/rank/medical/chief_medical_officer/skirt
name = "chief medical officer's jumpskirt"
desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
icon_state = "cmo_skirt"
@@ -120,7 +17,18 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/geneticist
+/obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck
+ desc = "It's a turtleneck worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection, for an officer with a superior sense of style and practicality."
+ name = "chief medical officer's turtleneck"
+ alternate_worn_icon = 'modular_citadel/icons/mob/clothing/turtlenecks.dmi'
+ icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
+ icon_state = "cmoturtle"
+ item_state = "w_suit"
+ item_color = "cmoturtle"
+ alt_covers_chest = TRUE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/rank/medical/geneticist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
name = "geneticist's jumpsuit"
icon_state = "genetics"
@@ -129,7 +37,7 @@
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
-/obj/item/clothing/under/rank/geneticist/skirt
+/obj/item/clothing/under/rank/medical/geneticist/skirt
name = "geneticist's jumpskirt"
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
icon_state = "geneticswhite_skirt"
@@ -139,7 +47,7 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/virologist
+/obj/item/clothing/under/rank/medical/virologist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
name = "virologist's jumpsuit"
icon_state = "virology"
@@ -148,7 +56,7 @@
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
-/obj/item/clothing/under/rank/virologist/skirt
+/obj/item/clothing/under/rank/medical/virologist/skirt
name = "virologist's jumpskirt"
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
icon_state = "virologywhite_skirt"
@@ -158,6 +66,25 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
+/obj/item/clothing/under/rank/medical/chemist
+ desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
+ name = "chemist's jumpsuit"
+ icon_state = "chemistry"
+ item_state = "w_suit"
+ item_color = "chemistrywhite"
+ permeability_coefficient = 0.5
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65)
+
+/obj/item/clothing/under/rank/medical/chemist/skirt
+ name = "chemist's jumpskirt"
+ desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
+ icon_state = "chemistrywhite_skirt"
+ item_state = "w_suit"
+ item_color = "chemistrywhite_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
/obj/item/clothing/under/rank/medical/paramedic
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a white cross on the chest denoting that the wearer is a trained paramedic."
name = "paramedic jumpsuit"
@@ -189,7 +116,7 @@
icon_state = "paramedic_skirt"
item_color = "paramedic_skirt"
-/obj/item/clothing/under/rank/nursesuit
+/obj/item/clothing/under/rank/medical/doctor/nurse
desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
name = "nurse's suit"
icon_state = "nursesuit"
@@ -201,7 +128,7 @@
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
-/obj/item/clothing/under/rank/medical
+/obj/item/clothing/under/rank/medical/doctor
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
name = "medical doctor's jumpsuit"
icon_state = "medical"
@@ -210,28 +137,28 @@
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
-/obj/item/clothing/under/rank/medical/blue
+/obj/item/clothing/under/rank/medical/doctor/blue
name = "blue medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue"
item_color = "scrubsblue"
can_adjust = FALSE
-/obj/item/clothing/under/rank/medical/green
+/obj/item/clothing/under/rank/medical/doctor/green
name = "green medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
item_color = "scrubsgreen"
can_adjust = FALSE
-/obj/item/clothing/under/rank/medical/purple
+/obj/item/clothing/under/rank/medical/doctor/purple
name = "purple medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
item_color = "scrubspurple"
can_adjust = FALSE
-/obj/item/clothing/under/rank/medical/skirt
+/obj/item/clothing/under/rank/medical/doctor/skirt
name = "medical doctor's jumpskirt"
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
icon_state = "medical_skirt"
@@ -239,4 +166,4 @@
item_color = "medical_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
\ No newline at end of file
+ fitted = FEMALE_UNIFORM_TOP
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm
new file mode 100644
index 0000000000..142cb8d8b1
--- /dev/null
+++ b/code/modules/clothing/under/jobs/rnd.dm
@@ -0,0 +1,95 @@
+/obj/item/clothing/under/rank/rnd/research_director
+ desc = "It's a suit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
+ name = "research director's vest suit"
+ icon_state = "director"
+ item_state = "lb_suit"
+ item_color = "director"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35)
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/rnd/research_director/skirt
+ name = "research director's vest suitskirt"
+ desc = "It's a suitskirt worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
+ icon_state = "director_skirt"
+ item_state = "lb_suit"
+ item_color = "director_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/rnd/research_director/alt
+ desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
+ name = "research director's tan suit"
+ icon_state = "rdwhimsy"
+ item_state = "rdwhimsy"
+ item_color = "rdwhimsy"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/rnd/research_director/alt/skirt
+ name = "research director's tan suitskirt"
+ desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
+ icon_state = "rdwhimsy_skirt"
+ item_state = "rdwhimsy"
+ item_color = "rdwhimsy_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/rnd/research_director/turtleneck
+ desc = "A dark purple turtleneck and tan khakis, for a director with a superior sense of style."
+ name = "research director's turtleneck"
+ icon_state = "rdturtle"
+ item_state = "p_suit"
+ item_color = "rdturtle"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt
+ name = "research director's turtleneck skirt"
+ desc = "A dark purple turtleneck and tan khaki skirt, for a director with a superior sense of style."
+ icon_state = "rdturtle_skirt"
+ item_state = "p_suit"
+ item_color = "rdturtle_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/rnd/scientist
+ desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
+ name = "scientist's jumpsuit"
+ icon_state = "toxins"
+ item_state = "w_suit"
+ item_color = "toxinswhite"
+ permeability_coefficient = 0.5
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
+
+/obj/item/clothing/under/rank/rnd/scientist/skirt
+ name = "scientist's jumpskirt"
+ desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
+ icon_state = "toxinswhite_skirt"
+ item_state = "w_suit"
+ item_color = "toxinswhite_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/rank/rnd/roboticist
+ desc = "It's a slimming black with reinforced seams; great for industrial work."
+ name = "roboticist's jumpsuit"
+ icon_state = "robotics"
+ item_state = "robotics"
+ item_color = "robotics"
+ resistance_flags = NONE
+
+/obj/item/clothing/under/rank/rnd/roboticist/skirt
+ name = "roboticist's jumpskirt"
+ desc = "It's a slimming black with reinforced seams; great for industrial work."
+ icon_state = "robotics_skirt"
+ item_state = "robotics"
+ item_color = "robotics_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 186c377921..21e088f634 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -4,10 +4,12 @@
* Detective
* Navy uniforms
*/
+
/*
* Security
*/
-/obj/item/clothing/under/rank/security
+
+/obj/item/clothing/under/rank/security/officer
name = "security jumpsuit"
desc = "A tactical security jumpsuit for officers complete with Nanotrasen belt buckle."
icon_state = "rsecurity"
@@ -18,13 +20,15 @@
alt_covers_chest = TRUE
sensor_mode = SENSOR_COORDS
random_sensor = FALSE
-/obj/item/clothing/under/rank/security/grey
+
+/obj/item/clothing/under/rank/security/officer/grey
name = "grey security jumpsuit"
desc = "A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "security"
item_state = "gy_suit"
item_color = "security"
-/obj/item/clothing/under/rank/security/skirt
+
+/obj/item/clothing/under/rank/security/officer/skirt
name = "security jumpskirt"
desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt."
icon_state = "secskirt"
@@ -34,8 +38,35 @@
can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone
fitted = FEMALE_UNIFORM_TOP
+/obj/item/clothing/under/rank/security/officer/formal
+ name = "security officer's formal uniform"
+ desc = "The latest in fashionable security outfits."
+ icon_state = "officerblueclothes"
+ item_state = "officerblueclothes"
+ item_color = "officerblueclothes"
+ alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/warden
+/obj/item/clothing/under/rank/security/officer/blueshirt
+ name = "blue shirt and tie"
+ desc = "I'm a little busy right now, Calhoun."
+ icon_state = "blueshift"
+ item_state = "blueshift"
+ item_color = "blueshift"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/rank/security/officer/spacepol
+ name = "police uniform"
+ desc = "Space not controlled by megacorporations, planets, or pirates is under the jurisdiction of Spacepol."
+ icon_state = "spacepol"
+ item_state = "spacepol"
+ item_color = "spacepol"
+ can_adjust = FALSE
+
+/*
+ * Warden
+ */
+
+/obj/item/clothing/under/rank/security/warden
name = "security suit"
desc = "A formal security suit for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden"
@@ -46,14 +77,15 @@
alt_covers_chest = TRUE
sensor_mode = 3
random_sensor = FALSE
-/obj/item/clothing/under/rank/warden/grey
+
+/obj/item/clothing/under/rank/security/warden/grey
name = "grey security suit"
desc = "A formal relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "warden"
item_state = "gy_suit"
item_color = "warden"
-/obj/item/clothing/under/rank/warden/skirt
+/obj/item/clothing/under/rank/security/warden/skirt
name = "warden's suitskirt"
desc = "A formal security suitskirt for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden_skirt"
@@ -63,10 +95,19 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
+/obj/item/clothing/under/rank/security/warden/formal
+ desc = "The insignia on this uniform tells you that this uniform belongs to the Warden."
+ name = "warden's formal uniform"
+ icon_state = "wardenblueclothes"
+ item_state = "wardenblueclothes"
+ item_color = "wardenblueclothes"
+ alt_covers_chest = TRUE
+
/*
* Detective
*/
-/obj/item/clothing/under/rank/det
+
+/obj/item/clothing/under/rank/security/detective
name = "hard-worn suit"
desc = "Someone who wears this means business."
icon_state = "detective"
@@ -78,7 +119,7 @@
sensor_mode = 3
random_sensor = FALSE
-/obj/item/clothing/under/rank/det/skirt
+/obj/item/clothing/under/rank/security/detective/skirt
name = "detective's suitskirt"
desc = "Someone who wears this means business."
icon_state = "detective_skirt"
@@ -88,7 +129,7 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/det/grey
+/obj/item/clothing/under/rank/security/detective/grey
name = "noir suit"
desc = "A hard-boiled private investigator's grey suit, complete with tie clip."
icon_state = "greydet"
@@ -96,7 +137,7 @@
item_color = "greydet"
alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/det/grey/skirt
+/obj/item/clothing/under/rank/security/detective/grey/skirt
name = "noir suitskirt"
desc = "A hard-boiled private investigator's grey suitskirt, complete with tie clip."
icon_state = "greydet_skirt"
@@ -109,7 +150,8 @@
/*
* Head of Security
*/
-/obj/item/clothing/under/rank/head_of_security
+
+/obj/item/clothing/under/rank/security/head_of_security
name = "head of security's jumpsuit"
desc = "A security jumpsuit decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "rhos"
@@ -121,7 +163,7 @@
sensor_mode = 3
random_sensor = FALSE
-/obj/item/clothing/under/rank/head_of_security/skirt
+/obj/item/clothing/under/rank/security/head_of_security/skirt
name = "head of security's jumpskirt"
desc = "A security jumpskirt decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "rhos_skirt"
@@ -131,20 +173,21 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/head_of_security/grey
+/obj/item/clothing/under/rank/security/head_of_security/grey
name = "head of security's grey jumpsuit"
desc = "There are old men, and there are bold men, but there are very few old, bold men."
icon_state = "hos"
item_state = "gy_suit"
item_color = "hos"
-/obj/item/clothing/under/rank/head_of_security/alt
+
+/obj/item/clothing/under/rank/security/head_of_security/alt
name = "head of security's turtleneck"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants."
icon_state = "hosalt"
item_state = "bl_suit"
item_color = "hosalt"
-/obj/item/clothing/under/rank/head_of_security/alt/skirt
+/obj/item/clothing/under/rank/security/head_of_security/alt/skirt
name = "head of security's turtleneck skirt"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with a tactical skirt."
icon_state = "hosalt_skirt"
@@ -154,47 +197,27 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/*
- * Navy uniforms
- */
-/obj/item/clothing/under/rank/security/navyblue
- name = "security officer's formal uniform"
- desc = "The latest in fashionable security outfits."
- icon_state = "officerblueclothes"
- item_state = "officerblueclothes"
- item_color = "officerblueclothes"
- alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/head_of_security/navyblue
+/obj/item/clothing/under/rank/security/head_of_security/formal
desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security."
name = "head of security's formal uniform"
icon_state = "hosblueclothes"
item_state = "hosblueclothes"
item_color = "hosblueclothes"
alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/warden/navyblue
- desc = "The insignia on this uniform tells you that this uniform belongs to the Warden."
- name = "warden's formal uniform"
- icon_state = "wardenblueclothes"
- item_state = "wardenblueclothes"
- item_color = "wardenblueclothes"
- alt_covers_chest = TRUE
-/*
- *Blueshirt
- */
-/obj/item/clothing/under/rank/security/blueshirt
- name = "blue shirt and tie"
- desc = "I'm a little busy right now, Calhoun."
- icon_state = "blueshift"
- item_state = "blueshift"
- item_color = "blueshift"
+
+/obj/item/clothing/under/rank/security/head_of_security/parade
+ name = "head of security's parade uniform"
+ desc = "A male head of security's luxury-wear, for special occasions."
+ icon_state = "hos_parade_male"
+ item_state = "r_suit"
+ item_color = "hos_parade_male"
can_adjust = FALSE
-/*
- *Spacepol
- */
-/obj/item/clothing/under/rank/security/spacepol
- name = "police uniform"
- desc = "Space not controlled by megacorporations, planets, or pirates is under the jurisdiction of Spacepol."
- icon_state = "spacepol"
- item_state = "spacepol"
- item_color = "spacepol"
+
+/obj/item/clothing/under/rank/security/head_of_security/parade/female
+ name = "head of security's parade uniform"
+ desc = "A female head of security's luxury-wear, for special occasions."
+ icon_state = "hos_parade_fem"
+ item_state = "r_suit"
+ item_color = "hos_parade_fem"
+ fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index a3a2b6b97e..fb5ff7b0f4 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -1,4 +1,4 @@
-/obj/item/clothing/under/pj/red
+/obj/item/clothing/under/misc/pj/red
name = "red pj's"
desc = "Sleepwear."
icon_state = "red_pyjamas"
@@ -6,7 +6,7 @@
item_state = "w_suit"
can_adjust = FALSE
-/obj/item/clothing/under/pj/blue
+/obj/item/clothing/under/misc/pj/blue
name = "blue pj's"
desc = "Sleepwear."
icon_state = "blue_pyjamas"
@@ -14,7 +14,7 @@
item_state = "w_suit"
can_adjust = FALSE
-/obj/item/clothing/under/patriotsuit
+/obj/item/clothing/under/misc/patriotsuit
name = "Patriotic Suit"
desc = "Motorcycle not included."
icon_state = "ek"
@@ -22,49 +22,6 @@
item_color = "ek"
can_adjust = FALSE
-/obj/item/clothing/under/scratch
- name = "white suit"
- desc = "A white suit, suitable for an excellent host."
- icon_state = "scratch"
- item_state = "scratch"
- item_color = "scratch"
- can_adjust = FALSE
-
-/obj/item/clothing/under/scratch/skirt
- name = "white suitskirt"
- desc = "A white suitskirt, suitable for an excellent host."
- icon_state = "white_suit_skirt"
- item_state = "scratch"
- item_color = "white_suit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/sl_suit
- desc = "It's a very amish looking suit."
- name = "amish suit"
- icon_state = "sl_suit"
- item_color = "sl_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/roman
- name = "\improper Roman armor"
- desc = "Ancient Roman armor. Made of metallic and leather straps."
- icon_state = "roman"
- item_color = "roman"
- item_state = "armor"
- can_adjust = FALSE
- strip_delay = 100
- resistance_flags = NONE
-
-/obj/item/clothing/under/waiter
- name = "waiter's outfit"
- desc = "It's a very smart uniform with a special pocket for tip."
- icon_state = "waiter"
- item_state = "waiter"
- item_color = "waiter"
- can_adjust = FALSE
-
/obj/item/clothing/under/rank/prisoner
name = "prison jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
@@ -85,37 +42,21 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/obj/item/clothing/under/rank/mailman
+/obj/item/clothing/under/misc/mailman
name = "mailman's jumpsuit"
desc = "'Special delivery!'"
icon_state = "mailman"
item_state = "b_suit"
item_color = "mailman"
-/obj/item/clothing/under/rank/psyche
+/obj/item/clothing/under/misc/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
item_state = "p_suit"
item_color = "psyche"
-/obj/item/clothing/under/rank/clown/sexy
- name = "sexy-clown suit"
- desc = "It makes you look HONKable!"
- icon_state = "sexyclown"
- item_state = "sexyclown"
- item_color = "sexyclown"
- can_adjust = FALSE
-
-/obj/item/clothing/under/jabroni
- name = "Jabroni Outfit"
- desc = "The leather club is two sectors down."
- icon_state = "darkholme"
- item_state = "darkholme"
- item_color = "darkholme"
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/vice
+/obj/item/clothing/under/misc/vice_officer
name = "vice officer's jumpsuit"
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
icon_state = "vice"
@@ -123,42 +64,8 @@
item_color = "vice"
can_adjust = FALSE
-/obj/item/clothing/under/rank/centcom_officer
- desc = "It's a jumpsuit worn by CentCom Officers."
- name = "\improper CentCom officer's jumpsuit"
- icon_state = "officer"
- item_state = "g_suit"
- item_color = "officer"
- alt_covers_chest = TRUE
-/obj/item/clothing/under/rank/centcom_officer/syndicate
- has_sensor = NO_SENSORS
-
-/obj/item/clothing/under/rank/centcom_commander
- desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
- name = "\improper CentCom officer's jumpsuit"
- icon_state = "centcom"
- item_state = "dg_suit"
- item_color = "centcom"
-
-/obj/item/clothing/under/space
- name = "\improper NASA jumpsuit"
- desc = "It has a NASA logo on it and is made of space-proofed materials."
- icon_state = "black"
- item_state = "bl_suit"
- item_color = "black"
- w_class = WEIGHT_CLASS_BULKY
- gas_transfer_coefficient = 0.01
- permeability_coefficient = 0.02
- body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
- cold_protection = CHEST | GROIN | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected.
- min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
- heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
- max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
- can_adjust = FALSE
- resistance_flags = NONE
-
-/obj/item/clothing/under/acj
+/obj/item/clothing/under/misc/adminsuit
name = "administrative cybernetic jumpsuit"
icon_state = "syndicate"
item_state = "bl_suit"
@@ -175,143 +82,7 @@
can_adjust = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF
-/obj/item/clothing/under/owl
- name = "owl uniform"
- desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
- icon_state = "owl"
- item_color = "owl"
- can_adjust = FALSE
-
-/obj/item/clothing/under/griffin
- name = "griffon uniform"
- desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
- icon_state = "griffin"
- item_color = "griffin"
- can_adjust = FALSE
-
-/obj/item/clothing/under/cloud
- name = "cloud"
- desc = "cloud"
- icon_state = "cloud"
- item_color = "cloud"
- can_adjust = FALSE
-
-/obj/item/clothing/under/gimmick/rank/captain/suit
- name = "captain's suit"
- desc = "A green suit and yellow necktie. Exemplifies authority."
- icon_state = "green_suit"
- item_state = "dg_suit"
- item_color = "green_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/gimmick/rank/captain/suit/skirt
- name = "green suitskirt"
- desc = "A green suitskirt and yellow necktie. Exemplifies authority."
- icon_state = "green_suit_skirt"
- item_state = "dg_suit"
- item_color = "green_suit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
- name = "head of personnel's suit"
- desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
- icon_state = "teal_suit"
- item_state = "g_suit"
- item_color = "teal_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt
- name = "teal suitskirt"
- desc = "A teal suitskirt and yellow necktie. An authoritative yet tacky ensemble."
- icon_state = "teal_suit_skirt"
- item_state = "g_suit"
- item_color = "teal_suit_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/suit_jacket
- name = "black suit"
- desc = "A black suit and red tie. Very formal."
- icon_state = "black_suit"
- item_state = "bl_suit"
- item_color = "black_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/suit_jacket/really_black
- name = "executive suit"
- desc = "A formal black suit and red tie, intended for the station's finest."
- icon_state = "really_black_suit"
- item_state = "bl_suit"
- item_color = "really_black_suit"
-
-/obj/item/clothing/under/suit_jacket/female
- name = "executive suit"
- desc = "A formal trouser suit for women, intended for the station's finest."
- icon_state = "black_suit_fem"
- item_state = "black_suit_fem"
- item_color = "black_suit_fem"
-
-/obj/item/clothing/under/suit_jacket/green
- name = "green suit"
- desc = "A green suit and yellow necktie. Baller."
- icon_state = "green_suit"
- item_state = "dg_suit"
- item_color = "green_suit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/suit_jacket/red
- name = "red suit"
- desc = "A red suit and blue tie. Somewhat formal."
- icon_state = "red_suit"
- item_state = "r_suit"
- item_color = "red_suit"
-
-/obj/item/clothing/under/suit_jacket/charcoal
- name = "charcoal suit"
- desc = "A charcoal suit and red tie. Very professional."
- icon_state = "charcoal_suit"
- item_state = "charcoal_suit"
- item_color = "charcoal_suit"
-
-/obj/item/clothing/under/suit_jacket/navy
- name = "navy suit"
- desc = "A navy suit and red tie, intended for the station's finest."
- icon_state = "navy_suit"
- item_state = "navy_suit"
- item_color = "navy_suit"
-
-/obj/item/clothing/under/suit_jacket/burgundy
- name = "burgundy suit"
- desc = "A burgundy suit and black tie. Somewhat formal."
- icon_state = "burgundy_suit"
- item_state = "burgundy_suit"
- item_color = "burgundy_suit"
-
-/obj/item/clothing/under/suit_jacket/checkered
- name = "checkered suit"
- desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
- icon_state = "checkered_suit"
- item_state = "checkered_suit"
- item_color = "checkered_suit"
-
-/obj/item/clothing/under/suit_jacket/tan
- name = "tan suit"
- desc = "A tan suit with a yellow tie. Smart, but casual."
- icon_state = "tan_suit"
- item_state = "tan_suit"
- item_color = "tan_suit"
-
-/obj/item/clothing/under/suit_jacket/white
- name = "white suit"
- desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
- icon_state = "white_suit"
- item_state = "white_suit"
- item_color = "white_suit"
-
-/obj/item/clothing/under/burial
+/obj/item/clothing/under/misc/burial
name = "burial garments"
desc = "Traditional burial garments from the early 22nd century."
icon_state = "burial"
@@ -319,74 +90,7 @@
item_color = "burial"
has_sensor = NO_SENSORS
-/obj/item/clothing/under/skirt/black
- name = "black skirt"
- desc = "A black skirt, very fancy!"
- icon_state = "blackskirt"
- item_color = "blackskirt"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/skirt/blue
- name = "blue skirt"
- desc = "A blue, casual skirt."
- icon_state = "blueskirt"
- item_color = "blueskirt"
- item_state = "b_suit"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/skirt/red
- name = "red skirt"
- desc = "A red, casual skirt."
- icon_state = "redskirt"
- item_color = "redskirt"
- item_state = "r_suit"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/skirt/purple
- name = "purple skirt"
- desc = "A purple, casual skirt."
- icon_state = "purpleskirt"
- item_color = "purpleskirt"
- item_state = "p_suit"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/schoolgirl
- name = "blue schoolgirl uniform"
- desc = "It's just like one of my Japanese animes!"
- icon_state = "schoolgirl"
- item_state = "schoolgirl"
- item_color = "schoolgirl"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/schoolgirl/red
- name = "red schoolgirl uniform"
- icon_state = "schoolgirlred"
- item_state = "schoolgirlred"
- item_color = "schoolgirlred"
-
-/obj/item/clothing/under/schoolgirl/green
- name = "green schoolgirl uniform"
- icon_state = "schoolgirlgreen"
- item_state = "schoolgirlgreen"
- item_color = "schoolgirlgreen"
-
-/obj/item/clothing/under/schoolgirl/orange
- name = "orange schoolgirl uniform"
- icon_state = "schoolgirlorange"
- item_state = "schoolgirlorange"
- item_color = "schoolgirlorange"
-
-/obj/item/clothing/under/overalls
+/obj/item/clothing/under/misc/overalls
name = "laborer's overalls"
desc = "A set of durable overalls for getting the job done."
icon_state = "overalls"
@@ -394,136 +98,7 @@
item_color = "overalls"
can_adjust = FALSE
-/obj/item/clothing/under/pirate
- name = "pirate outfit"
- desc = "Yarr."
- icon_state = "pirate"
- item_state = "pirate"
- item_color = "pirate"
- can_adjust = FALSE
-
-/obj/item/clothing/under/soviet
- name = "soviet uniform"
- desc = "For the Motherland!"
- icon_state = "soviet"
- item_state = "soviet"
- item_color = "soviet"
- can_adjust = FALSE
-
-/obj/item/clothing/under/redcoat
- name = "redcoat uniform"
- desc = "Looks old."
- icon_state = "redcoat"
- item_state = "redcoat"
- item_color = "redcoat"
- can_adjust = FALSE
-
-/obj/item/clothing/under/kilt
- name = "kilt"
- desc = "Includes shoes and plaid."
- icon_state = "kilt"
- item_state = "kilt"
- item_color = "kilt"
- body_parts_covered = CHEST|GROIN|LEGS|FEET
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/kilt/highlander
- desc = "You're the only one worthy of this kilt."
-
-/obj/item/clothing/under/kilt/highlander/Initialize()
- . = ..()
- ADD_TRAIT(src, TRAIT_NODROP, HIGHLANDER)
-
-/obj/item/clothing/under/sexymime
- name = "sexy mime outfit"
- desc = "The only time when you DON'T enjoy looking at someone's rack."
- icon_state = "sexymime"
- item_state = "sexymime"
- item_color = "sexymime"
- body_parts_covered = CHEST|GROIN|LEGS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/gladiator
- name = "gladiator uniform"
- desc = "Are you not entertained? Is that not why you are here?"
- icon_state = "gladiator"
- item_state = "gladiator"
- item_color = "gladiator"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
- resistance_flags = NONE
-
-/obj/item/clothing/under/gladiator/ash_walker
- desc = "This gladiator uniform appears to be covered in ash and fairly dated."
- has_sensor = NO_SENSORS
-
-/obj/item/clothing/under/sundress
- name = "sundress"
- desc = "Makes you want to frolic in a field of daisies."
- icon_state = "sundress"
- item_state = "sundress"
- item_color = "sundress"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/sundresswhite
- name = "white sundress"
- desc = "Makes you want to frolic in a field of lillies."
- icon_state = "sundress_white"
- item_state = "sundress"
- item_color = "sundress_white"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/greendress
- name = "green dress"
- desc = "A tight green dress"
- icon_state = "dress_green"
- item_color = "dress_green"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/pinkdress
- name = "pink dress"
- desc = "A tight pink dress"
- icon_state = "dress_pink"
- item_color = "dress_pink"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/captainparade
- name = "captain's parade uniform"
- desc = "A captain's luxury-wear, for special occasions."
- icon_state = "captain_parade"
- item_state = "by_suit"
- item_color = "captain_parade"
- can_adjust = FALSE
-
-/obj/item/clothing/under/hosparademale
- name = "head of security's parade uniform"
- desc = "A male head of security's luxury-wear, for special occasions."
- icon_state = "hos_parade_male"
- item_state = "r_suit"
- item_color = "hos_parade_male"
- can_adjust = FALSE
-
-/obj/item/clothing/under/hosparadefem
- name = "head of security's parade uniform"
- desc = "A female head of security's luxury-wear, for special occasions."
- icon_state = "hos_parade_fem"
- item_state = "r_suit"
- item_color = "hos_parade_fem"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/assistantformal
+/obj/item/clothing/under/misc/assistantformal
name = "assistant's formal uniform"
desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown."
icon_state = "assistant_formal"
@@ -531,7 +106,7 @@
item_color = "assistant_formal"
can_adjust = FALSE
-/obj/item/clothing/under/staffassistant
+/obj/item/clothing/under/misc/staffassistant
name = "staff assistant's jumpsuit"
desc = "It's a generic grey jumpsuit. That's about what assistants are worth, anyway."
icon = 'goon/icons/obj/item_js_rank.dmi'
@@ -541,81 +116,6 @@
item_color = "assistant"
mutantrace_variation = NONE
-/obj/item/clothing/under/blacktango
- name = "black tango dress"
- desc = "Filled with Latin fire."
- icon_state = "black_tango"
- item_state = "wcoat"
- item_color = "black_tango"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/westernbustle
- name = "western bustle dress"
- desc = "Filled with Western fire."
- icon_state = "western_bustle"
- item_state = "wcoat"
- item_color = "western_bustle"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/flamenco
- name = "flamenco dress"
- desc = "Filled with Latin fire."
- icon_state = "flamenco"
- item_state = "wcoat"
- item_color = "flamenco"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/stripeddress
- name = "striped dress"
- desc = "Fashion in space."
- icon_state = "striped_dress"
- item_state = "stripeddress"
- item_color = "striped_dress"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_FULL
- can_adjust = FALSE
-
-/obj/item/clothing/under/sailordress
- name = "sailor dress"
- desc = "Formal wear for a leading lady."
- icon_state = "sailor_dress"
- item_state = "sailordress"
- item_color = "sailor_dress"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/flowerdress
- name = "flower dress"
- desc = "Lovely dress"
- icon_state = "flower_dress"
- item_state = "sailordress"
- item_color = "flower_dress"
- body_parts_covered = CHEST|GROIN|LEGS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/sweptskirt
- name = "swept skirt"
- desc = "Formal skirt"
- icon_state = "skirt_swept"
- item_color = "skirt_swept"
- body_parts_covered = GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/corset
- name = "black corset"
- desc = "Nanotrasen is not resposible for any organ damage"
- icon_state = "corset"
- item_color = "corset"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
/obj/item/clothing/under/croptop
name = "crop top"
desc = "We've saved money by giving you half a shirt!"
@@ -625,135 +125,6 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
-/obj/item/clothing/under/redeveninggown
- name = "red evening gown"
- desc = "Fancy dress for space bar singers."
- icon_state = "red_evening_gown"
- item_state = "redeveninggown"
- item_color = "red_evening_gown"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/maid
- name = "maid costume"
- desc = "Maid in China."
- icon_state = "maid"
- item_state = "maid"
- item_color = "maid"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/maid/Initialize()
- . = ..()
- var/obj/item/clothing/accessory/maidapron/A = new (src)
- attach_accessory(A)
-
-/obj/item/clothing/under/janimaid
- name = "maid uniform"
- desc = "A simple maid uniform for housekeeping."
- icon_state = "janimaid"
- item_state = "janimaid"
- item_color = "janimaid"
- body_parts_covered = CHEST|GROIN
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/plaid_skirt
- name = "red plaid skirt"
- desc = "A preppy red skirt with a white blouse."
- icon_state = "plaid_red"
- item_state = "plaid_red"
- item_color = "plaid_red"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/plaid_skirt/blue
- name = "blue plaid skirt"
- desc = "A preppy blue skirt with a white blouse."
- icon_state = "plaid_blue"
- item_state = "plaid_blue"
- item_color = "plaid_blue"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/plaid_skirt/purple
- name = "purple plaid skirt"
- desc = "A preppy purple skirt with a white blouse."
- icon_state = "plaid_purple"
- item_state = "plaid_purple"
- item_color = "plaid_purple"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/singery
- name = "yellow performer's outfit"
- desc = "Just looking at this makes you want to sing."
- icon_state = "ysing"
- item_state = "ysing"
- item_color = "ysing"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = NO_FEMALE_UNIFORM
- alternate_worn_layer = ABOVE_SHOES_LAYER
- can_adjust = FALSE
-
-/obj/item/clothing/under/singerb
- name = "blue performer's outfit"
- desc = "Just looking at this makes you want to sing."
- icon_state = "bsing"
- item_state = "bsing"
- item_color = "bsing"
- body_parts_covered = CHEST|GROIN|ARMS
- alternate_worn_layer = ABOVE_SHOES_LAYER
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/plaid_skirt/green
- name = "green plaid skirt"
- desc = "A preppy green skirt with a white blouse."
- icon_state = "plaid_green"
- item_state = "plaid_green"
- item_color = "plaid_green"
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = TRUE
- alt_covers_chest = TRUE
-
-/obj/item/clothing/under/jester
- name = "jester suit"
- desc = "A jolly dress, well suited to entertain your master, nuncle."
- icon_state = "jester"
- item_color = "jester"
- can_adjust = FALSE
-
-/obj/item/clothing/under/jester/alt
- icon_state = "jester2"
-
-/obj/item/clothing/under/geisha
- name = "geisha suit"
- desc = "Cute space ninja senpai not included."
- icon_state = "geisha"
- item_color = "geisha"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
-
-/obj/item/clothing/under/villain
- name = "villain suit"
- desc = "A change of wardrobe is necessary if you ever want to catch a real superhero."
- icon_state = "villain"
- item_color = "villain"
- can_adjust = FALSE
-
-/obj/item/clothing/under/sailor
- name = "sailor suit"
- desc = "Skipper's in the wardroom drinkin gin'."
- icon_state = "sailor"
- item_state = "b_suit"
- item_color = "sailor"
- can_adjust = FALSE
-
/obj/item/clothing/under/plasmaman
name = "plasma envirosuit"
desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy."
@@ -808,82 +179,7 @@
icon_state = "plasmarefill"
icon = 'icons/obj/device.dmi'
-/obj/item/clothing/under/rank/security/navyblue/russian
- name = "\improper Russian officer's uniform"
- desc = "The latest in fashionable russian outfits."
- icon_state = "hostanclothes"
- item_state = "hostanclothes"
- item_color = "hostanclothes"
-
-/obj/item/clothing/under/mummy
- name = "mummy wrapping"
- desc = "Return the slab or suffer my stale references."
- icon_state = "mummy"
- item_state = "mummy"
- item_color = "mummy"
- body_parts_covered = CHEST|GROIN|ARMS|LEGS
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
- resistance_flags = NONE
-
-/obj/item/clothing/under/scarecrow
- name = "scarecrow clothes"
- desc = "Perfect camouflage for hiding in botany."
- icon_state = "scarecrow"
- item_state = "scarecrow"
- item_color = "scarecrow"
- body_parts_covered = CHEST|GROIN|ARMS|LEGS
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
- resistance_flags = NONE
-
-/obj/item/clothing/under/draculass
- name = "draculass coat"
- desc = "A dress inspired by the ancient \"Victorian\" era."
- icon_state = "draculass"
- item_state = "draculass"
- item_color = "draculass"
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
-
-/obj/item/clothing/under/drfreeze
- name = "doctor freeze's jumpsuit"
- desc = "A modified scientist jumpsuit to look extra cool."
- icon_state = "drfreeze"
- item_state = "drfreeze"
- item_color = "drfreeze"
- can_adjust = FALSE
-
-/obj/item/clothing/under/lobster
- name = "foam lobster suit"
- desc = "Who beheaded the college mascot?"
- icon_state = "lobster"
- item_state = "lobster"
- item_color = "lobster"
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
-
-/obj/item/clothing/under/gondola
- name = "gondola hide suit"
- desc = "Now you're cooking."
- icon_state = "gondola"
- item_state = "lb_suit"
- item_color = "gondola"
- can_adjust = FALSE
-
-/obj/item/clothing/under/skeleton
- name = "skeleton jumpsuit"
- desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!"
- icon_state = "skeleton"
- item_state = "skeleton"
- item_color = "skeleton"
- body_parts_covered = CHEST|GROIN|ARMS|LEGS
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
- resistance_flags = NONE
-
-/obj/item/clothing/under/gear_harness
+/obj/item/clothing/under/misc/gear_harness
name = "gear harness"
desc = "A simple, inconspicuous harness replacement for a jumpsuit."
icon_state = "gear_harness"
@@ -891,15 +187,7 @@
body_parts_covered = CHEST|GROIN
can_adjust = FALSE
-/obj/item/clothing/under/telegram
- name = "telegram suit"
- desc = "Bright and red, hard to miss. Mostly warn by hotel staff or singing telegram."
- icon_state = "telegram"
- item_state = "telegram"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
-
-/obj/item/clothing/under/durathread
+/obj/item/clothing/under/misc/durathread
name = "durathread jumpsuit"
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "durathread"
@@ -908,104 +196,15 @@
can_adjust = TRUE
armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
-/obj/item/clothing/under/duraskirt
+/obj/item/clothing/under/misc/durathread/skirt
name = "durathread jumpskirt"
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer. Being a short skirt, it naturally doesn't protect the legs."
icon_state = "duraskirt"
item_state = "duraskirt"
- item_color = "durathread"
can_adjust = FALSE
body_parts_covered = CHEST|GROIN|ARMS
- armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
-/obj/item/clothing/under/christmas/christmasmaler
- name = "red masculine christmas suit"
- desc = "A simple red christmas suit that looks close to Santa's!"
- icon_state = "christmasmaler"
- item_state = "christmasmaler"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
-
-/obj/item/clothing/under/christmas/christmasmaleg
- name = "green masculine christmas suit"
- desc = "A simple green christmas suit that smells minty!"
- icon_state = "christmasmaleg"
- item_state = "christmasmaleg"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
-
-/obj/item/clothing/under/christmas/christmasfemaler
- name = "red feminine christmas suit"
- desc = "A simple red christmas suit that looks like Mrs Claus!"
- icon_state = "christmasfemaler"
- item_state = "christmasfemaler"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
-
-/obj/item/clothing/under/christmas/christmasfemaleg
- name = "green feminine christmas suit"
- desc = "A simple green christmas suit that smells minty!"
- icon_state = "christmasfemaleg"
- item_state = "christmasfemaleg"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
-
-// Lunar Clothes
-/obj/item/clothing/under/lunar/qipao
- name = "Black Qipao"
- desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is black."
- icon_state = "qipao"
- item_state = "qipao"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/lunar/qipao/white
- name = "White Qipao"
- desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is white."
- icon_state = "qipao_white"
- item_state = "qipao_white"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/lunar/qipao/red
- name = "Red Qipao"
- desc = "A Qipao, traditionally worn in ancient Earth China by women during social events and lunar new years. This one is red."
- icon_state = "qipao_red"
- item_state = "qipao_red"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/lunar/cheongsam
- name = "Black Cheongsam"
- desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is black."
- icon_state = "cheong"
- item_state = "cheong"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/lunar/cheongsam/white
- name = "White Cheongsam"
- desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is white."
- icon_state = "cheongw"
- item_state = "cheongw"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/lunar/cheongsam/red
- name = "Red Cheongsam"
- desc = "A Cheongsam, traditionally worn in ancient Earth China by men during social events and lunar new years. This one is red.."
- icon_state = "cheongr"
- item_state = "cheongr"
- body_parts_covered = CHEST|GROIN
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/squatter_outfit
+/obj/item/clothing/under/misc/squatter
name = "slav squatter tracksuit"
desc = "Cyka blyat."
icon_state = "squatteroutfit"
@@ -1014,7 +213,7 @@
can_adjust = FALSE
mutantrace_variation = NONE
-/obj/item/clothing/under/russobluecamooutfit
+/obj/item/clothing/under/misc/blue_camo
name = "russian blue camo"
desc = "Drop and give me dvadtsat!"
icon_state = "russobluecamo"
@@ -1023,7 +222,7 @@
can_adjust = FALSE
mutantrace_variation = NONE
-/obj/item/clothing/under/keyholesweater
+/obj/item/clothing/under/misc/keyholesweater
name = "keyhole sweater"
desc = "What is the point of this, anyway?"
icon_state = "keyholesweater"
@@ -1032,60 +231,108 @@
can_adjust = FALSE
mutantrace_variation = NONE
-/obj/item/clothing/under/stripper_pink
+/obj/item/clothing/under/misc/stripper
name = "pink stripper outfit"
icon_state = "stripper_p"
item_state = "stripper_p"
item_color = "stripper_p"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
-/obj/item/clothing/under/stripper_green
+/obj/item/clothing/under/misc/stripper/green
name = "green stripper outfit"
icon_state = "stripper_g"
item_state = "stripper_g"
item_color = "stripper_g"
- can_adjust = FALSE
-/obj/item/clothing/under/mankini
+/obj/item/clothing/under/misc/stripper/mankini
name = "pink mankini"
icon_state = "mankini"
item_state = "mankini"
item_color = "mankini"
+
+/obj/item/clothing/under/misc/corporateuniform
+ name = "corporate uniform"
+ desc = "A comfortable, tight fitting jumpsuit made of premium materials. Not space-proof."
+ icon_state = "tssuit"
+ item_state = "r_suit"
can_adjust = FALSE
mutantrace_variation = NONE
-/obj/item/clothing/under/wedding
- name = "white wedding dress"
- desc = "A white wedding gown made from the finest silk."
- icon_state = "bride_white"
- item_state = "bride_white"
- item_color = "bride_white"
+/obj/item/clothing/under/misc/poly_shirt
+ name = "polychromic button-up shirt"
+ desc = "A fancy button-up shirt made with polychromic threads."
+ icon_state = "polysuit"
+ item_color = "polysuit"
+ item_state = "sl_suit"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ hastertiary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#353535"
+ tertiary_color = "#353535"
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/misc/polyshorts
+ name = "polychromic shorts"
+ desc = "For ease of movement and style."
+ icon_state = "polyshorts"
+ item_color = "polyshorts"
+ item_state = "rainbow"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ hastertiary = TRUE
+ primary_color = "#353535"
+ secondary_color = "#808080"
+ tertiary_color = "#808080"
+ can_adjust = FALSE
+ body_parts_covered = CHEST|GROIN|ARMS
+
+/obj/item/clothing/under/misc/polyjumpsuit
+ name = "polychromic tri-tone jumpsuit"
+ desc = "A fancy jumpsuit made with polychromic threads."
+ icon_state = "polyjump"
+ item_color = "polyjump"
+ item_state = "rainbow"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ hastertiary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#808080"
+ tertiary_color = "#FF3535"
can_adjust = FALSE
mutantrace_variation = NONE
-/obj/item/clothing/under/wedding/orange
- name = "orange wedding dress"
- desc = "A big and puffy orange dress."
- icon_state = "bride_orange"
- item_state = "bride_orange"
- item_color = "bride_orange"
+/obj/item/clothing/under/misc/poly_bottomless
+ name = "polychromic bottomless shirt"
+ desc = "Great for showing off your junk in dubious style."
+ icon_state = "polybottomless"
+ item_color = "polybottomless"
+ item_state = "rainbow"
+ primary_color = "#808080"
+ secondary_color = "#FF3535"
+ body_parts_covered = CHEST|ARMS //Because there's no bottom included
+ can_adjust = FALSE
+ mutantrace_variation = NONE
-/obj/item/clothing/under/wedding/purple
- name = "purple wedding dress"
- desc = "A big and puffy purple dress."
- icon_state = "bride_purple"
- item_state = "bride_purple"
- item_color = "bride_purple"
+/obj/item/clothing/under/misc/poly_tanktop
+ name = "polychromic tank top"
+ desc = "For those lazy summer days."
+ icon_state = "polyshimatank"
+ item_color = "polyshimatank"
+ item_state = "rainbow"
+ primary_color = "#808080"
+ secondary_color = "#FFFFFF"
+ tertiary_color = "#8CC6FF"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ mutantrace_variation = NONE
-/obj/item/clothing/under/wedding/blue
- name = "blue wedding dress"
- desc = "A big and puffy blue dress."
- icon_state = "bride_blue"
- item_state = "bride_blue"
- item_color = "bride_blue"
-
-/obj/item/clothing/under/wedding/red
- name = "red wedding dress"
- desc = "A big and puffy red dress."
- icon_state = "bride_red"
- item_state = "bride_red"
- item_color = "bride_red"
+/obj/item/clothing/under/misc/poly_tanktop/female
+ name = "polychromic feminine tank top"
+ desc = "Great for showing off your chest in style. Not recommended for males."
+ icon_state = "polyfemtankpantsu"
+ item_color = "polyfemtankpantsu"
+ hastertiary = FALSE
+ primary_color = "#808080"
+ secondary_color = "#FF3535"
diff --git a/code/modules/clothing/under/polychromic_clothes.dm b/code/modules/clothing/under/polychromic_clothes.dm
deleted file mode 100644
index 53011d42d1..0000000000
--- a/code/modules/clothing/under/polychromic_clothes.dm
+++ /dev/null
@@ -1,166 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Polychromic Uniforms: //
-// //
-// Polychromic clothes simply consist of 4 sprites: A base, unrecoloured sprite, and up to 3 greyscaled sprites. //
-// In order to add more polychromic clothes, simply create a base sprite, and up to 3 recolourable overlays for it, //
-// and then name them as follows: [name], [name]-primary, [name]-secondary, [name]-tertiary. The sprites should //
-// ideally be in 'icons/obj/clothing/uniform.dmi' and 'icons/mob/uniform.dmi' for the //
-// worn sprites. After that, copy paste the code from any of the example clothes and //
-// change the names around. [name] should go in BOTH icon_state and item_color. You can preset colors and disable //
-// any overlays using the self-explainatory vars. //
-// //
-// -Tori //
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-/obj/item/clothing/under/polychromic //enables all three overlays to reduce copypasta and defines basic stuff
- name = "polychromic suit"
- desc = "For when you want to show off your horrible colour coordination skills."
- icon_state = "polysuit"
- item_color = "polysuit"
- item_state = "sl_suit"
- hasprimary = TRUE
- hassecondary = TRUE
- hastertiary = TRUE
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#FFFFFF"
- tertiary_color = "#808080"
- can_adjust = FALSE
- mutantrace_variation = NONE //Not all clothes are currently digi-compatible (only the shorts are as of time of writing)
-
-/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens.
- . = ..()
- if(hasprimary | hassecondary | hastertiary)
- if(!isinhands) //prevents the worn sprites from showing up if you're just holding them
- if(hasprimary) //checks if overlays are enabled
- var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary") //automagical sprite selection
- primary_worn.color = primary_color //colors the overlay
- . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite.
- if(hassecondary)
- var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary")
- secondary_worn.color = secondary_color
- . += secondary_worn
- if(hastertiary)
- var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[item_color]-tertiary")
- tertiary_worn.color = tertiary_color
- . += tertiary_worn
-
-/obj/item/clothing/under/polychromic/shirt //COPY PASTE THIS TO MAKE A NEW THING
- name = "polychromic button-up shirt"
- desc = "A fancy button-up shirt made with polychromic threads."
- icon_state = "polysuit"
- item_color = "polysuit"
- item_state = "sl_suit"
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#353535"
- tertiary_color = "#353535"
-
-/obj/item/clothing/under/polychromic/kilt
- name = "polychromic kilt"
- desc = "It's not a skirt!"
- icon_state = "polykilt"
- item_color = "polykilt"
- item_state = "kilt"
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#F08080"
- hastertiary = FALSE // so it doesn't futz with digilegs
- body_parts_covered = CHEST|GROIN|ARMS
-
-/obj/item/clothing/under/polychromic/skirt
- name = "polychromic skirt"
- desc = "A fancy skirt made with polychromic threads."
- icon_state = "polyskirt"
- item_color = "polyskirt"
- item_state = "rainbow"
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#F08080"
- tertiary_color = "#808080"
- body_parts_covered = CHEST|GROIN|ARMS
-
-/obj/item/clothing/under/polychromic/shorts
- name = "polychromic shorts"
- desc = "For ease of movement and style."
- icon_state = "polyshorts"
- item_color = "polyshorts"
- item_state = "rainbow"
- primary_color = "#353535" //RGB in hexcode
- secondary_color = "#808080"
- tertiary_color = "#808080"
- body_parts_covered = CHEST|GROIN|ARMS
- mutantrace_variation = STYLE_DIGITIGRADE //to enable digitigrade wearing
-
-/obj/item/clothing/under/polychromic/jumpsuit
- name = "polychromic tri-tone jumpsuit"
- desc = "A fancy jumpsuit made with polychromic threads."
- icon_state = "polyjump"
- item_color = "polyjump"
- item_state = "rainbow"
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#808080"
- tertiary_color = "#FF3535"
-
-/obj/item/clothing/under/polychromic/shortpants
- name = "polychromic athletic shorts"
- desc = "95% Polychrome, 5% Spandex!"
- icon_state = "polyshortpants"
- item_color = "polyshortpants"
- item_state = "rainbow"
- hastertiary = FALSE
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#F08080"
- gender = PLURAL //Because shortS
- body_parts_covered = GROIN //Because there's no shirt included
-
-/obj/item/clothing/under/polychromic/pleat
- name = "polychromic pleated skirt"
- desc = "A magnificent pleated skirt complements the woolen polychromatic sweater."
- icon_state = "polypleat"
- item_color = "polypleat"
- item_state = "rainbow"
- primary_color = "#8CC6FF" //RGB in hexcode
- secondary_color = "#808080"
- tertiary_color = "#FF3535"
- body_parts_covered = CHEST|GROIN|ARMS
-
-/obj/item/clothing/under/polychromic/femtank
- name = "polychromic feminine tank top"
- desc = "Great for showing off your chest in style. Not recommended for males."
- icon_state = "polyfemtankpantsu"
- item_color = "polyfemtankpantsu"
- item_state = "rainbow"
- hastertiary = FALSE
- primary_color = "#808080" //RGB in hexcode
- secondary_color = "#FF3535"
- body_parts_covered = CHEST|GROIN|ARMS
-
-/obj/item/clothing/under/polychromic/shortpants/pantsu
- name = "polychromic panties"
- desc = "Topless striped panties. Now with 120% more polychrome!"
- icon_state = "polypantsu"
- item_color = "polypantsu"
- item_state = "rainbow"
- hastertiary = FALSE
- primary_color = "#FFFFFF" //RGB in hexcode
- secondary_color = "#8CC6FF"
- body_parts_covered = GROIN
-
-/obj/item/clothing/under/polychromic/bottomless
- name = "polychromic bottomless shirt"
- desc = "Great for showing off your junk in dubious style."
- icon_state = "polybottomless"
- item_color = "polybottomless"
- item_state = "rainbow"
- hastertiary = FALSE
- primary_color = "#808080" //RGB in hexcode
- secondary_color = "#FF3535"
- body_parts_covered = CHEST|ARMS //Because there's no bottom included
-
-/obj/item/clothing/under/polychromic/shimatank
- name = "polychromic tank top"
- desc = "For those lazy summer days."
- icon_state = "polyshimatank"
- item_color = "polyshimatank"
- item_state = "rainbow"
- primary_color = "#808080" //RGB in hexcode
- secondary_color = "#FFFFFF"
- tertiary_color = "#8CC6FF"
- body_parts_covered = CHEST|GROIN
\ No newline at end of file
diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm
index 14c408bfa8..b66df87347 100644
--- a/code/modules/clothing/under/shorts.dm
+++ b/code/modules/clothing/under/shorts.dm
@@ -34,4 +34,28 @@
/obj/item/clothing/under/shorts/purple
name = "purple athletic shorts"
icon_state = "purpleshorts"
- item_color = "purpleshorts"
\ No newline at end of file
+ item_color = "purpleshorts"
+
+/obj/item/clothing/under/shorts/polychromic
+ name = "polychromic athletic shorts"
+ desc = "95% Polychrome, 5% Spandex!"
+ icon_state = "polyshortpants"
+ item_color = "polyshortpants"
+ item_state = "rainbow"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#F08080"
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/shorts/polychromic/pantsu
+ name = "polychromic panties"
+ desc = "Topless striped panties. Now with 120% more polychrome!"
+ icon_state = "polypantsu"
+ item_color = "polypantsu"
+ item_state = "rainbow"
+ hastertiary = FALSE
+ primary_color = "#FFFFFF"
+ secondary_color = "#8CC6FF"
+ body_parts_covered = GROIN
+ mutantrace_variation = NONE
diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm
new file mode 100644
index 0000000000..02c2b06546
--- /dev/null
+++ b/code/modules/clothing/under/skirt_dress.dm
@@ -0,0 +1,259 @@
+
+/obj/item/clothing/under/dress/skirt
+ name = "black skirt"
+ desc = "A black skirt, very fancy!"
+ icon_state = "blackskirt"
+ item_color = "blackskirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/skirt/blue
+ name = "blue skirt"
+ desc = "A blue, casual skirt."
+ icon_state = "blueskirt"
+ item_color = "blueskirt"
+ item_state = "b_suit"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/skirt/red
+ name = "red skirt"
+ desc = "A red, casual skirt."
+ icon_state = "redskirt"
+ item_color = "redskirt"
+ item_state = "r_suit"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/skirt/purple
+ name = "purple skirt"
+ desc = "A purple, casual skirt."
+ icon_state = "purpleskirt"
+ item_color = "purpleskirt"
+ item_state = "p_suit"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/sundress
+ name = "sundress"
+ desc = "Makes you want to frolic in a field of daisies."
+ icon_state = "sundress"
+ item_state = "sundress"
+ item_color = "sundress"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/sundress/white
+ name = "white sundress"
+ icon_state = "sundress_white"
+ item_color = "sundress_white"
+
+/obj/item/clothing/under/dress/green
+ name = "green dress"
+ desc = "A tight green dress"
+ icon_state = "dress_green"
+ item_color = "dress_green"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/pink
+ name = "pink dress"
+ desc = "A tight pink dress"
+ icon_state = "dress_pink"
+ item_color = "dress_pink"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/blacktango
+ name = "black tango dress"
+ desc = "Filled with Latin fire."
+ icon_state = "black_tango"
+ item_state = "wcoat"
+ item_color = "black_tango"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/westernbustle
+ name = "western bustle dress"
+ desc = "Filled with Western fire."
+ icon_state = "western_bustle"
+ item_state = "wcoat"
+ item_color = "western_bustle"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/flamenco
+ name = "flamenco dress"
+ desc = "Filled with Latin fire."
+ icon_state = "flamenco"
+ item_state = "wcoat"
+ item_color = "flamenco"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/striped
+ name = "striped dress"
+ desc = "Fashion in space."
+ icon_state = "striped_dress"
+ item_state = "stripeddress"
+ item_color = "striped_dress"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_FULL
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/sailor
+ name = "sailor dress"
+ desc = "Formal wear for a leading lady."
+ icon_state = "sailor_dress"
+ item_state = "sailordress"
+ item_color = "sailor_dress"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/flower
+ name = "flower dress"
+ desc = "Lovely dress."
+ icon_state = "flower_dress"
+ item_state = "sailordress"
+ item_color = "flower_dress"
+ body_parts_covered = CHEST|GROIN|LEGS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/skirt/swept
+ name = "swept skirt"
+ desc = "Formal skirt."
+ icon_state = "skirt_swept"
+ item_color = "skirt_swept"
+ body_parts_covered = GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/corset
+ name = "black corset"
+ desc = "Nanotrasen is not resposible for any organ damage."
+ icon_state = "corset"
+ item_color = "corset"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/redeveninggown
+ name = "red evening gown"
+ desc = "Fancy dress for space bar singers."
+ icon_state = "red_evening_gown"
+ item_state = "redeveninggown"
+ item_color = "red_evening_gown"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/dress/skirt/plaid
+ name = "red plaid skirt"
+ desc = "A preppy red skirt with a white blouse."
+ icon_state = "plaid_red"
+ item_state = "plaid_red"
+ item_color = "plaid_red"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/dress/skirt/plaid/blue
+ name = "blue plaid skirt"
+ desc = "A preppy blue skirt with a white blouse."
+ icon_state = "plaid_blue"
+ item_state = "plaid_blue"
+ item_color = "plaid_blue"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/dress/skirt/plaid/purple
+ name = "purple plaid skirt"
+ desc = "A preppy purple skirt with a white blouse."
+ icon_state = "plaid_purple"
+ item_state = "plaid_purple"
+ item_color = "plaid_purple"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/dress/skirt/plaid/green
+ name = "green plaid skirt"
+ desc = "A preppy green skirt with a white blouse."
+ icon_state = "plaid_green"
+ item_state = "plaid_green"
+ item_color = "plaid_green"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/dress/wedding
+ name = "white wedding dress"
+ desc = "A white wedding gown made from the finest silk."
+ icon_state = "bride_white"
+ item_state = "bride_white"
+ item_color = "bride_white"
+ can_adjust = FALSE
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/dress/wedding/orange
+ name = "orange wedding dress"
+ desc = "A big and puffy orange dress."
+ icon_state = "bride_orange"
+ item_state = "bride_orange"
+ item_color = "bride_orange"
+
+/obj/item/clothing/under/dress/wedding/purple
+ name = "purple wedding dress"
+ desc = "A big and puffy purple dress."
+ icon_state = "bride_purple"
+ item_state = "bride_purple"
+ item_color = "bride_purple"
+
+/obj/item/clothing/under/dress/wedding/blue
+ name = "blue wedding dress"
+ desc = "A big and puffy blue dress."
+ icon_state = "bride_blue"
+ item_state = "bride_blue"
+ item_color = "bride_blue"
+
+/obj/item/clothing/under/dress/wedding/red
+ name = "red wedding dress"
+ desc = "A big and puffy red dress."
+ icon_state = "bride_red"
+ item_state = "bride_red"
+ item_color = "bride_red"
+
+/obj/item/clothing/under/dress/skirt/polychromic
+ name = "polychromic skirt"
+ desc = "A fancy skirt made with polychromic threads."
+ icon_state = "polyskirt"
+ item_color = "polyskirt"
+ item_state = "rainbow"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ hastertiary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#F08080"
+ tertiary_color = "#808080"
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/dress/skirt/polychromic/pleated
+ name = "polychromic pleated skirt"
+ desc = "A magnificent pleated skirt complements the woolen polychromatic sweater."
+ icon_state = "polypleat"
+ item_color = "polypleat"
+ item_state = "rainbow"
+ primary_color = "#8CC6FF"
+ secondary_color = "#808080"
+ tertiary_color = "#FF3535"
+ body_parts_covered = CHEST|GROIN|ARMS
+ mutantrace_variation = NONE
diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm
new file mode 100644
index 0000000000..1b99fbc549
--- /dev/null
+++ b/code/modules/clothing/under/suits.dm
@@ -0,0 +1,135 @@
+
+/obj/item/clothing/under/suit/white_on_white
+ name = "white suit"
+ desc = "A white suit, suitable for an excellent host."
+ icon_state = "scratch"
+ item_state = "scratch"
+ item_color = "scratch"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/white_on_white/skirt
+ name = "white suitskirt"
+ desc = "A white suitskirt, suitable for an excellent host."
+ icon_state = "white_suit_skirt"
+ item_state = "scratch"
+ item_color = "white_suit_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/obj/item/clothing/under/suit/sl
+ desc = "It's a very amish looking suit."
+ name = "amish suit"
+ icon_state = "sl_suit"
+ item_color = "sl_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/waiter
+ name = "waiter's outfit"
+ desc = "It's a very smart uniform with a special pocket for tip."
+ icon_state = "waiter"
+ item_state = "waiter"
+ item_color = "waiter"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/black
+ name = "black suit"
+ desc = "A black suit and red tie. Very formal."
+ icon_state = "black_suit"
+ item_state = "bl_suit"
+ item_color = "black_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/black_really
+ name = "executive suit"
+ desc = "A formal black suit and red tie, intended for the station's finest."
+ icon_state = "really_black_suit"
+ item_state = "bl_suit"
+ item_color = "really_black_suit"
+
+/obj/item/clothing/under/suit/black/skirt
+ name = "executive suit"
+ desc = "A formal trouser suit for women, intended for the station's finest."
+ icon_state = "black_suit_fem"
+ item_state = "black_suit_fem"
+ item_color = "black_suit_fem"
+
+/obj/item/clothing/under/suit/green
+ name = "green suit"
+ desc = "A green suit and yellow necktie. Baller."
+ icon_state = "green_suit"
+ item_state = "dg_suit"
+ item_color = "green_suit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/red
+ name = "red suit"
+ desc = "A red suit and blue tie. Somewhat formal."
+ icon_state = "red_suit"
+ item_state = "r_suit"
+ item_color = "red_suit"
+
+/obj/item/clothing/under/suit/charcoal
+ name = "charcoal suit"
+ desc = "A charcoal suit and red tie. Very professional."
+ icon_state = "charcoal_suit"
+ item_state = "charcoal_suit"
+ item_color = "charcoal_suit"
+
+/obj/item/clothing/under/suit/navy
+ name = "navy suit"
+ desc = "A navy suit and red tie, intended for the station's finest."
+ icon_state = "navy_suit"
+ item_state = "navy_suit"
+ item_color = "navy_suit"
+
+/obj/item/clothing/under/suit/burgundy
+ name = "burgundy suit"
+ desc = "A burgundy suit and black tie. Somewhat formal."
+ icon_state = "burgundy_suit"
+ item_state = "burgundy_suit"
+ item_color = "burgundy_suit"
+
+/obj/item/clothing/under/suit/checkered
+ name = "checkered suit"
+ desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
+ icon_state = "checkered_suit"
+ item_state = "checkered_suit"
+ item_color = "checkered_suit"
+
+/obj/item/clothing/under/suit/tan
+ name = "tan suit"
+ desc = "A tan suit with a yellow tie. Smart, but casual."
+ icon_state = "tan_suit"
+ item_state = "tan_suit"
+ item_color = "tan_suit"
+
+/obj/item/clothing/under/suit/white
+ name = "white suit"
+ desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
+ icon_state = "white_suit"
+ item_state = "white_suit"
+ item_color = "white_suit"
+
+/obj/item/clothing/under/suit/telegram
+ name = "telegram suit"
+ desc = "Bright and red, hard to miss. Mostly warn by hotel staff or singing telegram."
+ icon_state = "telegram"
+ item_state = "telegram"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+
+/obj/item/clothing/under/suit/polychromic //enables all three overlays to reduce copypasta and defines basic stuff
+ name = "polychromic suit"
+ desc = "For when you want to show off your horrible colour coordination skills."
+ icon_state = "polysuit"
+ item_color = "polysuit"
+ item_state = "sl_suit"
+ hasprimary = TRUE
+ hassecondary = TRUE
+ hastertiary = TRUE
+ primary_color = "#FFFFFF"
+ secondary_color = "#FFFFFF"
+ tertiary_color = "#808080"
+ can_adjust = FALSE
+ mutantrace_variation = NONE
diff --git a/code/modules/clothing/under/sweaters.dm b/code/modules/clothing/under/sweaters.dm
new file mode 100644
index 0000000000..13f336bfbd
--- /dev/null
+++ b/code/modules/clothing/under/sweaters.dm
@@ -0,0 +1,41 @@
+/obj/item/clothing/under/sweater
+ name = "cream sweater"
+ desc = "Why trade style for comfort? Now you can go commando down south and still be cozy up north."
+ icon_state = "bb_turtle"
+ item_state = "w_suit"
+ item_color = "bb_turtle"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = TRUE
+ icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
+ alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
+ mutantrace_variation = NONE
+
+/obj/item/clothing/under/sweater/black
+ name = "black sweater"
+ icon_state = "bb_turtleblk"
+ item_state = "bl_suit"
+ item_color = "bb_turtleblk"
+
+/obj/item/clothing/under/sweater/purple
+ name = "purple sweater"
+ icon_state = "bb_turtlepur"
+ item_state = "p_suit"
+ item_color = "bb_turtlepur"
+
+/obj/item/clothing/under/sweater/green
+ name = "green sweater"
+ icon_state = "bb_turtlegrn"
+ item_state = "g_suit"
+ item_color = "bb_turtlegrn"
+
+/obj/item/clothing/under/sweater/red
+ name = "red sweater"
+ icon_state = "bb_turtlered"
+ item_state = "r_suit"
+ item_color = "bb_turtlered"
+
+/obj/item/clothing/under/sweater/blue
+ name = "blue sweater"
+ icon_state = "bb_turtleblu"
+ item_state = "b_suit"
+ item_color = "bb_turtleblu"
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 1250f4ed19..676138d734 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -55,6 +55,16 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
fitted = FEMALE_UNIFORM_TOP
+/obj/item/clothing/under/syndicate/cosmetic
+ name = "tactitool turtleneck"
+ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
+ icon_state = "tactifool"
+ item_state = "bl_suit"
+ item_color = "tactifool"
+ has_sensor = TRUE
+ mutantrace_variation = NONE
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
+
/obj/item/clothing/under/syndicate/sniper
name = "Tactical turtleneck suit"
desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp."
diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm
index 20852dbe62..2fb33d1b19 100644
--- a/code/modules/clothing/under/trek.dm
+++ b/code/modules/clothing/under/trek.dm
@@ -2,20 +2,23 @@
/obj/item/clothing/under/trek
- can_adjust = FALSE
+ name = "Section 31 Uniform"
+ desc = "Oooh... right."
+ item_state = ""
+ can_adjust = FALSE //to prevent you from "wearing it casually"
//TOS
/obj/item/clothing/under/trek/command
name = "command uniform"
- desc = "The uniform worn by command officers."
+ desc = "The uniform worn by command officers in the mid 2260s."
icon_state = "trek_command"
item_color = "trek_command"
item_state = "y_suit"
/obj/item/clothing/under/trek/engsec
- name = "engsec uniform"
- desc = "The uniform worn by engineering/security officers."
+ name = "operations uniform"
+ desc = "The uniform worn by operations officers of the mid 2260s. You feel strangely vulnerable just seeing this..."
icon_state = "trek_engsec"
item_color = "trek_engsec"
item_state = "r_suit"
@@ -23,45 +26,86 @@
/obj/item/clothing/under/trek/medsci
name = "medsci uniform"
- desc = "The uniform worn by medical/science officers."
+ desc = "The uniform worn by medsci officers in the mid 2260s."
icon_state = "trek_medsci"
item_color = "trek_medsci"
item_state = "b_suit"
+ permeability_coefficient = 0.50
//TNG
/obj/item/clothing/under/trek/command/next
+ desc = "The uniform worn by command officers. This one's from the mid 2360s."
icon_state = "trek_next_command"
item_color = "trek_next_command"
item_state = "r_suit"
/obj/item/clothing/under/trek/engsec/next
+ desc = "The uniform worn by operation officers. This one's from the mid 2360s."
icon_state = "trek_next_engsec"
item_color = "trek_next_engsec"
item_state = "y_suit"
/obj/item/clothing/under/trek/medsci/next
+ desc = "The uniform worn by medsci officers. This one's from the mid 2360s."
icon_state = "trek_next_medsci"
item_color = "trek_next_medsci"
//ENT
/obj/item/clothing/under/trek/command/ent
+ desc = "The uniform worn by command officers of the 2140s."
icon_state = "trek_ent_command"
item_color = "trek_ent_command"
item_state = "bl_suit"
/obj/item/clothing/under/trek/engsec/ent
+ desc = "The uniform worn by operations officers of the 2140s."
icon_state = "trek_ent_engsec"
item_color = "trek_ent_engsec"
item_state = "bl_suit"
/obj/item/clothing/under/trek/medsci/ent
+ desc = "The uniform worn by medsci officers of the 2140s."
icon_state = "trek_ent_medsci"
item_color = "trek_ent_medsci"
item_state = "bl_suit"
+//VOY
+/obj/item/clothing/under/trek/command/voy
+ desc = "The uniform worn by command officers of the 2370s."
+ icon_state = "trek_voy_command"
+ item_state = "trek_voy_command"
+
+/obj/item/clothing/under/trek/engsec/voy
+ desc = "The uniform worn by operations officers of the 2370s."
+ icon_state = "trek_voy_engsec"
+ item_state = "trek_voy_engsec"
+
+/obj/item/clothing/under/trek/medsci/voy
+ desc = "The uniform worn by medsci officers of the 2370s."
+ icon_state = "trek_voy_medsci"
+ item_state = "trek_voy_medsci"
+
+
+//DS9
+/obj/item/clothing/under/trek/command/ds9
+ desc = "The uniform worn by command officers of the 2380s."
+ icon_state = "trek_ds9_command"
+ item_state = "trek_ds9_command"
+
+/obj/item/clothing/under/trek/engsec/ds9
+ desc = "The uniform worn by operations officers of the 2380s."
+ icon_state = "trek_ds9_engsec"
+ item_state = "trek_ds9_engsec"
+
+/obj/item/clothing/under/trek/medsci/ds9
+ desc = "The uniform undershirt worn by medsci officers of the 2380s."
+ icon_state = "trek_ds9_medsci"
+ item_state = "trek_ds9_medsci"
+
+
//Q
/obj/item/clothing/under/trek/Q
name = "french marshall's uniform"
diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm
index 6a4221479d..eec6e77578 100644
--- a/code/modules/jobs/job_types/assistant.dm
+++ b/code/modules/jobs/job_types/assistant.dm
@@ -35,9 +35,9 @@ Assistant
if(suited)
uniform = /obj/item/clothing/under/color/grey
else
- uniform = /obj/item/clothing/under/skirt/color/grey
+ uniform = /obj/item/clothing/under/color/jumpskirt/grey
else
if(suited)
uniform = /obj/item/clothing/under/color/random
else
- uniform = /obj/item/clothing/under/skirt/color/random
+ uniform = /obj/item/clothing/under/color/jumpskirt/random
diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm
index 300fcc7109..97d73db5ce 100644
--- a/code/modules/jobs/job_types/atmospheric_technician.dm
+++ b/code/modules/jobs/job_types/atmospheric_technician.dm
@@ -26,7 +26,7 @@
belt = /obj/item/storage/belt/utility/atmostech
l_pocket = /obj/item/pda/atmos
ears = /obj/item/radio/headset/headset_eng
- uniform = /obj/item/clothing/under/rank/atmospheric_technician
+ uniform = /obj/item/clothing/under/rank/engineering/atmospheric_technician
r_pocket = /obj/item/analyzer
backpack = /obj/item/storage/backpack/industrial
diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm
index cffeceea9c..f542e96d50 100644
--- a/code/modules/jobs/job_types/bartender.dm
+++ b/code/modules/jobs/job_types/bartender.dm
@@ -23,7 +23,7 @@
glasses = /obj/item/clothing/glasses/sunglasses/reagent
belt = /obj/item/pda/bar
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/bartender
+ uniform = /obj/item/clothing/under/rank/civilian/bartender
suit = /obj/item/clothing/suit/armor/vest
backpack_contents = list(/obj/item/storage/box/beanbag=1,/obj/item/book/granter/action/drink_fling=1)
shoes = /obj/item/clothing/shoes/laceup
diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm
index e6338d9b0a..916783fe60 100644
--- a/code/modules/jobs/job_types/botanist.dm
+++ b/code/modules/jobs/job_types/botanist.dm
@@ -21,7 +21,7 @@
belt = /obj/item/pda/botanist
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/hydroponics
+ uniform = /obj/item/clothing/under/rank/civilian/hydroponics
suit = /obj/item/clothing/suit/apron
gloves =/obj/item/clothing/gloves/botanic_leather
suit_store = /obj/item/plant_analyzer
diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm
index d6fbe5551f..74b06adff7 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -23,6 +23,6 @@
belt = /obj/item/pda/cargo
ears = /obj/item/radio/headset/headset_cargo
- uniform = /obj/item/clothing/under/rank/cargotech
+ uniform = /obj/item/clothing/under/rank/cargo/tech
l_hand = /obj/item/export_scanner
diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm
index 97b1edc8c2..70d8af317e 100644
--- a/code/modules/jobs/job_types/chaplain.dm
+++ b/code/modules/jobs/job_types/chaplain.dm
@@ -115,7 +115,7 @@
belt = /obj/item/pda/chaplain
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/chaplain
+ uniform = /obj/item/clothing/under/rank/civilian/chaplain
backpack_contents = list(/obj/item/camera/spooky = 1)
backpack = /obj/item/storage/backpack/cultpack
satchel = /obj/item/storage/backpack/cultpack
diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm
index 4614feba8d..66167a3827 100644
--- a/code/modules/jobs/job_types/chemist.dm
+++ b/code/modules/jobs/job_types/chemist.dm
@@ -25,7 +25,7 @@
glasses = /obj/item/clothing/glasses/science
belt = /obj/item/pda/chemist
ears = /obj/item/radio/headset/headset_med
- uniform = /obj/item/clothing/under/rank/chemist
+ uniform = /obj/item/clothing/under/rank/medical/chemist
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat/chemist
backpack = /obj/item/storage/backpack/chemistry
diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm
index 0aa1f2f05f..d031653a31 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -38,7 +38,7 @@
belt = /obj/item/storage/belt/utility/chief/full
l_pocket = /obj/item/pda/heads/ce
ears = /obj/item/radio/headset/heads/ce
- uniform = /obj/item/clothing/under/rank/chief_engineer
+ uniform = /obj/item/clothing/under/rank/engineering/chief_engineer
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/hardhat/white
gloves = /obj/item/clothing/gloves/color/black/ce
diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm
index 69eead70f7..4a80975bb9 100644
--- a/code/modules/jobs/job_types/chief_medical_officer.dm
+++ b/code/modules/jobs/job_types/chief_medical_officer.dm
@@ -36,7 +36,7 @@
belt = /obj/item/pda/heads/cmo
l_pocket = /obj/item/pinpointer/crew
ears = /obj/item/radio/headset/heads/cmo
- uniform = /obj/item/clothing/under/rank/chief_medical_officer
+ uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer
shoes = /obj/item/clothing/shoes/sneakers/brown
suit = /obj/item/clothing/suit/toggle/labcoat/cmo
l_hand = /obj/item/storage/firstaid/regular
diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm
index f8a7e70473..a18aee474c 100644
--- a/code/modules/jobs/job_types/clown.dm
+++ b/code/modules/jobs/job_types/clown.dm
@@ -24,7 +24,7 @@
belt = /obj/item/pda/clown
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/clown
+ uniform = /obj/item/clothing/under/rank/civilian/clown
shoes = /obj/item/clothing/shoes/clown_shoes
mask = /obj/item/clothing/mask/gas/clown_hat
l_pocket = /obj/item/bikehorn
diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm
index b5def54061..db76af4d32 100644
--- a/code/modules/jobs/job_types/cook.dm
+++ b/code/modules/jobs/job_types/cook.dm
@@ -23,7 +23,7 @@
belt = /obj/item/pda/cook
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/chef
+ uniform = /obj/item/clothing/under/rank/civilian/chef
suit = /obj/item/clothing/suit/toggle/chef
head = /obj/item/clothing/head/chefhat
mask = /obj/item/clothing/mask/fakemoustache/italian
diff --git a/code/modules/jobs/job_types/curator.dm b/code/modules/jobs/job_types/curator.dm
index dc4b23662a..9e0a91e6aa 100644
--- a/code/modules/jobs/job_types/curator.dm
+++ b/code/modules/jobs/job_types/curator.dm
@@ -23,7 +23,7 @@
shoes = /obj/item/clothing/shoes/laceup
belt = /obj/item/pda/curator
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/curator
+ uniform = /obj/item/clothing/under/rank/civilian/curator
l_hand = /obj/item/storage/bag/books
r_pocket = /obj/item/key/displaycase
l_pocket = /obj/item/laser_pointer
diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm
index 13cb5e01e3..0c586d47a6 100644
--- a/code/modules/jobs/job_types/detective.dm
+++ b/code/modules/jobs/job_types/detective.dm
@@ -29,7 +29,7 @@
belt = /obj/item/pda/detective
ears = /obj/item/radio/headset/headset_sec/alt
- uniform = /obj/item/clothing/under/rank/det
+ uniform = /obj/item/clothing/under/rank/security/detective
neck = /obj/item/clothing/neck/tie/black
shoes = /obj/item/clothing/shoes/sneakers/brown
suit = /obj/item/clothing/suit/det_suit
diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm
index 6efa95cd91..35586c0bc8 100644
--- a/code/modules/jobs/job_types/geneticist.dm
+++ b/code/modules/jobs/job_types/geneticist.dm
@@ -24,7 +24,7 @@
belt = /obj/item/pda/geneticist
ears = /obj/item/radio/headset/headset_medsci
- uniform = /obj/item/clothing/under/rank/geneticist
+ uniform = /obj/item/clothing/under/rank/medical/geneticist
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat/genetics
suit_store = /obj/item/flashlight/pen
diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm
index 86b9cafa25..cf8310504d 100644
--- a/code/modules/jobs/job_types/head_of_personnel.dm
+++ b/code/modules/jobs/job_types/head_of_personnel.dm
@@ -42,7 +42,7 @@
id = /obj/item/card/id/silver
belt = /obj/item/pda/heads/hop
ears = /obj/item/radio/headset/heads/hop
- uniform = /obj/item/clothing/under/rank/head_of_personnel
+ uniform = /obj/item/clothing/under/rank/civilian/head_of_personnel
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/hopcap
backpack_contents = list(/obj/item/storage/box/ids=1,\
diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm
index e20315a1ca..926eb0b068 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -38,7 +38,7 @@
id = /obj/item/card/id/silver
belt = /obj/item/pda/heads/hos
ears = /obj/item/radio/headset/heads/hos/alt
- uniform = /obj/item/clothing/under/rank/head_of_security
+ uniform = /obj/item/clothing/under/rank/security/head_of_security
shoes = /obj/item/clothing/shoes/jackboots
suit = /obj/item/clothing/suit/armor/hos/trenchcoat
gloves = /obj/item/clothing/gloves/color/black/hos
diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm
index e42da10362..bc3d2b8abd 100644
--- a/code/modules/jobs/job_types/janitor.dm
+++ b/code/modules/jobs/job_types/janitor.dm
@@ -22,5 +22,5 @@
belt = /obj/item/pda/janitor
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/janitor
+ uniform = /obj/item/clothing/under/rank/civilian/janitor
backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1)
diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm
index 654af6a05d..7bf9c39d45 100644
--- a/code/modules/jobs/job_types/lawyer.dm
+++ b/code/modules/jobs/job_types/lawyer.dm
@@ -25,7 +25,7 @@
belt = /obj/item/pda/lawyer
ears = /obj/item/radio/headset/headset_sec
- uniform = /obj/item/clothing/under/lawyer/bluesuit
+ uniform = /obj/item/clothing/under/rank/civilian/lawyer/bluesuit
suit = /obj/item/clothing/suit/toggle/lawyer
shoes = /obj/item/clothing/shoes/laceup
l_hand = /obj/item/storage/briefcase/lawyer
@@ -43,5 +43,5 @@
var/datum/job/lawyer/J = SSjob.GetJobType(jobtype)
J.lawyers++
if(J.lawyers>1)
- uniform = /obj/item/clothing/under/lawyer/purpsuit
+ uniform = /obj/item/clothing/under/rank/civilian/lawyer/purpsuit
suit = /obj/item/clothing/suit/toggle/lawyer/purple
diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm
index 2a8814f29c..605727cf80 100644
--- a/code/modules/jobs/job_types/medical_doctor.dm
+++ b/code/modules/jobs/job_types/medical_doctor.dm
@@ -22,7 +22,7 @@
belt = /obj/item/pda/medical
ears = /obj/item/radio/headset/headset_med
- uniform = /obj/item/clothing/under/rank/medical
+ uniform = /obj/item/clothing/under/rank/medical/doctor
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat
l_hand = /obj/item/storage/firstaid/regular
diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm
index a5eb2032fa..f38b4edf52 100644
--- a/code/modules/jobs/job_types/mime.dm
+++ b/code/modules/jobs/job_types/mime.dm
@@ -26,7 +26,7 @@
belt = /obj/item/pda/mime
ears = /obj/item/radio/headset/headset_srv
- uniform = /obj/item/clothing/under/rank/mime
+ uniform = /obj/item/clothing/under/rank/civilian/mime
mask = /obj/item/clothing/mask/gas/mime
gloves = /obj/item/clothing/gloves/color/white
head = /obj/item/clothing/head/frenchberet
diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm
index ad57d05cdc..04460936af 100644
--- a/code/modules/jobs/job_types/quartermaster.dm
+++ b/code/modules/jobs/job_types/quartermaster.dm
@@ -34,7 +34,7 @@
belt = /obj/item/pda/quartermaster
ears = /obj/item/radio/headset/heads/qm
- uniform = /obj/item/clothing/under/rank/cargo
+ uniform = /obj/item/clothing/under/rank/cargo/qm
shoes = /obj/item/clothing/shoes/sneakers/brown
glasses = /obj/item/clothing/glasses/sunglasses
l_hand = /obj/item/clipboard
diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm
index ebf3b3eb40..9cc2f4b8bf 100644
--- a/code/modules/jobs/job_types/research_director.dm
+++ b/code/modules/jobs/job_types/research_director.dm
@@ -39,7 +39,7 @@
id = /obj/item/card/id/silver
belt = /obj/item/pda/heads/rd
ears = /obj/item/radio/headset/heads/rd
- uniform = /obj/item/clothing/under/rank/research_director
+ uniform = /obj/item/clothing/under/rank/rnd/research_director
shoes = /obj/item/clothing/shoes/sneakers/brown
suit = /obj/item/clothing/suit/toggle/labcoat
l_hand = /obj/item/clipboard
diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm
index 782b175ad4..345b1ac3d3 100644
--- a/code/modules/jobs/job_types/roboticist.dm
+++ b/code/modules/jobs/job_types/roboticist.dm
@@ -25,7 +25,7 @@
belt = /obj/item/storage/belt/utility/full
l_pocket = /obj/item/pda/roboticist
ears = /obj/item/radio/headset/headset_sci
- uniform = /obj/item/clothing/under/rank/roboticist
+ uniform = /obj/item/clothing/under/rank/rnd/roboticist
suit = /obj/item/clothing/suit/toggle/labcoat
backpack = /obj/item/storage/backpack/science
diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm
index f40a25d6ba..ce9a628ae0 100644
--- a/code/modules/jobs/job_types/scientist.dm
+++ b/code/modules/jobs/job_types/scientist.dm
@@ -24,7 +24,7 @@
belt = /obj/item/pda/toxins
ears = /obj/item/radio/headset/headset_sci
- uniform = /obj/item/clothing/under/rank/scientist
+ uniform = /obj/item/clothing/under/rank/rnd/scientist
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat/science
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index ae50f71c0c..92cc15673f 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S
belt = /obj/item/pda/security
ears = /obj/item/radio/headset/headset_sec/alt
- uniform = /obj/item/clothing/under/rank/security
+ uniform = /obj/item/clothing/under/rank/security/officer
gloves = /obj/item/clothing/gloves/color/black
head = /obj/item/clothing/head/helmet/sec
suit = /obj/item/clothing/suit/armor/vest/alt
diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm
index 915e9d1cea..4ba1fc9ac1 100644
--- a/code/modules/jobs/job_types/shaft_miner.dm
+++ b/code/modules/jobs/job_types/shaft_miner.dm
@@ -27,7 +27,7 @@
ears = /obj/item/radio/headset/headset_cargo/mining
shoes = /obj/item/clothing/shoes/workboots/mining
gloves = /obj/item/clothing/gloves/color/black
- uniform = /obj/item/clothing/under/rank/miner/lavaland
+ uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland
l_pocket = /obj/item/reagent_containers/hypospray/medipen/survival
r_pocket = /obj/item/storage/bag/ore //causes issues if spawned in backpack
backpack_contents = list(
@@ -46,7 +46,7 @@
/datum/outfit/job/miner/asteroid
name = "Shaft Miner (Asteroid)"
- uniform = /obj/item/clothing/under/rank/miner
+ uniform = /obj/item/clothing/under/rank/cargo/miner
shoes = /obj/item/clothing/shoes/workboots
/datum/outfit/job/miner/equipped
diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm
index 55381549ba..144693aba1 100644
--- a/code/modules/jobs/job_types/station_engineer.dm
+++ b/code/modules/jobs/job_types/station_engineer.dm
@@ -27,7 +27,7 @@
belt = /obj/item/storage/belt/utility/full/engi
l_pocket = /obj/item/pda/engineering
ears = /obj/item/radio/headset/headset_eng
- uniform = /obj/item/clothing/under/rank/engineer
+ uniform = /obj/item/clothing/under/rank/engineering/engineer
shoes = /obj/item/clothing/shoes/workboots
head = /obj/item/clothing/head/hardhat
r_pocket = /obj/item/t_scanner
diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm
index dcc13af627..c5a9c9e9fb 100644
--- a/code/modules/jobs/job_types/virologist.dm
+++ b/code/modules/jobs/job_types/virologist.dm
@@ -24,7 +24,7 @@
belt = /obj/item/pda/viro
ears = /obj/item/radio/headset/headset_med
- uniform = /obj/item/clothing/under/rank/virologist
+ uniform = /obj/item/clothing/under/rank/medical/virologist
mask = /obj/item/clothing/mask/surgical
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat/virologist
diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm
index 9c529f45f3..8ddcf1ad91 100644
--- a/code/modules/jobs/job_types/warden.dm
+++ b/code/modules/jobs/job_types/warden.dm
@@ -34,7 +34,7 @@
belt = /obj/item/pda/warden
ears = /obj/item/radio/headset/headset_sec/alt
- uniform = /obj/item/clothing/under/rank/warden
+ uniform = /obj/item/clothing/under/rank/security/warden
shoes = /obj/item/clothing/shoes/jackboots
suit = /obj/item/clothing/suit/armor/vest/warden/alt
gloves = /obj/item/clothing/gloves/color/black
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index 9ee358af62..916fb50844 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -119,7 +119,7 @@
new /obj/item/dnainjector/xraymut(src)
if(94)
new /obj/item/storage/backpack/clown(src)
- new /obj/item/clothing/under/rank/clown(src)
+ new /obj/item/clothing/under/rank/civilian/clown(src)
new /obj/item/clothing/shoes/clown_shoes(src)
new /obj/item/pda/clown(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
@@ -127,7 +127,7 @@
new /obj/item/toy/crayon/rainbow(src)
new /obj/item/reagent_containers/spray/waterflower(src)
if(95)
- new /obj/item/clothing/under/rank/mime(src)
+ new /obj/item/clothing/under/rank/civilian/mime(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/pda/mime(src)
new /obj/item/clothing/gloves/color/white(src)
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index dd3b13d8dd..0182dec254 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -303,7 +303,7 @@
/obj/item/storage/backpack/duffelbag/mining_cloned/PopulateContents()
new /obj/item/pickaxe/mini(src)
- new /obj/item/clothing/under/rank/miner/lavaland(src)
+ new /obj/item/clothing/under/rank/cargo/miner/lavaland(src)
new /obj/item/clothing/shoes/workboots/mining(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/implanter/tracking/gps(src)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index ac4cee8c42..c212c22c98 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -28,9 +28,9 @@
new /obj/item/storage/backpack/duffelbag(src)
new /obj/item/storage/backpack/explorer(src)
new /obj/item/storage/backpack/satchel/explorer(src)
- new /obj/item/clothing/under/rank/miner/lavaland(src)
- new /obj/item/clothing/under/rank/miner/lavaland(src)
- new /obj/item/clothing/under/rank/miner/lavaland(src)
+ new /obj/item/clothing/under/rank/cargo/miner/lavaland(src)
+ new /obj/item/clothing/under/rank/cargo/miner/lavaland(src)
+ new /obj/item/clothing/under/rank/cargo/miner/lavaland(src)
new /obj/item/clothing/shoes/workboots/mining(src)
new /obj/item/clothing/shoes/workboots/mining(src)
new /obj/item/clothing/shoes/workboots/mining(src)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index b2691f4474..3c064d9525 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -707,7 +707,7 @@
/mob/living/carbon/human/wash_cream()
if(creamed) //clean both to prevent a rare bug
- cut_overlay(mutable_appearance('icons/effects/creampie.dmi', "creampie_snout"))
+ cut_overlay(mutable_appearance('icons/effects/creampie.dmi', "creampie_lizard"))
cut_overlay(mutable_appearance('icons/effects/creampie.dmi', "creampie_human"))
creamed = FALSE
diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm
index 9f3e44fee7..2e0e9dadb4 100644
--- a/code/modules/mob/living/simple_animal/corpse.dm
+++ b/code/modules/mob/living/simple_animal/corpse.dm
@@ -82,7 +82,7 @@
/datum/outfit/piratecorpse
name = "Pirate Corpse"
- uniform = /obj/item/clothing/under/pirate
+ uniform = /obj/item/clothing/under/costume/pirate
shoes = /obj/item/clothing/shoes/jackboots
glasses = /obj/item/clothing/glasses/eyepatch
head = /obj/item/clothing/head/bandana
@@ -106,7 +106,7 @@
/datum/outfit/russiancorpse
name = "Russian Corpse"
- uniform = /obj/item/clothing/under/soviet
+ uniform = /obj/item/clothing/under/costume/soviet
shoes = /obj/item/clothing/shoes/jackboots
head = /obj/item/clothing/head/bearpelt
gloves = /obj/item/clothing/gloves/color/black
@@ -142,7 +142,7 @@
/datum/outfit/russiancorpse/officer
name = "Russian Officer Corpse"
- uniform = /obj/item/clothing/under/rank/security/navyblue/russian
+ uniform = /obj/item/clothing/under/costume/russian_officer
suit = /obj/item/clothing/suit/armor/navyblue/russian
shoes = /obj/item/clothing/shoes/combat
ears = /obj/item/radio/headset
@@ -174,7 +174,7 @@
/datum/outfit/nanotrasensoldiercorpse2
name = "NT Private Security Officer Corpse"
- uniform = /obj/item/clothing/under/rank/security
+ uniform = /obj/item/clothing/under/rank/security/officer
suit = /obj/item/clothing/suit/armor/vest
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
@@ -195,7 +195,7 @@
/datum/outfit/cat_butcher
name = "Cat Butcher Uniform"
- uniform = /obj/item/clothing/under/rank/medical/green
+ uniform = /obj/item/clothing/under/rank/medical/doctor/green
suit = /obj/item/clothing/suit/apron/surgical
shoes = /obj/item/clothing/shoes/sneakers/white
gloves = /obj/item/clothing/gloves/color/latex/nitrile
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index d940305080..800c35493b 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -287,7 +287,7 @@
head = /obj/item/clothing/head/helmet/space/plasmaman
belt = /obj/item/tank/internals/plasmaman/belt
else
- uniform = /obj/item/clothing/under/rank/miner/lavaland
+ uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland
if (prob(4))
belt = pickweight(list(/obj/item/storage/belt/mining = 2, /obj/item/storage/belt/mining/alt = 2))
else if(prob(10))
@@ -306,7 +306,7 @@
l_pocket = pickweight(list(/obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/cooldown = 1 ))
if("Ashwalker")
mob_species = /datum/species/lizard/ashwalker
- uniform = /obj/item/clothing/under/gladiator/ash_walker
+ uniform = /obj/item/clothing/under/costume/gladiator/ash_walker
if(prob(95))
head = /obj/item/clothing/head/helmet/gladiator
else
@@ -346,7 +346,7 @@
l_pocket = pick(list(/obj/item/crowbar/power, /obj/item/wrench/power, /obj/item/weldingtool/experimental))
if("YeOlde")
mob_gender = FEMALE
- uniform = /obj/item/clothing/under/maid
+ uniform = /obj/item/clothing/under/costume/maid
gloves = /obj/item/clothing/gloves/color/white
shoes = /obj/item/clothing/shoes/laceup
head = /obj/item/clothing/head/helmet/knight
@@ -369,7 +369,7 @@
back = /obj/item/tank/internals/oxygen
mask = /obj/item/clothing/mask/breath
if("Cultist")
- uniform = /obj/item/clothing/under/roman
+ uniform = /obj/item/clothing/under/costume/roman
suit = /obj/item/clothing/suit/cultrobes
head = /obj/item/clothing/head/culthood
suit_store = /obj/item/tome
@@ -378,7 +378,7 @@
glasses = /obj/item/clothing/glasses/hud/health/night/cultblind
backpack_contents = list(/obj/item/reagent_containers/glass/beaker/unholywater = 1, /obj/item/cult_shift = 1, /obj/item/flashlight/flare/culttorch = 1, /obj/item/stack/sheet/runed_metal = 15)
if("Lavaknight")
- uniform = /obj/item/clothing/under/assistantformal
+ uniform = /obj/item/clothing/under/misc/assistantformal
mask = /obj/item/clothing/mask/breath
shoes = /obj/item/clothing/shoes/sneakers/black
r_pocket = /obj/item/melee/transforming/energy/sword/cx/broken
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index 15842299e3..2c8be10ace 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -114,12 +114,9 @@
/datum/chemical_reaction/emp_pulse/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
- // 50 multiplier = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
- // 100 multiplier = 5 heavy range & 10 light range.
- // 200 multiplier = 7 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
- // 300 multiplier = 8 heavy range & 17 light range. Still rather significant, considering that you can get dozens of bluespace beakers 30 minutes in with a competent crew.
- // 900 multiplier = 12 heavy range & 30 light range. Still less than 300 before this commit.
- empulse(location, round(multiplier ** (3/8)), round(multiplier ** (1/2)), 1)
+ // 100 multiplier = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
+ // 200 multiplier = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
+ empulse(location, round(multiplier / 12), round(multiplier / 7), 1)
holder.clear_reagents()
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index b6e39e98dc..a60d564631 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -463,7 +463,7 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
id_access_list = list(ACCESS_AWAY_GENERIC3, ACCESS_RESEARCH)
instant = TRUE
id = /obj/item/card/id/silver
- uniform = /obj/item/clothing/under/rank/research_director
+ uniform = /obj/item/clothing/under/rank/rnd/research_director
shoes = /obj/item/clothing/shoes/sneakers/brown
back = /obj/item/storage/backpack/satchel/leather
suit = /obj/item/clothing/suit/toggle/labcoat
diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm
index 0911258692..2eaf24c493 100644
--- a/code/modules/vending/autodrobe.dm
+++ b/code/modules/vending/autodrobe.dm
@@ -8,67 +8,67 @@
vend_reply = "Thank you for using AutoDrobe!"
products = list(/obj/item/clothing/suit/chickensuit = 1,
/obj/item/clothing/head/chicken = 1,
- /obj/item/clothing/under/gladiator = 1,
+ /obj/item/clothing/under/costume/gladiator = 1,
/obj/item/clothing/head/helmet/gladiator = 1,
- /obj/item/clothing/under/gimmick/rank/captain/suit = 1,
+ /obj/item/clothing/under/rank/captain/suit = 1,
/obj/item/clothing/head/flatcap = 1,
/obj/item/clothing/suit/toggle/labcoat/mad = 1,
/obj/item/clothing/shoes/jackboots = 1,
- /obj/item/clothing/under/schoolgirl = 1,
- /obj/item/clothing/under/schoolgirl/red = 1,
- /obj/item/clothing/under/schoolgirl/green = 1,
- /obj/item/clothing/under/schoolgirl/orange = 1,
+ /obj/item/clothing/under/costume/schoolgirl = 1,
+ /obj/item/clothing/under/costume/schoolgirl/red = 1,
+ /obj/item/clothing/under/costume/schoolgirl/green = 1,
+ /obj/item/clothing/under/costume/schoolgirl/orange = 1,
/obj/item/clothing/head/kitty = 1,
- /obj/item/clothing/under/skirt/black = 1,
+ /obj/item/clothing/under/dress/skirt = 1,
/obj/item/clothing/head/beret = 1,
/obj/item/clothing/accessory/waistcoat = 1,
- /obj/item/clothing/under/suit_jacket = 1,
+ /obj/item/clothing/under/suit/black = 1,
/obj/item/clothing/head/that = 1,
- /obj/item/clothing/under/kilt = 1,
+ /obj/item/clothing/under/costume/kilt = 1,
/obj/item/clothing/head/beret = 1,
/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/glasses/monocle =1,
/obj/item/clothing/head/bowler = 1,
/obj/item/cane = 1,
- /obj/item/clothing/under/sl_suit = 1,
+ /obj/item/clothing/under/suit/sl = 1,
/obj/item/clothing/mask/fakemoustache = 1,
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,
/obj/item/clothing/head/plaguedoctorhat = 1,
/obj/item/clothing/mask/gas/plaguedoctor = 1,
/obj/item/clothing/suit/toggle/owlwings = 1,
- /obj/item/clothing/under/owl = 1,
+ /obj/item/clothing/under/costume/owl = 1,
/obj/item/clothing/mask/gas/owl_mask = 1,
/obj/item/clothing/suit/toggle/owlwings/griffinwings = 1,
- /obj/item/clothing/under/griffin = 1,
+ /obj/item/clothing/under/costume/griffin = 1,
/obj/item/clothing/shoes/griffin = 1,
/obj/item/clothing/head/griffin = 1,
/obj/item/clothing/suit/apron = 1,
- /obj/item/clothing/under/waiter = 1,
+ /obj/item/clothing/under/suit/waiter = 1,
/obj/item/clothing/suit/jacket/miljacket = 1,
- /obj/item/clothing/under/pirate = 1,
+ /obj/item/clothing/under/costume/pirate = 1,
/obj/item/clothing/suit/pirate = 1,
/obj/item/clothing/head/pirate = 1,
/obj/item/clothing/head/bandana = 1,
/obj/item/clothing/head/bandana = 1,
- /obj/item/clothing/under/soviet = 1,
+ /obj/item/clothing/under/costume/soviet = 1,
/obj/item/clothing/head/ushanka = 1,
/obj/item/clothing/suit/imperium_monk = 1,
/obj/item/clothing/mask/gas/cyborg = 1,
/obj/item/clothing/suit/chaplain/holidaypriest = 1,
/obj/item/clothing/head/wizard/marisa/fake = 1,
/obj/item/clothing/suit/wizrobe/marisa/fake = 1,
- /obj/item/clothing/under/sundress = 1,
+ /obj/item/clothing/under/dress/sundress = 1,
/obj/item/clothing/head/witchwig = 1,
/obj/item/staff/broom = 1,
/obj/item/clothing/suit/wizrobe/fake = 1,
/obj/item/clothing/head/wizard/fake = 1,
/obj/item/staff = 3,
- /obj/item/clothing/under/rank/mime/skirt = 1,
- /obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/mime/skirt = 1,
+ /obj/item/clothing/under/rank/captain/suit/skirt = 1,
/obj/item/clothing/mask/gas/sexyclown = 1,
- /obj/item/clothing/under/rank/clown/sexy = 1,
+ /obj/item/clothing/under/rank/civilian/clown/sexy = 1,
/obj/item/clothing/mask/gas/sexymime = 1,
- /obj/item/clothing/under/sexymime = 1,
+ /obj/item/clothing/under/rank/civilian/mime/sexy = 1,
/obj/item/clothing/mask/rat/bat = 1,
/obj/item/clothing/mask/rat/bee = 1,
/obj/item/clothing/mask/rat/bear = 1,
@@ -85,18 +85,18 @@
/obj/item/clothing/suit/poncho = 1,
/obj/item/clothing/suit/poncho/green = 1,
/obj/item/clothing/suit/poncho/red = 1,
- /obj/item/clothing/under/maid = 1,
- /obj/item/clothing/under/janimaid = 1,
+ /obj/item/clothing/under/costume/maid = 1,
+ /obj/item/clothing/under/rank/civilian/janitor/maid = 1,
/obj/item/clothing/glasses/cold=1,
/obj/item/clothing/glasses/heat=1,
/obj/item/clothing/suit/whitedress = 1,
- /obj/item/clothing/under/jester = 1,
+ /obj/item/clothing/under/rank/civilian/clown/jester = 1,
/obj/item/clothing/head/jester = 1,
- /obj/item/clothing/under/villain = 1,
+ /obj/item/clothing/under/costume/villain = 1,
/obj/item/clothing/shoes/singery = 1,
- /obj/item/clothing/under/singery = 1,
+ /obj/item/clothing/under/costume/singer/yellow = 1,
/obj/item/clothing/shoes/singerb = 1,
- /obj/item/clothing/under/singerb = 1,
+ /obj/item/clothing/under/costume/singer/blue = 1,
/obj/item/clothing/suit/hooded/carp_costume = 1,
/obj/item/clothing/suit/hooded/ian_costume = 1,
/obj/item/clothing/suit/hooded/bee_costume = 1,
@@ -104,8 +104,8 @@
/obj/item/clothing/head/snowman = 1,
/obj/item/clothing/mask/joy = 1,
/obj/item/clothing/head/cueball = 1,
- /obj/item/clothing/under/scratch = 1,
- /obj/item/clothing/under/sailor = 1,
+ /obj/item/clothing/under/suit/white_on_white = 1,
+ /obj/item/clothing/under/costume/sailor = 1,
/obj/item/clothing/ears/headphones = 2,
/obj/item/clothing/head/wig/random = 3,
/obj/item/clothing/suit/ran = 2,
@@ -120,24 +120,24 @@
/obj/item/clothing/head/pirate/captain = 2,
/obj/item/clothing/head/helmet/roman/fake = 1,
/obj/item/clothing/head/helmet/roman/legionnaire/fake = 1,
- /obj/item/clothing/under/roman = 1,
+ /obj/item/clothing/under/costume/roman = 1,
/obj/item/clothing/shoes/roman = 1,
/obj/item/shield/riot/roman/fake = 1,
/obj/item/skub = 1,
- /obj/item/clothing/under/lobster = 1, // CIT CHANGES
+ /obj/item/clothing/under/costume/lobster = 1, // CIT CHANGES
/obj/item/clothing/head/lobsterhat = 1,
/obj/item/clothing/head/drfreezehat = 1,
/obj/item/clothing/suit/dracula = 1,
/obj/item/clothing/suit/drfreeze_coat = 1,
/obj/item/clothing/suit/gothcoat = 2,
- /obj/item/clothing/under/draculass = 1,
- /obj/item/clothing/under/christmas/christmasmaler = 3,
- /obj/item/clothing/under/christmas/christmasmaleg = 3,
- /obj/item/clothing/under/christmas/christmasfemaler = 3,
- /obj/item/clothing/under/christmas/christmasfemaleg = 3,
+ /obj/item/clothing/under/costume/draculass = 1,
+ /obj/item/clothing/under/costume/christmas = 3,
+ /obj/item/clothing/under/costume/christmas/green = 3,
+ /obj/item/clothing/under/costume/christmas/croptop = 3,
+ /obj/item/clothing/under/costume/christmas/croptop/green = 3,
/obj/item/clothing/head/christmashat = 3,
/obj/item/clothing/head/christmashatg = 3,
- /obj/item/clothing/under/drfreeze = 1) //End of Cit Changes
+ /obj/item/clothing/under/costume/drfreeze = 1) //End of Cit Changes
refill_canister = /obj/item/vending_refill/autodrobe
/obj/machinery/vending/autodrobe/all_access
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index e74e82351b..521c1e0999 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -17,20 +17,20 @@
/obj/item/clothing/suit/jacket/puffer/vest = 4,
/obj/item/clothing/suit/jacket/puffer = 4,
/obj/item/clothing/suit/hooded/cloak/david = 4,
- /obj/item/clothing/under/suit_jacket/navy = 3,
- /obj/item/clothing/under/suit_jacket/really_black = 3,
- /obj/item/clothing/under/suit_jacket/burgundy = 3,
- /obj/item/clothing/under/suit_jacket/charcoal = 3,
- /obj/item/clothing/under/suit_jacket/white = 3,
- /obj/item/clothing/under/kilt = 3,
- /obj/item/clothing/under/overalls = 3,
- /obj/item/clothing/under/sl_suit = 3,
- /obj/item/clothing/under/bb_sweater = 3,
- /obj/item/clothing/under/bb_sweater/black = 3,
- /obj/item/clothing/under/bb_sweater/purple = 3,
- /obj/item/clothing/under/bb_sweater/green = 3,
- /obj/item/clothing/under/bb_sweater/red = 3,
- /obj/item/clothing/under/bb_sweater/blue = 3,
+ /obj/item/clothing/under/suit/navy = 3,
+ /obj/item/clothing/under/suit/black_really = 3,
+ /obj/item/clothing/under/suit/burgundy = 3,
+ /obj/item/clothing/under/suit/charcoal = 3,
+ /obj/item/clothing/under/suit/white = 3,
+ /obj/item/clothing/under/costume/kilt = 3,
+ /obj/item/clothing/under/misc/overalls = 3,
+ /obj/item/clothing/under/suit/sl = 3,
+ /obj/item/clothing/under/sweater = 3,
+ /obj/item/clothing/under/sweater/black = 3,
+ /obj/item/clothing/under/sweater/purple = 3,
+ /obj/item/clothing/under/sweater/green = 3,
+ /obj/item/clothing/under/sweater/red = 3,
+ /obj/item/clothing/under/sweater/blue = 3,
/obj/item/clothing/under/pants/jeans = 5,
/obj/item/clothing/under/pants/classicjeans = 5,
/obj/item/clothing/under/pants/camo = 3,
@@ -42,9 +42,9 @@
/obj/item/clothing/under/pants/tan = 4,
/obj/item/clothing/under/pants/track = 3,
/obj/item/clothing/suit/jacket/miljacket = 5,
- /obj/item/clothing/under/scratch/skirt = 2,
- /obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 2,
- /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt = 2,
+ /obj/item/clothing/under/suit/white_on_white/skirt = 2,
+ /obj/item/clothing/under/rank/captain/suit/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt = 2,
/obj/item/clothing/neck/tie/blue = 3,
/obj/item/clothing/neck/tie/red = 3,
/obj/item/clothing/neck/tie/black = 3,
@@ -65,26 +65,26 @@
/obj/item/clothing/neck/stripedbluescarf = 3,
/obj/item/clothing/neck/stripedgreenscarf = 3,
/obj/item/clothing/accessory/waistcoat = 2,
- /obj/item/clothing/under/skirt/black = 3,
- /obj/item/clothing/under/skirt/blue = 3,
- /obj/item/clothing/under/skirt/red = 3,
- /obj/item/clothing/under/skirt/purple = 3,
- /obj/item/clothing/under/sundress = 4,
- /obj/item/clothing/under/sundresswhite = 4,
- /obj/item/clothing/under/stripeddress = 3,
- /obj/item/clothing/under/sailordress = 3,
- /obj/item/clothing/under/sweptskirt = 3,
- /obj/item/clothing/under/greendress = 3,
- /obj/item/clothing/under/pinkdress = 3,
- /obj/item/clothing/under/redeveninggown = 3,
- /obj/item/clothing/under/blacktango = 3,
- /obj/item/clothing/under/westernbustle = 3,
- /obj/item/clothing/under/flamenco = 3,
- /obj/item/clothing/under/flowerdress = 3,
- /obj/item/clothing/under/plaid_skirt = 3,
- /obj/item/clothing/under/plaid_skirt/blue = 3,
- /obj/item/clothing/under/plaid_skirt/purple = 3,
- /obj/item/clothing/under/plaid_skirt/green = 3,
+ /obj/item/clothing/under/dress/skirt = 3,
+ /obj/item/clothing/under/dress/skirt/blue = 3,
+ /obj/item/clothing/under/dress/skirt/red = 3,
+ /obj/item/clothing/under/dress/skirt/purple = 3,
+ /obj/item/clothing/under/dress/sundress = 4,
+ /obj/item/clothing/under/dress/sundress/white = 4,
+ /obj/item/clothing/under/dress/striped = 3,
+ /obj/item/clothing/under/dress/sailor = 3,
+ /obj/item/clothing/under/dress/skirt/swept = 3,
+ /obj/item/clothing/under/dress/green = 3,
+ /obj/item/clothing/under/dress/pink = 3,
+ /obj/item/clothing/under/dress/redeveninggown = 3,
+ /obj/item/clothing/under/dress/blacktango = 3,
+ /obj/item/clothing/under/dress/westernbustle = 3,
+ /obj/item/clothing/under/dress/flamenco = 3,
+ /obj/item/clothing/under/dress/flower = 3,
+ /obj/item/clothing/under/dress/skirt/plaid = 3,
+ /obj/item/clothing/under/dress/skirt/plaid/blue = 3,
+ /obj/item/clothing/under/dress/skirt/plaid/purple = 3,
+ /obj/item/clothing/under/dress/skirt/plaid/green = 3,
/obj/item/clothing/under/croptop = 3,
/obj/item/clothing/glasses/regular = 2,
/obj/item/clothing/glasses/regular/jamjar = 2,
@@ -122,12 +122,12 @@
/obj/item/clothing/suit/jacket/letterman_red = 3,
/obj/item/clothing/ears/headphones = 10,
/obj/item/clothing/suit/apron/purple_bartender = 4,
- /obj/item/clothing/under/rank/bartender/purple = 4,
+ /obj/item/clothing/under/rank/civilian/bartender/purple = 4,
/* Commenting out until next Christmas or made automatic
- /obj/item/clothing/under/christmas/christmasmaler = 3,
- /obj/item/clothing/under/christmas/christmasmaleg = 3,
- /obj/item/clothing/under/christmas/christmasfemaler = 3,
- /obj/item/clothing/under/christmas/christmasfemaleg = 3,
+ /obj/item/clothing/under/costume/christmas = 3,
+ /obj/item/clothing/under/costume/christmas/green = 3,
+ /obj/item/clothing/under/costume/christmas/croptop = 3,
+ /obj/item/clothing/under/costume/christmas/croptop/green = 3,
*/
/obj/item/clothing/suit/hooded/wintercoat/christmascoatr = 3,
/obj/item/clothing/suit/hooded/wintercoat/christmascoatg = 3,
@@ -145,27 +145,27 @@
/obj/item/clothing/head/cowboyhat/pink = 3,
/obj/item/clothing/shoes/cowboyboots = 3,
/obj/item/clothing/shoes/cowboyboots/black = 3,
- /obj/item/clothing/under/lunar/qipao = 3,
- /obj/item/clothing/under/lunar/qipao/white = 3,
- /obj/item/clothing/under/lunar/qipao/red = 3,
- /obj/item/clothing/under/lunar/cheongsam = 3,
- /obj/item/clothing/under/lunar/cheongsam/white = 3,
- /obj/item/clothing/under/lunar/cheongsam/red = 3)
+ /obj/item/clothing/under/costume/qipao = 3,
+ /obj/item/clothing/under/costume/qipao/white = 3,
+ /obj/item/clothing/under/costume/qipao/red = 3,
+ /obj/item/clothing/under/costume/cheongsam = 3,
+ /obj/item/clothing/under/costume/cheongsam/white = 3,
+ /obj/item/clothing/under/costume/cheongsam/red = 3)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
/obj/item/clothing/under/syndicate/tacticool/skirt = 3,
/obj/item/clothing/mask/balaclava = 3,
/obj/item/clothing/head/ushanka = 3,
- /obj/item/clothing/under/soviet = 3,
+ /obj/item/clothing/under/costume/soviet = 3,
/obj/item/storage/belt/fannypack/black = 3,
/obj/item/clothing/suit/jacket/letterman_syndie = 5,
- /obj/item/clothing/under/jabroni = 2,
+ /obj/item/clothing/under/costume/jabroni = 2,
/obj/item/clothing/suit/vapeshirt = 2,
- /obj/item/clothing/under/geisha = 4,
- /obj/item/clothing/under/keyholesweater = 3,
- /obj/item/clothing/under/staffassistant = 5)
- premium = list(/obj/item/clothing/under/suit_jacket/checkered = 4,
+ /obj/item/clothing/under/costume/geisha = 4,
+ /obj/item/clothing/under/misc/keyholesweater = 3,
+ /obj/item/clothing/under/misc/staffassistant = 5)
+ premium = list(/obj/item/clothing/under/suit/checkered = 4,
/obj/item/clothing/head/mailman = 2,
- /obj/item/clothing/under/rank/mailman = 2,
+ /obj/item/clothing/under/misc/mailman = 2,
/obj/item/clothing/suit/jacket/leather = 4,
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
/obj/item/clothing/under/pants/mustangjeans = 3,
diff --git a/code/modules/vending/engineering.dm b/code/modules/vending/engineering.dm
index 52586e1cc9..e067c094f6 100644
--- a/code/modules/vending/engineering.dm
+++ b/code/modules/vending/engineering.dm
@@ -5,8 +5,8 @@
icon_state = "engi"
icon_deny = "engi-deny"
req_access = list(ACCESS_ENGINE_EQUIP)
- products = list(/obj/item/clothing/under/rank/chief_engineer = 4,
- /obj/item/clothing/under/rank/engineer = 4,
+ products = list(/obj/item/clothing/under/rank/engineering/chief_engineer = 4,
+ /obj/item/clothing/under/rank/engineering/engineer = 4,
/obj/item/clothing/shoes/sneakers/orange = 4,
/obj/item/clothing/head/hardhat = 4,
/obj/item/storage/belt/utility = 4,
diff --git a/code/modules/vending/kinkmate.dm b/code/modules/vending/kinkmate.dm
index 39d5db8de8..acfeeddaa9 100644
--- a/code/modules/vending/kinkmate.dm
+++ b/code/modules/vending/kinkmate.dm
@@ -6,18 +6,18 @@
product_slogans = "Kinky!;Sexy!;Check me out, big boy!"
vend_reply = "Have fun, you shameless pervert!"
products = list(
- /obj/item/clothing/under/maid = 5,
- /obj/item/clothing/under/janimaid = 5,
+ /obj/item/clothing/under/costume/maid = 5,
+ /obj/item/clothing/under/rank/civilian/janitor/maid = 5,
/obj/item/clothing/neck/petcollar = 5,
/obj/item/clothing/neck/petcollar/choker = 5,
/obj/item/clothing/neck/petcollar/leather = 5,
/obj/item/restraints/handcuffs/fake/kinky = 5,
/obj/item/clothing/glasses/sunglasses/blindfold = 4,
/obj/item/clothing/mask/muzzle = 4,
- /obj/item/clothing/under/stripper_pink = 3,
- /obj/item/clothing/under/stripper_green = 3,
- /obj/item/clothing/under/corset = 3,
- /obj/item/clothing/under/gear_harness = 10,
+ /obj/item/clothing/under/misc/stripper = 3,
+ /obj/item/clothing/under/misc/stripper/green = 3,
+ /obj/item/clothing/under/dress/corset = 3,
+ /obj/item/clothing/under/misc/gear_harness = 10,
/obj/item/dildo/custom = 5,
/obj/item/electropack/shockcollar = 3,
/obj/item/assembly/signaler = 3
@@ -27,9 +27,9 @@
/obj/item/key/collar = 2,
/obj/item/clothing/head/kitty = 3,
/obj/item/clothing/head/rabbitears = 3,
- /obj/item/clothing/under/keyholesweater = 2,
- /obj/item/clothing/under/mankini = 2,
- /obj/item/clothing/under/jabroni = 2,
+ /obj/item/clothing/under/misc/keyholesweater = 2,
+ /obj/item/clothing/under/misc/stripper/mankini = 2,
+ /obj/item/clothing/under/costume/jabroni = 2,
/obj/item/dildo/flared/huge = 3,
/obj/item/reagent_containers/glass/bottle/crocin = 5,
/obj/item/reagent_containers/glass/bottle/camphor = 5
diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm
index bcdc13b062..affc1dfed7 100644
--- a/code/modules/vending/liberation.dm
+++ b/code/modules/vending/liberation.dm
@@ -23,7 +23,7 @@
/obj/item/ammo_box/magazine/m75 = 2,
/obj/item/reagent_containers/food/snacks/cheesyfries = 5,
/obj/item/reagent_containers/food/snacks/burger/baconburger = 5) //Premium burgers for the premium section
- contraband = list(/obj/item/clothing/under/patriotsuit = 3,
+ contraband = list(/obj/item/clothing/under/misc/patriotsuit = 3,
/obj/item/bedsheet/patriot = 5,
/obj/item/reagent_containers/food/snacks/burger/superbite = 3) //U S A
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
diff --git a/code/modules/vending/plasmaresearch.dm b/code/modules/vending/plasmaresearch.dm
index de62ec4af9..40b709f5b5 100644
--- a/code/modules/vending/plasmaresearch.dm
+++ b/code/modules/vending/plasmaresearch.dm
@@ -2,7 +2,7 @@
/obj/machinery/vending/plasmaresearch
name = "\improper Toximate 3000"
desc = "All the fine parts you need in one vending machine!"
- products = list(/obj/item/clothing/under/rank/scientist = 6,
+ products = list(/obj/item/clothing/under/rank/rnd/scientist = 6,
/obj/item/clothing/suit/bio_suit = 6,
/obj/item/clothing/head/bio_hood = 6,
/obj/item/transfer_valve = 6,
diff --git a/code/modules/vending/robotics.dm b/code/modules/vending/robotics.dm
index 9311fe496d..852b7d65f0 100644
--- a/code/modules/vending/robotics.dm
+++ b/code/modules/vending/robotics.dm
@@ -6,7 +6,7 @@
icon_deny = "robotics-deny"
req_access = list(ACCESS_ROBOTICS)
products = list(/obj/item/clothing/suit/toggle/labcoat = 4,
- /obj/item/clothing/under/rank/roboticist = 4,
+ /obj/item/clothing/under/rank/rnd/roboticist = 4,
/obj/item/stack/cable_coil = 4,
/obj/item/assembly/flash/handheld = 4,
/obj/item/stock_parts/cell/high = 12,
diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm
index 666071e254..09681def64 100644
--- a/code/modules/vending/security.dm
+++ b/code/modules/vending/security.dm
@@ -20,7 +20,7 @@
premium = list(/obj/item/coin/antagtoken = 1,
/obj/item/clothing/head/helmet/blueshirt = 1,
/obj/item/clothing/suit/armor/vest/blueshirt = 1,
- /obj/item/clothing/under/rank/security/blueshirt = 1,
+ /obj/item/clothing/under/rank/security/officer/blueshirt = 1,
/obj/item/ssword_kit = 1)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
resistance_flags = FIRE_PROOF
diff --git a/code/modules/vending/sovietvend.dm b/code/modules/vending/sovietvend.dm
index c62cf53612..c555362fb6 100644
--- a/code/modules/vending/sovietvend.dm
+++ b/code/modules/vending/sovietvend.dm
@@ -5,12 +5,12 @@
vend_reply = "The fascist and capitalist svin'ya shall fall, komrade!"
product_slogans = "Quality worth waiting in line for!; Get Hammer and Sickled!; Sosvietsky soyuz above all!; With capitalist pigsky, you would have paid a fortunetink! ; Craftink in Motherland herself!"
products = list(
- /obj/item/clothing/under/soviet = 20,
+ /obj/item/clothing/under/costume/soviet = 20,
/obj/item/clothing/head/ushanka = 20,
/obj/item/clothing/shoes/jackboots = 20,
/obj/item/clothing/head/squatter_hat = 20,
- /obj/item/clothing/under/squatter_outfit = 20,
- /obj/item/clothing/under/russobluecamooutfit = 20,
+ /obj/item/clothing/under/misc/squatter = 20,
+ /obj/item/clothing/under/misc/blue_camo = 20,
/obj/item/clothing/head/russobluecamohat = 20
)
contraband = list(
diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm
index 30680af48e..acd58959f1 100644
--- a/code/modules/vending/wardrobes.dm
+++ b/code/modules/vending/wardrobes.dm
@@ -11,15 +11,15 @@
/obj/item/storage/backpack/security = 2,
/obj/item/storage/backpack/satchel/sec = 2,
/obj/item/storage/backpack/duffelbag/sec = 3,
- /obj/item/clothing/under/rank/security = 5,
+ /obj/item/clothing/under/rank/security/officer = 5,
/obj/item/clothing/shoes/jackboots = 5,
/obj/item/clothing/head/beret/sec =5,
/obj/item/clothing/head/soft/sec = 5,
/obj/item/clothing/mask/bandana/red = 5,
- /obj/item/clothing/under/rank/security/skirt = 5,
- /obj/item/clothing/under/rank/security/grey = 5,
+ /obj/item/clothing/under/rank/security/officer/skirt = 5,
+ /obj/item/clothing/under/rank/security/officer/grey = 5,
/obj/item/clothing/under/pants/khaki = 5)
- premium = list(/obj/item/clothing/under/rank/security/navyblue = 5,
+ premium = list(/obj/item/clothing/under/rank/security/officer/formal = 5,
/obj/item/clothing/head/beret/sec/navyofficer = 5)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
@@ -38,13 +38,13 @@
/obj/item/storage/backpack/medic = 5,
/obj/item/storage/backpack/satchel/med = 5,
/obj/item/clothing/suit/hooded/wintercoat/medical = 5,
- /obj/item/clothing/under/rank/nursesuit = 5,
+ /obj/item/clothing/under/rank/medical/doctor/nurse = 5,
/obj/item/clothing/head/nursehat = 5,
- /obj/item/clothing/under/rank/medical/skirt= 5,
- /obj/item/clothing/under/rank/medical/blue = 5,
- /obj/item/clothing/under/rank/medical/green = 5,
- /obj/item/clothing/under/rank/medical/purple = 5,
- /obj/item/clothing/under/rank/medical = 5,
+ /obj/item/clothing/under/rank/medical/doctor/skirt= 5,
+ /obj/item/clothing/under/rank/medical/doctor/blue = 5,
+ /obj/item/clothing/under/rank/medical/doctor/green = 5,
+ /obj/item/clothing/under/rank/medical/doctor/purple = 5,
+ /obj/item/clothing/under/rank/medical/doctor = 5,
/obj/item/clothing/under/rank/medical/paramedic = 5,
/obj/item/clothing/under/rank/medical/paramedic/light = 5,
/obj/item/clothing/under/rank/medical/paramedic/skirt = 5,
@@ -73,8 +73,8 @@
/obj/item/storage/backpack/industrial = 3,
/obj/item/storage/backpack/satchel/eng = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering = 3,
- /obj/item/clothing/under/rank/engineer = 5,
- /obj/item/clothing/under/rank/engineer/skirt = 5,
+ /obj/item/clothing/under/rank/engineering/engineer = 5,
+ /obj/item/clothing/under/rank/engineering/engineer/skirt = 5,
/obj/item/clothing/suit/hazardvest = 5,
/obj/item/clothing/shoes/workboots = 5,
/obj/item/clothing/head/hardhat = 5,
@@ -97,8 +97,8 @@
/obj/item/storage/backpack/industrial = 3,
/obj/item/clothing/head/hardhat/weldhat/dblue = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3,
- /obj/item/clothing/under/rank/atmospheric_technician = 5,
- /obj/item/clothing/under/rank/atmospheric_technician/skirt = 5,
+ /obj/item/clothing/under/rank/engineering/atmospheric_technician = 5,
+ /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt = 5,
/obj/item/clothing/shoes/sneakers/black = 5)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
@@ -112,8 +112,8 @@
product_ads = "Upgraded Assistant Style! Pick yours today!;These shorts are comfy and easy to wear, get yours now!"
vend_reply = "Thank you for using the CargoDrobe!"
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3,
- /obj/item/clothing/under/rank/cargotech = 5,
- /obj/item/clothing/under/rank/cargotech/skirt = 5,
+ /obj/item/clothing/under/rank/cargo/tech = 5,
+ /obj/item/clothing/under/rank/cargo/tech/skirt = 5,
/obj/item/clothing/shoes/sneakers/black = 5,
/obj/item/clothing/gloves/fingerless = 5,
/obj/item/clothing/head/soft = 5,
@@ -131,8 +131,8 @@
vend_reply = "Thank you for using the RoboDrobe!"
products = list(/obj/item/clothing/glasses/hud/diagnostic = 3,
/obj/item/clothing/head/beret/robo = 3,
- /obj/item/clothing/under/rank/roboticist = 3,
- /obj/item/clothing/under/rank/roboticist/skirt = 3,
+ /obj/item/clothing/under/rank/rnd/roboticist = 3,
+ /obj/item/clothing/under/rank/rnd/roboticist/skirt = 3,
/obj/item/clothing/suit/hooded/wintercoat/robotics = 3,
/obj/item/clothing/suit/toggle/labcoat = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
@@ -156,8 +156,8 @@
/obj/item/storage/backpack/science = 3,
/obj/item/storage/backpack/satchel/tox = 3,
/obj/item/clothing/suit/hooded/wintercoat/science = 3,
- /obj/item/clothing/under/rank/scientist = 4,
- /obj/item/clothing/under/rank/scientist/skirt = 4,
+ /obj/item/clothing/under/rank/rnd/scientist = 4,
+ /obj/item/clothing/under/rank/rnd/scientist/skirt = 4,
/obj/item/clothing/suit/toggle/labcoat/science = 4,
/obj/item/clothing/shoes/sneakers/white = 4,
/obj/item/radio/headset/headset_sci = 4,
@@ -178,8 +178,8 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro = 2,
/obj/item/clothing/suit/apron = 3,
/obj/item/clothing/suit/apron/overalls = 5,
- /obj/item/clothing/under/rank/hydroponics = 5,
- /obj/item/clothing/under/rank/hydroponics/skirt = 5,
+ /obj/item/clothing/under/rank/civilian/hydroponics = 5,
+ /obj/item/clothing/under/rank/civilian/hydroponics/skirt = 5,
/obj/item/clothing/mask/bandana = 4)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
@@ -198,9 +198,9 @@
/obj/item/pen/fourcolor = 1,
/obj/item/pen/fountain = 2,
/obj/item/clothing/accessory/pocketprotector = 2,
- /obj/item/clothing/under/rank/curator/skirt = 2,
- /obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 2,
- /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/curator/skirt = 2,
+ /obj/item/clothing/under/rank/captain/suit/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt = 2,
/obj/item/storage/backpack/satchel/explorer = 1,
/obj/item/clothing/glasses/regular = 2,
/obj/item/clothing/glasses/regular/jamjar = 1,
@@ -218,10 +218,10 @@
vend_reply = "Thank you for using the BarDrobe!"
products = list(/obj/item/clothing/head/that = 3,
/obj/item/radio/headset/headset_srv = 3,
- /obj/item/clothing/under/sl_suit = 3,
- /obj/item/clothing/under/rank/bartender = 3,
- /obj/item/clothing/under/rank/bartender/skirt = 2,
- /obj/item/clothing/under/rank/bartender/purple = 2,
+ /obj/item/clothing/under/suit/sl = 3,
+ /obj/item/clothing/under/rank/civilian/bartender = 3,
+ /obj/item/clothing/under/rank/civilian/bartender/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/bartender/purple = 2,
/obj/item/clothing/accessory/waistcoat = 3,
/obj/item/clothing/suit/apron/purple_bartender = 2,
/obj/item/clothing/head/soft/black = 4,
@@ -244,7 +244,7 @@
icon_state = "chefdrobe"
product_ads = "Our clothes are guaranteed to protect you from food splatters!;Now stocking recipe books!"
vend_reply = "Thank you for using the ChefDrobe!;Just like your grandmother's old recipes!"
- products = list(/obj/item/clothing/under/waiter = 3,
+ products = list(/obj/item/clothing/under/suit/waiter = 3,
/obj/item/radio/headset/headset_srv = 4,
/obj/item/clothing/accessory/waistcoat = 3,
/obj/item/clothing/suit/apron/chef = 3,
@@ -252,8 +252,8 @@
/obj/item/storage/box/mousetraps = 2,
/obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/suit/toggle/chef = 2,
- /obj/item/clothing/under/rank/chef = 2,
- /obj/item/clothing/under/rank/chef/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/chef = 2,
+ /obj/item/clothing/under/rank/civilian/chef/skirt = 2,
/obj/item/clothing/head/chefhat = 2,
/obj/item/reagent_containers/rag = 3,
/obj/item/book/granter/crafting_recipe/cooking_sweets_101 = 2,
@@ -269,8 +269,8 @@
icon_state = "janidrobe"
product_ads = "Come and get your janitorial clothing, now endorsed by lizard janitors everywhere!"
vend_reply = "Thank you for using the JaniDrobe!"
- products = list(/obj/item/clothing/under/rank/janitor = 2,
- /obj/item/clothing/under/rank/janitor/skirt = 2,
+ products = list(/obj/item/clothing/under/rank/civilian/janitor = 2,
+ /obj/item/clothing/under/rank/civilian/janitor/skirt = 2,
/obj/item/clothing/suit/hooded/wintercoat/janitor = 3,
/obj/item/cartridge/janitor = 3,
/obj/item/clothing/gloves/color/black = 2,
@@ -300,23 +300,23 @@
icon_state = "lawdrobe"
product_ads = "OBJECTION! Get the rule of law for yourself!"
vend_reply = "Thank you for using the LawDrobe!"
- products = list(/obj/item/clothing/under/lawyer/bluesuit/skirt = 3,
- /obj/item/clothing/under/lawyer/purpsuit/skirt = 3,
- /obj/item/clothing/under/lawyer/blacksuit/skirt = 3,
- /obj/item/clothing/under/lawyer/female = 3,
- /obj/item/clothing/under/lawyer/female/skirt = 3,
- /obj/item/clothing/under/lawyer/really_black = 3,
- /obj/item/clothing/under/lawyer/really_black/skirt = 3,
- /obj/item/clothing/under/lawyer/blue = 3,
- /obj/item/clothing/under/lawyer/blue/skirt = 3,
- /obj/item/clothing/under/lawyer/red = 3,
- /obj/item/clothing/under/lawyer/red/skirt = 3,
- /obj/item/clothing/under/lawyer/black = 3,
- /obj/item/clothing/under/lawyer/black/skirt = 3,
+ products = list(/obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/purpsuit = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/female = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/female/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/really_black = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/really_black/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/blue = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/red = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/red/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/black = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/black/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/black/alt = 3,
+ /obj/item/clothing/under/rank/civilian/lawyer/black/alt/skirt = 3,
/obj/item/clothing/suit/toggle/lawyer = 3,
- /obj/item/clothing/under/lawyer/purpsuit = 3,
/obj/item/clothing/suit/toggle/lawyer/purple = 3,
- /obj/item/clothing/under/lawyer/blacksuit = 3,
/obj/item/clothing/suit/toggle/lawyer/black = 3,
/obj/item/clothing/shoes/laceup = 3,
/obj/item/clothing/accessory/lawyers_badge = 3)
@@ -334,8 +334,8 @@
products = list(/obj/item/choice_beacon/holy = 1,
/obj/item/storage/backpack/cultpack = 2,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 2,
- /obj/item/clothing/under/rank/chaplain = 2,
- /obj/item/clothing/under/rank/chaplain/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/chaplain = 2,
+ /obj/item/clothing/under/rank/civilian/chaplain/skirt = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/suit/chaplain/nun = 2,
/obj/item/clothing/head/nun_hood = 2,
@@ -357,9 +357,9 @@
icon_state = "chemdrobe"
product_ads = "Our clothes are 0.5% more resistant to acid spills! Get yours now!"
vend_reply = "Thank you for using the ChemDrobe!"
- products = list(/obj/item/clothing/under/rank/chemist = 3,
+ products = list(/obj/item/clothing/under/rank/medical/chemist = 3,
/obj/item/clothing/head/beret/chem = 3,
- /obj/item/clothing/under/rank/chemist/skirt = 3,
+ /obj/item/clothing/under/rank/medical/chemist/skirt = 3,
/obj/item/clothing/suit/hooded/wintercoat/chemistry = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/chemist = 3,
@@ -378,8 +378,8 @@
icon_state = "genedrobe"
product_ads = "Perfect for the mad scientist in you!"
vend_reply = "Thank you for using the GeneDrobe!"
- products = list(/obj/item/clothing/under/rank/geneticist = 3,
- /obj/item/clothing/under/rank/geneticist/skirt = 3,
+ products = list(/obj/item/clothing/under/rank/medical/geneticist = 3,
+ /obj/item/clothing/under/rank/medical/geneticist/skirt = 3,
/obj/item/clothing/suit/hooded/wintercoat/genetics = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/genetics = 3,
@@ -397,8 +397,8 @@
product_ads = " Viruses getting you down? Then upgrade to sterilized clothing today!"
vend_reply = "Thank you for using the ViroDrobe"
products = list(/obj/item/clothing/head/beret/viro = 3,
- /obj/item/clothing/under/rank/virologist = 3,
- /obj/item/clothing/under/rank/virologist/skirt = 3,
+ /obj/item/clothing/under/rank/medical/virologist = 3,
+ /obj/item/clothing/under/rank/medical/virologist/skirt = 3,
/obj/item/clothing/suit/hooded/wintercoat/viro = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/virologist = 3,
@@ -430,7 +430,7 @@
/obj/item/clothing/head/caphat/parade = 1,
/obj/item/clothing/head/caphat/beret = 1,
/obj/item/clothing/head/caphat/beret/white = 1,
- /obj/item/clothing/under/captainparade = 1,
+ /obj/item/clothing/under/rank/captain/parade = 1,
/obj/item/clothing/suit/captunic = 1,
/obj/item/clothing/under/rank/captain/femformal = 1,
/obj/item/clothing/glasses/sunglasses/gar/supergar = 1,
diff --git a/html/changelogs/AutoChangeLog-pr-11375.yml b/html/changelogs/AutoChangeLog-pr-11375.yml
deleted file mode 100644
index 3e1fd45ac7..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11375.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Auris456852"
-delete-after: True
-changes:
- - balance: "Made EMP reaction growth logarithmic."
diff --git a/html/changelogs/AutoChangeLog-pr-11565.yml b/html/changelogs/AutoChangeLog-pr-11565.yml
deleted file mode 100644
index ce1f59aa61..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11565.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Ghommie"
-delete-after: True
-changes:
- - bugfix: "Fixed permanent slapstick comedy pie'd overlay for snouted humanoids."
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index 2e8fde527a..1845e75d26 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 66f3811a81..edcd2ff9b6 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm
index 92a1b26f01..8ecc6151a1 100644
--- a/modular_citadel/code/modules/client/loadout/__donator.dm
+++ b/modular_citadel/code/modules/client/loadout/__donator.dm
@@ -57,7 +57,7 @@
/datum/gear/geisha
name = "Geisha suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/geisha
+ path = /obj/item/clothing/under/costume/geisha
ckeywhitelist = list("atiefling")
/datum/gear/specialscarf
@@ -123,7 +123,7 @@
/datum/gear/mankini
name = "Mankini"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/mankini
+ path = /obj/item/clothing/under/misc/stripper/mankini
ckeywhitelist = list("zigfie")
/datum/gear/pinkshoes
@@ -160,7 +160,7 @@
/datum/gear/performersoutfit
name = "Bluish performer's outfit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/singery/custom
+ path = /obj/item/clothing/under/costume/singer/yellow/custom
ckeywhitelist = list("killer402402")
/datum/gear/vermillion
@@ -184,7 +184,7 @@
/datum/gear/naomisweater
name = "worn black sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/black/naomi
+ path = /obj/item/clothing/under/sweater/black/naomi
ckeywhitelist = list("technicalmagi")
/datum/gear/naomicollar
@@ -196,7 +196,7 @@
/datum/gear/gladiator
name = "Gladiator Armor"
category = SLOT_WEAR_SUIT
- path = /obj/item/clothing/under/gladiator
+ path = /obj/item/clothing/under/costume/gladiator
ckeywhitelist = list("aroche")
/datum/gear/bloodredtie
@@ -330,7 +330,7 @@ datum/gear/darksabresheath
/datum/gear/Divine_robes
name = "Divine robes"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunasune
+ path = /obj/item/clothing/under/custom/lunasune
ckeywhitelist = list("invader4352")
/datum/gear/gothcoat
@@ -348,7 +348,7 @@ datum/gear/darksabresheath
/datum/gear/sharkcloth
name = "Leon's Skimpy Outfit"
category = SLOT_WEAR_SUIT
- path = /obj/item/clothing/under/leoskimpy
+ path = /obj/item/clothing/under/custom/leoskimpy
ckeywhitelist = list("spectrosis")
/datum/gear/mimemask
@@ -360,7 +360,7 @@ datum/gear/darksabresheath
/datum/gear/mimeoveralls
name = "Mime's Overalls"
category = SLOT_WEAR_SUIT
- path = /obj/item/clothing/under/mimeoveralls
+ path = /obj/item/clothing/under/custom/mimeoveralls
ckeywhitelist = list("pireamaineach")
/datum/gear/soulneck
@@ -408,7 +408,7 @@ datum/gear/darksabresheath
/datum/gear/mw2_russian_para
name = "Russian Paratrooper Jumper"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/mw2_russian_para
+ path = /obj/item/clothing/under/custom/mw2_russian_para
ckeywhitelist = list("investigator77")
/datum/gear/longblackgloves
@@ -420,13 +420,13 @@ datum/gear/darksabresheath
/datum/gear/trendy_fit
name = "Trendy Fit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/trendy_fit
+ path = /obj/item/clothing/under/custom/trendy_fit
ckeywhitelist = list("midgetdragon")
/datum/gear/singery
name = "Yellow Performer Outfit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/singery
+ path = /obj/item/clothing/under/costume/singer/yellow
ckeywhitelist = list("maxlynchy")
/datum/gear/csheet
@@ -462,7 +462,7 @@ datum/gear/darksabresheath
/datum/gear/mikubikini
name = "starlight singer bikini"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/mikubikini
+ path = /obj/item/clothing/under/custom/mikubikini
ckeywhitelist = list("grandvegeta")
/datum/gear/mikujacket
diff --git a/modular_citadel/code/modules/client/loadout/_medical.dm b/modular_citadel/code/modules/client/loadout/_medical.dm
index b1b5c9a62e..604a0f96ae 100644
--- a/modular_citadel/code/modules/client/loadout/_medical.dm
+++ b/modular_citadel/code/modules/client/loadout/_medical.dm
@@ -14,21 +14,21 @@
/datum/gear/bluescrubs
name = "Blue Scrubs"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/medical/blue
+ path = /obj/item/clothing/under/rank/medical/doctor/blue
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
/datum/gear/greenscrubs
name = "Green Scrubs"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/medical/green
+ path = /obj/item/clothing/under/rank/medical/doctor/green
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
/datum/gear/purplescrubs
name = "Purple Scrubs"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/medical/purple
+ path = /obj/item/clothing/under/rank/medical/doctor/purple
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
@@ -42,6 +42,6 @@
/datum/gear/nursesuit
name = "Nurse Suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/nursesuit
+ path = /obj/item/clothing/under/rank/medical/doctor/nurse
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
\ No newline at end of file
diff --git a/modular_citadel/code/modules/client/loadout/_security.dm b/modular_citadel/code/modules/client/loadout/_security.dm
index c9591540e6..72a6aab394 100644
--- a/modular_citadel/code/modules/client/loadout/_security.dm
+++ b/modular_citadel/code/modules/client/loadout/_security.dm
@@ -1,7 +1,7 @@
/datum/gear/navyblueuniformhos
name = "Head of Security navyblue uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/head_of_security/navyblue
+ path = /obj/item/clothing/under/rank/security/head_of_security/formal
restricted_roles = list("Head of Security")
/datum/gear/navybluehosberet
@@ -31,7 +31,7 @@
/datum/gear/navyblueuniformofficer
name = "Security officer navyblue uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/security/navyblue
+ path = /obj/item/clothing/under/rank/security/officer/formal
restricted_roles = list("Security Officer")
/datum/gear/navybluejacketwarden
@@ -49,19 +49,19 @@
/datum/gear/navyblueuniformwarden
name = "Warden navyblue uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/warden/navyblue
+ path = /obj/item/clothing/under/rank/security/warden/formal
restricted_roles = list("Warden")
/datum/gear/secskirt
name = "Security skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/security/skirt
+ path = /obj/item/clothing/under/rank/security/officer/skirt
restricted_roles = list("Security Officer", "Warden", "Head of Security")
/datum/gear/hosskirt
name = "Head of security's skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/head_of_security/skirt
+ path = /obj/item/clothing/under/rank/security/head_of_security/skirt
restricted_roles = list("Head of Security")
/datum/gear/sechud
diff --git a/modular_citadel/code/modules/client/loadout/_service.dm b/modular_citadel/code/modules/client/loadout/_service.dm
index e5910d3d5d..ab3daa5f3c 100644
--- a/modular_citadel/code/modules/client/loadout/_service.dm
+++ b/modular_citadel/code/modules/client/loadout/_service.dm
@@ -1,7 +1,7 @@
/datum/gear/greytidestationwide
name = "Staff Assistant's jumpsuit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/staffassistant
+ path = /obj/item/clothing/under/misc/staffassistant
restricted_roles = list("Assistant")
/datum/gear/neetsuit
diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm
index b6b72669c2..4c66522df8 100644
--- a/modular_citadel/code/modules/client/loadout/uniform.dm
+++ b/modular_citadel/code/modules/client/loadout/uniform.dm
@@ -1,136 +1,136 @@
/datum/gear/suitblack
name = "Black suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket
+ path = /obj/item/clothing/under/suit/black
/datum/gear/suitgreen
name = "Green suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/green
+ path = /obj/item/clothing/under/suit/green
/datum/gear/suitred
name = "Red suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/red
+ path = /obj/item/clothing/under/suit/red
/datum/gear/suitcharcoal
name = "Charcoal suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/charcoal
+ path = /obj/item/clothing/under/suit/charcoal
/datum/gear/suitnavy
name = "Navy suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/navy
+ path = /obj/item/clothing/under/suit/navy
/datum/gear/suitburgundy
name = "Burgundy suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/burgundy
+ path = /obj/item/clothing/under/suit/burgundy
/datum/gear/suittan
name = "Tan suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/tan
+ path = /obj/item/clothing/under/suit/tan
/datum/gear/suitwhite
name = "White suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/suit_jacket/white
+ path = /obj/item/clothing/under/suit/white
/datum/gear/assistantformal
name = "Assistant's formal uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/assistantformal
+ path = /obj/item/clothing/under/misc/assistantformal
/datum/gear/maidcostume
name = "Maid costume"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/maid
+ path = /obj/item/clothing/under/costume/maid
/datum/gear/mailmanuniform
name = "Mailman's jumpsuit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/mailman
+ path = /obj/item/clothing/under/misc/mailman
/datum/gear/skirtblack
name = "Black skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/skirt/black
+ path = /obj/item/clothing/under/dress/skirt
/datum/gear/skirtblue
name = "Blue skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/skirt/blue
+ path = /obj/item/clothing/under/dress/skirt/blue
/datum/gear/skirtred
name = "Red skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/skirt/red
+ path = /obj/item/clothing/under/dress/skirt/red
/datum/gear/skirtpurple
name = "Purple skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/skirt/purple
+ path = /obj/item/clothing/under/dress/skirt/purple
/datum/gear/skirtplaid
name = "Plaid skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/plaid_skirt
+ path = /obj/item/clothing/under/dress/skirt/plaid
/datum/gear/schoolgirlblue
name = "Blue Schoolgirl Uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/schoolgirl
+ path = /obj/item/clothing/under/costume/schoolgirl
/datum/gear/schoolgirlred
name = "Red Schoolgirl Uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/schoolgirl/red
+ path = /obj/item/clothing/under/costume/schoolgirl/red
/datum/gear/schoolgirlgreen
name = "Green Schoolgirl Uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/schoolgirl/green
+ path = /obj/item/clothing/under/costume/schoolgirl/green
/datum/gear/schoolgirlorange
name = "Orange Schoolgirl Uniform"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/schoolgirl/orange
+ path = /obj/item/clothing/under/costume/schoolgirl/orange
/datum/gear/stripeddress
name = "Striped Dress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/stripeddress
+ path = /obj/item/clothing/under/dress/striped
/datum/gear/sundresswhite
name = "White Sundress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/sundresswhite
+ path = /obj/item/clothing/under/dress/sundress/white
/datum/gear/sundress
name = "Sundress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/sundress
+ path = /obj/item/clothing/under/dress/sundress
/datum/gear/greendress
name = "Green Dress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/greendress
+ path = /obj/item/clothing/under/dress/green
/datum/gear/pinkdress
name = "Pink Dress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/pinkdress
+ path = /obj/item/clothing/under/dress/pink
/datum/gear/flowerdress
name = "Flower Dress"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/flowerdress
+ path = /obj/item/clothing/under/dress/flower
/datum/gear/sweptskirt
name = "Swept skirt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/sweptskirt
+ path = /obj/item/clothing/under/dress/skirt/swept
/datum/gear/croptop
name = "Croptop"
@@ -145,7 +145,7 @@
/datum/gear/kilt
name = "Kilt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/kilt
+ path = /obj/item/clothing/under/costume/kilt
/datum/gear/camoshorts
name = "Camo Pants"
@@ -222,54 +222,54 @@
/datum/gear/creamsweater
name = "Cream Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater
+ path = /obj/item/clothing/under/sweater
/datum/gear/blacksweater
name = "Black Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/black
+ path = /obj/item/clothing/under/sweater/black
/datum/gear/purpsweater
name = "Purple Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/purple
+ path = /obj/item/clothing/under/sweater/purple
/datum/gear/greensweater
name = "Green Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/green
+ path = /obj/item/clothing/under/sweater/green
/datum/gear/redsweater
name = "Red Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/red
+ path = /obj/item/clothing/under/sweater/red
/datum/gear/bluesweater
name = "Navy Commando Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/bb_sweater/blue
+ path = /obj/item/clothing/under/sweater/blue
/datum/gear/keyholesweater
name = "Keyhole Sweater"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/keyholesweater
+ path = /obj/item/clothing/under/misc/keyholesweater
/datum/gear/polykilt
name = "Polychromic Kilt"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/polychromic/kilt
+ path = /obj/item/clothing/under/costume/kilt/polychromic
cost = 3
/datum/gear/polyshorts
name = "Polychromic Shorts"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/polychromic/shorts
+ path = /obj/item/clothing/under/misc/polyshorts
cost = 3
/datum/gear/polyshortpants
name = "Polychromic Athletic Shorts"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/polychromic/shortpants
+ path = /obj/item/clothing/under/shorts/polychromic
cost = 2
// Trekie things
@@ -277,21 +277,21 @@
/datum/gear/trekcmdtos
name = "TOS uniform, cmd"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/command
+ path = /obj/item/clothing/under/trek/command
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster")
/datum/gear/trekmedscitos
name = "TOS uniform, med/sci"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/medsci
+ path = /obj/item/clothing/under/trek/medsci
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengtos
name = "TOS uniform, ops/sec"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/engsec
+ path = /obj/item/clothing/under/trek/engsec
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
@@ -299,21 +299,21 @@
/datum/gear/trekcmdtng
name = "TNG uniform, cmd"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/command/next
+ path = /obj/item/clothing/under/trek/command/next
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster")
/datum/gear/trekmedscitng
name = "TNG uniform, med/sci"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/medsci/next
+ path = /obj/item/clothing/under/trek/medsci/next
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengtng
name = "TNG uniform, ops/sec"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/engsec/next
+ path = /obj/item/clothing/under/trek/engsec/next
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
@@ -321,21 +321,21 @@
/datum/gear/trekcmdvoy
name = "VOY uniform, cmd"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/command/voy
+ path = /obj/item/clothing/under/trek/command/voy
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster")
/datum/gear/trekmedscivoy
name = "VOY uniform, med/sci"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/medsci/voy
+ path = /obj/item/clothing/under/trek/medsci/voy
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengvoy
name = "VOY uniform, ops/sec"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/engsec/voy
+ path = /obj/item/clothing/under/trek/engsec/voy
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
@@ -343,21 +343,21 @@
/datum/gear/trekcmdds9
name = "DS9 uniform, cmd"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/command/ds9
+ path = /obj/item/clothing/under/trek/command/ds9
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster")
/datum/gear/trekmedscids9
name = "DS9 uniform, med/sci"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/medsci/ds9
+ path = /obj/item/clothing/under/trek/medsci/ds9
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengds9
name = "DS9 uniform, ops/sec"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/engsec/ds9
+ path = /obj/item/clothing/under/trek/engsec/ds9
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
@@ -365,21 +365,21 @@
/datum/gear/trekcmdent
name = "ENT uniform, cmd"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/command/ent
+ path = /obj/item/clothing/under/trek/command/ent
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster")
/datum/gear/trekmedscient
name = "ENT uniform, med/sci"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/medsci/ent
+ path = /obj/item/clothing/under/trek/medsci/ent
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengent
name = "ENT uniform, ops/sec"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/rank/trek/engsec/ent
+ path = /obj/item/clothing/under/trek/engsec/ent
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
@@ -387,75 +387,75 @@
/datum/gear/gear_harnesses
name = "Gear Harness"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/gear_harness
+ path = /obj/item/clothing/under/misc/gear_harness
//Christmas
/*Commenting out Until next Christmas or made automatic
/datum/gear/christmasmaler
name = "Red Masculine Christmas Suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/christmas/christmasmaler
+ path = /obj/item/clothing/under/costume/christmas
/datum/gear/christmasmaleg
name = "Green Masculine Christmas Suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/christmas/christmasmaleg
+ path = /obj/item/clothing/under/costume/christmas/green
/datum/gear/christmasfemaler
name = "Red Feminine Christmas Suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/christmas/christmasfemaler
+ path = /obj/item/clothing/under/costume/christmas/croptop
/datum/gear/christmasfemaleg
name = "Green Feminine Christmas Suit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/christmas/christmasfemaleg
+ path = /obj/item/clothing/under/costume/christmas/croptop/green
/datum/gear/pinkstripper
name = "Pink stripper outfit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/stripper_pink
+ path = /obj/item/clothing/under/misc/stripper
cost = 3
*/
/datum/gear/greenstripper
name = "Green stripper outfit"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/stripper_green
+ path = /obj/item/clothing/under/misc/stripper/green
cost = 3
/datum/gear/qipao
name = "Qipao, Black"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/qipao
+ path = /obj/item/clothing/under/costume/qipao
cost = 3
/datum/gear/qipao/white
name = "Qipao, White"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/qipao/white
+ path = /obj/item/clothing/under/costume/qipao/white
cost = 3
/datum/gear/qipao/red
name = "Qipao, Red"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/qipao/red
+ path = /obj/item/clothing/under/costume/qipao/red
cost = 3
/datum/gear/cheongsam
name = "Cheongsam, Black"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/cheongsam
+ path = /obj/item/clothing/under/costume/cheongsam
cost = 3
/datum/gear/cheongsam/white
name = "Cheongsam, White"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/cheongsam/white
+ path = /obj/item/clothing/under/costume/cheongsam/white
cost = 3
/datum/gear/cheongsam/red
name = "Cheongsam, Red"
category = SLOT_W_UNIFORM
- path = /obj/item/clothing/under/lunar/cheongsam/red
+ path = /obj/item/clothing/under/costume/cheongsam/red
cost = 3
\ No newline at end of file
diff --git a/modular_citadel/code/modules/clothing/under/trek_under.dm b/modular_citadel/code/modules/clothing/trek.dm
similarity index 65%
rename from modular_citadel/code/modules/clothing/under/trek_under.dm
rename to modular_citadel/code/modules/clothing/trek.dm
index 6cacf5921b..c6b0b80f22 100644
--- a/modular_citadel/code/modules/clothing/under/trek_under.dm
+++ b/modular_citadel/code/modules/clothing/trek.dm
@@ -8,85 +8,6 @@
// Armor lists for even Heads of Staff is Nulled out do round start armor as well most armor going onto the suit itself rather then a armor slot - Trilby
///////////////////////////////////////////////////////////////////////////////////
-
-/obj/item/clothing/under/rank/trek
- name = "Section 31 Uniform"
- desc = "Oooh... right."
- icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
- alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
- mutantrace_variation = NONE
- item_state = ""
- can_adjust = FALSE //to prevent you from "wearing it casually"
-
-//TOS
-/obj/item/clothing/under/rank/trek/command
- name = "Command Uniform"
- desc = "The uniform worn by command officers in the mid 2260s."
- icon_state = "trek_command"
- item_state = "trek_command"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
-
-/obj/item/clothing/under/rank/trek/engsec
- name = "Operations Uniform"
- desc = "The uniform worn by operations officers of the mid 2260s. You feel strangely vulnerable just seeing this..."
- icon_state = "trek_engsec"
- item_state = "trek_engsec"
-
-/obj/item/clothing/under/rank/trek/medsci
- name = "MedSci Uniform"
- desc = "The uniform worn by medsci officers in the mid 2260s."
- icon_state = "trek_medsci"
- item_state = "trek_medsci"
- permeability_coefficient = 0.50
-
-//TNG
-/obj/item/clothing/under/rank/trek/command/next
- desc = "The uniform worn by command officers. This one's from the mid 2360s."
- icon_state = "trek_next_command"
- item_state = "trek_next_command"
-
-/obj/item/clothing/under/rank/trek/engsec/next
- desc = "The uniform worn by operation officers. This one's from the mid 2360s."
- icon_state = "trek_next_engsec"
- item_state = "trek_next_engsec"
-
-/obj/item/clothing/under/rank/trek/medsci/next
- desc = "The uniform worn by medsci officers. This one's from the mid 2360s."
- icon_state = "trek_next_medsci"
- item_state = "trek_next_medsci"
-
-//ENT
-/obj/item/clothing/under/rank/trek/command/ent
- desc = "The uniform worn by command officers of the 2140s."
- icon_state = "trek_ent_command"
- item_state = "trek_ent_command"
-
-/obj/item/clothing/under/rank/trek/engsec/ent
- desc = "The uniform worn by operations officers of the 2140s."
- icon_state = "trek_ent_engsec"
- item_state = "trek_ent_engsec"
-
-/obj/item/clothing/under/rank/trek/medsci/ent
- desc = "The uniform worn by medsci officers of the 2140s."
- icon_state = "trek_ent_medsci"
- item_state = "trek_ent_medsci"
-
-//VOY
-/obj/item/clothing/under/rank/trek/command/voy
- desc = "The uniform worn by command officers of the 2370s."
- icon_state = "trek_voy_command"
- item_state = "trek_voy_command"
-
-/obj/item/clothing/under/rank/trek/engsec/voy
- desc = "The uniform worn by operations officers of the 2370s."
- icon_state = "trek_voy_engsec"
- item_state = "trek_voy_engsec"
-
-/obj/item/clothing/under/rank/trek/medsci/voy
- desc = "The uniform worn by medsci officers of the 2370s."
- icon_state = "trek_voy_medsci"
- item_state = "trek_voy_medsci"
-
//DS9
/obj/item/clothing/suit/storage/trek/ds9
@@ -116,21 +37,6 @@
permeability_coefficient = 0.01
armor = list("melee" = 50, "bullet" = 50, "laser" = 50,"energy" = 50, "bomb" = 50, "bio" = 50, "rad" = 50, "fire" = 50, "acid" = 50)
-/obj/item/clothing/under/rank/trek/command/ds9
- desc = "The uniform worn by command officers of the 2380s."
- icon_state = "trek_ds9_command"
- item_state = "trek_ds9_command"
-
-/obj/item/clothing/under/rank/trek/engsec/ds9
- desc = "The uniform worn by operations officers of the 2380s."
- icon_state = "trek_ds9_engsec"
- item_state = "trek_ds9_engsec"
-
-/obj/item/clothing/under/rank/trek/medsci/ds9
- desc = "The uniform undershirt worn by medsci officers of the 2380s."
- icon_state = "trek_ds9_medsci"
- item_state = "trek_ds9_medsci"
-
//MODERN ish Joan sqrl sprites. I think
//For general use
diff --git a/modular_citadel/code/modules/clothing/under/turtlenecks.dm b/modular_citadel/code/modules/clothing/under/turtlenecks.dm
deleted file mode 100644
index 84cfa97a59..0000000000
--- a/modular_citadel/code/modules/clothing/under/turtlenecks.dm
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Turtlenecks in general go here!
- */
-
-//CMO's Turtleneck, because they don't have any unique clothes!
-
-/obj/item/clothing/under/rank/chief_medical_officer/turtleneck
- desc = "It's a turtleneck worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection, for an officer with a superior sense of style and practicality."
- name = "chief medical officer's turtleneck"
- alternate_worn_icon = 'modular_citadel/icons/mob/clothing/turtlenecks.dmi'
- icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
- icon_state = "cmoturtle"
- item_state = "w_suit"
- item_color = "cmoturtle"
- permeability_coefficient = 0.5
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0)
- can_adjust = TRUE
- alt_covers_chest = TRUE
- mutantrace_variation = NONE
-
-/obj/structure/closet/secure_closet/CMO/PopulateContents() //This is placed here because it's a very specific addition for a very specific niche
- ..()
- new /obj/item/clothing/under/rank/chief_medical_officer/turtleneck(src)
-
-/obj/item/clothing/under/syndicate/cosmetic
- name = "tactitool turtleneck"
- desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
- icon_state = "tactifool"
- item_state = "bl_suit"
- item_color = "tactifool"
- has_sensor = TRUE
- mutantrace_variation = NONE
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
-
-/obj/item/clothing/under/syndicate/tacticool
- has_sensor = TRUE
-
-// Sweaters are good enough for this category too.
-
-/obj/item/clothing/under/bb_sweater
- name = "cream sweater"
- desc = "Why trade style for comfort? Now you can go commando down south and still be cozy up north."
- icon_state = "bb_turtle"
- item_state = "w_suit"
- item_color = "bb_turtle"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = TRUE
- icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
- alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/bb_sweater/black
- name = "black sweater"
- icon_state = "bb_turtleblk"
- item_state = "bl_suit"
- item_color = "bb_turtleblk"
-
-/obj/item/clothing/under/bb_sweater/purple
- name = "purple sweater"
- icon_state = "bb_turtlepur"
- item_state = "p_suit"
- item_color = "bb_turtlepur"
-
-/obj/item/clothing/under/bb_sweater/green
- name = "green sweater"
- icon_state = "bb_turtlegrn"
- item_state = "g_suit"
- item_color = "bb_turtlegrn"
-
-/obj/item/clothing/under/bb_sweater/red
- name = "red sweater"
- icon_state = "bb_turtlered"
- item_state = "r_suit"
- item_color = "bb_turtlered"
-
-/obj/item/clothing/under/bb_sweater/blue
- name = "blue sweater"
- icon_state = "bb_turtleblu"
- item_state = "b_suit"
- item_color = "bb_turtleblu"
diff --git a/modular_citadel/code/modules/clothing/under/under.dm b/modular_citadel/code/modules/clothing/under/under.dm
deleted file mode 100644
index 40db06ba56..0000000000
--- a/modular_citadel/code/modules/clothing/under/under.dm
+++ /dev/null
@@ -1,29 +0,0 @@
-/*/////////////////////////////////////////////////////////////////////////////////
-/////// ///////
-/////// Cit's exclusive jumpsuits, uniforms, etc. go here ///////
-/////// ///////
-*//////////////////////////////////////////////////////////////////////////////////
-
-
-/obj/item/clothing/under/corporateuniform
- name = "corporate uniform"
- desc = "A comfortable, tight fitting jumpsuit made of premium materials. Not space-proof."
- icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi'
- icon_state = "tssuit"
- alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
- item_state = "r_suit"
- can_adjust = FALSE
- mutantrace_variation = NONE
-
-/obj/item/clothing/under/rank/captain/femformal
- name ="captain's female formal outfit"
- desc = ""
- icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi'
- icon_state = "lewdcap"
- alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
- item_state = "lewdcap"
- item_color = "lewdcap"
- can_adjust = FALSE
- sensor_mode = SENSOR_COORDS //it's still a captain's suit nerd
- random_sensor = FALSE
- mutantrace_variation = NONE
diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm
index e1d204c74d..62145616ad 100644
--- a/modular_citadel/code/modules/custom_loadout/custom_items.dm
+++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm
@@ -266,7 +266,7 @@
item_state = "petcollar-stripe"
tagname = null
-/obj/item/clothing/under/singery/custom
+/obj/item/clothing/under/costume/singer/yellow/custom
name = "bluish performer's outfit"
desc = "Just looking at this makes you want to sing."
icon = 'icons/obj/custom.dmi'
@@ -313,7 +313,7 @@
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NONE
-/obj/item/clothing/under/bb_sweater/black/naomi
+/obj/item/clothing/under/sweater/black/naomi
name = "worn black sweater"
mutantrace_variation = NONE
desc = "A well-loved sweater, showing signs of several cleanings and re-stitchings. And a few stains. Is that cat fur?"
@@ -382,7 +382,7 @@
icon_state = "luckyjack"
mutantrace_variation = NONE
-/obj/item/clothing/under/lunasune
+/obj/item/clothing/under/custom/lunasune
name = "Divine Robes"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
@@ -391,7 +391,7 @@
icon_state = "Divine_robes"
mutantrace_variation = NONE
-/obj/item/clothing/under/leoskimpy
+/obj/item/clothing/under/custom/leoskimpy
name = "Leon's Skimpy Outfit"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
@@ -400,7 +400,7 @@
icon_state = "shark_cloth"
mutantrace_variation = NONE
-/obj/item/clothing/under/mimeoveralls
+/obj/item/clothing/under/custom/mimeoveralls
name = "Mime's Overalls"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
@@ -461,7 +461,7 @@
body_parts_covered = CHEST|GROIN|LEGS|ARMS
mutantrace_variation = NONE
-/obj/item/clothing/under/mw2_russian_para
+/obj/item/clothing/under/custom/mw2_russian_para
name = "Russian Paratrooper Jumper"
desc = "A Russian made old paratrooper jumpsuit, has many pockets for easy storage of gear from a by gone era. As bulky as it looks, its shockingly light!"
icon_state = "mw2_russian_para"
@@ -478,7 +478,7 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
-/obj/item/clothing/under/trendy_fit
+/obj/item/clothing/under/custom/trendy_fit
name = "Trendy Fitting Clothing"
desc = "An outfit straight from the boredom of space, its the type of thing only someone trying to entertain themselves on the way to their next destination would wear."
icon_state = "trendy_fit"
@@ -512,7 +512,7 @@
item_state = "onion"
alternate_worn_icon = 'icons/mob/custom_w.dmi'
-/obj/item/clothing/under/mikubikini
+/obj/item/clothing/under/custom/mikubikini
name = "starlight singer bikini"
desc = " "
icon_state = "mikubikini"
diff --git a/modular_citadel/icons/mob/citadel/uniforms.dmi b/modular_citadel/icons/mob/citadel/uniforms.dmi
index 717999c9f0..0a82392960 100644
Binary files a/modular_citadel/icons/mob/citadel/uniforms.dmi and b/modular_citadel/icons/mob/citadel/uniforms.dmi differ
diff --git a/modular_citadel/icons/mob/clothing/trek_mob_icon.dmi b/modular_citadel/icons/mob/clothing/trek_mob_icon.dmi
index d3ebc31b6a..60f6223078 100644
Binary files a/modular_citadel/icons/mob/clothing/trek_mob_icon.dmi and b/modular_citadel/icons/mob/clothing/trek_mob_icon.dmi differ
diff --git a/modular_citadel/icons/obj/clothing/cit_clothes.dmi b/modular_citadel/icons/obj/clothing/cit_clothes.dmi
deleted file mode 100644
index 8cc6ca2950..0000000000
Binary files a/modular_citadel/icons/obj/clothing/cit_clothes.dmi and /dev/null differ
diff --git a/modular_citadel/icons/obj/clothing/trek_item_icon.dmi b/modular_citadel/icons/obj/clothing/trek_item_icon.dmi
index 570acbf4cf..7477e2ebf1 100644
Binary files a/modular_citadel/icons/obj/clothing/trek_item_icon.dmi and b/modular_citadel/icons/obj/clothing/trek_item_icon.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 825910b716..9e38ddfb1a 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1758,16 +1758,25 @@
#include "code\modules\clothing\under\_under.dm"
#include "code\modules\clothing\under\accessories.dm"
#include "code\modules\clothing\under\color.dm"
+#include "code\modules\clothing\under\costume.dm"
#include "code\modules\clothing\under\miscellaneous.dm"
#include "code\modules\clothing\under\pants.dm"
-#include "code\modules\clothing\under\polychromic_clothes.dm"
#include "code\modules\clothing\under\shorts.dm"
+#include "code\modules\clothing\under\skirt_dress.dm"
+#include "code\modules\clothing\under\suits.dm"
+#include "code\modules\clothing\under\sweaters.dm"
#include "code\modules\clothing\under\syndicate.dm"
#include "code\modules\clothing\under\trek.dm"
-#include "code\modules\clothing\under\jobs\civilian.dm"
+#include "code\modules\clothing\under\jobs\cargo.dm"
+#include "code\modules\clothing\under\jobs\centcom.dm"
+#include "code\modules\clothing\under\jobs\command.dm"
#include "code\modules\clothing\under\jobs\engineering.dm"
-#include "code\modules\clothing\under\jobs\medsci.dm"
+#include "code\modules\clothing\under\jobs\medical.dm"
+#include "code\modules\clothing\under\jobs\rnd.dm"
#include "code\modules\clothing\under\jobs\security.dm"
+#include "code\modules\clothing\under\jobs\civilian\civilian.dm"
+#include "code\modules\clothing\under\jobs\civilian\clown_mime.dm"
+#include "code\modules\clothing\under\jobs\civilian\curator.dm"
#include "code\modules\clothing\under\jobs\Plasmaman\civilian_service.dm"
#include "code\modules\clothing\under\jobs\Plasmaman\engineering.dm"
#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
@@ -3247,12 +3256,10 @@
#include "modular_citadel\code\modules\client\loadout\uniform.dm"
#include "modular_citadel\code\modules\client\verbs\who.dm"
#include "modular_citadel\code\modules\clothing\neck.dm"
+#include "modular_citadel\code\modules\clothing\trek.dm"
#include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm"
#include "modular_citadel\code\modules\clothing\suits\polychromic_cloaks.dm"
#include "modular_citadel\code\modules\clothing\suits\suits.dm"
-#include "modular_citadel\code\modules\clothing\under\trek_under.dm"
-#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
-#include "modular_citadel\code\modules\clothing\under\under.dm"
#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
diff --git a/tools/mapmerge2/map_scripts/clothingunderrepath.txt b/tools/mapmerge2/map_scripts/clothingunderrepath.txt
new file mode 100644
index 0000000000..58a38633b3
--- /dev/null
+++ b/tools/mapmerge2/map_scripts/clothingunderrepath.txt
@@ -0,0 +1,254 @@
+/obj/item/clothing/under/rank/vice : /obj/item/clothing/under/misc/vice_officer
+/obj/item/clothing/under/durathread : /obj/item/cloning/under/misc/durathread
+/obj/item/clothing/under/duraskirt : /obj/item/cloning/under/misc/durathread/skirt
+/obj/item/clothing/under/burial : /obj/item/clothing/under/misc/burial
+/obj/item/clothing/under/overalls : /obj/item/clothing/under/misc/overalls
+/obj/item/clothing/under/assistantformal : /obj/item/clothing/under/misc/assistantformal
+/obj/item/clothing/under/staffassistant : /obj/item/clothing/under/misc/staffassistant
+/obj/item/clothing/under/pj/red : /obj/item/clothing/under/misc/pj
+/obj/item/clothing/under/pj/blue : /obj/item/clothing/under/misc/pj/blue
+/obj/item/clothing/under/patriotsuit : /obj/item/clothing/under/misc/patriotsuit
+/obj/item/clothing/under/rank/mailman : /obj/item/clothing/under/misc/mailman
+/obj/item/clothing/under/rank/psyche : /obj/item/clothing/under/misc/psyche
+/obj/item/clothing/under/acj : /obj/item/clothing/under/misc/adminsuit
+/obj/item/clothing/under/croptop : /obj/item/clothing/under/misc/croptop
+/obj/item/clothing/under/gear_harness : /obj/item/clothing/under/misc/gear_harness
+/obj/item/clothing/under/stripper_pink : /obj/item/clothing/under/misc/stripper
+/obj/item/clothing/under/stripper_green : /obj/item/clothing/under/misc/stripper/green
+/obj/item/clothing/under/mankini : /obj/item/clothing/under/misc/stripper/mankini
+/obj/item/clothing/under/squatter_outfit : /obj/item/clothing/under/misc/squatter
+/obj/item/clothing/under/russobluecamooutfit : /obj/item/clothing/under/misc/blue_camo
+/obj/item/clothing/under/keyholesweater : /obj/item/clothing/under/misc/keyholesweater
+/obj/item/clothing/under/polychromic/shirt : /obj/item/clothing/under/misc/poly_shirt
+/obj/item/clothing/under/polychromic/jumpsuit : /obj/item/clothing/under/misc/polyjumpsuit
+/obj/item/clothing/under/polychromic/shimatank : /obj/item/clothing/under/misc/poly_tanktop
+/obj/item/clothing/under/polychromic/femtank : /obj/item/clothing/under/misc/poly_tanktop/female
+/obj/item/clothing/under/polychromic/shorts : /obj/item/clothing/under/misc/polyshorts
+/obj/item/clothing/under/polychromic/shorts/pantsu : /obj/item/clothing/under/misc/polyshorts/pantsu
+/obj/item/clothing/under/polychromic/bottomless : /obj/item/clothing/under/misc/poly_bottomless
+/obj/item/clothing/under/corporateuniform : /obj/item/clothing/under/misc/corporateuniform
+
+/obj/item/clothing/under/polychromic/shortpants : /obj/item/clothing/under/shorts/polychromic
+
+/obj/item/clothing/under/scratch : /obj/item/clothing/under/suit/white_on_white
+/obj/item/clothing/under/scratch/skirt : /obj/item/clothing/under/suit/white/skirt
+/obj/item/clothing/under/sl_suit : /obj/item/clothing/under/suit/sl
+/obj/item/clothing/under/waiter : /obj/item/clothing/under/suit/waiter
+/obj/item/clothing/under/suit_jacket : /obj/item/clothing/under/suit/black
+/obj/item/clothing/under/suit_jacket/female : /obj/item/clothing/under/suit/black/skirt
+/obj/item/clothing/under/suit_jacket/really_black : /obj/item/clothing/under/suit/black_really
+/obj/item/clothing/under/suit_jacket/green : /obj/item/clothing/under/suit/green
+/obj/item/clothing/under/suit_jacket/red : /obj/item/clothing/under/suit/red
+/obj/item/clothing/under/suit_jacket/charcoal : /obj/item/clothing/under/suit/charcoal
+/obj/item/clothing/under/suit_jacket/navy : /obj/item/clothing/under/suit/navy
+/obj/item/clothing/under/suit_jacket/burgundy : /obj/item/clothing/under/suit/burgundy
+/obj/item/clothing/under/suit_jacket/checkered : /obj/item/clothing/under/suit/checkered
+/obj/item/clothing/under/suit_jacket/tan : /obj/item/clothing/under/suit/tan
+/obj/item/clothing/under/suit_jacket/white : /obj/item/clothing/under/suit/white
+/obj/item/clothing/under/telegram : /obj/item/clothing/under/suit/telegram
+/obj/item/clothing/under/polychromic : /obj/item/clothing/under/suit/polychromic
+
+/obj/item/clothing/under/skirt/black : /obj/item/clothing/under/dress/skirt
+/obj/item/clothing/under/skirt/blue : /obj/item/clothing/under/dress/skirt/blue
+/obj/item/clothing/under/skirt/red : /obj/item/clothing/under/dress/skirt/red
+/obj/item/clothing/under/skirt/purple : /obj/item/clothing/under/dress/skirt/purple
+/obj/item/clothing/under/sweptskirt : /obj/item/clothing/under/skirt/swept
+/obj/item/clothing/under/sundress : /obj/item/clothing/under/dress/sundress
+/obj/item/clothing/under/sundresswhite : /obj/item/clothing/under/dress/sundress/white
+/obj/item/clothing/under/greendress : /obj/item/clothing/under/dress/green
+/obj/item/clothing/under/pinkdress : /obj/item/clothing/under/dress/pink
+/obj/item/clothing/under/blacktango : /obj/item/clothing/under/dress/blacktango
+/obj/item/clothing/under/westernbustle : /obj/item/clothing/under/dress/westernbustle
+/obj/item/clothing/under/flamenco : /obj/item/clothing/under/dress/flamenco
+/obj/item/clothing/under/stripeddress : /obj/item/clothing/under/dress/striped
+/obj/item/clothing/under/sailordress : /obj/item/clothing/under/dress/sailor
+/obj/item/clothing/under/flowerdress : /obj/item/clothing/under/dress/flower
+/obj/item/clothing/under/redeveninggown : /obj/item/clothing/under/dress/redeveninggown
+/obj/item/clothing/under/corset : /obj/item/clothing/under/dress/corset
+/obj/item/clothing/under/plaid_skirt : /obj/item/clothing/under/dress/skirt/plaid
+/obj/item/clothing/under/plaid_skirt/blue : /obj/item/clothing/under/dress/skirt/plaid/blue
+/obj/item/clothing/under/plaid_skirt/purple : /obj/item/clothing/under/dress/skirt/plaid/purple
+/obj/item/clothing/under/plaid_skirt/green : /obj/item/clothing/under/dress/skirt/plaid/green
+/obj/item/clothing/under/wedding : /obj/item/clothing/under/dress/wedding
+/obj/item/clothing/under/wedding/orange : /obj/item/clothing/under/dress/wedding/orange
+/obj/item/clothing/under/wedding/purple : /obj/item/clothing/under/dress/wedding/purple
+/obj/item/clothing/under/wedding/blue : /obj/item/clothing/under/dress/wedding/blue
+/obj/item/clothing/under/wedding/red : /obj/item/clothing/under/dress/wedding/red
+/obj/item/clothing/under/polychromic/skirt : /obj/item/clothing/under/dress/skirt/polychromic
+/obj/item/clothing/under/polychromic/pleat : /obj/item/clothing/under/dress/skirt/polychromic/pleated
+
+/obj/item/clothing/under/roman : /obj/item/clothing/under/costume/roman
+/obj/item/clothing/under/jabroni : /obj/item/clothing/under/costume/jabroni
+/obj/item/clothing/under/owl : /obj/item/clothing/under/costume/owl
+/obj/item/clothing/under/griffin : /obj/item/clothing/under/costume/griffin
+/obj/item/clothing/under/cloud : /obj/item/clothing/under/costume/cloud
+/obj/item/clothing/under/schoolgirl : /obj/item/clothing/under/costume/schoolgirl
+/obj/item/clothing/under/schoolgirl/red : /obj/item/clothing/under/costume/schoolgirl/red
+/obj/item/clothing/under/schoolgirl/green : /obj/item/clothing/under/costume/schoolgirl/green
+/obj/item/clothing/under/schoolgirl/orange : /obj/item/clothing/under/costume/schoolgirl/orange
+/obj/item/clothing/under/pirate : /obj/item/clothing/under/costume/pirate
+/obj/item/clothing/under/soviet : /obj/item/clothing/under/costume/soviet
+/obj/item/clothing/under/redcoat : /obj/item/clothing/under/costume/redcoat
+/obj/item/clothing/under/kilt : /obj/item/clothing/under/costume/kilt
+/obj/item/clothing/under/kilt/highlander : /obj/item/clothing/under/costume/kilt/highlander
+/obj/item/clothing/under/polychromic/kilt : /obj/item/clothing/under/costume/kilt/polychromic
+/obj/item/clothing/under/gladiator : /obj/item/clothing/under/costume/gladiator
+/obj/item/clothing/under/gladiator/ash_walker : /obj/item/clothing/under/costume/gladiator/ash_walker
+/obj/item/clothing/under/maid : /obj/item/clothing/under/costume/maid
+/obj/item/clothing/under/singery : /obj/item/clothing/under/costume/singer/yellow
+/obj/item/clothing/under/singerb : /obj/item/clothing/under/costume/singer/blue
+/obj/item/clothing/under/geisha : /obj/item/clothing/under/costume/geisha
+/obj/item/clothing/under/villain : /obj/item/clothing/under/costume/villain
+/obj/item/clothing/under/sailor : /obj/item/clothing/under/costume/sailor
+/obj/item/clothing/under/rank/security/navyblue/russian : /obj/item/clothing/under/costume/russian_officer
+/obj/item/clothing/under/mummy : /obj/item/clothing/under/costume/mummy
+/obj/item/clothing/under/scarecrow : /obj/item/clothing/under/costume/scarecrow
+/obj/item/clothing/under/draculass : /obj/item/clothing/under/costume/draculass
+/obj/item/clothing/under/drfreeze : /obj/item/clothing/under/costume/drfreeze
+/obj/item/clothing/under/lobster : /obj/item/clothing/under/costume/lobster
+/obj/item/clothing/under/skeleton : /obj/item/clothing/under/costume/skeleton
+/obj/item/clothing/under/mech_suit : /obj/item/clothing/under/costume/mech_suit
+/obj/item/clothing/under/mech_suit/white : /obj/item/clothing/under/costume/mech_suit/white
+/obj/item/clothing/under/mech_suit/blue : /obj/item/clothing/under/costume/mech_suit/blue
+/obj/item/clothing/under/gondola : /obj/item/clothing/under/costume/gondola
+/obj/item/clothing/under/christmas/christmasmaler : /obj/item/clothing/under/costume/christmas
+/obj/item/clothing/under/christmas/christmasmaleg : /obj/item/clothing/under/costume/christmas/green
+/obj/item/clothing/under/christmas/christmasfemaler : /obj/item/clothing/under/costume/christmas/croptop
+/obj/item/clothing/under/christmas/christmasfemaleg : /obj/item/clothing/under/costume/christmas/croptop/green
+/obj/item/clothing/under/lunar/qipao : /obj/item/clothing/under/costume/qipao
+/obj/item/clothing/under/lunar/qipao/white : /obj/item/clothing/under/costume/qipao/red
+/obj/item/clothing/under/lunar/qipao/red : /obj/item/clothing/under/costume/qipao/red
+/obj/item/clothing/under/lunar/cheongsam : /obj/item/clothing/under/costume/cheongsam
+/obj/item/clothing/under/lunar/cheongsam/white : /obj/item/clothing/under/costume/cheongsam/white
+/obj/item/clothing/under/lunar/cheongsam/red : /obj/item/clothing/under/costume/cheongsam/red
+
+/obj/item/clothing/under/lunasune : /obj/item/clothing/under/custom/lunasune
+/obj/item/clothing/under/leoskimpy : /obj/item/clothing/under/custom/leoskimpy
+/obj/item/clothing/under/mimeoveralls : /obj/item/clothing/under/custom/mimeoveralls
+/obj/item/clothing/under/mw2_russian_para : /obj/item/clothing/under/custom/mw2_russian_para
+/obj/item/clothing/under/trendy_fit : /obj/item/clothing/under/custom/trendy_fit
+/obj/item/clothing/under/mikubikini : /obj/item/clothing/under/custom/mikubikini
+
+/obj/item/clothing/under/rank/bartender : /obj/item/clothing/under/rank/civilian/bartender
+/obj/item/clothing/under/rank/bartender/purple : /obj/item/clothing/under/rank/civilian/bartender/purple
+/obj/item/clothing/under/rank/bartender/skirt : /obj/item/clothing/under/rank/civilian/bartender/skirt
+/obj/item/clothing/under/rank/chaplain : /obj/item/clothing/under/rank/civilian/chaplain
+/obj/item/clothing/under/rank/chaplain/skirt : /obj/item/clothing/under/rank/civilian/chaplain/skirt
+/obj/item/clothing/under/rank/chef : /obj/item/clothing/under/rank/civilian/chef
+/obj/item/clothing/under/rank/chef/skirt : /obj/item/clothing/under/rank/civilian/chef/skirt
+/obj/item/clothing/under/rank/curator : /obj/item/clothing/under/rank/civilian/curator
+/obj/item/clothing/under/rank/curator/skirt: /obj/item/clothing/under/rank/civilian/curator/skirt
+/obj/item/clothing/under/rank/curator/treasure_hunter : /obj/item/clothing/under/rank/civilian/curator/treasure_hunter
+/obj/item/clothing/under/space : /obj/item/clothing/under/rank/civilian/curator/nasa
+/obj/item/clothing/under/rank/hydroponics : /obj/item/clothing/under/rank/civilian/hydroponics
+/obj/item/clothing/under/rank/hydroponics/skirt : /obj/item/clothing/under/rank/civilian/hydroponics/skirt
+/obj/item/clothing/under/rank/janitor : /obj/item/clothing/under/rank/civilian/janitor
+/obj/item/clothing/under/rank/janitor/skirt : /obj/item/clothing/under/rank/civilian/janitor/skirt
+/obj/item/clothing/under/janimaid : /obj/item/clothing/under/rank/civilian/janitor/maid
+/obj/item/clothing/under/rank/mime : /obj/item/clothing/under/rank/civilian/mime
+/obj/item/clothing/under/rank/mime/skirt : /obj/item/clothing/under/rank/civilian/mime/skirt
+/obj/item/clothing/under/sexymime : /obj/item/clothing/under/rank/civilian/mime/sexy
+/obj/item/clothing/under/rank/clown : /obj/item/clothing/under/rank/civilian/clown
+/obj/item/clothing/under/rank/blueclown : /obj/item/clothing/under/rank/civilian/clown/blue
+/obj/item/clothing/under/rank/greenclown : /obj/item/clothing/under/rank/civilian/clown/green
+/obj/item/clothing/under/rank/yellowclown : /obj/item/clothing/under/rank/civilian/clown/yellow
+/obj/item/clothing/under/rank/purpleclown : /obj/item/clothing/under/rank/civilian/clown/purple
+/obj/item/clothing/under/rank/orangeclown : /obj/item/clothing/under/rank/civilian/clown/orange
+/obj/item/clothing/under/rank/rainbowclown : /obj/item/clothing/under/rank/civilian/clown/rainbow
+/obj/item/clothing/under/jester : /obj/item/clothing/under/rank/civilian/clown/jester
+/obj/item/clothing/under/jester/alt : /obj/item/clothing/under/rank/civilian/clown/jester/alt
+/obj/item/clothing/under/rank/clown/sexy : /obj/item/clothing/under/rank/civilian/clown/sexy
+/obj/item/clothing/under/lawyer : /obj/item/clothing/under/rank/civilian/lawyer
+/obj/item/clothing/under/lawyer/black : /obj/item/clothing/under/rank/civilian/lawyer/black
+/obj/item/clothing/under/lawyer/black/skirt : /obj/item/clothing/under/rank/civilian/lawyer/black/skirt
+/obj/item/clothing/under/lawyer/female : /obj/item/clothing/under/rank/civilian/lawyer/female
+/obj/item/clothing/under/lawyer/female/skirt : /obj/item/clothing/under/rank/civilian/lawyer/female/skirt
+/obj/item/clothing/under/lawyer/red : /obj/item/clothing/under/rank/civilian/lawyer/red
+/obj/item/clothing/under/lawyer/red/skirt : /obj/item/clothing/under/rank/civilian/lawyer/red/skirt
+/obj/item/clothing/under/lawyer/blue : /obj/item/clothing/under/rank/civilian/lawyer/blue
+/obj/item/clothing/under/lawyer/blue/skirt : /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt
+/obj/item/clothing/under/lawyer/bluesuit : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit
+/obj/item/clothing/under/lawyer/bluesuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt
+/obj/item/clothing/under/lawyer/purpsuit : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit
+/obj/item/clothing/under/lawyer/purpsuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt
+/obj/item/clothing/under/lawyer/blacksuit : /obj/item/clothing/under/rank/civilian/lawyer/black/alt
+/obj/item/clothing/under/lawyer/blacksuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/black/alt/skirt
+/obj/item/clothing/under/lawyer/really_black : /obj/item/clothing/under/suit/black_really
+/obj/item/clothing/under/lawyer/really_black/skirt : /obj/item/clothing/under/suit/black_really/skirt
+/obj/item/clothing/under/rank/head_of_personnel : /obj/item/clothing/under/rank/civilian/head_of_personnel
+/obj/item/clothing/under/rank/head_of_personnel/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt
+/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit
+/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt
+
+/obj/item/clothing/under/rank/cargo : /obj/item/clothing/under/rank/cargo/qm
+/obj/item/clothing/under/rank/cargo/skirt : /obj/item/clothing/under/rank/cargo/qm/skirt
+/obj/item/clothing/under/rank/cargotech : /obj/item/clothing/under/rank/cargo/tech
+/obj/item/clothing/under/rank/cargotech/skirt : /obj/item/clothing/under/rank/cargo/tech/skirt
+/obj/item/clothing/under/rank/miner : /obj/item/clothing/under/rank/cargo/miner
+/obj/item/clothing/under/rank/miner/lavaland : /obj/item/clothing/under/rank/cargo/miner/lavaland
+
+/obj/item/clothing/under/rank/research_director : /obj/item/clothing/under/rank/rnd/research_director
+/obj/item/clothing/under/rank/research_director/skirt : /obj/item/clothing/under/rank/rnd/research_director/skirt
+/obj/item/clothing/under/rank/research_director/alt : /obj/item/clothing/under/rank/rnd/research_director/alt
+/obj/item/clothing/under/rank/research_director/alt/skirt : /obj/item/clothing/under/rank/rnd/research_director/alt/skirt
+/obj/item/clothing/under/rank/research_director/turtleneck : /obj/item/clothing/under/rank/rnd/research_director/turtleneck
+/obj/item/clothing/under/rank/research_director/turtleneck/skirt : /obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt
+/obj/item/clothing/under/rank/scientist : /obj/item/clothing/under/rank/rnd/scientist
+/obj/item/clothing/under/rank/scientist/skirt : /obj/item/clothing/under/rank/rnd/scientist/skirt
+/obj/item/clothing/under/rank/roboticist : /obj/item/clothing/under/rank/rnd/roboticist
+/obj/item/clothing/under/rank/roboticist/skirt : /obj/item/clothing/under/rank/rnd/roboticist/skirt
+
+/obj/item/clothing/under/rank/chief_medical_officer : /obj/item/clothing/under/rank/medical/chief_medical_officer
+/obj/item/clothing/under/rank/chief_medical_officer/skirt : /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt
+/obj/item/clothing/under/rank/chief_medical_officer/turtleneck : /obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck
+/obj/item/clothing/under/rank/medical : /obj/item/clothing/under/rank/medical/doctor/nurse
+/obj/item/clothing/under/rank/medical/blue : /obj/item/clothing/under/rank/medical/doctor/blue
+/obj/item/clothing/under/rank/medical/green : /obj/item/clothing/under/rank/medical/doctor/green
+/obj/item/clothing/under/rank/medical/purple : /obj/item/clothing/under/rank/medical/doctor/purple
+/obj/item/clothing/under/rank/medical/skirt : /obj/item/clothing/under/rank/medical/doctor/skirt
+/obj/item/clothing/under/rank/nursesuit : /obj/item/clothing/under/rank/medical/doctor
+/obj/item/clothing/under/rank/geneticist : /obj/item/clothing/under/rank/medical/geneticist
+/obj/item/clothing/under/rank/geneticist/skirt : /obj/item/clothing/under/rank/medical/geneticist/skirt
+/obj/item/clothing/under/rank/virologist : /obj/item/clothing/under/rank/medical/virologist
+/obj/item/clothing/under/rank/virologist/skirt : /obj/item/clothing/under/rank/medical/virologist/skirt
+/obj/item/clothing/under/rank/chemist : /obj/item/clothing/under/rank/medical/chemist
+/obj/item/clothing/under/rank/chemist/skirt : /obj/item/clothing/under/rank/medical/chemist/skirt
+
+/obj/item/clothing/under/rank/chief_engineer : /obj/item/clothing/under/rank/engineering/chief_engineer
+/obj/item/clothing/under/rank/chief_engineer/skirt : /obj/item/clothing/under/rank/engineering/chief_engineer/skirt
+/obj/item/clothing/under/rank/atmospheric_technician : /obj/item/clothing/under/rank/engineering/atmospheric_technician
+/obj/item/clothing/under/rank/atmospheric_technician/skirt : /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt
+/obj/item/clothing/under/rank/engineer : /obj/item/clothing/under/rank/engineering/engineer
+/obj/item/clothing/under/rank/engineer/hazard : /obj/item/clothing/under/rank/engineering/engineer/hazard
+/obj/item/clothing/under/rank/engineer/skirt : /obj/item/clothing/under/rank/engineering/engineer/skirt
+
+/obj/item/clothing/under/rank/centcom_officer : /obj/item/clothing/under/rank/centcom/officer
+/obj/item/clothing/under/rank/centcom_commander : /obj/item/clothing/under/rank/centcom/commander
+
+/obj/item/clothing/under/gimmick/rank/captain/suit : /obj/item/clothing/under/rank/captain/suit
+/obj/item/clothing/under/gimmick/rank/captain/suit/skirt : /obj/item/clothing/under/rank/captain/suit/skirt
+/obj/item/clothing/under/captainparade : /obj/item/clothing/under/rank/captain/parade
+
+/obj/item/clothing/under/rank/security : /obj/item/clothing/under/rank/security/officer
+/obj/item/clothing/under/rank/security/grey : /obj/item/clothing/under/rank/security/officer/grey
+/obj/item/clothing/under/rank/security/skirt : /obj/item/clothing/under/rank/security/officer/skirt
+/obj/item/clothing/under/rank/security/blueshirt : /obj/item/clothing/under/rank/security/officer/blueshirt
+/obj/item/clothing/under/rank/security/navyblue : /obj/item/clothing/under/rank/security/officer/formal
+/obj/item/clothing/under/rank/warden : /obj/item/clothing/under/rank/security/warden
+/obj/item/clothing/under/rank/warden/grey : /obj/item/clothing/under/rank/security/warden/grey
+/obj/item/clothing/under/rank/warden/skirt : /obj/item/clothing/under/rank/security/warden/skirt
+/obj/item/clothing/under/rank/warden/navyblue : /obj/item/clothing/under/rank/security/warden/formal
+/obj/item/clothing/under/rank/det : /obj/item/clothing/under/rank/security/detective
+/obj/item/clothing/under/rank/det/skirt : /obj/item/clothing/under/rank/security/detective/skirt
+/obj/item/clothing/under/rank/det/grey : /obj/item/clothing/under/rank/security/detective/grey
+/obj/item/clothing/under/rank/det/grey/skirt : /obj/item/clothing/under/rank/security/detective/grey/skirt
+/obj/item/clothing/under/rank/head_of_security : /obj/item/clothing/under/rank/security/head_of_security
+/obj/item/clothing/under/rank/head_of_security/skirt : /obj/item/clothing/under/rank/security/head_of_security/skirt
+/obj/item/clothing/under/rank/head_of_security/grey : /obj/item/clothing/under/rank/security/head_of_security/grey
+/obj/item/clothing/under/rank/head_of_security/alt : /obj/item/clothing/under/rank/security/head_of_security/alt
+/obj/item/clothing/under/rank/head_of_security/alt/skirt : /obj/item/clothing/under/rank/security/head_of_security/alt/skirt
+/obj/item/clothing/under/rank/head_of_security/navyblue : /obj/item/clothing/under/rank/security/head_of_security/formal
+/obj/item/clothing/under/hosparademale : /obj/item/clothing/under/rank/security/head_of_security/parade
+/obj/item/clothing/under/hosparadefem : /obj/item/clothing/under/rank/security/head_of_security/parade/female
+/obj/item/clothing/under/rank/security/spacepol : /obj/item/clothing/under/rank/security/officer/spacepol
+