diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index ca409edcda..dedab22acf 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -331,7 +331,6 @@ var/global/datum/controller/occupations/job_master
var/list/custom_equip_slots = list() //If more than one item takes the same slot, all after the first one spawn in storage.
var/list/custom_equip_leftovers = list()
if(H.client.prefs.gear && H.client.prefs.gear.len && job.title != "Cyborg" && job.title != "AI")
-
for(var/thing in H.client.prefs.gear)
var/datum/gear/G = gear_datums[thing]
if(G)
@@ -353,10 +352,11 @@ var/global/datum/controller/occupations/job_master
if(G.slot && !(G.slot in custom_equip_slots))
// This is a miserable way to fix the loadout overwrite bug, but the alternative requires
// adding an arg to a bunch of different procs. Will look into it after this merge. ~ Z
+ var/metadata = H.client.prefs.gear[G.display_name]
if(G.slot == slot_wear_mask || G.slot == slot_wear_suit || G.slot == slot_head)
custom_equip_leftovers += thing
- else if(H.equip_to_slot_or_del(G.spawn_item(H), G.slot))
- H << "Equipping you with [thing]!"
+ else if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot))
+ H << "Equipping you with \the [thing]!"
custom_equip_slots.Add(G.slot)
else
custom_equip_leftovers.Add(thing)
@@ -375,8 +375,9 @@ var/global/datum/controller/occupations/job_master
if(G.slot in custom_equip_slots)
spawn_in_storage += thing
else
- if(H.equip_to_slot_or_del(G.spawn_item(H), G.slot))
- H << "Equipping you with [thing]!"
+ var/metadata = H.client.prefs.gear[G.display_name]
+ if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot))
+ H << "Equipping you with \the [thing]!"
custom_equip_slots.Add(G.slot)
else
spawn_in_storage += thing
@@ -439,9 +440,10 @@ var/global/datum/controller/occupations/job_master
if(!isnull(B))
for(var/thing in spawn_in_storage)
- H << "Placing [thing] in your [B]!"
+ H << "Placing \the [thing] in your [B.name]!"
var/datum/gear/G = gear_datums[thing]
- new G.path(B)
+ var/metadata = H.client.prefs.gear[G.display_name]
+ G.spawn_item(B, metadata)
else
H << "Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug."
diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm
index ceac5c4aa0..272f8618eb 100644
--- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm
+++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm
@@ -1,28 +1,40 @@
-/datum/gear_tweak/proc/apply_tweak(var/obj/item/I)
+/datum/gear_tweak/proc/get_contents(var/metadata)
+ return
+
+/datum/gear_tweak/proc/get_metadata(var/user, var/metadata)
+ return
+
+/datum/gear_tweak/proc/get_default()
+ return
+
+/datum/gear_tweak/proc/apply_tweak(var/obj/item/I, var/metadata)
return
/*
* Color adjustment
*/
+
+var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
+
/datum/gear_tweak/color
- var/item_color
+ var/list/valid_colors
-/datum/gear_tweak/color/New(var/item_color)
- src.item_color = item_color
+/datum/gear_tweak/color/New(var/list/valid_colors)
+ src.valid_colors = valid_colors
..()
-/datum/gear_tweak/color/apply_tweak(var/obj/item/I)
- I.color = item_color
+/datum/gear_tweak/color/get_contents(var/metadata)
+ return "(Color⚫)"
-/*
-* Icon state adjustment
-*/
-/datum/gear_tweak/icon_state
- var/icon_state
+/datum/gear_tweak/color/get_default()
+ return valid_colors ? valid_colors[1] : COLOR_GRAY
-/datum/gear_tweak/icon_state/New(var/icon_state)
- src.icon_state = icon_state
- ..()
+/datum/gear_tweak/color/get_metadata(var/user, var/metadata)
+ if(valid_colors)
+ return input(user, "Choose an item color.", "Character Preference", metadata) as null|anything in valid_colors
+ return input(user, "Choose an item color.", "Global Preference", metadata) as color|null
-/datum/gear_tweak/icon_state/apply_tweak(var/obj/item/I)
- I.icon_state = icon_state
+/datum/gear_tweak/color/apply_tweak(var/obj/item/I, var/metadata)
+ if(valid_colors && !(metadata in valid_colors))
+ return
+ I.color = metadata
diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm
index 7ea95e1348..05c33e6cae 100644
--- a/code/modules/client/preference_setup/loadout/loadout.dm
+++ b/code/modules/client/preference_setup/loadout/loadout.dm
@@ -92,6 +92,7 @@ var/list/gear_datums = list()
var/fcolor = "#3366CC"
if(total_cost < MAX_GEAR_COST)
fcolor = "#E67300"
+ . += list()
. += "
"
. += "| [total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\] |
"
@@ -123,10 +124,23 @@ var/list/gear_datums = list()
var/datum/gear/G = LC.gear[gear_name]
var/ticked = (G.display_name in pref.gear)
var/obj/item/temp = G.path
- . += "| [G.display_name] | "
+ . += "
| [G.display_name]"
+ if(ticked)
+ var/metadata = pref.gear[G.display_name]
+ if(!metadata)
+ metadata = list()
+ pref.gear[G.display_name] = metadata
+ for(var/datum/gear_tweak/tweak in G.gear_tweaks)
+ var/tweak_input = metadata["[tweak]"]
+ if(!tweak_input)
+ tweak_input = tweak.get_default()
+ metadata["[tweak]"] = tweak_input
+ . += " [tweak.get_contents(tweak_input)]"
+ . += " | "
. += "[G.cost] | "
. += "[initial(temp.desc)] |
"
. += "
"
+ . = jointext(.)
/datum/category_item/player_setup_item/loadout/OnTopic(href, href_list, user)
if(href_list["toggle_gear"])
@@ -141,6 +155,17 @@ var/list/gear_datums = list()
if((total_cost+TG.cost) <= MAX_GEAR_COST)
pref.gear += TG.display_name
return TOPIC_REFRESH
+ if(href_list["gear"] && href_list["tweak"])
+ var/datum/gear/gear = gear_datums[href_list["gear"]]
+ var/datum/gear_tweak/tweak = locate(href_list["tweak"])
+ if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks))
+ return TOPIC_NOACTION
+ var/metadata = tweak.get_metadata(user)
+ if(!metadata && !CanUseTopic(user))
+ return TOPIC_NOACTION
+ var/gear_metadata = pref.gear[gear.display_name]
+ gear_metadata["[tweak]"] = metadata
+ return TOPIC_REFRESH
else if(href_list["select_category"])
current_tab = href_list["select_category"]
return TOPIC_REFRESH
@@ -159,8 +184,8 @@ var/list/gear_datums = list()
var/sort_category = "General"
var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned.
-/datum/gear/proc/spawn_item(var/location)
+/datum/gear/proc/spawn_item(var/location, var/metadata)
var/item = new path(location)
for(var/datum/gear_tweak/gt in gear_tweaks)
- gt.apply_tweak(item)
+ gt.apply_tweak(item, metadata["[gt]"])
return item
diff --git a/code/modules/client/preference_setup/loadout/loadout_head.dm b/code/modules/client/preference_setup/loadout/loadout_head.dm
index a58f3a450a..a2635ef79c 100644
--- a/code/modules/client/preference_setup/loadout/loadout_head.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_head.dm
@@ -187,253 +187,25 @@
whitelisted = "Tajara"
/datum/gear/head/hijab
- display_name = "hijab, black"
+ display_name = "hijab"
path = /obj/item/clothing/head/hijab
-/datum/gear/head/hijab/white
- display_name = "hijab, white"
- path = /obj/item/clothing/head/hijab/white
-
-/datum/gear/head/hijab/aqua
- display_name = "hijab, aqua"
- path = /obj/item/clothing/head/hijab/aqua
-
-/datum/gear/head/hijab/blue
- display_name = "hijab, blue"
- path = /obj/item/clothing/head/hijab/blue
-
-/datum/gear/head/hijab/brown
- display_name = "hijab, brown"
- path = /obj/item/clothing/head/hijab/brown
-
-/datum/gear/head/hijab/darkblue
- display_name = "hijab, dark blue"
- path = /obj/item/clothing/head/hijab/darkblue
-
-/datum/gear/head/hijab/darkred
- display_name = "hijab, dark red"
- path = /obj/item/clothing/head/hijab/darkred
-
-/datum/gear/head/hijab/green
- display_name = "hijab, green"
- path = /obj/item/clothing/head/hijab/green
-
-/datum/gear/head/hijab/grey
- display_name = "hijab, grey"
- path = /obj/item/clothing/head/hijab/grey
-
-/datum/gear/head/hijab/lightblue
- display_name = "hijab, light blue"
- path = /obj/item/clothing/head/hijab/lightblue
-
-/datum/gear/head/hijab/lightbrown
- display_name = "hijab, light brown"
- path = /obj/item/clothing/head/hijab/lightbrown
-
-/datum/gear/head/hijab/lightgreen
- display_name = "hijab, light green"
- path = /obj/item/clothing/head/hijab/lightgreen
-
-/datum/gear/head/hijab/lightpurple
- display_name = "hijab, light purple"
- path = /obj/item/clothing/head/hijab/lightpurple
-
-/datum/gear/head/hijab/lightred
- display_name = "hijab, light red"
- path = /obj/item/clothing/head/hijab/lightred
-
-/datum/gear/head/hijab/maroon
- display_name = "hijab, maroon"
- path = /obj/item/clothing/head/hijab/maroon
-
-/datum/gear/head/hijab/orange
- display_name = "hijab, orange"
- path = /obj/item/clothing/head/hijab/orange
-
-/datum/gear/head/hijab/pink
- display_name = "hijab, pink"
- path = /obj/item/clothing/head/hijab/pink
-
-/datum/gear/head/hijab/purple
- display_name = "hijab, purple"
- path = /obj/item/clothing/head/hijab/purple
-
-/datum/gear/head/hijab/red
- display_name = "hijab, red"
- path = /obj/item/clothing/head/hijab/red
-
-/datum/gear/head/hijab/yellowgreen
- display_name = "hijab, yellow green"
- path = /obj/item/clothing/head/hijab/yellowgreen
-
-/datum/gear/head/hijab/yellow
- display_name = "hijab, yellow"
- path = /obj/item/clothing/head/hijab/yellow
+/datum/gear/head/hijab/New()
+ ..()
+ gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/head/kippa
- display_name = "kippa, black"
+ display_name = "kippa"
path = /obj/item/clothing/head/kippa
-/datum/gear/head/kippa/white
- display_name = "kippa, white"
- path = /obj/item/clothing/head/kippa/white
-
-/datum/gear/head/kippa/aqua
- display_name = "kippa, aqua"
- path = /obj/item/clothing/head/kippa/aqua
-
-/datum/gear/head/kippa/blue
- display_name = "kippa, blue"
- path = /obj/item/clothing/head/kippa/blue
-
-/datum/gear/head/kippa/brown
- display_name = "kippa, brown"
- path = /obj/item/clothing/head/kippa/brown
-
-/datum/gear/head/kippa/darkblue
- display_name = "kippa, dark blue"
- path = /obj/item/clothing/head/kippa/darkblue
-
-/datum/gear/head/kippa/darkred
- display_name = "kippa, dark red"
- path = /obj/item/clothing/head/kippa/darkred
-
-/datum/gear/head/kippa/green
- display_name = "kippa, green"
- path = /obj/item/clothing/head/kippa/green
-
-/datum/gear/head/kippa/grey
- display_name = "kippa, grey"
- path = /obj/item/clothing/head/kippa/grey
-
-/datum/gear/head/kippa/lightblue
- display_name = "kippa, light blue"
- path = /obj/item/clothing/head/kippa/lightblue
-
-/datum/gear/head/kippa/lightbrown
- display_name = "kippa, light brown"
- path = /obj/item/clothing/head/kippa/lightbrown
-
-/datum/gear/head/kippa/lightgreen
- display_name = "kippa, light green"
- path = /obj/item/clothing/head/kippa/lightgreen
-
-/datum/gear/head/kippa/lightpurple
- display_name = "kippa, light purple"
- path = /obj/item/clothing/head/kippa/lightpurple
-
-/datum/gear/head/kippa/lightred
- display_name = "kippa, light red"
- path = /obj/item/clothing/head/kippa/lightred
-
-/datum/gear/head/kippa/maroon
- display_name = "kippa, maroon"
- path = /obj/item/clothing/head/kippa/maroon
-
-/datum/gear/head/kippa/orange
- display_name = "kippa, orange"
- path = /obj/item/clothing/head/kippa/orange
-
-/datum/gear/head/kippa/pink
- display_name = "kippa, pink"
- path = /obj/item/clothing/head/kippa/pink
-
-/datum/gear/head/kippa/purple
- display_name = "kippa, purple"
- path = /obj/item/clothing/head/kippa/purple
-
-/datum/gear/head/kippa/red
- display_name = "kippa, red"
- path = /obj/item/clothing/head/kippa/red
-
-/datum/gear/head/kippa/yellowgreen
- display_name = "kippa, yellow green"
- path = /obj/item/clothing/head/kippa/yellowgreen
-
-/datum/gear/head/kippa/yellow
- display_name = "kippa, yellow"
- path = /obj/item/clothing/head/kippa/yellow
+/datum/gear/head/kippa/New()
+ ..()
+ gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/head/turban
- display_name = "turban, black"
+ display_name = "turban"
path = /obj/item/clothing/head/turban
-/datum/gear/head/turban/white
- display_name = "turban, white"
- path = /obj/item/clothing/head/turban/white
-
-/datum/gear/head/turban/aqua
- display_name = "turban, aqua"
- path = /obj/item/clothing/head/turban/aqua
-
-/datum/gear/head/turban/blue
- display_name = "turban, blue"
- path = /obj/item/clothing/head/turban/blue
-
-/datum/gear/head/turban/brown
- display_name = "turban, brown"
- path = /obj/item/clothing/head/turban/brown
-
-/datum/gear/head/turban/darkblue
- display_name = "turban, dark blue"
- path = /obj/item/clothing/head/turban/darkblue
-
-/datum/gear/head/turban/darkred
- display_name = "turban, dark red"
- path = /obj/item/clothing/head/turban/darkred
-
-/datum/gear/head/turban/green
- display_name = "turban, green"
- path = /obj/item/clothing/head/turban/green
-
-/datum/gear/head/turban/grey
- display_name = "turban, grey"
- path = /obj/item/clothing/head/turban/grey
-
-/datum/gear/head/turban/lightblue
- display_name = "turban, light blue"
- path = /obj/item/clothing/head/turban/lightblue
-
-/datum/gear/head/turban/lightbrown
- display_name = "turban, light brown"
- path = /obj/item/clothing/head/turban/lightbrown
-
-/datum/gear/head/turban/lightgreen
- display_name = "turban, light green"
- path = /obj/item/clothing/head/turban/lightgreen
-
-/datum/gear/head/turban/lightpurple
- display_name = "turban, light purple"
- path = /obj/item/clothing/head/turban/lightpurple
-
-/datum/gear/head/turban/lightred
- display_name = "turban, light red"
- path = /obj/item/clothing/head/turban/lightred
-
-/datum/gear/head/turban/maroon
- display_name = "turban, maroon"
- path = /obj/item/clothing/head/turban/maroon
-
-/datum/gear/head/turban/orange
- display_name = "turban, orange"
- path = /obj/item/clothing/head/turban/orange
-
-/datum/gear/head/turban/pink
- display_name = "turban, pink"
- path = /obj/item/clothing/head/turban/pink
-
-/datum/gear/head/turban/purple
- display_name = "turban, purple"
- path = /obj/item/clothing/head/turban/purple
-
-/datum/gear/head/turban/red
- display_name = "turban, red"
- path = /obj/item/clothing/head/turban/red
-
-/datum/gear/head/turban/yellowgreen
- display_name = "turban, yellow green"
- path = /obj/item/clothing/head/turban/yellowgreen
-
-/datum/gear/head/turban/yellow
- display_name = "turban, yellow"
- path = /obj/item/clothing/head/turban/yellow
\ No newline at end of file
+/datum/gear/head/turban/New()
+ ..()
+ gear_tweaks = list(gear_tweak_free_color_choice)
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 17c7cd0666..e9143b4bca 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -273,329 +273,22 @@
icon_state = "orange_bandana"
body_parts_covered = 0
-//Hijabs
-
/obj/item/clothing/head/hijab
- name = "black hijab"
- desc = "A black veil that is wrapped to cover the head and chest"
- icon_state = "hijab_black"
+ name = "hijab"
+ desc = "A veil that is wrapped to cover the head and chest"
+ icon_state = "hijab"
body_parts_covered = 0
flags_inv = BLOCKHAIR
-/obj/item/clothing/head/hijab/white
- name = "white hijab"
- desc = "A white veil that is wrapped to cover the head and chest"
- icon_state = "hijab_white"
-
-/obj/item/clothing/head/hijab/aqua
- name = "aqua hijab"
- desc = "An aqua veil that is wrapped to cover the head and chest"
- icon_state = "hijab_aqua"
-
-/obj/item/clothing/head/hijab/blue
- name = "blue hijab"
- desc = "A blue veil that is wrapped to cover the head and chest"
- icon_state = "hijab_blue"
-
-/obj/item/clothing/head/hijab/brown
- name = "brown hijab"
- desc = "A brown veil that is wrapped to cover the head and chest"
- icon_state = "hijab_brown"
-
-/obj/item/clothing/head/hijab/darkblue
- name = "bark blue hijab"
- desc = "A dark blue veil that is wrapped to cover the head and chest"
- icon_state = "hijab_darkblue"
-
-/obj/item/clothing/head/hijab/darkred
- name = "dark red hijab"
- desc = "A dark red veil that is wrapped to cover the head and chest"
- icon_state = "hijab_darkred"
-
-/obj/item/clothing/head/hijab/green
- name = "green hijab"
- desc = "A green veil that is wrapped to cover the head and chest"
- icon_state = "hijab_green"
-
-/obj/item/clothing/head/hijab/grey
- name = "grey hijab"
- desc = "A grey veil that is wrapped to cover the head and chest"
- icon_state = "hijab_grey"
-
-/obj/item/clothing/head/hijab/lightblue
- name = "light blue hijab"
- desc = "A light blue veil that is wrapped to cover the head and chest"
- icon_state = "hijab_lightblue"
-
-/obj/item/clothing/head/hijab/lightbrown
- name = "light brown hijab"
- desc = "A light brown veil that is wrapped to cover the head and chest"
- icon_state = "hijab_lightbrown"
-
-/obj/item/clothing/head/hijab/lightgreen
- name = "light green hijab"
- desc = "A light green veil that is wrapped to cover the head and chest"
- icon_state = "hijab_lightgreen"
-
-/obj/item/clothing/head/hijab/lightpurple
- name = "light purple hijab"
- desc = "A light purple veil that is wrapped to cover the head and chest"
- icon_state = "hijab_lightpurple"
-
-/obj/item/clothing/head/hijab/lightred
- name = "light red hijab"
- desc = "A light red veil that is wrapped to cover the head and chest"
- icon_state = "hijab_lightred"
-
-/obj/item/clothing/head/hijab/maroon
- name = "maroon hijab"
- desc = "A maroon veil that is wrapped to cover the head and chest"
- icon_state = "hijab_maroon"
-
-/obj/item/clothing/head/hijab/orange
- name = "orange hijab"
- desc = "An orange veil that is wrapped to cover the head and chest"
- icon_state = "hijab_orange"
-
-/obj/item/clothing/head/hijab/pink
- name = "pink hijab"
- desc = "A pink veil that is wrapped to cover the head and chest"
- icon_state = "hijab_pink"
-
-/obj/item/clothing/head/hijab/purple
- name = "purple hijab"
- desc = "A purple veil that is wrapped to cover the head and chest"
- icon_state = "hijab_purple"
-
-/obj/item/clothing/head/hijab/red
- name = "red hijab"
- desc = "A red veil that is wrapped to cover the head and chest"
- icon_state = "hijab_red"
-
-/obj/item/clothing/head/hijab/yellowgreen
- name = "yellow green hijab"
- desc = "A yellow green veil that is wrapped to cover the head and chest"
- icon_state = "hijab_yellowgreen"
-
-/obj/item/clothing/head/hijab/yellow
- name = "yellow hijab"
- desc = "A yellow veil that is wrapped to cover the head and chest"
- icon_state = "hijab_yellow"
-
-//Kippot
-
/obj/item/clothing/head/kippa
- name = "black kippa"
- desc = "A small, brimless cap. It is black."
- icon_state = "kippa_black"
+ name = "kippa"
+ desc = "A small, brimless cap."
+ icon_state = "kippa"
body_parts_covered = 0
-/obj/item/clothing/head/kippa/aqua
- name = "aqua kippa"
- desc = "A small, brimless cap. It is aqua."
- icon_state = "kippa_aqua"
-
-/obj/item/clothing/head/kippa/blue
- name = "blue kippa"
- desc = "A small, brimless cap. It is blue."
- icon_state = "kippa_blue"
-
-/obj/item/clothing/head/kippa/brown
- name = "brown kippa"
- desc = "A small, brimless cap. It is blue."
- icon_state = "kippa_brown"
-
-/obj/item/clothing/head/kippa/darkblue
- name = "dark blue kippa"
- desc = "A small, brimless cap. It is dark blue."
- icon_state = "kippa_darkblue"
-
-/obj/item/clothing/head/kippa/darkred
- name = "dark red kippa"
- desc = "A small, brimless cap. It is dark red."
- icon_state = "kippa_darkred"
-
-/obj/item/clothing/head/kippa/green
- name = "green kippa"
- desc = "A small, brimless cap. It is green."
- icon_state = "kippa_green"
-
-/obj/item/clothing/head/kippa/grey
- name = "grey kippa"
- desc = "A small, brimless cap. It is grey."
- icon_state = "kippa_grey"
-
-/obj/item/clothing/head/kippa/lightblue
- name = "light blue kippa"
- desc = "A small, brimless cap. It is light blue."
- icon_state = "kippa_lightblue"
-
-/obj/item/clothing/head/kippa/lightbrown
- name = "light brown kippa"
- desc = "A small, brimless cap. It is light brown."
- icon_state = "kippa_lightbrown"
-
-/obj/item/clothing/head/kippa/lightgreen
- name = "light green kippa"
- desc = "A small, brimless cap. It is light green."
- icon_state = "kippa_lightgreen"
-
-/obj/item/clothing/head/kippa/lightpurple
- name = "light purple kippa"
- desc = "A small, brimless cap. It is light purple."
- icon_state = "kippa_lightpurple"
-
-/obj/item/clothing/head/kippa/lightred
- name = "light red kippa"
- desc = "A small, brimless cap. It is light red."
- icon_state = "kippa_lightred"
-
-/obj/item/clothing/head/kippa/maroon
- name = "maroon kippa"
- desc = "A small, brimless cap. It is maroon."
- icon_state = "kippa_maroon"
-
-/obj/item/clothing/head/kippa/orange
- name = "orange kippa"
- desc = "A small, brimless cap. It is orange."
- icon_state = "kippa_orange"
-
-/obj/item/clothing/head/kippa/pink
- name = "pink kippa"
- desc = "A small, brimless cap. It is pink."
- icon_state = "kippa_pink"
-
-/obj/item/clothing/head/kippa/purple
- name = "purple kippa"
- desc = "A small, brimless cap. It is purple."
- icon_state = "kippa_purple"
-
-/obj/item/clothing/head/kippa/red
- name = "red kippa"
- desc = "A small, brimless cap. It is red."
- icon_state = "kippa_red"
-
-/obj/item/clothing/head/kippa/white
- name = "white kippa"
- desc = "A small, brimless cap. It is white."
- icon_state = "kippa_white"
-
-/obj/item/clothing/head/kippa/yellowgreen
- name = "yellow green kippa"
- desc = "A small, brimless cap. It is yellow green."
- icon_state = "kippa_yellowgreen"
-
-/obj/item/clothing/head/kippa/yellow
- name = "yellow kippa"
- desc = "A small, brimless cap. It is yellow."
- icon_state = "kippa_yellow"
-
-//Turbans
-
/obj/item/clothing/head/turban
- name = "black turban"
- desc = "A black cloth used to wind around the head"
- icon_state = "turban_black"
+ name = "turban"
+ desc = "A cloth used to wind around the head"
+ icon_state = "turban"
body_parts_covered = 0
flags_inv = BLOCKHAIR
-
-/obj/item/clothing/head/turban/aqua
- name = "aqua turban"
- desc = "An aqua cloth used to wind around the head."
- icon_state = "turban_aqua"
-
-/obj/item/clothing/head/turban/blue
- name = "blue turban"
- desc = "A blue cloth used to wind around the head."
- icon_state = "turban_blue"
-
-/obj/item/clothing/head/turban/brown
- name = "brown turban"
- desc = "A brown cloth used to wind around the head."
- icon_state = "turban_brown"
-
-/obj/item/clothing/head/turban/darkblue
- name = "dark blue turban"
- desc = "A dark blue cloth used to wind around the head."
- icon_state = "turban_darkblue"
-
-/obj/item/clothing/head/turban/darkred
- name = "dark red turban"
- desc = "A dark red cloth used to wind around the head."
- icon_state = "turban_darkred"
-
-/obj/item/clothing/head/turban/green
- name = "green turban"
- desc = "A green cloth used to wind around the head."
- icon_state = "turban_green"
-
-/obj/item/clothing/head/turban/grey
- name = "grey turban"
- desc = "A grey cloth used to wind around the head."
- icon_state = "turban_grey"
-
-/obj/item/clothing/head/turban/lightblue
- name = "light blue turban"
- desc = "A light blue cloth used to wind around the head."
- icon_state = "turban_lightblue"
-
-/obj/item/clothing/head/turban/lightbrown
- name = "light brown turban"
- desc = "A light brown cloth used to wind around the head."
- icon_state = "turban_lightbrown"
-
-/obj/item/clothing/head/turban/lightgreen
- name = "light green turban"
- desc = "A light green cloth used to wind around the head."
- icon_state = "turban_lightgreen"
-
-/obj/item/clothing/head/turban/lightpurple
- name = "light purple turban"
- desc = "A light purple cloth used to wind around the head."
- icon_state = "turban_lightpurple"
-
-/obj/item/clothing/head/turban/lightred
- name = "light red turban"
- desc = "A light red cloth used to wind around the head."
- icon_state = "turban_lightred"
-
-/obj/item/clothing/head/turban/maroon
- name = "maroon turban"
- desc = "A maroon cloth used to wind around the head."
- icon_state = "turban_maroon"
-
-/obj/item/clothing/head/turban/orange
- name = "orange turban"
- desc = "An orange cloth used to wind around the head."
- icon_state = "turban_orange"
-
-/obj/item/clothing/head/turban/pink
- name = "pink turban"
- desc = "A pink cloth used to wind around the head."
- icon_state = "turban_pink"
-
-/obj/item/clothing/head/turban/purple
- name = "purple turban"
- desc = "A purple cloth used to wind around the head."
- icon_state = "turban_purple"
-
-/obj/item/clothing/head/turban/red
- name = "red turban"
- desc = "A red cloth used to wind around the head."
- icon_state = "turban_red"
-
-/obj/item/clothing/head/turban/white
- name = "white turban"
- desc = "A white cloth used to wind around the head."
- icon_state = "turban_white"
-
-/obj/item/clothing/head/turban/yellowgreen
- name = "yellow green turban"
- desc = "A yellow green cloth used to wind around the head."
- icon_state = "turban_yellowgreen"
-
-/obj/item/clothing/head/turban/yellow
- name = "yellow turban"
- desc = "A yellow cloth used to wind around the head."
- icon_state = "turban_yellow"
-
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index a3c1bbe37f..7bae36558d 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index fd9c280160..26a6110e38 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ