diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm
index e4a0eba8e1..516dd33cdd 100644
--- a/code/modules/client/preference_setup/general/04_equipment.dm
+++ b/code/modules/client/preference_setup/general/04_equipment.dm
@@ -1,5 +1,5 @@
/datum/category_item/player_setup_item/general/equipment
- name = "Equipment"
+ name = "Clothing"
sort_order = 4
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
@@ -8,7 +8,6 @@
S["socks"] >> pref.socks
S["backbag"] >> pref.backbag
S["pdachoice"] >> pref.pdachoice
- S["gear"] >> pref.gear
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
S["underwear"] << pref.underwear
@@ -16,7 +15,6 @@
S["socks"] << pref.socks
S["backbag"] << pref.backbag
S["pdachoice"] << pref.pdachoice
- S["gear"] << pref.gear
/datum/category_item/player_setup_item/general/equipment/sanitize_character()
pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag))
@@ -32,61 +30,17 @@
if(!get_key_by_value(socks_t, pref.socks))
pref.socks = socks_t[1]
- var/total_cost = 0
- for(var/gear_name in pref.gear)
- if(!gear_datums[gear_name])
- pref.gear -= gear_name
- else if(!(gear_name in valid_gear_choices()))
- pref.gear -= gear_name
- else
- var/datum/gear/G = gear_datums[gear_name]
- if(total_cost + G.cost > MAX_GEAR_COST)
- pref.gear -= gear_name
- else
- total_cost += G.cost
-
/datum/category_item/player_setup_item/general/equipment/content()
- . += "Equipment Loadout:
"
+ . += "Equipment:
"
. += "Underwear: [get_key_by_value(get_undies(),pref.underwear)]
"
. += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)]
"
. += "Socks: [get_key_by_value(socks_t,pref.socks)]
"
. += "Backpack Type: [backbaglist[pref.backbag]]
"
. += "PDA Type: [pdachoicelist[pref.pdachoice]]
"
- . += "
Custom Loadout:
"
- var/total_cost = 0
-
- if(pref.gear && pref.gear.len)
- for(var/i = 1; i <= pref.gear.len; i++)
- var/datum/gear/G = gear_datums[pref.gear[i]]
- if(G)
- total_cost += G.cost
- . += "[pref.gear[i]] ([G.cost] points) Remove
"
-
- . += "Used: [total_cost] points."
- else
- . += "None."
-
- if(total_cost < MAX_GEAR_COST)
- . += " Add"
- if(pref.gear && pref.gear.len)
- . += " Clear"
- . += "
"
-
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
return pref.gender == MALE ? underwear_m : underwear_f
-/datum/category_item/player_setup_item/general/equipment/proc/valid_gear_choices(var/max_cost)
- var/list/valid_gear_choices = list()
- for(var/gear_name in gear_datums)
- var/datum/gear/G = gear_datums[gear_name]
- if(G.whitelisted && !is_alien_whitelisted(preference_mob(), G.whitelisted))
- continue
- if(max_cost && G.cost > max_cost)
- continue
- valid_gear_choices += gear_name
- return valid_gear_choices
-
/datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["change_underwear"])
var/underwear_options = get_undies()
@@ -118,33 +72,4 @@
if(!isnull(new_pdachoice) && CanUseTopic(user))
pref.pdachoice = pdachoicelist.Find(new_pdachoice)
return TOPIC_REFRESH
-
- else if(href_list["add_loadout"])
- var/total_cost = 0
- for(var/gear_name in pref.gear)
- if(gear_datums[gear_name])
- var/datum/gear/G = gear_datums[gear_name]
- total_cost += G.cost
-
- var/choice = input(user, "Select gear to add:", "Character Preference") as null|anything in valid_gear_choices(MAX_GEAR_COST - total_cost)
- if(choice && gear_datums[choice] && CanUseTopic(user))
- var/datum/gear/C = gear_datums[choice]
- total_cost += C.cost
- if(C && total_cost <= MAX_GEAR_COST)
- pref.gear += choice
- user << "Added \the '[choice]' for [C.cost] points ([MAX_GEAR_COST - total_cost] points remaining)."
- else
- user << "Adding \the '[choice]' will exceed the maximum loadout cost of [MAX_GEAR_COST] points."
- return TOPIC_REFRESH
-
- else if(href_list["remove_loadout"])
- var/i_remove = text2num(href_list["remove_loadout"])
- if(i_remove < 1 || i_remove > pref.gear.len) return TOPIC_NOACTION
- pref.gear.Cut(i_remove, i_remove + 1)
- return TOPIC_REFRESH
-
- else if(href_list["clear_loadout"])
- pref.gear.Cut()
- return TOPIC_REFRESH
-
return ..()
diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm
new file mode 100644
index 0000000000..7a9912572b
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout.dm
@@ -0,0 +1,161 @@
+var/list/loadout_categories = list()
+var/list/gear_datums = list()
+
+/datum/loadout_category
+ var/category = ""
+ var/list/gear = list()
+
+/datum/loadout_category/New(var/cat)
+ category = cat
+ ..()
+
+/hook/startup/proc/populate_gear_list()
+
+ //create a list of gear datums to sort
+ for(var/geartype in typesof(/datum/gear)-/datum/gear)
+ var/datum/gear/G = geartype
+
+ var/use_name = initial(G.display_name)
+ var/use_category = initial(G.sort_category)
+
+ if(!use_name)
+ error("Loadout - Missing display name: [G]")
+ continue
+ if(!initial(G.cost))
+ error("Loadout - Missing cost: [G]")
+ continue
+ if(!initial(G.path))
+ error("Loadout - Missing path definition: [G]")
+ continue
+
+ if(!loadout_categories[use_category])
+ loadout_categories[use_category] = new /datum/loadout_category(use_category)
+ var/datum/loadout_category/LC = loadout_categories[use_category]
+ gear_datums[use_name] = new geartype
+ LC.gear[use_name] = gear_datums[use_name]
+
+ loadout_categories = sortAssoc(loadout_categories)
+ for(var/loadout_category in loadout_categories)
+ var/datum/loadout_category/LC = loadout_categories[loadout_category]
+ LC.gear = sortAssoc(LC.gear)
+ return 1
+
+/datum/category_item/player_setup_item/loadout
+ name = "Loadout"
+ sort_order = 1
+ var/current_tab = "General"
+
+/datum/category_item/player_setup_item/loadout/load_character(var/savefile/S)
+ S["gear"] >> pref.gear
+
+/datum/category_item/player_setup_item/loadout/save_character(var/savefile/S)
+ S["gear"] << pref.gear
+
+/datum/category_item/player_setup_item/loadout/proc/valid_gear_choices(var/max_cost)
+ var/list/valid_gear_choices = list()
+ for(var/gear_name in gear_datums)
+ var/datum/gear/G = gear_datums[gear_name]
+ if(G.whitelisted && !is_alien_whitelisted(preference_mob(), G.whitelisted))
+ continue
+ if(max_cost && G.cost > max_cost)
+ continue
+ valid_gear_choices += gear_name
+ return valid_gear_choices
+
+/datum/category_item/player_setup_item/loadout/sanitize_character()
+
+ for(var/gear_name in pref.gear)
+ if(!(gear_name in gear_datums))
+ pref.gear -= gear_name
+
+ var/total_cost = 0
+ for(var/gear_name in pref.gear)
+ if(!gear_datums[gear_name])
+ pref.gear -= gear_name
+ else if(!(gear_name in valid_gear_choices()))
+ pref.gear -= gear_name
+ else
+ var/datum/gear/G = gear_datums[gear_name]
+ if(total_cost + G.cost > MAX_GEAR_COST)
+ pref.gear -= gear_name
+ else
+ total_cost += G.cost
+
+/datum/category_item/player_setup_item/loadout/content()
+ var/total_cost = 0
+ if(pref.gear && pref.gear.len)
+ for(var/i = 1; i <= pref.gear.len; i++)
+ var/datum/gear/G = gear_datums[pref.gear[i]]
+ if(G)
+ total_cost += G.cost
+
+ var/fcolor = "#3366CC"
+ if(total_cost < MAX_GEAR_COST)
+ fcolor = "#E67300"
+ . += "
"
+ . += "| [total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\] |
"
+
+ . += "| "
+ var/firstcat = 1
+ for(var/category in loadout_categories)
+
+ if(firstcat)
+ firstcat = 0
+ else
+ . += " |"
+ if(category == current_tab)
+ . += " [category] "
+ else
+ var/datum/loadout_category/LC = loadout_categories[category]
+ var/tcolor = "#3366CC"
+ for(var/thing in LC.gear)
+ if(thing in pref.gear)
+ tcolor = "#E67300"
+ break
+ . += " [category] "
+ . += " |
"
+
+ var/datum/loadout_category/LC = loadout_categories[current_tab]
+ . += "
|
"
+ . += "| [LC.category] |
"
+ . += "
|
"
+ for(var/gear_name in LC.gear)
+ var/datum/gear/G = LC.gear[gear_name]
+ var/ticked = (G.display_name in pref.gear)
+ var/obj/item/temp = G.path
+ . += "| [initial(temp.name)] | "
+ . += "[G.cost] | "
+ . += "[initial(temp.desc)] |
"
+ . += "
"
+
+/datum/category_item/player_setup_item/loadout/OnTopic(href, href_list, user)
+ if(href_list["toggle_gear"])
+ var/datum/gear/TG = gear_datums[href_list["toggle_gear"]]
+ if(TG.display_name in pref.gear)
+ pref.gear -= TG.display_name
+ else
+ var/total_cost = 0
+ for(var/gear_name in pref.gear)
+ var/datum/gear/G = gear_datums[gear_name]
+ if(istype(G)) total_cost += G.cost
+ if((total_cost+TG.cost) <= MAX_GEAR_COST)
+ pref.gear += TG.display_name
+ return TOPIC_REFRESH
+ else if(href_list["select_category"])
+ current_tab = href_list["select_category"]
+ return TOPIC_REFRESH
+ else if(href_list["clear_loadout"])
+ pref.gear.Cut()
+ return TOPIC_REFRESH
+ return ..()
+
+/datum/gear
+ var/display_name //Name/index. Must be unique.
+ var/path //Path to item.
+ var/cost = 1 //Number of points used. Items in general cost 1 point, storage/armor/gloves/special use costs 2 points.
+ var/slot //Slot to equip to.
+ var/list/allowed_roles //Roles that can spawn with this item.
+ var/whitelisted //Term to check the whitelist for..
+ var/sort_category = "General"
+
+
diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm
new file mode 100644
index 0000000000..3e25595383
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm
@@ -0,0 +1,133 @@
+/datum/gear/accessory
+ display_name = "armband, red"
+ path = /obj/item/clothing/accessory/armband
+ slot = slot_tie
+ sort_category = "Accessories"
+
+/datum/gear/accessory/cargo
+ display_name = "armband, cargo"
+ path = /obj/item/clothing/accessory/armband/cargo
+
+/datum/gear/accessory/emt
+ display_name = "armband, EMT"
+ path = /obj/item/clothing/accessory/armband/medgreen
+
+/datum/gear/accessory/engineering
+ display_name = "armband, engineering"
+ path = /obj/item/clothing/accessory/armband/engine
+
+/datum/gear/accessory/hydroponics
+ display_name = "armband, hydroponics"
+ path = /obj/item/clothing/accessory/armband/hydro
+
+/datum/gear/accessory/medical
+ display_name = "armband, medical"
+ path = /obj/item/clothing/accessory/armband/med
+
+/datum/gear/accessory/science
+ display_name = "armband, science"
+ path = /obj/item/clothing/accessory/armband/science
+
+/datum/gear/accessory/holster
+ display_name = "holster, armpit"
+ path = /obj/item/clothing/accessory/holster/armpit
+ allowed_roles = list("Captain", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective")
+
+/datum/gear/accessory/holster/hip
+ display_name = "holster, hip"
+ path = /obj/item/clothing/accessory/holster/hip
+
+/datum/gear/accessory/holster/waist
+ display_name = "holster, waist"
+ path = /obj/item/clothing/accessory/holster/waist
+
+/datum/gear/accessory/tie
+ display_name = "tie, black"
+ path = /obj/item/clothing/accessory/black
+
+/datum/gear/accessory/tie/blue
+ display_name = "tie, blue"
+ path = /obj/item/clothing/accessory/blue
+
+/datum/gear/accessory/tie/red
+ display_name = "tie, red"
+ path = /obj/item/clothing/accessory/red
+
+/datum/gear/accessory/tie/horrible
+ display_name = "tie, socially disgraceful"
+ path = /obj/item/clothing/accessory/horrible
+
+/datum/gear/accessory/scarf
+ display_name = "scarf"
+ path = /obj/item/clothing/accessory/scarf
+
+/datum/gear/accessory/scarf/red
+ display_name = "scarf, red"
+ path = /obj/item/clothing/accessory/scarf/red
+
+/datum/gear/accessory/scarf/green
+ display_name = "scarf, green"
+ path = /obj/item/clothing/accessory/scarf/green
+
+/datum/gear/accessory/scarf/darkblue
+ display_name = "scarf, dark blue"
+ path = /obj/item/clothing/accessory/scarf/darkblue
+
+/datum/gear/accessory/scarf/purple
+ display_name = "scarf, purple"
+ path = /obj/item/clothing/accessory/scarf/purple
+
+/datum/gear/accessory/scarf/yellow
+ display_name = "scarf, yellow"
+ path = /obj/item/clothing/accessory/scarf/yellow
+
+/datum/gear/accessory/scarf/orange
+ display_name = "scarf, orange"
+ path = /obj/item/clothing/accessory/scarf/orange
+
+/datum/gear/accessory/scarf/lightblue
+ display_name = "scarf, light blue"
+ path = /obj/item/clothing/accessory/scarf/lightblue
+
+/datum/gear/accessory/scarf/white
+ display_name = "scarf, white"
+ path = /obj/item/clothing/accessory/scarf/white
+
+/datum/gear/accessory/scarf/black
+ display_name = "scarf, black"
+ path = /obj/item/clothing/accessory/scarf/black
+
+/datum/gear/accessory/scarf/zebra
+ display_name = "scarf, zebra"
+ path = /obj/item/clothing/accessory/scarf/zebra
+
+/datum/gear/accessory/scarf/christmas
+ display_name = "scarf, christmas"
+ path = /obj/item/clothing/accessory/scarf/christmas
+
+/datum/gear/accessory/scarf/stripedred
+ display_name = "scarf, striped red"
+ path = /obj/item/clothing/accessory/stripedredscarf
+
+/datum/gear/accessory/scarf/stripedgreen
+ display_name = "scarf, striped green"
+ path = /obj/item/clothing/accessory/stripedgreenscarf
+
+/datum/gear/accessory/scarf/stripedblue
+ display_name = "scarf, striped blue"
+ path = /obj/item/clothing/accessory/stripedbluescarf
+
+/datum/gear/accessory/brown_vest
+ display_name = "webbing, engineering"
+ path = /obj/item/clothing/accessory/storage/brown_vest
+ allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer")
+
+/datum/gear/accessory/black_vest
+ display_name = "webbing, security"
+ path = /obj/item/clothing/accessory/storage/black_vest
+ allowed_roles = list("Security Officer","Head of Security","Warden")
+
+/datum/gear/accessory/webbing
+ display_name = "webbing, simple"
+ path = /obj/item/clothing/accessory/storage/webbing
+ cost = 2
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm b/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm
new file mode 100644
index 0000000000..a9b9ddbf2c
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm
@@ -0,0 +1,16 @@
+/datum/gear/lipstick
+ display_name = "lipstick, black"
+ path = /obj/item/weapon/lipstick/black
+ sort_category = "Cosmetics"
+
+/datum/gear/lipstick/jade
+ display_name = "lipstick, jade"
+ path = /obj/item/weapon/lipstick/jade
+
+/datum/gear/lipstick/purple
+ display_name = "lipstick, purple"
+ path = /obj/item/weapon/lipstick/purple
+
+/datum/gear/lipstick/red
+ display_name = "lipstick, red"
+ path = /obj/item/weapon/lipstick
diff --git a/code/modules/client/preference_setup/loadout/loadout_ears.dm b/code/modules/client/preference_setup/loadout/loadout_ears.dm
new file mode 100644
index 0000000000..02bfdaa8b7
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_ears.dm
@@ -0,0 +1,10 @@
+// Stuff worn on the ears. Items here go in the "ears" sort_category but they must not use
+// the slot_r_ear or slot_l_ear as the slot, or else players will spawn with no headset.
+/datum/gear/ears
+ display_name = "earmuffs"
+ path = /obj/item/clothing/ears/earmuffs
+ sort_category = "Earwear"
+
+/datum/gear/ears/headphones
+ display_name = "headphones"
+ path = /obj/item/clothing/ears/earmuffs/headphones
diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes.dm b/code/modules/client/preference_setup/loadout/loadout_eyes.dm
new file mode 100644
index 0000000000..66abf14106
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_eyes.dm
@@ -0,0 +1,58 @@
+// Eyes
+/datum/gear/eyes
+ display_name = "eyepatch"
+ path = /obj/item/clothing/glasses/eyepatch
+ slot = slot_glasses
+ sort_category = "Glasses and Eyewear"
+
+/datum/gear/eyes/glasses
+ display_name = "Glasses, prescription"
+ path = /obj/item/clothing/glasses/regular
+
+/datum/gear/eyes/glasses/green
+ display_name = "Glasses, green"
+ path = /obj/item/clothing/glasses/gglasses
+
+/datum/gear/eyes/glasses/prescriptionhipster
+ display_name = "Glasses, hipster"
+ path = /obj/item/clothing/glasses/regular/hipster
+
+/datum/gear/eyes/glasses/monocle
+ display_name = "Monocle"
+ path = /obj/item/clothing/glasses/monocle
+
+/datum/gear/eyes/scanning_goggles
+ display_name = "scanning goggles"
+ path = /obj/item/clothing/glasses/regular/scanners
+
+/datum/gear/eyes/sciencegoggles
+ display_name = "Science Goggles"
+ path = /obj/item/clothing/glasses/science
+
+/datum/gear/eyes/security
+ display_name = "Security HUD"
+ path = /obj/item/clothing/glasses/hud/security
+ allowed_roles = list("Security Officer","Head of Security","Warden")
+
+/datum/gear/eyes/security/prescriptionsec
+ display_name = "Security HUD, prescription"
+ path = /obj/item/clothing/glasses/hud/security/prescription
+
+/datum/gear/eyes/medical
+ display_name = "Medical HUD"
+ path = /obj/item/clothing/glasses/hud/health
+ allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
+
+/datum/gear/eyes/medical/prescriptionmed
+ display_name = "Medical HUD, prescription"
+ path = /obj/item/clothing/glasses/hud/health/prescription
+
+/datum/gear/eyes/shades
+ display_name = "Sunglasses, fat"
+ path = /obj/item/clothing/glasses/sunglasses/big
+ allowed_roles = list("Security Officer","Head of Security","Warden","Captain","Head of Personnel","Quartermaster","Internal Affairs Agent","Detective")
+
+/datum/gear/eyes/shades/prescriptionsun
+ display_name = "sunglasses, presciption"
+ path = /obj/item/clothing/glasses/sunglasses/prescription
+ cost = 2
diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm
new file mode 100644
index 0000000000..bd7f87e5e5
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_general.dm
@@ -0,0 +1,39 @@
+/datum/gear/cane
+ display_name = "cane"
+ path = /obj/item/weapon/cane
+
+/datum/gear/dice
+ display_name = "d20"
+ path = /obj/item/weapon/dice/d20
+
+/datum/gear/cards
+ display_name = "deck of cards"
+ path = /obj/item/weapon/deck/cards
+
+/datum/gear/tarot
+ display_name = "deck of tarot cards"
+ path = /obj/item/weapon/deck/tarot
+
+/datum/gear/holder
+ display_name = "card holder"
+ path = /obj/item/weapon/deck/holder
+
+/datum/gear/cardemon_pack
+ display_name = "Cardemon booster pack"
+ path = /obj/item/weapon/pack/cardemon
+
+/datum/gear/spaceball_pack
+ display_name = "Spaceball booster pack"
+ path = /obj/item/weapon/pack/spaceball
+
+/datum/gear/flask
+ display_name = "flask"
+ path = /obj/item/weapon/reagent_containers/food/drinks/flask/barflask
+
+/datum/gear/vacflask
+ display_name = "vacuum-flask"
+ path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
+
+/datum/gear/comb
+ display_name = "purple comb"
+ path = /obj/item/weapon/haircomb
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_gloves.dm b/code/modules/client/preference_setup/loadout/loadout_gloves.dm
new file mode 100644
index 0000000000..244977334f
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_gloves.dm
@@ -0,0 +1,51 @@
+// Gloves
+/datum/gear/gloves
+ display_name = "gloves, black"
+ path = /obj/item/clothing/gloves/black
+ cost = 2
+ slot = slot_gloves
+ sort_category = "Gloves and Handwear"
+
+/datum/gear/gloves/blue
+ display_name = "gloves, blue"
+ path = /obj/item/clothing/gloves/blue
+
+/datum/gear/gloves/brown
+ display_name = "gloves, brown"
+ path = /obj/item/clothing/gloves/brown
+
+/datum/gear/gloves/light_brown
+ display_name = "gloves, light-brown"
+ path = /obj/item/clothing/gloves/light_brown
+
+/datum/gear/gloves/green
+ display_name = "gloves, green"
+ path = /obj/item/clothing/gloves/green
+
+/datum/gear/gloves/grey
+ display_name = "gloves, grey"
+ path = /obj/item/clothing/gloves/grey
+
+/datum/gear/gloves/latex
+ display_name = "gloves, latex"
+ path = /obj/item/clothing/gloves/latex
+
+/datum/gear/gloves/orange
+ display_name = "gloves, orange"
+ path = /obj/item/clothing/gloves/orange
+
+/datum/gear/gloves/purple
+ display_name = "gloves, purple"
+ path = /obj/item/clothing/gloves/purple
+
+/datum/gear/gloves/rainbow
+ display_name = "gloves, rainbow"
+ path = /obj/item/clothing/gloves/rainbow
+
+/datum/gear/gloves/red
+ display_name = "gloves, red"
+ path = /obj/item/clothing/gloves/red
+
+/datum/gear/gloves/white
+ display_name = "gloves, white"
+ path = /obj/item/clothing/gloves/white
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_head.dm b/code/modules/client/preference_setup/loadout/loadout_head.dm
new file mode 100644
index 0000000000..a9481db6d9
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_head.dm
@@ -0,0 +1,187 @@
+/datum/gear/head
+ display_name = "bandana, pirate-red"
+ path = /obj/item/clothing/head/bandana
+ slot = slot_head
+ sort_category = "Hats and Headwear"
+
+/datum/gear/head/bandana_green
+ display_name = "bandana, green"
+ path = /obj/item/clothing/head/greenbandana
+
+/datum/gear/head/bandana_orange
+ display_name = "bandana, orange"
+ path = /obj/item/clothing/head/orangebandana
+
+/datum/gear/head/beret
+ display_name = "beret, red"
+ path = /obj/item/clothing/head/beret
+
+/datum/gear/head/beret/bsec
+ display_name = "beret, navy (officer)"
+ path = /obj/item/clothing/head/beret/sec/navy/officer
+ allowed_roles = list("Security Officer","Head of Security","Warden")
+
+/datum/gear/head/beret/bsec_warden
+ display_name = "beret, navy (warden)"
+ path = /obj/item/clothing/head/beret/sec/navy/warden
+ allowed_roles = list("Head of Security","Warden")
+
+/datum/gear/head/beret/bsec_hos
+ display_name = "beret, navy (hos)"
+ path = /obj/item/clothing/head/beret/sec/navy/hos
+ allowed_roles = list("Head of Security")
+
+/datum/gear/head/beret/eng
+ display_name = "beret, engie-orange"
+ path = /obj/item/clothing/head/beret/engineering
+
+/datum/gear/head/beret/purp
+ display_name = "beret, purple"
+ path = /obj/item/clothing/head/beret/purple
+
+/datum/gear/head/beret/sec
+ display_name = "beret, red (security)"
+ path = /obj/item/clothing/head/beret/sec
+ allowed_roles = list("Security Officer","Head of Security","Warden")
+
+/datum/gear/head/cap
+ display_name = "cap, black"
+ path = /obj/item/clothing/head/soft/black
+
+/datum/gear/head/cap/blue
+ display_name = "cap, blue"
+ path = /obj/item/clothing/head/soft/blue
+
+/datum/gear/head/cap/mailman
+ display_name = "cap, blue station"
+ path = /obj/item/clothing/head/mailman
+
+/datum/gear/head/cap/flat
+ display_name = "cap, brown-flat"
+ path = /obj/item/clothing/head/flatcap
+
+/datum/gear/head/cap/corp
+ display_name = "cap, corporate (Security)"
+ path = /obj/item/clothing/head/soft/sec/corp
+ allowed_roles = list("Security Officer","Head of Security","Warden", "Detective")
+
+/datum/gear/head/cap/green
+ display_name = "cap, green"
+ path = /obj/item/clothing/head/soft/green
+
+/datum/gear/head/cap/grey
+ display_name = "cap, grey"
+ path = /obj/item/clothing/head/soft/grey
+
+/datum/gear/head/cap/orange
+ display_name = "cap, orange"
+ path = /obj/item/clothing/head/soft/orange
+
+/datum/gear/head/cap/orange
+ display_name = "cap, purple"
+ path = /obj/item/clothing/head/soft/purple
+
+/datum/gear/head/cap/rainbow
+ display_name = "cap, rainbow"
+ path = /obj/item/clothing/head/soft/rainbow
+
+/datum/gear/head/cap/red
+ display_name = "cap, red"
+ path = /obj/item/clothing/head/soft/red
+
+/datum/gear/head/cap/sec
+ display_name = "cap, security (Security)"
+ path = /obj/item/clothing/head/soft/sec
+ allowed_roles = list("Security Officer","Head of Security","Warden", "Detective")
+
+/datum/gear/head/cap/yellow
+ display_name = "cap, yellow"
+ path = /obj/item/clothing/head/soft/yellow
+
+/datum/gear/head/cap/white
+ display_name = "cap, white"
+ path = /obj/item/clothing/head/soft/mime
+
+/datum/gear/head/cowboy
+ display_name = "cowboy, rodeo"
+ path = /obj/item/clothing/head/cowboy_hat
+ cost = 3
+
+/datum/gear/head/hairflower
+ display_name = "hair flower pin, red"
+ path = /obj/item/clothing/head/hairflower
+
+/datum/gear/head/hairflower/yellow
+ display_name = "hair flower pin, yellow"
+ path = /obj/item/clothing/head/hairflower/yellow
+
+/datum/gear/head/hairflower/pink
+ display_name = "hair flower pin, pink"
+ path = /obj/item/clothing/head/hairflower/pink
+
+/datum/gear/head/hairflower/blue
+ display_name = "hair flower pin, blue"
+ path = /obj/item/clothing/head/hairflower/blue
+
+/datum/gear/head/hairflower/violet
+ display_name = "hair flower pin, violet"
+ path = /obj/item/clothing/head/hairflower/violet
+
+/datum/gear/head/hairflower/orange
+ display_name = "hair flower pin, orange"
+ path = /obj/item/clothing/head/hairflower/orange
+
+/datum/gear/head/hardhat
+ display_name = "hardhat, yellow"
+ path = /obj/item/clothing/head/hardhat
+ cost = 2
+
+/datum/gear/head/hardhat/blue
+ display_name = "hardhat, blue"
+ path = /obj/item/clothing/head/hardhat/dblue
+
+/datum/gear/head/hardhat/orange
+ display_name = "hardhat, orange"
+ path = /obj/item/clothing/head/hardhat/orange
+
+/datum/gear/head/hardhat/red
+ display_name = "hardhat, red"
+ path = /obj/item/clothing/head/hardhat/red
+
+/datum/gear/head/boater
+ display_name = "hat, boatsman"
+ path = /obj/item/clothing/head/boaterhat
+
+/datum/gear/head/bowler
+ display_name = "hat, bowler"
+ path = /obj/item/clothing/head/bowler
+
+/datum/gear/head/fez
+ display_name = "hat, fez"
+ path = /obj/item/clothing/head/fez
+
+/datum/gear/head/tophat
+ display_name = "hat, tophat"
+ path = /obj/item/clothing/head/that
+
+/datum/gear/head/philosopher_wig
+ display_name = "natural philosopher's wig"
+ path = /obj/item/clothing/head/philosopher_wig
+
+/datum/gear/head/ushanka
+ display_name = "ushanka"
+ path = /obj/item/clothing/head/ushanka
+
+/datum/gear/head/santahat
+ display_name = "santa hat, red (holiday)"
+ path = /obj/item/clothing/head/santa
+ cost = 11
+
+/datum/gear/head/santahat/green
+ display_name = "santa hat, green (holiday)"
+ path = /obj/item/clothing/head/santa/green
+
+/datum/gear/head/zhan_scarf
+ display_name = "Zhan headscarf"
+ path = /obj/item/clothing/head/tajaran/scarf
+ whitelisted = "Tajara"
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_mask.dm b/code/modules/client/preference_setup/loadout/loadout_mask.dm
new file mode 100644
index 0000000000..5ae0b96e2b
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_mask.dm
@@ -0,0 +1,23 @@
+// Mask
+/datum/gear/mask
+ display_name = "bandana, blue"
+ path = /obj/item/clothing/mask/bandana/blue
+ slot = slot_wear_mask
+ sort_category = "Masks and Facewear"
+
+/datum/gear/mask/gold
+ display_name = "bandana, gold"
+ path = /obj/item/clothing/mask/bandana/gold
+
+/datum/gear/mask/green
+ display_name = "bandana, green 2"
+ path = /obj/item/clothing/mask/bandana/green
+
+/datum/gear/mask/red
+ display_name = "bandana, red"
+ path = /obj/item/clothing/mask/bandana/red
+
+/datum/gear/mask/sterile
+ display_name = "sterile mask"
+ path = /obj/item/clothing/mask/surgical
+ cost = 2
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_shoes.dm b/code/modules/client/preference_setup/loadout/loadout_shoes.dm
new file mode 100644
index 0000000000..80912e2581
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_shoes.dm
@@ -0,0 +1,98 @@
+// Shoelocker
+/datum/gear/shoes
+ display_name = "jackboots"
+ path = /obj/item/clothing/shoes/jackboots
+ slot = slot_shoes
+ sort_category = "Shoes and Footwear"
+
+/datum/gear/shoes/toeless
+ display_name = "toe-less jackboots"
+ path = /obj/item/clothing/shoes/jackboots/unathi
+
+/datum/gear/shoes/workboots
+ display_name = "workboots"
+ path = /obj/item/clothing/shoes/workboots
+
+/datum/gear/shoes/sandals
+ display_name = "sandals"
+ path = /obj/item/clothing/shoes/sandal
+
+/datum/gear/shoes/black
+ display_name = "shoes, black"
+ path = /obj/item/clothing/shoes/black
+
+/datum/gear/shoes/blue
+ display_name = "shoes, blue"
+ path = /obj/item/clothing/shoes/blue
+
+/datum/gear/shoes/brown
+ display_name = "shoes, brown"
+ path = /obj/item/clothing/shoes/brown
+
+/datum/gear/shoes/lacey
+ display_name = "shoes, classy"
+ path = /obj/item/clothing/shoes/laceup
+
+/datum/gear/shoes/dress
+ display_name = "shoes, dress"
+ path = /obj/item/clothing/shoes/laceup
+
+/datum/gear/shoes/green
+ display_name = "shoes, green"
+ path = /obj/item/clothing/shoes/green
+
+/datum/gear/shoes/leather
+ display_name = "shoes, leather"
+ path = /obj/item/clothing/shoes/leather
+
+/datum/gear/shoes/orange
+ display_name = "shoes, orange"
+ path = /obj/item/clothing/shoes/orange
+
+/datum/gear/shoes/purple
+ display_name = "shoes, purple"
+ path = /obj/item/clothing/shoes/purple
+
+/datum/gear/shoes/rainbow
+ display_name = "shoes, rainbow"
+ path = /obj/item/clothing/shoes/rainbow
+
+/datum/gear/shoes/red
+ display_name = "shoes, red"
+ path = /obj/item/clothing/shoes/red
+
+/datum/gear/shoes/white
+ display_name = "shoes, white"
+ path = /obj/item/clothing/shoes/white
+
+/datum/gear/shoes/yellow
+ display_name = "shoes, yellow"
+ path = /obj/item/clothing/shoes/yellow
+
+/datum/gear/shoes/flats
+ display_name = "flats, black"
+ path = /obj/item/clothing/shoes/flats
+
+/datum/gear/shoes/flats/blue
+ display_name = "flats, blue"
+ path = /obj/item/clothing/shoes/flats/blue
+
+/datum/gear/shoes/flats/brown
+ display_name = "flats, brown"
+ path = /obj/item/clothing/shoes/flats/brown
+
+/datum/gear/shoes/flats/orange
+ display_name = "flats, orange"
+ path = /obj/item/clothing/shoes/flats/orange
+
+/datum/gear/shoes/flats/purple
+ display_name = "flats, purple"
+ path = /obj/item/clothing/shoes/flats/purple
+
+/datum/gear/shoes/flats/red
+ display_name = "flats, red"
+ path = /obj/item/clothing/shoes/flats/red
+
+/datum/gear/shoes/flats/white
+ display_name = "flats, white"
+ path = /obj/item/clothing/shoes/flats/white
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_smoking.dm b/code/modules/client/preference_setup/loadout/loadout_smoking.dm
new file mode 100644
index 0000000000..f54279066d
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_smoking.dm
@@ -0,0 +1,19 @@
+/datum/gear/smokingpipe
+ display_name = "pipe, smoking"
+ path = /obj/item/clothing/mask/smokable/pipe
+
+/datum/gear/cornpipe
+ display_name = "pipe, corn"
+ path = /obj/item/clothing/mask/smokable/pipe/cobpipe
+
+/datum/gear/matchbook
+ display_name = "matchbook"
+ path = /obj/item/weapon/storage/box/matches
+
+/datum/gear/zippo
+ display_name = "zippo"
+ path = /obj/item/weapon/flame/lighter/zippo
+
+/datum/gear/ashtray
+ display_name = "ashtray, plastic"
+ path = /obj/item/weapon/material/ashtray/plastic
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm
new file mode 100644
index 0000000000..20511caa86
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm
@@ -0,0 +1,194 @@
+// Suit slot
+/datum/gear/suit
+ display_name = "apron, blue"
+ path = /obj/item/clothing/suit/apron
+ slot = slot_wear_suit
+ sort_category = "Suits and Overwear"
+ cost = 2
+
+/datum/gear/suit/leather_coat
+ display_name = "leather coat"
+ path = /obj/item/clothing/suit/leathercoat
+
+/datum/gear/suit/puffer_coat
+ display_name = "puffer coat"
+ path = /obj/item/clothing/suit/jacket/puffer
+
+/datum/gear/suit/puffer_vest
+ display_name = "puffer vest"
+ path = /obj/item/clothing/suit/jacket/puffer/vest
+
+/datum/gear/suit/bomber
+ display_name = "bomber jacket"
+ path = /obj/item/clothing/suit/storage/toggle/bomber
+
+/datum/gear/suit/bomber_alt
+ display_name = "bomber jacket 2"
+ path = /obj/item/clothing/suit/storage/bomber/alt
+
+/datum/gear/suit/leather_jacket
+ display_name = "leather jacket, black"
+ path = /obj/item/clothing/suit/storage/leather_jacket
+
+/datum/gear/suit/leather_jacket_alt
+ display_name = "leather jacket 2, black"
+ path = /obj/item/clothing/suit/storage/leather_jacket/alt
+
+/datum/gear/suit/leather_jacket_nt
+ display_name = "leather jacket, corporate, black"
+ path = /obj/item/clothing/suit/storage/leather_jacket/nanotrasen
+
+/datum/gear/suit/brown_jacket
+ display_name = "leather jacket, brown"
+ path = /obj/item/clothing/suit/storage/toggle/brown_jacket
+
+/datum/gear/suit/brown_jacket_nt
+ display_name = "leather jacket, corporate, brown"
+ path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
+
+/datum/gear/suit/mil
+ display_name = "military jacket"
+ path = /obj/item/clothing/suit/storage/miljacket
+
+/datum/gear/suit/mil/alt
+ display_name = "military jacket, alt"
+ path = /obj/item/clothing/suit/storage/miljacket/alt
+
+/datum/gear/suit/hazard_vest
+ display_name = "hazard vest"
+ path = /obj/item/clothing/suit/storage/hazardvest
+
+/datum/gear/suit/hoodie
+ display_name = "hoodie, grey"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie
+
+/datum/gear/suit/hoodie/red
+ display_name = "hoodie, red"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/red
+
+/datum/gear/suit/hoodie/blue
+ display_name = "hoodie, blue"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/blue
+
+/datum/gear/suit/hoodie/yellow
+ display_name = "hoodie, yellow"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/yellow
+
+/datum/gear/suit/hoodie/green
+ display_name = "hoodie, green"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/green
+
+/datum/gear/suit/hoodie/orange
+ display_name = "hoodie, orange"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/orange
+
+/datum/gear/suit/hoodie/black
+ display_name = "hoodie, black"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/black
+
+/datum/gear/suit/hoodie/cti
+ display_name = "hoodie, CTI"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/cti
+
+/datum/gear/suit/hoodie/mu
+ display_name = "hoodie, MU"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/mu
+
+/datum/gear/suit/hoodie/nt
+ display_name = "hoodie, NT"
+ path = /obj/item/clothing/suit/storage/toggle/hoodie/nt
+
+/datum/gear/suit/labcoat
+ display_name = "labcoat"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat
+
+/datum/gear/suit/labcoat/blue
+ display_name = "labcoat, blue"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/blue
+
+/datum/gear/suit/labcoat/green
+ display_name = "labcoat, green"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/green
+
+/datum/gear/suit/labcoat/orange
+ display_name = "labcoat, orange"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/orange
+
+/datum/gear/suit/labcoat/purple
+ display_name = "labcoat, purple"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/purple
+
+/datum/gear/suit/labcoat/pink
+ display_name = "labcoat, pink"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/pink
+
+/datum/gear/suit/labcoat/red
+ display_name = "labcoat, red"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/red
+
+/datum/gear/suit/labcoat/yellow
+ display_name = "labcoat, yellow"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/yellow
+
+/datum/gear/suit/labcoat/emt
+ display_name = "labcoat, EMT (Medical)"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/emt
+ allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
+
+/datum/gear/suit/overalls
+ display_name = "overalls"
+ path = /obj/item/clothing/suit/apron/overalls
+ cost = 1
+
+/datum/gear/suit/poncho
+ display_name = "poncho, tan"
+ path = /obj/item/clothing/suit/poncho
+ cost = 1
+
+/datum/gear/suit/poncho/blue
+ display_name = "poncho, blue"
+ path = /obj/item/clothing/suit/poncho/blue
+
+/datum/gear/suit/poncho/green
+ display_name = "poncho, green"
+ path = /obj/item/clothing/suit/poncho/green
+
+/datum/gear/suit/poncho/purple
+ display_name = "poncho, purple"
+ path = /obj/item/clothing/suit/poncho/purple
+
+/datum/gear/suit/poncho/red
+ display_name = "poncho, red"
+ path = /obj/item/clothing/suit/poncho/red
+
+/datum/gear/suit/unathi_robe
+ display_name = "roughspun robe"
+ path = /obj/item/clothing/suit/unathi/robe
+ cost = 1
+
+/datum/gear/suit/blue_lawyer_jacket
+ display_name = "suit jacket, blue"
+ path = /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket
+
+/datum/gear/suit/purple_lawyer_jacket
+ display_name = "suit jacket, purple"
+ path = /obj/item/clothing/suit/storage/lawyer/purpjacket
+
+/datum/gear/suit/suspenders
+ display_name = "suspenders"
+ path = /obj/item/clothing/suit/suspenders
+
+/datum/gear/suit/wcoat
+ display_name = "waistcoat"
+ path = /obj/item/clothing/suit/wcoat
+ cost = 1
+
+/datum/gear/suit/forensics
+ display_name = "forensics long, red"
+ path = /obj/item/clothing/suit/storage/forensics/red/long
+ allowed_roles = list("Detective")
+
+/datum/gear/suit/forensics/blue
+ display_name = "forensics long, blue"
+ path = /obj/item/clothing/suit/storage/forensics/blue/long
+ allowed_roles = list("Detective")
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm
new file mode 100644
index 0000000000..59c917f9af
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm
@@ -0,0 +1,392 @@
+// Uniform slot
+/datum/gear/uniform
+ display_name = "blazer, blue"
+ path = /obj/item/clothing/under/blazer
+ slot = slot_w_uniform
+ sort_category = "Uniforms and Casual Dress"
+
+/datum/gear/uniform/cheongsam
+ display_name = "cheongsam, white"
+ path = /obj/item/clothing/under/cheongsam
+
+/datum/gear/uniform/kilt
+ display_name = "kilt"
+ path = /obj/item/clothing/under/kilt
+
+/datum/gear/uniform/croptop
+ display_name = "croptop, NT"
+ path = /obj/item/clothing/under/croptop
+
+/datum/gear/uniform/croptop/grey
+ display_name = "croptop, grey"
+ path = /obj/item/clothing/under/croptop/grey
+
+/datum/gear/uniform/croptop/red
+ display_name = "croptop, red"
+ path = /obj/item/clothing/under/croptop/red
+
+/datum/gear/uniform/cuttop
+ display_name = "cut top, grey"
+ path = /obj/item/clothing/under/cuttop
+
+/datum/gear/uniform/cuttop/red
+ display_name = "cut top, red"
+ path = /obj/item/clothing/under/cuttop/red
+
+/datum/gear/uniform/blackfjumpsuit
+ display_name = "jumpsuit, female-black"
+ path = /obj/item/clothing/under/color/blackf
+
+/datum/gear/uniform/jumpskirt
+ display_name = "jumpskirt, black"
+ path = /obj/item/clothing/under/blackjumpskirt
+
+/datum/gear/uniform/jumpsuit
+ display_name = "jumpsuit, rainbow"
+ path = /obj/item/clothing/under/rainbow
+
+/datum/gear/uniform/jumpsuit/blue
+ display_name = "jumpsuit, blue"
+ path = /obj/item/clothing/under/color/blue
+
+/datum/gear/uniform/jumpsuit/green
+ display_name = "jumpsuit, green"
+ path = /obj/item/clothing/under/color/green
+
+/datum/gear/uniform/jumpsuit/grey
+ display_name = "jumpsuit, grey"
+ path = /obj/item/clothing/under/color/grey
+
+/datum/gear/uniform/jumpsuit/pink
+ display_name = "jumpsuit, pink"
+ path = /obj/item/clothing/under/color/pink
+
+/datum/gear/uniform/jumpsuit/white
+ display_name = "jumpsuit, white"
+ path = /obj/item/clothing/under/color/white
+
+/datum/gear/uniform/jumpsuit/yellow
+ display_name = "jumpsuit, yellow"
+ path = /obj/item/clothing/under/color/yellow
+
+/datum/gear/uniform/jumpsuit/lightblue
+ display_name = "jumpsuit, lightblue"
+ path = /obj/item/clothing/under/lightblue
+
+/datum/gear/uniform/jumpsuit/red
+ display_name = "jumpsuit, red"
+ path = /obj/item/clothing/under/color/red
+
+/datum/gear/uniform/skirt
+ display_name = "plaid skirt, blue"
+ path = /obj/item/clothing/under/dress/plaid_blue
+
+/datum/gear/uniform/skirt/purple
+ display_name = "plaid skirt, purple"
+ path = /obj/item/clothing/under/dress/plaid_purple
+
+/datum/gear/uniform/skirt/red
+ display_name = "plaid skirt, red"
+ path = /obj/item/clothing/under/dress/plaid_red
+
+/datum/gear/uniform/skirt/black
+ display_name = "skirt, black"
+ path = /obj/item/clothing/under/blackskirt
+
+/datum/gear/uniform/skirt/ce
+ display_name = "skirt, ce"
+ path = /obj/item/clothing/under/rank/chief_engineer/skirt
+ allowed_roles = list("Chief Engineer")
+
+/datum/gear/uniform/skirt/atmos
+ display_name = "skirt, atmos"
+ path = /obj/item/clothing/under/rank/atmospheric_technician/skirt
+ allowed_roles = list("Chief Engineer","Atmospheric Technician")
+
+/datum/gear/uniform/skirt/eng
+ display_name = "skirt, engineer"
+ path = /obj/item/clothing/under/rank/engineer/skirt
+ allowed_roles = list("Chief Engineer","Station Engineer")
+
+/datum/gear/uniform/skirt/cmo
+ display_name = "skirt, cmo"
+ path = /obj/item/clothing/under/rank/chief_medical_officer
+ allowed_roles = list("Chief Medical Officer")
+
+/datum/gear/uniform/skirt/chem
+ display_name = "skirt, chemist"
+ path = /obj/item/clothing/under/rank/chemist/skirt
+ allowed_roles = list("Chief Medical Officer","Chemist")
+
+/datum/gear/uniform/skirt/viro
+ display_name = "skirt, virologist"
+ path = /obj/item/clothing/under/rank/virologist/skirt
+ allowed_roles = list("Chief Medical Officer","Medical Doctor")
+
+/datum/gear/uniform/skirt/med
+ display_name = "skirt, medical"
+ path = /obj/item/clothing/under/rank/medical/skirt
+ allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic")
+
+/datum/gear/uniform/skirt/sci
+ display_name = "skirt, scientist"
+ path = /obj/item/clothing/under/rank/scientist/skirt
+ allowed_roles = list("Research Director","Scientist")
+
+/datum/gear/uniform/skirt/cargo
+ display_name = "skirt, cargo"
+ path = /obj/item/clothing/under/rank/cargotech/skirt
+ allowed_roles = list("Quartermaster","Cargo Technician")
+
+/datum/gear/uniform/skirt/qm
+ display_name = "skirt, QM"
+ path = /obj/item/clothing/under/rank/cargo/skirt
+ allowed_roles = list("Quartermaster")
+
+/datum/gear/uniform/jeans_qm
+ display_name = "jeans, QM"
+ path = /obj/item/clothing/under/rank/cargo/jeans
+ allowed_roles = list("Quartermaster")
+
+/datum/gear/uniform/jeans_qmf
+ display_name = "female jeans, QM"
+ path = /obj/item/clothing/under/rank/cargo/jeans/female
+ allowed_roles = list("Quartermaster")
+
+/datum/gear/uniform/jeans_cargo
+ display_name = "jeans, cargo"
+ path = /obj/item/clothing/under/rank/cargotech/jeans
+ allowed_roles = list("Quartermaster","Cargo Technician")
+
+/datum/gear/uniform/jeans_cargof
+ display_name = "female jeans, cargo"
+ path = /obj/item/clothing/under/rank/cargotech/jeans/female
+ allowed_roles = list("Quartermaster","Cargo Technician")
+
+/datum/gear/uniform/pants
+ display_name = "pants, white"
+ path = /obj/item/clothing/under/pants/white
+
+/datum/gear/uniform/pants/red
+ display_name = "pants, red"
+ path = /obj/item/clothing/under/pants/red
+
+/datum/gear/uniform/pants/black
+ display_name = "pants, black"
+ path = /obj/item/clothing/under/pants/black
+
+/datum/gear/uniform/pants/tan
+ display_name = "pants, tan"
+ path = /obj/item/clothing/under/pants/tan
+
+/datum/gear/uniform/pants/track
+ display_name = "pants, track"
+ path = /obj/item/clothing/under/pants/track
+
+/datum/gear/uniform/pants/khaki
+ display_name = "pants, khaki"
+ path = /obj/item/clothing/under/pants/khaki
+
+/datum/gear/uniform/pants/camo
+ display_name = "pants, camo"
+ path = /obj/item/clothing/under/pants/camo
+
+/datum/gear/uniform/pants/jeans
+ display_name = "pants, jeans"
+ path = /obj/item/clothing/under/pants/jeans
+
+/datum/gear/uniform/pants/jeans/classic
+ display_name = "pants, classic jeans"
+ path = /obj/item/clothing/under/pants/classicjeans
+
+/datum/gear/uniform/pants/jeans/mustang
+ display_name = "pants, mustang jeans"
+ path = /obj/item/clothing/under/pants/mustangjeans
+
+/datum/gear/uniform/pants/jeans/black
+ display_name = "pants, black jeans"
+ path = /obj/item/clothing/under/pants/blackjeans
+
+/datum/gear/uniform/pants/jeans/youngfolks
+ display_name = "pants, young folks jeans"
+ path = /obj/item/clothing/under/pants/youngfolksjeans
+
+/datum/gear/uniform/jeans
+ display_name = "shorts, jeans"
+ path = /obj/item/clothing/under/shorts/jeans
+
+/datum/gear/uniform/jeans/classic
+ display_name = "shorts, classic jeans"
+ path = /obj/item/clothing/under/shorts/jeans/classic
+
+/datum/gear/uniform/jeans/mustang
+ display_name = "shorts, mustang jeans"
+ path = /obj/item/clothing/under/shorts/jeans/mustang
+
+/datum/gear/uniform/jeans/youngfolks
+ display_name = "shorts, young folks jeans"
+ path = /obj/item/clothing/under/shorts/jeans/youngfolks
+
+/datum/gear/uniform/jeans/black
+ display_name = "shorts, black jeans"
+ path = /obj/item/clothing/under/shorts/jeans/black
+
+/datum/gear/uniform/jeans/female
+ display_name = "shorts, female, jeans"
+ path = /obj/item/clothing/under/shorts/jeans/female
+
+/datum/gear/uniform/jeans/classic/female
+ display_name = "shorts, female, classic jeans"
+ path = /obj/item/clothing/under/shorts/jeans/classic/female
+
+/datum/gear/uniform/jeans/mustang/female
+ display_name = "shorts, female, mustang jeans"
+ path = /obj/item/clothing/under/shorts/jeans/mustang/female
+
+/datum/gear/uniform/jeans/youngfolks/female
+ display_name = "shorts, female, young folks jeans"
+ path = /obj/item/clothing/under/shorts/jeans/youngfolks/female
+
+/datum/gear/uniform/jeans/black/female
+ display_name = "shorts, female, black jeans"
+ path = /obj/item/clothing/under/shorts/jeans/black/female
+
+/datum/gear/uniform/khaki
+ display_name = "shorts, khaki"
+ path = /obj/item/clothing/under/shorts/khaki
+
+/datum/gear/uniform/khaki/female
+ display_name = "shorts, female, khaki"
+ path = /obj/item/clothing/under/shorts/khaki/female
+
+/datum/gear/uniform/suit //amish
+ display_name = "suit, amish"
+ path = /obj/item/clothing/under/sl_suit
+
+/datum/gear/uniform/suit/black
+ display_name = "suit, black"
+ path = /obj/item/clothing/under/suit_jacket
+
+/datum/gear/uniform/suit/shinyblack
+ display_name = "suit, shiny-black"
+ path = /obj/item/clothing/under/lawyer/black
+
+/datum/gear/uniform/suit/blue
+ display_name = "suit, blue"
+ path = /obj/item/clothing/under/lawyer/blue
+
+/datum/gear/uniform/suit/burgundy
+ display_name = "suit, burgundy"
+ path = /obj/item/clothing/under/suit_jacket/burgundy
+
+/datum/gear/uniform/suit/checkered
+ display_name = "suit, checkered"
+ path = /obj/item/clothing/under/suit_jacket/checkered
+
+/datum/gear/uniform/suit/charcoal
+ display_name = "suit, charcoal"
+ path = /obj/item/clothing/under/suit_jacket/charcoal
+
+/datum/gear/uniform/suit/exec
+ display_name = "suit, executive"
+ path = /obj/item/clothing/under/suit_jacket/really_black
+
+/datum/gear/uniform/suit/femaleexec
+ display_name = "suit, female-executive"
+ path = /obj/item/clothing/under/suit_jacket/female
+
+/datum/gear/uniform/suit/gentle
+ display_name = "suit, gentlemen"
+ path = /obj/item/clothing/under/gentlesuit
+
+/datum/gear/uniform/suit/navy
+ display_name = "suit, navy"
+ path = /obj/item/clothing/under/suit_jacket/navy
+
+/datum/gear/uniform/suit/red
+ display_name = "suit, red"
+ path = /obj/item/clothing/under/suit_jacket/red
+
+/datum/gear/uniform/suit/redlawyer
+ display_name = "suit, lawyer-red"
+ path = /obj/item/clothing/under/lawyer/red
+
+/datum/gear/uniform/suit/oldman
+ display_name = "suit, old-man"
+ path = /obj/item/clothing/under/lawyer/oldman
+
+/datum/gear/uniform/suit/purple
+ display_name = "suit, purple"
+ path = /obj/item/clothing/under/lawyer/purpsuit
+
+/datum/gear/uniform/suit/tan
+ display_name = "suit, tan"
+ path = /obj/item/clothing/under/suit_jacket/tan
+
+/datum/gear/uniform/suit/white
+ display_name = "suit, white"
+ path = /obj/item/clothing/under/scratch
+
+/datum/gear/uniform/suit/whiteblue
+ display_name = "suit, white-blue"
+ path = /obj/item/clothing/under/lawyer/bluesuit
+
+/datum/gear/uniform/scrubs
+ display_name = "scrubs, black"
+ path = /obj/item/clothing/under/rank/medical/black
+ allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
+
+/datum/gear/uniform/scrubs/blue
+ display_name = "scrubs, blue"
+ path = /obj/item/clothing/under/rank/medical/blue
+
+/datum/gear/uniform/scrubs/purple
+ display_name = "scrubs, purple"
+ path = /obj/item/clothing/under/rank/medical/purple
+
+/datum/gear/uniform/scrubs/green
+ display_name = "scrubs, green"
+ path = /obj/item/clothing/under/rank/medical/green
+
+/datum/gear/uniform/sundress
+ display_name = "sundress"
+ path = /obj/item/clothing/under/sundress
+
+/datum/gear/uniform/sundress/white
+ display_name = "sundress, white"
+ path = /obj/item/clothing/under/sundress_white
+
+/datum/gear/uniform/dress_fire
+ display_name = "flame dress"
+ path = /obj/item/clothing/under/dress/dress_fire
+
+/datum/gear/uniform/uniform_captain
+ display_name = "uniform, captain's dress"
+ path = /obj/item/clothing/under/dress/dress_cap
+ allowed_roles = list("Captain")
+
+/datum/gear/uniform/corpdetsuit
+ display_name = "uniform, corporate (Detective)"
+ path = /obj/item/clothing/under/det/corporate
+ allowed_roles = list("Detective","Head of Security")
+
+/datum/gear/uniform/corpsecsuit
+ display_name = "uniform, corporate (Security)"
+ path = /obj/item/clothing/under/rank/security/corp
+ allowed_roles = list("Security Officer","Head of Security","Warden")
+
+/datum/gear/uniform/uniform_hop
+ display_name = "uniform, HoP's dress"
+ path = /obj/item/clothing/under/dress/dress_hop
+ allowed_roles = list("Head of Personnel")
+
+/datum/gear/uniform/uniform_hr
+ display_name = "uniform, HR director (HoP)"
+ path = /obj/item/clothing/under/dress/dress_hr
+
+ allowed_roles = list("Head of Personnel")
+
+/datum/gear/uniform/navysecsuit
+ display_name = "uniform, navyblue (Security)"
+ path = /obj/item/clothing/under/rank/security/navyblue
+ allowed_roles = list("Security Officer","Head of Security","Warden")
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm
new file mode 100644
index 0000000000..d5cddbc937
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm
@@ -0,0 +1,37 @@
+// "Useful" items - I'm guessing things that might be used at work?
+/datum/gear/utility
+ display_name = "briefcase"
+ path = /obj/item/weapon/storage/briefcase
+ sort_category = "Utility"
+
+/datum/gear/utility/clipboard
+ display_name = "clipboard"
+ path = /obj/item/weapon/clipboard
+
+/datum/gear/utility/communicator
+ display_name = "personal communicator"
+ path = /obj/item/device/communicator
+
+/datum/gear/utility/folder_blue
+ display_name = "folder, blue"
+ path = /obj/item/weapon/folder/blue
+
+/datum/gear/utility/folder_grey
+ display_name = "folder, grey"
+ path = /obj/item/weapon/folder
+
+/datum/gear/utility/folder_red
+ display_name = "folder, red"
+ path = /obj/item/weapon/folder/red
+
+/datum/gear/utility/folder_white
+ display_name = "folder, white"
+ path = /obj/item/weapon/folder/white
+
+/datum/gear/utility/folder_yellow
+ display_name = "folder, yellow"
+ path = /obj/item/weapon/folder/yellow
+
+/datum/gear/utility/paicard
+ display_name = "personal AI device"
+ path = /obj/item/device/paicard
diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm
new file mode 100644
index 0000000000..8ff1003214
--- /dev/null
+++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm
@@ -0,0 +1,99 @@
+// Alien clothing.
+/datum/gear/suit/zhan_furs
+ display_name = "Zhan-Khazan furs (Tajara)"
+ path = /obj/item/clothing/suit/tajaran/furs
+ whitelisted = "Tajara"
+ sort_category = "Xenowear"
+
+/datum/gear/suit/unathi_mantle
+ display_name = "hide mantle (Unathi)"
+ path = /obj/item/clothing/suit/unathi/mantle
+ cost = 1
+ whitelisted = "Unathi"
+ sort_category = "Xenowear"
+
+/datum/gear/ears/skrell
+ display_name = "headtail-wear, female, chain (Skrell)"
+ path = /obj/item/clothing/ears/skrell/chain
+ sort_category = "Xenowear"
+ whitelisted = "Skrell"
+
+/datum/gear/ears/skrell/plate
+ display_name = "headtail-wear, male, bands (Skrell)"
+ path = /obj/item/clothing/ears/skrell/band
+
+/datum/gear/ears/skrell/cloth //male/red
+ display_name = "headtail-wear, male, red, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_male
+
+/datum/gear/ears/skrell/cloth/male //black
+ display_name = "headtail-wear, male, black, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_male/black
+
+/datum/gear/ears/skrell/cloth/male/blue
+ display_name = "headtail-wear, male, blue, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_male/blue
+
+/datum/gear/ears/skrell/cloth/male/green
+ display_name = "headtail-wear, male, green, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_male/green
+
+/datum/gear/ears/skrell/cloth/male/pink
+ display_name = "headtail-wear, male, pink, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_male/pink
+
+/datum/gear/ears/skrell/cloth/female
+ display_name = "headtail-wear, female, red, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_female
+
+/datum/gear/ears/skrell/cloth/female/black
+ display_name = "headtail-wear, female, black, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_female/black
+
+/datum/gear/ears/skrell/cloth/female/blue
+ display_name = "headtail-wear, female, blue, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_female/blue
+
+/datum/gear/ears/skrell/cloth/female/green
+ display_name = "headtail-wear, female, green, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_female/green
+
+/datum/gear/ears/skrell/cloth/female/pink
+ display_name = "headtail-wear, female, pink, cloth (Skrell)"
+ path = /obj/item/clothing/ears/skrell/cloth_female/pink
+
+/datum/gear/uniform/jumpsuit/teshari
+ display_name = "smock, grey (Teshari)"
+ path = /obj/item/clothing/under/seromi
+ whitelisted = "Teshari"
+ sort_category = "Xenowear"
+
+/datum/gear/uniform/jumpsuit/teshari/yellow
+ display_name = "smock, yellow (Teshari)"
+ path = /obj/item/clothing/under/seromi/yellow
+
+/datum/gear/uniform/jumpsuit/teshari/red
+ display_name = "smock, red (Teshari)"
+ path = /obj/item/clothing/under/seromi/red
+
+/datum/gear/uniform/jumpsuit/teshari/white
+ display_name = "smock, white (Teshari)"
+ path = /obj/item/clothing/under/seromi/white
+
+/datum/gear/uniform/jumpsuit/teshari/medical
+ display_name = "smock, Medical (Teshari)"
+ path = /obj/item/clothing/under/seromi/medical
+
+/datum/gear/uniform/jumpsuit/teshari/rainbow
+ display_name = "smock, rainbow (Teshari)"
+ path = /obj/item/clothing/under/seromi/rainbow
+
+/datum/gear/mask/ipc_monitor
+ display_name = "display monitor (Full Body Prosthetic)"
+ path = /obj/item/clothing/mask/monitor
+ sort_category = "Xenowear"
+
+/datum/gear/uniform/harness
+ display_name = "gear harness (Full Body Prosthetic, Diona)"
+ path = /obj/item/clothing/under/harness
+ sort_category = "Xenowear"
diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm
index 4ac42920ae..81c1f4c463 100644
--- a/code/modules/client/preference_setup/preference_setup.dm
+++ b/code/modules/client/preference_setup/preference_setup.dm
@@ -23,9 +23,14 @@
sort_order = 4
category_item_type = /datum/category_item/player_setup_item/antagonism
+/datum/category_group/player_setup_category/loadout_preferences
+ name = "Loadout"
+ sort_order = 5
+ category_item_type = /datum/category_item/player_setup_item/loadout
+
/datum/category_group/player_setup_category/global_preferences
name = "Global"
- sort_order = 5
+ sort_order = 6
category_item_type = /datum/category_item/player_setup_item/player_global
/****************************
diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm
deleted file mode 100644
index d80504f665..0000000000
--- a/code/modules/client/preferences_gear.dm
+++ /dev/null
@@ -1,1691 +0,0 @@
-var/global/list/gear_datums = list()
-
-/hook/startup/proc/populate_gear_list()
- var/list/sort_categories = list(
- "[slot_head]" = list(),
- "ears" = list(),
- "[slot_glasses]" = list(),
- "[slot_wear_mask]" = list(),
- "[slot_w_uniform]" = list(),
- "[slot_tie]" = list(),
- "[slot_wear_suit]" = list(),
- "[slot_gloves]" = list(),
- "[slot_shoes]" = list(),
- "utility" = list(),
- "misc" = list(),
- "unknown" = list(),
- )
-
- //create a list of gear datums to sort
- for(var/type in typesof(/datum/gear)-/datum/gear)
- var/datum/gear/G = type
- if(!initial(G.display_name))
- error("Loadout - Missing display name: [G]")
- continue
- if(!initial(G.cost))
- error("Loadout - Missing cost: [G]")
- continue
- if(!initial(G.path))
- error("Loadout - Missing path definition: [G]")
- continue
- G = new G()
-
- var/category = (G.sort_category in sort_categories)? G.sort_category : "unknown"
- sort_categories[category][G.display_name] = G
-
- for (var/category in sort_categories)
- gear_datums.Add(sortAssoc(sort_categories[category]))
-
- return 1
-
-/datum/gear
- var/display_name //Name/index. Must be unique.
- var/path //Path to item.
- var/cost //Number of points used. Items in general cost 1 point, storage/armor/gloves/special use costs 2 points.
- var/slot //Slot to equip to.
- var/list/allowed_roles //Roles that can spawn with this item.
- var/whitelisted //Term to check the whitelist for..
- var/sort_category
-
-/datum/gear/New()
- ..()
- if (!sort_category)
- sort_category = "[slot]"
-
-// This is sorted both by slot and alphabetically! Don't fuck it up!
-// Headslot items
-
-/datum/gear/bandana
- display_name = "bandana, pirate-red"
- path = /obj/item/clothing/head/bandana
- cost = 1
- slot = slot_head
-
-/datum/gear/bandana/green
- display_name = "bandana, green"
- path = /obj/item/clothing/head/greenbandana
-
-/datum/gear/bandana/orange
- display_name = "bandana, orange"
- path = /obj/item/clothing/head/orangebandana
-
-/datum/gear/beret
- display_name = "beret, red"
- path = /obj/item/clothing/head/beret
- cost = 1
- slot = slot_head
-
-/datum/gear/beret/bsec
- display_name = "beret, navy (officer)"
- path = /obj/item/clothing/head/beret/sec/navy/officer
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/beret/bsec_warden
- display_name = "beret, navy (warden)"
- path = /obj/item/clothing/head/beret/sec/navy/warden
- allowed_roles = list("Head of Security","Warden")
-
-/datum/gear/beret/bsec_hos
- display_name = "beret, navy (hos)"
- path = /obj/item/clothing/head/beret/sec/navy/hos
- allowed_roles = list("Head of Security")
-
-/datum/gear/beret/eng
- display_name = "beret, engie-orange"
- path = /obj/item/clothing/head/beret/engineering
-// allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer")
-
-/datum/gear/beret/purp
- display_name = "beret, purple"
- path = /obj/item/clothing/head/beret/purple
-
-/datum/gear/beret/sec
- display_name = "beret, red (security)"
- path = /obj/item/clothing/head/beret/sec
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/cap
- display_name = "cap, black"
- path = /obj/item/clothing/head/soft/black
- cost = 1
- slot = slot_head
-
-/datum/gear/cap/blue
- display_name = "cap, blue"
- path = /obj/item/clothing/head/soft/blue
-
-/datum/gear/cap/mailman
- display_name = "cap, blue station"
- path = /obj/item/clothing/head/mailman
-
-/datum/gear/cap/flat
- display_name = "cap, brown-flat"
- path = /obj/item/clothing/head/flatcap
-
-/datum/gear/cap/corp
- display_name = "cap, corporate (Security)"
- path = /obj/item/clothing/head/soft/sec/corp
- allowed_roles = list("Security Officer","Head of Security","Warden", "Detective")
-
-/datum/gear/cap/green
- display_name = "cap, green"
- path = /obj/item/clothing/head/soft/green
-
- /datum/gear/cap/grey
- display_name = "cap, grey"
- path = /obj/item/clothing/head/soft/grey
-
- /datum/gear/cap/orange
- display_name = "cap, orange"
- path = /obj/item/clothing/head/soft/orange
-
-/datum/gear/cap/orange
- display_name = "cap, purple"
- path = /obj/item/clothing/head/soft/purple
-
-/datum/gear/cap/rainbow
- display_name = "cap, rainbow"
- path = /obj/item/clothing/head/soft/rainbow
-
-/datum/gear/cap/red
- display_name = "cap, red"
- path = /obj/item/clothing/head/soft/red
-
-/datum/gear/cap/sec
- display_name = "cap, security (Security)"
- path = /obj/item/clothing/head/soft/sec
- allowed_roles = list("Security Officer","Head of Security","Warden", "Detective")
-
-/datum/gear/cap/yellow
- display_name = "cap, yellow"
- path = /obj/item/clothing/head/soft/yellow
-
-/datum/gear/cap/white
- display_name = "cap, white"
- path = /obj/item/clothing/head/soft/mime
-
-/datum/gear/cowboy
- display_name = "cowboy, rodeo"
- path = /obj/item/clothing/head/cowboy_hat
- cost = 3
- slot = slot_head
-
-/datum/gear/hairflower
- display_name = "hair flower pin, red"
- path = /obj/item/clothing/head/hairflower
- cost = 1
- slot = slot_head
-
-/datum/gear/hairflower/yellow
- display_name = "hair flower pin, yellow"
- path = /obj/item/clothing/head/hairflower/yellow
-
-/datum/gear/hairflower/pink
- display_name = "hair flower pin, pink"
- path = /obj/item/clothing/head/hairflower/pink
-
-/datum/gear/hairflower/blue
- display_name = "hair flower pin, blue"
- path = /obj/item/clothing/head/hairflower/blue
-
-/datum/gear/hairflower/violet
- display_name = "hair flower pin, violet"
- path = /obj/item/clothing/head/hairflower/violet
-
-/datum/gear/hairflower/orange
- display_name = "hair flower pin, orange"
- path = /obj/item/clothing/head/hairflower/orange
-
-/datum/gear/hardhat
- display_name = "hardhat, yellow"
- path = /obj/item/clothing/head/hardhat
- cost = 2
- slot = slot_head
-
-/datum/gear/hardhat/blue
- display_name = "hardhat, blue"
- path = /obj/item/clothing/head/hardhat/dblue
-
-/datum/gear/hardhat/orange
- display_name = "hardhat, orange"
- path = /obj/item/clothing/head/hardhat/orange
-
-/datum/gear/hardhat/red
- display_name = "hardhat, red"
- path = /obj/item/clothing/head/hardhat/red
-
-/datum/gear/boater
- display_name = "hat, boatsman"
- path = /obj/item/clothing/head/boaterhat
- cost = 1
- slot = slot_head
-
-/datum/gear/bowler
- display_name = "hat, bowler"
- path = /obj/item/clothing/head/bowler
- cost = 1
- slot = slot_head
-
-/datum/gear/fez
- display_name = "hat, fez"
- path = /obj/item/clothing/head/fez
- cost = 1
- slot = slot_head
-
-/datum/gear/tophat
- display_name = "hat, tophat"
- path = /obj/item/clothing/head/that
- cost = 1
- slot = slot_head
-
-// Wig by Earthcrusher, blame him.
-/datum/gear/philosopher_wig
- display_name = "natural philosopher's wig"
- path = /obj/item/clothing/head/philosopher_wig
- cost = 1
- slot = slot_head
-
-/datum/gear/ushanka
- display_name = "ushanka"
- path = /obj/item/clothing/head/ushanka
- cost = 1
- slot = slot_head
-
-/datum/gear/santahat
- display_name = "santa hat, red (holiday)"
- path = /obj/item/clothing/head/santa
- cost = 11
- slot = slot_head
-
-/datum/gear/santahat/green
- display_name = "santa hat, green (holiday)"
- path = /obj/item/clothing/head/santa/green
-
-// This was sprited and coded specifically for Zhan-Khazan characters. Before you
-// decide that it's 'not even Taj themed' maybe you should read the wiki, gamer. ~ Z
-/datum/gear/zhan_scarf
- display_name = "Zhan headscarf"
- path = /obj/item/clothing/head/tajaran/scarf
- cost = 1
- slot = slot_head
- whitelisted = "Tajara"
-
-// Eyes
-
-/datum/gear/eyepatch
- display_name = "eyepatch"
- path = /obj/item/clothing/glasses/eyepatch
- cost = 1
- slot = slot_glasses
-
-/datum/gear/glasses
- display_name = "Glasses, prescription"
- path = /obj/item/clothing/glasses/regular
- cost = 1
- slot = slot_glasses
-
-/datum/gear/glasses/green
- display_name = "Glasses, green"
- path = /obj/item/clothing/glasses/gglasses
-
-/datum/gear/glasses/prescriptionhipster
- display_name = "Glasses, hipster"
- path = /obj/item/clothing/glasses/regular/hipster
-
-/datum/gear/glasses/monocle
- display_name = "Monocle"
- path = /obj/item/clothing/glasses/monocle
-
-/datum/gear/scanning_goggles
- display_name = "scanning goggles"
- path = /obj/item/clothing/glasses/regular/scanners
- cost = 1
- slot = slot_glasses
-
-/datum/gear/sciencegoggles
- display_name = "Science Goggles"
- path = /obj/item/clothing/glasses/science
- cost = 1
- slot = slot_glasses
-
-/datum/gear/security
- display_name = "Security HUD"
- path = /obj/item/clothing/glasses/hud/security
- cost = 1
- slot = slot_glasses
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/prescriptionsec
- display_name = "Security HUD, prescription"
- path = /obj/item/clothing/glasses/hud/security/prescription
- cost = 1
- slot = slot_glasses
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/medical
- display_name = "Medical HUD"
- path = /obj/item/clothing/glasses/hud/health
- cost = 1
- slot = slot_glasses
- allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
-
-/datum/gear/prescriptionmed
- display_name = "Medical HUD, prescription"
- path = /obj/item/clothing/glasses/hud/health/prescription
- cost = 1
- slot = slot_glasses
- allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
-
-/datum/gear/thugshades
- display_name = "Sunglasses, Fat"
- path = /obj/item/clothing/glasses/sunglasses/big
- cost = 1
- slot = slot_glasses
- allowed_roles = list("Security Officer","Head of Security","Warden","Captain","Head of Personnel","Quartermaster","Internal Affairs Agent","Detective")
-
-/datum/gear/prescriptionsun
- display_name = "sunglasses, presciption"
- path = /obj/item/clothing/glasses/sunglasses/prescription
- cost = 2
- slot = slot_glasses
- allowed_roles = list("Security Officer","Head of Security","Warden","Captain","Head of Personnel","Quartermaster","Internal Affairs Agent","Detective")
-
-// Mask
-
-/datum/gear/bandanamask
- display_name = "bandana, blue"
- path = /obj/item/clothing/mask/bandana/blue
- cost = 1
- slot = slot_wear_mask
-
-/datum/gear/bandanamask/gold
- display_name = "bandana, gold"
- path = /obj/item/clothing/mask/bandana/gold
-
-/datum/gear/bandanamask/green
- display_name = "bandana, green 2"
- path = /obj/item/clothing/mask/bandana/green
-
-/datum/gear/bandanamask/red
- display_name = "bandana, red"
- path = /obj/item/clothing/mask/bandana/red
-
-/datum/gear/bandanamask/ipc_monitor
- display_name = "display monitor (prosthetic head only)"
- path = /obj/item/clothing/mask/monitor
-
-/datum/gear/sterilemask
- display_name = "sterile mask"
- path = /obj/item/clothing/mask/surgical
- slot = slot_wear_mask
- cost = 2
-
-// Uniform slot
-
-/datum/gear/blazer_blue
- display_name = "blazer, blue"
- path = /obj/item/clothing/under/blazer
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/cheongsam
- display_name = "cheongsam, white"
- path = /obj/item/clothing/under/cheongsam
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/kilt
- display_name = "kilt"
- path = /obj/item/clothing/under/kilt
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/croptop
- display_name = "croptop, NT"
- path = /obj/item/clothing/under/croptop
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/croptop/grey
- display_name = "croptop, grey"
- path = /obj/item/clothing/under/croptop/grey
-
-/datum/gear/croptop/red
- display_name = "croptop, red"
- path = /obj/item/clothing/under/croptop/red
-
-/datum/gear/cuttop
- display_name = "cut top, grey"
- path = /obj/item/clothing/under/cuttop
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/harness
- display_name = "gear harness (Full Body Prosthetic, Dionaea)"
- path = /obj/item/clothing/under/harness
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/cuttop/red
- display_name = "cut top, red"
- path = /obj/item/clothing/under/cuttop/red
-
-/datum/gear/blackfjumpsuit
- display_name = "jumpsuit, female-black"
- path = /obj/item/clothing/under/color/blackf
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/jumpskirt
- display_name = "jumpskirt, black"
- path = /obj/item/clothing/under/blackjumpskirt
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/jumpsuit //I know, evil bastard am I for making the parent the rainbow jumpsuit. ~Sin.
- display_name = "jumpsuit, rainbow"
- path = /obj/item/clothing/under/rainbow
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/jumpsuit/blue
- display_name = "jumpsuit, blue"
- path = /obj/item/clothing/under/color/blue
-
-/datum/gear/jumpsuit/green
- display_name = "jumpsuit, green"
- path = /obj/item/clothing/under/color/green
-
-/datum/gear/jumpsuit/grey
- display_name = "jumpsuit, grey"
- path = /obj/item/clothing/under/color/grey
-
-/datum/gear/jumpsuit/pink
- display_name = "jumpsuit, pink"
- path = /obj/item/clothing/under/color/pink
-
-/datum/gear/jumpsuit/white
- display_name = "jumpsuit, white"
- path = /obj/item/clothing/under/color/white
-
-/datum/gear/jumpsuit/yellow
- display_name = "jumpsuit, yellow"
- path = /obj/item/clothing/under/color/yellow
-
-/datum/gear/jumpsuit/lightblue
- display_name = "jumpsuit, lightblue"
- path = /obj/item/clothing/under/lightblue
-
-/datum/gear/jumpsuit/red
- display_name = "jumpsuit, red"
- path = /obj/item/clothing/under/color/red
-
-/datum/gear/skirt
- display_name = "plaid skirt, blue"
- path = /obj/item/clothing/under/dress/plaid_blue
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/skirt/purple
- display_name = "plaid skirt, purple"
- path = /obj/item/clothing/under/dress/plaid_purple
-
-/datum/gear/skirt/red
- display_name = "plaid skirt, red"
- path = /obj/item/clothing/under/dress/plaid_red
-
-/datum/gear/skirt/black
- display_name = "skirt, black"
- path = /obj/item/clothing/under/blackskirt
-
-/datum/gear/skirt/ce
- display_name = "skirt, ce"
- path = /obj/item/clothing/under/rank/chief_engineer/skirt
- allowed_roles = list("Chief Engineer")
-
-/datum/gear/skirt/atmos
- display_name = "skirt, atmos"
- path = /obj/item/clothing/under/rank/atmospheric_technician/skirt
- allowed_roles = list("Chief Engineer","Atmospheric Technician")
-
-/datum/gear/skirt/eng
- display_name = "skirt, engineer"
- path = /obj/item/clothing/under/rank/engineer/skirt
- allowed_roles = list("Chief Engineer","Station Engineer")
-
-/datum/gear/skirt/cmo
- display_name = "skirt, cmo"
- path = /obj/item/clothing/under/rank/chief_medical_officer
- allowed_roles = list("Chief Medical Officer")
-
-/datum/gear/skirt/chem
- display_name = "skirt, chemist"
- path = /obj/item/clothing/under/rank/chemist/skirt
- allowed_roles = list("Chief Medical Officer","Chemist")
-
-/datum/gear/skirt/viro
- display_name = "skirt, virologist"
- path = /obj/item/clothing/under/rank/virologist/skirt
- allowed_roles = list("Chief Medical Officer","Medical Doctor")
-
-/datum/gear/skirt/med
- display_name = "skirt, medical"
- path = /obj/item/clothing/under/rank/medical/skirt
- allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic")
-
-/datum/gear/skirt/sci
- display_name = "skirt, scientist"
- path = /obj/item/clothing/under/rank/scientist/skirt
- allowed_roles = list("Research Director","Scientist")
-
-/datum/gear/skirt/cargo
- display_name = "skirt, cargo"
- path = /obj/item/clothing/under/rank/cargotech/skirt
- allowed_roles = list("Quartermaster","Cargo Technician")
-
-/datum/gear/skirt/qm
- display_name = "skirt, QM"
- path = /obj/item/clothing/under/rank/cargo/skirt
- allowed_roles = list("Quartermaster")
-
-/datum/gear/jumpsuit/teshari
- display_name = "Teshari smock, grey"
- path = /obj/item/clothing/under/seromi
- whitelisted = "Teshari"
-
-/datum/gear/jumpsuit/teshari/yellow
- display_name = "Teshari smock, yellow"
- path = /obj/item/clothing/under/seromi/yellow
-
-/datum/gear/jumpsuit/teshari/red
- display_name = "Teshari smock, red"
- path = /obj/item/clothing/under/seromi/red
-
-/datum/gear/jumpsuit/teshari/white
- display_name = "Teshari smock, white"
- path = /obj/item/clothing/under/seromi/white
-
-/datum/gear/jumpsuit/teshari/medical
- display_name = "Teshari smock, Medical"
- path = /obj/item/clothing/under/seromi/medical
-
-/datum/gear/jumpsuit/teshari/rainbow
- display_name = "Teshari smock, rainbow"
- path = /obj/item/clothing/under/seromi/rainbow
-
-/datum/gear/jeans_qm
- display_name = "jeans, QM"
- path = /obj/item/clothing/under/rank/cargo/jeans
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Quartermaster")
-
-/datum/gear/jeans_qmf
- display_name = "female jeans, QM"
- path = /obj/item/clothing/under/rank/cargo/jeans/female
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Quartermaster")
-
-/datum/gear/jeans_cargo
- display_name = "jeans, cargo"
- path = /obj/item/clothing/under/rank/cargotech/jeans
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Quartermaster","Cargo Technician")
-
-/datum/gear/jeans_cargof
- display_name = "female jeans, cargo"
- path = /obj/item/clothing/under/rank/cargotech/jeans/female
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Quartermaster","Cargo Technician")
-
-/datum/gear/pants
- display_name = "pants, white"
- path = /obj/item/clothing/under/pants/white
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/pants/red
- display_name = "pants, red"
- path = /obj/item/clothing/under/pants/red
-
-/datum/gear/pants/black
- display_name = "pants, black"
- path = /obj/item/clothing/under/pants/black
-
-/datum/gear/pants/tan
- display_name = "pants, tan"
- path = /obj/item/clothing/under/pants/tan
-
-/datum/gear/pants/track
- display_name = "pants, track"
- path = /obj/item/clothing/under/pants/track
-
-/datum/gear/pants/khaki
- display_name = "pants, khaki"
- path = /obj/item/clothing/under/pants/khaki
-
-/datum/gear/pants/camo
- display_name = "pants, camo"
- path = /obj/item/clothing/under/pants/camo
-
-/datum/gear/pants/jeans
- display_name = "pants, jeans"
- path = /obj/item/clothing/under/pants/jeans
-
-/datum/gear/pants/jeans/classic
- display_name = "pants, classic jeans"
- path = /obj/item/clothing/under/pants/classicjeans
-
-/datum/gear/pants/jeans/mustang
- display_name = "pants, mustang jeans"
- path = /obj/item/clothing/under/pants/mustangjeans
-
-/datum/gear/pants/jeans/black
- display_name = "pants, black jeans"
- path = /obj/item/clothing/under/pants/blackjeans
-
-/datum/gear/pants/jeans/youngfolks
- display_name = "pants, young folks jeans"
- path = /obj/item/clothing/under/pants/youngfolksjeans
-
-/datum/gear/jeans
- display_name = "shorts, jeans"
- path = /obj/item/clothing/under/shorts/jeans
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/jeans/classic
- display_name = "shorts, classic jeans"
- path = /obj/item/clothing/under/shorts/jeans/classic
-
-/datum/gear/jeans/mustang
- display_name = "shorts, mustang jeans"
- path = /obj/item/clothing/under/shorts/jeans/mustang
-
-/datum/gear/jeans/youngfolks
- display_name = "shorts, young folks jeans"
- path = /obj/item/clothing/under/shorts/jeans/youngfolks
-
-/datum/gear/jeans/black
- display_name = "shorts, black jeans"
- path = /obj/item/clothing/under/shorts/jeans/black
-
-/datum/gear/jeans/female
- display_name = "shorts, female, jeans"
- path = /obj/item/clothing/under/shorts/jeans/female
-
-/datum/gear/jeans/classic/female
- display_name = "shorts, female, classic jeans"
- path = /obj/item/clothing/under/shorts/jeans/classic/female
-
-/datum/gear/jeans/mustang/female
- display_name = "shorts, female, mustang jeans"
- path = /obj/item/clothing/under/shorts/jeans/mustang/female
-
-/datum/gear/jeans/youngfolks/female
- display_name = "shorts, female, young folks jeans"
- path = /obj/item/clothing/under/shorts/jeans/youngfolks/female
-
-/datum/gear/jeans/black/female
- display_name = "shorts, female, black jeans"
- path = /obj/item/clothing/under/shorts/jeans/black/female
-
-/datum/gear/khaki
- display_name = "shorts, khaki"
- path = /obj/item/clothing/under/shorts/khaki
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/khaki/female
- display_name = "shorts, female, khaki"
- path = /obj/item/clothing/under/shorts/khaki/female
-
-/datum/gear/suit //amish
- display_name = "suit, amish"
- path = /obj/item/clothing/under/sl_suit
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/suit/black
- display_name = "suit, black"
- path = /obj/item/clothing/under/suit_jacket
-
-/datum/gear/suit/shinyblack
- display_name = "suit, shiny-black"
- path = /obj/item/clothing/under/lawyer/black
-
-/datum/gear/suit/blue
- display_name = "suit, blue"
- path = /obj/item/clothing/under/lawyer/blue
-
-/datum/gear/suit/burgundy
- display_name = "suit, burgundy"
- path = /obj/item/clothing/under/suit_jacket/burgundy
-
-/datum/gear/suit/checkered
- display_name = "suit, checkered"
- path = /obj/item/clothing/under/suit_jacket/checkered
-
-/datum/gear/suit/charcoal
- display_name = "suit, charcoal"
- path = /obj/item/clothing/under/suit_jacket/charcoal
-
-/datum/gear/suit/exec
- display_name = "suit, executive"
- path = /obj/item/clothing/under/suit_jacket/really_black
-
-/datum/gear/suit/femaleexec
- display_name = "suit, female-executive"
- path = /obj/item/clothing/under/suit_jacket/female
-
-/datum/gear/suit/gentle
- display_name = "suit, gentlemen"
- path = /obj/item/clothing/under/gentlesuit
-
-/datum/gear/suit/navy
- display_name = "suit, navy"
- path = /obj/item/clothing/under/suit_jacket/navy
-
-/datum/gear/suit/red
- display_name = "suit, red"
- path = /obj/item/clothing/under/suit_jacket/red
-
-/datum/gear/suit/redlawyer
- display_name = "suit, lawyer-red"
- path = /obj/item/clothing/under/lawyer/red
-
-/datum/gear/suit/oldman
- display_name = "suit, old-man"
- path = /obj/item/clothing/under/lawyer/oldman
-
-/datum/gear/suit/purple
- display_name = "suit, purple"
- path = /obj/item/clothing/under/lawyer/purpsuit
-
-/datum/gear/suit/tan
- display_name = "suit, tan"
- path = /obj/item/clothing/under/suit_jacket/tan
-
-/datum/gear/suit/white
- display_name = "suit, white"
- path = /obj/item/clothing/under/scratch
-
-/datum/gear/suit/whiteblue
- display_name = "suit, white-blue"
- path = /obj/item/clothing/under/lawyer/bluesuit
-
-/datum/gear/scrubs
- display_name = "scrubs, black"
- path = /obj/item/clothing/under/rank/medical/black
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
-
-/datum/gear/scrubs/blue
- display_name = "scrubs, blue"
- path = /obj/item/clothing/under/rank/medical/blue
-
-/datum/gear/scrubs/purple
- display_name = "scrubs, purple"
- path = /obj/item/clothing/under/rank/medical/purple
-
-/datum/gear/scrubs/green
- display_name = "scrubs, green"
- path = /obj/item/clothing/under/rank/medical/green
-
-/datum/gear/sundress
- display_name = "sundress"
- path = /obj/item/clothing/under/sundress
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/sundress/white
- display_name = "sundress, white"
- path = /obj/item/clothing/under/sundress_white
-
-/datum/gear/dress_fire
- display_name = "flame dress"
- path = /obj/item/clothing/under/dress/dress_fire
- slot = slot_w_uniform
- cost = 1
-
-/datum/gear/uniform_captain
- display_name = "uniform, captain's dress"
- path = /obj/item/clothing/under/dress/dress_cap
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Captain")
-
-/datum/gear/corpdetsuit
- display_name = "uniform, corporate (Detective)"
- path = /obj/item/clothing/under/det/corporate
- cost = 1
- slot = slot_w_uniform
- allowed_roles = list("Detective","Head of Security")
-
-/datum/gear/corpsecsuit
- display_name = "uniform, corporate (Security)"
- path = /obj/item/clothing/under/rank/security/corp
- cost = 1
- slot = slot_w_uniform
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/uniform_hop
- display_name = "uniform, HoP's dress"
- path = /obj/item/clothing/under/dress/dress_hop
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Head of Personnel")
-
-/datum/gear/uniform_hr
- display_name = "uniform, HR director (HoP)"
- path = /obj/item/clothing/under/dress/dress_hr
- slot = slot_w_uniform
- cost = 1
- allowed_roles = list("Head of Personnel")
-
-/datum/gear/navysecsuit
- display_name = "uniform, navyblue (Security)"
- path = /obj/item/clothing/under/rank/security/navyblue
- cost = 1
- slot = slot_w_uniform
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-// Attachments
-/datum/gear/armband
- display_name = "armband, red"
- path = /obj/item/clothing/accessory/armband
- slot = slot_tie
- cost = 1
-
-/datum/gear/armband/cargo
- display_name = "armband, cargo"
- path = /obj/item/clothing/accessory/armband/cargo
-
-/datum/gear/armband/emt
- display_name = "armband, EMT"
- path = /obj/item/clothing/accessory/armband/medgreen
-
-/datum/gear/armband/engineering
- display_name = "armband, engineering"
- path = /obj/item/clothing/accessory/armband/engine
-
-/datum/gear/armband/hydroponics
- display_name = "armband, hydroponics"
- path = /obj/item/clothing/accessory/armband/hydro
-
-/datum/gear/armband/medical
- display_name = "armband, medical"
- path = /obj/item/clothing/accessory/armband/med
-
-/datum/gear/armband/science
- display_name = "armband, science"
- path = /obj/item/clothing/accessory/armband/science
-
-/datum/gear/holster
- display_name = "holster, armpit"
- path = /obj/item/clothing/accessory/holster/armpit
- slot = slot_tie
- cost = 1
- allowed_roles = list("Captain", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective")
-
-/datum/gear/holster/hip
- display_name = "holster, hip"
- path = /obj/item/clothing/accessory/holster/hip
-
-/datum/gear/holster/waist
- display_name = "holster, waist"
- path = /obj/item/clothing/accessory/holster/waist
-
-/datum/gear/tie
- display_name = "tie, black"
- path = /obj/item/clothing/accessory/black
- slot = slot_tie
- cost = 1
-
-/datum/gear/tie/blue
- display_name = "tie, blue"
- path = /obj/item/clothing/accessory/blue
-
-/datum/gear/tie/red
- display_name = "tie, red"
- path = /obj/item/clothing/accessory/red
-
-/datum/gear/tie/horrible
- display_name = "tie, socially disgraceful"
- path = /obj/item/clothing/accessory/horrible
-
-/datum/gear/scarf
- display_name = "scarf"
- path = /obj/item/clothing/accessory/scarf
- slot = slot_tie
- cost = 1
-
-/datum/gear/scarf/red
- display_name = "scarf, red"
- path = /obj/item/clothing/accessory/scarf/red
-
-/datum/gear/scarf/green
- display_name = "scarf, green"
- path = /obj/item/clothing/accessory/scarf/green
-
-/datum/gear/scarf/darkblue
- display_name = "scarf, dark blue"
- path = /obj/item/clothing/accessory/scarf/darkblue
-
-/datum/gear/scarf/purple
- display_name = "scarf, purple"
- path = /obj/item/clothing/accessory/scarf/purple
-
-/datum/gear/scarf/yellow
- display_name = "scarf, yellow"
- path = /obj/item/clothing/accessory/scarf/yellow
-
-/datum/gear/scarf/orange
- display_name = "scarf, orange"
- path = /obj/item/clothing/accessory/scarf/orange
-
-/datum/gear/scarf/lightblue
- display_name = "scarf, light blue"
- path = /obj/item/clothing/accessory/scarf/lightblue
-
-/datum/gear/scarf/white
- display_name = "scarf, white"
- path = /obj/item/clothing/accessory/scarf/white
-
-/datum/gear/scarf/black
- display_name = "scarf, black"
- path = /obj/item/clothing/accessory/scarf/black
-
-/datum/gear/scarf/zebra
- display_name = "scarf, zebra"
- path = /obj/item/clothing/accessory/scarf/zebra
-
-/datum/gear/scarf/christmas
- display_name = "scarf, christmas"
- path = /obj/item/clothing/accessory/scarf/christmas
-
-/datum/gear/scarf/stripedred
- display_name = "scarf, striped red"
- path = /obj/item/clothing/accessory/stripedredscarf
-
-/datum/gear/scarf/stripedgreen
- display_name = "scarf, striped green"
- path = /obj/item/clothing/accessory/stripedgreenscarf
-
-/datum/gear/scarf/stripedblue
- display_name = "scarf, striped blue"
- path = /obj/item/clothing/accessory/stripedbluescarf
-
-/datum/gear/brown_vest
- display_name = "webbing, engineering"
- path = /obj/item/clothing/accessory/storage/brown_vest
- slot = slot_tie
- cost = 1
- allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer")
-
-/datum/gear/black_vest
- display_name = "webbing, security"
- path = /obj/item/clothing/accessory/storage/black_vest
- slot = slot_tie
- cost = 1
- allowed_roles = list("Security Officer","Head of Security","Warden")
-
-/datum/gear/webbing
- display_name = "webbing, simple"
- path = /obj/item/clothing/accessory/storage/webbing
- slot = slot_tie
- cost = 2
-
-// Suit slot
-
-/datum/gear/apron
- display_name = "apron, blue"
- path = /obj/item/clothing/suit/apron
- cost = 1
- slot = slot_wear_suit
-
-/datum/gear/leather_coat
- display_name = "leather coat"
- path = /obj/item/clothing/suit/leathercoat
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/puffer_coat
- display_name = "puffer coat"
- path = /obj/item/clothing/suit/jacket/puffer
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/puffer_vest
- display_name = "puffer vest"
- path = /obj/item/clothing/suit/jacket/puffer/vest
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/bomber
- display_name = "bomber jacket"
- path = /obj/item/clothing/suit/storage/toggle/bomber
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/bomber_alt
- display_name = "bomber jacket 2"
- path = /obj/item/clothing/suit/storage/bomber/alt
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/leather_jacket
- display_name = "leather jacket, black"
- path = /obj/item/clothing/suit/storage/leather_jacket
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/leather_jacket_alt
- display_name = "leather jacket 2, black"
- path = /obj/item/clothing/suit/storage/leather_jacket/alt
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/leather_jacket_nt
- display_name = "leather jacket, corporate, black"
- path = /obj/item/clothing/suit/storage/leather_jacket/nanotrasen
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/brown_jacket
- display_name = "leather jacket, brown"
- path = /obj/item/clothing/suit/storage/toggle/brown_jacket
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/brown_jacket_nt
- display_name = "leather jacket, corporate, brown"
- path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/mil
- display_name = "military jacket"
- path = /obj/item/clothing/suit/storage/miljacket
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/mil/alt
- display_name = "military jacket, alt"
- path = /obj/item/clothing/suit/storage/miljacket/alt
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hazard_vest
- display_name = "hazard vest"
- path = /obj/item/clothing/suit/storage/hazardvest
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie
- display_name = "hoodie, grey"
- path = /obj/item/clothing/suit/storage/toggle/hoodie
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/red
- display_name = "hoodie, red"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/red
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/blue
- display_name = "hoodie, blue"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/blue
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/yellow
- display_name = "hoodie, yellow"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/yellow
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/green
- display_name = "hoodie, green"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/green
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/orange
- display_name = "hoodie, orange"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/orange
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/black
- display_name = "hoodie, black"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/black
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/cti
- display_name = "hoodie, CTI"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/cti
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/mu
- display_name = "hoodie, MU"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/mu
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/hoodie/nt
- display_name = "hoodie, NT"
- path = /obj/item/clothing/suit/storage/toggle/hoodie/nt
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/unathi_mantle
- display_name = "hide mantle (Unathi)"
- path = /obj/item/clothing/suit/unathi/mantle
- cost = 1
- slot = slot_wear_suit
- whitelisted = "Unathi"
-
-/datum/gear/labcoat
- display_name = "labcoat"
- path = /obj/item/clothing/suit/storage/toggle/labcoat
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/labcoat/blue
- display_name = "labcoat, blue"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/blue
-
-/datum/gear/labcoat/green
- display_name = "labcoat, green"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/green
-
-/datum/gear/labcoat/orange
- display_name = "labcoat, orange"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/orange
-
-/datum/gear/labcoat/purple
- display_name = "labcoat, purple"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/purple
-
-/datum/gear/labcoat/pink
- display_name = "labcoat, pink"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/pink
-
-/datum/gear/labcoat/red
- display_name = "labcoat, red"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/red
-
-/datum/gear/labcoat/yellow
- display_name = "labcoat, yellow"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/yellow
-
-/datum/gear/labcoat/emt
- display_name = "labcoat, EMT (Medical)"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/emt
- allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
-
-/datum/gear/overalls
- display_name = "overalls"
- path = /obj/item/clothing/suit/apron/overalls
- cost = 1
- slot = slot_wear_suit
-
-/datum/gear/poncho
- display_name = "poncho, tan"
- path = /obj/item/clothing/suit/poncho
- cost = 1
- slot = slot_wear_suit
-
-/datum/gear/poncho/blue
- display_name = "poncho, blue"
- path = /obj/item/clothing/suit/poncho/blue
-
-/datum/gear/poncho/green
- display_name = "poncho, green"
- path = /obj/item/clothing/suit/poncho/green
-
-/datum/gear/poncho/purple
- display_name = "poncho, purple"
- path = /obj/item/clothing/suit/poncho/purple
-
-/datum/gear/poncho/red
- display_name = "poncho, red"
- path = /obj/item/clothing/suit/poncho/red
-
-/datum/gear/unathi_robe
- display_name = "roughspun robe (Unathi)"
- path = /obj/item/clothing/suit/unathi/robe
- cost = 1
- slot = slot_wear_suit
-// whitelisted = "Unathi" // You don't have a monopoly on a robe!
-
-/datum/gear/blue_lawyer_jacket
- display_name = "suit jacket, blue"
- path = /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/purple_lawyer_jacket
- display_name = "suit jacket, purple"
- path = /obj/item/clothing/suit/storage/lawyer/purpjacket
- cost = 2
- slot = slot_wear_suit
-
-/datum/gear/suspenders
- display_name = "suspenders"
- path = /obj/item/clothing/suit/suspenders
- cost = 1
- slot = slot_wear_suit
-
-/datum/gear/wcoat
- display_name = "waistcoat"
- path = /obj/item/clothing/suit/wcoat
- cost = 1
- slot = slot_wear_suit
-
-/datum/gear/zhan_furs
- display_name = "Zhan-Khazan furs (Tajaran)"
- path = /obj/item/clothing/suit/tajaran/furs
- cost = 1
- slot = slot_wear_suit
- whitelisted = "Tajara" // You do have a monopoly on a fur suit tho
-
-/datum/gear/forensics
- display_name = "forensics long, red"
- path = /obj/item/clothing/suit/storage/forensics/red/long
- cost = 2
- slot = slot_wear_suit
- allowed_roles = list("Detective")
-
-/datum/gear/forensics/blue
- display_name = "forensics long, blue"
- path = /obj/item/clothing/suit/storage/forensics/blue/long
- cost = 2
- slot = slot_wear_suit
- allowed_roles = list("Detective")
-
-// Gloves
-
-/datum/gear/gloves
- display_name = "gloves, black"
- path = /obj/item/clothing/gloves/black
- cost = 2
- slot = slot_gloves
-
-/datum/gear/gloves/blue
- display_name = "gloves, blue"
- path = /obj/item/clothing/gloves/blue
-
-/datum/gear/gloves/brown
- display_name = "gloves, brown"
- path = /obj/item/clothing/gloves/brown
-
-/datum/gear/gloves/light_brown
- display_name = "gloves, light-brown"
- path = /obj/item/clothing/gloves/light_brown
-
-/datum/gear/gloves/green
- display_name = "gloves, green"
- path = /obj/item/clothing/gloves/green
-
-/datum/gear/gloves/grey
- display_name = "gloves, grey"
- path = /obj/item/clothing/gloves/grey
-
-/datum/gear/gloves/latex
- display_name = "gloves, latex"
- path = /obj/item/clothing/gloves/latex
-
-/datum/gear/gloves/orange
- display_name = "gloves, orange"
- path = /obj/item/clothing/gloves/orange
-
-/datum/gear/gloves/purple
- display_name = "gloves, purple"
- path = /obj/item/clothing/gloves/purple
-
-/datum/gear/gloves/rainbow
- display_name = "gloves, rainbow"
- path = /obj/item/clothing/gloves/rainbow
-
-/datum/gear/gloves/red
- display_name = "gloves, red"
- path = /obj/item/clothing/gloves/red
-
-/datum/gear/gloves/white
- display_name = "gloves, white"
- path = /obj/item/clothing/gloves/white
-
-// Shoelocker
-
-/datum/gear/jackboots
- display_name = "jackboots"
- path = /obj/item/clothing/shoes/jackboots
- cost = 1
- slot = slot_shoes
-
-/datum/gear/toeless_jackboots
- display_name = "toe-less jackboots"
- path = /obj/item/clothing/shoes/jackboots/unathi
- cost = 1
- slot = slot_shoes
-
-/datum/gear/workboots
- display_name = "workboots"
- path = /obj/item/clothing/shoes/workboots
- cost = 1
- slot = slot_shoes
-
-/datum/gear/sandal
- display_name = "sandals"
- path = /obj/item/clothing/shoes/sandal
- cost = 1
- slot = slot_shoes
-
-/datum/gear/shoes
- display_name = "shoes, black"
- path = /obj/item/clothing/shoes/black
- cost = 1
- slot = slot_shoes
-
-/datum/gear/shoes/blue
- display_name = "shoes, blue"
- path = /obj/item/clothing/shoes/blue
-
-/datum/gear/shoes/brown
- display_name = "shoes, brown"
- path = /obj/item/clothing/shoes/brown
-
-/datum/gear/shoes/lacey
- display_name = "shoes, classy"
- path = /obj/item/clothing/shoes/laceup
-
-/datum/gear/shoes/dress
- display_name = "shoes, dress"
- path = /obj/item/clothing/shoes/laceup
-
-/datum/gear/shoes/green
- display_name = "shoes, green"
- path = /obj/item/clothing/shoes/green
-
-/datum/gear/shoes/leather
- display_name = "shoes, leather"
- path = /obj/item/clothing/shoes/leather
-
-/datum/gear/shoes/orange
- display_name = "shoes, orange"
- path = /obj/item/clothing/shoes/orange
-
-/datum/gear/shoes/purple
- display_name = "shoes, purple"
- path = /obj/item/clothing/shoes/purple
-
-/datum/gear/shoes/rainbow
- display_name = "shoes, rainbow"
- path = /obj/item/clothing/shoes/rainbow
-
-/datum/gear/shoes/red
- display_name = "shoes, red"
- path = /obj/item/clothing/shoes/red
-
-/datum/gear/shoes/white
- display_name = "shoes, white"
- path = /obj/item/clothing/shoes/white
-
-/datum/gear/shoes/yellow
- display_name = "shoes, yellow"
- path = /obj/item/clothing/shoes/yellow
-
-/datum/gear/flats
- display_name = "flats, black"
- path = /obj/item/clothing/shoes/flats
- cost = 1
- slot = slot_shoes
-
-/datum/gear/flats/blue
- display_name = "flats, blue"
- path = /obj/item/clothing/shoes/flats/blue
-
-/datum/gear/flats/brown
- display_name = "flats, brown"
- path = /obj/item/clothing/shoes/flats/brown
-
-/datum/gear/flats/orange
- display_name = "flats, orange"
- path = /obj/item/clothing/shoes/flats/orange
-
-/datum/gear/flats/purple
- display_name = "flats, purple"
- path = /obj/item/clothing/shoes/flats/purple
-
-/datum/gear/flats/red
- display_name = "flats, red"
- path = /obj/item/clothing/shoes/flats/red
-
-/datum/gear/flats/white
- display_name = "flats, white"
- path = /obj/item/clothing/shoes/flats/white
-
-
-// "Useful" items - I'm guessing things that might be used at work?
-
-/datum/gear/briefcase
- display_name = "briefcase"
- path = /obj/item/weapon/storage/briefcase
- sort_category = "utility"
- cost = 2
-
-/datum/gear/clipboard
- display_name = "clipboard"
- path = /obj/item/weapon/clipboard
- sort_category = "utility"
- cost = 1
-
-/datum/gear/communicator
- display_name = "personal communicator"
- path = /obj/item/device/communicator
- sort_category = "utility"
- cost = 1
-
-/datum/gear/folder_blue
- display_name = "folder, blue"
- path = /obj/item/weapon/folder/blue
- sort_category = "utility"
- cost = 1
-
-/datum/gear/folder_grey
- display_name = "folder, grey"
- path = /obj/item/weapon/folder
- sort_category = "utility"
- cost = 1
-
-/datum/gear/folder_red
- display_name = "folder, red"
- path = /obj/item/weapon/folder/red
- sort_category = "utility"
- cost = 1
-
-/datum/gear/folder_white
- display_name = "folder, white"
- path = /obj/item/weapon/folder/white
- sort_category = "utility"
- cost = 1
-
-/datum/gear/folder_yellow
- display_name = "folder, yellow"
- path = /obj/item/weapon/folder/yellow
- sort_category = "utility"
- cost = 1
-
-/datum/gear/paicard
- display_name = "personal AI device"
- path = /obj/item/device/paicard
- sort_category = "utility"
- cost = 2
-
-// The rest of the trash.
-
-/datum/gear/ashtray
- display_name = "ashtray, plastic"
- path = /obj/item/weapon/material/ashtray/plastic
- sort_category = "misc"
- cost = 1
-
-/*
-/datum/gear/boot_knife
- display_name = "boot knife"
- path = /obj/item/weapon/material/kitchen/utensil/knife/boot
- sort_category = "misc"
- cost = 3
-*/
-
-/datum/gear/cane
- display_name = "cane"
- path = /obj/item/weapon/cane
- sort_category = "misc"
- cost = 1
-
-/datum/gear/dice
- display_name = "d20"
- path = /obj/item/weapon/dice/d20
- sort_category = "misc"
- cost = 1
-
-/datum/gear/cards
- display_name = "deck of cards"
- path = /obj/item/weapon/deck/cards
- sort_category = "misc"
- cost = 1
-
-/datum/gear/tarot
- display_name = "deck of tarot cards"
- path = /obj/item/weapon/deck/tarot
- sort_category = "misc"
- cost = 1
-
-/datum/gear/holder
- display_name = "card holder"
- path = /obj/item/weapon/deck/holder
- sort_category = "misc"
- cost = 1
-
-/datum/gear/cardemon_pack
- display_name = "Cardemon booster pack"
- path = /obj/item/weapon/pack/cardemon
- sort_category = "misc"
- cost = 1
-
-/datum/gear/spaceball_pack
- display_name = "Spaceball booster pack"
- path = /obj/item/weapon/pack/spaceball
- sort_category = "misc"
- cost = 1
-
-/datum/gear/flask
- display_name = "flask"
- path = /obj/item/weapon/reagent_containers/food/drinks/flask/barflask
- sort_category = "misc"
- cost = 1
-
-/datum/gear/vacflask
- display_name = "vacuum-flask"
- path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
- sort_category = "misc"
- cost = 1
-/datum/gear/blipstick
- display_name = "lipstick, black"
- path = /obj/item/weapon/lipstick/black
- sort_category = "misc"
- cost = 1
-
-/datum/gear/jlipstick
- display_name = "lipstick, jade"
- path = /obj/item/weapon/lipstick/jade
- sort_category = "misc"
- cost = 1
-
-/datum/gear/plipstick
- display_name = "lipstick, purple"
- path = /obj/item/weapon/lipstick/purple
- sort_category = "misc"
- cost = 1
-
-/datum/gear/rlipstick
- display_name = "lipstick, red"
- path = /obj/item/weapon/lipstick
- sort_category = "misc"
- cost = 1
-
-/datum/gear/smokingpipe
- display_name = "pipe, smoking"
- path = /obj/item/clothing/mask/smokable/pipe
- sort_category = "misc"
- cost = 1
-
-/datum/gear/cornpipe
- display_name = "pipe, corn"
- path = /obj/item/clothing/mask/smokable/pipe/cobpipe
- sort_category = "misc"
- cost = 1
-
-/datum/gear/matchbook
- display_name = "matchbook"
- path = /obj/item/weapon/storage/box/matches
- sort_category = "misc"
- cost = 1
-
-/datum/gear/comb
- display_name = "purple comb"
- path = /obj/item/weapon/haircomb
- sort_category = "misc"
- cost = 1
-
-/datum/gear/zippo
- display_name = "zippo"
- path = /obj/item/weapon/flame/lighter/zippo
- sort_category = "misc"
- cost = 1
-
-/*/datum/gear/combitool
- display_name = "combi-tool"
- path = /obj/item/weapon/combitool
- cost = 3*/
-
-// Stuff worn on the ears. Items here go in the "ears" sort_category but they must not use
-// the slot_r_ear or slot_l_ear as the slot, or else players will spawn with no headset.
-/datum/gear/earmuffs
- display_name = "earmuffs"
- path = /obj/item/clothing/ears/earmuffs
- cost = 1
- sort_category = "ears"
-
-/datum/gear/headphones
- display_name = "headphones"
- path = /obj/item/clothing/ears/earmuffs/headphones
- cost = 1
- sort_category = "ears"
-
-/datum/gear/skrell_chain
- display_name = "skrell headtail-wear, female, chain"
- path = /obj/item/clothing/ears/skrell/chain
- cost = 1
- sort_category = "ears"
- whitelisted = "Skrell"
-
-/datum/gear/skrell_plate
- display_name = "skrell headtail-wear, male, bands"
- path = /obj/item/clothing/ears/skrell/band
- cost = 1
- sort_category = "ears"
- whitelisted = "Skrell"
-
-/datum/gear/skrell_cloth //male/red
- display_name = "skrell headtail-wear, male, red, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_male
- cost = 1
- sort_category = "ears"
- whitelisted = "Skrell"
-
-/datum/gear/skrell_cloth/male //black
- display_name = "skrell headtail-wear, male, black, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_male/black
-
-/datum/gear/skrell_cloth/male/blue
- display_name = "skrell headtail-wear, male, blue, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_male/blue
-
-/datum/gear/skrell_cloth/male/green
- display_name = "skrell headtail-wear, male, green, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_male/green
-
-/datum/gear/skrell_cloth/male/pink
- display_name = "skrell headtail-wear, male, pink, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_male/pink
-
-/datum/gear/skrell_cloth/female
- display_name = "skrell headtail-wear, female, red, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_female
-
-/datum/gear/skrell_cloth/female/black
- display_name = "skrell headtail-wear, female, black, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_female/black
-
-/datum/gear/skrell_cloth/female/blue
- display_name = "skrell headtail-wear, female, blue, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_female/blue
-
-/datum/gear/skrell_cloth/female/green
- display_name = "skrell headtail-wear, female, green, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_female/green
-
-/datum/gear/skrell_cloth/female/pink
- display_name = "skrell headtail-wear, female, pink, cloth"
- path = /obj/item/clothing/ears/skrell/cloth_female/pink
diff --git a/polaris.dme b/polaris.dme
index 54877037d5..d29063995c 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -969,7 +969,6 @@
#include "code\modules\client\movement.dm"
#include "code\modules\client\preferences.dm"
#include "code\modules\client\preferences_factions.dm"
-#include "code\modules\client\preferences_gear.dm"
#include "code\modules\client\preferences_savefile.dm"
#include "code\modules\client\preferences_spawnpoints.dm"
#include "code\modules\client\preferences_toggles.dm"
@@ -987,6 +986,21 @@
#include "code\modules\client\preference_setup\global\02_settings.dm"
#include "code\modules\client\preference_setup\global\03_pai.dm"
#include "code\modules\client\preference_setup\global\04_communicators.dm"
+#include "code\modules\client\preference_setup\loadout\loadout.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_accessories.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_cosmetics.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_ears.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_eyes.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_general.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_gloves.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_head.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_mask.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_shoes.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_smoking.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_suit.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_uniform.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_utility.dm"
+#include "code\modules\client\preference_setup\loadout\loadout_xeno.dm"
#include "code\modules\client\preference_setup\occupation\occupation.dm"
#include "code\modules\client\preference_setup\skills\skills.dm"
#include "code\modules\clothing\chameleon.dm"