diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 4b1b0b817dc..eb016b2362a 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -19299,7 +19299,7 @@
"aYm" = (
/obj/structure/closet/crate/wooden/toy,
/obj/item/lipstick/random,
-/obj/item/clothing/gloves/color/rainbow/clown,
+/obj/item/clothing/gloves/color/rainbow,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
diff --git a/code/__DEFINES/dye_keys.dm b/code/__DEFINES/dye_keys.dm
new file mode 100644
index 00000000000..133f9c47d34
--- /dev/null
+++ b/code/__DEFINES/dye_keys.dm
@@ -0,0 +1,28 @@
+#define DYE_REGISTRY_UNDER "under"
+#define DYE_REGISTRY_JUMPSKIRT "jumpskirt"
+#define DYE_REGISTRY_GLOVES "gloves"
+#define DYE_REGISTRY_SNEAKERS "sneakers"
+#define DYE_REGISTRY_FANNYPACK "fannypack"
+#define DYE_REGISTRY_BEDSHEET "bedsheet"
+
+#define DYE_RED "red"
+#define DYE_ORANGE "orange"
+#define DYE_YELLOW "yellow"
+#define DYE_GREEN "green"
+#define DYE_BLUE "blue"
+#define DYE_PURPLE "purple"
+#define DYE_BLACK "black"
+#define DYE_WHITE "white"
+#define DYE_RAINBOW "rainbow"
+#define DYE_MIME "mime"
+#define DYE_COSMIC "cosmic"
+#define DYE_QM "qm"
+#define DYE_LAW "law"
+#define DYE_CAPTAIN "captain"
+#define DYE_HOP "hop"
+#define DYE_HOS "hos"
+#define DYE_CE "ce"
+#define DYE_RD "rd"
+#define DYE_CMO "cmo"
+#define DYE_REDCOAT "redcoat"
+#define DYE_CLOWN "clown"
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index a7f6065bc10..49c72831df1 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -130,7 +130,6 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
C.appearance = chosen_prof.appearance_list[slot]
C.name = chosen_prof.name_list[slot]
C.flags_cover = chosen_prof.flags_cover_list[slot]
- C.item_color = chosen_prof.item_color_list[slot]
C.item_state = chosen_prof.item_state_list[slot]
if(equip)
user.equip_to_slot_or_del(C, GLOB.slot2slot[slot])
diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm
index dd29fba6471..444c27dff5a 100644
--- a/code/game/gamemodes/clown_ops/clown_weapons.dm
+++ b/code/game/gamemodes/clown_ops/clown_weapons.dm
@@ -65,7 +65,7 @@
attack_verb_on = list("slipped")
clumsy_check = FALSE
sharpness = IS_BLUNT
- item_color = "yellow"
+ sword_color = "yellow"
heat = 0
light_color = "#ffff00"
var/next_trombone_allowed = 0
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index b78e7bd7abe..9f72c3fab92 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -1,3 +1,111 @@
+//dye registry, add dye colors and their resulting output here if you want the sprite to change instead of just the color.
+GLOBAL_LIST_INIT(dye_registry, list(
+ DYE_REGISTRY_UNDER = list(
+ DYE_RED = /obj/item/clothing/under/color/red,
+ DYE_ORANGE = /obj/item/clothing/under/color/orange,
+ DYE_YELLOW = /obj/item/clothing/under/color/yellow,
+ DYE_GREEN = /obj/item/clothing/under/color/green,
+ DYE_BLUE = /obj/item/clothing/under/color/blue,
+ DYE_PURPLE = /obj/item/clothing/under/color/lightpurple,
+ DYE_BLACK = /obj/item/clothing/under/color/black,
+ DYE_WHITE = /obj/item/clothing/under/color/white,
+ DYE_RAINBOW = /obj/item/clothing/under/color/rainbow,
+ DYE_MIME = /obj/item/clothing/under/rank/civilian/mime,
+ DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown,
+ DYE_QM = /obj/item/clothing/under/rank/cargo/qm,
+ DYE_LAW = /obj/item/clothing/under/suit/black,
+ DYE_CAPTAIN = /obj/item/clothing/under/rank/captain,
+ DYE_HOP = /obj/item/clothing/under/rank/civilian/head_of_personnel,
+ DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security,
+ DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer,
+ DYE_RD = /obj/item/clothing/under/rank/rnd/research_director,
+ DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer,
+ DYE_REDCOAT = /obj/item/clothing/under/costume/redcoat
+ ),
+ DYE_REGISTRY_JUMPSKIRT = list(
+ DYE_RED = /obj/item/clothing/under/color/jumpskirt/red,
+ DYE_ORANGE = /obj/item/clothing/under/color/jumpskirt/orange,
+ DYE_YELLOW = /obj/item/clothing/under/color/jumpskirt/yellow,
+ DYE_GREEN = /obj/item/clothing/under/color/jumpskirt/green,
+ DYE_BLUE = /obj/item/clothing/under/color/jumpskirt/blue,
+ DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple,
+ DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black,
+ DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white,
+ DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow
+ ),
+ DYE_REGISTRY_GLOVES = list(
+ DYE_RED = /obj/item/clothing/gloves/color/red,
+ DYE_ORANGE = /obj/item/clothing/gloves/color/orange,
+ DYE_YELLOW = /obj/item/clothing/gloves/color/yellow,
+ DYE_GREEN = /obj/item/clothing/gloves/color/green,
+ DYE_BLUE = /obj/item/clothing/gloves/color/blue,
+ DYE_PURPLE = /obj/item/clothing/gloves/color/purple,
+ DYE_BLACK = /obj/item/clothing/gloves/color/black,
+ DYE_WHITE = /obj/item/clothing/gloves/color/white,
+ DYE_RAINBOW = /obj/item/clothing/gloves/color/rainbow,
+ DYE_MIME = /obj/item/clothing/gloves/color/white,
+ DYE_CLOWN = /obj/item/clothing/gloves/color/rainbow,
+ DYE_QM = /obj/item/clothing/gloves/color/brown,
+ DYE_CAPTAIN = /obj/item/clothing/gloves/color/captain,
+ DYE_HOP = /obj/item/clothing/gloves/color/grey,
+ DYE_HOS = /obj/item/clothing/gloves/color/black,
+ DYE_CE = /obj/item/clothing/gloves/color/black,
+ DYE_RD = /obj/item/clothing/gloves/color/grey,
+ DYE_CMO = /obj/item/clothing/gloves/color/latex/nitrile,
+ DYE_REDCOAT = /obj/item/clothing/gloves/color/white
+ ),
+ DYE_REGISTRY_SNEAKERS = list(
+ DYE_RED = /obj/item/clothing/shoes/sneakers/red,
+ DYE_ORANGE = /obj/item/clothing/shoes/sneakers/orange,
+ DYE_YELLOW = /obj/item/clothing/shoes/sneakers/yellow,
+ DYE_GREEN = /obj/item/clothing/shoes/sneakers/green,
+ DYE_BLUE = /obj/item/clothing/shoes/sneakers/blue,
+ DYE_PURPLE = /obj/item/clothing/shoes/sneakers/purple,
+ DYE_BLACK = /obj/item/clothing/shoes/sneakers/black,
+ DYE_WHITE = /obj/item/clothing/shoes/sneakers/white,
+ DYE_RAINBOW = /obj/item/clothing/shoes/sneakers/rainbow,
+ DYE_MIME = /obj/item/clothing/shoes/sneakers/black,
+ DYE_QM = /obj/item/clothing/shoes/sneakers/brown,
+ DYE_CAPTAIN = /obj/item/clothing/shoes/sneakers/brown,
+ DYE_HOP = /obj/item/clothing/shoes/sneakers/brown,
+ DYE_CE = /obj/item/clothing/shoes/sneakers/brown,
+ DYE_RD = /obj/item/clothing/shoes/sneakers/brown,
+ DYE_CMO = /obj/item/clothing/shoes/sneakers/brown
+ ),
+ DYE_REGISTRY_FANNYPACK = list(
+ DYE_RED = /obj/item/storage/belt/fannypack/red,
+ DYE_ORANGE = /obj/item/storage/belt/fannypack/orange,
+ DYE_YELLOW = /obj/item/storage/belt/fannypack/yellow,
+ DYE_GREEN = /obj/item/storage/belt/fannypack/green,
+ DYE_BLUE = /obj/item/storage/belt/fannypack/blue,
+ DYE_PURPLE = /obj/item/storage/belt/fannypack/purple,
+ DYE_BLACK = /obj/item/storage/belt/fannypack/black,
+ DYE_WHITE = /obj/item/storage/belt/fannypack/white
+ ),
+ DYE_REGISTRY_BEDSHEET = list(
+ DYE_RED = /obj/item/bedsheet/red,
+ DYE_ORANGE = /obj/item/bedsheet/orange,
+ DYE_YELLOW = /obj/item/bedsheet/yellow,
+ DYE_GREEN = /obj/item/bedsheet/green,
+ DYE_BLUE = /obj/item/bedsheet/blue,
+ DYE_PURPLE = /obj/item/bedsheet/purple,
+ DYE_BLACK = /obj/item/bedsheet/black,
+ DYE_WHITE = /obj/item/bedsheet,
+ DYE_RAINBOW = /obj/item/bedsheet/rainbow,
+ DYE_MIME = /obj/item/bedsheet/mime,
+ DYE_CLOWN = /obj/item/bedsheet/clown,
+ DYE_QM = /obj/item/bedsheet/qm,
+ DYE_LAW = /obj/item/bedsheet/black,
+ DYE_CAPTAIN = /obj/item/bedsheet/captain,
+ DYE_HOP = /obj/item/bedsheet/hop,
+ DYE_HOS = /obj/item/bedsheet/hos,
+ DYE_CE = /obj/item/bedsheet/ce,
+ DYE_RD = /obj/item/bedsheet/rd,
+ DYE_CMO = /obj/item/bedsheet/cmo,
+ DYE_COSMIC = /obj/item/bedsheet/cosmos
+ )
+))
+
/obj/machinery/washing_machine
name = "washing machine"
desc = "Gets rid of those pesky bloodstains, or your money back!"
@@ -16,23 +124,20 @@
/obj/machinery/washing_machine/examine(mob/user)
. = ..()
- . += "Alt-click it to start a wash cycle."
+ if(!busy)
+ . += "Alt-click it to start a wash cycle."
/obj/machinery/washing_machine/AltClick(mob/user)
if(!user.canUseTopic(src, !issilicon(user)))
return
-
if(busy)
return
-
if(state_open)
to_chat(user, "Close the door first")
return
-
if(bloody_mess)
to_chat(user, "[src] must be cleaned up first.")
return
-
busy = TRUE
update_icon()
addtimer(CALLBACK(src, .proc/wash_cycle), 200)
@@ -73,6 +178,29 @@
color_source = null
update_icon()
+/obj/item/proc/dye_item(dye_color)
+ if(undyeable)
+ return FALSE
+ if(dying_key)
+ if(!GLOB.dye_registry[dying_key])
+ log_runtime("Item just tried to be dyed with an invalid registry key: [dying_key]")
+ return FALSE
+ var/obj/item/target_type = GLOB.dye_registry[dying_key][dye_color]
+ if(target_type)
+ icon = initial(target_type.icon)
+ icon_state = initial(target_type.icon_state)
+ lefthand_file = initial(target_type.lefthand_file)
+ righthand_file = initial(target_type.righthand_file)
+ item_state = initial(target_type.item_state)
+ mob_overlay_icon = initial(target_type.mob_overlay_icon)
+ inhand_x_dimension = initial(target_type.inhand_x_dimension)
+ inhand_y_dimension = initial(target_type.inhand_y_dimension)
+ name = initial(target_type.name)
+ desc = "[initial(target_type.desc)] The colors look a little dodgy."
+ return target_type //successfully "appearance copy" dyed something; returns the target type as a hacky way of extending
+ add_atom_colour(dye_color, FIXED_COLOUR_PRIORITY)
+ return FALSE
+
//what happens to this object when washed inside a washing machine
/atom/movable/proc/machine_wash(obj/machinery/washing_machine/WM)
return
@@ -85,138 +213,33 @@
new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(loc)
qdel(src)
-/obj/item/paper/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- if(istype(WM.color_source, /obj/item/toy/crayon))
- var/obj/item/toy/crayon/CR = WM.color_source
- add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
- else
- if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
- var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
- add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
-
/mob/living/simple_animal/pet/dog/corgi/machine_wash(obj/machinery/washing_machine/WM)
WM.bloody_mess = TRUE
gib()
+/obj/item/machine_wash(obj/machinery/washing_machine/WM)
+ if(WM.color_source)
+ dye_item(WM.color_source.dye_color)
+
+/obj/item/clothing/under/dye_item(dye_color, dye_key)
+ . = ..()
+ if(.)
+ var/obj/item/clothing/under/U = .
+ can_adjust = initial(U.can_adjust)
+ if(!can_adjust && adjusted) //we deadjust the uniform if it's now unadjustable
+ toggle_jumpsuit_adjust()
+
/obj/item/clothing/under/machine_wash(obj/machinery/washing_machine/WM)
freshly_laundered = TRUE
addtimer(VARSET_CALLBACK(src, freshly_laundered, FALSE), 5 MINUTES, TIMER_UNIQUE | TIMER_OVERRIDE)
-
-/obj/item/clothing/under/color/machine_wash(obj/machinery/washing_machine/WM)
..()
- jumpsuit_wash(WM)
-
-/obj/item/clothing/under/rank/machine_wash(obj/machinery/washing_machine/WM)
- ..()
- jumpsuit_wash(WM)
-
-/obj/item/clothing/under/proc/jumpsuit_wash(obj/machinery/washing_machine/WM)
-
- if(WM.color_source)
- var/wash_color = WM.color_source.item_color
- var/obj/item/clothing/under/U
- for(var/T in typesof(/obj/item/clothing/under/color))
- var/obj/item/clothing/under/color/J = T
- if(wash_color == initial(J.item_color))
- U = J
- break
- if(!U)
- for(var/T in typesof(/obj/item/clothing/under/rank))
- var/obj/item/clothing/under/rank/R = T
- if(wash_color == initial(R.item_color))
- U = R
- break
- if(U)
- item_state = initial(U.item_state)
- icon_state = initial(U.icon_state)
- item_color = wash_color
- name = initial(U.name)
- dodgy_colours = TRUE
- can_adjust = initial(U.can_adjust)
- if(!can_adjust && adjusted) //we deadjust the uniform if it's now unadjustable
- toggle_jumpsuit_adjust()
-
-//dyed clothing results//
-
-/obj/item/storage/belt/fannypack/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- var/wash_color = WM.color_source.item_color
- for(var/T in typesof(/obj/item/storage/belt/fannypack))
- var/obj/item/storage/belt/fannypack/FP = T
- if(wash_color == initial(FP.item_color))
- item_state = initial(FP.item_state)
- icon_state = initial(FP.icon_state)
- item_color = wash_color
- name = initial(FP.name)
- desc = "The colors are a bit dodgy."
- break
-
-/obj/item/clothing/gloves/color/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- var/wash_color = WM.color_source.item_color
- for(var/T in typesof(/obj/item/clothing/gloves/color))
- var/obj/item/clothing/gloves/color/G = T
- if(wash_color == initial(G.item_color))
- item_state = initial(G.item_state)
- icon_state = initial(G.icon_state)
- item_color = wash_color
- name = initial(G.name)
- desc = "The colors are a bit dodgy."
- break
/obj/item/clothing/shoes/sneakers/machine_wash(obj/machinery/washing_machine/WM)
if(chained)
chained = 0
slowdown = SHOES_SLOWDOWN
new /obj/item/restraints/handcuffs(loc)
- if(WM.color_source)
- var/wash_color = WM.color_source.item_color
- for(var/T in typesof(/obj/item/clothing/shoes/sneakers))
- var/obj/item/clothing/shoes/sneakers/S = T
- if(wash_color == initial(S.item_color))
- icon_state = initial(S.icon_state)
- item_color = wash_color
- name = initial(S.name)
- desc = "The colors are a bit dodgy."
- break
-
-/obj/item/bedsheet/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- var/wash_color = WM.color_source.item_color
- for(var/T in typesof(/obj/item/bedsheet))
- var/obj/item/bedsheet/B = T
- if(wash_color == initial(B.item_color))
- icon_state = initial(B.icon_state)
- item_color = wash_color
- name = initial(B.name)
- desc = "The colors are a bit dodgy."
- break
-
-/obj/item/clothing/neck/scarf/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- if(istype(WM.color_source, /obj/item/toy/crayon))
- var/obj/item/toy/crayon/CR = WM.color_source
- add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
- else
- if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
- var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
- add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
- name = "dyed scarf"
- desc = "The colors are a bit dodgy."
-
-/obj/item/clothing/head/beanie/machine_wash(obj/machinery/washing_machine/WM)
- if(WM.color_source)
- if(istype(WM.color_source, /obj/item/toy/crayon))
- var/obj/item/toy/crayon/CR = WM.color_source
- add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
- else
- if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
- var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
- add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
- name = "dyed beanie"
- desc = "The colors are a bit dodgy."
-
+ ..()
/obj/machinery/washing_machine/relaymove(mob/user)
container_resist(user)
@@ -226,8 +249,6 @@
add_fingerprint(user)
open_machine()
-
-
/obj/machinery/washing_machine/update_icon()
cut_overlays()
if(busy)
@@ -249,24 +270,23 @@
return
else if(user.a_intent != INTENT_HARM)
-
if (!state_open)
to_chat(user, "Open the door first!")
- return 1
+ return TRUE
if(bloody_mess)
to_chat(user, "[src] must be cleaned up first.")
- return 1
+ return TRUE
if(contents.len >= max_wash_capacity)
to_chat(user, "The washing machine is full!")
- return 1
+ return TRUE
if(!user.transferItemToLoc(W, src))
to_chat(user, "\The [W] is stuck to your hand, you cannot put it in the washing machine!")
- return 1
+ return TRUE
- if(istype(W, /obj/item/toy/crayon) || istype(W, /obj/item/stamp) || istype(W, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower) || istype(W, /obj/item/stack/ore/bluespace_crystal))
+ if(W.dye_color)
color_source = W
update_icon()
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 3b043d0df1e..4ba4e9d87ed 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -7,10 +7,19 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
/obj/item
name = "item"
icon = 'icons/obj/items_and_weapons.dmi'
+ ///icon state name for inhanf overlays
var/item_state = null
+ ///Icon file for left hand inhand overlays
var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
+ ///Icon file for right inhand overlays
var/righthand_file = 'icons/mob/inhands/items_righthand.dmi'
+ ///Icon file for mob worn overlays.
+ ///no var for state because it should *always* be the same as icon_state
+ var/icon/mob_overlay_icon
+ //Forced mob worn layer instead of the standard preferred ssize.
+ var/alternate_worn_layer
+
//Dimensions of the icon file used when this item is worn, eg: hats.dmi
//eg: 32x32 sprite, 64x64 sprite, etc.
//allows inhands/worn sprites to be of any size, but still centered on a mob properly
@@ -20,9 +29,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/inhand_x_dimension = 32
var/inhand_y_dimension = 32
- //Not on /clothing because for some reason any /obj/item can technically be "worn" with enough fuckery.
- var/icon/alternate_worn_icon = null//If this is set, update_icons() will find on mob (WORN, NOT INHANDS) states in this file instead, primary use: badminnery/events
- var/alternate_worn_layer = null//If this is set, update_icons() will force the on mob state (WORN, NOT INHANDS) onto this layer, instead of it's default
max_integrity = 200
@@ -52,8 +58,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/interaction_flags_item = INTERACT_ITEM_ATTACK_HAND_PICKUP
- var/item_color = null //this needs deprecating, soonish
-
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags
var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
var/permeability_coefficient = 1 // for chemicals/diseases
@@ -102,6 +106,13 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/trigger_guard = TRIGGER_GUARD_NONE
+ ///Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm
+ var/dye_color
+ ///Whether the item is unaffected by standard dying.
+ var/undyeable = FALSE
+ ///What dye registry should be looked at when dying this item; see washing_machine.dm
+ var/dying_key
+
//Grinder vars
var/list/grind_results //A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only
var/list/juice_results //A reagent list containing blah blah... but when JUICED in a grinder!
@@ -810,4 +821,4 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
return !HAS_TRAIT(src, TRAIT_NODROP)
/obj/item/proc/doStrip(mob/stripper, mob/owner)
- return owner.dropItemToGround(src)
\ No newline at end of file
+ return owner.dropItemToGround(src)
diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm
index d3ec2249d66..6b531ec6ae9 100644
--- a/code/game/objects/items/RCL.dm
+++ b/code/game/objects/items/RCL.dm
@@ -189,7 +189,7 @@
return //If we've run out, display message and exit
else
last = null
- loaded.item_color = colors[current_color_index]
+ loaded.pipe_cleaner_color = colors[current_color_index]
last = loaded.place_turf(get_turf(src), user, turn(user.dir, 180))
is_empty(user) //If we've run out, display message
update_icon()
@@ -266,7 +266,7 @@
if(T.intact || !T.can_have_cabling())
return
- loaded.item_color = colors[current_color_index]
+ loaded.pipe_cleaner_color = colors[current_color_index]
var/obj/structure/pipe_cleaner/linkingCable = findLinkingCable(user)
if(linkingCable)
@@ -300,7 +300,7 @@
var/cwname = colors[current_color_index]
to_chat(user, "Color changed to [cwname]!")
if(loaded)
- loaded.item_color= colors[current_color_index]
+ loaded.pipe_cleaner_color = colors[current_color_index]
if(wiring_gui_menu)
wiringGuiUpdate(user)
else if(istype(action, /datum/action/item_action/rcl_gui))
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 3d1dfa0cb19..d07ab28cd41 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -26,7 +26,7 @@
var/icon_uncapped
var/use_overlays = FALSE
- item_color = "red"
+ var/crayon_color = "red"
w_class = WEIGHT_CLASS_TINY
attack_verb = list("attacked", "coloured")
grind_results = list()
@@ -80,7 +80,9 @@
. = ..()
// Makes crayons identifiable in things like grinders
if(name == "crayon")
- name = "[item_color] crayon"
+ name = "[crayon_color] crayon"
+
+ dye_color = crayon_color
drawtype = pick(all_drawables)
@@ -421,67 +423,76 @@
/obj/item/toy/crayon/red
icon_state = "crayonred"
paint_color = "#DA0000"
- item_color = "red"
+ crayon_color = "red"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/red = 1)
+ dye_color = DYE_RED
/obj/item/toy/crayon/orange
icon_state = "crayonorange"
paint_color = "#FF9300"
- item_color = "orange"
+ crayon_color = "orange"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/orange = 1)
+ dye_color = DYE_ORANGE
/obj/item/toy/crayon/yellow
icon_state = "crayonyellow"
paint_color = "#FFF200"
- item_color = "yellow"
+ crayon_color = "yellow"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/yellow = 1)
+ dye_color = DYE_YELLOW
/obj/item/toy/crayon/green
icon_state = "crayongreen"
paint_color = "#A8E61D"
- item_color = "green"
+ crayon_color = "green"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/green = 1)
+ dye_color = DYE_GREEN
/obj/item/toy/crayon/blue
icon_state = "crayonblue"
paint_color = "#00B7EF"
- item_color = "blue"
+ crayon_color = "blue"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/blue = 1)
+ dye_color = DYE_BLUE
/obj/item/toy/crayon/purple
icon_state = "crayonpurple"
paint_color = "#DA00FF"
- item_color = "purple"
+ crayon_color = "purple"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/purple = 1)
+ dye_color = DYE_PURPLE
/obj/item/toy/crayon/black
icon_state = "crayonblack"
paint_color = "#1C1C1C" //Not completely black because total black looks bad. So Mostly Black.
- item_color = "black"
+ crayon_color = "black"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/black = 1)
+ dye_color = DYE_BLACK
/obj/item/toy/crayon/white
icon_state = "crayonwhite"
paint_color = "#FFFFFF"
- item_color = "white"
+ crayon_color = "white"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/white = 1)
+ dye_color = DYE_WHITE
/obj/item/toy/crayon/mime
icon_state = "crayonmime"
desc = "A very sad-looking crayon."
paint_color = "#FFFFFF"
- item_color = "mime"
+ crayon_color = "mime"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/invisible = 1)
charges = -1
+ dye_color = DYE_MIME
/obj/item/toy/crayon/rainbow
icon_state = "crayonrainbow"
paint_color = "#FFF000"
- item_color = "rainbow"
+ crayon_color = "rainbow"
reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent = 1)
drawtype = RANDOM_ANY // just the default starter.
-
charges = -1
+ dye_color = DYE_RAINBOW
/obj/item/toy/crayon/rainbow/afterattack(atom/target, mob/user, proximity, params)
paint_color = rgb(rand(0,255), rand(0,255), rand(0,255))
@@ -517,12 +528,12 @@
/obj/item/storage/crayons/update_icon()
cut_overlays()
for(var/obj/item/toy/crayon/crayon in contents)
- add_overlay(mutable_appearance('icons/obj/crayons.dmi', crayon.item_color))
+ add_overlay(mutable_appearance('icons/obj/crayons.dmi', crayon.crayon_color))
/obj/item/storage/crayons/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/toy/crayon))
var/obj/item/toy/crayon/C = W
- switch(C.item_color)
+ switch(C.crayon_color)
if("mime")
to_chat(usr, "This crayon is too sad to be contained in this box.")
return
diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm
index ea24e778327..1172b50377a 100644
--- a/code/game/objects/items/documents.dm
+++ b/code/game/objects/items/documents.dm
@@ -51,8 +51,8 @@
to_chat(user, "You have already forged a seal on [src]!")
else
var/obj/item/toy/crayon/C = O
- name = "[C.item_color] secret documents"
- icon_state = "docs_[C.item_color]"
- forgedseal = C.item_color
- to_chat(user, "You forge the official seal with a [C.item_color] crayon. No one will notice... right?")
- update_icon()
\ No newline at end of file
+ name = "[C.crayon_color] secret documents"
+ icon_state = "docs_[C.crayon_color]"
+ forgedseal = C.crayon_color
+ to_chat(user, "You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?")
+ update_icon()
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index 4f34cc482ee..88609f33a40 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -104,15 +104,13 @@
icon_state = "sinewcuff"
item_state = "sinewcuff"
materials = null
- item_color = "white"
- color = "#000000"
+ color = null
/obj/item/restraints/handcuffs/cable
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff"
item_state = "coil"
- item_color = "red"
color = "#ff0000"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
@@ -120,45 +118,29 @@
breakouttime = 30 SECONDS
cuffsound = 'sound/weapons/cablecuff.ogg'
-/obj/item/restraints/handcuffs/cable/Initialize(mapload, param_color)
- . = ..()
-
- update_icon()
-
-/obj/item/restraints/handcuffs/cable/update_icon()
- color = null
- add_atom_colour(item_color, FIXED_COLOUR_PRIORITY)
-
/obj/item/restraints/handcuffs/cable/red
- item_color = "red"
color = "#ff0000"
/obj/item/restraints/handcuffs/cable/yellow
- item_color = "yellow"
color = "#ffff00"
/obj/item/restraints/handcuffs/cable/blue
- item_color = "blue"
color = "#1919c8"
/obj/item/restraints/handcuffs/cable/green
- item_color = "green"
color = "#00aa00"
/obj/item/restraints/handcuffs/cable/pink
- item_color = "pink"
color = "#ff3ccd"
/obj/item/restraints/handcuffs/cable/orange
- item_color = "orange"
color = "#ff8000"
/obj/item/restraints/handcuffs/cable/cyan
- item_color = "cyan"
color = "#00ffff"
/obj/item/restraints/handcuffs/cable/white
- item_color = "white"
+ color = null
/obj/item/restraints/handcuffs/alien
icon_state = "handcuffAlien"
@@ -208,7 +190,7 @@
materials = list()
breakouttime = 45 SECONDS
trashtype = /obj/item/restraints/handcuffs/cable/zipties/used
- item_color = "white"
+ color = null
/obj/item/restraints/handcuffs/cable/zipties/used
desc = "A pair of broken zipties."
diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm
index 00c5a08b367..d5f78e37824 100644
--- a/code/game/objects/items/holy_weapons.dm
+++ b/code/game/objects/items/holy_weapons.dm
@@ -77,7 +77,7 @@
/obj/item/clothing/head/helmet/chaplain/cage
name = "cage"
desc = "A cage that restrains the will of the self, allowing one to see the profane world for what it is."
- alternate_worn_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
+ mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
icon_state = "cage"
item_state = "cage"
worn_x_dimension = 64
diff --git a/code/game/objects/items/implants/implant.dm b/code/game/objects/items/implants/implant.dm
index 03a45cc9828..07e0ab2c8f4 100644
--- a/code/game/objects/items/implants/implant.dm
+++ b/code/game/objects/items/implants/implant.dm
@@ -5,7 +5,7 @@
actions_types = list(/datum/action/item_action/hands_free/activate)
var/activated = TRUE //1 for implant types that can be activated, 0 for ones that are "always on" like mindshield implants
var/mob/living/imp_in = null
- item_color = "b"
+ var/implant_color = "b"
var/allow_multiple = FALSE
var/uses = -1
item_flags = DROPDEL
diff --git a/code/game/objects/items/implants/implant_freedom.dm b/code/game/objects/items/implants/implant_freedom.dm
index f3e66d2c08b..280fbb7cd33 100644
--- a/code/game/objects/items/implants/implant_freedom.dm
+++ b/code/game/objects/items/implants/implant_freedom.dm
@@ -2,7 +2,7 @@
name = "freedom implant"
desc = "Use this to escape from those evil Red Shirts."
icon_state = "freedom"
- item_color = "r"
+ implant_color = "r"
uses = 4
diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm
index d36ac43f001..a0ad3b721cf 100644
--- a/code/game/objects/items/implants/implant_storage.dm
+++ b/code/game/objects/items/implants/implant_storage.dm
@@ -2,7 +2,7 @@
name = "storage implant"
desc = "Stores up to two big items in a bluespace pocket."
icon_state = "storage"
- item_color = "r"
+ implant_color = "r"
var/max_slot_stacking = 4
/obj/item/implant/storage/activate()
diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm
index c17f0e3c829..d58156b7548 100644
--- a/code/game/objects/items/implants/implantcase.dm
+++ b/code/game/objects/items/implants/implantcase.dm
@@ -16,7 +16,7 @@
/obj/item/implantcase/update_icon()
if(imp)
- icon_state = "implantcase-[imp.item_color]"
+ icon_state = "implantcase-[imp.implant_color]"
reagents = imp.reagents
else
icon_state = "implantcase-0"
diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm
index 7416b06e9c9..ca55a6c34f2 100644
--- a/code/game/objects/items/melee/energy.dm
+++ b/code/game/objects/items/melee/energy.dm
@@ -6,6 +6,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30)
resistance_flags = FIRE_PROOF
var/brightness_on = 3
+ var/sword_color
/obj/item/melee/transforming/energy/Initialize()
. = ..()
@@ -36,8 +37,8 @@
. = ..()
if(.)
if(active)
- if(item_color)
- icon_state = "sword[item_color]"
+ if(sword_color)
+ icon_state = "sword[sword_color]"
START_PROCESSING(SSobj, src)
set_light(brightness_on)
else
@@ -104,8 +105,8 @@
/obj/item/melee/transforming/energy/sword/transform_weapon(mob/living/user, supress_message_text)
. = ..()
- if(. && active && item_color)
- icon_state = "sword[item_color]"
+ if(. && active && sword_color)
+ icon_state = "sword[sword_color]"
/obj/item/melee/transforming/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(active)
@@ -113,7 +114,7 @@
return 0
/obj/item/melee/transforming/energy/sword/cyborg
- item_color = "red"
+ sword_color = "red"
var/hitcost = 50
/obj/item/melee/transforming/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R)
@@ -134,7 +135,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "esaw_0"
icon_state_on = "esaw_1"
- item_color = null //stops icon from breaking when turned on.
+ sword_color = null //stops icon from breaking when turned on.
hitcost = 75 //Costs more than a standard cyborg esword
w_class = WEIGHT_CLASS_NORMAL
sharpness = IS_SHARP
@@ -156,7 +157,7 @@
. = ..()
if(LAZYLEN(possible_colors))
var/set_color = pick(possible_colors)
- item_color = set_color
+ sword_color = set_color
light_color = possible_colors[set_color]
/obj/item/melee/transforming/energy/sword/saber/process()
@@ -182,7 +183,7 @@
if(W.tool_behaviour == TOOL_MULTITOOL)
if(!hacked)
hacked = TRUE
- item_color = "rainbow"
+ sword_color = "rainbow"
to_chat(user, "RNBW_ENGAGE")
if(active)
diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm
index 87f7f19b923..7164fe77337 100644
--- a/code/game/objects/items/paint.dm
+++ b/code/game/objects/items/paint.dm
@@ -7,7 +7,7 @@
desc = "Used to recolor floors and walls. Can be removed by the janitor."
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "paint_neutral"
- item_color = "FFFFFF"
+ var/paint_color = "FFFFFF"
item_state = "paintcan"
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FLAMMABLE
@@ -16,37 +16,37 @@
/obj/item/paint/red
name = "red paint"
- item_color = "C73232" //"FF0000"
+ paint_color = "C73232" //"FF0000"
icon_state = "paint_red"
/obj/item/paint/green
name = "green paint"
- item_color = "2A9C3B" //"00FF00"
+ paint_color = "2A9C3B" //"00FF00"
icon_state = "paint_green"
/obj/item/paint/blue
name = "blue paint"
- item_color = "5998FF" //"0000FF"
+ paint_color = "5998FF" //"0000FF"
icon_state = "paint_blue"
/obj/item/paint/yellow
name = "yellow paint"
- item_color = "CFB52B" //"FFFF00"
+ paint_color = "CFB52B" //"FFFF00"
icon_state = "paint_yellow"
/obj/item/paint/violet
name = "violet paint"
- item_color = "AE4CCD" //"FF00FF"
+ paint_color = "AE4CCD" //"FF00FF"
icon_state = "paint_violet"
/obj/item/paint/black
name = "black paint"
- item_color = "333333"
+ paint_color = "333333"
icon_state = "paint_black"
/obj/item/paint/white
name = "white paint"
- item_color = "FFFFFF"
+ paint_color = "FFFFFF"
icon_state = "paint_white"
@@ -61,19 +61,19 @@
return
switch(t1)
if("red")
- item_color = "C73232"
+ paint_color = "C73232"
if("blue")
- item_color = "5998FF"
+ paint_color = "5998FF"
if("green")
- item_color = "2A9C3B"
+ paint_color = "2A9C3B"
if("yellow")
- item_color = "CFB52B"
+ paint_color = "CFB52B"
if("violet")
- item_color = "AE4CCD"
+ paint_color = "AE4CCD"
if("white")
- item_color = "FFFFFF"
+ paint_color = "FFFFFF"
if("black")
- item_color = "333333"
+ paint_color = "333333"
icon_state = "paint_[t1]"
add_fingerprint(user)
@@ -87,7 +87,7 @@
return
if(!isturf(target) || isspaceturf(target))
return
- var/newcolor = "#" + item_color
+ var/newcolor = "#" + paint_color
target.add_atom_colour(newcolor, WASHABLE_COLOUR_PRIORITY)
/obj/item/paint/paint_remover
diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm
index daf167af85b..b4cb96b2566 100644
--- a/code/game/objects/items/religion.dm
+++ b/code/game/objects/items/religion.dm
@@ -280,7 +280,7 @@
/obj/item/clothing/head/helmet/plate/crusader/prophet
name = "Prophet's Hat"
desc = "A religious-looking hat."
- alternate_worn_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
+ mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
flags_1 = 0
armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 50, "bomb" = 70, "bio" = 50, "rad" = 50, "fire" = 60, "acid" = 60) //religion protects you from disease and radiation, honk.
worn_x_dimension = 64
diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm
index 3e8674216df..39ea7bdf6e5 100644
--- a/code/game/objects/items/stacks/bscrystal.dm
+++ b/code/game/objects/items/stacks/bscrystal.dm
@@ -4,8 +4,8 @@
desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate."
icon = 'icons/obj/telescience.dmi'
icon_state = "bluespace_crystal"
- item_color = "cosmos"
singular_name = "bluespace crystal"
+ dye_color = DYE_COSMIC
w_class = WEIGHT_CLASS_TINY
materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT)
points = 50
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 052d351cbf4..46ae0a70a50 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -213,8 +213,7 @@
else if(istype(O, /obj/item/restraints/handcuffs/cable))
var/obj/item/cuffs = O
- cuffs.item_color = item_color
- cuffs.update_icon()
+ cuffs.color = color
if (QDELETED(O))
return //It's a stack and has already been merged
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 5a4d430cd20..3543c4629a1 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -567,7 +567,7 @@
desc = "A dorky fannypack for keeping small items in."
icon_state = "fannypack_leather"
item_state = "fannypack_leather"
- item_color = "fannypackleather"
+ dying_key = DYE_REGISTRY_FANNYPACK
custom_price = 15
/obj/item/storage/belt/fannypack/ComponentInitialize()
@@ -580,61 +580,51 @@
name = "black fannypack"
icon_state = "fannypack_black"
item_state = "fannypack_black"
- item_color = "black"
/obj/item/storage/belt/fannypack/red
name = "red fannypack"
icon_state = "fannypack_red"
item_state = "fannypack_red"
- item_color = "red"
/obj/item/storage/belt/fannypack/purple
name = "purple fannypack"
icon_state = "fannypack_purple"
item_state = "fannypack_purple"
- item_color = "purple"
/obj/item/storage/belt/fannypack/blue
name = "blue fannypack"
icon_state = "fannypack_blue"
item_state = "fannypack_blue"
- item_color = "blue"
/obj/item/storage/belt/fannypack/orange
name = "orange fannypack"
icon_state = "fannypack_orange"
item_state = "fannypack_orange"
- item_color = "orange"
/obj/item/storage/belt/fannypack/white
name = "white fannypack"
icon_state = "fannypack_white"
item_state = "fannypack_white"
- item_color = "white"
/obj/item/storage/belt/fannypack/green
name = "green fannypack"
icon_state = "fannypack_green"
item_state = "fannypack_green"
- item_color = "green"
/obj/item/storage/belt/fannypack/pink
name = "pink fannypack"
icon_state = "fannypack_pink"
item_state = "fannypack_pink"
- item_color = "pink"
/obj/item/storage/belt/fannypack/cyan
name = "cyan fannypack"
icon_state = "fannypack_cyan"
item_state = "fannypack_cyan"
- item_color = "cyan"
/obj/item/storage/belt/fannypack/yellow
name = "yellow fannypack"
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
- item_color = "yellow"
/obj/item/storage/belt/sabre
name = "sabre sheath"
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index ad9bbfb1a5a..12eb2d3a284 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -86,4 +86,4 @@
icon_state = "crowbar_cyborg"
usesound = 'sound/items/jaws_pry.ogg'
force = 10
- toolspeed = 0.5
\ No newline at end of file
+ toolspeed = 0.5
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 8ecdddaf79c..4964c57a247 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -267,6 +267,7 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "struck", "hit")
var/hacked = FALSE
+ var/saber_color
/obj/item/toy/sword/attack_self(mob/user)
active = !( active )
@@ -299,13 +300,13 @@
var/obj/item/twohanded/dualsaber/toy/newSaber = new /obj/item/twohanded/dualsaber/toy(user.loc)
if(hacked) // That's right, we'll only check the "original" "sword".
newSaber.hacked = TRUE
- newSaber.item_color = "rainbow"
+ newSaber.saber_color = "rainbow"
qdel(W)
qdel(src)
else if(W.tool_behaviour == TOOL_MULTITOOL)
if(!hacked)
hacked = TRUE
- item_color = "rainbow"
+ saber_color = "rainbow"
to_chat(user, "RNBW_ENGAGE")
if(active)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 62917cc04fd..59d2d7cac4a 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -281,7 +281,7 @@
unwieldsound = 'sound/weapons/saberoff.ogg'
hitsound = "swing_hit"
armour_penetration = 35
- item_color = "green"
+ var/saber_color = "green"
light_color = "#00ff00"//green
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
block_chance = 75
@@ -320,8 +320,8 @@
/obj/item/twohanded/dualsaber/Initialize()
. = ..()
if(LAZYLEN(possible_colors))
- item_color = pick(possible_colors)
- switch(item_color)
+ saber_color = pick(possible_colors)
+ switch(saber_color)
if("red")
light_color = LIGHT_COLOR_RED
if("green")
@@ -337,7 +337,7 @@
/obj/item/twohanded/dualsaber/update_icon()
if(wielded)
- icon_state = "dualsaber[item_color][wielded]"
+ icon_state = "dualsaber[saber_color][wielded]"
else
icon_state = "dualsaber0"
SEND_SIGNAL(src, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
@@ -439,7 +439,7 @@
if(!hacked)
hacked = TRUE
to_chat(user, "2XRNBW_ENGAGE")
- item_color = "rainbow"
+ saber_color = "rainbow"
update_icon()
else
to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.")
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 30c7f2708c3..509d5f7d13f 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -18,8 +18,8 @@ LINEN BINS
throw_speed = 1
throw_range = 2
w_class = WEIGHT_CLASS_TINY
- item_color = "white"
resistance_flags = FLAMMABLE
+ dying_key = DYE_REGISTRY_BEDSHEET
dog_fashion = /datum/dog_fashion/head/ghost
var/list/dream_messages = list("white")
@@ -57,31 +57,26 @@ LINEN BINS
/obj/item/bedsheet/blue
icon_state = "sheetblue"
item_state = "sheetblue"
- item_color = "blue"
dream_messages = list("blue")
/obj/item/bedsheet/green
icon_state = "sheetgreen"
item_state = "sheetgreen"
- item_color = "green"
dream_messages = list("green")
/obj/item/bedsheet/grey
icon_state = "sheetgrey"
item_state = "sheetgrey"
- item_color = "grey"
dream_messages = list("grey")
/obj/item/bedsheet/orange
icon_state = "sheetorange"
item_state = "sheetorange"
- item_color = "orange"
dream_messages = list("orange")
/obj/item/bedsheet/purple
icon_state = "sheetpurple"
item_state = "sheetpurple"
- item_color = "purple"
dream_messages = list("purple")
/obj/item/bedsheet/patriot
@@ -89,7 +84,6 @@ LINEN BINS
desc = "You've never felt more free than when sleeping on this."
icon_state = "sheetUSA"
item_state = "sheetUSA"
- item_color = "sheetUSA"
dream_messages = list("America", "freedom", "fireworks", "bald eagles")
/obj/item/bedsheet/rainbow
@@ -97,19 +91,16 @@ LINEN BINS
desc = "A multicolored blanket. It's actually several different sheets cut up and sewn together."
icon_state = "sheetrainbow"
item_state = "sheetrainbow"
- item_color = "rainbow"
dream_messages = list("red", "orange", "yellow", "green", "blue", "purple", "a rainbow")
/obj/item/bedsheet/red
icon_state = "sheetred"
item_state = "sheetred"
- item_color = "red"
dream_messages = list("red")
/obj/item/bedsheet/yellow
icon_state = "sheetyellow"
item_state = "sheetyellow"
- item_color = "yellow"
dream_messages = list("yellow")
/obj/item/bedsheet/mime
@@ -117,7 +108,6 @@ LINEN BINS
desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this."
icon_state = "sheetmime"
item_state = "sheetmime"
- item_color = "mime"
dream_messages = list("silence", "gestures", "a pale face", "a gaping mouth", "the mime")
/obj/item/bedsheet/clown
@@ -125,7 +115,6 @@ LINEN BINS
desc = "A rainbow blanket with a clown mask woven in. It smells faintly of bananas."
icon_state = "sheetclown"
item_state = "sheetrainbow"
- item_color = "clown"
dream_messages = list("honk", "laughter", "a prank", "a joke", "a smiling face", "the clown")
/obj/item/bedsheet/captain
@@ -133,7 +122,6 @@ LINEN BINS
desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains."
icon_state = "sheetcaptain"
item_state = "sheetcaptain"
- item_color = "captain"
dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain")
/obj/item/bedsheet/rd
@@ -141,7 +129,6 @@ LINEN BINS
desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day."
icon_state = "sheetrd"
item_state = "sheetrd"
- item_color = "director"
dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director")
// for Free Golems.
@@ -155,7 +142,6 @@ LINEN BINS
desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station."
icon_state = "sheetmedical"
item_state = "sheetmedical"
- item_color = "medical"
dream_messages = list("healing", "life", "surgery", "a doctor")
/obj/item/bedsheet/cmo
@@ -163,7 +149,6 @@ LINEN BINS
desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Runtime."
icon_state = "sheetcmo"
item_state = "sheetcmo"
- item_color = "cmo"
dream_messages = list("authority", "a silvery ID", "healing", "life", "surgery", "a cat", "the chief medical officer")
/obj/item/bedsheet/hos
@@ -171,7 +156,6 @@ LINEN BINS
desc = "It is decorated with a shield emblem. While crime doesn't sleep, you do, but you are still THE LAW!"
icon_state = "sheethos"
item_state = "sheethos"
- item_color = "hosred"
dream_messages = list("authority", "a silvery ID", "handcuffs", "a baton", "a flashbang", "sunglasses", "the head of security")
/obj/item/bedsheet/hop
@@ -179,7 +163,6 @@ LINEN BINS
desc = "It is decorated with a key emblem. For those rare moments when you can rest and cuddle with Ian without someone screaming for you over the radio."
icon_state = "sheethop"
item_state = "sheethop"
- item_color = "hop"
dream_messages = list("authority", "a silvery ID", "obligation", "a computer", "an ID", "a corgi", "the head of personnel")
/obj/item/bedsheet/ce
@@ -187,7 +170,6 @@ LINEN BINS
desc = "It is decorated with a wrench emblem. It's highly reflective and stain resistant, so you don't need to worry about ruining it with oil."
icon_state = "sheetce"
item_state = "sheetce"
- item_color = "chief"
dream_messages = list("authority", "a silvery ID", "the engine", "power tools", "an APC", "a parrot", "the chief engineer")
/obj/item/bedsheet/qm
@@ -195,19 +177,16 @@ LINEN BINS
desc = "It is decorated with a crate emblem in silver lining. It's rather tough, and just the thing to lie on after a hard day of pushing paper."
icon_state = "sheetqm"
item_state = "sheetqm"
- item_color = "qm"
dream_messages = list("a grey ID", "a shuttle", "a crate", "a sloth", "the quartermaster")
/obj/item/bedsheet/brown
icon_state = "sheetbrown"
item_state = "sheetbrown"
- item_color = "cargo"
dream_messages = list("brown")
/obj/item/bedsheet/black
icon_state = "sheetblack"
item_state = "sheetblack"
- item_color = "black"
dream_messages = list("black")
/obj/item/bedsheet/centcom
@@ -215,7 +194,6 @@ LINEN BINS
desc = "Woven with advanced nanothread for warmth as well as being very decorated, essential for all officials."
icon_state = "sheetcentcom"
item_state = "sheetcentcom"
- item_color = "centcom"
dream_messages = list("a unique ID", "authority", "artillery", "an ending")
/obj/item/bedsheet/syndie
@@ -223,7 +201,6 @@ LINEN BINS
desc = "It has a syndicate emblem and it has an aura of evil."
icon_state = "sheetsyndie"
item_state = "sheetsyndie"
- item_color = "syndie"
dream_messages = list("a green disc", "a red crystal", "a glowing blade", "a wire-covered ID")
/obj/item/bedsheet/cult
@@ -231,7 +208,6 @@ LINEN BINS
desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence."
icon_state = "sheetcult"
item_state = "sheetcult"
- item_color = "cult"
dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure")
/obj/item/bedsheet/wiz
@@ -239,7 +215,6 @@ LINEN BINS
desc = "A special fabric enchanted with magic so you can have an enchanted night. It even glows!"
icon_state = "sheetwiz"
item_state = "sheetwiz"
- item_color = "wiz"
dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic")
/obj/item/bedsheet/nanotrasen
@@ -247,13 +222,11 @@ LINEN BINS
desc = "It has the Nanotrasen logo on it and has an aura of duty."
icon_state = "sheetNT"
item_state = "sheetNT"
- item_color = "nanotrasen"
dream_messages = list("authority", "an ending")
/obj/item/bedsheet/ian
icon_state = "sheetian"
item_state = "sheetian"
- item_color = "ian"
dream_messages = list("a dog", "a corgi", "woof", "bark", "arf")
/obj/item/bedsheet/cosmos
@@ -261,14 +234,12 @@ LINEN BINS
desc = "Made from the dreams of those who wonder at the stars."
icon_state = "sheetcosmos"
item_state = "sheetcosmos"
- item_color = "cosmos"
dream_messages = list("the infinite cosmos", "Hans Zimmer music", "a flight through space", "the galaxy", "being fabulous", "shooting stars")
light_power = 2
light_range = 1.4
/obj/item/bedsheet/random
icon_state = "random_bedsheet"
- item_color = "rainbow"
name = "random bedsheet"
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
@@ -280,7 +251,6 @@ LINEN BINS
/obj/item/bedsheet/dorms
icon_state = "random_bedsheet"
- item_color = "rainbow"
name = "random dorms bedsheet"
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm
index 76c51fed150..3dc886cfeed 100644
--- a/code/modules/antagonists/changeling/changeling.dm
+++ b/code/modules/antagonists/changeling/changeling.dm
@@ -288,13 +288,12 @@
var/list/slots = list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store")
for(var/slot in slots)
if(slot in H.vars)
- var/obj/item/I = H.vars[slot]
+ var/obj/item/clothing/I = H.vars[slot]
if(!I)
continue
prof.name_list[slot] = I.name
prof.appearance_list[slot] = I.appearance
prof.flags_cover_list[slot] = I.flags_cover
- prof.item_color_list[slot] = I.item_color
prof.item_state_list[slot] = I.item_state
prof.exists_list[slot] = 1
else
@@ -510,7 +509,6 @@
var/list/appearance_list = list()
var/list/flags_cover_list = list()
var/list/exists_list = list()
- var/list/item_color_list = list()
var/list/item_state_list = list()
var/underwear
@@ -530,7 +528,6 @@
newprofile.appearance_list = appearance_list.Copy()
newprofile.flags_cover_list = flags_cover_list.Copy()
newprofile.exists_list = exists_list.Copy()
- newprofile.item_color_list = item_color_list.Copy()
newprofile.item_state_list = item_state_list.Copy()
newprofile.underwear = underwear
newprofile.undershirt = undershirt
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
index 694f46f6039..6154bed4a0f 100644
--- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
@@ -125,7 +125,6 @@
icon = 'icons/obj/clothing/clockwork_garb.dmi'
icon_state = "clockwork_gauntlets"
item_state = "clockwork_gauntlets"
- item_color = null //So they don't wash.
strip_delay = 50
equip_delay_other = 30
body_parts_covered = ARMS
diff --git a/code/modules/antagonists/devil/true_devil/inventory.dm b/code/modules/antagonists/devil/true_devil/inventory.dm
index a5fe147cad5..ea9b00644f2 100644
--- a/code/modules/antagonists/devil/true_devil/inventory.dm
+++ b/code/modules/antagonists/devil/true_devil/inventory.dm
@@ -12,12 +12,7 @@
var/obj/item/r_hand = get_item_for_held_index(2)
if(r_hand)
-
- var/r_state = r_hand.item_state
- if(!r_state)
- r_state = r_hand.icon_state
-
- var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
+ var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
hands_overlays += r_hand_overlay
@@ -28,12 +23,7 @@
client.screen |= r_hand
if(l_hand)
-
- var/l_state = l_hand.item_state
- if(!l_state)
- l_state = l_hand.icon_state
-
- var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
+ var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
hands_overlays += l_hand_overlay
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index f7b87db69c0..cd4340a9f71 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -220,9 +220,8 @@
target.desc = initial(picked_item.desc)
target.icon_state = initial(picked_item.icon_state)
if(isitem(target))
- var/obj/item/I = target
+ var/obj/item/clothing/I = target
I.item_state = initial(picked_item.item_state)
- I.item_color = initial(picked_item.item_color)
if(istype(I, /obj/item/clothing) && istype(initial(picked_item), /obj/item/clothing))
var/obj/item/clothing/CL = I
var/obj/item/clothing/PCL = picked_item
@@ -291,7 +290,6 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
desc = "It's a plain jumpsuit. It has a small dial on the wrist."
sensor_mode = SENSOR_OFF //Hey who's this guy on the Syndicate Shuttle??
random_sensor = FALSE
@@ -306,7 +304,6 @@
desc = "A tough jumpsuit woven from alloy threads. It can take on the appearance of other jumpsuits."
icon_state = "engine"
item_state = "engi_suit"
- item_color = "engine"
/obj/item/clothing/under/chameleon/Initialize()
. = ..()
@@ -416,7 +413,6 @@
name = "grey cap"
desc = "It's a baseball hat in a tasteful grey colour."
icon_state = "greysoft"
- item_color = "grey"
resistance_flags = NONE
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
@@ -517,7 +513,6 @@
/obj/item/clothing/shoes/chameleon
name = "black shoes"
icon_state = "black"
- item_color = "black"
desc = "A pair of black shoes."
permeability_coefficient = 0.05
resistance_flags = NONE
@@ -543,7 +538,6 @@
/obj/item/clothing/shoes/chameleon/noslip
name = "black shoes"
icon_state = "black"
- item_color = "black"
desc = "A pair of black shoes."
clothing_flags = NOSLIP
can_be_bloody = FALSE
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index c67a6e01f8d..c5db131ee66 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -37,6 +37,7 @@
var/dynamic_fhair_suffix = ""//mask > head for facial hair
+
/obj/item/clothing/Initialize()
if(CHECK_BITFIELD(clothing_flags, VOICEBOX_TOGGLABLE))
actions_types += /datum/action/item_action/toggle_voice_box
@@ -175,7 +176,7 @@ BLIND // can't see anything
/proc/generate_female_clothing(index,t_color,icon,type)
var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color)
- var/icon/female_s = icon("icon"='icons/mob/uniform.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]")
+ var/icon/female_s = icon("icon"='icons/mob/clothing/uniform.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]")
female_clothing_icon.Blend(female_s, ICON_MULTIPLY)
female_clothing_icon = fcopy_rsc(female_clothing_icon)
GLOB.female_clothing_icons[index] = female_clothing_icon
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index a6e5f54ad33..e331af8ee9a 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -311,7 +311,7 @@
. = list()
if(!isinhands && ishuman(loc) && !colored_before)
var/mob/living/carbon/human/H = loc
- var/mutable_appearance/M = mutable_appearance('icons/mob/eyes.dmi', "blindfoldwhite")
+ var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes.dmi', "blindfoldwhite")
M.appearance_flags |= RESET_COLOR
M.color = "#[H.eye_color]"
. += M
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 35594b87f93..89af44ad476 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -1,3 +1,6 @@
+/obj/item/clothing/gloves/color
+ dying_key = DYE_REGISTRY_GLOVES
+
/obj/item/clothing/gloves/color/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
@@ -5,7 +8,6 @@
item_state = "ygloves"
siemens_coefficient = 0
permeability_coefficient = 0.05
- item_color="yellow"
resistance_flags = NONE
/obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap
@@ -15,7 +17,6 @@
item_state = "ygloves"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in Initialize()
permeability_coefficient = 0.05
- item_color = "yellow"
resistance_flags = NONE
/obj/item/clothing/gloves/color/fyellow/Initialize()
@@ -35,19 +36,12 @@
name = "black gloves"
icon_state = "black"
item_state = "blackgloves"
- item_color="black"
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
- var/can_be_cut = 1
-
-/obj/item/clothing/gloves/color/black/hos
- item_color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
-
-/obj/item/clothing/gloves/color/black/ce
- item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
+ var/can_be_cut = TRUE
/obj/item/clothing/gloves/color/black/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WIRECUTTER)
@@ -63,14 +57,12 @@
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
item_state = "orangegloves"
- item_color="orange"
/obj/item/clothing/gloves/color/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
item_state = "redgloves"
- item_color = "red"
/obj/item/clothing/gloves/color/red/insulated
@@ -85,68 +77,48 @@
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
item_state = "rainbowgloves"
- item_color = "rainbow"
-
-/obj/item/clothing/gloves/color/rainbow/clown
- item_color = "clown"
/obj/item/clothing/gloves/color/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
item_state = "bluegloves"
- item_color="blue"
/obj/item/clothing/gloves/color/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
item_state = "purplegloves"
- item_color="purple"
/obj/item/clothing/gloves/color/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
item_state = "greengloves"
- item_color="green"
/obj/item/clothing/gloves/color/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
item_state = "graygloves"
- item_color="grey"
-
-/obj/item/clothing/gloves/color/grey/rd
- item_color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
-
-/obj/item/clothing/gloves/color/grey/hop
- item_color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
/obj/item/clothing/gloves/color/light_brown
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
item_state = "lightbrowngloves"
- item_color="light brown"
/obj/item/clothing/gloves/color/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
item_state = "browngloves"
- item_color="brown"
-
-/obj/item/clothing/gloves/color/brown/cargo
- item_color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
/obj/item/clothing/gloves/color/captain
desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier. Swanky."
name = "captain's gloves"
icon_state = "captain"
item_state = "egloves"
- item_color = "captain"
siemens_coefficient = 0
permeability_coefficient = 0.05
cold_protection = HANDS
@@ -163,7 +135,6 @@
item_state = "lgloves"
siemens_coefficient = 0.3
permeability_coefficient = 0.01
- item_color="mime"
transfer_prints = TRUE
resistance_flags = NONE
@@ -172,7 +143,6 @@
desc = "Pricy sterile gloves that are stronger than latex."
icon_state = "nitrile"
item_state = "nitrilegloves"
- item_color = "cmo"
transfer_prints = FALSE
/obj/item/clothing/gloves/color/white
@@ -180,10 +150,6 @@
desc = "These look pretty fancy."
icon_state = "white"
item_state = "wgloves"
- item_color="white"
-
-/obj/item/clothing/gloves/color/white/redcoat
- item_color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
/obj/effect/spawner/lootdrop/gloves
name = "random gloves"
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 9930318f09d..3096850ffaf 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -4,13 +4,13 @@
desc = "Plain black gloves without fingertips for the hard working."
icon_state = "fingerless"
item_state = "fingerless"
- item_color = null //So they don't wash.
transfer_prints = TRUE
strip_delay = 40
equip_delay_other = 20
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
custom_price = 10
+ undyeable = TRUE
/obj/item/clothing/gloves/botanic_leather
name = "botanist's leather gloves"
@@ -45,7 +45,6 @@
desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms."
icon_state = "bracers"
item_state = "bracers"
- item_color = null //So they don't wash.
transfer_prints = TRUE
strip_delay = 40
equip_delay_other = 20
diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm
index 285c1b24770..36276de600a 100644
--- a/code/modules/clothing/head/beanie.dm
+++ b/code/modules/clothing/head/beanie.dm
@@ -7,7 +7,6 @@
name = "white beanie"
desc = "A stylish beanie. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their heads."
icon_state = "beanie" //Default white
- item_color = "beanie"
custom_price = 10
/obj/item/clothing/head/beanie/black
@@ -55,45 +54,37 @@
/obj/item/clothing/head/beanie/christmas
name = "christmas beanie"
icon_state = "beaniechristmas"
- item_color = "beaniechristmas"
/obj/item/clothing/head/beanie/striped
name = "striped beanie"
icon_state = "beaniestriped"
- item_color = "beaniestriped"
/obj/item/clothing/head/beanie/stripedred
name = "red striped beanie"
icon_state = "beaniestripedred"
- item_color = "beaniestripedred"
/obj/item/clothing/head/beanie/stripedblue
name = "blue striped beanie"
icon_state = "beaniestripedblue"
- item_color = "beaniestripedblue"
/obj/item/clothing/head/beanie/stripedgreen
name = "green striped beanie"
icon_state = "beaniestripedgreen"
- item_color = "beaniestripedgreen"
/obj/item/clothing/head/beanie/durathread
name = "durathread beanie"
desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "beaniedurathread"
- item_color = null
armor = list("melee" = 15, "bullet" = 5, "laser" = 15, "energy" = 5, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 5)
/obj/item/clothing/head/beanie/waldo
name = "red striped bobble hat"
desc = "If you're going on a worldwide hike, you'll need some cold protection."
icon_state = "waldo_hat"
- item_color = "waldo_hat"
/obj/item/clothing/head/beanie/rasta
name = "rastacap"
desc = "Perfect for tucking in those dreadlocks."
icon_state = "beanierasta"
- item_color = "beanierasta"
//No dog fashion sprites yet :( poor Ian can't be dope like the rest of us yet
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index eb6766a4427..17803a3ba32 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -5,7 +5,7 @@
item_state = "hardhat0_yellow"
var/brightness_on = 4 //luminosity when on
var/on = FALSE
- item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite)
+ var/hat_type = "yellow" //Determines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite)
armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
flags_inv = 0
actions_types = list(/datum/action/item_action/toggle_helmet_light)
@@ -27,8 +27,8 @@
update_icon()
/obj/item/clothing/head/hardhat/update_icon()
- icon_state = "hardhat[on]_[item_color]"
- item_state = "hardhat[on]_[item_color]"
+ icon_state = "hardhat[on]_[hat_type]"
+ item_state = "hardhat[on]_[hat_type]"
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_head()
@@ -46,13 +46,13 @@
/obj/item/clothing/head/hardhat/orange
icon_state = "hardhat0_orange"
item_state = "hardhat0_orange"
- item_color = "orange"
+ hat_type = "orange"
dog_fashion = null
/obj/item/clothing/head/hardhat/red
icon_state = "hardhat0_red"
item_state = "hardhat0_red"
- item_color = "red"
+ hat_type = "red"
dog_fashion = null
name = "firefighter helmet"
clothing_flags = STOPSPRESSUREDAMAGE
@@ -64,7 +64,7 @@
/obj/item/clothing/head/hardhat/white
icon_state = "hardhat0_white"
item_state = "hardhat0_white"
- item_color = "white"
+ hat_type = "white"
clothing_flags = STOPSPRESSUREDAMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
@@ -75,13 +75,13 @@
/obj/item/clothing/head/hardhat/dblue
icon_state = "hardhat0_dblue"
item_state = "hardhat0_dblue"
- item_color = "dblue"
+ hat_type = "dblue"
dog_fashion = null
/obj/item/clothing/head/hardhat/atmos
icon_state = "hardhat0_atmos"
item_state = "hardhat0_atmos"
- item_color = "atmos"
+ hat_type = "atmos"
dog_fashion = null
name = "atmospheric technician's firefighting helmet"
desc = "A firefighter's helmet, able to keep the user cool in any situation."
@@ -125,9 +125,9 @@
/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands)
. = ..()
if(!isinhands)
- . += mutable_appearance('icons/mob/head.dmi', "weldhelmet")
+ . += mutable_appearance('icons/mob/clothing/head.dmi', "weldhelmet")
if(!up)
- . += mutable_appearance('icons/mob/head.dmi', "weldvisor")
+ . += mutable_appearance('icons/mob/clothing/head.dmi', "weldvisor")
/obj/item/clothing/head/hardhat/weldhat/update_icon()
cut_overlays()
@@ -138,14 +138,14 @@
/obj/item/clothing/head/hardhat/weldhat/orange
icon_state = "hardhat0_orange"
item_state = "hardhat0_orange"
- item_color = "orange"
+ hat_type = "orange"
/obj/item/clothing/head/hardhat/weldhat/white
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield!" //This bulb is not smaller
icon_state = "hardhat0_white"
item_state = "hardhat0_white"
brightness_on = 4 //Boss always takes the best stuff
- item_color = "white"
+ hat_type = "white"
clothing_flags = STOPSPRESSUREDAMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
@@ -155,4 +155,4 @@
/obj/item/clothing/head/hardhat/weldhat/dblue
icon_state = "hardhat0_dblue"
item_state = "hardhat0_dblue"
- item_color = "dblue"
\ No newline at end of file
+ hat_type = "dblue"
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index badb00381d5..cd242e2853b 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -133,7 +133,6 @@
name = "durathread beret"
desc = "A beret made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "beretdurathread"
- item_color = null
armor = list("melee" = 15, "bullet" = 5, "laser" = 15, "energy" = 5, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 5)
//Security
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index 850ddaccad1..e3173a27f9d 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -42,7 +42,7 @@
desc = "You put the cake on your head. Brilliant."
icon_state = "hardhat0_cakehat"
item_state = "hardhat0_cakehat"
- item_color = "cakehat"
+ hat_type = "cakehat"
hitsound = 'sound/weapons/tap.ogg'
flags_inv = HIDEEARS|HIDEHAIR
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -113,7 +113,7 @@
desc = "A jack o' lantern! Believed to ward off evil spirits."
icon_state = "hardhat0_pumpkin"
item_state = "hardhat0_pumpkin"
- item_color = "pumpkin"
+ hat_type = "pumpkin"
clothing_flags = SNUG_FIT
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -151,7 +151,7 @@
desc = "Some fake antlers and a very fake red nose."
icon_state = "hardhat0_reindeer"
item_state = "hardhat0_reindeer"
- item_color = "reindeer"
+ hat_type = "reindeer"
flags_inv = 0
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
brightness_on = 1 //luminosity when on
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index 66c211efa9a..6b0a0c26d78 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -3,15 +3,15 @@
desc = "It's a baseball hat in a tasteless yellow colour."
icon_state = "cargosoft"
item_state = "helmet"
- item_color = "cargo"
+ var/soft_type = "cargo"
dog_fashion = /datum/dog_fashion/head/cargo_tech
var/flipped = 0
/obj/item/clothing/head/soft/dropped()
- src.icon_state = "[item_color]soft"
- src.flipped=0
+ icon_state = "[soft_type]soft"
+ flipped=0
..()
/obj/item/clothing/head/soft/verb/flipcap()
@@ -31,12 +31,12 @@
/obj/item/clothing/head/soft/proc/flip(mob/user)
if(!user.incapacitated())
- src.flipped = !src.flipped
+ flipped = !flipped
if(src.flipped)
- icon_state = "[item_color]soft_flipped"
+ icon_state = "[soft_type]soft_flipped"
to_chat(user, "You flip the hat backwards.")
else
- icon_state = "[item_color]soft"
+ icon_state = "[soft_type]soft"
to_chat(user, "You flip the hat back in normal position.")
usr.update_inv_head() //so our mob-overlays update
@@ -48,77 +48,77 @@
name = "red cap"
desc = "It's a baseball hat in a tasteless red colour."
icon_state = "redsoft"
- item_color = "red"
+ soft_type = "red"
dog_fashion = null
/obj/item/clothing/head/soft/blue
name = "blue cap"
desc = "It's a baseball hat in a tasteless blue colour."
icon_state = "bluesoft"
- item_color = "blue"
+ soft_type = "blue"
dog_fashion = null
/obj/item/clothing/head/soft/green
name = "green cap"
desc = "It's a baseball hat in a tasteless green colour."
icon_state = "greensoft"
- item_color = "green"
+ soft_type = "green"
dog_fashion = null
/obj/item/clothing/head/soft/yellow
name = "yellow cap"
desc = "It's a baseball hat in a tasteless yellow colour."
icon_state = "yellowsoft"
- item_color = "yellow"
+ soft_type = "yellow"
dog_fashion = null
/obj/item/clothing/head/soft/grey
name = "grey cap"
desc = "It's a baseball hat in a tasteful grey colour."
icon_state = "greysoft"
- item_color = "grey"
+ soft_type = "grey"
dog_fashion = null
/obj/item/clothing/head/soft/orange
name = "orange cap"
desc = "It's a baseball hat in a tasteless orange colour."
icon_state = "orangesoft"
- item_color = "orange"
+ soft_type = "orange"
dog_fashion = null
/obj/item/clothing/head/soft/mime
name = "white cap"
desc = "It's a baseball hat in a tasteless white colour."
icon_state = "mimesoft"
- item_color = "mime"
+ soft_type = "mime"
dog_fashion = null
/obj/item/clothing/head/soft/purple
name = "purple cap"
desc = "It's a baseball hat in a tasteless purple colour."
icon_state = "purplesoft"
- item_color = "purple"
+ soft_type = "purple"
dog_fashion = null
/obj/item/clothing/head/soft/black
name = "black cap"
desc = "It's a baseball hat in a tasteless black colour."
icon_state = "blacksoft"
- item_color = "black"
+ soft_type = "black"
dog_fashion = null
/obj/item/clothing/head/soft/rainbow
name = "rainbow cap"
desc = "It's a baseball hat in a bright rainbow of colors."
icon_state = "rainbowsoft"
- item_color = "rainbow"
+ soft_type = "rainbow"
dog_fashion = null
/obj/item/clothing/head/soft/sec
name = "security cap"
desc = "It's a robust baseball hat in tasteful red colour."
icon_state = "secsoft"
- item_color = "sec"
+ soft_type = "sec"
armor = list("melee" = 30, "bullet" = 25, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 50)
strip_delay = 60
dog_fashion = null
@@ -127,5 +127,5 @@
name = "EMT cap"
desc = "It's a baseball hat with a dark turquoise color and a reflective cross on the top."
icon_state = "emtsoft"
- item_color = "emt"
+ soft_type = "emt"
dog_fashion = null
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 126f833ffaa..27156ac9b64 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -54,6 +54,7 @@
clothing_flags = MASKINTERNALS
icon_state = "clown"
item_state = "clown_hat"
+ dye_color = "clown"
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
actions_types = list(/datum/action/item_action/adjust)
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 45b122d9de9..71f7bbcdff7 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -127,7 +127,6 @@
/obj/item/clothing/mask/cowmask
name = "cow mask"
- icon = 'icons/mob/mask.dmi'
icon_state = "cowmask"
item_state = "cowmask"
clothing_flags = VOICEBOX_TOGGLABLE
diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm
index 58c070aa412..581ac72bc78 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -21,42 +21,35 @@
icon = 'icons/obj/clothing/neck.dmi'
icon_state = "bluetie"
item_state = "" //no inhands
- item_color = "bluetie"
w_class = WEIGHT_CLASS_SMALL
custom_price = 15
/obj/item/clothing/neck/tie/blue
name = "blue tie"
icon_state = "bluetie"
- item_color = "bluetie"
/obj/item/clothing/neck/tie/red
name = "red tie"
icon_state = "redtie"
- item_color = "redtie"
/obj/item/clothing/neck/tie/black
name = "black tie"
icon_state = "blacktie"
- item_color = "blacktie"
/obj/item/clothing/neck/tie/horrible
name = "horrible tie"
desc = "A neosilk clip-on tie. This one is disgusting."
icon_state = "horribletie"
- item_color = "horribletie"
/obj/item/clothing/neck/tie/detective
name = "loose tie"
desc = "A loosely tied necktie, a perfect accessory for the over-worked detective."
icon_state = "detective"
- item_color = "detective"
/obj/item/clothing/neck/stethoscope
name = "stethoscope"
desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing."
icon_state = "stethoscope"
- item_color = "stethoscope"
/obj/item/clothing/neck/stethoscope/suicide_act(mob/living/carbon/user)
user.visible_message("[user] puts \the [src] to [user.p_their()] chest! It looks like [user.p_they()] wont hear much!")
@@ -99,61 +92,51 @@
name = "white scarf"
icon_state = "scarf"
desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks."
- item_color = "white"
dog_fashion = /datum/dog_fashion/head
custom_price = 10
/obj/item/clothing/neck/scarf/black
name = "black scarf"
- item_color = "black"
icon_state = "scarf"
color = "#4A4A4B" //Grey but it looks black
/obj/item/clothing/neck/scarf/pink
name = "pink scarf"
- item_color = "pink"
icon_state = "scarf"
color = "#F699CD" //Pink
/obj/item/clothing/neck/scarf/red
name = "red scarf"
- item_color = "red"
icon_state = "scarf"
color = "#D91414" //Red
/obj/item/clothing/neck/scarf/green
name = "green scarf"
- item_color = "green"
icon_state = "scarf"
color = "#5C9E54" //Green
/obj/item/clothing/neck/scarf/darkblue
name = "dark blue scarf"
- item_color = "blue"
icon_state = "scarf"
color = "#1E85BC" //Blue
/obj/item/clothing/neck/scarf/purple
name = "purple scarf"
- item_color = "purple"
icon_state = "scarf"
color = "#9557C5" //Purple
/obj/item/clothing/neck/scarf/yellow
name = "yellow scarf"
- item_color = "yellow"
icon_state = "scarf"
color = "#E0C14F" //Yellow
/obj/item/clothing/neck/scarf/orange
name = "orange scarf"
- item_color = "orange"
icon_state = "scarf"
color = "#C67A4B" //Orange
/obj/item/clothing/neck/scarf/cyan
name = "cyan scarf"
- item_color = "cyan"
icon_state = "scarf"
color = "#54A3CE" //Cyan
@@ -163,12 +146,10 @@
/obj/item/clothing/neck/scarf/zebra
name = "zebra scarf"
icon_state = "zebrascarf"
- item_color = "zebrascarf"
/obj/item/clothing/neck/scarf/christmas
name = "christmas scarf"
icon_state = "christmasscarf"
- item_color = "christmasscarf"
//The three following scarves don't have the scarf subtype
//This is because Ian can equip anything from that subtype
@@ -176,26 +157,22 @@
/obj/item/clothing/neck/stripedredscarf
name = "striped red scarf"
icon_state = "stripedredscarf"
- item_color = "stripedredscarf"
custom_price = 10
/obj/item/clothing/neck/stripedgreenscarf
name = "striped green scarf"
icon_state = "stripedgreenscarf"
- item_color = "stripedgreenscarf"
custom_price = 10
/obj/item/clothing/neck/stripedbluescarf
name = "striped blue scarf"
icon_state = "stripedbluescarf"
- item_color = "stripedbluescarf"
custom_price = 10
/obj/item/clothing/neck/petcollar
name = "pet collar"
desc = "It's for pets."
icon_state = "petcollar"
- item_color = "petcollar"
var/tagname = null
/obj/item/clothing/neck/petcollar/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
@@ -216,7 +193,6 @@
desc = "Damn, it feels good to be a gangster."
icon = 'icons/obj/clothing/neck.dmi'
icon_state = "bling"
- item_color = "bling"
/obj/item/clothing/neck/neckerchief
icon = 'icons/obj/clothing/masks.dmi' //In order to reuse the bandana sprite
@@ -226,7 +202,7 @@
/obj/item/clothing/neck/neckerchief/worn_overlays(isinhands)
. = ..()
if(!isinhands)
- var/mutable_appearance/realOverlay = mutable_appearance('icons/mob/mask.dmi', icon_state)
+ var/mutable_appearance/realOverlay = mutable_appearance('icons/mob/clothing/mask.dmi', icon_state)
realOverlay.pixel_y = -3
. += realOverlay
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 9d23c6fced8..e91f393d4e7 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -1,9 +1,9 @@
/obj/item/clothing/shoes/sneakers
+ dying_key = DYE_REGISTRY_SNEAKERS
/obj/item/clothing/shoes/sneakers/black
name = "black shoes"
icon_state = "black"
- item_color = "black"
desc = "A pair of black shoes."
custom_price = 20
@@ -12,80 +12,49 @@
heat_protection = FEET
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
-/obj/item/clothing/shoes/sneakers/black/redcoat
- item_color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way.
-
/obj/item/clothing/shoes/sneakers/brown
name = "brown shoes"
desc = "A pair of brown shoes."
icon_state = "brown"
- item_color = "brown"
-
-/obj/item/clothing/shoes/sneakers/brown/captain
- item_color = "captain" //Exists for washing machines. Is not different from brown shoes in any way.
-
-/obj/item/clothing/shoes/sneakers/brown/hop
- item_color = "hop" //Exists for washing machines. Is not different from brown shoes in any way.
-
-/obj/item/clothing/shoes/sneakers/brown/ce
- item_color = "chief" //Exists for washing machines. Is not different from brown shoes in any way.
-
-/obj/item/clothing/shoes/sneakers/brown/rd
- item_color = "director" //Exists for washing machines. Is not different from brown shoes in any way.
-
-/obj/item/clothing/shoes/sneakers/brown/cmo
- item_color = "medical" //Exists for washing machines. Is not different from brown shoes in any way.
-
-/obj/item/clothing/shoes/sneakers/brown/qm
- item_color = "cargo" //Exists for washing machines. Is not different from brown shoes in any way.
/obj/item/clothing/shoes/sneakers/blue
name = "blue shoes"
icon_state = "blue"
- item_color = "blue"
/obj/item/clothing/shoes/sneakers/green
name = "green shoes"
icon_state = "green"
- item_color = "green"
/obj/item/clothing/shoes/sneakers/yellow
name = "yellow shoes"
icon_state = "yellow"
- item_color = "yellow"
/obj/item/clothing/shoes/sneakers/purple
name = "purple shoes"
icon_state = "purple"
- item_color = "purple"
/obj/item/clothing/shoes/sneakers/brown
name = "brown shoes"
icon_state = "brown"
- item_color = "brown"
/obj/item/clothing/shoes/sneakers/red
name = "red shoes"
desc = "Stylish red shoes."
icon_state = "red"
- item_color = "red"
/obj/item/clothing/shoes/sneakers/white
name = "white shoes"
icon_state = "white"
permeability_coefficient = 0.01
- item_color = "white"
/obj/item/clothing/shoes/sneakers/rainbow
name = "rainbow shoes"
desc = "Very gay shoes."
icon_state = "rain_bow"
- item_color = "rainbow"
/obj/item/clothing/shoes/sneakers/orange
name = "orange shoes"
icon_state = "orange"
- item_color = "orange"
/obj/item/clothing/shoes/sneakers/orange/attack_self(mob/user)
if (src.chained)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 03ad53f3a08..19c3a7f808b 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -4,7 +4,6 @@
/obj/item/clothing/shoes/sneakers/mime
name = "mime shoes"
icon_state = "mime"
- item_color = "mime"
/obj/item/clothing/shoes/combat //basic syndicate combat boots for nuke ops and mob corpses
name = "combat boots"
@@ -74,7 +73,6 @@
icon_state = "clown"
item_state = "clown_shoes"
slowdown = SHOES_SLOWDOWN+1
- item_color = "clown"
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown
var/datum/component/waddle
var/enabled_waddle = TRUE
@@ -122,7 +120,6 @@
item_state = "jackboots"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
- item_color = "hosred"
strip_delay = 50
equip_delay_other = 50
resistance_flags = NONE
@@ -167,7 +164,6 @@
desc = "A pair of boots worn by the followers of Nar'Sie."
icon_state = "cult"
item_state = "cult"
- item_color = "cult"
cold_protection = FEET
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
heat_protection = FEET
@@ -216,7 +212,6 @@
desc = "A specialized pair of combat boots with a built-in propulsion system for rapid foward movement."
icon_state = "jetboots"
item_state = "jetboots"
- item_color = "hosred"
resistance_flags = FIRE_PROOF
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
actions_types = list(/datum/action/item_action/bhop)
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index a5cb6c9c3bc..ab732f412bc 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -10,7 +10,7 @@
var/brightness_on = 4 //luminosity when on
var/on = FALSE
var/obj/item/clothing/suit/space/hardsuit/suit
- item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite)
+ var/hardsuit_type = "engineering" //Determines used sprites: hardsuit[on]-[type]
actions_types = list(/datum/action/item_action/toggle_helmet_light)
var/rad_count = 0
@@ -30,7 +30,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user)
on = !on
- icon_state = "[basestate][on]-[item_color]"
+ icon_state = "[basestate][on]-[hardsuit_type]"
user.update_inv_head() //so our mob-overlays update
if(on)
@@ -103,6 +103,7 @@
actions_types = list(/datum/action/item_action/toggle_helmet)
var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit
var/obj/item/tank/jetpack/suit/jetpack = null
+ var/hardsuit_type
/obj/item/clothing/suit/space/hardsuit/Initialize()
@@ -169,7 +170,7 @@
icon_state = "hardsuit0-engineering"
item_state = "eng_helm"
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75)
- item_color = "engineering"
+ hardsuit_type = "engineering"
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/space/hardsuit/engine
@@ -187,7 +188,7 @@
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has thermal shielding."
icon_state = "hardsuit0-atmospherics"
item_state = "atmo_helm"
- item_color = "atmospherics"
+ hardsuit_type = "atmospherics"
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 75)
heat_protection = HEAD //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -209,7 +210,7 @@
desc = "An advanced helmet designed for work in a hazardous, low pressure environment. Shines with a high polish."
icon_state = "hardsuit0-white"
item_state = "ce_helm"
- item_color = "white"
+ hardsuit_type = "white"
armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 90)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -231,7 +232,7 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights."
icon_state = "hardsuit0-mining"
item_state = "mining_helm"
- item_color = "mining"
+ hardsuit_type = "mining"
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
heat_protection = HEAD
@@ -244,9 +245,9 @@
AddComponent(/datum/component/armor_plate)
/obj/item/clothing/suit/space/hardsuit/mining
- icon_state = "hardsuit-mining"
name = "mining hardsuit"
desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters."
+ icon_state = "hardsuit-mining"
item_state = "mining_hardsuit"
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
@@ -266,7 +267,7 @@
alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_helm"
- item_color = "syndi"
+ hardsuit_type = "syndi"
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90)
on = TRUE
var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null
@@ -275,7 +276,7 @@
visor_flags = STOPSPRESSUREDAMAGE
/obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon()
- icon_state = "hardsuit[on]-[item_color]"
+ icon_state = "hardsuit[on]-[hardsuit_type]"
/obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize()
. = ..()
@@ -331,7 +332,7 @@
linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE
linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS)
- linkedsuit.icon_state = "hardsuit[on]-[item_color]"
+ linkedsuit.icon_state = "hardsuit[on]-[hardsuit_type]"
linkedsuit.update_icon()
user.update_inv_wear_suit()
user.update_inv_w_uniform()
@@ -343,7 +344,7 @@
alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_hardsuit"
- item_color = "syndi"
+ hardsuit_type = "syndi"
w_class = WEIGHT_CLASS_NORMAL
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90)
allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
@@ -356,7 +357,7 @@
desc = "An elite version of the syndicate helmet, with improved armour and fireproofing. It is in EVA mode. Property of Gorlex Marauders."
alt_desc = "An elite version of the syndicate helmet, with improved armour and fireproofing. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit0-syndielite"
- item_color = "syndielite"
+ hardsuit_type = "syndielite"
armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -367,7 +368,7 @@
desc = "An elite version of the syndicate hardsuit, with improved armour and fireproofing. It is in travel mode."
alt_desc = "An elite version of the syndicate hardsuit, with improved armour and fireproofing. It is in combat mode."
icon_state = "hardsuit0-syndielite"
- item_color = "syndielite"
+ hardsuit_type = "syndielite"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -381,7 +382,7 @@
alt_desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in combat mode."
icon_state = "hardsuit1-owl"
item_state = "s_helmet"
- item_color = "owl"
+ hardsuit_type = "owl"
visor_flags_inv = 0
visor_flags = 0
on = FALSE
@@ -392,7 +393,7 @@
alt_desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in combat mode."
icon_state = "hardsuit1-owl"
item_state = "s_suit"
- item_color = "owl"
+ hardsuit_type = "owl"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
@@ -402,16 +403,16 @@
desc = "A bizarre gem-encrusted helmet that radiates magical energies."
icon_state = "hardsuit0-wiz"
item_state = "wiz_helm"
- item_color = "wiz"
+ hardsuit_type = "wiz"
resistance_flags = FIRE_PROOF | ACID_PROOF //No longer shall our kind be foiled by lone chemists with spray bottles!
armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 20, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
heat_protection = HEAD //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
/obj/item/clothing/suit/space/hardsuit/wizard
- icon_state = "hardsuit-wiz"
name = "gem-encrusted hardsuit"
desc = "A bizarre gem-encrusted suit that radiates magical energies."
+ icon_state = "hardsuit-wiz"
item_state = "wiz_hardsuit"
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -432,15 +433,15 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light."
icon_state = "hardsuit0-medical"
item_state = "medical_helm"
- item_color = "medical"
+ hardsuit_type = "medical"
flash_protect = 0
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS | SNUG_FIT
/obj/item/clothing/suit/space/hardsuit/medical
- icon_state = "hardsuit-medical"
name = "medical hardsuit"
desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement."
+ icon_state = "hardsuit-medical"
item_state = "medical_hardsuit"
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
@@ -452,7 +453,7 @@
name = "prototype hardsuit helmet"
desc = "A prototype helmet designed for research in a hazardous, low pressure environment. Scientific data flashes across the visor."
icon_state = "hardsuit0-rd"
- item_color = "rd"
+ hardsuit_type = "rd"
resistance_flags = ACID_PROOF | FIRE_PROOF
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80)
@@ -477,9 +478,9 @@
DHUD.remove_hud_from(user)
/obj/item/clothing/suit/space/hardsuit/rd
- icon_state = "hardsuit-rd"
name = "prototype hardsuit"
desc = "A prototype suit that protects against hazardous, low pressure environments. Fitted with extensive plating for handling explosives and dangerous research materials."
+ icon_state = "hardsuit-rd"
item_state = "hardsuit-rd"
resistance_flags = ACID_PROOF | FIRE_PROOF
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT //Same as an emergency firesuit. Not ideal for extended exposure.
@@ -496,7 +497,7 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor."
icon_state = "hardsuit0-sec"
item_state = "sec_helm"
- item_color = "sec"
+ hardsuit_type = "sec"
armor = list("melee" = 35, "bullet" = 15, "laser" = 30,"energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75)
@@ -517,7 +518,7 @@
name = "head of security's hardsuit helmet"
desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor."
icon_state = "hardsuit0-hos"
- item_color = "hos"
+ hardsuit_type = "hos"
armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95)
@@ -580,7 +581,7 @@
icon_state = "hardsuit0-clown"
item_state = "hardsuit0-clown"
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 30)
- item_color = "clown"
+ hardsuit_type = "clown"
/obj/item/clothing/suit/space/hardsuit/clown
name = "cosmohonk hardsuit"
@@ -606,7 +607,7 @@
icon_state = "hardsuit0-ancient"
item_state = "anc_helm"
armor = list("melee" = 30, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75)
- item_color = "ancient"
+ hardsuit_type = "ancient"
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/space/hardsuit/ancient
@@ -725,7 +726,7 @@
desc = "Standard issue hardsuit for playing capture the flag."
icon_state = "ert_medical"
item_state = "ert_medical"
- item_color = "ert_medical"
+ hardsuit_type = "ert_medical"
// Adding TRAIT_NODROP is done when the CTF spawner equips people
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf
armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95)
@@ -736,7 +737,7 @@
name = "red shielded hardsuit"
icon_state = "ert_security"
item_state = "ert_security"
- item_color = "ert_security"
+ hardsuit_type = "ert_security"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red
shield_state = "shield-red"
shield_on = "shield-red"
@@ -755,21 +756,21 @@
desc = "Standard issue hardsuit helmet for playing capture the flag."
icon_state = "hardsuit0-ert_medical"
item_state = "hardsuit0-ert_medical"
- item_color = "ert_medical"
+ hardsuit_type = "ert_medical"
armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95)
/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red
icon_state = "hardsuit0-ert_security"
item_state = "hardsuit0-ert_security"
- item_color = "ert_security"
+ hardsuit_type = "ert_security"
/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue
name = "shielded hardsuit helmet"
desc = "Standard issue hardsuit helmet for playing capture the flag."
icon_state = "hardsuit0-ert_commander"
item_state = "hardsuit0-ert_commander"
- item_color = "ert_commander"
+ hardsuit_type = "ert_commander"
@@ -782,7 +783,7 @@
desc = "An advanced hardsuit with built in energy shielding."
icon_state = "hardsuit1-syndi"
item_state = "syndie_hardsuit"
- item_color = "syndi"
+ hardsuit_type = "syndi"
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
@@ -798,7 +799,7 @@
desc = "An advanced hardsuit helmet with built in energy shielding."
icon_state = "hardsuit1-syndi"
item_state = "syndie_helm"
- item_color = "syndi"
+ hardsuit_type = "syndi"
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
///SWAT version
@@ -807,7 +808,7 @@
desc = "An advanced hardsuit favored by commandos for use in special operations."
icon_state = "deathsquad"
item_state = "swat_suit"
- item_color = "syndi"
+ hardsuit_type = "syndi"
max_charges = 4
current_charges = 4
recharge_delay = 15
@@ -822,7 +823,7 @@
desc = "A tactical helmet with built in energy shielding."
icon_state = "deathsquad"
item_state = "deathsquad"
- item_color = "syndi"
+ hardsuit_type = "syndi"
armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 4235fd361d5..9ad806b7daf 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -163,7 +163,6 @@ Contains:
desc = "The integrated helmet of an ERT hardsuit, this one has blue highlights."
icon_state = "hardsuit0-ert_commander"
item_state = "hardsuit0-ert_commander"
- item_color = "ert_commander"
armor = list("melee" = 65, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
strip_delay = 130
brightness_on = 7
@@ -193,7 +192,6 @@ Contains:
desc = "The integrated helmet of an ERT hardsuit, this one has red highlights."
icon_state = "hardsuit0-ert_security"
item_state = "hardsuit0-ert_security"
- item_color = "ert_security"
/obj/item/clothing/suit/space/hardsuit/ert/sec
name = "emergency response team security hardsuit"
@@ -208,7 +206,6 @@ Contains:
desc = "The integrated helmet of an ERT hardsuit, this one has orange highlights."
icon_state = "hardsuit0-ert_engineer"
item_state = "hardsuit0-ert_engineer"
- item_color = "ert_engineer"
/obj/item/clothing/suit/space/hardsuit/ert/engi
name = "emergency response team engineering hardsuit"
@@ -223,7 +220,6 @@ Contains:
desc = "The integrated helmet of an ERT hardsuit, this one has white highlights."
icon_state = "hardsuit0-ert_medical"
item_state = "hardsuit0-ert_medical"
- item_color = "ert_medical"
/obj/item/clothing/suit/space/hardsuit/ert/med
name = "emergency response team medical hardsuit"
@@ -238,7 +234,6 @@ Contains:
desc = "The integrated helmet of an ERT hardsuit, this one has purple highlights."
icon_state = "hardsuit0-ert_janitor"
item_state = "hardsuit0-ert_janitor"
- item_color = "ert_janitor"
/obj/item/clothing/suit/space/hardsuit/ert/jani
name = "emergency response team janitorial hardsuit"
@@ -324,7 +319,6 @@ Contains:
desc = "A helmet worn by those who deal with paranormal threats for a living."
icon_state = "hardsuit0-prt"
item_state = "hardsuit0-prt"
- item_color = "knight_grey"
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
actions_types = list()
resistance_flags = FIRE_PROOF
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index e4ba758de17..ae715a007e9 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -81,7 +81,7 @@
/obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(isinhands)
. = ..()
if(!isinhands && !up)
- . += mutable_appearance('icons/mob/head.dmi', visor_icon)
+ . += mutable_appearance('icons/mob/clothing/head.dmi', visor_icon)
else
cut_overlays()
@@ -109,11 +109,11 @@
/obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(isinhands)
. = ..()
if(!isinhands && smile)
- var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', smile_state)
+ var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/head.dmi', smile_state)
M.color = smile_color
. += M
if(!isinhands && !up)
- . += mutable_appearance('icons/mob/head.dmi', visor_icon)
+ . += mutable_appearance('icons/mob/clothing/head.dmi', visor_icon)
else
cut_overlays()
@@ -267,4 +267,4 @@
icon_state = "clown_envirohelm"
item_state = "clown_envirohelm"
visor_icon = "clown_envisor"
- smile_state = "clown_smile"
\ No newline at end of file
+ smile_state = "clown_smile"
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 59dc7b777f4..38b213a3a5c 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -172,4 +172,4 @@
icon_state = "techpriesthood"
item_state = "techpriesthood"
body_parts_covered = HEAD
- flags_inv = HIDEHAIR|HIDEEARS
\ No newline at end of file
+ flags_inv = HIDEHAIR|HIDEEARS
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index 2e998a83678..92e0112371a 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -16,7 +16,6 @@
var/mutable_appearance/accessory_overlay
var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
var/freshly_laundered = FALSE
- var/dodgy_colours = FALSE
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
. = list()
@@ -114,10 +113,8 @@
if(user && notifyAttach)
to_chat(user, "You attach [I] to [src].")
- var/accessory_color = attached_accessory.item_color
- if(!accessory_color)
- accessory_color = attached_accessory.icon_state
- accessory_overlay = mutable_appearance('icons/mob/accessories.dmi', "[accessory_color]")
+ var/accessory_color = attached_accessory.icon_state
+ accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "[accessory_color]")
accessory_overlay.alpha = attached_accessory.alpha
accessory_overlay.color = attached_accessory.color
@@ -150,8 +147,6 @@
/obj/item/clothing/under/examine(mob/user)
. = ..()
- if(dodgy_colours)
- . += "The colours are a bit dodgy."
if(freshly_laundered)
. += "It looks fresh and clean."
if(can_adjust)
@@ -173,3 +168,6 @@
. += "Its vital tracker and tracking beacon appear to be enabled."
if(attached_accessory)
. += "\A [attached_accessory] is attached to it."
+
+/obj/item/clothing/under/rank
+ dying_key = DYE_REGISTRY_UNDER
diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm
index 502271c6478..0a3196c502d 100755
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -4,7 +4,6 @@
icon = 'icons/obj/clothing/accessories.dmi'
icon_state = "plasma"
item_state = "" //no inhands
- item_color = "plasma" //On accessories, this controls the worn sprite. That's a bit weird.
slot_flags = 0
w_class = WEIGHT_CLASS_SMALL
var/above_suit = FALSE
@@ -90,7 +89,6 @@
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
item_state = "waistcoat"
- item_color = "waistcoat"
minimize_when_attached = FALSE
attachment_slot = null
@@ -99,7 +97,6 @@
desc = "The best part of a maid costume."
icon_state = "maidapron"
item_state = "maidapron"
- item_color = "maidapron"
minimize_when_attached = FALSE
attachment_slot = null
@@ -111,7 +108,6 @@
name = "bronze medal"
desc = "A bronze medal."
icon_state = "bronze"
- item_color = "bronze"
materials = list(/datum/material/iron=1000)
resistance_flags = FIRE_PROOF
var/medaltype = "medal" //Sprite used for medalbox
@@ -170,7 +166,6 @@
name = "ribbon"
desc = "A ribbon"
icon_state = "cargo"
- item_color = "cargo"
/obj/item/clothing/accessory/medal/ribbon/cargo
name = "\"cargo tech of the shift\" award"
@@ -180,7 +175,6 @@
name = "silver medal"
desc = "A silver medal."
icon_state = "silver"
- item_color = "silver"
medaltype = "medal-silver"
materials = list(/datum/material/silver=1000)
@@ -200,7 +194,6 @@
name = "gold medal"
desc = "A prestigious golden medal."
icon_state = "gold"
- item_color = "gold"
medaltype = "medal-gold"
materials = list(/datum/material/gold=1000)
@@ -217,7 +210,6 @@
name = "plasma medal"
desc = "An eccentric medal made of plasma."
icon_state = "plasma"
- item_color = "plasma"
medaltype = "medal-plasma"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = 0) //It's made of plasma. Of course it's flammable.
materials = list(/datum/material/plasma=1000)
@@ -242,7 +234,6 @@
name = "red armband"
desc = "An fancy red armband!"
icon_state = "redband"
- item_color = "redband"
attachment_slot = null
/obj/item/clothing/accessory/armband/deputy
@@ -253,37 +244,31 @@
name = "cargo bay guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown."
icon_state = "cargoband"
- item_color = "cargoband"
/obj/item/clothing/accessory/armband/engine
name = "engineering guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!"
icon_state = "engieband"
- item_color = "engieband"
/obj/item/clothing/accessory/armband/science
name = "science guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple."
icon_state = "rndband"
- item_color = "rndband"
/obj/item/clothing/accessory/armband/hydro
name = "hydroponics guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue."
icon_state = "hydroband"
- item_color = "hydroband"
/obj/item/clothing/accessory/armband/med
name = "medical guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white."
icon_state = "medband"
- item_color = "medband"
/obj/item/clothing/accessory/armband/medblue
name = "medical guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue."
icon_state = "medblueband"
- item_color = "medblueband"
//////////////
//OBJECTION!//
@@ -293,7 +278,6 @@
name = "attorney's badge"
desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet."
icon_state = "lawyerbadge"
- item_color = "lawyerbadge"
/obj/item/clothing/accessory/lawyers_badge/attack_self(mob/user)
if(prob(1))
@@ -317,7 +301,6 @@
name = "pocket protector"
desc = "Can protect your clothing from ink stains, but you'll look like a nerd if you're using one."
icon_state = "pocketprotector"
- item_color = "pocketprotector"
pocket_storage_component_path = /datum/component/storage/concrete/pockets/pocketprotector
/obj/item/clothing/accessory/pocketprotector/full/Initialize()
@@ -339,7 +322,6 @@
name = "bone talisman"
desc = "A hunter's talisman, some say the old gods smile on those who wear it."
icon_state = "talisman"
- item_color = "talisman"
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 0, "acid" = 25)
attachment_slot = null
@@ -347,7 +329,6 @@
name = "skull codpiece"
desc = "A skull shaped ornament, intended to protect the important things in life."
icon_state = "skull"
- item_color = "skull"
above_suit = TRUE
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 0, "acid" = 25)
attachment_slot = GROIN
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 255afc3a8ee..2abb2493a13 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -1,5 +1,6 @@
/obj/item/clothing/under/color
desc = "A standard issue colored jumpsuit. Variety is the spice of life!"
+ dying_key = DYE_REGISTRY_UNDER
/obj/item/clothing/under/color/jumpskirt
body_parts_covered = CHEST|GROIN|ARMS
@@ -36,14 +37,12 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
resistance_flags = NONE
/obj/item/clothing/under/color/jumpskirt/black
name = "black jumpskirt"
icon_state = "black_skirt"
item_state = "bl_suit"
- item_color = "black_skirt"
/obj/item/clothing/under/color/black/ghost
item_flags = DROPDEL
@@ -57,14 +56,12 @@
desc = "A tasteful grey jumpsuit that reminds you of the good old days."
icon_state = "grey"
item_state = "gy_suit"
- item_color = "grey"
/obj/item/clothing/under/color/jumpskirt/grey
name = "grey jumpskirt"
desc = "A tasteful grey jumpskirt that reminds you of the good old days."
icon_state = "grey_skirt"
item_state = "gy_suit"
- item_color = "grey_skirt"
/obj/item/clothing/under/color/grey/glorf
name = "ancient jumpsuit"
@@ -78,179 +75,150 @@
name = "blue jumpsuit"
icon_state = "blue"
item_state = "b_suit"
- item_color = "blue"
/obj/item/clothing/under/color/jumpskirt/blue
name = "blue jumpskirt"
icon_state = "blue_skirt"
item_state = "b_suit"
- item_color = "blue_skirt"
/obj/item/clothing/under/color/green
name = "green jumpsuit"
icon_state = "green"
item_state = "g_suit"
- item_color = "green"
/obj/item/clothing/under/color/jumpskirt/green
name = "green jumpskirt"
icon_state = "green_skirt"
item_state = "g_suit"
- item_color = "green_skirt"
/obj/item/clothing/under/color/orange
name = "orange jumpsuit"
desc = "Don't wear this near paranoid security officers."
icon_state = "orange"
item_state = "o_suit"
- item_color = "orange"
/obj/item/clothing/under/color/jumpskirt/orange
name = "orange jumpskirt"
icon_state = "orange_skirt"
item_state = "o_suit"
- item_color = "orange_skirt"
/obj/item/clothing/under/color/pink
name = "pink jumpsuit"
icon_state = "pink"
desc = "Just looking at this makes you feel fabulous."
item_state = "p_suit"
- item_color = "pink"
/obj/item/clothing/under/color/jumpskirt/pink
name = "pink jumpskirt"
icon_state = "pink_skirt"
item_state = "p_suit"
- item_color = "pink_skirt"
/obj/item/clothing/under/color/red
name = "red jumpsuit"
icon_state = "red"
item_state = "r_suit"
- item_color = "red"
/obj/item/clothing/under/color/jumpskirt/red
name = "red jumpskirt"
icon_state = "red_skirt"
item_state = "r_suit"
- item_color = "red_skirt"
/obj/item/clothing/under/color/white
name = "white jumpsuit"
icon_state = "white"
item_state = "w_suit"
- item_color = "white"
/obj/item/clothing/under/color/jumpskirt/white
name = "white jumpskirt"
icon_state = "white_skirt"
item_state = "w_suit"
- item_color = "white_skirt"
/obj/item/clothing/under/color/yellow
name = "yellow jumpsuit"
icon_state = "yellow"
item_state = "y_suit"
- item_color = "yellow"
/obj/item/clothing/under/color/jumpskirt/yellow
name = "yellow jumpskirt"
icon_state = "yellow_skirt"
item_state = "y_suit"
- item_color = "yellow_skirt"
/obj/item/clothing/under/color/darkblue
name = "darkblue jumpsuit"
icon_state = "darkblue"
item_state = "b_suit"
- item_color = "darkblue"
/obj/item/clothing/under/color/jumpskirt/darkblue
name = "darkblue jumpskirt"
icon_state = "darkblue_skirt"
item_state = "b_suit"
- item_color = "darkblue_skirt"
/obj/item/clothing/under/color/teal
name = "teal jumpsuit"
icon_state = "teal"
item_state = "b_suit"
- item_color = "teal"
/obj/item/clothing/under/color/jumpskirt/teal
name = "teal jumpskirt"
icon_state = "teal_skirt"
item_state = "b_suit"
- item_color = "teal_skirt"
/obj/item/clothing/under/color/lightpurple
name = "purple jumpsuit"
icon_state = "lightpurple"
item_state = "p_suit"
- item_color = "lightpurple"
/obj/item/clothing/under/color/jumpskirt/lightpurple
name = "lightpurple jumpskirt"
icon_state = "lightpurple_skirt"
item_state = "p_suit"
- item_color = "lightpurple_skirt"
/obj/item/clothing/under/color/darkgreen
name = "darkgreen jumpsuit"
icon_state = "darkgreen"
item_state = "g_suit"
- item_color = "darkgreen"
/obj/item/clothing/under/color/jumpskirt/darkgreen
name = "darkgreen jumpskirt"
icon_state = "darkgreen_skirt"
item_state = "g_suit"
- item_color = "darkgreen_skirt"
/obj/item/clothing/under/color/lightbrown
name = "lightbrown jumpsuit"
icon_state = "lightbrown"
item_state = "lb_suit"
- item_color = "lightbrown"
/obj/item/clothing/under/color/jumpskirt/lightbrown
name = "lightbrown jumpskirt"
icon_state = "lightbrown_skirt"
item_state = "lb_suit"
- item_color = "lightbrown_skirt"
/obj/item/clothing/under/color/brown
name = "brown jumpsuit"
icon_state = "brown"
item_state = "lb_suit"
- item_color = "brown"
/obj/item/clothing/under/color/jumpskirt/brown
name = "brown jumpskirt"
icon_state = "brown_skirt"
item_state = "lb_suit"
- item_color = "brown_skirt"
/obj/item/clothing/under/color/maroon
name = "maroon jumpsuit"
icon_state = "maroon"
item_state = "r_suit"
- item_color = "maroon"
/obj/item/clothing/under/color/jumpskirt/maroon
name = "maroon jumpskirt"
icon_state = "maroon_skirt"
item_state = "r_suit"
- item_color = "maroon_skirt"
/obj/item/clothing/under/color/rainbow
name = "rainbow jumpsuit"
desc = "A multi-colored jumpsuit!"
icon_state = "rainbow"
item_state = "rainbow"
- item_color = "rainbow"
can_adjust = FALSE
/obj/item/clothing/under/color/jumpskirt/rainbow
@@ -258,5 +226,4 @@
desc = "A multi-colored jumpskirt!"
icon_state = "rainbow_skirt"
item_state = "rainbow"
- item_color = "rainbow_skirt"
can_adjust = FALSE
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
index 1cacb414973..b074d4522c0 100644
--- a/code/modules/clothing/under/costume.dm
+++ b/code/modules/clothing/under/costume.dm
@@ -2,7 +2,6 @@
name = "\improper Roman armor"
desc = "Ancient Roman armor. Made of metallic and leather straps."
icon_state = "roman"
- item_color = "roman"
item_state = "armor"
can_adjust = FALSE
strip_delay = 100
@@ -13,28 +12,24 @@
desc = "The leather club is two sectors down."
icon_state = "darkholme"
item_state = "darkholme"
- item_color = "darkholme"
can_adjust = FALSE
/obj/item/clothing/under/costume/owl
name = "owl uniform"
desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl"
- item_color = "owl"
can_adjust = FALSE
/obj/item/clothing/under/costume/griffin
name = "griffon uniform"
desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
icon_state = "griffin"
- item_color = "griffin"
can_adjust = FALSE
/obj/item/clothing/under/costume/cloud
name = "cloud costume"
desc = "A costume made to resemble a fluffy cloud. Hopefully concealing any naughty bits the children might see."
icon_state = "cloud"
- item_color = "cloud"
can_adjust = FALSE
@@ -43,7 +38,6 @@
desc = "It's just like one of my Japanese animes!"
icon_state = "schoolgirl"
item_state = "schoolgirl"
- item_color = "schoolgirl"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -52,26 +46,22 @@
name = "red schoolgirl uniform"
icon_state = "schoolgirlred"
item_state = "schoolgirlred"
- item_color = "schoolgirlred"
/obj/item/clothing/under/costume/schoolgirl/green
name = "green schoolgirl uniform"
icon_state = "schoolgirlgreen"
item_state = "schoolgirlgreen"
- item_color = "schoolgirlgreen"
/obj/item/clothing/under/costume/schoolgirl/orange
name = "orange schoolgirl uniform"
icon_state = "schoolgirlorange"
item_state = "schoolgirlorange"
- item_color = "schoolgirlorange"
/obj/item/clothing/under/costume/pirate
name = "pirate outfit"
desc = "Yarr."
icon_state = "pirate"
item_state = "pirate"
- item_color = "pirate"
can_adjust = FALSE
/obj/item/clothing/under/costume/soviet
@@ -79,7 +69,6 @@
desc = "For the Motherland!"
icon_state = "soviet"
item_state = "soviet"
- item_color = "soviet"
can_adjust = FALSE
/obj/item/clothing/under/costume/redcoat
@@ -87,7 +76,6 @@
desc = "Looks old."
icon_state = "redcoat"
item_state = "redcoat"
- item_color = "redcoat"
can_adjust = FALSE
/obj/item/clothing/under/costume/kilt
@@ -95,7 +83,6 @@
desc = "Includes shoes and plaid."
icon_state = "kilt"
item_state = "kilt"
- item_color = "kilt"
body_parts_covered = CHEST|GROIN|LEGS|FEET
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -112,7 +99,6 @@
desc = "Are you not entertained? Is that not why you are here?"
icon_state = "gladiator"
item_state = "gladiator"
- item_color = "gladiator"
body_parts_covered = CHEST|GROIN|ARMS
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -127,7 +113,6 @@
desc = "Maid in China."
icon_state = "maid"
item_state = "maid"
- item_color = "maid"
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -141,7 +126,6 @@
name = "geisha suit"
desc = "Cute space ninja senpai not included."
icon_state = "geisha"
- item_color = "geisha"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
@@ -149,7 +133,6 @@
name = "villain suit"
desc = "A change of wardrobe is necessary if you ever want to catch a real superhero."
icon_state = "villain"
- item_color = "villain"
can_adjust = FALSE
/obj/item/clothing/under/costume/sailor
@@ -157,7 +140,6 @@
desc = "Skipper's in the wardroom drinkin gin'."
icon_state = "sailor"
item_state = "b_suit"
- item_color = "sailor"
can_adjust = FALSE
/obj/item/clothing/under/costume/singer
@@ -170,14 +152,12 @@
name = "yellow performer's outfit"
icon_state = "ysing"
item_state = "ysing"
- item_color = "ysing"
fitted = NO_FEMALE_UNIFORM
/obj/item/clothing/under/costume/singer/blue
name = "blue performer's outfit"
icon_state = "bsing"
item_state = "bsing"
- item_color = "bsing"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/costume/mummy
@@ -185,7 +165,6 @@
desc = "Return the slab or suffer my stale references."
icon_state = "mummy"
item_state = "mummy"
- item_color = "mummy"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -196,7 +175,6 @@
desc = "Perfect camouflage for hiding in botany."
icon_state = "scarecrow"
item_state = "scarecrow"
- item_color = "scarecrow"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -207,7 +185,6 @@
desc = "A dress inspired by the ancient \"Victorian\" era."
icon_state = "draculass"
item_state = "draculass"
- item_color = "draculass"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -217,7 +194,6 @@
desc = "A modified scientist jumpsuit to look extra cool."
icon_state = "drfreeze"
item_state = "drfreeze"
- item_color = "drfreeze"
can_adjust = FALSE
/obj/item/clothing/under/costume/lobster
@@ -225,7 +201,6 @@
desc = "Who beheaded the college mascot?"
icon_state = "lobster"
item_state = "lobster"
- item_color = "lobster"
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -234,7 +209,6 @@
desc = "Now you're cooking."
icon_state = "gondola"
item_state = "lb_suit"
- item_color = "gondola"
can_adjust = FALSE
/obj/item/clothing/under/costume/skeleton
@@ -242,7 +216,6 @@
desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!"
icon_state = "skeleton"
item_state = "skeleton"
- item_color = "skeleton"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -276,7 +249,6 @@
desc = "The latest in fashionable russian outfits."
icon_state = "hostanclothes"
item_state = "hostanclothes"
- item_color = "hostanclothes"
alt_covers_chest = TRUE
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30)
strip_delay = 50
diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
index 35aa316f343..02f9691779f 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
@@ -3,14 +3,12 @@
desc = "A joint envirosuit used by plasmamen quartermasters and cargo techs alike, due to the logistical problems of differenciating the two with the length of their pant legs."
icon_state = "cargo_envirosuit"
item_state = "cargo_envirosuit"
- item_color = "cargo_envirosuit"
/obj/item/clothing/under/plasmaman/mining
name = "mining plasma envirosuit"
desc = "An air-tight khaki suit designed for operations on lavaland by plasmamen."
icon_state = "explorer_envirosuit"
item_state = "explorer_envirosuit"
- item_color = "explorer_envirosuit"
/obj/item/clothing/under/plasmaman/chef
@@ -18,42 +16,36 @@
desc = "A white plasmaman envirosuit designed for cullinary practices. One might question why a member of a species that doesn't need to eat would become a chef."
icon_state = "chef_envirosuit"
item_state = "chef_envirosuit"
- item_color = "chef_envirosuit"
/obj/item/clothing/under/plasmaman/enviroslacks
name = "enviroslacks"
desc = "The pet project of a particularly posh plasmaman, this custom suit was quickly appropriated by Nano-Trasen for it's detectives, lawyers, and bar-tenders alike."
icon_state = "enviroslacks"
item_state = "enviroslacks"
- item_color = "enviroslacks"
/obj/item/clothing/under/plasmaman/chaplain
name = "chaplain's plasma envirosuit"
desc = "An envirosuit specially designed for only the most pious of plasmamen."
icon_state = "chap_envirosuit"
item_state = "chap_envirosuit"
- item_color = "chap_envirosuit"
/obj/item/clothing/under/plasmaman/curator
name = "curator's plasma envirosuit"
desc = "Made out of a modified voidsuit, this suit was Nano-Trasen's first solution to the *logistical problems* that come with employing plasmamen. Due to the modifications, the suit is no longer space-worthy. Despite their limitations, these suits are still in used by historian and old-styled plasmamen alike."
icon_state = "prototype_envirosuit"
item_state = "prototype_envirosuit"
- item_color = "prototype_envirosuit"
/obj/item/clothing/under/plasmaman/janitor
name = "janitor's plasma envirosuit"
desc = "A grey and purple envirosuit designated for plasmamen janitors."
icon_state = "janitor_envirosuit"
item_state = "janitor_envirosuit"
- item_color = "janitor_envirosuit"
/obj/item/clothing/under/plasmaman/botany
name = "botany envirosuit"
desc = "A green and blue envirosuit designed to protect plasmamen from minor plant-related injuries."
icon_state = "botany_envirosuit"
item_state = "botany_envirosuit"
- item_color = "botany_envirosuit"
/obj/item/clothing/under/plasmaman/mime
@@ -61,14 +53,12 @@
desc = "It's not very colourful."
icon_state = "mime_envirosuit"
item_state = "mime_envirosuit"
- item_color = "mime_envirosuit"
/obj/item/clothing/under/plasmaman/clown
name = "clown envirosuit"
desc = "'HONK!'"
icon_state = "clown_envirosuit"
item_state = "clown_envirosuit"
- item_color = "clown_envirosuit"
/obj/item/clothing/under/plasmaman/clown/Extinguish(mob/living/carbon/human/H)
if(!istype(H))
diff --git a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm
index 8ed33e6ae3d..06a3dff5ce9 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm
@@ -3,7 +3,6 @@
desc = "An air-tight suit designed to be used by plasmamen exployed as engineers, the usual purple stripes being replaced by engineer's orange. It protects the user from fire and acid damage."
icon_state = "engineer_envirosuit"
item_state = "engineer_envirosuit"
- item_color = "engineer_envirosuit"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 10, "fire" = 95, "acid" = 95)
/obj/item/clothing/under/plasmaman/atmospherics
@@ -11,5 +10,4 @@
desc = "An air-tight suit designed to be used by plasmamen exployed as atmos technicians, the usual purple stripes being replaced by atmos's blue."
icon_state = "atmos_envirosuit"
item_state = "atmos_envirosuit"
- item_color = "atmos_envirosuit"
diff --git a/code/modules/clothing/under/jobs/Plasmaman/medsci.dm b/code/modules/clothing/under/jobs/Plasmaman/medsci.dm
index 5aa61e7faf7..798ff5d7dc1 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/medsci.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/medsci.dm
@@ -3,39 +3,33 @@
desc = "A suit designed for the station's more plasma-based doctors."
icon_state = "doctor_envirosuit"
item_state = "doctor_envirosuit"
- item_color = "doctor_envirosuit"
/obj/item/clothing/under/plasmaman/science
name = "science plasma envirosuit"
desc = "A plasmaman envirosuit designed for scientists."
icon_state = "scientist_envirosuit"
item_state = "scientist_envirosuit"
- item_color = "scientist_envirosuit"
/obj/item/clothing/under/plasmaman/robotics
name = "robotics plasma envirosuit"
desc = "A plasmaman envirosuit designed for roboticists."
icon_state = "roboticist_envirosuit"
item_state = "roboticist_envirosuit"
- item_color = "roboticist_envirosuit"
/obj/item/clothing/under/plasmaman/viro
name = "virology plasma envirosuit"
desc = "The suit worn by the safest people on the station, those who are completely immune to the monstrosities they create."
icon_state = "virologist_envirosuit"
item_state = "virologist_envirosuit"
- item_color = "virologist_envirosuit"
/obj/item/clothing/under/plasmaman/genetics
name = "genetics plasma envirosuit"
desc = "A plasmaman envirosuit designed for geneticists."
icon_state = "geneticist_envirosuit"
item_state = "geneticist_envirosuit"
- item_color = "geneticist_envirosuit"
/obj/item/clothing/under/plasmaman/chemist
name = "chemistry plasma envirosuit"
desc = "A plasmaman envirosuit designed for chemists."
icon_state = "chemist_envirosuit"
item_state = "chemist_envirosuit"
- item_color = "chemist_envirosuit"
diff --git a/code/modules/clothing/under/jobs/Plasmaman/security.dm b/code/modules/clothing/under/jobs/Plasmaman/security.dm
index 36c16e9cf3e..2f8c4e96b3a 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/security.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/security.dm
@@ -3,7 +3,6 @@
desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection."
icon_state = "security_envirosuit"
item_state = "security_envirosuit"
- item_color = "security_envirosuit"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95)
/obj/item/clothing/under/plasmaman/security/warden
@@ -11,4 +10,3 @@
desc = "A plasmaman containment suit designed for the warden, white stripes being added to differeciate them from other members of security."
icon_state = "warden_envirosuit"
item_state = "warden_envirosuit"
- item_color = "warden_envirosuit"
diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm
index e80e52ede0a..5914c3be429 100644
--- a/code/modules/clothing/under/jobs/cargo.dm
+++ b/code/modules/clothing/under/jobs/cargo.dm
@@ -3,14 +3,12 @@
desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
icon_state = "qm"
item_state = "lb_suit"
- item_color = "qm"
/obj/item/clothing/under/rank/cargo/qm/skirt
name = "quartermaster's jumpskirt"
desc = "It's a jumpskirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
icon_state = "qm_skirt"
item_state = "lb_suit"
- item_color = "qm_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -20,7 +18,6 @@
desc = "Shooooorts! They're comfy and easy to wear!"
icon_state = "cargotech"
item_state = "lb_suit"
- item_color = "cargo"
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = MUTANTRACE_VARIATION
alt_covers_chest = TRUE
@@ -30,7 +27,6 @@
desc = "Skiiiiirts! They're comfy and easy to wear"
icon_state = "cargo_skirt"
item_state = "lb_suit"
- item_color = "cargo_skirt"
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
can_adjust = FALSE
@@ -41,12 +37,10 @@
name = "shaft miner's jumpsuit"
icon_state = "miner"
item_state = "miner"
- item_color = "miner"
/obj/item/clothing/under/rank/cargo/miner/lavaland
desc = "A green uniform for operating in hazardous environments."
name = "shaft miner's jumpsuit"
icon_state = "explorer"
item_state = "explorer"
- item_color = "explorer"
can_adjust = FALSE
diff --git a/code/modules/clothing/under/jobs/centcomm.dm b/code/modules/clothing/under/jobs/centcomm.dm
index a879b80332e..8eb6adc027d 100644
--- a/code/modules/clothing/under/jobs/centcomm.dm
+++ b/code/modules/clothing/under/jobs/centcomm.dm
@@ -3,7 +3,6 @@
desc = "It's a jumpsuit worn by CentCom Officers."
icon_state = "officer"
item_state = "g_suit"
- item_color = "officer"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/centcom/commander
@@ -11,4 +10,3 @@
desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
icon_state = "centcom"
item_state = "dg_suit"
- item_color = "centcom"
diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm
index f0e90963170..a67bd7fca6f 100644
--- a/code/modules/clothing/under/jobs/civilian/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian/civilian.dm
@@ -5,15 +5,12 @@
name = "bartender's uniform"
icon_state = "barman"
item_state = "bar_suit"
- item_color = "barman"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/civilian/bartender/purple
desc = "It looks like it has lots of flair!"
name = "purple bartender's uniform"
icon_state = "purplebartender"
- item_state = "purplebartender"
- item_color = "purplebartender"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/bartender/skirt
@@ -21,7 +18,6 @@
desc = "It looks like it could use some more flair."
icon_state = "barman_skirt"
item_state = "bar_suit"
- item_color = "barman_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -31,7 +27,6 @@
name = "chaplain's jumpsuit"
icon_state = "chaplain"
item_state = "bl_suit"
- item_color = "chapblack"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/chaplain/skirt
@@ -39,7 +34,6 @@
desc = "It's a black jumpskirt. If you wear this, you probably need religious help more than you will be providing it."
icon_state = "chapblack_skirt"
item_state = "bl_suit"
- item_color = "chapblack_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -48,14 +42,12 @@
name = "cook's suit"
desc = "A suit which is given only to the most hardcore cooks in space."
icon_state = "chef"
- item_color = "chef"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/civilian/chef/skirt
name = "cook's skirt"
desc = "A skirt which is given only to the most hardcore cooks in space."
icon_state = "chef_skirt"
- item_color = "chef_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -65,7 +57,6 @@
name = "head of personnel's jumpsuit"
icon_state = "hop"
item_state = "b_suit"
- item_color = "hop"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/head_of_personnel/skirt
@@ -73,7 +64,6 @@
desc = "It's a jumpskirt worn by someone who works in the position of \"Head of Personnel\"."
icon_state = "hop_skirt"
item_state = "b_suit"
- item_color = "hop_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -83,7 +73,6 @@
desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit"
item_state = "g_suit"
- item_color = "teal_suit"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt
@@ -91,7 +80,6 @@
desc = "A teal suitskirt and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit_skirt"
item_state = "g_suit"
- item_color = "teal_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -101,7 +89,6 @@
name = "botanist's jumpsuit"
icon_state = "hydroponics"
item_state = "g_suit"
- item_color = "hydroponics"
permeability_coefficient = 0.5
/obj/item/clothing/under/rank/civilian/hydroponics/skirt
@@ -109,7 +96,6 @@
desc = "It's a jumpskirt designed to protect against minor plant-related hazards."
icon_state = "hydroponics_skirt"
item_state = "g_suit"
- item_color = "hydroponics_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -118,14 +104,12 @@
desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
name = "janitor's jumpsuit"
icon_state = "janitor"
- item_color = "janitor"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/civilian/janitor/skirt
name = "janitor's jumpskirt"
desc = "It's the official skirt of the station's janitor. It has minor protection from biohazards."
icon_state = "janitor_skirt"
- item_color = "janitor_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -135,7 +119,6 @@
desc = "A simple maid uniform for housekeeping."
icon_state = "janimaid"
item_state = "janimaid"
- item_color = "janimaid"
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -149,52 +132,44 @@
name = "lawyer black suit"
icon_state = "lawyer_black"
item_state = "lawyer_black"
- item_color = "lawyer_black"
/obj/item/clothing/under/rank/civilian/lawyer/black/skirt
name = "lawyer black suitskirt"
icon_state = "lawyer_black_skirt"
item_state = "lawyer_black"
- item_color = "lawyer_black_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/civilian/lawyer/female
name = "female black suit"
icon_state = "black_suit_fem"
item_state = "bl_suit"
- item_color = "black_suit_fem"
/obj/item/clothing/under/rank/civilian/lawyer/female/skirt
name = "female black suitskirt"
icon_state = "black_suit_fem_skirt"
item_state = "bl_suit"
- item_color = "black_suit_fem_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/civilian/lawyer/red
name = "lawyer red suit"
icon_state = "lawyer_red"
item_state = "lawyer_red"
- item_color = "lawyer_red"
/obj/item/clothing/under/rank/civilian/lawyer/red/skirt
name = "lawyer red suitskirt"
icon_state = "lawyer_red_skirt"
item_state = "lawyer_red"
- item_color = "lawyer_red_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/civilian/lawyer/blue
name = "lawyer blue suit"
icon_state = "lawyer_blue"
item_state = "lawyer_blue"
- item_color = "lawyer_blue"
/obj/item/clothing/under/rank/civilian/lawyer/blue/skirt
name = "lawyer blue suitskirt"
icon_state = "lawyer_blue_skirt"
item_state = "lawyer_blue"
- item_color = "lawyer_blue_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/civilian/lawyer/bluesuit
@@ -202,7 +177,6 @@
desc = "A classy suit and tie."
icon_state = "bluesuit"
item_state = "b_suit"
- item_color = "bluesuit"
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -211,7 +185,6 @@
desc = "A classy suitskirt and tie."
icon_state = "bluesuit_skirt"
item_state = "b_suit"
- item_color = "bluesuit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -220,7 +193,6 @@
name = "purple suit"
icon_state = "lawyer_purp"
item_state = "p_suit"
- item_color = "lawyer_purp"
fitted = NO_FEMALE_UNIFORM
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -229,7 +201,6 @@
name = "purple suitskirt"
icon_state = "lawyer_purp_skirt"
item_state = "p_suit"
- item_color = "lawyer_purp_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
index 897602774cd..6f1f2f7b589 100644
--- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm
+++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
@@ -4,14 +4,12 @@
desc = "It's not very colourful."
icon_state = "mime"
item_state = "mime"
- item_color = "mime"
/obj/item/clothing/under/rank/civilian/mime/skirt
name = "mime's skirt"
desc = "It's not very colourful."
icon_state = "mime_skirt"
item_state = "mime"
- item_color = "mime_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -21,7 +19,6 @@
desc = "The only time when you DON'T enjoy looking at someone's rack."
icon_state = "sexymime"
item_state = "sexymime"
- item_color = "sexymime"
body_parts_covered = CHEST|GROIN|LEGS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -31,14 +28,12 @@
desc = "'HONK!'"
icon_state = "clown"
item_state = "clown"
- item_color = "clown"
/obj/item/clothing/under/rank/civilian/clown/blue
name = "blue clown suit"
desc = "'BLUE HONK!'"
icon_state = "blueclown"
item_state = "blueclown"
- item_color = "blueclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -47,7 +42,6 @@
desc = "'GREEN HONK!'"
icon_state = "greenclown"
item_state = "greenclown"
- item_color = "greenclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -56,7 +50,6 @@
desc = "'YELLOW HONK!'"
icon_state = "yellowclown"
item_state = "yellowclown"
- item_color = "yellowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -65,7 +58,6 @@
desc = "'PURPLE HONK!'"
icon_state = "purpleclown"
item_state = "purpleclown"
- item_color = "purpleclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -74,7 +66,6 @@
desc = "'ORANGE HONK!'"
icon_state = "orangeclown"
item_state = "orangeclown"
- item_color = "orangeclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -83,7 +74,6 @@
desc = "'R A I N B O W HONK!'"
icon_state = "rainbowclown"
item_state = "rainbowclown"
- item_color = "rainbowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -91,7 +81,6 @@
name = "jester suit"
desc = "A jolly dress, well suited to entertain your master, nuncle."
icon_state = "jester"
- item_color = "jester"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/clown/jester/alt
@@ -102,7 +91,6 @@
desc = "It makes you look HONKable!"
icon_state = "sexyclown"
item_state = "sexyclown"
- item_color = "sexyclown"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/clown/Initialize()
diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm
index c02cc4b7103..43e49722432 100644
--- a/code/modules/clothing/under/jobs/civilian/curator.dm
+++ b/code/modules/clothing/under/jobs/civilian/curator.dm
@@ -3,7 +3,6 @@
desc = "It's very... sensible."
icon_state = "red_suit"
item_state = "red_suit"
- item_color = "red_suit"
can_adjust = FALSE
/obj/item/clothing/under/rank/civilian/curator/skirt
@@ -11,7 +10,6 @@
desc = "It's very... sensible."
icon_state = "red_suit_skirt"
item_state = "red_suit"
- item_color = "red_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -21,14 +19,12 @@
desc = "A rugged uniform suitable for treasure hunting."
icon_state = "curator"
item_state = "curator"
- item_color = "curator"
/obj/item/clothing/under/rank/civilian/curator/nasa
name = "\improper NASA jumpsuit"
desc = "It has a NASA logo on it and is made of space-proofed materials."
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm
index d68e9f642c3..ff7ba93e59c 100644
--- a/code/modules/clothing/under/jobs/command.dm
+++ b/code/modules/clothing/under/jobs/command.dm
@@ -3,7 +3,6 @@
name = "captain's jumpsuit"
icon_state = "captain"
item_state = "b_suit"
- item_color = "captain"
sensor_mode = SENSOR_COORDS
random_sensor = FALSE
@@ -12,7 +11,6 @@
desc = "It's a blue jumpskirt with some gold markings denoting the rank of \"Captain\"."
icon_state = "captain_skirt"
item_state = "b_suit"
- item_color = "captain_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -22,7 +20,6 @@
desc = "A green suit and yellow necktie. Exemplifies authority."
icon_state = "green_suit"
item_state = "dg_suit"
- item_color = "green_suit"
can_adjust = FALSE
/obj/item/clothing/under/rank/captain/suit/skirt
@@ -30,7 +27,6 @@
desc = "A green suitskirt and yellow necktie. Exemplifies authority."
icon_state = "green_suit_skirt"
item_state = "dg_suit"
- item_color = "green_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -40,5 +36,4 @@
desc = "A captain's luxury-wear, for special occasions."
icon_state = "captain_parade"
item_state = "by_suit"
- item_color = "captain_parade"
can_adjust = FALSE
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index a7dce2e90cf..0f23c1730f8 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -4,7 +4,6 @@
name = "chief engineer's jumpsuit"
icon_state = "chiefengineer"
item_state = "gy_suit"
- item_color = "chief"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40)
resistance_flags = NONE
@@ -13,7 +12,6 @@
desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding."
icon_state = "chief_skirt"
item_state = "gy_suit"
- item_color = "chief_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -23,7 +21,6 @@
name = "atmospheric technician's jumpsuit"
icon_state = "atmos"
item_state = "atmos_suit"
- item_color = "atmos"
resistance_flags = NONE
/obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt
@@ -31,7 +28,6 @@
desc = "It's a jumpskirt worn by atmospheric technicians."
icon_state = "atmos_skirt"
item_state = "atmos_suit"
- item_color = "atmos_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -41,7 +37,6 @@
name = "engineer's jumpsuit"
icon_state = "engine"
item_state = "engi_suit"
- item_color = "engine"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20)
resistance_flags = NONE
@@ -50,7 +45,6 @@
desc = "A high visibility jumpsuit made from heat and radiation resistant materials."
icon_state = "hazard"
item_state = "suit-orange"
- item_color = "hazard"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/engineering/engineer/skirt
@@ -58,7 +52,6 @@
desc = "It's an orange high visibility jumpskirt worn by engineers."
icon_state = "engine_skirt"
item_state = "engi_suit"
- item_color = "engine_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm
index 9f52860b8f6..955875e7864 100644
--- a/code/modules/clothing/under/jobs/medical.dm
+++ b/code/modules/clothing/under/jobs/medical.dm
@@ -3,7 +3,6 @@
name = "chief medical officer's jumpsuit"
icon_state = "cmo"
item_state = "w_suit"
- item_color = "cmo"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -12,7 +11,6 @@
desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
icon_state = "cmo_skirt"
item_state = "w_suit"
- item_color = "cmo_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -22,7 +20,6 @@
name = "geneticist's jumpsuit"
icon_state = "genetics"
item_state = "w_suit"
- item_color = "geneticswhite"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -31,7 +28,6 @@
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
icon_state = "geneticswhite_skirt"
item_state = "w_suit"
- item_color = "geneticswhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -41,7 +37,6 @@
name = "virologist's jumpsuit"
icon_state = "virology"
item_state = "w_suit"
- item_color = "virologywhite"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -50,7 +45,6 @@
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
icon_state = "virologywhite_skirt"
item_state = "w_suit"
- item_color = "virologywhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -60,7 +54,6 @@
name = "nurse's suit"
icon_state = "nursesuit"
item_state = "w_suit"
- item_color = "nursesuit"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
body_parts_covered = CHEST|GROIN|ARMS
@@ -72,7 +65,6 @@
name = "medical doctor's jumpsuit"
icon_state = "medical"
item_state = "w_suit"
- item_color = "medical"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -80,21 +72,18 @@
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue"
- item_color = "scrubsblue"
can_adjust = FALSE
/obj/item/clothing/under/rank/medical/doctor/green
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
- item_color = "scrubsgreen"
can_adjust = FALSE
/obj/item/clothing/under/rank/medical/doctor/purple
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
- item_color = "scrubspurple"
can_adjust = FALSE
/obj/item/clothing/under/rank/medical/doctor/skirt
@@ -102,7 +91,6 @@
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
icon_state = "medical_skirt"
item_state = "w_suit"
- item_color = "medical_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -112,7 +100,6 @@
name = "chemist's jumpsuit"
icon_state = "chemistry"
item_state = "w_suit"
- item_color = "chemistrywhite"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65)
@@ -121,7 +108,6 @@
desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
icon_state = "chemistrywhite_skirt"
item_state = "w_suit"
- item_color = "chemistrywhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm
index 142cb8d8b16..35a1bc5c948 100644
--- a/code/modules/clothing/under/jobs/rnd.dm
+++ b/code/modules/clothing/under/jobs/rnd.dm
@@ -3,7 +3,6 @@
name = "research director's vest suit"
icon_state = "director"
item_state = "lb_suit"
- item_color = "director"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35)
can_adjust = FALSE
@@ -12,7 +11,6 @@
desc = "It's a suitskirt worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
icon_state = "director_skirt"
item_state = "lb_suit"
- item_color = "director_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -22,7 +20,6 @@
name = "research director's tan suit"
icon_state = "rdwhimsy"
item_state = "rdwhimsy"
- item_color = "rdwhimsy"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -32,7 +29,6 @@
desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
icon_state = "rdwhimsy_skirt"
item_state = "rdwhimsy"
- item_color = "rdwhimsy_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -42,7 +38,6 @@
name = "research director's turtleneck"
icon_state = "rdturtle"
item_state = "p_suit"
- item_color = "rdturtle"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -52,7 +47,6 @@
desc = "A dark purple turtleneck and tan khaki skirt, for a director with a superior sense of style."
icon_state = "rdturtle_skirt"
item_state = "p_suit"
- item_color = "rdturtle_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -62,7 +56,6 @@
name = "scientist's jumpsuit"
icon_state = "toxins"
item_state = "w_suit"
- item_color = "toxinswhite"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -71,7 +64,6 @@
desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
icon_state = "toxinswhite_skirt"
item_state = "w_suit"
- item_color = "toxinswhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -81,7 +73,6 @@
name = "roboticist's jumpsuit"
icon_state = "robotics"
item_state = "robotics"
- item_color = "robotics"
resistance_flags = NONE
/obj/item/clothing/under/rank/rnd/roboticist/skirt
@@ -89,7 +80,6 @@
desc = "It's a slimming black with reinforced seams; great for industrial work."
icon_state = "robotics_skirt"
item_state = "robotics"
- item_color = "robotics_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 5d7d74f1f99..a45a02405ed 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -14,7 +14,6 @@
desc = "A tactical security jumpsuit for officers complete with Nanotrasen belt buckle."
icon_state = "rsecurity"
item_state = "r_suit"
- item_color = "rsecurity"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30)
strip_delay = 50
alt_covers_chest = TRUE
@@ -26,14 +25,12 @@
desc = "A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "security"
item_state = "gy_suit"
- item_color = "security"
/obj/item/clothing/under/rank/security/officer/skirt
name = "security jumpskirt"
desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt."
icon_state = "secskirt"
item_state = "r_suit"
- item_color = "secskirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone
fitted = FEMALE_UNIFORM_TOP
@@ -43,7 +40,6 @@
desc = "I'm a little busy right now, Calhoun."
icon_state = "blueshift"
item_state = "blueshift"
- item_color = "blueshift"
can_adjust = FALSE
/obj/item/clothing/under/rank/security/officer/formal
@@ -51,7 +47,6 @@
desc = "The latest in fashionable security outfits."
icon_state = "officerblueclothes"
item_state = "officerblueclothes"
- item_color = "officerblueclothes"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/security/warden
@@ -59,7 +54,6 @@
desc = "A formal security suit for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden"
item_state = "r_suit"
- item_color = "rwarden"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30)
strip_delay = 50
alt_covers_chest = TRUE
@@ -71,14 +65,12 @@
desc = "A formal relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "warden"
item_state = "gy_suit"
- item_color = "warden"
/obj/item/clothing/under/rank/security/warden/skirt
name = "warden's suitskirt"
desc = "A formal security suitskirt for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden_skirt"
item_state = "r_suit"
- item_color = "rwarden_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -88,7 +80,6 @@
name = "warden's formal uniform"
icon_state = "wardenblueclothes"
item_state = "wardenblueclothes"
- item_color = "wardenblueclothes"
alt_covers_chest = TRUE
/*
@@ -99,7 +90,6 @@
desc = "Someone who wears this means business."
icon_state = "detective"
item_state = "det"
- item_color = "detective"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30)
strip_delay = 50
alt_covers_chest = TRUE
@@ -111,7 +101,6 @@
desc = "Someone who wears this means business."
icon_state = "detective_skirt"
item_state = "det"
- item_color = "detective_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -121,7 +110,6 @@
desc = "A hard-boiled private investigator's grey suit, complete with tie clip."
icon_state = "greydet"
item_state = "greydet"
- item_color = "greydet"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/security/detective/grey/skirt
@@ -129,7 +117,6 @@
desc = "A hard-boiled private investigator's grey suitskirt, complete with tie clip."
icon_state = "greydet_skirt"
item_state = "greydet"
- item_color = "greydet_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -142,7 +129,6 @@
desc = "A security jumpsuit decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "rhos"
item_state = "r_suit"
- item_color = "rhos"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
strip_delay = 60
alt_covers_chest = TRUE
@@ -154,7 +140,6 @@
desc = "A security jumpskirt decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "rhos_skirt"
item_state = "r_suit"
- item_color = "rhos_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -164,21 +149,18 @@
desc = "There are old men, and there are bold men, but there are very few old, bold men."
icon_state = "hos"
item_state = "gy_suit"
- item_color = "hos"
/obj/item/clothing/under/rank/security/head_of_security/alt
name = "head of security's turtleneck"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants."
icon_state = "hosalt"
item_state = "bl_suit"
- item_color = "hosalt"
/obj/item/clothing/under/rank/security/head_of_security/alt/skirt
name = "head of security's turtleneck skirt"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with a tactical skirt."
icon_state = "hosalt_skirt"
item_state = "bl_suit"
- item_color = "hosalt_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -188,7 +170,6 @@
desc = "A male head of security's luxury-wear, for special occasions."
icon_state = "hos_parade_male"
item_state = "r_suit"
- item_color = "hos_parade_male"
can_adjust = FALSE
/obj/item/clothing/under/rank/security/head_of_security/parade/female
@@ -196,7 +177,6 @@
desc = "A female head of security's luxury-wear, for special occasions."
icon_state = "hos_parade_fem"
item_state = "r_suit"
- item_color = "hos_parade_fem"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -205,7 +185,6 @@
name = "head of security's formal uniform"
icon_state = "hosblueclothes"
item_state = "hosblueclothes"
- item_color = "hosblueclothes"
alt_covers_chest = TRUE
/*
@@ -217,7 +196,6 @@
desc = "Space not controlled by megacorporations, planets, or pirates is under the jurisdiction of Spacepol."
icon_state = "spacepol"
item_state = "spacepol"
- item_color = "spacepol"
can_adjust = FALSE
/obj/item/clothing/under/rank/prisoner
@@ -225,7 +203,6 @@
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "prisoner"
item_state = "o_suit"
- item_color = "prisoner"
has_sensor = LOCKED_SENSORS
sensor_mode = SENSOR_COORDS
random_sensor = FALSE
@@ -235,7 +212,6 @@
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "prisoner_skirt"
item_state = "o_suit"
- item_color = "prisoner_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 3a47141e093..feb03922dc1 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -4,13 +4,11 @@
/obj/item/clothing/under/misc/pj/red
icon_state = "red_pyjamas"
- item_color = "red_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
/obj/item/clothing/under/misc/pj/blue
icon_state = "blue_pyjamas"
- item_color = "blue_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
@@ -19,7 +17,6 @@
desc = "Motorcycle not included."
icon_state = "ek"
item_state = "ek"
- item_color = "ek"
can_adjust = FALSE
/obj/item/clothing/under/misc/mailman
@@ -27,28 +24,24 @@
desc = "'Special delivery!'"
icon_state = "mailman"
item_state = "b_suit"
- item_color = "mailman"
/obj/item/clothing/under/misc/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
item_state = "p_suit"
- item_color = "psyche"
/obj/item/clothing/under/misc/vice_officer
name = "vice officer's jumpsuit"
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
icon_state = "vice"
item_state = "gy_suit"
- item_color = "vice"
can_adjust = FALSE
/obj/item/clothing/under/misc/adminsuit
name = "administrative cybernetic jumpsuit"
icon_state = "syndicate"
item_state = "bl_suit"
- item_color = "syndicate"
desc = "A cybernetically enhanced jumpsuit used for administrative duties."
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
@@ -66,7 +59,6 @@
desc = "Traditional burial garments from the early 22nd century."
icon_state = "burial"
item_state = "burial"
- item_color = "burial"
can_adjust = FALSE
has_sensor = NO_SENSORS
@@ -75,7 +67,6 @@
desc = "A set of durable overalls for getting the job done."
icon_state = "overalls"
item_state = "lb_suit"
- item_color = "overalls"
can_adjust = FALSE
custom_price = 20
@@ -84,7 +75,6 @@
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"
can_adjust = FALSE
/obj/item/clothing/under/plasmaman
@@ -92,7 +82,6 @@
desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy."
icon_state = "plasmaman"
item_state = "plasmaman"
- item_color = "plasmaman"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95)
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
can_adjust = FALSE
@@ -146,6 +135,5 @@
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "durathread"
item_state = "durathread"
- item_color = "durathread"
can_adjust = FALSE
armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index d53e5850e72..82cf5439e68 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -9,71 +9,59 @@
name = "classic jeans"
desc = "You feel cooler already."
icon_state = "jeansclassic"
- item_color = "jeansclassic"
/obj/item/clothing/under/pants/mustangjeans
name = "Must Hang jeans"
desc = "Made in the finest space jeans factory this side of Alpha Centauri."
icon_state = "jeansmustang"
- item_color = "jeansmustang"
custom_price = 75
/obj/item/clothing/under/pants/blackjeans
name = "black jeans"
desc = "Only for those who can pull it off."
icon_state = "jeansblack"
- item_color = "jeansblack"
/obj/item/clothing/under/pants/youngfolksjeans
name = "Young Folks jeans"
desc = "For those tired of boring old jeans. Relive the passion of your youth!"
icon_state = "jeansyoungfolks"
- item_color = "jeansyoungfolks"
/obj/item/clothing/under/pants/white
name = "white pants"
desc = "Plain white pants. Boring."
icon_state = "whitepants"
- item_color = "whitepants"
/obj/item/clothing/under/pants/red
name = "red pants"
desc = "Bright red pants. Overflowing with personality."
icon_state = "redpants"
- item_color = "redpants"
/obj/item/clothing/under/pants/black
name = "black pants"
desc = "These pants are dark, like your soul."
icon_state = "blackpants"
- item_color = "blackpants"
/obj/item/clothing/under/pants/tan
name = "tan pants"
desc = "Some tan pants. You look like a white collar worker with these on."
icon_state = "tanpants"
- item_color = "tanpants"
/obj/item/clothing/under/pants/track
name = "track pants"
desc = "A pair of track pants, for the athletic."
icon_state = "trackpants"
- item_color = "trackpants"
/obj/item/clothing/under/pants/jeans
name = "jeans"
desc = "A nondescript pair of tough blue jeans."
icon_state = "jeans"
- item_color = "jeans"
/obj/item/clothing/under/pants/khaki
name = "khaki pants"
desc = "A pair of dust beige khaki pants."
icon_state = "khaki"
- item_color = "khaki"
/obj/item/clothing/under/pants/camo
name = "camo pants"
desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station."
icon_state = "camopants"
- item_color = "camopants"
diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm
index 67ef30f0ccd..5fee5abbab4 100644
--- a/code/modules/clothing/under/shorts.dm
+++ b/code/modules/clothing/under/shorts.dm
@@ -10,29 +10,23 @@
/obj/item/clothing/under/shorts/red
name = "red athletic shorts"
icon_state = "redshorts"
- item_color = "redshorts"
/obj/item/clothing/under/shorts/green
name = "green athletic shorts"
icon_state = "greenshorts"
- item_color = "greenshorts"
/obj/item/clothing/under/shorts/blue
name = "blue athletic shorts"
icon_state = "blueshorts"
- item_color = "blueshorts"
/obj/item/clothing/under/shorts/black
name = "black athletic shorts"
icon_state = "blackshorts"
- item_color = "blackshorts"
/obj/item/clothing/under/shorts/grey
name = "grey athletic shorts"
icon_state = "greyshorts"
- item_color = "greyshorts"
/obj/item/clothing/under/shorts/purple
name = "purple athletic shorts"
icon_state = "purpleshorts"
- item_color = "purpleshorts"
\ No newline at end of file
diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm
index 725983ae6c9..f9a1ff11c98 100644
--- a/code/modules/clothing/under/skirt_dress.dm
+++ b/code/modules/clothing/under/skirt_dress.dm
@@ -8,48 +8,41 @@
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
item_state = "sundress"
- item_color = "sundress"
/obj/item/clothing/under/dress/blacktango
name = "black tango dress"
desc = "Filled with Latin fire."
icon_state = "black_tango"
item_state = "wcoat"
- item_color = "black_tango"
/obj/item/clothing/under/dress/striped
name = "striped dress"
desc = "Fashion in space."
icon_state = "striped_dress"
- item_state = "stripeddress"
- item_color = "striped_dress"
+ item_state = "striped_dress"
fitted = FEMALE_UNIFORM_FULL
/obj/item/clothing/under/dress/sailor
name = "sailor dress"
desc = "Formal wear for a leading lady."
icon_state = "sailor_dress"
- item_state = "sailordress"
- item_color = "sailor_dress"
+ item_state = "sailor_dress"
/obj/item/clothing/under/dress/redeveninggown
name = "red evening gown"
desc = "Fancy dress for space bar singers."
icon_state = "red_evening_gown"
- item_state = "redeveninggown"
- item_color = "red_evening_gown"
+ item_state = "red_evening_gown"
/obj/item/clothing/under/dress/skirt
name = "black skirt"
desc = "A black skirt, very fancy!"
icon_state = "blackskirt"
- item_color = "blackskirt"
/obj/item/clothing/under/dress/skirt/blue
name = "blue skirt"
desc = "A blue, casual skirt."
icon_state = "blueskirt"
- item_color = "blueskirt"
item_state = "b_suit"
custom_price = 25
@@ -57,7 +50,6 @@
name = "red skirt"
desc = "A red, casual skirt."
icon_state = "redskirt"
- item_color = "redskirt"
item_state = "r_suit"
custom_price = 25
@@ -65,7 +57,6 @@
name = "purple skirt"
desc = "A purple, casual skirt."
icon_state = "purpleskirt"
- item_color = "purpleskirt"
item_state = "p_suit"
custom_price = 25
@@ -74,7 +65,6 @@
desc = "A preppy red skirt with a white blouse."
icon_state = "plaid_red"
item_state = "plaid_red"
- item_color = "plaid_red"
can_adjust = TRUE
alt_covers_chest = TRUE
custom_price = 25
@@ -84,18 +74,15 @@
desc = "A preppy blue skirt with a white blouse."
icon_state = "plaid_blue"
item_state = "plaid_blue"
- item_color = "plaid_blue"
/obj/item/clothing/under/dress/skirt/plaid/purple
name = "purple plaid skirt"
desc = "A preppy purple skirt with a white blouse."
icon_state = "plaid_purple"
item_state = "plaid_purple"
- item_color = "plaid_purple"
/obj/item/clothing/under/dress/skirt/plaid/green
name = "green plaid skirt"
desc = "A preppy green skirt with a white blouse."
icon_state = "plaid_green"
item_state = "plaid_green"
- item_color = "plaid_green"
diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm
index 320c6c325c9..cdaf069896b 100644
--- a/code/modules/clothing/under/suits.dm
+++ b/code/modules/clothing/under/suits.dm
@@ -3,7 +3,6 @@
desc = "A white suit, suitable for an excellent host."
icon_state = "scratch"
item_state = "scratch"
- item_color = "scratch"
can_adjust = FALSE
/obj/item/clothing/under/suit/white/skirt
@@ -11,7 +10,6 @@
desc = "A white suitskirt, suitable for an excellent host."
icon_state = "white_suit_skirt"
item_state = "scratch"
- item_color = "white_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -20,7 +18,6 @@
desc = "It's a very amish looking suit."
name = "amish suit"
icon_state = "sl_suit"
- item_color = "sl_suit"
can_adjust = FALSE
/obj/item/clothing/under/suit/waiter
@@ -28,7 +25,6 @@
desc = "It's a very smart uniform with a special pocket for tip."
icon_state = "waiter"
item_state = "waiter"
- item_color = "waiter"
can_adjust = FALSE
/obj/item/clothing/under/suit/blacktwopiece
@@ -36,7 +32,6 @@
desc = "A black suit and red tie. Very formal."
icon_state = "black_suit"
item_state = "bl_suit"
- item_color = "black_suit"
can_adjust = FALSE
/obj/item/clothing/under/suit/black
@@ -44,7 +39,6 @@
desc = "A professional looking black suit. Ready for some serious law."
icon_state = "blacksuit"
item_state = "blacksuit"
- item_color = "blacksuit"
can_adjust = FALSE
/obj/item/clothing/under/suit/black/skirt
@@ -52,7 +46,6 @@
desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
icon_state = "blacksuit_skirt"
item_state = "bar_suit"
- item_color = "blacksuit_skirt"
alt_covers_chest = TRUE
fitted = FEMALE_UNIFORM_TOP
@@ -62,14 +55,12 @@
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
- item_color = "really_black_suit"
/obj/item/clothing/under/suit/black_really/skirt
name = "executive suitskirt"
desc = "A formal black suitskirt and red tie, intended for the station's finest."
icon_state = "really_black_suit_skirt"
item_state = "bl_suit"
- item_color = "really_black_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -80,14 +71,12 @@
desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
- item_color = "black_suit_fem"
/obj/item/clothing/under/suit/green
name = "green suit"
desc = "A green suit and yellow necktie. Baller."
icon_state = "green_suit"
item_state = "dg_suit"
- item_color = "green_suit"
can_adjust = FALSE
/obj/item/clothing/under/suit/red
@@ -95,46 +84,39 @@
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
- item_color = "red_suit"
/obj/item/clothing/under/suit/charcoal
name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit"
item_state = "charcoal_suit"
- item_color = "charcoal_suit"
/obj/item/clothing/under/suit/navy
name = "navy suit"
desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit"
item_state = "navy_suit"
- item_color = "navy_suit"
/obj/item/clothing/under/suit/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit"
item_state = "burgundy_suit"
- item_color = "burgundy_suit"
/obj/item/clothing/under/suit/checkered
name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit"
item_state = "checkered_suit"
- item_color = "checkered_suit"
/obj/item/clothing/under/suit/tan
name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit"
item_state = "tan_suit"
- item_color = "tan_suit"
/obj/item/clothing/under/suit/white
name = "white suit"
desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
icon_state = "white_suit"
item_state = "white_suit"
- item_color = "white_suit"
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 624b6d08be0..cfcd94d70e5 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -3,7 +3,6 @@
desc = "A non-descript and slightly suspicious looking turtleneck with digital camouflage cargo pants."
icon_state = "syndicate"
item_state = "bl_suit"
- item_color = "syndicate"
has_sensor = NO_SENSORS
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
alt_covers_chest = TRUE
@@ -13,7 +12,6 @@
desc = "A non-descript and slightly suspicious looking skirtleneck."
icon_state = "syndicate_skirt"
item_state = "bl_suit"
- item_color = "syndicate_skirt"
has_sensor = NO_SENSORS
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
alt_covers_chest = TRUE
@@ -24,7 +22,6 @@
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"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
/obj/item/clothing/under/syndicate/tacticool/skirt
@@ -32,7 +29,6 @@
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool_skirt"
item_state = "bl_suit"
- item_color = "tactifool_skirt"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
fitted = FEMALE_UNIFORM_TOP
@@ -41,7 +37,6 @@
desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp."
icon_state = "really_black_suit"
item_state = "bl_suit"
- item_color = "black_suit"
can_adjust = FALSE
/obj/item/clothing/under/syndicate/camo
@@ -49,14 +44,12 @@
desc = "A green military camouflage uniform."
icon_state = "camogreen"
item_state = "g_suit"
- item_color = "camogreen"
can_adjust = FALSE
/obj/item/clothing/under/syndicate/soviet
name = "Ratnik 5 tracksuit"
desc = "Badly translated labels tell you to clean this in Vodka. Great for squatting in."
icon_state = "trackpants"
- item_color = "trackpants"
can_adjust = FALSE
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = NONE
@@ -65,14 +58,12 @@
name = "combat uniform"
desc = "With a suit lined with this many pockets, you are ready to operate."
icon_state = "syndicate_combat"
- item_color = "syndicate_combat"
can_adjust = FALSE
/obj/item/clothing/under/syndicate/rus_army
name = "advanced military tracksuit"
desc = "Military grade tracksuits for frontline squatting."
icon_state = "rus_under"
- item_color = "rus_under"
can_adjust = FALSE
armor = list("melee" = 5, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = NONE
diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm
index 9564d039097..ff65c43566d 100644
--- a/code/modules/clothing/under/trek.dm
+++ b/code/modules/clothing/under/trek.dm
@@ -10,14 +10,12 @@
name = "command uniform"
desc = "The uniform worn by command officers."
icon_state = "trek_command"
- item_color = "trek_command"
item_state = "y_suit"
/obj/item/clothing/under/trek/engsec
name = "engsec uniform"
desc = "The uniform worn by engineering/security officers."
icon_state = "trek_engsec"
- item_color = "trek_engsec"
item_state = "r_suit"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //more sec than eng, but w/e.
strip_delay = 50
@@ -26,40 +24,33 @@
name = "medsci uniform"
desc = "The uniform worn by medical/science officers."
icon_state = "trek_medsci"
- item_color = "trek_medsci"
item_state = "b_suit"
//TNG
/obj/item/clothing/under/trek/command/next
icon_state = "trek_next_command"
- item_color = "trek_next_command"
item_state = "r_suit"
/obj/item/clothing/under/trek/engsec/next
icon_state = "trek_next_engsec"
- item_color = "trek_next_engsec"
item_state = "y_suit"
/obj/item/clothing/under/trek/medsci/next
icon_state = "trek_next_medsci"
- item_color = "trek_next_medsci"
//ENT
/obj/item/clothing/under/trek/command/ent
icon_state = "trek_ent_command"
- item_color = "trek_ent_command"
item_state = "bl_suit"
/obj/item/clothing/under/trek/engsec/ent
icon_state = "trek_ent_engsec"
- item_color = "trek_ent_engsec"
item_state = "bl_suit"
/obj/item/clothing/under/trek/medsci/ent
icon_state = "trek_ent_medsci"
- item_color = "trek_ent_medsci"
item_state = "bl_suit"
@@ -68,5 +59,4 @@
name = "french marshall's uniform"
desc = "Something about it feels off..."
icon_state = "trek_Q"
- item_color = "trek_Q"
- item_state = "r_suit"
\ No newline at end of file
+ item_state = "r_suit"
diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm
index 45f725e5ea0..e0c0410f6bf 100644
--- a/code/modules/food_and_drinks/food/snacks_egg.dm
+++ b/code/modules/food_and_drinks/food/snacks_egg.dm
@@ -46,7 +46,7 @@
/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/toy/crayon))
var/obj/item/toy/crayon/C = W
- var/clr = C.item_color
+ var/clr = C.crayon_color
if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow")))
to_chat(usr, "[src] refuses to take on this colour!")
@@ -54,7 +54,6 @@
to_chat(usr, "You colour [src] with [W].")
icon_state = "egg-[clr]"
- item_color = clr
else if(istype(W, /obj/item/stamp/clown))
var/clowntype = pick("grock", "grimaldi", "rainbow", "chaos", "joker", "sexy", "standard", "bobble", "krusty", "bozo", "pennywise", "ronald", "jacobs", "kelly", "popov", "cluwne")
icon_state = "egg-clown-[clowntype]"
@@ -65,35 +64,27 @@
/obj/item/reagent_containers/food/snacks/egg/blue
icon_state = "egg-blue"
- item_color = "blue"
/obj/item/reagent_containers/food/snacks/egg/green
icon_state = "egg-green"
- item_color = "green"
/obj/item/reagent_containers/food/snacks/egg/mime
icon_state = "egg-mime"
- item_color = "mime"
/obj/item/reagent_containers/food/snacks/egg/orange
icon_state = "egg-orange"
- item_color = "orange"
/obj/item/reagent_containers/food/snacks/egg/purple
icon_state = "egg-purple"
- item_color = "purple"
/obj/item/reagent_containers/food/snacks/egg/rainbow
icon_state = "egg-rainbow"
- item_color = "rainbow"
/obj/item/reagent_containers/food/snacks/egg/red
icon_state = "egg-red"
- item_color = "red"
/obj/item/reagent_containers/food/snacks/egg/yellow
icon_state = "egg-yellow"
- item_color = "yellow"
/obj/item/reagent_containers/food/snacks/friedegg
name = "fried egg"
diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm
index f45a4a44774..81b062b8183 100644
--- a/code/modules/holiday/easter.dm
+++ b/code/modules/holiday/easter.dm
@@ -113,7 +113,6 @@
. = ..()
var/eggcolor = pick("blue","green","mime","orange","purple","rainbow","red","yellow")
icon_state = "egg-[eggcolor]"
- item_color = "[eggcolor]"
/obj/item/reagent_containers/food/snacks/egg/proc/dispensePrize(turf/where)
var/won = pick(/obj/item/clothing/head/bunnyhead,
diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm
index 36fb97d5bc8..f2fdc4cae84 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -25,15 +25,15 @@
hitsound = "swing_hit"
armour_penetration = 50
var/active = 0
+ var/saber_color
/obj/item/holo/esword/green/Initialize()
. = ..()
- item_color = "green"
-
+ saber_color = "green"
/obj/item/holo/esword/red/Initialize()
. = ..()
- item_color = "red"
+ saber_color = "red"
/obj/item/holo/esword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(active)
@@ -45,13 +45,13 @@
/obj/item/holo/esword/Initialize()
. = ..()
- item_color = pick("red","blue","green","purple")
+ saber_color = pick("red","blue","green","purple")
/obj/item/holo/esword/attack_self(mob/living/user as mob)
active = !active
if (active)
force = 30
- icon_state = "sword[item_color]"
+ icon_state = "sword[saber_color]"
w_class = WEIGHT_CLASS_BULKY
hitsound = 'sound/weapons/blade1.ogg'
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
diff --git a/code/modules/hydroponics/grown/rainbow_bunch.dm b/code/modules/hydroponics/grown/rainbow_bunch.dm
index 44e8ced977b..fb63763aa62 100644
--- a/code/modules/hydroponics/grown/rainbow_bunch.dm
+++ b/code/modules/hydroponics/grown/rainbow_bunch.dm
@@ -36,42 +36,42 @@
var/flower_color = rand(1,8)
switch(flower_color)
if(1)
- item_color = "red"
color = "#DA0000"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/red = 3)
+ dye_color = DYE_RED
desc += " This one is in a bright red color."
if(2)
- item_color = "orange"
color = "#FF9300"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/orange = 3)
+ dye_color = DYE_ORANGE
desc += " This one is in a citrus orange color."
if(3)
- item_color = "yellow"
color = "#FFF200"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/yellow = 3)
+ dye_color = DYE_YELLOW
desc += " This one is in a bright yellow color."
if(4)
- item_color = "green"
color = "#A8E61D"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/green = 3)
+ dye_color = DYE_GREEN
desc += " This one is in a grassy green color."
if(5)
- item_color = "blue"
color = "#00B7EF"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/blue = 3)
+ dye_color = DYE_BLUE
desc += " This one is in a soothing blue color."
if(6)
- item_color = "purple"
color = "#DA00FF"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/purple = 3)
+ dye_color = DYE_PURPLE
desc += " This one is in a vibrant purple color."
if(7)
- item_color = "black"
color = "#1C1C1C"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/black = 3)
+ dye_color = DYE_BLACK
desc += " This one is in a midnight black color."
if(8)
- item_color = "white"
color = "#FFFFFF"
list_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/white = 3)
+ dye_color = DYE_WHITE
desc += " This one is in a pure white color."
diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm
index 4a1fa46fcd6..4e79944c3ea 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -42,7 +42,7 @@
uniform = /obj/item/clothing/under/rank/engineering/chief_engineer
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/hardhat/white
- gloves = /obj/item/clothing/gloves/color/black/ce
+ gloves = /obj/item/clothing/gloves/color/black
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced=1)
backpack = /obj/item/storage/backpack/industrial
diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm
index 35516461db0..2f050baadff 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -42,7 +42,7 @@
uniform = /obj/item/clothing/under/rank/security/head_of_security
shoes = /obj/item/clothing/shoes/jackboots
suit = /obj/item/clothing/suit/armor/hos/trenchcoat
- gloves = /obj/item/clothing/gloves/color/black/hos
+ gloves = /obj/item/clothing/gloves/color/black
head = /obj/item/clothing/head/HoS/beret
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
suit_store = /obj/item/gun/energy/e_gun
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index 5f7b09d47da..f304b41cca3 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -111,6 +111,6 @@
/obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands)
. = ..()
if(!isinhands)
- var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass")
+ var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/head.dmi', "hostile_env_glass")
M.appearance_flags = RESET_COLOR
. += M
diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm
index c28ef6cd04f..bb4dd84c124 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories.dm
@@ -947,7 +947,7 @@
///////////////////////////
/datum/sprite_accessory/underwear
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/underwear.dmi'
use_static = FALSE
@@ -1124,7 +1124,7 @@
////////////////////////////
/datum/sprite_accessory/undershirt
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/underwear.dmi'
/datum/sprite_accessory/undershirt/nude
name = "Nude"
@@ -1408,7 +1408,7 @@
///////////////////////
/datum/sprite_accessory/socks
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/underwear.dmi'
/datum/sprite_accessory/socks/nude
name = "Nude"
@@ -1685,11 +1685,11 @@
name = "None"
icon_state = "none"
-/datum/sprite_accessory/wings_open
- icon = 'icons/mob/wings.dmi'
-
/datum/sprite_accessory/wings
- icon = 'icons/mob/wings.dmi'
+ icon = 'icons/mob/clothing/wings.dmi'
+
+/datum/sprite_accessory/wings_open
+ icon = 'icons/mob/clothing/wings.dmi'
/datum/sprite_accessory/wings/angel
name = "Angel"
@@ -1814,7 +1814,7 @@
icon_state = "round"
/datum/sprite_accessory/moth_wings
- icon = 'icons/mob/moth_wings.dmi'
+ icon = 'icons/mob/clothing/wings.dmi'
color_src = null
/datum/sprite_accessory/moth_wings/plain
@@ -1932,4 +1932,4 @@
/datum/sprite_accessory/moth_markings/moonfly
name = "Moon Fly"
- icon_state = "moonfly"
\ No newline at end of file
+ icon_state = "moonfly"
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index bbe81326a84..f5164dd4e08 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -116,23 +116,22 @@ There are several things that need to be remembered:
return
- var/t_color = U.item_color
- if(!t_color)
- t_color = U.icon_state
+ var/target_overlay = U.icon_state
if(U.adjusted == ALT_STYLE)
- t_color = "[t_color]_d"
+ target_overlay = "[target_overlay]_d"
else if(U.adjusted == DIGITIGRADE_STYLE)
- t_color = "[t_color]_l"
+ target_overlay = "[target_overlay]_l"
+
var/mutable_appearance/uniform_overlay
if(dna && dna.species.sexes)
var/G = (gender == FEMALE) ? "f" : "m"
if(G == "f" && U.fitted != NO_FEMALE_UNIFORM)
- uniform_overlay = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted)
+ uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted, override_state = target_overlay)
if(!uniform_overlay)
- uniform_overlay = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE)
+ uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/uniform.dmi', isinhands = FALSE, override_state = target_overlay)
if(OFFSET_UNIFORM in dna.species.offset_features)
@@ -160,7 +159,7 @@ There are several things that need to be remembered:
update_observer_view(wear_id)
//TODO: add an icon file for ID slot stuff, so it's less snowflakey
- id_overlay = wear_id.build_worn_icon(state = wear_id.item_state, default_layer = ID_LAYER, default_icon_file = 'icons/mob/mob.dmi')
+ id_overlay = wear_id.build_worn_icon(default_layer = ID_LAYER, default_icon_file = 'icons/mob/mob.dmi')
if(OFFSET_ID in dna.species.offset_features)
id_overlay.pixel_x += dna.species.offset_features[OFFSET_ID][1]
id_overlay.pixel_y += dna.species.offset_features[OFFSET_ID][2]
@@ -193,10 +192,7 @@ There are several things that need to be remembered:
if(hud_used.inventory_shown)
client.screen += gloves
update_observer_view(gloves,1)
- var/t_state = gloves.item_state
- if(!t_state)
- t_state = gloves.icon_state
- overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(state = t_state, default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/hands.dmi')
+ overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi')
gloves_overlay = overlays_standing[GLOVES_LAYER]
if(OFFSET_GLOVES in dna.species.offset_features)
gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1]
@@ -222,7 +218,7 @@ There are several things that need to be remembered:
client.screen += glasses //Either way, add the item to the HUD
update_observer_view(glasses,1)
if(!(head && (head.flags_inv & HIDEEYES)) && !(wear_mask && (wear_mask.flags_inv & HIDEEYES)))
- overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(state = glasses.icon_state, default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/eyes.dmi')
+ overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi')
var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER]
if(glasses_overlay)
@@ -249,8 +245,7 @@ There are several things that need to be remembered:
if(hud_used.inventory_shown) //if the inventory is open
client.screen += ears //add it to the client's screen
update_observer_view(ears,1)
-
- overlays_standing[EARS_LAYER] = ears.build_worn_icon(state = ears.icon_state, default_layer = EARS_LAYER, default_icon_file = 'icons/mob/ears.dmi')
+ overlays_standing[EARS_LAYER] = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = 'icons/mob/clothing/ears.dmi')
var/mutable_appearance/ears_overlay = overlays_standing[EARS_LAYER]
if(OFFSET_EARS in dna.species.offset_features)
ears_overlay.pixel_x += dna.species.offset_features[OFFSET_EARS][1]
@@ -275,7 +270,7 @@ There are several things that need to be remembered:
if(hud_used.inventory_shown) //if the inventory is open
client.screen += shoes //add it to client's screen
update_observer_view(shoes,1)
- overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(state = shoes.icon_state, default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/feet.dmi')
+ overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi')
var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER]
if(OFFSET_SHOES in dna.species.offset_features)
shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1]
@@ -300,7 +295,7 @@ There are several things that need to be remembered:
var/t_state = s_store.item_state
if(!t_state)
t_state = s_store.icon_state
- overlays_standing[SUIT_STORE_LAYER] = mutable_appearance('icons/mob/belt_mirror.dmi', t_state, -SUIT_STORE_LAYER)
+ overlays_standing[SUIT_STORE_LAYER] = mutable_appearance('icons/mob/clothing/belt_mirror.dmi', t_state, -SUIT_STORE_LAYER)
var/mutable_appearance/s_store_overlay = overlays_standing[SUIT_STORE_LAYER]
if(OFFSET_S_STORE in dna.species.offset_features)
s_store_overlay.pixel_x += dna.species.offset_features[OFFSET_S_STORE][1]
@@ -333,12 +328,7 @@ There are several things that need to be remembered:
if(client && hud_used && hud_used.hud_shown)
client.screen += belt
update_observer_view(belt)
-
- var/t_state = belt.item_state
- if(!t_state)
- t_state = belt.icon_state
-
- overlays_standing[BELT_LAYER] = belt.build_worn_icon(state = t_state, default_layer = BELT_LAYER, default_icon_file = 'icons/mob/belt.dmi')
+ overlays_standing[BELT_LAYER] = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = 'icons/mob/clothing/belt.dmi')
var/mutable_appearance/belt_overlay = overlays_standing[BELT_LAYER]
if(OFFSET_BELT in dna.species.offset_features)
belt_overlay.pixel_x += dna.species.offset_features[OFFSET_BELT][1]
@@ -362,8 +352,7 @@ There are several things that need to be remembered:
if(hud_used.inventory_shown)
client.screen += wear_suit
update_observer_view(wear_suit,1)
-
- overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = 'icons/mob/suit.dmi')
+ overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = 'icons/mob/clothing/suit.dmi')
var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER]
if(OFFSET_SUIT in dna.species.offset_features)
suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1]
@@ -504,12 +493,24 @@ generate/load female uniform sprites matching all previously decided variables
*/
-/obj/item/proc/build_worn_icon(var/state = "", var/default_layer = 0, var/default_icon_file = null, var/isinhands = FALSE, var/femaleuniform = NO_FEMALE_UNIFORM)
+/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null)
+
+ var/t_state
+ if(override_state)
+ t_state = override_state
+ else
+ if(isinhands && item_state)
+ t_state = item_state
+ else
+ t_state = icon_state
+ var/t_icon = mob_overlay_icon
+ if(!t_icon)
+ t_icon = default_icon_file
//Find a valid icon file from variables+arguments
var/file2use
- if(!isinhands && alternate_worn_icon)
- file2use = alternate_worn_icon
+ if(!isinhands && mob_overlay_icon)
+ file2use = mob_overlay_icon
if(!file2use)
file2use = default_icon_file
@@ -522,9 +523,9 @@ generate/load female uniform sprites matching all previously decided variables
var/mutable_appearance/standing
if(femaleuniform)
- standing = wear_female_version(state,file2use,layer2use,femaleuniform)
+ standing = wear_female_version(t_state,file2use,layer2use,femaleuniform)
if(!standing)
- standing = mutable_appearance(file2use, state, -layer2use)
+ standing = mutable_appearance(file2use, t_state, -layer2use)
//Get the overlays for this item when it's being worn
//eg: ammo counters, primed grenade flashes, etc.
@@ -665,4 +666,4 @@ generate/load female uniform sprites matching all previously decided variables
dna.species.handle_hair(src)
update_inv_head()
- update_inv_wear_mask()
\ No newline at end of file
+ update_inv_wear_mask()
diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm
index 735f4401053..bfec13792b0 100644
--- a/code/modules/mob/living/carbon/update_icons.dm
+++ b/code/modules/mob/living/carbon/update_icons.dm
@@ -69,15 +69,11 @@
observers = null
break
- var/t_state = I.item_state
- if(!t_state)
- t_state = I.icon_state
-
var/icon_file = I.lefthand_file
if(get_held_index_of_item(I) % 2 == 0)
icon_file = I.righthand_file
- hands += I.build_worn_icon(state = t_state, default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE)
+ hands += I.build_worn_icon(default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE)
overlays_standing[HANDS_LAYER] = hands
apply_overlay(HANDS_LAYER)
@@ -121,7 +117,7 @@
if(wear_mask)
if(!(SLOT_WEAR_MASK in check_obscured_slots()))
- overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(state = wear_mask.icon_state, default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/mask.dmi')
+ overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi')
update_hud_wear_mask(wear_mask)
apply_overlay(FACEMASK_LAYER)
@@ -135,7 +131,7 @@
if(wear_neck)
if(!(SLOT_NECK in check_obscured_slots()))
- overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(state = wear_neck.icon_state, default_layer = NECK_LAYER, default_icon_file = 'icons/mob/neck.dmi')
+ overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/clothing/neck.dmi')
update_hud_neck(wear_neck)
apply_overlay(NECK_LAYER)
@@ -148,7 +144,7 @@
inv.update_icon()
if(back)
- overlays_standing[BACK_LAYER] = back.build_worn_icon(state = back.icon_state, default_layer = BACK_LAYER, default_icon_file = 'icons/mob/back.dmi')
+ overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi')
update_hud_back(back)
apply_overlay(BACK_LAYER)
@@ -164,7 +160,7 @@
inv.update_icon()
if(head)
- overlays_standing[HEAD_LAYER] = head.build_worn_icon(state = head.icon_state, default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/head.dmi')
+ overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi')
update_hud_head(head)
apply_overlay(HEAD_LAYER)
diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm
index 420c59b22dd..cce936d2789 100644
--- a/code/modules/mob/living/inhand_holder.dm
+++ b/code/modules/mob/living/inhand_holder.dm
@@ -14,7 +14,7 @@
. = ..()
can_head = _can_head
if(head_icon)
- alternate_worn_icon = head_icon
+ mob_overlay_icon = head_icon
if(_worn_state)
item_state = _worn_state
if(lh_icon)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 3f853e9e3c3..b69329c0389 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -612,7 +612,7 @@
else
add_overlay("ov-opencover -c")
if(hat)
- var/mutable_appearance/head_overlay = hat.build_worn_icon(state = hat.icon_state, default_layer = 20, default_icon_file = 'icons/mob/head.dmi')
+ var/mutable_appearance/head_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/clothing/head.dmi')
head_overlay.pixel_y += hat_offset
add_overlay(head_overlay)
update_fire()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm
index 408edc71109..e1109992995 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm
@@ -28,12 +28,7 @@
var/y_shift = getItemPixelShiftY()
if(r_hand)
-
- var/r_state = r_hand.item_state
- if(!r_state)
- r_state = r_hand.icon_state
-
- var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
+ var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DRONE_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
if(y_shift)
r_hand_overlay.pixel_y += y_shift
@@ -46,12 +41,7 @@
client.screen |= r_hand
if(l_hand)
-
- var/l_state = l_hand.item_state
- if(!l_state)
- l_state = l_hand.icon_state
-
- var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
+ var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
if(y_shift)
l_hand_overlay.pixel_y += y_shift
@@ -82,10 +72,10 @@
if(client && hud_used && hud_used.hud_shown)
head.screen_loc = ui_drone_head
client.screen += head
- var/used_head_icon = 'icons/mob/head.dmi'
+ var/used_head_icon = 'icons/mob/clothing/head.dmi'
if(istype(head, /obj/item/clothing/mask))
- used_head_icon = 'icons/mob/mask.dmi'
- var/mutable_appearance/head_overlay = head.build_worn_icon(state = head.icon_state, default_layer = DRONE_HEAD_LAYER, default_icon_file = used_head_icon)
+ used_head_icon = 'icons/mob/clothing/mask.dmi'
+ var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = DRONE_HEAD_LAYER, default_icon_file = used_head_icon)
head_overlay.pixel_y -= 15
drone_overlays[DRONE_HEAD_LAYER] = head_overlay
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 589b9c4891e..6b06fc8eaff 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -281,11 +281,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
var/obj/item/r_hand = get_item_for_held_index(2)
if(r_hand)
- var/r_state = r_hand.item_state
- if(!r_state)
- r_state = r_hand.icon_state
-
- hands_overlays += r_hand.build_worn_icon(state = r_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
+ hands_overlays += r_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
r_hand.layer = ABOVE_HUD_LAYER
@@ -294,11 +290,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
client.screen |= r_hand
if(l_hand)
- var/l_state = l_hand.item_state
- if(!l_state)
- l_state = l_hand.icon_state
-
- hands_overlays += l_hand.build_worn_icon(state = l_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
+ hands_overlays += l_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
l_hand.layer = ABOVE_HUD_LAYER
diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm
index b3e0f3b658a..9d451748b05 100644
--- a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm
+++ b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm
@@ -33,14 +33,12 @@
var/obj/item/r_hand = get_item_for_held_index(2)
if(r_hand)
- var/r_state = r_hand.item_state ? r_hand.item_state : r_hand.icon_state
- var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
+ var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
r_hand_overlay.pixel_y -= 1
hands_overlays += r_hand_overlay
if(l_hand)
- var/l_state = l_hand.item_state ? l_hand.item_state : l_hand.icon_state
- var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
+ var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
l_hand_overlay.pixel_y -= 1
hands_overlays += l_hand_overlay
diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm
index a62f871f56f..6604bc200ff 100644
--- a/code/modules/ninja/suit/head.dm
+++ b/code/modules/ninja/suit/head.dm
@@ -9,4 +9,4 @@
strip_delay = 12
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
blockTracking = 1//Roughly the only unique thing about this helmet.
- flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
\ No newline at end of file
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 1c89c5707f3..48defba55dc 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -9,7 +9,6 @@
throw_speed = 3
throw_range = 7
materials = list(/datum/material/iron=60)
- item_color = "cargo"
pressure_resistance = 2
attack_verb = list("stamped")
@@ -20,52 +19,52 @@
/obj/item/stamp/qm
name = "quartermaster's rubber stamp"
icon_state = "stamp-qm"
- item_color = "qm"
+ dye_color = DYE_QM
/obj/item/stamp/law
name = "law office's rubber stamp"
icon_state = "stamp-law"
- item_color = "cargo"
+ dye_color = DYE_LAW
/obj/item/stamp/captain
name = "captain's rubber stamp"
icon_state = "stamp-cap"
- item_color = "captain"
+ dye_color = DYE_CAPTAIN
/obj/item/stamp/hop
name = "head of personnel's rubber stamp"
icon_state = "stamp-hop"
- item_color = "hop"
+ dye_color = DYE_HOP
/obj/item/stamp/hos
name = "head of security's rubber stamp"
icon_state = "stamp-hos"
- item_color = "hosred"
+ dye_color = DYE_HOS
/obj/item/stamp/ce
name = "chief engineer's rubber stamp"
icon_state = "stamp-ce"
- item_color = "chief"
+ dye_color = DYE_CE
/obj/item/stamp/rd
name = "research director's rubber stamp"
icon_state = "stamp-rd"
- item_color = "director"
+ dye_color = DYE_RD
/obj/item/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
- item_color = "cmo"
+ dye_color = DYE_CMO
/obj/item/stamp/denied
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
- item_color = "redcoat"
+ dye_color = DYE_REDCOAT
/obj/item/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
- item_color = "clown"
+ dye_color = DYE_CLOWN
/obj/item/stamp/attack_paw(mob/user)
return attack_hand(user)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index e6907154101..f0ea55fa478 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -368,7 +368,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
max_amount = MAXCOIL
amount = MAXCOIL
merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
- item_color = "red"
+ var/cable_color = "red"
desc = "A coil of insulated power cable."
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
@@ -389,8 +389,8 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
cost = 1
/obj/item/stack/cable_coil/cyborg/attack_self(mob/user)
- var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white")
- item_color = cable_color
+ var/picked = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white")
+ cable_color = picked
update_icon()
/obj/item/stack/cable_coil/suicide_act(mob/user)
@@ -450,7 +450,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
/obj/item/stack/cable_coil/proc/get_new_cable(location)
var/path = /obj/structure/cable
- return new path(location, item_color)
+ return new path(location, cable_color)
// called when cable_coil is clicked on a turf
/obj/item/stack/cable_coil/proc/place_turf(turf/T, mob/user, dirnew)
diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm
index 79f5ef83f9e..9b0f830b18d 100644
--- a/code/modules/power/pipecleaners.dm
+++ b/code/modules/power/pipecleaners.dm
@@ -160,7 +160,7 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/structure/pipe_cleaner/proc/update_stored(length = 1, colorC = "red")
stored.amount = length
- stored.item_color = colorC
+ stored.pipe_cleaner_color = colorC
stored.update_icon()
/obj/structure/pipe_cleaner/AltClick(mob/living/user)
@@ -189,7 +189,7 @@ By design, d1 is the smallest direction and d2 is the highest
max_amount = MAXCOIL
amount = MAXCOIL
merge_type = /obj/item/stack/pipe_cleaner_coil // This is here to let its children merge between themselves
- item_color = "red"
+ var/pipe_cleaner_color = "red"
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
@@ -210,7 +210,7 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/item/stack/pipe_cleaner_coil/cyborg/attack_self(mob/user)
var/pipe_cleaner_color = input(user,"Pick a pipe cleaner color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white")
- item_color = pipe_cleaner_color
+ pipe_cleaner_color = pipe_cleaner_color
update_icon()
/obj/item/stack/pipe_cleaner_coil/suicide_act(mob/user)
@@ -224,9 +224,9 @@ By design, d1 is the smallest direction and d2 is the highest
. = ..()
var/list/pipe_cleaner_colors = GLOB.pipe_cleaner_colors
- item_color = param_color || item_color || pick(pipe_cleaner_colors)
- if(pipe_cleaner_colors[item_color])
- item_color = pipe_cleaner_colors[item_color]
+ pipe_cleaner_color = param_color || pipe_cleaner_color || pick(pipe_cleaner_colors)
+ if(pipe_cleaner_colors[pipe_cleaner_color])
+ pipe_cleaner_color = pipe_cleaner_colors[pipe_cleaner_color]
pixel_x = rand(-2,2)
pixel_y = rand(-2,2)
@@ -241,7 +241,7 @@ By design, d1 is the smallest direction and d2 is the highest
icon_state = "[initial(item_state)][amount < 3 ? amount : ""]"
name = "pipe cleaner [amount < 3 ? "piece" : "coil"]"
color = null
- add_atom_colour(item_color, FIXED_COLOUR_PRIORITY)
+ add_atom_colour(pipe_cleaner_color, FIXED_COLOUR_PRIORITY)
/obj/item/stack/pipe_cleaner_coil/attack_hand(mob/user)
. = ..()
@@ -249,7 +249,7 @@ By design, d1 is the smallest direction and d2 is the highest
return
var/obj/item/stack/pipe_cleaner_coil/new_pipe_cleaner = ..()
if(istype(new_pipe_cleaner))
- new_pipe_cleaner.item_color = item_color
+ new_pipe_cleaner.pipe_cleaner_color = pipe_cleaner_color
new_pipe_cleaner.update_icon()
//add pipe_cleaners to the stack
@@ -268,7 +268,7 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/item/stack/pipe_cleaner_coil/proc/get_new_pipe_cleaner(location)
var/path = /obj/structure/pipe_cleaner
- return new path(location, item_color)
+ return new path(location, pipe_cleaner_color)
// called when pipe_cleaner_coil is clicked on a turf
/obj/item/stack/pipe_cleaner_coil/proc/place_turf(turf/T, mob/user, dirnew)
@@ -395,7 +395,7 @@ By design, d1 is the smallest direction and d2 is the highest
C.d2 = nd2
//updates the stored pipe_cleaner coil
- C.update_stored(2, item_color)
+ C.update_stored(2, pipe_cleaner_color)
C.add_fingerprint(user)
C.update_icon()
@@ -409,38 +409,38 @@ By design, d1 is the smallest direction and d2 is the highest
/////////////////////////////
/obj/item/stack/pipe_cleaner_coil/red
- item_color = "red"
+ pipe_cleaner_color = "red"
color = "#ff0000"
/obj/item/stack/pipe_cleaner_coil/yellow
- item_color = "yellow"
+ pipe_cleaner_color = "yellow"
color = "#ffff00"
/obj/item/stack/pipe_cleaner_coil/blue
- item_color = "blue"
+ pipe_cleaner_color = "blue"
color = "#1919c8"
/obj/item/stack/pipe_cleaner_coil/green
- item_color = "green"
+ pipe_cleaner_color = "green"
color = "#00aa00"
/obj/item/stack/pipe_cleaner_coil/pink
- item_color = "pink"
+ pipe_cleaner_color = "pink"
color = "#ff3ccd"
/obj/item/stack/pipe_cleaner_coil/orange
- item_color = "orange"
+ pipe_cleaner_color = "orange"
color = "#ff8000"
/obj/item/stack/pipe_cleaner_coil/cyan
- item_color = "cyan"
+ pipe_cleaner_color = "cyan"
color = "#00ffff"
/obj/item/stack/pipe_cleaner_coil/white
- item_color = "white"
+ pipe_cleaner_color = "white"
/obj/item/stack/pipe_cleaner_coil/random
- item_color = null
+ pipe_cleaner_color = null
color = "#ffffff"
@@ -460,36 +460,36 @@ By design, d1 is the smallest direction and d2 is the highest
update_icon()
/obj/item/stack/pipe_cleaner_coil/cut/red
- item_color = "red"
+ pipe_cleaner_color = "red"
color = "#ff0000"
/obj/item/stack/pipe_cleaner_coil/cut/yellow
- item_color = "yellow"
+ pipe_cleaner_color = "yellow"
color = "#ffff00"
/obj/item/stack/pipe_cleaner_coil/cut/blue
- item_color = "blue"
+ pipe_cleaner_color = "blue"
color = "#1919c8"
/obj/item/stack/pipe_cleaner_coil/cut/green
- item_color = "green"
+ pipe_cleaner_color = "green"
color = "#00aa00"
/obj/item/stack/pipe_cleaner_coil/cut/pink
- item_color = "pink"
+ pipe_cleaner_color = "pink"
color = "#ff3ccd"
/obj/item/stack/pipe_cleaner_coil/cut/orange
- item_color = "orange"
+ pipe_cleaner_color = "orange"
color = "#ff8000"
/obj/item/stack/pipe_cleaner_coil/cut/cyan
- item_color = "cyan"
+ pipe_cleaner_color = "cyan"
color = "#00ffff"
/obj/item/stack/pipe_cleaner_coil/cut/white
- item_color = "white"
+ pipe_cleaner_color = "white"
/obj/item/stack/pipe_cleaner_coil/cut/random
- item_color = null
+ pipe_cleaner_color = null
color = "#ffffff"
diff --git a/icons/mob/accessories.dmi b/icons/mob/clothing/accessories.dmi
similarity index 100%
rename from icons/mob/accessories.dmi
rename to icons/mob/clothing/accessories.dmi
diff --git a/icons/mob/back.dmi b/icons/mob/clothing/back.dmi
similarity index 100%
rename from icons/mob/back.dmi
rename to icons/mob/clothing/back.dmi
diff --git a/icons/mob/belt.dmi b/icons/mob/clothing/belt.dmi
similarity index 100%
rename from icons/mob/belt.dmi
rename to icons/mob/clothing/belt.dmi
diff --git a/icons/mob/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi
similarity index 100%
rename from icons/mob/belt_mirror.dmi
rename to icons/mob/clothing/belt_mirror.dmi
diff --git a/icons/mob/ears.dmi b/icons/mob/clothing/ears.dmi
similarity index 100%
rename from icons/mob/ears.dmi
rename to icons/mob/clothing/ears.dmi
diff --git a/icons/mob/eyes.dmi b/icons/mob/clothing/eyes.dmi
similarity index 100%
rename from icons/mob/eyes.dmi
rename to icons/mob/clothing/eyes.dmi
diff --git a/icons/mob/feet.dmi b/icons/mob/clothing/feet.dmi
similarity index 100%
rename from icons/mob/feet.dmi
rename to icons/mob/clothing/feet.dmi
diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi
new file mode 100644
index 00000000000..1b9d67fcbb7
Binary files /dev/null and b/icons/mob/clothing/hands.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/clothing/head.dmi
similarity index 100%
rename from icons/mob/head.dmi
rename to icons/mob/clothing/head.dmi
diff --git a/icons/mob/mask.dmi b/icons/mob/clothing/mask.dmi
similarity index 100%
rename from icons/mob/mask.dmi
rename to icons/mob/clothing/mask.dmi
diff --git a/icons/mob/neck.dmi b/icons/mob/clothing/neck.dmi
similarity index 100%
rename from icons/mob/neck.dmi
rename to icons/mob/clothing/neck.dmi
diff --git a/icons/mob/suit.dmi b/icons/mob/clothing/suit.dmi
similarity index 100%
rename from icons/mob/suit.dmi
rename to icons/mob/clothing/suit.dmi
diff --git a/icons/mob/underwear.dmi b/icons/mob/clothing/underwear.dmi
similarity index 100%
rename from icons/mob/underwear.dmi
rename to icons/mob/clothing/underwear.dmi
diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi
new file mode 100644
index 00000000000..de2df185e8b
Binary files /dev/null and b/icons/mob/clothing/uniform.dmi differ
diff --git a/icons/mob/wings.dmi b/icons/mob/clothing/wings.dmi
similarity index 100%
rename from icons/mob/wings.dmi
rename to icons/mob/clothing/wings.dmi
diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi
deleted file mode 100644
index c41cdf06d0c..00000000000
Binary files a/icons/mob/hands.dmi and /dev/null differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
deleted file mode 100644
index 00fbde40af6..00000000000
Binary files a/icons/mob/uniform.dmi and /dev/null differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index edabe04584a..38bf906c620 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 5c31d92ad59..d64c5741a86 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -40,6 +40,7 @@
#include "code\__DEFINES\cult.dm"
#include "code\__DEFINES\diseases.dm"
#include "code\__DEFINES\DNA.dm"
+#include "code\__DEFINES\dye_keys.dm"
#include "code\__DEFINES\economy.dm"
#include "code\__DEFINES\events.dm"
#include "code\__DEFINES\exports.dm"