diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 45f8ce8fb3..976ef9e3e6 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -391,6 +391,10 @@ BLIND // can't see anything
//Under clothing
/obj/item/clothing/under
icon = 'icons/obj/clothing/uniforms.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_uniforms.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_uniforms.dmi',
+ )
name = "under"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
permeability_coefficient = 0.90
@@ -408,12 +412,22 @@ BLIND // can't see anything
var/displays_id = 1
var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
sprite_sheets = list("Vox" = 'icons/mob/species/vox/uniform.dmi')
- var/item_color //temporary until item_state override is implemented
+
+ //convenience var for defining the icon state for the overlay used when the clothing is worn.
+ //Also used by rolling/unrolling.
+ var/worn_state = null
/obj/item/clothing/under/New()
+ if(worn_state)
+ if(!item_state_slots)
+ item_state_slots = list()
+ item_state_slots[slot_w_uniform_str] = worn_state
+ else
+ worn_state = icon_state
+
//autodetect rollability
if(rolled_down < 0)
- if((initial(item_color) + "_d_s") in icon_states('icons/mob/uniform.dmi'))
+ if((worn_state + "_d_s") in icon_states('icons/mob/uniform.dmi'))
rolled_down = 0
/obj/item/clothing/under/update_clothing_icon()
@@ -563,10 +577,10 @@ BLIND // can't see anything
rolled_down = !rolled_down
if(rolled_down)
body_parts_covered &= LOWER_TORSO|LEGS|FEET
- item_color = "[initial(item_color)]_d"
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_d"
else
body_parts_covered = initial(body_parts_covered)
- item_color = initial(item_color)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
update_clothing_icon()
/obj/item/clothing/under/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A)
diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm
index bfef111a3a..4de31fb6e3 100644
--- a/code/modules/clothing/under/chameleon.dm
+++ b/code/modules/clothing/under/chameleon.dm
@@ -7,7 +7,7 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
+ worn_state = "black"
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
origin_tech = "syndicate=3"
var/list/clothing_choices = list()
@@ -24,7 +24,7 @@
name = "psychedelic"
desc = "Groovy!"
icon_state = "psyche"
- item_color = "psyche"
+ item_state_slots[slot_w_uniform_str] = "psyche"
update_icon()
update_clothing_icon()
@@ -46,7 +46,8 @@
name = A.name
icon_state = A.icon_state
item_state = A.item_state
- item_color = A.item_color
+ item_state_slots = A.item_state_slots
+ worn_state = A.worn_state
body_parts_covered = A.body_parts_covered
update_clothing_icon() //so our overlays update.
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 483974f7a2..725f51b1ef 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -2,39 +2,39 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
+ worn_state = "black"
/obj/item/clothing/under/color/blackf
name = "feminine black jumpsuit"
desc = "It's very smart and in a ladies-size!"
icon_state = "black"
item_state = "bl_suit"
- item_color = "blackf"
+ worn_state = "blackf"
/obj/item/clothing/under/color/blue
name = "blue jumpsuit"
icon_state = "blue"
item_state = "b_suit"
- item_color = "blue"
+ worn_state = "blue"
/obj/item/clothing/under/color/green
name = "green jumpsuit"
icon_state = "green"
item_state = "g_suit"
- item_color = "green"
+ worn_state = "green"
/obj/item/clothing/under/color/grey
name = "grey jumpsuit"
icon_state = "grey"
item_state = "gy_suit"
- item_color = "grey"
+ worn_state = "grey"
/obj/item/clothing/under/color/orange
name = "orange jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "orange"
item_state = "o_suit"
- item_color = "orange"
+ worn_state = "orange"
has_sensor = 2
sensor_mode = 3
@@ -42,101 +42,106 @@
name = "pink jumpsuit"
icon_state = "pink"
item_state = "p_suit"
- item_color = "pink"
+ worn_state = "pink"
/obj/item/clothing/under/color/red
name = "red jumpsuit"
icon_state = "red"
item_state = "r_suit"
- item_color = "red"
+ worn_state = "red"
/obj/item/clothing/under/color/white
name = "white jumpsuit"
icon_state = "white"
item_state = "w_suit"
- item_color = "white"
+ worn_state = "white"
/obj/item/clothing/under/color/yellow
name = "yellow jumpsuit"
icon_state = "yellow"
item_state = "y_suit"
- item_color = "yellow"
+ worn_state = "yellow"
/obj/item/clothing/under/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
- item_color = "psyche"
+ item_state = "psyche"
+ worn_state = "psyche"
/obj/item/clothing/under/lightblue
name = "lightblue jumpsuit"
desc = "lightblue"
icon_state = "lightblue"
- item_color = "lightblue"
+ item_state = "b_suit"
+ worn_state = "lightblue"
/obj/item/clothing/under/aqua
name = "aqua jumpsuit"
desc = "aqua"
icon_state = "aqua"
- item_color = "aqua"
+ item_state = "b_suit"
+ worn_state = "aqua"
/obj/item/clothing/under/purple
name = "purple jumpsuit"
desc = "purple"
icon_state = "purple"
item_state = "p_suit"
- item_color = "purple"
+ worn_state = "purple"
/obj/item/clothing/under/lightpurple
name = "lightpurple jumpsuit"
desc = "lightpurple"
icon_state = "lightpurple"
- item_color = "lightpurple"
+ item_state = "p_suit"
+ worn_state = "lightpurple"
/obj/item/clothing/under/lightgreen
name = "lightgreen jumpsuit"
desc = "lightgreen"
icon_state = "lightgreen"
- item_color = "lightgreen"
-
-/obj/item/clothing/under/lightblue
- name = "lightblue jumpsuit"
- desc = "lightblue"
- icon_state = "lightblue"
- item_color = "lightblue"
+ item_state = "g_suit"
+ worn_state = "lightgreen"
/obj/item/clothing/under/lightbrown
name = "lightbrown jumpsuit"
desc = "lightbrown"
icon_state = "lightbrown"
- item_color = "lightbrown"
+ item_state = "lb_suit"
+ worn_state = "lightbrown"
/obj/item/clothing/under/brown
name = "brown jumpsuit"
desc = "brown"
icon_state = "brown"
- item_color = "brown"
+ item_state = "lb_suit"
+ worn_state = "brown"
/obj/item/clothing/under/yellowgreen
name = "yellowgreen jumpsuit"
desc = "yellowgreen"
icon_state = "yellowgreen"
- item_color = "yellowgreen"
+ item_state = "y_suit"
+ worn_state = "yellowgreen"
/obj/item/clothing/under/darkblue
name = "darkblue jumpsuit"
desc = "darkblue"
icon_state = "darkblue"
- item_color = "darkblue"
+ item_state = "b_suit"
+ worn_state = "darkblue"
/obj/item/clothing/under/lightred
name = "lightred jumpsuit"
desc = "lightred"
icon_state = "lightred"
- item_color = "lightred"
+ item_state = "r_suit"
+ worn_state = "lightred"
/obj/item/clothing/under/darkred
name = "darkred jumpsuit"
desc = "darkred"
icon_state = "darkred"
- item_color = "darkred"
+ item_state = "r_suit"
+ worn_state = "darkred"
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 9ac511b4f7..37f7a74c96 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -5,15 +5,15 @@
name = "bartender's uniform"
icon_state = "ba_suit"
item_state = "ba_suit"
- item_color = "ba_suit"
+ worn_state = "ba_suit"
/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
name = "captain's jumpsuit"
icon_state = "captain"
- item_state = "caparmor"
- item_color = "captain"
+ item_state = "b_suit"
+ worn_state = "captain"
/obj/item/clothing/under/rank/cargo
@@ -21,7 +21,7 @@
desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
icon_state = "qm"
item_state = "lb_suit"
- item_color = "qm"
+ worn_state = "qm"
/obj/item/clothing/under/rank/cargotech
@@ -29,7 +29,7 @@
desc = "Shooooorts! They're comfy and easy to wear!"
icon_state = "cargotech"
item_state = "lb_suit"
- item_color = "cargo"
+ worn_state = "cargo"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
@@ -38,14 +38,15 @@
name = "chaplain's jumpsuit"
icon_state = "chaplain"
item_state = "bl_suit"
- item_color = "chapblack"
+ worn_state = "chapblack"
/obj/item/clothing/under/rank/chef
desc = "It's an apron which is given only to the most hardcore chefs in space."
name = "chef's uniform"
icon_state = "chef"
- item_color = "chef"
+ item_state = "w_suit"
+ worn_state = "chef"
/obj/item/clothing/under/rank/clown
@@ -53,7 +54,7 @@
desc = "'HONK!'"
icon_state = "clown"
item_state = "clown"
- item_color = "clown"
+ worn_state = "clown"
/obj/item/clothing/under/rank/head_of_personnel
@@ -61,14 +62,14 @@
name = "head of personnel's jumpsuit"
icon_state = "hop"
item_state = "b_suit"
- item_color = "hop"
+ worn_state = "hop"
/obj/item/clothing/under/rank/head_of_personnel_whimsy
desc = "A blue jacket and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does."
name = "head of personnel's suit"
icon_state = "hopwhimsy"
- item_state = "hopwhimsy"
- item_color = "hopwhimsy"
+ item_state = "b_suit"
+ worn_state = "hopwhimsy"
/obj/item/clothing/under/rank/hydroponics
@@ -76,7 +77,7 @@
name = "botanist's jumpsuit"
icon_state = "hydroponics"
item_state = "g_suit"
- item_color = "hydroponics"
+ worn_state = "hydroponics"
permeability_coefficient = 0.50
@@ -84,15 +85,16 @@
desc = "The plain, professional attire of an Internal Affairs Agent. The collar is immaculately starched."
name = "Internal Affairs uniform"
icon_state = "internalaffairs"
- item_state = "internalaffairs"
- item_color = "internalaffairs"
+ item_state = "ba_suit"
+ worn_state = "internalaffairs"
/obj/item/clothing/under/rank/janitor
desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
name = "janitor's jumpsuit"
icon_state = "janitor"
- item_color = "janitor"
+ worn_state = "janitor"
+ item_state = "janitor"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -105,69 +107,69 @@
name = "black Lawyer suit"
icon_state = "lawyer_black"
item_state = "lawyer_black"
- item_color = "lawyer_black"
+ worn_state = "lawyer_black"
/obj/item/clothing/under/lawyer/female
name = "black Lawyer suit"
icon_state = "black_suit_fem"
- item_state = "black_suit_fem"
- item_color = "black_suit_fem"
+ item_state = "lawyer_black"
+ worn_state = "black_suit_fem"
/obj/item/clothing/under/lawyer/red
name = "red Lawyer suit"
icon_state = "lawyer_red"
item_state = "lawyer_red"
- item_color = "lawyer_red"
+ worn_state = "lawyer_red"
/obj/item/clothing/under/lawyer/blue
name = "blue Lawyer suit"
icon_state = "lawyer_blue"
item_state = "lawyer_blue"
- item_color = "lawyer_blue"
+ worn_state = "lawyer_blue"
/obj/item/clothing/under/lawyer/bluesuit
name = "Blue Suit"
desc = "A classy suit and tie"
icon_state = "bluesuit"
- item_state = "bluesuit"
- item_color = "bluesuit"
+ item_state = "ba_suit"
+ worn_state = "bluesuit"
/obj/item/clothing/under/lawyer/purpsuit
name = "Purple Suit"
icon_state = "lawyer_purp"
- item_state = "lawyer_purp"
- item_color = "lawyer_purp"
+ item_state = "ba_suit"
+ worn_state = "lawyer_purp"
/obj/item/clothing/under/lawyer/oldman
name = "Old Man's Suit"
desc = "A classic suit for the older gentleman with built in back support."
icon_state = "oldman"
- item_state = "oldman"
- item_color = "oldman"
+ item_state = "johnny"
+ worn_state = "oldman"
/obj/item/clothing/under/librarian
name = "sensible suit"
desc = "It's very... sensible."
icon_state = "red_suit"
- item_state = "red_suit"
- item_color = "red_suit"
+ item_state = "lawyer_red"
+ worn_state = "red_suit"
/obj/item/clothing/under/mime
name = "mime's outfit"
desc = "It's not very colourful."
icon_state = "mime"
- item_state = "mime"
- item_color = "mime"
+ item_state = "ba_suit"
+ worn_state = "mime"
/obj/item/clothing/under/rank/miner
desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
name = "shaft miner's jumpsuit"
icon_state = "miner"
- item_state = "miner"
- item_color = "miner"
+ item_state = "lb_suit"
+ worn_state = "miner"
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 0b8cebe57a..8be9807e1f 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -4,7 +4,7 @@
name = "chief engineer's jumpsuit"
icon_state = "chiefengineer"
item_state = "g_suit"
- item_color = "chief"
+ worn_state = "chief"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/atmospheric_technician
@@ -12,19 +12,19 @@
name = "atmospheric technician's jumpsuit"
icon_state = "atmos"
item_state = "atmos_suit"
- item_color = "atmos"
+ worn_state = "atmos"
/obj/item/clothing/under/rank/engineer
desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
name = "engineer's jumpsuit"
icon_state = "engine"
item_state = "engi_suit"
- item_color = "engine"
+ worn_state = "engine"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/roboticist
desc = "It's a slimming black with reinforced seams; great for industrial work."
name = "roboticist's jumpsuit"
icon_state = "robotics"
- item_state = "robotics"
- item_color = "robotics"
\ No newline at end of file
+ item_state = "bl_suit"
+ worn_state = "robotics"
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index b1554dd02a..10e6b05518 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -5,23 +5,24 @@
desc = "It's a jumpsuit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
name = "research director's jumpsuit"
icon_state = "director"
- item_state = "g_suit"
- item_color = "director"
+ item_state = "lb_suit"
+ worn_state = "director"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/research_director/rdalt
desc = "A dress suit and slacks stained with hard work and dedication to science. Perhaps other things as well, but mostly hard work and dedication."
name = "head researcher uniform"
icon_state = "rdalt"
- item_state = "rdalt"
- item_color = "rdalt"
+ item_state = "lb_suit"
+ worn_state = "rdalt"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/research_director/dress_rd
name = "research director dress uniform"
desc = "Feminine fashion for the style concious RD. Its fabric provides minor protection from biological contaminants."
icon_state = "dress_rd"
- item_color = "dress_rd"
+ item_state = "lb_suit"
+ worn_state = "dress_rd"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
@@ -30,7 +31,7 @@
name = "scientist's jumpsuit"
icon_state = "science"
item_state = "w_suit"
- item_color = "sciencewhite"
+ worn_state = "sciencewhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
@@ -40,7 +41,7 @@
name = "chemist's jumpsuit"
icon_state = "chemistry"
item_state = "w_suit"
- item_color = "chemistrywhite"
+ worn_state = "chemistrywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -52,7 +53,7 @@
name = "chief medical officer's jumpsuit"
icon_state = "cmo"
item_state = "w_suit"
- item_color = "cmo"
+ worn_state = "cmo"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -61,7 +62,7 @@
name = "geneticist's jumpsuit"
icon_state = "genetics"
item_state = "w_suit"
- item_color = "geneticswhite"
+ worn_state = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -70,7 +71,7 @@
name = "virologist's jumpsuit"
icon_state = "virology"
item_state = "w_suit"
- item_color = "virologywhite"
+ worn_state = "virologywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -79,7 +80,7 @@
name = "nurse's suit"
icon_state = "nursesuit"
item_state = "nursesuit"
- item_color = "nursesuit"
+ worn_state = "nursesuit"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
@@ -88,18 +89,18 @@
desc = "A dress commonly worn by the nursing staff in the medical department."
name = "nurse's dress"
icon_state = "nurse"
- item_state = "nurse"
- item_color = "nurse"
+ item_state = "nursesuit"
+ worn_state = "nurse"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/rank/orderly
- desc = "A white suit to be worn by orderly people who love orderly things."
+ desc = "A white suit to be worn by medical attendants."
name = "orderly's uniform"
icon_state = "orderly"
- item_state = "orderly"
- item_color = "orderly"
+ item_state = "nursesuit"
+ worn_state = "orderly"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -108,7 +109,7 @@
name = "medical doctor's jumpsuit"
icon_state = "medical"
item_state = "w_suit"
- item_color = "medical"
+ worn_state = "medical"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -116,39 +117,43 @@
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue"
- item_color = "scrubsblue"
+ item_state = "b_suit"
+ worn_state = "scrubsblue"
/obj/item/clothing/under/rank/medical/green
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
- item_color = "scrubsgreen"
+ item_state = "g_suit"
+ worn_state = "scrubsgreen"
/obj/item/clothing/under/rank/medical/purple
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
- item_color = "scrubspurple"
+ item_state = "p_suit"
+ worn_state = "scrubspurple"
/obj/item/clothing/under/rank/medical/black
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in black."
icon_state = "scrubsblack"
- item_color = "scrubsblack"
+ item_state = "bl_suit"
+ worn_state = "scrubsblack"
/obj/item/clothing/under/rank/psych
desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist."
name = "psychiatrist's jumpsuit"
icon_state = "psych"
item_state = "w_suit"
- item_color = "psych"
+ worn_state = "psych"
/obj/item/clothing/under/rank/psych/turtleneck
desc = "A turqouise turtleneck and a pair of dark blue slacks, belonging to a psychologist."
name = "psychologist's turtleneck"
icon_state = "psychturtle"
item_state = "b_suit"
- item_color = "psychturtle"
+ worn_state = "psychturtle"
/*
@@ -159,7 +164,7 @@
name = "geneticist's jumpsuit"
icon_state = "genetics_new"
item_state = "w_suit"
- item_color = "genetics_new"
+ worn_state = "genetics_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -168,7 +173,7 @@
name = "chemist's jumpsuit"
icon_state = "chemist_new"
item_state = "w_suit"
- item_color = "chemist_new"
+ worn_state = "chemist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
@@ -177,7 +182,7 @@
name = "scientist's jumpsuit"
icon_state = "scientist_new"
item_state = "w_suit"
- item_color = "scientist_new"
+ worn_state = "scientist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
@@ -186,6 +191,6 @@
name = "virologist's jumpsuit"
icon_state = "virologist_new"
item_state = "w_suit"
- item_color = "virologist_new"
+ worn_state = "virologist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 51464410a8..003e8ba048 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -13,7 +13,7 @@
name = "warden's jumpsuit"
icon_state = "warden"
item_state = "r_suit"
- item_color = "warden"
+ worn_state = "warden"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
@@ -22,7 +22,7 @@
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
icon_state = "security"
item_state = "r_suit"
- item_color = "secred"
+ worn_state = "secred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
@@ -30,8 +30,8 @@
name = "dispatcher's uniform"
desc = "A dress shirt and khakis with a security patch sewn on."
icon_state = "dispatch"
- item_state = "dispatch"
- item_color = "dispatch"
+ //item_state = "dispatch"
+ worn_state = "dispatch"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
siemens_coefficient = 0.9
@@ -41,26 +41,26 @@
desc = "It's made of a slightly sturdier material, to allow for robust protection."
icon_state = "redshirt2"
item_state = "r_suit"
- item_color = "redshirt2"
+ worn_state = "redshirt2"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
/obj/item/clothing/under/rank/security/corp
icon_state = "sec_corporate"
- item_state = "sec_corporate"
- item_color = "sec_corporate"
+ //item_state = "sec_corporate"
+ worn_state = "sec_corporate"
/obj/item/clothing/under/rank/warden/corp
icon_state = "warden_corporate"
- item_state = "warden_corporate"
- item_color = "warden_corporate"
+ //item_state = "warden_corporate"
+ worn_state = "warden_corporate"
/obj/item/clothing/under/tactical
name = "tactical jumpsuit"
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
icon_state = "swatunder"
- item_state = "swatunder"
- item_color = "swatunder"
+ //item_state = "swatunder"
+ worn_state = "swatunder"
armor = list(melee = 10, bullet = 5, laser = 5,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
@@ -72,23 +72,24 @@
desc = "Someone who wears this means business."
icon_state = "detective"
item_state = "det"
- item_color = "detective"
+ worn_state = "detective"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
/obj/item/clothing/under/det/black
icon_state = "detective2"
- item_color = "detective2"
+ worn_state = "detective2"
+ item_state = "sl_suit"
/obj/item/clothing/under/det/slob
icon_state = "polsuit"
- item_color = "polsuit"
+ worn_state = "polsuit"
/obj/item/clothing/under/det/slob/verb/rollup()
set name = "Roll suit sleeves"
set category = "Object"
set src in usr
- item_color = item_color == "polsuit" ? "polsuit_rolled" : "polsuit"
+ worn_state = worn_state == "polsuit" ? "polsuit_rolled" : "polsuit"
if (ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_w_uniform(1)
@@ -114,14 +115,14 @@
name = "head of security's jumpsuit"
icon_state = "hos"
item_state = "r_suit"
- item_color = "hosred"
+ worn_state = "hosred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.8
/obj/item/clothing/under/rank/head_of_security/corp
icon_state = "hos_corporate"
- item_state = "hos_corporate"
- item_color = "hos_corporate"
+ //item_state = "hos_corporate"
+ worn_state = "hos_corporate"
/obj/item/clothing/head/helmet/HoS
name = "Head of Security Hat"
@@ -157,7 +158,7 @@
name = "head of security's jumpsuit"
icon_state = "jensen"
item_state = "jensen"
- item_color = "jensen"
+ worn_state = "jensen"
siemens_coefficient = 0.6
/obj/item/clothing/suit/armor/hos/jensen
@@ -177,19 +178,19 @@
name = "security officer's uniform"
desc = "The latest in fashionable security outfits."
icon_state = "officerblueclothes"
- item_state = "officerblueclothes"
- item_color = "officerblueclothes"
+ item_state = "ba_suit"
+ worn_state = "officerblueclothes"
/obj/item/clothing/under/rank/head_of_security/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security."
name = "head of security's uniform"
icon_state = "hosblueclothes"
- item_state = "hosblueclothes"
- item_color = "hosblueclothes"
+ item_state = "ba_suit"
+ worn_state = "hosblueclothes"
/obj/item/clothing/under/rank/warden/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Warden."
name = "warden's uniform"
icon_state = "wardenblueclothes"
- item_state = "wardenblueclothes"
- item_color = "wardenblueclothes"
+ item_state = "ba_suit"
+ worn_state = "wardenblueclothes"
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 09a187018c..351f95664c 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -2,56 +2,57 @@
name = "red pj's"
desc = "Sleepwear."
icon_state = "red_pyjamas"
- item_color = "red_pyjamas"
+ worn_state = "red_pyjamas"
item_state = "w_suit"
/obj/item/clothing/under/pj/blue
name = "blue pj's"
desc = "Sleepwear."
icon_state = "blue_pyjamas"
- item_color = "blue_pyjamas"
+ worn_state = "blue_pyjamas"
item_state = "w_suit"
/obj/item/clothing/under/captain_fly
name = "rogue's uniform"
desc = "For the man who doesn't care because he's still free."
icon_state = "captain_fly"
- item_state = "captain_fly"
- item_color = "captain_fly"
+ item_state = "r_suit"
+ worn_state = "captain_fly"
/obj/item/clothing/under/scratch
name = "white suit"
desc = "A white suit, suitable for an excellent host"
icon_state = "scratch"
item_state = "scratch"
- item_color = "scratch"
+ worn_state = "scratch"
/obj/item/clothing/under/sl_suit
desc = "It's a very amish looking suit."
name = "amish suit"
icon_state = "sl_suit"
- item_color = "sl_suit"
+ worn_state = "sl_suit"
+ item_state = "sl_suit"
/obj/item/clothing/under/waiter
name = "waiter's outfit"
desc = "It's a very smart uniform with a special pocket for tip."
icon_state = "waiter"
item_state = "waiter"
- item_color = "waiter"
+ worn_state = "waiter"
/obj/item/clothing/under/rank/mailman
name = "mailman's jumpsuit"
desc = "'Special delivery!'"
icon_state = "mailman"
item_state = "b_suit"
- item_color = "mailman"
+ worn_state = "mailman"
/obj/item/clothing/under/sexyclown
name = "sexy-clown suit"
desc = "It makes you look HONKable!"
icon_state = "sexyclown"
- item_state = "sexyclown"
- item_color = "sexyclown"
+ item_state = "clown"
+ worn_state = "sexyclown"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/rank/vice
@@ -59,31 +60,31 @@
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
icon_state = "vice"
item_state = "gy_suit"
- item_color = "vice"
-
+ worn_state = "vice"
+//This set of uniforms looks fairly fancy and is generally used for high-ranking NT personnel from what I've seen, so lets give them appropriate ranks.
/obj/item/clothing/under/rank/centcom
- desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Ensign.\""
- name = "\improper NanoTrasen Navy Uniform"
+ desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain.\""
+ name = "\improper NanoTrasen Officer's Dress Uniform"
icon_state = "officer"
- item_state = "g_suit"
- item_color = "officer"
+ item_state = "lawyer_black"
+ worn_state = "officer"
displays_id = 0
/obj/item/clothing/under/rank/centcom_officer
- desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant Commander.\""
- name = "\improper NanoTrasen Officers Uniform"
+ desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral.\""
+ name = "\improper NanoTrasen Officer's Dress Uniform"
icon_state = "officer"
- item_state = "g_suit"
- item_color = "officer"
+ item_state = "lawyer_black"
+ worn_state = "officer"
displays_id = 0
/obj/item/clothing/under/rank/centcom_captain
- desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain.\""
- name = "\improper NanoTrasen Captains Uniform"
+ desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral-Executive.\""
+ name = "\improper NanoTrasen Officer's Dress Uniform"
icon_state = "centcom"
- item_state = "dg_suit"
- item_color = "centcom"
+ item_state = "lawyer_black"
+ worn_state = "centcom"
displays_id = 0
/obj/item/clothing/under/ert
@@ -91,14 +92,14 @@
desc = "A short-sleeved black uniform, paired with grey digital-camo cargo pants. It looks very tactical."
icon_state = "ert_uniform"
item_state = "bl_suit"
- item_color = "ert_uniform"
+ worn_state = "ert_uniform"
/obj/item/clothing/under/space
name = "\improper NASA jumpsuit"
desc = "It has a NASA logo on it and is made of space-proofed materials."
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
+ worn_state = "black"
w_class = 4//bulky item
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
@@ -110,7 +111,7 @@
name = "administrative cybernetic jumpsuit"
icon_state = "syndicate"
item_state = "bl_suit"
- item_color = "syndicate"
+ worn_state = "syndicate"
desc = "it's a cybernetically enhanced jumpsuit used for administrative duties."
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
@@ -124,97 +125,100 @@
name = "owl uniform"
desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!"
icon_state = "owl"
- item_color = "owl"
+ worn_state = "owl"
+ item_state = "owl"
/obj/item/clothing/under/johnny
name = "johnny~~ jumpsuit"
desc = "Johnny~~"
icon_state = "johnny"
- item_color = "johnny"
+ worn_state = "johnny"
+ item_state = "johnny"
/obj/item/clothing/under/rainbow
name = "rainbow"
desc = "rainbow"
icon_state = "rainbow"
item_state = "rainbow"
- item_color = "rainbow"
+ worn_state = "rainbow"
/obj/item/clothing/under/cloud
name = "cloud"
desc = "cloud"
icon_state = "cloud"
- item_color = "cloud"
+ worn_state = "cloud"
/obj/item/clothing/under/psysuit
name = "dark undersuit"
desc = "A thick, layered grey undersuit lined with power cables. Feels a little like wearing an electrical storm."
icon_state = "psysuit"
- item_state = "psysuit"
- item_color = "psysuit"
+ item_state = "bl_suit"
+ worn_state = "psysuit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
/obj/item/clothing/under/gentlesuit
name = "gentlemans suit"
desc = "A silk black shirt with a white tie and a matching gray vest and slacks. Feels proper."
icon_state = "gentlesuit"
- item_state = "gentlesuit"
- item_color = "gentlesuit"
+ item_state = "gy_suit"
+ worn_state = "gentlesuit"
/obj/item/clothing/under/gimmick/rank/captain/suit
name = "captain's suit"
desc = "A green suit and yellow necktie. Exemplifies authority."
icon_state = "green_suit"
item_state = "dg_suit"
- item_color = "green_suit"
+ worn_state = "green_suit"
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
name = "head of personnel's suit"
desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit"
item_state = "g_suit"
- item_color = "teal_suit"
+ worn_state = "teal_suit"
/obj/item/clothing/under/suit_jacket
name = "black suit"
desc = "A black suit and red tie. Very formal."
icon_state = "black_suit"
item_state = "bl_suit"
- item_color = "black_suit"
+ worn_state = "black_suit"
/obj/item/clothing/under/suit_jacket/really_black
name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
- item_state = "bl_suit"
- item_color = "black_suit"
+ item_state = "jensensuit"
+ worn_state = "black_suit"
/obj/item/clothing/under/suit_jacket/female
name = "executive suit"
desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem"
- item_state = "black_suit_fem"
- item_color = "black_suit_fem"
+ item_state = "lawyer_black"
+ worn_state = "black_suit_fem"
/obj/item/clothing/under/suit_jacket/red
name = "red suit"
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
- item_color = "red_suit"
+ worn_state = "red_suit"
/obj/item/clothing/under/blackskirt
name = "black skirt"
desc = "A black skirt, very fancy!"
icon_state = "blackskirt"
- item_color = "blackskirt"
+ item_state = "bl_suit"
+ worn_state = "blackskirt"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/schoolgirl
name = "schoolgirl uniform"
desc = "It's just like one of my Japanese animes!"
icon_state = "schoolgirl"
- item_state = "schoolgirl"
- item_color = "schoolgirl"
+ item_state = "b_suit"
+ worn_state = "schoolgirl"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/overalls
@@ -222,133 +226,144 @@
desc = "A set of durable overalls for getting the job done."
icon_state = "overalls"
item_state = "lb_suit"
- item_color = "overalls"
+ worn_state = "overalls"
/obj/item/clothing/under/pirate
name = "pirate outfit"
desc = "Yarr."
icon_state = "pirate"
- item_state = "pirate"
- item_color = "pirate"
+ item_state = "sl_suit"
+ worn_state = "pirate"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
/obj/item/clothing/under/soviet
name = "soviet uniform"
desc = "For the Motherland!"
icon_state = "soviet"
- item_state = "soviet"
- item_color = "soviet"
+ item_state = "gy_suit"
+ worn_state = "soviet"
/obj/item/clothing/under/redcoat
name = "redcoat uniform"
desc = "Looks old."
icon_state = "redcoat"
- item_state = "redcoat"
- item_color = "redcoat"
+ item_state = "r_suit"
+ worn_state = "redcoat"
/obj/item/clothing/under/kilt
name = "kilt"
desc = "Includes shoes and plaid"
icon_state = "kilt"
item_state = "kilt"
- item_color = "kilt"
+ worn_state = "kilt"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET
/obj/item/clothing/under/sexymime
name = "sexy mime outfit"
desc = "The only time when you DON'T enjoy looking at someone's rack."
icon_state = "sexymime"
- item_state = "sexymime"
- item_color = "sexymime"
+ item_state = "w_suit"
+ worn_state = "sexymime"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/gladiator
name = "gladiator uniform"
desc = "Are you not entertained? Is that not why you are here?"
icon_state = "gladiator"
- item_state = "gladiator"
- item_color = "gladiator"
+ item_state = "o_suit"
+ worn_state = "gladiator"
body_parts_covered = LOWER_TORSO
//dress
-/obj/item/clothing/under/dress/
+/obj/item/clothing/under/dress
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/dress/dress_fire
name = "flame dress"
desc = "A small black dress with blue flames print on it."
icon_state = "dress_fire"
- item_color = "dress_fire"
+ item_state = "bl_suit"
+ worn_state = "dress_fire"
/obj/item/clothing/under/dress/dress_green
name = "green dress"
desc = "A simple, tight fitting green dress."
icon_state = "dress_green"
- item_color = "dress_green"
+ item_state = "g_suit"
+ worn_state = "dress_green"
/obj/item/clothing/under/dress/dress_orange
name = "orange dress"
desc = "A fancy orange gown for those who like to show leg."
icon_state = "dress_orange"
- item_color = "dress_orange"
+ item_state = "y_suit"
+ worn_state = "dress_orange"
/obj/item/clothing/under/dress/dress_pink
name = "pink dress"
desc = "A simple, tight fitting pink dress."
icon_state = "dress_pink"
- item_color = "dress_pink"
+ item_state = "p_suit"
+ worn_state = "dress_pink"
/obj/item/clothing/under/dress/dress_yellow
name = "yellow dress"
desc = "A flirty, little yellow dress."
icon_state = "dress_yellow"
- item_color = "dress_yellow"
+ item_state = "y_suit"
+ worn_state = "dress_yellow"
/obj/item/clothing/under/dress/dress_saloon
name = "saloon girl dress"
desc = "A old western inspired gown for the girl who likes to drink."
icon_state = "dress_saloon"
- item_color = "dress_saloon"
+ item_state = "p_suit"
+ worn_state = "dress_saloon"
/obj/item/clothing/under/dress/dress_cap
name = "captain's dress uniform"
desc = "Feminine fashion for the style concious captain."
icon_state = "dress_cap"
- item_color = "dress_cap"
+ item_state = "b_suit"
+ worn_state = "dress_cap"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/dress/dress_hop
name = "head of personnel dress uniform"
desc = "Feminine fashion for the style concious HoP."
icon_state = "dress_hop"
- item_color = "dress_hop"
+ item_state = "b_suit"
+ worn_state = "dress_hop"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/dress/dress_hr
name = "human resources director uniform"
desc = "Superior class for the nosy H.R. Director."
icon_state = "huresource"
- item_color = "huresource"
+ item_state = "y_suit"
+ worn_state = "huresource"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/dress/plaid_blue
name = "blue plaid skirt"
desc = "A preppy blue skirt with a white blouse."
icon_state = "plaid_blue"
- item_color = "plaid_blue"
+ worn_state = "plaid_blue"
/obj/item/clothing/under/dress/plaid_red
name = "red plaid skirt"
desc = "A preppy red skirt with a white blouse."
icon_state = "plaid_red"
- item_color = "plaid_red"
+ item_state = "kilt"
+ worn_state = "plaid_red"
/obj/item/clothing/under/dress/plaid_purple
name = "blue purple skirt"
desc = "A preppy purple skirt with a white blouse."
icon_state = "plaid_purple"
- item_color = "plaid_purple"
+ item_state = "kilt"
+ worn_state = "plaid_purple"
//wedding stuff
/obj/item/clothing/under/wedding/
@@ -358,35 +373,40 @@
name = "orange wedding dress"
desc = "A big and puffy orange dress."
icon_state = "bride_orange"
- item_color = "bride_orange"
+ item_state = "y_suit"
+ worn_state = "bride_orange"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_purple
name = "purple wedding dress"
desc = "A big and puffy purple dress."
icon_state = "bride_purple"
- item_color = "bride_purple"
+ item_state = "p_suit"
+ worn_state = "bride_purple"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_blue
name = "blue wedding dress"
desc = "A big and puffy blue dress."
icon_state = "bride_blue"
- item_color = "bride_blue"
+ item_state = "b_suit"
+ worn_state = "bride_blue"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_red
name = "red wedding dress"
desc = "A big and puffy red dress."
icon_state = "bride_red"
- item_color = "bride_red"
+ item_state = "r_suit"
+ worn_state = "bride_red"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_white
name = "silky wedding dress"
desc = "A white wedding gown made from the finest silk."
icon_state = "bride_white"
- item_color = "bride_white"
+ item_state = "nursesuit"
+ worn_state = "bride_white"
flags_inv = HIDESHOES
body_parts_covered = UPPER_TORSO|LOWER_TORSO
@@ -394,8 +414,8 @@
name = "sundress"
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
- item_state = "sundress"
- item_color = "sundress"
+ item_state = "bl_suit"
+ worn_state = "sundress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/sundress_white
@@ -403,92 +423,92 @@
desc = "A white sundress decorated with purple lilies."
icon_state = "sundress_white"
item_state = "sundress_white"
- item_color = "sundress_white"
+ worn_state = "sundress_white"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/blackjumpskirt
name = "black jumpskirt"
desc = "A black jumpskirt, Sol size 0."
icon_state = "blackjumpskirt"
- item_state = "blackjumpskirt"
- item_color = "blackjumpskirt"
+ item_state = "bl_suit"
+ worn_state = "blackjumpskirt"
/obj/item/clothing/under/captainformal
name = "captain's formal uniform"
desc = "A captain's formal-wear, for special occasions."
icon_state = "captain_formal"
- item_state = "by_suit"
- item_color = "captain_formal"
+ item_state = "b_suit"
+ worn_state = "captain_formal"
/obj/item/clothing/under/hosformalmale
name = "head of security's formal uniform"
desc = "A male head of security's formal-wear, for special occasions."
icon_state = "hos_formal_male"
item_state = "r_suit"
- item_color = "hos_formal_male"
+ worn_state = "hos_formal_male"
/obj/item/clothing/under/hosformalfem
name = "head of security's formal uniform"
desc = "A female head of security's formal-wear, for special occasions."
icon_state = "hos_formal_fem"
item_state = "r_suit"
- item_color = "hos_formal_fem"
+ worn_state = "hos_formal_fem"
/obj/item/clothing/under/assistantformal
name = "assistant's formal uniform"
desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown."
icon_state = "assistant_formal"
item_state = "gy_suit"
- item_color = "assistant_formal"
+ worn_state = "assistant_formal"
/obj/item/clothing/under/suit_jacket/charcoal
name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit"
- item_state = "charcoal_suit"
- item_color = "charcoal_suit"
+ item_state = "bl_suit"
+ worn_state = "charcoal_suit"
/obj/item/clothing/under/suit_jacket/navy
name = "navy suit"
desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit"
- item_state = "navy_suit"
- item_color = "navy_suit"
+ item_state = "bl_suit"
+ worn_state = "navy_suit"
/obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit"
- item_state = "burgundy_suit"
- item_color = "burgundy_suit"
+ item_state = "r_suit"
+ worn_state = "burgundy_suit"
/obj/item/clothing/under/suit_jacket/checkered
name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit"
- item_state = "checkered_suit"
- item_color = "checkered_suit"
+ item_state = "gy_suit"
+ worn_state = "checkered_suit"
/obj/item/clothing/under/suit_jacket/tan
name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit"
- item_state = "tan_suit"
- item_color = "tan_suit"
+ item_state = "lb_suit"
+ worn_state = "tan_suit"
/obj/item/clothing/under/serviceoveralls
name = "workman outfit"
desc = "The very image of a working man. Not that you're probably doing work."
icon_state = "mechanic"
- item_state = "mechanic"
- item_color = "mechanic"
+ item_state = "lb_suit"
+ worn_state = "mechanic"
/obj/item/clothing/under/cheongsam
name = "white cheongsam"
desc = "It is a white cheongsam dress."
icon_state = "mai_yang"
item_state = "mai_yang"
- item_color = "mai_yang"
+ worn_state = "mai_yang"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
/obj/item/clothing/under/blazer
@@ -496,4 +516,4 @@
desc = "A bold but yet conservative outfit, red corduroys, navy blazer and a tie."
icon_state = "blue_blazer"
item_state = "blue_blazer"
- item_color = "blue_blazer"
+ worn_state = "blue_blazer"
diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm
index 494cb5e72a..aa90f073dc 100644
--- a/code/modules/clothing/under/shorts.dm
+++ b/code/modules/clothing/under/shorts.dm
@@ -7,24 +7,24 @@
/obj/item/clothing/under/shorts/red
name = "red athletic shorts"
icon_state = "redshorts"
- item_color = "redshorts"
+ worn_state = "redshorts"
/obj/item/clothing/under/shorts/green
name = "green athletic shorts"
icon_state = "greenshorts"
- item_color = "greenshorts"
+ worn_state = "greenshorts"
/obj/item/clothing/under/shorts/blue
name = "blue athletic shorts"
icon_state = "blueshorts"
- item_color = "blueshorts"
+ worn_state = "blueshorts"
/obj/item/clothing/under/shorts/black
name = "black athletic shorts"
icon_state = "blackshorts"
- item_color = "blackshorts"
+ worn_state = "blackshorts"
/obj/item/clothing/under/shorts/grey
name = "grey athletic shorts"
icon_state = "greyshorts"
- item_color = "greyshorts"
+ worn_state = "greyshorts"
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 80f09004f0..f4111e1bbb 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -3,7 +3,7 @@
desc = "It's some non-descript, slightly suspicious looking, civilian clothing."
icon_state = "syndicate"
item_state = "bl_suit"
- item_color = "syndicate"
+ worn_state = "syndicate"
has_sensor = 0
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
@@ -16,7 +16,7 @@
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool"
item_state = "bl_suit"
- item_color = "tactifool"
+ worn_state = "tactifool"
siemens_coefficient = 1
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 228e33e575..872e63e2d9 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -528,7 +528,7 @@
var/new_suit_desc // Sets suit desc.
var/helmet_icon // Sets helmet icon_state and item_state.
var/suit_icon // Sets suit icon_state and item_state.
- var/helmet_color // Sets item_color.
+ var/helmet_color // Sets worn_state.
var/uses = 2 // Uses before the kit deletes itself.
var/new_light_overlay
@@ -941,8 +941,8 @@
desc = "A uniform jacket, its buttons polished to a shine, coupled with a dark pair of trousers. 'Hachert' is embroidered upon the jacket�s shoulder bar."
icon = 'icons/obj/custom_items.dmi'
icon_state = "milohachert"
- item_state = "milohachert"
- item_color = "milohachert"
+ item_state = "gy_suit"
+ worn_state = "milohachert"
/obj/item/clothing/under/fluff/kaine_kalim_2
@@ -950,24 +950,24 @@
desc = "An unusually sterile and pressed uniform. It seems to have a string of vials crossing the chest."
icon = 'icons/obj/custom_items.dmi'
icon_state = "kaineuniform"
- item_state = "kaineuniform"
- item_color = "kaineuniform"
+ item_state = "w_suit"
+ worn_state = "kaineuniform"
/obj/item/clothing/under/fluff/jumpsuitdown //searif: Yuki Matsuda
name = "rolled down jumpsuit"
desc = "A rolled down jumpsuit. Great for mechanics."
icon = 'icons/obj/custom_items.dmi'
icon_state = "jumpsuitdown"
- item_state = "jumpsuitdown"
- item_color = "jumpsuitdown"
+ item_state = "gy_suit"
+ worn_state = "jumpsuitdown"
/obj/item/clothing/under/fluff/lilith_vinous_1 //slyhidden: Lilith Vinous
name = "casual security uniform"
desc = "A less formal version of the traditional dark red Security uniform. It has the top button undone, rolled up sleeves and different belt."
icon = 'icons/obj/custom_items.dmi'
icon_state = "lilith_uniform"
- item_state = "lilith_uniform"
- item_color = "lilith_uniform"
+ item_state = "r_suit"
+ worn_state = "lilith_uniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
/obj/item/clothing/under/fluff/ana_issek_1 //suethecake: Ana Issek
@@ -975,8 +975,8 @@
desc = "A silken blouse paired with dark-colored slacks. It has the words 'Chief Investigator' embroidered into the shoulder bar."
icon = 'icons/obj/custom_items.dmi'
icon_state = "ana_uniform"
- item_state = "ana_uniform"
- item_color = "ana_uniform"
+ item_state = "r_suit"
+ worn_state = "ana_uniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
/obj/item/clothing/under/fluff/olddressuniform //desiderium: Momiji Inubashiri
@@ -984,15 +984,16 @@
desc = "A retired Station Head of Staff uniform, phased out twenty years ago for the newer jumpsuit design, but still acceptable dress. Lovingly maintained."
icon = 'icons/obj/custom_items.dmi'
icon_state = "olddressuniform"
- item_state = "olddressuniform"
- item_color = "olddressuniform"
+ item_state = "b_suit"
+ worn_state = "olddressuniform"
/obj/item/clothing/under/rank/security/fluff/jeremy_wolf_1 //whitewolf41: Jeremy Wolf
name = "worn officer's uniform"
desc = "An old red security jumpsuit. Seems to have some slight modifications."
icon = 'icons/obj/custom_items.dmi'
icon_state = "jeremy_wolf_1"
- item_color = "jeremy_wolf_1"
+ item_state = "r_suit"
+ worn_state = "jeremy_wolf_1"
//////////////////// PRC Uniform - Ronan Harper - Raptor1628 ///////////////////
@@ -1002,7 +1003,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "harper_uniform"
item_state = "jensensuit"
- item_color = "harper_uniform"
+ worn_state = "harper_uniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
//////////////////// Corporate Cap - Robert Mason - Masterrbc ////////////////////
@@ -1016,8 +1017,8 @@
desc = "A nicely tailored purple dress made for the taller woman."
icon = 'icons/obj/custom_items.dmi'
icon_state = "tian_dress"
- item_state = "tian_dress"
- item_color = "tian_dress"
+ item_state = "r_suit"
+ worn_state = "tian_dress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/rank/bartender/fluff/classy //searif: Ara Al-Jazari
@@ -1025,32 +1026,32 @@
desc = "A prim and proper uniform that looks very similar to a bartender's, the only differences being a red tie, waistcoat and a rag hanging out of the back pocket."
icon = 'icons/obj/custom_items.dmi'
icon_state = "ara_bar_uniform"
- item_state = "ara_bar_uniform"
- item_color = "ara_bar_uniform"
+ item_state = "ba_suit"
+ worn_state = "ara_bar_uniform"
/obj/item/clothing/under/fluff/callum_suit //roaper: Callum Leamus
name = "knockoff suit"
desc = "A knockoff of a suit commonly worn by the upper class."
icon = 'icons/obj/custom_items.dmi'
icon_state = "callum_suit"
- item_state = "callum_suit"
- item_color = "callum_suit"
+ item_state = "ba_suit"
+ worn_state = "callum_suit"
/obj/item/clothing/under/fluff/solara_light_1 //bluefishie: Solara Born-In-Light
name = "Elaborate Purple Dress"
desc = "An expertly tailored dress, made out of fine fabrics. The interwoven necklace appears to be made out of gold, with three complicated symbols engraved in the front."
icon = 'icons/obj/custom_items.dmi'
icon_state = "solara_dress"
- item_state = "solara_dress"
- item_color = "solara_dress"
+ item_state = "p_suit"
+ worn_state = "solara_dress"
/obj/item/clothing/under/rank/nursesuit/fluff/sasha
name = "RN Uniform"
desc = "A nurse's uniform that is dark blue and gold. It looks like it's been tailored for a short person."
icon = 'icons/obj/custom_items.dmi'
icon_state = "sasha"
- item_state = "sasha"
- item_color = "sasha"
+ item_state = "b_suit"
+ worn_state = "sasha"
/////// NT-SID Suit //Zuhayr: Jane Doe
@@ -1060,8 +1061,8 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "jane_sid_suit"
- item_state = "jane_sid_suit"
- item_color = "jane_sid_suit"
+ item_state = "o_suit"
+ worn_state = "jane_sid_suit"
has_sensor = 2
sensor_mode = 3
@@ -1075,14 +1076,13 @@
return 0
if(src.icon_state == "jane_sid_suit_down")
- src.item_color = "jane_sid_suit"
+ src.icon_state = "jane_sid_suit"
usr << "You zip up the [src]."
else
- src.item_color = "jane_sid_suit_down"
+ src.icon_state = "jane_sid_suit_down"
usr << "You unzip and roll down the [src]."
- src.icon_state = "[item_color]"
- src.item_state = "[item_color]"
+ src.item_state_slots[slot_w_uniform_str] = "[src.icon_state]"
update_clothing_icon()
////// Wyatt's Ex-Commander Jumpsuit - RawrTaicho
@@ -1092,8 +1092,8 @@
desc = "A standard Central Command Engineering Commander jumpsuit tailored to fight the wearer tightly. It has a Medal of Service pinned onto the left side of it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "wyatt_uniform"
- item_state = "wyatt_uniform"
- item_color = "wyatt_uniform"
+ //item_state = "wyatt_uniform"
+ worn_state = "wyatt_uniform"
////// Black Dress - Lillian Amsel - PapaDrow
/obj/item/clothing/under/fluff/lillian_amsel_1
@@ -1101,8 +1101,8 @@
desc = "A knee-length, dark gray and black dress made of a soft, velvety material."
icon = 'icons/obj/custom_items.dmi'
icon_state = "lillian_dress"
- item_state = "lillian_dress"
- item_color = "lillian_dress"
+ //item_state = "lillian_dress"
+ worn_state = "lillian_dress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
////// Tailored Security Uniform - Parker Eliza - MrSnapwalk
@@ -1112,8 +1112,8 @@
desc = "A red uniform shirt (tailored for easy access to the shoulder joint) and black cargo pants, paired with a set of somewhat bulky white casings for robotic limbs. The arms have a small label on the inner elbow, which reads \"Bishop Corporation Cybernetic Solutions\"."
icon = 'icons/obj/custom_items.dmi'
icon_state = "parker_eliza"
- item_state = "parker_eliza"
- item_color = "parker_eliza"
+ //item_state = "parker_eliza"
+ worn_state = "parker_eliza"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
////// Bishop "GOLEM" V2200 Industrial Limb Augments - Parker Eliza - MrSnapwalk
@@ -1126,6 +1126,7 @@
item_state = "parker_eliza_arms"
+
////////////// Accessories /////
//////////////////// Blood Red Pendant - Mewth - Mu'taz Radi ////////////////
@@ -1175,7 +1176,7 @@
name = "painted mask"
desc = "A ghoulish mask with a stylized painting of a flame over the left eye, and a painted tear stream coming from the right eye."
icon = 'icons/obj/custom_items.dmi'
- item_state = "cicero"
+ //item_state = "cicero"
icon_state = "cicero"
body_parts_covered = FACE|EYES
@@ -1299,7 +1300,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "medical_short"
item_state = "medical_short"
- item_color = "medical_short"
+ worn_state = "medical_short"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
/obj/item/clothing/suit/storage/labcoat/fluff/red
@@ -1328,7 +1329,7 @@
desc = "A meticulously clean police uniform belonging to Precinct 31, Outer Light Colony. The word \"RETIRED\" is engraved tastefully and professionally in the badge below the number, 501."
icon = 'icons/obj/custom_items.dmi'
icon_state = "retpoluniform"
- item_color = "retpoluniform"
+ worn_state = "retpoluniform"
//////////// Weapons ////////////
@@ -1374,7 +1375,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "sakura_hokkaido_kimono"
item_state = "sakura_hokkaido_kimono"
- item_color = "sakura_hokkaido_kimono"
+ worn_state = "sakura_hokkaido_kimono"
///////////////////////////// Astronovus - Harold's Cane ////////////////////////////
diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm
index 290c81723e..b586a197c9 100644
--- a/code/modules/mob/living/carbon/human/npcs.dm
+++ b/code/modules/mob/living/carbon/human/npcs.dm
@@ -2,7 +2,7 @@
name = "fancy uniform"
desc = "It looks like it was tailored for a monkey."
icon_state = "punpun"
- item_color = "punpun"
+ worn_state = "punpun"
species_restricted = list("Monkey")
/mob/living/carbon/human/monkey/punpun/New()
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 6bf75b6834..de2840f8ae 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -457,26 +457,42 @@ var/global/list/damage_icon_parts = list()
/mob/living/carbon/human/update_inv_w_uniform(var/update_icons=1)
if(w_uniform && istype(w_uniform, /obj/item/clothing/under) )
w_uniform.screen_loc = ui_iclothing
- var/t_color = w_uniform:item_color
- if(!t_color) t_color = icon_state
- var/image/standing = image("icon_state" = "[t_color]_s")
+ //determine the icon to use
+ var/icon/under_icon
if(w_uniform.icon_override)
- standing.icon = w_uniform.icon_override
+ under_icon = w_uniform.icon_override
else if(w_uniform.sprite_sheets && w_uniform.sprite_sheets[species.name])
- standing.icon = w_uniform.sprite_sheets[species.name]
+ under_icon = w_uniform.sprite_sheets[species.name]
+ else if(w_uniform.item_icons && w_uniform.item_icons[slot_w_uniform_str])
+ under_icon = w_uniform.item_icons[slot_w_uniform_str]
else
- standing.icon = 'icons/mob/uniform.dmi'
+ under_icon = INV_W_UNIFORM_DEF_ICON
+
+ //determine state to use
+ var/under_state
+ if(w_uniform.item_state_slots && w_uniform.item_state_slots[slot_w_uniform_str])
+ under_state = w_uniform.item_state_slots[slot_w_uniform_str]
+ else if(w_uniform.item_state)
+ under_state = w_uniform.item_state
+ else
+ under_state = w_uniform.icon_state
+ //need to append _s to the icon state for legacy compatibility
+ var/image/standing = image(icon = under_icon, icon_state = "[under_state]_s")
+
+ //apply blood overlay
if(w_uniform.blood_DNA)
- var/image/bloodsies = image("icon" = species.blood_mask, "icon_state" = "uniformblood")
+ var/image/bloodsies = image(icon = species.blood_mask, icon_state = "uniformblood")
bloodsies.color = w_uniform.blood_color
standing.overlays += bloodsies
- if(w_uniform:accessories.len) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE.
- for(var/obj/item/clothing/accessory/A in w_uniform:accessories)
+ //accessories
+ var/obj/item/clothing/under/under = w_uniform
+ if(under.accessories.len)
+ for(var/obj/item/clothing/accessory/A in under.accessories)
var/accessory_state = A.overlay_state? A.overlay_state : A.icon_state
- standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[accessory_state]")
+ standing.overlays += image(icon = INV_ACCESSORIES_DEF_ICON, icon_state = accessory_state)
overlays_standing[UNIFORM_LAYER] = standing
else
@@ -485,8 +501,10 @@ var/global/list/damage_icon_parts = list()
// Automatically drop anything in store / id / belt if you're not wearing a uniform. //CHECK IF NECESARRY
for( var/obj/item/thing in list(r_store, l_store, wear_id, belt) )
if(thing)
- remove_from_mob(thing)
- if(update_icons) update_icons()
+ drop_from_inventory(thing)
+
+ if(update_icons)
+ update_icons()
/mob/living/carbon/human/update_inv_wear_id(var/update_icons=1)
if(wear_id)
@@ -752,6 +770,8 @@ var/global/list/damage_icon_parts = list()
overlay_icon = rig.mob_icon
else if(back.sprite_sheets && back.sprite_sheets[species.name])
overlay_icon = back.sprite_sheets[species.name]
+ else if(back.item_icons && (slot_l_hand_str in back.item_icons))
+ overlay_icon = back.item_icons[slot_l_hand_str]
else
overlay_icon = INV_BACK_DEF_ICON
diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm
index 394281c394..33c54cf63b 100644
--- a/code/modules/mob/update_icons.dm
+++ b/code/modules/mob/update_icons.dm
@@ -5,6 +5,8 @@
#define INV_BACK_DEF_ICON 'icons/mob/back.dmi'
#define INV_L_HAND_DEF_ICON 'icons/mob/items/lefthand.dmi'
#define INV_R_HAND_DEF_ICON 'icons/mob/items/righthand.dmi'
+#define INV_W_UNIFORM_DEF_ICON 'icons/mob/uniform.dmi'
+#define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi'
/mob/proc/regenerate_icons() //TODO: phase this out completely if possible
diff --git a/code/setup.dm b/code/setup.dm
index bfbb223353..1329bd971b 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -257,11 +257,10 @@
// Inventory slot strings.
// since numbers cannot be used as associative list keys.
+#define slot_back_str "back"
#define slot_l_hand_str "slot_l_hand"
#define slot_r_hand_str "slot_r_hand"
#define slot_w_uniform_str "w_uniform"
-#define slot_back_str "back"
-#define slot_w_uniform_str "w_uniform"
// Bitflags for clothing parts.
#define HEAD 1
diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi
index 7f4ea4acb3..ed6383ba7c 100644
Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ
diff --git a/icons/mob/items/lefthand_uniforms.dmi b/icons/mob/items/lefthand_uniforms.dmi
new file mode 100644
index 0000000000..a7cb65c90c
Binary files /dev/null and b/icons/mob/items/lefthand_uniforms.dmi differ
diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi
index a53ac0d5ad..e7042ca3ad 100644
Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ
diff --git a/icons/mob/items/righthand_uniforms.dmi b/icons/mob/items/righthand_uniforms.dmi
new file mode 100644
index 0000000000..2160f1c5e4
Binary files /dev/null and b/icons/mob/items/righthand_uniforms.dmi differ