diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
index f599a09379c..546ddcff7e4 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm
@@ -16,7 +16,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 ba291fc258b..56b94cd255e 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/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
index 0831a3625a5..8c3f6100946 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
@@ -83,7 +83,7 @@
/obj/structure/alien/weeds,
/obj/structure/bed/nest,
/obj/effect/decal/cleanable/blood/gibs,
-/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,
diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
index 56130e80199..d00cc76e381 100644
--- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
@@ -308,7 +308,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/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
index 16172d87cc3..92d052e4ba8 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
@@ -1614,7 +1614,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" = (
@@ -1754,7 +1754,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/oldAIsat.dmm b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
index 148532f40c6..922482ecbf8 100644
--- a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
+++ b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
@@ -565,7 +565,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 0c3a870cec0..3a26199121a 100644
--- a/_maps/RandomZLevels/Academy.dmm
+++ b/_maps/RandomZLevels/Academy.dmm
@@ -1997,12 +1997,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)
@@ -2015,7 +2015,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/caves.dmm b/_maps/RandomZLevels/caves.dmm
index d787b10522b..91a8550d012 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -574,7 +574,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 50c846adeb9..2d06cc607bf 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -162,7 +162,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,
@@ -5224,7 +5224,7 @@
locked = 0;
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
},
@@ -5512,7 +5512,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
@@ -6150,7 +6150,7 @@
locked = 0;
req_access_txt = "201"
},
-/obj/item/clothing/under/assistantformal,
+/obj/item/clothing/under/misc/assistantformal,
/turf/open/floor/carpet{
heat_capacity = 1e+006
},
@@ -6316,7 +6316,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
},
@@ -6556,7 +6556,7 @@
locked = 0;
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 070e3f264ab..3ddfbddd7c9 100644
--- a/_maps/RandomZLevels/research.dmm
+++ b/_maps/RandomZLevels/research.dmm
@@ -2891,7 +2891,7 @@
name = "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
},
/obj/effect/decal/cleanable/blood,
/obj/effect/turf_decal/tile/purple{
@@ -3870,7 +3870,7 @@
name = "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
},
/obj/effect/decal/cleanable/blood,
/obj/effect/turf_decal/tile/purple{
@@ -4709,7 +4709,7 @@
name = "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
},
/obj/effect/decal/cleanable/blood,
/obj/effect/turf_decal/tile/blue{
@@ -5585,7 +5585,7 @@
name = "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
},
/turf/open/floor/mineral/titanium/blue,
/area/awaymission/research/exterior)
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index 6e5e2729b86..4fc7cc503dd 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -298,7 +298,7 @@
locked = 0;
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
},
@@ -345,7 +345,7 @@
locked = 0;
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
},
@@ -2101,7 +2101,7 @@
},
/area/awaymission/undergroundoutpost45/caves)
"ev" = (
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj,
/obj/structure/closet/secure_closet/personal/cabinet{
locked = 0;
req_access_txt = "201"
@@ -3057,7 +3057,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
@@ -5138,7 +5138,7 @@
},
/area/awaymission/undergroundoutpost45/gateway)
"km" = (
-/obj/item/clothing/under/suit_jacket/navy,
+/obj/item/clothing/under/suit/navy,
/obj/structure/closet/secure_closet/personal/cabinet{
locked = 0;
req_access_txt = "201"
@@ -9278,7 +9278,7 @@
locked = 0;
req_access_txt = "201"
},
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj,
/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 6ac2b538f0b..1662c6c8156 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -11013,7 +11013,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,
@@ -16568,7 +16568,7 @@
/area/library)
"aQs" = (
/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/engine/cult,
/area/library)
@@ -19814,13 +19814,8 @@
/area/hydroponics)
"aYS" = (
/obj/structure/closet,
-/obj/item/clothing/under/suit_jacket/female{
- pixel_x = 3;
- pixel_y = 1
- },
-/obj/item/clothing/under/suit_jacket/really_black{
- pixel_x = -2
- },
+/obj/item/clothing/under/suit/black/skirt,
+/obj/item/clothing/under/suit/black_really,
/obj/structure/window{
dir = 1
},
@@ -47421,12 +47416,12 @@
/area/security/main)
"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)
"cCa" = (
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 2d49e3b83c1..30f4b4d8034 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -4100,7 +4100,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
@@ -36601,7 +36601,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
},
@@ -45858,9 +45858,7 @@
/obj/item/clothing/suit/det_suit{
icon_state = "curator"
},
-/obj/item/clothing/under/rank/det{
- icon_state = "curator"
- },
+/obj/item/clothing/under/rank/security/detective,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -56933,7 +56931,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
},
@@ -66923,7 +66921,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,
@@ -71119,7 +71117,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
@@ -71156,7 +71154,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"
},
@@ -71164,7 +71162,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
},
@@ -73388,10 +73386,7 @@
"cGo" = (
/obj/structure/table/wood,
/obj/item/folder/blue,
-/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"
- },
+/obj/item/clothing/under/rank/centcom/commander,
/obj/item/clothing/head/centhat{
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0);
desc = "A replica hat of a Central Commander's attire. It has a small tag on it saying, 'It's good to be emperor.'";
@@ -80316,9 +80311,7 @@
/area/crew_quarters/fitness/recreation)
"cTg" = (
/obj/structure/table,
-/obj/item/clothing/under/sl_suit{
- name = "referee suit"
- },
+/obj/item/clothing/under/suit/sl,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -81414,7 +81407,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;
@@ -81442,7 +81435,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
@@ -81466,7 +81459,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)
@@ -84297,7 +84290,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
@@ -89267,7 +89260,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)
@@ -100523,7 +100516,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,
@@ -101296,7 +101289,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,
/obj/item/clothing/head/nursehat,
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -103397,7 +103390,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
@@ -109034,7 +109027,7 @@
/obj/item/radio/intercom{
pixel_x = -26
},
-/obj/item/clothing/under/burial,
+/obj/item/clothing/under/misc/burial,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -110166,7 +110159,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/two,
/turf/open/floor/wood,
/area/library/abandoned)
diff --git a/_maps/map_files/Donutstation/Donutstation.dmm b/_maps/map_files/Donutstation/Donutstation.dmm
index 6c35a9ae1c5..d071f9ea570 100644
--- a/_maps/map_files/Donutstation/Donutstation.dmm
+++ b/_maps/map_files/Donutstation/Donutstation.dmm
@@ -647,12 +647,12 @@
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"abL" = (
-/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/table,
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
@@ -36696,7 +36696,7 @@
/area/tcommsat/server)
"bJo" = (
/obj/effect/decal/remains/human,
-/obj/item/clothing/under/rank/engineer,
+/obj/item/clothing/under/rank/engineering/engineer,
/turf/open/floor/plating,
/area/tcommsat/computer)
"bJp" = (
@@ -39778,10 +39778,10 @@
name = "Surplus Genetics Supplies"
},
/obj/item/storage/pill_bottle/mutadone,
-/obj/item/clothing/under/pj/blue,
-/obj/item/clothing/under/pj/blue,
-/obj/item/clothing/under/pj/red,
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/blue,
+/obj/item/clothing/under/misc/pj/blue,
+/obj/item/clothing/under/misc/pj,
+/obj/item/clothing/under/misc/pj,
/obj/item/clothing/shoes/sneakers/white,
/obj/item/clothing/shoes/sneakers/white,
/obj/item/clothing/shoes/sneakers/white,
@@ -40744,7 +40744,7 @@
/obj/item/clothing/glasses/hud/health,
/obj/item/clothing/neck/stethoscope,
/obj/item/clothing/neck/stethoscope,
-/obj/item/clothing/under/rank/nursesuit,
+/obj/item/clothing/under/rank/medical/doctor,
/obj/item/clothing/head/nursehat,
/obj/item/clothing/glasses/science{
pixel_x = 3;
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index a5b4c0f7ceb..71f66b03613 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -4280,10 +4280,7 @@
/area/crew_quarters/fitness/recreation)
"aiR" = (
/obj/structure/table,
-/obj/item/clothing/under/sl_suit{
- desc = "Whoever wears this makes the rules.";
- name = "referee suit"
- },
+/obj/item/clothing/under/suit/sl,
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
@@ -6505,11 +6502,8 @@
/area/maintenance/port)
"ana" = (
/obj/structure/rack,
-/obj/item/clothing/under/rank/mailman,
-/obj/item/clothing/under/rank/vice{
- pixel_x = 4;
- pixel_y = -3
- },
+/obj/item/clothing/under/misc/mailman,
+/obj/item/clothing/under/misc/vice_officer,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -7119,9 +7113,7 @@
c_tag = "Brig - Infirmary";
dir = 1
},
-/obj/item/clothing/under/rank/medical/purple{
- pixel_y = -4
- },
+/obj/item/clothing/under/rank/medical/doctor/purple,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
@@ -8344,7 +8336,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)
@@ -9250,7 +9242,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" = (
@@ -9325,7 +9317,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" = (
@@ -10748,7 +10740,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" = (
@@ -12292,13 +12284,8 @@
/area/crew_quarters/dorms)
"aAe" = (
/obj/structure/table,
-/obj/item/clothing/under/suit_jacket/female{
- pixel_x = 3;
- pixel_y = 1
- },
-/obj/item/clothing/under/suit_jacket/really_black{
- pixel_x = -2
- },
+/obj/item/clothing/under/suit/black/skirt,
+/obj/item/clothing/under/suit/black_really,
/obj/machinery/light/small{
dir = 1
},
@@ -12307,9 +12294,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
},
@@ -13465,7 +13452,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" = (
@@ -15196,7 +15183,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" = (
@@ -21354,7 +21341,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,
@@ -23628,7 +23615,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{
@@ -23778,7 +23765,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";
@@ -24627,7 +24614,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";
@@ -26866,21 +26853,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/security/officer,
/obj/item/clothing/suit/security/officer,
/obj/item/clothing/suit/security/officer,
/obj/item/clothing/suit/security/officer,
/obj/item/clothing/suit/security/officer,
/obj/item/clothing/suit/security/officer,
-/obj/item/clothing/under/rank/warden/navyblue,
+/obj/item/clothing/under/rank/security/warden/formal,
/obj/item/clothing/suit/security/warden,
-/obj/item/clothing/under/rank/head_of_security/navyblue,
+/obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/security/hos,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
@@ -41479,7 +41466,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"
@@ -42658,7 +42645,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,
@@ -65316,12 +65303,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/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 620ca426c33..ae46bd64b31 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -16546,7 +16546,7 @@
/obj/structure/chair/wood/normal{
dir = 8
},
-/obj/item/clothing/under/janimaid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
/obj/structure/cable,
/turf/open/floor/wood{
icon_state = "wood-broken"
@@ -19032,7 +19032,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,
@@ -20757,9 +20757,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" = (
@@ -20817,7 +20817,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)
@@ -32798,7 +32798,7 @@
/area/crew_quarters/heads/cmo)
"bEI" = (
/obj/structure/closet,
-/obj/item/clothing/under/rank/nursesuit,
+/obj/item/clothing/under/rank/medical/doctor,
/obj/item/clothing/head/nursehat,
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/airalarm{
@@ -47731,10 +47731,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)
@@ -51863,7 +51863,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)
"kmn" = (
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index f86595e2695..81d74808cec 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -1703,14 +1703,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" = (
@@ -1824,14 +1824,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" = (
@@ -1926,7 +1926,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)
@@ -6968,8 +6968,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,
@@ -17277,11 +17277,11 @@
/turf/open/floor/plasteel,
/area/centcom/ferry)
"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/floor/wood,
/area/centcom/holding)
"Pa" = (
diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm
index cadf08920a3..95a6661c632 100644
--- a/_maps/shuttles/emergency_pubby.dmm
+++ b/_maps/shuttles/emergency_pubby.dmm
@@ -503,7 +503,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/emergency_zeta.dmm b/_maps/shuttles/emergency_zeta.dmm
index 00266330962..5e1353ed244 100644
--- a/_maps/shuttles/emergency_zeta.dmm
+++ b/_maps/shuttles/emergency_zeta.dmm
@@ -264,8 +264,8 @@
dir = 8
},
/obj/structure/closet/abductor,
-/obj/item/clothing/under/pj/blue,
-/obj/item/clothing/under/pj/red,
+/obj/item/clothing/under/misc/pj/blue,
+/obj/item/clothing/under/misc/pj,
/obj/item/clothing/shoes/sneakers/white,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/glasses/eyepatch,
diff --git a/_maps/shuttles/ruin_pirate_cutter.dmm b/_maps/shuttles/ruin_pirate_cutter.dmm
index 4129124d4d2..41e6fa3c858 100644
--- a/_maps/shuttles/ruin_pirate_cutter.dmm
+++ b/_maps/shuttles/ruin_pirate_cutter.dmm
@@ -8,7 +8,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{
@@ -335,7 +335,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 0b27cb0a9fa..2be39dcb56e 100644
--- a/_maps/shuttles/whiteship_delta.dmm
+++ b/_maps/shuttles/whiteship_delta.dmm
@@ -694,14 +694,8 @@
dir = 1
},
/obj/item/storage/wallet/random,
-/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{
- 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/officer,
+/obj/item/clothing/under/rank/centcom/commander,
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
dir = 8
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index a190c94c6cf..17773473b4d 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/assembly/prox_sensor = 4,
/obj/item/assembly/timer = 3,
diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm
index d2d96cefc36..7db351a6531 100644
--- a/code/controllers/subsystem/traumas.dm
+++ b/code/controllers/subsystem/traumas.dm
@@ -59,12 +59,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, /obj/item/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/trash/cheesie)),
@@ -78,15 +78,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,
@@ -94,8 +94,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, /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, /obj/machinery/stasis,
@@ -103,10 +103,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)),
@@ -122,7 +122,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,
@@ -136,11 +136,11 @@ 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))
diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm
index 2bdf1a9c5e7..d8e2ed461ab 100644
--- a/code/datums/components/crafting/recipes.dm
+++ b/code/datums/components/crafting/recipes.dm
@@ -663,7 +663,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/chaplain_hood
diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm
index 0a14175fbcf..6973fd04ad3 100644
--- a/code/datums/components/crafting/tailoring.dm
+++ b/code/datums/components/crafting/tailoring.dm
@@ -16,7 +16,7 @@
/datum/crafting_recipe/durathread_jumpsuit
name = "Durathread Jumpsuit"
- result = /obj/item/clothing/under/durathread
+ result = /obj/item/clothing/under/misc/durathread
reqs = list(/obj/item/stack/sheet/durathread = 4)
time = 40
category = CAT_CLOTHING
@@ -142,4 +142,4 @@
result = /obj/effect/spawner/lootdrop/lizardboots
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
time = 60
- category = CAT_CLOTHING
\ No newline at end of file
+ category = CAT_CLOTHING
diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm
index 3596758fcc1..f8a61487c98 100644
--- a/code/game/gamemodes/clown_ops/bananium_bomb.dm
+++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm
@@ -41,7 +41,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/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm
index 3781a382028..ce15a77c89e 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/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/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 410cbc54427..87f4a27f00a 100644
--- a/code/game/objects/items/miscellaneous.dm
+++ b/code/game/objects/items/miscellaneous.dm
@@ -84,7 +84,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)
@@ -101,7 +101,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)
@@ -144,4 +144,4 @@
user.gib()
playsound(src, 'sound/items/eatfood.ogg', 50, 1, -1)
- return MANUAL_SUICIDE
\ No newline at end of file
+ return MANUAL_SUICIDE
diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm
index 88ffb7a7849..daf167af85b 100644
--- a/code/game/objects/items/religion.dm
+++ b/code/game/objects/items/religion.dm
@@ -92,7 +92,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
/obj/item/banner/medical
@@ -145,7 +145,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
/obj/item/banner/cargo
@@ -166,7 +166,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
/obj/item/banner/engineering
@@ -190,7 +190,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
/obj/item/banner/command
@@ -211,7 +211,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
/obj/item/banner/red
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 228c87154f5..0a65c7d83e9 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), \
))
/obj/item/stack/sheet/animalhide/gondola
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index c7b01437e90..e7255569e2f 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -271,7 +271,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \
* Cloth
*/
GLOBAL_LIST_INIT(cloth_recipes, list ( \
- new/datum/stack_recipe("white jumpskirt", /obj/item/clothing/under/skirt/color/white, 3), /*Ladies first*/ \
+ new/datum/stack_recipe("white jumpskirt", /obj/item/clothing/under/color/jumpskirt/white, 3), /*Ladies first*/ \
new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3), \
new/datum/stack_recipe("white shoes", /obj/item/clothing/shoes/sneakers/white, 2), \
new/datum/stack_recipe("white scarf", /obj/item/clothing/neck/scarf, 1), \
@@ -320,7 +320,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
amount = 5
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 30c95d3ef83..e38600626a0 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -442,7 +442,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)
@@ -603,7 +603,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/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 869a1f4ff73..7625b61960b 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -45,7 +45,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)
if("screwed")
new /obj/item/sbeacondrop/bomb(src)
@@ -107,7 +107,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")
new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc
@@ -498,7 +498,7 @@
new /obj/item/book/granter/spell/mimery_guns(src)
/obj/item/storage/box/syndie_kit/centcom_costume/PopulateContents()
- new /obj/item/clothing/under/rank/centcom_officer(src)
+ new /obj/item/clothing/under/rank/centcom/officer(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 de479566d05..7f22a9a4998 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -11,7 +11,7 @@
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/costume/jabroni(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 c9a2ad54ffe..2e3d4a9c5ef 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -25,7 +25,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 37d500eb84a..b7fcd911e5a 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -10,8 +10,8 @@
var/static/items_inside = list(
/obj/item/clothing/head/that = 2,
/obj/item/radio/headset/headset_srv = 2,
- /obj/item/clothing/under/sl_suit = 2,
- /obj/item/clothing/under/rank/bartender = 2,
+ /obj/item/clothing/under/suit/sl = 2,
+ /obj/item/clothing/under/rank/civilian/bartender = 2,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/head/soft/black = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
@@ -32,7 +32,7 @@
/obj/structure/closet/chefcloset/PopulateContents()
..()
var/static/items_inside = list(
- /obj/item/clothing/under/waiter = 2,
+ /obj/item/clothing/under/suit/waiter = 2,
/obj/item/radio/headset/headset_srv = 2,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/suit/apron/chef = 3,
@@ -40,7 +40,7 @@
/obj/item/storage/box/mousetraps = 2,
/obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/suit/toggle/chef = 1,
- /obj/item/clothing/under/rank/chef = 1,
+ /obj/item/clothing/under/rank/civilian/chef = 1,
/obj/item/clothing/head/chefhat = 1,
/obj/item/reagent_containers/glass/rag = 1)
generate_items_inside(items_inside,src)
@@ -52,7 +52,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)
@@ -77,14 +77,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/suit/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)
@@ -99,7 +99,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/chaplainsuit/nun(src)
new /obj/item/clothing/head/nun_hood(src)
@@ -120,8 +120,8 @@
/obj/item/storage/backpack/security = 1,
/obj/item/storage/backpack/satchel/sec = 1,
/obj/item/storage/backpack/duffelbag/sec = 2,
- /obj/item/clothing/under/rank/security = 3,
- /obj/item/clothing/under/rank/security/skirt = 2,
+ /obj/item/clothing/under/rank/security/officer = 3,
+ /obj/item/clothing/under/rank/security/officer/skirt = 2,
/obj/item/clothing/shoes/jackboots = 3,
/obj/item/clothing/head/beret/sec = 3,
/obj/item/clothing/head/soft/sec = 3,
@@ -136,7 +136,7 @@
/obj/structure/closet/wardrobe/cargotech/PopulateContents()
var/static/items_inside = list(
/obj/item/clothing/suit/hooded/wintercoat/cargo = 1,
- /obj/item/clothing/under/rank/cargotech = 3,
+ /obj/item/clothing/under/rank/cargo/tech = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/gloves/fingerless = 3,
/obj/item/clothing/head/soft = 3,
@@ -154,7 +154,7 @@
/obj/item/storage/backpack/satchel/eng = 1,
/obj/item/storage/backpack/industrial = 1,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3,
- /obj/item/clothing/under/rank/atmospheric_technician = 3,
+ /obj/item/clothing/under/rank/engineering/atmospheric_technician = 3,
/obj/item/clothing/shoes/sneakers/black = 3)
generate_items_inside(items_inside,src)
return
@@ -170,7 +170,7 @@
/obj/item/storage/backpack/industrial = 1,
/obj/item/storage/backpack/satchel/eng = 1,
/obj/item/clothing/suit/hooded/wintercoat/engineering = 1,
- /obj/item/clothing/under/rank/engineer = 3,
+ /obj/item/clothing/under/rank/engineering/engineer = 3,
/obj/item/clothing/suit/hazardvest = 3,
/obj/item/clothing/shoes/workboots = 3,
/obj/item/clothing/head/hardhat = 3)
@@ -187,11 +187,11 @@
/obj/item/storage/backpack/medic = 1,
/obj/item/storage/backpack/satchel/med = 1,
/obj/item/clothing/suit/hooded/wintercoat/medical = 1,
- /obj/item/clothing/under/rank/nursesuit = 1,
+ /obj/item/clothing/under/rank/medical/doctor/nurse = 1,
/obj/item/clothing/head/nursehat = 1,
- /obj/item/clothing/under/rank/medical/blue = 1,
- /obj/item/clothing/under/rank/medical/green = 1,
- /obj/item/clothing/under/rank/medical/purple = 1,
+ /obj/item/clothing/under/rank/medical/doctor/blue = 1,
+ /obj/item/clothing/under/rank/medical/doctor/green = 1,
+ /obj/item/clothing/under/rank/medical/doctor/purple = 1,
/obj/item/clothing/under/rank/medical = 3,
/obj/item/clothing/suit/toggle/labcoat = 3,
/obj/item/clothing/suit/toggle/labcoat/emt = 3,
@@ -207,7 +207,7 @@
/obj/structure/closet/wardrobe/robotics_black/PopulateContents()
var/static/items_inside = list(
/obj/item/clothing/glasses/hud/diagnostic = 2,
- /obj/item/clothing/under/rank/roboticist = 2,
+ /obj/item/clothing/under/rank/rnd/roboticist = 2,
/obj/item/clothing/suit/toggle/labcoat = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/gloves/fingerless = 2,
@@ -226,7 +226,7 @@
/obj/structure/closet/wardrobe/chemistry_white/PopulateContents()
var/static/items_inside = list(
- /obj/item/clothing/under/rank/chemist = 2,
+ /obj/item/clothing/under/rank/medical/chemist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/chemist = 2,
/obj/item/storage/backpack/chemistry = 2,
@@ -242,7 +242,7 @@
/obj/structure/closet/wardrobe/genetics_white/PopulateContents()
var/static/items_inside = list(
- /obj/item/clothing/under/rank/geneticist = 2,
+ /obj/item/clothing/under/rank/medical/geneticist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/genetics = 2,
/obj/item/storage/backpack/genetics = 2,
@@ -257,7 +257,7 @@
/obj/structure/closet/wardrobe/virology_white/PopulateContents()
var/static/items_inside = list(
- /obj/item/clothing/under/rank/virologist = 2,
+ /obj/item/clothing/under/rank/medical/virologist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/virologist = 2,
/obj/item/clothing/mask/surgical = 2,
@@ -276,7 +276,7 @@
/obj/item/storage/backpack/science = 2,
/obj/item/storage/backpack/satchel/tox = 2,
/obj/item/clothing/suit/hooded/wintercoat/science = 1,
- /obj/item/clothing/under/rank/scientist = 3,
+ /obj/item/clothing/under/rank/rnd/scientist = 3,
/obj/item/clothing/suit/toggle/labcoat/science = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/radio/headset/headset_sci = 2,
@@ -295,7 +295,7 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro = 1,
/obj/item/clothing/suit/apron = 2,
/obj/item/clothing/suit/apron/overalls = 2,
- /obj/item/clothing/under/rank/hydroponics = 3,
+ /obj/item/clothing/under/rank/civilian/hydroponics = 3,
/obj/item/clothing/mask/bandana = 3)
generate_items_inside(items_inside,src)
@@ -306,7 +306,7 @@
/obj/structure/closet/wardrobe/curator/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/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 929d216d9b5..bf40f4fe3bc 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -7,8 +7,8 @@
..()
new /obj/item/clothing/neck/cloak/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/headset_cargo(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 e154aa5b091..1581fccbbda 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -6,8 +6,8 @@
/obj/structure/closet/secure_closet/engineering_chief/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/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/head/welding(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 f26ba92c942..b49abbb1712 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -56,8 +56,8 @@
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/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 3cea4a258b3..f31070234ff 100755
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -9,12 +9,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 f67f91d436e..6b1aad2e23e 100755
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -17,7 +17,7 @@
new /obj/item/clothing/under/rank/captain/skirt(src)
new /obj/item/clothing/suit/armor/vest/capcarapace(src)
new /obj/item/clothing/head/caphat(src)
- new /obj/item/clothing/under/captainparade(src)
+ new /obj/item/clothing/under/rank/captain/parade(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/suit/captunic(src)
@@ -45,8 +45,8 @@
..()
new /obj/item/clothing/neck/cloak/hop(src)
new /obj/item/storage/lockbox/medal/service(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/cartridge/hop(src)
new /obj/item/radio/headset/heads/hop(src)
@@ -76,17 +76,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)
@@ -115,8 +115,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)
@@ -185,13 +185,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/suit/det_suit/noir(src)
@@ -332,7 +332,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 3a37d49d5c7..bd57d566f0c 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -153,7 +153,7 @@
/obj/structure/closet/bombcloset/security/PopulateContents()
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 897f4958eca..bf68ae95f2e 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -8,7 +8,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
@@ -21,7 +21,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
@@ -34,7 +34,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))
@@ -60,7 +60,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)
@@ -91,7 +91,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)
@@ -107,7 +107,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)
@@ -119,10 +119,10 @@
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
@@ -136,7 +136,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)
@@ -147,9 +147,9 @@
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)
if(prob(40))
- new /obj/item/clothing/under/assistantformal(src)
+ new /obj/item/clothing/under/misc/assistantformal(src)
if(prob(30))
new /obj/item/clothing/suit/hooded/wintercoat(src)
new /obj/item/clothing/shoes/winterboots(src)
@@ -168,27 +168,27 @@
if(prob(40))
new /obj/item/clothing/suit/jacket(src)
new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/skirt/color/white(src)
+ new /obj/item/clothing/under/color/jumpskirt/white(src)
new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/under/skirt/color/blue(src)
+ new /obj/item/clothing/under/color/jumpskirt/blue(src)
new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/skirt/color/yellow(src)
+ new /obj/item/clothing/under/color/jumpskirt/yellow(src)
new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/skirt/color/green(src)
+ new /obj/item/clothing/under/color/jumpskirt/green(src)
new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/skirt/color/orange(src)
+ new /obj/item/clothing/under/color/jumpskirt/orange(src)
new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/skirt/color/pink(src)
+ new /obj/item/clothing/under/color/jumpskirt/pink(src)
new /obj/item/clothing/under/color/red(src)
- new /obj/item/clothing/under/skirt/color/red(src)
+ new /obj/item/clothing/under/color/jumpskirt/red(src)
new /obj/item/clothing/under/color/darkblue(src)
- new /obj/item/clothing/under/skirt/color/darkblue(src)
+ new /obj/item/clothing/under/color/jumpskirt/darkblue(src)
new /obj/item/clothing/under/color/teal(src)
- new /obj/item/clothing/under/skirt/color/teal(src)
+ new /obj/item/clothing/under/color/jumpskirt/teal(src)
new /obj/item/clothing/under/color/lightpurple(src)
- new /obj/item/clothing/under/skirt/color/lightpurple(src)
+ new /obj/item/clothing/under/color/jumpskirt/lightpurple(src)
new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/skirt/color/green(src)
+ new /obj/item/clothing/under/color/jumpskirt/green(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 9eaf18422f4..4f79547e1d2 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -74,7 +74,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.
@@ -224,7 +224,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
if(2)
flavour_text += "you're an exile from the Tiger Cooperative. Their technological fanaticism drove you to question the power and beliefs of the Exolitics, and they saw you as a \
heretic and subjected you to hours of horrible torture. You were hours away from execution when a high-ranking friend of yours in the Cooperative managed to secure you a pod, \
@@ -309,7 +309,7 @@
/datum/outfit/hotelstaff
name = "Hotel Staff"
- 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
@@ -325,7 +325,7 @@
/datum/outfit/hotelstaff/security
name = "Hotel Security"
- 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
@@ -381,7 +381,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
@@ -475,7 +475,7 @@
cryogenics pod due to an oncoming radiation storm. 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. \
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
@@ -500,7 +500,7 @@
cryogenics pod due to an oncoming radiation storm. 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. \
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
@@ -525,7 +525,7 @@
cryogenics pod due to an oncoming radiation storm. 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. \
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
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 5e770e62144..4745a4c51e9 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -409,8 +409,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 5040423141f..8dc80adc1a7 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -827,7 +827,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 85700cde3d1..99eb6df9c07 100644
--- a/code/modules/antagonists/devil/devil.dm
+++ b/code/modules/antagonists/devil/devil.dm
@@ -412,11 +412,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
@@ -454,7 +454,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 50e84213f4a..66c6a192f9f 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/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 = 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/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.")
@@ -35,4 +35,4 @@
Paralyze(40)
qdel(weapon)
return 2
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm
index 69cb40b08af..c9d49a7d9e4 100644
--- a/code/modules/antagonists/fugitive/fugitive_outfits.dm
+++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm
@@ -11,7 +11,7 @@
/datum/outfit/yalp_cultist
name = "Cultist of Yalp Elor"
- uniform = /obj/item/clothing/under/rank/chaplain
+ uniform = /obj/item/clothing/under/rank/civilian/chaplain
suit = /obj/item/clothing/suit/chaplainsuit/holidaypriest
gloves = /obj/item/clothing/gloves/color/red
shoes = /obj/item/clothing/shoes/sneakers/black
@@ -63,7 +63,7 @@
/datum/outfit/spacepol
name = "Spacepol Officer"
- uniform = /obj/item/clothing/under/rank/security/spacepol
+ uniform = /obj/item/clothing/under/rank/security/officer/spacepol
suit = /obj/item/clothing/suit/armor/vest/blueshirt
belt = /obj/item/gun/ballistic/automatic/pistol/m1911
head = /obj/item/clothing/head/helmet/police
diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm
index aa4a2c0a360..62c113e4973 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 528d3a6777b..988db98584b 100644
--- a/code/modules/antagonists/wizard/equipment/artefact.dm
+++ b/code/modules/antagonists/wizard/equipment/artefact.dm
@@ -264,7 +264,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 4cd5ea75714..019425927bb 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -381,7 +381,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
@@ -434,7 +434,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
@@ -449,7 +449,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
@@ -469,7 +469,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
@@ -561,7 +561,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
diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm
index 48d7a6d2f6d..32eca0c2526 100644
--- a/code/modules/awaymissions/mission_code/Academy.dm
+++ b/code/modules/awaymissions/mission_code/Academy.dm
@@ -341,7 +341,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/packs.dm b/code/modules/cargo/packs.dm
index 1ee0bbd647c..99e47efb992 100644
--- a/code/modules/cargo/packs.dm
+++ b/code/modules/cargo/packs.dm
@@ -332,16 +332,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 = 3000
- 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/security/officer,
/obj/item/clothing/suit/security/officer,
/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/security/warden,
/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/security/hos,
/obj/item/clothing/head/beret/sec/navyhos)
crate_name = "security clothing crate"
@@ -574,7 +574,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,
@@ -2041,14 +2041,13 @@
name = "Formalwear Crate"
desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing."
cost = 3000 //Lots of very expensive items. You gotta pay up to look good!
- 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/suit/toggle/lawyer/black,
/obj/item/clothing/accessory/waistcoat,
/obj/item/clothing/neck/tie/blue,
@@ -2062,11 +2061,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
@@ -2116,9 +2115,9 @@
name = "Mech Pilot's Suit Crate"
desc = "Suits for piloting big robots. Contains all three colors!"
cost = 1500 //state-of-the-art technology doesn't come cheap
- contains = list(/obj/item/clothing/under/mech_suit,
- /obj/item/clothing/under/mech_suit/white,
- /obj/item/clothing/under/mech_suit/blue)
+ contains = list(/obj/item/clothing/under/costume/mech_suit,
+ /obj/item/clothing/under/costume/mech_suit/white,
+ /obj/item/clothing/under/costume/mech_suit/blue)
crate_name = "mech pilot's suit crate"
crate_type = /obj/structure/closet/crate/wooden
@@ -2150,9 +2149,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,
@@ -2371,7 +2370,7 @@
name = "Funeral Supply crate"
desc = "At the end of the day, someone's gonna want someone dead. Give them a proper send-off with these funeral supplies! Contains a coffin with burial garmets and flowers."
cost = 600
- contains = list(/obj/item/clothing/under/burial,
+ contains = list(/obj/item/clothing/under/misc/burial,
/obj/item/reagent_containers/food/snacks/grown/harebell,
/obj/item/reagent_containers/food/snacks/grown/poppy/geranium)
crate_name = "coffin"
diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm
index 2f90ed0259e..08b8b1b19f3 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
@@ -163,7 +163,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/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm
index 1c5c309b348..9d7b0dd3a0d 100644
--- a/code/modules/clothing/outfits/plasmaman.dm
+++ b/code/modules/clothing/outfits/plasmaman.dm
@@ -125,4 +125,4 @@
head = /obj/item/clothing/head/helmet/space/plasmaman/clown
uniform = /obj/item/clothing/under/plasmaman/clown
- mask = /obj/item/clothing/mask/gas/clown_hat
\ No newline at end of file
+ mask = /obj/item/clothing/mask/gas/clown_hat
diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm
index 8f0e6261cb9..b87c3b6722f 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
@@ -199,10 +199,10 @@
W.registered_name = H.real_name
W.update_label()
-/datum/outfit/centcom_commander
+/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
@@ -216,7 +216,7 @@
back = /obj/item/storage/backpack/satchel/leather
id = /obj/item/card/id/centcom
-/datum/outfit/centcom_commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/centcom/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
@@ -310,7 +310,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
@@ -336,7 +336,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
@@ -365,7 +365,7 @@
/datum/outfit/death_commando
name = "Death Commando"
- uniform = /obj/item/clothing/under/rank/centcom_commander
+ uniform = /obj/item/clothing/under/rank/centcom/commander
suit = /obj/item/clothing/suit/space/hardsuit/deathsquad
shoes = /obj/item/clothing/shoes/combat/swat
gloves = /obj/item/clothing/gloves/combat
@@ -421,7 +421,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
shoes = /obj/item/clothing/shoes/magboots/advance
suit_store = /obj/item/tank/internals/oxygen
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index d60012815f9..255afc3a8ee 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
H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM) //or else you end up with naked assistants running around everywhere...
@@ -19,12 +19,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)
@@ -39,7 +39,7 @@
item_color = "black"
resistance_flags = NONE
-/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"
@@ -59,7 +59,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"
@@ -80,7 +80,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"
@@ -92,7 +92,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"
@@ -105,7 +105,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"
@@ -118,7 +118,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"
@@ -130,7 +130,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"
@@ -142,7 +142,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"
@@ -154,7 +154,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"
@@ -166,7 +166,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"
@@ -178,7 +178,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"
@@ -191,7 +191,7 @@
item_state = "p_suit"
item_color = "lightpurple"
-/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"
@@ -203,7 +203,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"
@@ -215,7 +215,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"
@@ -227,7 +227,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"
@@ -239,7 +239,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"
@@ -253,10 +253,10 @@
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"
item_state = "rainbow"
item_color = "rainbow_skirt"
- can_adjust = FALSE
\ No newline at end of file
+ can_adjust = FALSE
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
new file mode 100644
index 00000000000..1cacb414973
--- /dev/null
+++ b/code/modules/clothing/under/costume.dm
@@ -0,0 +1,285 @@
+/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/cloud
+ name = "cloud costume"
+ desc = "A costume made to resemble a fluffy cloud. Hopefully concealing any naughty bits the children might see."
+ icon_state = "cloud"
+ item_color = "cloud"
+ 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/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/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/singer
+ desc = "Just looking at this makes you want to sing."
+ body_parts_covered = CHEST|GROIN|ARMS
+ alternate_worn_layer = ABOVE_SHOES_LAYER
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/singer/yellow
+ name = "yellow performer's outfit"
+ icon_state = "ysing"
+ item_state = "ysing"
+ item_color = "ysing"
+ fitted = NO_FEMALE_UNIFORM
+
+/obj/item/clothing/under/costume/singer/blue
+ name = "blue performer's outfit"
+ icon_state = "bsing"
+ item_state = "bsing"
+ item_color = "bsing"
+ fitted = FEMALE_UNIFORM_TOP
+
+/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
+
+/obj/item/clothing/under/costume/mech_suit
+ name = "red mech pilot's suit"
+ desc = "A red mech pilot's suit. Might make your butt look big."
+ icon_state = "red_mech_suit"
+ item_state = "red_mech_suit"
+ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ fitted = NO_FEMALE_UNIFORM
+ alternate_worn_layer = GLOVES_LAYER //covers hands but gloves can go over it. This is how these things work in my head.
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/mech_suit/white
+ name = "white mech pilot's suit"
+ desc = "A white mech pilot's suit. Very fetching."
+ icon_state = "white_mech_suit"
+ item_state = "white_mech_suit"
+
+/obj/item/clothing/under/costume/mech_suit/blue
+ name = "blue mech pilot's suit"
+ desc = "A blue mech pilot's suit. For the more reluctant mech pilots."
+ icon_state = "blue_mech_suit"
+ item_state = "blue_mech_suit"
+
+/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"
+ alt_covers_chest = TRUE
+ armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30)
+ strip_delay = 50
+ alt_covers_chest = TRUE
+ sensor_mode = SENSOR_COORDS
+ random_sensor = FALSE
diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
index ce36cac8a40..35aa316f343 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
@@ -83,4 +83,4 @@
H.visible_message("[H]'s suit spews out a tonne of space lube!","Your suit spews out a tonne of space lube!")
H.ExtinguishMob()
new /obj/effect/particle_effect/foam(loc) //Truely terrifying.
- return 0
\ No newline at end of file
+ return 0
diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm
new file mode 100644
index 00000000000..331b9f5b640
--- /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
+ mutantrace_variation = MUTANTRACE_VARIATION
+ 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/centcomm.dm b/code/modules/clothing/under/jobs/centcomm.dm
new file mode 100644
index 00000000000..a879b80332e
--- /dev/null
+++ b/code/modules/clothing/under/jobs/centcomm.dm
@@ -0,0 +1,14 @@
+/obj/item/clothing/under/rank/centcom/officer
+ name = "\improper CentCom officer's jumpsuit"
+ desc = "It's a jumpsuit worn by CentCom Officers."
+ icon_state = "officer"
+ item_state = "g_suit"
+ item_color = "officer"
+ alt_covers_chest = TRUE
+
+/obj/item/clothing/under/rank/centcom/commander
+ name = "\improper CentCom officer's jumpsuit"
+ desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
+ 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 89a9f142cb7..00000000000
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ /dev/null
@@ -1,423 +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
- mutantrace_variation = MUTANTRACE_VARIATION
- 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
-
-/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
-
-/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
-
-/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
-
-/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
-
-/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
-
-/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/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
- name = "lawyer red suit"
- icon_state = "lawyer_red"
- item_state = "lawyer_red"
- item_color = "lawyer_red"
-
-/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/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
- 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/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 00000000000..f0e90963170
--- /dev/null
+++ b/code/modules/clothing/under/jobs/civilian/civilian.dm
@@ -0,0 +1,235 @@
+//Alphabetical order of civilian jobs.
+
+/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. If you wear this, you probably need religious help more than you will be providing it."
+ 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/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/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
+ name = "lawyer red suit"
+ icon_state = "lawyer_red"
+ item_state = "lawyer_red"
+ item_color = "lawyer_red"
+
+/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 00000000000..897602774cd
--- /dev/null
+++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
@@ -0,0 +1,110 @@
+
+/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"
+
+/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
+
+/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
+
+/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
+
+/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
+
+/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
+
+/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
+
+/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 00000000000..c02cc4b7103
--- /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 00000000000..d68e9f642c3
--- /dev/null
+++ b/code/modules/clothing/under/jobs/command.dm
@@ -0,0 +1,44 @@
+/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
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 2787fbc9363..a7dce2e90cf 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"
@@ -45,7 +45,7 @@
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"
@@ -53,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"
@@ -63,20 +63,3 @@
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
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medical.dm
similarity index 52%
rename from code/modules/clothing/under/jobs/medsci.dm
rename to code/modules/clothing/under/jobs/medical.dm
index 5fb7bdef02f..9f52860b8f6 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medical.dm
@@ -1,211 +1,127 @@
-/*
- * 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
- 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"
- item_state = "w_suit"
- item_color = "cmo"
- 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
- 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"
- item_state = "w_suit"
- item_color = "cmo_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/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"
- item_state = "w_suit"
- item_color = "geneticswhite"
- 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
- 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"
- item_state = "w_suit"
- item_color = "geneticswhite_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/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"
- item_state = "w_suit"
- item_color = "virologywhite"
- 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
- 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"
- item_state = "w_suit"
- item_color = "virologywhite_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
-
-/obj/item/clothing/under/rank/nursesuit
- desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
- name = "nurse's suit"
- icon_state = "nursesuit"
- item_state = "w_suit"
- item_color = "nursesuit"
- permeability_coefficient = 0.5
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
- body_parts_covered = CHEST|GROIN|ARMS
- fitted = NO_FEMALE_UNIFORM
- can_adjust = FALSE
-
-/obj/item/clothing/under/rank/medical
- 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"
- item_state = "w_suit"
- item_color = "medical"
- 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
- name = "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
- name = "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
- name = "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
- 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"
- item_state = "w_suit"
- item_color = "medical_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- can_adjust = FALSE
- fitted = FEMALE_UNIFORM_TOP
\ No newline at end of file
+/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"
+ item_state = "w_suit"
+ item_color = "cmo"
+ 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/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"
+ item_state = "w_suit"
+ item_color = "cmo_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/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"
+ item_state = "w_suit"
+ item_color = "geneticswhite"
+ 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/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"
+ item_state = "w_suit"
+ item_color = "geneticswhite_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/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"
+ item_state = "w_suit"
+ item_color = "virologywhite"
+ 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/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"
+ item_state = "w_suit"
+ item_color = "virologywhite_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
+
+/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"
+ item_state = "w_suit"
+ item_color = "nursesuit"
+ permeability_coefficient = 0.5
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+
+/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"
+ item_state = "w_suit"
+ item_color = "medical"
+ 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/doctor/blue
+ name = "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/doctor/green
+ name = "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/doctor/purple
+ name = "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/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"
+ item_state = "w_suit"
+ item_color = "medical_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ 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
diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm
new file mode 100644
index 00000000000..142cb8d8b16
--- /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 dade15148fd..5d7d74f1f99 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -9,7 +9,7 @@
* 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"
@@ -21,14 +21,14 @@
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"
@@ -38,8 +38,23 @@
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/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/warden
+/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/security/warden
name = "security suit"
desc = "A formal security suit for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden"
@@ -51,14 +66,14 @@
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"
@@ -68,10 +83,18 @@
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"
@@ -83,7 +106,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"
@@ -93,7 +116,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"
@@ -101,7 +124,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"
@@ -114,7 +137,7 @@
/*
* 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"
@@ -126,7 +149,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"
@@ -136,21 +159,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"
@@ -160,19 +183,24 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
-/*
- * Navy uniforms
- */
+/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
-/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/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
-/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"
@@ -180,34 +208,34 @@
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"
- can_adjust = FALSE
-
/*
*Spacepol
*/
-/obj/item/clothing/under/rank/security/spacepol
+/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
+
+/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."
+ icon_state = "prisoner"
+ item_state = "o_suit"
+ item_color = "prisoner"
+ has_sensor = LOCKED_SENSORS
+ sensor_mode = SENSOR_COORDS
+ random_sensor = FALSE
+
+/obj/item/clothing/under/rank/prisoner/skirt
+ name = "prison jumpskirt"
+ desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
+ icon_state = "prisoner_skirt"
+ item_state = "o_suit"
+ item_color = "prisoner_skirt"
+ body_parts_covered = CHEST|GROIN|ARMS
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 4fdc01f581d..3a47141e093 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -1,20 +1,20 @@
-/obj/item/clothing/under/pj/red
- name = "red pj's"
- desc = "Sleepwear."
+/obj/item/clothing/under/misc/pj
+ name = "\improper PJs"
+ desc = "A comfy set of sleepwear, for taking naps or being lazy instead of working."
+
+/obj/item/clothing/under/misc/pj/red
icon_state = "red_pyjamas"
item_color = "red_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
-/obj/item/clothing/under/pj/blue
- name = "blue pj's"
- desc = "Sleepwear."
+/obj/item/clothing/under/misc/pj/blue
icon_state = "blue_pyjamas"
item_color = "blue_pyjamas"
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,100 +22,21 @@
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."
- icon_state = "prisoner"
- item_state = "o_suit"
- item_color = "prisoner"
- has_sensor = LOCKED_SENSORS
- sensor_mode = SENSOR_COORDS
- random_sensor = FALSE
-
-/obj/item/clothing/under/rank/prisoner/skirt
- name = "prison jumpskirt"
- desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
- icon_state = "prisoner_skirt"
- item_state = "o_suit"
- item_color = "prisoner_skirt"
- body_parts_covered = CHEST|GROIN|ARMS
- 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,39 +44,7 @@
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_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"
@@ -172,143 +61,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"
@@ -317,78 +70,7 @@
can_adjust = FALSE
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
- custom_price = 25
-
-/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
- custom_price = 25
-
-/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
- custom_price = 25
-
-
-/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"
@@ -397,108 +79,7 @@
can_adjust = FALSE
custom_price = 20
-/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/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"
@@ -506,165 +87,6 @@
item_color = "assistant_formal"
can_adjust = FALSE
-/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/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/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
- custom_price = 25
-
-/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."
@@ -719,82 +141,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/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"
@@ -802,26 +149,3 @@
item_color = "durathread"
can_adjust = FALSE
armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
-
-/obj/item/clothing/under/mech_suit
- name = "red mech pilot's suit"
- desc = "A red mech pilot's suit. Might make your butt look big."
- icon_state = "red_mech_suit"
- item_state = "red_mech_suit"
- body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
- cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
- fitted = NO_FEMALE_UNIFORM
- alternate_worn_layer = GLOVES_LAYER //covers hands but gloves can go over it. This is how these things work in my head.
- can_adjust = FALSE
-
-/obj/item/clothing/under/mech_suit/white
- name = "white mech pilot's suit"
- desc = "A white mech pilot's suit. Very fetching."
- icon_state = "white_mech_suit"
- item_state = "white_mech_suit"
-
-/obj/item/clothing/under/mech_suit/blue
- name = "blue mech pilot's suit"
- desc = "A blue mech pilot's suit. For the more reluctant mech pilots."
- icon_state = "blue_mech_suit"
- item_state = "blue_mech_suit"
diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm
new file mode 100644
index 00000000000..725983ae6c9
--- /dev/null
+++ b/code/modules/clothing/under/skirt_dress.dm
@@ -0,0 +1,101 @@
+/obj/item/clothing/under/dress
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+ body_parts_covered = CHEST|GROIN
+
+/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"
+
+/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"
+
+/obj/item/clothing/under/dress/striped
+ name = "striped dress"
+ desc = "Fashion in space."
+ icon_state = "striped_dress"
+ item_state = "stripeddress"
+ item_color = "striped_dress"
+ fitted = FEMALE_UNIFORM_FULL
+
+/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"
+
+/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"
+
+/obj/item/clothing/under/dress/skirt
+ name = "black skirt"
+ desc = "A black skirt, very fancy!"
+ icon_state = "blackskirt"
+ item_color = "blackskirt"
+
+/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"
+ custom_price = 25
+
+/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"
+ custom_price = 25
+
+/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"
+ custom_price = 25
+
+/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"
+ can_adjust = TRUE
+ alt_covers_chest = TRUE
+ custom_price = 25
+
+/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"
+
+/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"
+
+/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"
diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm
new file mode 100644
index 00000000000..74a3f0d3fe6
--- /dev/null
+++ b/code/modules/clothing/under/suits.dm
@@ -0,0 +1,132 @@
+/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/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/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"
+ alt_covers_chest = TRUE
+ fitted = FEMALE_UNIFORM_TOP
+
+
+/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_really/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/suit/black/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/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"
diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm
index d9b24572af3..634664de8ce 100644
--- a/code/modules/jobs/job_types/assistant.dm
+++ b/code/modules/jobs/job_types/assistant.dm
@@ -35,9 +35,9 @@ Assistant
if(H.jumpsuit_style == PREF_SUIT)
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(H.jumpsuit_style == PREF_SUIT)
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 04bbdd51048..dd2c1f5a284 100644
--- a/code/modules/jobs/job_types/atmospheric_technician.dm
+++ b/code/modules/jobs/job_types/atmospheric_technician.dm
@@ -27,7 +27,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 bf2768667bc..83635cfa398 100644
--- a/code/modules/jobs/job_types/bartender.dm
+++ b/code/modules/jobs/job_types/bartender.dm
@@ -25,7 +25,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)
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 1631921f410..f2b9e51afcc 100644
--- a/code/modules/jobs/job_types/botanist.dm
+++ b/code/modules/jobs/job_types/botanist.dm
@@ -23,7 +23,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 ec3f7dc3f8c..0b05e70899c 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -24,6 +24,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 fdf2fb02a46..6fdd570cb23 100644
--- a/code/modules/jobs/job_types/chaplain.dm
+++ b/code/modules/jobs/job_types/chaplain.dm
@@ -117,7 +117,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 2e3e5358ebd..6c8551ba808 100644
--- a/code/modules/jobs/job_types/chemist.dm
+++ b/code/modules/jobs/job_types/chemist.dm
@@ -27,7 +27,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 59b717a537a..4a1fa46fcd6 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -39,7 +39,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 35e0f9097b5..97db50b1365 100644
--- a/code/modules/jobs/job_types/chief_medical_officer.dm
+++ b/code/modules/jobs/job_types/chief_medical_officer.dm
@@ -37,7 +37,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 2116367ac7c..fe5c64fb820 100644
--- a/code/modules/jobs/job_types/clown.dm
+++ b/code/modules/jobs/job_types/clown.dm
@@ -29,7 +29,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 a631236356d..c54fecac300 100644
--- a/code/modules/jobs/job_types/cook.dm
+++ b/code/modules/jobs/job_types/cook.dm
@@ -25,7 +25,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 391ce486c46..cfdca4e4613 100644
--- a/code/modules/jobs/job_types/curator.dm
+++ b/code/modules/jobs/job_types/curator.dm
@@ -25,7 +25,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 47aa82cb8d2..e1e55b225ce 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/detective
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 c31d167d787..2a2eb08cd8a 100644
--- a/code/modules/jobs/job_types/geneticist.dm
+++ b/code/modules/jobs/job_types/geneticist.dm
@@ -26,7 +26,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 76584454a0b..a83f9638e20 100644
--- a/code/modules/jobs/job_types/head_of_personnel.dm
+++ b/code/modules/jobs/job_types/head_of_personnel.dm
@@ -44,7 +44,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 deb3416dd0a..35516461db0 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -39,7 +39,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 8a16e7233d2..9816bc2d5c7 100644
--- a/code/modules/jobs/job_types/janitor.dm
+++ b/code/modules/jobs/job_types/janitor.dm
@@ -25,5 +25,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 fe08017bda0..aeb92f1bba3 100644
--- a/code/modules/jobs/job_types/lawyer.dm
+++ b/code/modules/jobs/job_types/lawyer.dm
@@ -26,7 +26,7 @@
belt = /obj/item/pda/lawyer
ears = /obj/item/radio/headset/headset_srvsec
- 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
@@ -44,5 +44,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/mime.dm b/code/modules/jobs/job_types/mime.dm
index c1fd89882b1..318cb0c8e7f 100644
--- a/code/modules/jobs/job_types/mime.dm
+++ b/code/modules/jobs/job_types/mime.dm
@@ -27,7 +27,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/research_director.dm b/code/modules/jobs/job_types/research_director.dm
index bc11f1d1ef7..a11f91a55b8 100644
--- a/code/modules/jobs/job_types/research_director.dm
+++ b/code/modules/jobs/job_types/research_director.dm
@@ -40,7 +40,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 9d74d7e48cc..ee4cd2da210 100644
--- a/code/modules/jobs/job_types/roboticist.dm
+++ b/code/modules/jobs/job_types/roboticist.dm
@@ -27,7 +27,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 075c6e1de68..e48620237b4 100644
--- a/code/modules/jobs/job_types/scientist.dm
+++ b/code/modules/jobs/job_types/scientist.dm
@@ -27,7 +27,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 bfa9f6600cd..365f7f60644 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 c9c4afbe609..48a6a07aec1 100644
--- a/code/modules/jobs/job_types/shaft_miner.dm
+++ b/code/modules/jobs/job_types/shaft_miner.dm
@@ -26,7 +26,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(
diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm
index 90d225cdf2e..960ae09fb30 100644
--- a/code/modules/jobs/job_types/station_engineer.dm
+++ b/code/modules/jobs/job_types/station_engineer.dm
@@ -29,7 +29,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 af6db420ee7..a3bb23b05f9 100644
--- a/code/modules/jobs/job_types/virologist.dm
+++ b/code/modules/jobs/job_types/virologist.dm
@@ -26,7 +26,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 ce6b5fa5a1b..7f1a211139d 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 55c40b94432..f4a55778c74 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/mine_items.dm b/code/modules/mining/mine_items.dm
index f8dca6735f7..920e9c6ea90 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/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm
index ec20fbadcbc..b4b24099f81 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/security/officer/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 e6526d5da15..db736341951 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
@@ -280,7 +280,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))
@@ -299,7 +299,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
@@ -339,7 +339,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
@@ -362,7 +362,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/hooded/cultrobes
suit_store = /obj/item/tome
r_pocket = /obj/item/restraints/legcuffs/bola/cult
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index f8950050f2c..b5e63266c11 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -452,7 +452,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 dad4a921b6a..ab92343c50d 100644
--- a/code/modules/vending/autodrobe.dm
+++ b/code/modules/vending/autodrobe.dm
@@ -8,29 +8,29 @@
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/rank/blueclown = 1,
- /obj/item/clothing/under/rank/greenclown = 1,
- /obj/item/clothing/under/rank/yellowclown = 1,
- /obj/item/clothing/under/rank/orangeclown = 1,
- /obj/item/clothing/under/rank/purpleclown = 1,
- /obj/item/clothing/under/gladiator = 1,
+ /obj/item/clothing/under/rank/civilian/clown/blue = 1,
+ /obj/item/clothing/under/rank/civilian/clown/green = 1,
+ /obj/item/clothing/under/rank/civilian/clown/yellow = 1,
+ /obj/item/clothing/under/rank/civilian/clown/orange = 1,
+ /obj/item/clothing/under/rank/civilian/clown/purple = 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/gimmick/rank/captain/suit/skirt = 1,
+ /obj/item/clothing/under/rank/captain/suit = 1,
+ /obj/item/clothing/under/rank/captain/suit/skirt = 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/head/beret/vintage = 1,
/obj/item/clothing/head/beret/archaic = 1,
@@ -38,27 +38,27 @@
/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,
@@ -66,17 +66,17 @@
/obj/item/clothing/suit/chaplainsuit/whiterobe = 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/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/mime/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/mime/sexy = 1,
+ /obj/item/clothing/under/rank/civilian/mime/skirt = 1,
/obj/item/clothing/mask/rat/bat = 1,
/obj/item/clothing/mask/rat/bee = 1,
/obj/item/clothing/mask/rat/bear = 1,
@@ -93,18 +93,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,
@@ -112,8 +112,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/delinquent = 1,
/obj/item/clothing/head/wig/random = 3)
@@ -125,15 +125,15 @@
/obj/item/clothing/mask/muzzle = 2)
premium = list(/obj/item/clothing/suit/pirate/captain = 2,
/obj/item/clothing/head/pirate/captain = 2,
- /obj/item/clothing/under/rank/rainbowclown = 1,
+ /obj/item/clothing/under/rank/civilian/clown/rainbow = 1,
/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/clothing/suit/chaplainsuit/clownpriest = 1,
/obj/item/clothing/head/clownmitre = 1,
- /obj/item/clothing/under/rank/psyche = 1,
+ /obj/item/clothing/under/misc/psyche = 1,
/obj/item/skub = 1)
refill_canister = /obj/item/vending_refill/autodrobe
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 86df02b2d1d..a68530df61f 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -47,7 +47,7 @@
/obj/item/storage/belt/fannypack/blue = 3,
/obj/item/storage/belt/fannypack/red = 3,
/obj/item/clothing/ears/headphones = 2,
- /obj/item/clothing/under/overalls = 2,
+ /obj/item/clothing/under/misc/overalls = 2,
/obj/item/clothing/under/pants/jeans = 2,
/obj/item/clothing/under/pants/classicjeans = 2,
/obj/item/clothing/under/pants/camo = 2,
@@ -60,17 +60,17 @@
/obj/item/clothing/under/pants/track = 2,
/obj/item/clothing/shoes/sneakers/black = 4,
/obj/item/clothing/head/wig/natural = 4,
- /obj/item/clothing/under/plaid_skirt = 2,
- /obj/item/clothing/under/plaid_skirt/blue = 2,
- /obj/item/clothing/under/plaid_skirt/purple = 2,
- /obj/item/clothing/under/plaid_skirt/green = 2,
- /obj/item/clothing/under/skirt/black = 2,
- /obj/item/clothing/under/skirt/blue = 2,
- /obj/item/clothing/under/skirt/red = 2,
- /obj/item/clothing/under/skirt/purple = 2,
- /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/dress/skirt/plaid = 2,
+ /obj/item/clothing/under/dress/skirt/plaid/blue = 2,
+ /obj/item/clothing/under/dress/skirt/plaid/green = 2,
+ /obj/item/clothing/under/dress/skirt/plaid/purple = 2,
+ /obj/item/clothing/under/dress/skirt = 2,
+ /obj/item/clothing/under/dress/skirt/blue = 2,
+ /obj/item/clothing/under/dress/skirt/red = 2,
+ /obj/item/clothing/under/dress/skirt/purple = 2,
+ /obj/item/clothing/under/suit/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/suit/jacket = 2,
/obj/item/clothing/suit/jacket/puffer/vest = 2,
/obj/item/clothing/suit/jacket/puffer = 2,
@@ -80,24 +80,24 @@
/obj/item/clothing/glasses/regular/jamjar = 1,
/obj/item/clothing/glasses/orange = 1,
/obj/item/clothing/glasses/red = 1,
- /obj/item/clothing/under/suit_jacket/navy = 1,
- /obj/item/clothing/under/suit_jacket/really_black = 1,
- /obj/item/clothing/under/suit_jacket/burgundy = 1,
- /obj/item/clothing/under/suit_jacket/charcoal = 1,
- /obj/item/clothing/under/suit_jacket/white = 1,
- /obj/item/clothing/under/sl_suit = 1,
+ /obj/item/clothing/under/suit/navy = 1,
+ /obj/item/clothing/under/suit/black_really = 1,
+ /obj/item/clothing/under/suit/burgundy = 1,
+ /obj/item/clothing/under/suit/charcoal = 1,
+ /obj/item/clothing/under/suit/white = 1,
+ /obj/item/clothing/under/suit/sl = 1,
/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/head/that = 1,
/obj/item/clothing/head/fedora = 1,
/obj/item/clothing/glasses/monocle = 1,
/obj/item/clothing/head/sombrero = 1,
/obj/item/clothing/suit/poncho = 1,
- /obj/item/clothing/under/kilt = 1,
- /obj/item/clothing/under/sundress = 1,
- /obj/item/clothing/under/stripeddress = 1,
- /obj/item/clothing/under/sailordress = 1,
- /obj/item/clothing/under/redeveninggown = 1,
- /obj/item/clothing/under/blacktango = 1,
+ /obj/item/clothing/under/costume/kilt = 1,
+ /obj/item/clothing/under/dress/sundress = 1,
+ /obj/item/clothing/under/dress/striped = 1,
+ /obj/item/clothing/under/dress/sailor = 1,
+ /obj/item/clothing/under/dress/redeveninggown = 1,
+ /obj/item/clothing/under/dress/blacktango = 1,
/obj/item/clothing/suit/ianshirt = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/shoes/sandal = 2,
@@ -106,20 +106,20 @@
/obj/item/clothing/shoes/cowboy/black = 2,
/obj/item/clothing/suit/jacket/miljacket = 1,
/obj/item/clothing/suit/apron/purple_bartender = 2,
- /obj/item/clothing/under/rank/bartender/purple = 2)
+ /obj/item/clothing/under/rank/civilian/bartender/purple = 2)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 1,
/obj/item/clothing/under/syndicate/tacticool/skirt = 1,
/obj/item/clothing/mask/balaclava = 1,
/obj/item/clothing/head/ushanka = 1,
- /obj/item/clothing/under/soviet = 1,
+ /obj/item/clothing/under/costume/soviet = 1,
/obj/item/storage/belt/fannypack/black = 2,
/obj/item/clothing/suit/jacket/letterman_syndie = 1,
- /obj/item/clothing/under/jabroni = 1,
+ /obj/item/clothing/under/costume/jabroni = 1,
/obj/item/clothing/suit/vapeshirt = 1,
- /obj/item/clothing/under/geisha = 1)
- premium = list(/obj/item/clothing/under/suit_jacket/checkered = 1,
+ /obj/item/clothing/under/costume/geisha = 1)
+ premium = list(/obj/item/clothing/under/suit/checkered = 1,
/obj/item/clothing/head/mailman = 1,
- /obj/item/clothing/under/rank/mailman = 1,
+ /obj/item/clothing/under/misc/mailman = 1,
/obj/item/clothing/suit/jacket/leather = 1,
/obj/item/clothing/suit/jacket/leather/overcoat = 1,
/obj/item/clothing/under/pants/mustangjeans = 1,
diff --git a/code/modules/vending/engineering.dm b/code/modules/vending/engineering.dm
index 0dbc4254676..c74d882659a 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,
@@ -34,4 +34,4 @@
/obj/item/vending_refill/engineering
machine_name = "Robco Tool Maker"
- icon_state = "refill_engi"
\ No newline at end of file
+ icon_state = "refill_engi"
diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm
index cdf0905d6c0..773506de21e 100644
--- a/code/modules/vending/liberation.dm
+++ b/code/modules/vending/liberation.dm
@@ -23,11 +23,11 @@
/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)
resistance_flags = FIRE_PROOF
default_price = 50
extra_price = 100
- payment_department = ACCOUNT_SEC
\ No newline at end of file
+ payment_department = ACCOUNT_SEC
diff --git a/code/modules/vending/plasmaresearch.dm b/code/modules/vending/plasmaresearch.dm
index 423840e74d8..9b529676577 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,
@@ -13,4 +13,4 @@
contraband = list(/obj/item/assembly/health = 3)
default_price = 200
extra_price = 250
- payment_department = ACCOUNT_SCI
\ No newline at end of file
+ payment_department = ACCOUNT_SCI
diff --git a/code/modules/vending/robotics.dm b/code/modules/vending/robotics.dm
index 05615e5f5d6..42bdde7682d 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,
@@ -26,4 +26,4 @@
/obj/item/vending_refill/robotics
machine_name = "Robotech Deluxe"
- icon_state = "refill_engi"
\ No newline at end of file
+ icon_state = "refill_engi"
diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm
index 07ac6d31c09..349d8c19213 100644
--- a/code/modules/vending/wardrobes.dm
+++ b/code/modules/vending/wardrobes.dm
@@ -20,16 +20,16 @@
/obj/item/storage/backpack/security = 3,
/obj/item/storage/backpack/satchel/sec = 3,
/obj/item/storage/backpack/duffelbag/sec = 3,
- /obj/item/clothing/under/rank/security = 3,
+ /obj/item/clothing/under/rank/security/officer = 3,
/obj/item/clothing/shoes/jackboots = 3,
/obj/item/clothing/head/beret/sec = 3,
/obj/item/clothing/head/soft/sec = 3,
/obj/item/clothing/mask/bandana/red = 3,
- /obj/item/clothing/under/rank/security/skirt = 3,
- /obj/item/clothing/under/rank/security/grey = 3,
+ /obj/item/clothing/under/rank/security/officer/skirt = 3,
+ /obj/item/clothing/under/rank/security/officer/grey = 3,
/obj/item/clothing/under/pants/khaki = 3,
- /obj/item/clothing/under/rank/security/blueshirt = 3)
- premium = list(/obj/item/clothing/under/rank/security/navyblue = 3,
+ /obj/item/clothing/under/rank/security/officer/blueshirt = 3)
+ premium = list(/obj/item/clothing/under/rank/security/officer/formal = 3,
/obj/item/clothing/suit/security/officer = 3,
/obj/item/clothing/head/beret/sec/navyofficer = 3)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
@@ -49,12 +49,12 @@
/obj/item/storage/backpack/medic = 4,
/obj/item/storage/backpack/satchel/med = 4,
/obj/item/clothing/suit/hooded/wintercoat/medical = 4,
- /obj/item/clothing/under/rank/nursesuit = 4,
+ /obj/item/clothing/under/rank/medical/doctor/nurse = 4,
/obj/item/clothing/head/nursehat = 4,
- /obj/item/clothing/under/rank/medical/skirt= 4,
- /obj/item/clothing/under/rank/medical/blue = 4,
- /obj/item/clothing/under/rank/medical/green = 4,
- /obj/item/clothing/under/rank/medical/purple = 4,
+ /obj/item/clothing/under/rank/medical/doctor/skirt= 4,
+ /obj/item/clothing/under/rank/medical/doctor/blue = 4,
+ /obj/item/clothing/under/rank/medical/doctor/green = 4,
+ /obj/item/clothing/under/rank/medical/doctor/purple = 4,
/obj/item/clothing/under/rank/medical = 4,
/obj/item/clothing/suit/toggle/labcoat = 4,
/obj/item/clothing/suit/toggle/labcoat/emt = 4,
@@ -78,9 +78,9 @@
/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 = 3,
- /obj/item/clothing/under/rank/engineer/skirt = 3,
- /obj/item/clothing/under/rank/engineer/hazard = 3,
+ /obj/item/clothing/under/rank/engineering/engineer = 3,
+ /obj/item/clothing/under/rank/engineering/engineer/skirt = 3,
+ /obj/item/clothing/under/rank/engineering/engineer/hazard = 3,
/obj/item/clothing/suit/hazardvest = 3,
/obj/item/clothing/shoes/workboots = 3,
/obj/item/clothing/head/hardhat = 3,
@@ -101,8 +101,8 @@
/obj/item/storage/backpack/satchel/eng = 2,
/obj/item/storage/backpack/industrial = 2,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3,
- /obj/item/clothing/under/rank/atmospheric_technician = 3,
- /obj/item/clothing/under/rank/atmospheric_technician/skirt = 3,
+ /obj/item/clothing/under/rank/engineering/atmospheric_technician = 3,
+ /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt = 3,
/obj/item/clothing/shoes/sneakers/black = 3)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
payment_department = ACCOUNT_ENG
@@ -116,13 +116,13 @@
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 = 3,
- /obj/item/clothing/under/rank/cargotech/skirt = 3,
+ /obj/item/clothing/under/rank/cargo/tech = 3,
+ /obj/item/clothing/under/rank/cargo/tech/skirt = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/gloves/fingerless = 3,
/obj/item/clothing/head/soft = 3,
/obj/item/radio/headset/headset_cargo = 3)
- premium = list(/obj/item/clothing/under/rank/miner = 3)
+ premium = list(/obj/item/clothing/under/rank/cargo/miner = 3)
refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe
payment_department = ACCOUNT_CAR
/obj/item/vending_refill/wardrobe/cargo_wardrobe
@@ -135,8 +135,8 @@
product_ads = "You turn me TRUE, use defines!;0110001101101100011011110111010001101000011001010111001101101000011001010111001001100101"
vend_reply = "Thank you for using the RoboDrobe!"
products = list(/obj/item/clothing/glasses/hud/diagnostic = 2,
- /obj/item/clothing/under/rank/roboticist = 2,
- /obj/item/clothing/under/rank/roboticist/skirt = 2,
+ /obj/item/clothing/under/rank/rnd/roboticist = 2,
+ /obj/item/clothing/under/rank/rnd/roboticist/skirt = 2,
/obj/item/clothing/suit/toggle/labcoat = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/gloves/fingerless = 2,
@@ -158,8 +158,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 = 3,
- /obj/item/clothing/under/rank/scientist/skirt = 3,
+ /obj/item/clothing/under/rank/rnd/scientist = 3,
+ /obj/item/clothing/under/rank/rnd/scientist/skirt = 3,
/obj/item/clothing/suit/toggle/labcoat/science = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/radio/headset/headset_sci = 3,
@@ -180,8 +180,8 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro = 2,
/obj/item/clothing/suit/apron = 2,
/obj/item/clothing/suit/apron/overalls = 3,
- /obj/item/clothing/under/rank/hydroponics = 3,
- /obj/item/clothing/under/rank/hydroponics/skirt = 3,
+ /obj/item/clothing/under/rank/civilian/hydroponics = 3,
+ /obj/item/clothing/under/rank/civilian/hydroponics/skirt = 3,
/obj/item/clothing/mask/bandana = 3,
/obj/item/clothing/accessory/armband/hydro = 3)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
@@ -201,9 +201,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,
@@ -221,10 +221,10 @@
vend_reply = "Thank you for using the BarDrobe!"
products = list(/obj/item/clothing/head/that = 2,
/obj/item/radio/headset/headset_srv = 2,
- /obj/item/clothing/under/sl_suit = 2,
- /obj/item/clothing/under/rank/bartender = 2,
- /obj/item/clothing/under/rank/bartender/purple = 2,
- /obj/item/clothing/under/rank/bartender/skirt = 2,
+ /obj/item/clothing/under/suit/sl = 2,
+ /obj/item/clothing/under/rank/civilian/bartender = 2,
+ /obj/item/clothing/under/rank/civilian/bartender/purple = 2,
+ /obj/item/clothing/under/rank/civilian/bartender/skirt = 2,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/suit/apron/purple_bartender = 2,
/obj/item/clothing/head/soft/black = 2,
@@ -248,7 +248,7 @@
icon_state = "chefdrobe"
product_ads = "Our clothes are guaranteed to protect you from food splatters!"
vend_reply = "Thank you for using the ChefDrobe!"
- products = list(/obj/item/clothing/under/waiter = 2,
+ products = list(/obj/item/clothing/under/suit/waiter = 2,
/obj/item/radio/headset/headset_srv = 2,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/suit/apron/chef = 3,
@@ -256,8 +256,8 @@
/obj/item/storage/box/mousetraps = 2,
/obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/suit/toggle/chef = 1,
- /obj/item/clothing/under/rank/chef = 1,
- /obj/item/clothing/under/rank/chef/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/chef = 1,
+ /obj/item/clothing/under/rank/civilian/chef/skirt = 2,
/obj/item/clothing/head/chefhat = 1,
/obj/item/reagent_containers/glass/rag = 1,
/obj/item/clothing/suit/hooded/wintercoat = 2)
@@ -272,9 +272,9 @@
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,
+ products = list(/obj/item/clothing/under/rank/civilian/janitor = 2,
/obj/item/cartridge/janitor = 2,
- /obj/item/clothing/under/rank/janitor/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/janitor/skirt = 2,
/obj/item/clothing/gloves/color/black = 2,
/obj/item/clothing/head/soft/purple = 2,
/obj/item/paint/paint_remover = 2,
@@ -299,25 +299,25 @@
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 = 1,
- /obj/item/clothing/under/lawyer/bluesuit/skirt = 1,
+ products = list(/obj/item/clothing/under/rank/civilian/lawyer/bluesuit = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt = 1,
/obj/item/clothing/suit/toggle/lawyer = 1,
- /obj/item/clothing/under/lawyer/purpsuit = 1,
- /obj/item/clothing/under/lawyer/purpsuit/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/purpsuit = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt = 1,
/obj/item/clothing/suit/toggle/lawyer/purple = 1,
- /obj/item/clothing/under/lawyer/blacksuit = 1,
- /obj/item/clothing/under/lawyer/blacksuit/skirt = 1,
+ /obj/item/clothing/under/suit/black = 1,
+ /obj/item/clothing/under/suit/black/skirt = 1,
/obj/item/clothing/suit/toggle/lawyer/black = 1,
- /obj/item/clothing/under/lawyer/female = 1,
- /obj/item/clothing/under/lawyer/female/skirt = 1,
- /obj/item/clothing/under/lawyer/really_black = 1,
- /obj/item/clothing/under/lawyer/really_black/skirt = 1,
- /obj/item/clothing/under/lawyer/blue = 1,
- /obj/item/clothing/under/lawyer/blue/skirt = 1,
- /obj/item/clothing/under/lawyer/red = 1,
- /obj/item/clothing/under/lawyer/red/skirt = 1,
- /obj/item/clothing/under/lawyer/black = 1,
- /obj/item/clothing/under/lawyer/black/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/female = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/female/skirt = 1,
+ /obj/item/clothing/under/suit/black_really = 1,
+ /obj/item/clothing/under/suit/black_really/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/blue = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/red = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/red/skirt = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/black = 1,
+ /obj/item/clothing/under/rank/civilian/lawyer/black/skirt = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/accessory/lawyers_badge = 2)
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
@@ -334,8 +334,8 @@
products = list(/obj/item/choice_beacon/holy = 1,
/obj/item/storage/backpack/cultpack = 1,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 1,
- /obj/item/clothing/under/rank/chaplain = 1,
- /obj/item/clothing/under/rank/chaplain/skirt = 2,
+ /obj/item/clothing/under/rank/civilian/chaplain = 1,
+ /obj/item/clothing/under/rank/civilian/chaplain/skirt = 2,
/obj/item/clothing/shoes/sneakers/black = 1,
/obj/item/clothing/suit/chaplainsuit/nun = 1,
/obj/item/clothing/head/nun_hood = 1,
@@ -364,8 +364,8 @@
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 = 2,
- /obj/item/clothing/under/rank/chemist/skirt = 2,
+ products = list(/obj/item/clothing/under/rank/medical/chemist = 2,
+ /obj/item/clothing/under/rank/medical/chemist/skirt = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/chemist = 2,
/obj/item/storage/backpack/chemistry = 2,
@@ -383,8 +383,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 = 2,
- /obj/item/clothing/under/rank/geneticist/skirt = 2,
+ products = list(/obj/item/clothing/under/rank/medical/geneticist = 2,
+ /obj/item/clothing/under/rank/medical/geneticist/skirt = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/genetics = 2,
/obj/item/storage/backpack/genetics = 2,
@@ -400,8 +400,8 @@
icon_state = "virodrobe"
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/under/rank/virologist = 2,
- /obj/item/clothing/under/rank/virologist/skirt = 2,
+ products = list(/obj/item/clothing/under/rank/medical/virologist = 2,
+ /obj/item/clothing/under/rank/medical/virologist/skirt = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/virologist = 2,
/obj/item/clothing/mask/surgical = 2,
diff --git a/tgstation.dme b/tgstation.dme
index 0d9eaa1483c..64692b2f60e 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1625,15 +1625,24 @@
#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\shorts.dm"
+#include "code\modules\clothing\under\skirt_dress.dm"
+#include "code\modules\clothing\under\suits.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\centcomm.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"
diff --git a/tools/mapmerge2/map_scripts/clothingunderrepath.txt b/tools/mapmerge2/map_scripts/clothingunderrepath.txt
new file mode 100644
index 00000000000..e8ca30935b4
--- /dev/null
+++ b/tools/mapmerge2/map_scripts/clothingunderrepath.txt
@@ -0,0 +1,198 @@
+/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/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/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/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/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/sundress : /obj/item/clothing/under/dress/sundress
+/obj/item/clothing/under/blacktango : /obj/item/clothing/under/dress/blacktango
+/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/redeveninggown : /obj/item/clothing/under/dress/redeveninggown
+/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/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/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/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/suit/black
+/obj/item/clothing/under/lawyer/blacksuit/skirt : /obj/item/clothing/under/suit/black/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/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
+