diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_clownfacility.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_clownfacility.dmm
index 223363bbb595..c6ca0c00762e 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_clownfacility.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_clownfacility.dmm
@@ -59,7 +59,7 @@
/area/ruin/unpowered)
"an" = (
/obj/structure/closet/malf,
-/obj/item/clothing/gloves/color/rainbow/clown,
+/obj/item/clothing/gloves/color/rainbow,
/obj/item/clothing/mask/gas/clown_hat,
/obj/item/clothing/shoes/clown_shoes,
/obj/item/clothing/under/rank/clown,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cursedtoyshop.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cursedtoyshop.dmm
index 83b65f24781b..ef4d9f183223 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cursedtoyshop.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cursedtoyshop.dmm
@@ -56,7 +56,7 @@
/obj/item/clothing/shoes/clown_shoes,
/obj/item/clothing/under/rank/clown,
/obj/item/storage/backpack/clown,
-/obj/item/clothing/gloves/color/rainbow/clown,
+/obj/item/clothing/gloves/color/rainbow,
/turf/open/floor/wood,
/area/ruin/powered)
"ak" = (
diff --git a/_maps/RandomRuins/StationRuins/maint/5x4/5x4_shoestore.dmm b/_maps/RandomRuins/StationRuins/maint/5x4/5x4_shoestore.dmm
index fa324992ab7c..e9ee8acafb4f 100644
--- a/_maps/RandomRuins/StationRuins/maint/5x4/5x4_shoestore.dmm
+++ b/_maps/RandomRuins/StationRuins/maint/5x4/5x4_shoestore.dmm
@@ -38,7 +38,7 @@
pixel_x = 12;
pixel_y = 7
},
-/obj/item/clothing/shoes/yogs/fire_crocs{
+/obj/item/clothing/shoes/fire_crocs{
pixel_x = 30;
pixel_y = 13
},
diff --git a/code/__DEFINES/dye_keys.dm b/code/__DEFINES/dye_keys.dm
new file mode 100644
index 000000000000..133f9c47d340
--- /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 69929b66c9d1..c31bd20e18c1 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -146,7 +146,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])
@@ -172,4 +171,4 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
round_credits += "
"
round_credits += ..()
- return round_credits
\ No newline at end of file
+ return round_credits
diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm
index a2cd924fa114..5e806bcc4beb 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 = SHARP_NONE
- item_color = "yellow"
+ saber_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 030f98a503f1..f5be6a2e1645 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -1,3 +1,110 @@
+//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/mime,
+ DYE_CLOWN = /obj/item/clothing/under/rank/clown,
+ DYE_QM = /obj/item/clothing/under/rank/chief_medical_officer,
+ DYE_LAW = /obj/item/clothing/under/lawyer/blacksuit,
+ DYE_CAPTAIN = /obj/item/clothing/under/rank/captain,
+ DYE_HOP = /obj/item/clothing/under/rank/head_of_personnel,
+ DYE_HOS = /obj/item/clothing/under/rank/head_of_security,
+ DYE_CE = /obj/item/clothing/under/rank/chief_engineer,
+ DYE_RD = /obj/item/clothing/under/rank/research_director,
+ DYE_CMO = /obj/item/clothing/under/rank/chief_medical_officer,
+ DYE_REDCOAT = /obj/item/clothing/under/redcoat
+ ),
+ DYE_REGISTRY_JUMPSKIRT = list(
+ DYE_RED = /obj/item/clothing/under/skirt/color/red,
+ DYE_ORANGE = /obj/item/clothing/under/skirt/color/orange,
+ DYE_YELLOW = /obj/item/clothing/under/skirt/color/yellow,
+ DYE_GREEN = /obj/item/clothing/under/skirt/color/green,
+ DYE_BLUE = /obj/item/clothing/under/skirt/color/blue,
+ DYE_PURPLE = /obj/item/clothing/under/skirt/color/lightpurple,
+ DYE_BLACK = /obj/item/clothing/under/skirt/color/black,
+ DYE_WHITE = /obj/item/clothing/under/skirt/color/white
+ ),
+ 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!"
@@ -12,23 +119,18 @@
/obj/machinery/washing_machine/examine(mob/user)
. = ..()
- . += span_notice("Alt-click it to start a wash cycle.")
+ if(!busy)
+ . += span_notice("Alt-click it to start a wash cycle.")
/obj/machinery/washing_machine/AltClick(mob/user)
- if(!user.canUseTopic(src, !issilicon(user)))
- return
-
- if(busy)
+ if(!user.canUseTopic(src, !issilicon(user)) || busy)
return
-
if(state_open)
to_chat(user, span_notice("Close the door first"))
return
-
if(bloody_mess)
to_chat(user, span_warning("[src] must be cleaned up first."))
return
-
busy = TRUE
update_icon()
addtimer(CALLBACK(src, .proc/wash_cycle), 200)
@@ -71,6 +173,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
@@ -83,137 +208,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."
/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)
@@ -223,8 +244,6 @@
add_fingerprint(user)
open_machine()
-
-
/obj/machinery/washing_machine/update_icon()
cut_overlays()
if(busy)
@@ -249,21 +268,21 @@
if (!state_open)
to_chat(user, span_warning("Open the door first!"))
- return 1
+ return TRUE
if(bloody_mess)
to_chat(user, span_warning("[src] must be cleaned up first."))
- return 1
+ return TRUE
if(contents.len >= max_wash_capacity)
to_chat(user, span_warning("The washing machine is full!"))
- return 1
+ return TRUE
if(!user.transferItemToLoc(W, src))
to_chat(user, span_warning("\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 00a77dccffd0..da76aef280f6 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -8,10 +8,19 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
name = "item"
icon = 'icons/obj/misc.dmi'
blocks_emissive = EMISSIVE_BLOCK_GENERIC
+ ///icon state name for inhand 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
@@ -21,10 +30,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
obj_flags = NONE
@@ -62,8 +67,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
@@ -116,6 +119,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!
@@ -878,6 +888,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
if(ismob(loc))
var/mob/mob_loc = loc
mob_loc.regenerate_icons()
+
/**
* Called when this object is first embedded into a carbon
*/
diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm
index 458fd4f5f981..da0e1b9891fb 100644
--- a/code/game/objects/items/RCL.dm
+++ b/code/game/objects/items/RCL.dm
@@ -190,7 +190,7 @@
return //If we've run out, display message and exit
else
last = null
- loaded.item_color = colors[current_color_index]
+ loaded.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.color = colors[current_color_index]
var/obj/structure/cable/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.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 bf6606b1d192..13fff3cb5fd8 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)
@@ -422,67 +424,77 @@
/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))
@@ -518,12 +530,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 ccf94f34b4b7..d39186f4e327 100644
--- a/code/game/objects/items/documents.dm
+++ b/code/game/objects/items/documents.dm
@@ -51,8 +51,8 @@
to_chat(user, span_warning("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, span_notice("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, span_notice("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 69fa372d66cf..498fe1ae8d01 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -1,6 +1,7 @@
/obj/item/restraints
icon = 'icons/obj/handcuffs.dmi'
breakouttime = 600
+ mob_overlay_icon = 'icons/mob/restraints.dmi'
var/break_strength = 2 // Minimum strength required for a holopara to break it
/obj/item/restraints/suicide_act(mob/living/carbon/user)
@@ -27,6 +28,7 @@
desc = "Use this to keep prisoners in line."
gender = PLURAL
icon_state = "handcuff"
+ item_state = "handcuff"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags_1 = CONDUCT_1
@@ -104,18 +106,14 @@
desc = "A pair of restraints fashioned from long strands of flesh."
icon = 'icons/obj/mining.dmi'
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"
+ icon_state = "zipties"
+ item_state = "zipties"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
materials = list(/datum/material/iron=150, /datum/material/glass=75)
@@ -123,49 +121,29 @@
break_strength = 2
cuffsound = 'sound/weapons/cablecuff.ogg'
-/obj/item/restraints/handcuffs/cable/Initialize(mapload, param_color)
- . = ..()
-
- var/list/cable_colors = GLOB.cable_colors
- item_color = param_color || item_color || pick(cable_colors)
- if(cable_colors[item_color])
- item_color = cable_colors[item_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"
@@ -210,19 +188,17 @@
/obj/item/restraints/handcuffs/cable/zipties
name = "zipties"
desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
- icon_state = "cuff"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
materials = list()
breakouttime = 450 //Deciseconds = 45s
trashtype = /obj/item/restraints/handcuffs/cable/zipties/used
- item_color = "white"
+ color = null
break_strength = 3
/obj/item/restraints/handcuffs/cable/zipties/used
desc = "A pair of broken zipties."
- icon_state = "cuff_used"
- item_state = "cuff"
+ icon_state = "zipties_used"
/obj/item/restraints/handcuffs/cable/zipties/used/attack()
return
@@ -234,6 +210,7 @@
desc = "Use this to keep prisoners in line."
gender = PLURAL
icon_state = "handcuff"
+ item_state = "legcuff"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags_1 = CONDUCT_1
diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm
index 7f36c23ab028..f729e0a393ff 100644
--- a/code/game/objects/items/holy_weapons.dm
+++ b/code/game/objects/items/holy_weapons.dm
@@ -134,7 +134,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 182a674bcce5..fd79c112c9b1 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 f3e66d2c08b7..280fbb7cd33a 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 84c23f875f30..c0f1a7af7540 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 25c3a12cda61..17db84ab385e 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 ab91c4d90f4c..4d4c49230a00 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/saber_color = null
/obj/item/melee/transforming/energy/Initialize()
. = ..()
@@ -36,8 +37,8 @@
. = ..()
if(.)
if(active)
- if(item_color)
- icon_state = "sword[item_color]"
+ if(saber_color)
+ icon_state = "sword[saber_color]"
START_PROCESSING(SSobj, src)
set_light(brightness_on)
else
@@ -101,11 +102,12 @@
embedding = list("embed_chance" = 75, "embedded_impact_pain_multiplier" = 10)
armour_penetration = 35
block_chance = 50
+ saber_color = "green"
/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 && saber_color)
+ icon_state = "sword[saber_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 +115,7 @@
return 0
/obj/item/melee/transforming/energy/sword/cyborg
- item_color = "red"
+ saber_color = "red"
var/hitcost = 50
/obj/item/melee/transforming/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R)
@@ -134,7 +136,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.
+ saber_color = null //stops icon from breaking when turned on.
hitcost = 75 //Costs more than a standard cyborg esword
w_class = WEIGHT_CLASS_NORMAL
sharpness = SHARP_EDGED
@@ -157,7 +159,7 @@
. = ..()
if(LAZYLEN(possible_colors))
var/set_color = pick(possible_colors)
- item_color = set_color
+ saber_color = set_color
light_color = possible_colors[set_color]
/obj/item/melee/transforming/energy/sword/saber/process()
@@ -183,7 +185,7 @@
if(W.tool_behaviour == TOOL_MULTITOOL)
if(!hacked)
hacked = TRUE
- item_color = "rainbow"
+ saber_color = "rainbow"
to_chat(user, span_warning("RNBW_ENGAGE"))
if(active)
diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm
index 8f79ec14bd66..b1b5124b2827 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/artstuff.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 46ad5ae11cd8..6a5c616cbc9e 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 b10632fa75b2..bf942bb8e7e7 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 = 75
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index f64389e32490..a7d30ed70cd2 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -218,7 +218,7 @@
else if(istype(O, /obj/item/restraints/handcuffs/cable))
var/obj/item/cuffs = O
- cuffs.item_color = item_color
+ cuffs.color = color
cuffs.update_icon()
if (QDELETED(O))
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 468743fa477c..ffe980727038 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -742,7 +742,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()
@@ -755,61 +755,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/toys.dm b/code/game/objects/items/toys.dm
index ee04a896974b..2de7ac154b19 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -260,18 +260,15 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "struck", "hit")
var/hacked = FALSE
+ var/saber_color = "blue"
/obj/item/toy/sword/attack_self(mob/user)
active = !( active )
if (active)
to_chat(user, span_notice("You extend the plastic blade with a quick flick of your wrist."))
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
- if(hacked)
- icon_state = "swordrainbow"
- item_state = "swordrainbow"
- else
- icon_state = "swordblue"
- item_state = "swordblue"
+ icon_state = "sword[saber_color]"
+ item_state = "sword[saber_color]"
w_class = WEIGHT_CLASS_BULKY
else
to_chat(user, span_notice("You push the plastic blade back down into the handle."))
@@ -292,13 +289,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, span_warning("RNBW_ENGAGE"))
if(active)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index c955ff525274..91984b0bf09d 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -308,7 +308,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
@@ -349,8 +349,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")
@@ -366,7 +366,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_TYPE_BLOOD)
@@ -473,7 +473,7 @@
if(!hacked)
hacked = TRUE
to_chat(user, span_warning("2XRNBW_ENGAGE"))
- item_color = "rainbow"
+ saber_color = "rainbow"
update_icon()
else
to_chat(user, span_warning("It's starting to look like a triple rainbow - no, nevermind."))
@@ -543,7 +543,7 @@
force += 1
throwforce += 1
righthand_file = 'yogstation/icons/mob/inhands/weapons/polearms_righthand.dmi' //yogs
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi' //yogs
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi' //yogs
icon_prefix = "spearplasma"
update_icon()
qdel(tip)
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index df88298597f9..b4210e5ea00d 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -10,6 +10,7 @@ LINEN BINS
icon = 'icons/obj/bedsheets.dmi'
lefthand_file = 'icons/mob/inhands/misc/bedsheet_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/bedsheet_righthand.dmi'
+ mob_overlay_icon = 'icons/mob/clothing/neck/sheets.dmi'
icon_state = "sheetwhite"
item_state = "sheetwhite"
slot_flags = ITEM_SLOT_NECK
@@ -18,8 +19,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
var/newbedpath = null
dog_fashion = /datum/dog_fashion/head/ghost
@@ -36,7 +37,6 @@ LINEN BINS
sheet.name = name
sheet.icon_state = icon_state
sheet.item_state = item_state
- sheet.item_color = item_color
sheet.dream_messages = dream_messages
qdel(src)
user.put_in_active_hand(sheet)
@@ -76,34 +76,29 @@ LINEN BINS
/obj/item/bedsheet/blue
icon_state = "sheetblue"
item_state = "sheetblue"
- item_color = "blue"
dream_messages = list("blue")
newbedpath = /obj/item/bedsheet/adjusted/blue
/obj/item/bedsheet/green
icon_state = "sheetgreen"
item_state = "sheetgreen"
- item_color = "green"
dream_messages = list("green")
newbedpath = /obj/item/bedsheet/adjusted/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")
newbedpath = /obj/item/bedsheet/adjusted/orange
/obj/item/bedsheet/purple
icon_state = "sheetpurple"
item_state = "sheetpurple"
- item_color = "purple"
dream_messages = list("purple")
newbedpath = /obj/item/bedsheet/adjusted/purple
@@ -112,7 +107,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
@@ -120,21 +114,18 @@ 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")
newbedpath = /obj/item/bedsheet/adjusted/rainbow
/obj/item/bedsheet/red
icon_state = "sheetred"
item_state = "sheetred"
- item_color = "red"
dream_messages = list("red")
newbedpath = /obj/item/bedsheet/adjusted/red
/obj/item/bedsheet/yellow
icon_state = "sheetyellow"
item_state = "sheetyellow"
- item_color = "yellow"
dream_messages = list("yellow")
newbedpath = /obj/item/bedsheet/adjusted/yellow
@@ -143,7 +134,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")
newbedpath = /obj/item/bedsheet/adjusted/mime
@@ -152,7 +142,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")
newbedpath = /obj/item/bedsheet/adjusted/clown
@@ -161,7 +150,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")
newbedpath = /obj/item/bedsheet/adjusted/captain
@@ -170,7 +158,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")
newbedpath = /obj/item/bedsheet/adjusted/rd
@@ -185,7 +172,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")
newbedpath = /obj/item/bedsheet/adjusted/medical
@@ -194,7 +180,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
@@ -202,7 +187,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")
newbedpath = /obj/item/bedsheet/adjusted/hos
@@ -211,7 +195,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")
newbedpath = /obj/item/bedsheet/adjusted/hop
@@ -220,7 +203,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")
newbedpath = /obj/item/bedsheet/adjusted/ce
@@ -229,20 +211,17 @@ 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")
newbedpath = /obj/item/bedsheet/adjusted/brown
/obj/item/bedsheet/black
icon_state = "sheetblack"
item_state = "sheetblack"
- item_color = "black"
dream_messages = list("black")
/obj/item/bedsheet/centcom
@@ -250,7 +229,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
@@ -258,7 +236,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
@@ -266,7 +243,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
@@ -274,7 +250,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
@@ -282,13 +257,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
@@ -296,14 +269,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!"
@@ -315,7 +286,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/bloodsuckers/powers/cloak.dm b/code/modules/antagonists/bloodsuckers/powers/cloak.dm
index 7d119a9a9bf6..409a133e23a4 100644
--- a/code/modules/antagonists/bloodsuckers/powers/cloak.dm
+++ b/code/modules/antagonists/bloodsuckers/powers/cloak.dm
@@ -88,7 +88,7 @@
name = "cloak of shadows"
desc = "Fancy stuff."
icon = 'icons/obj/vamp_obj.dmi'
- alternate_worn_icon = 'icons/obj/vamp_obj.dmi'
+ mob_overlay_icon = 'icons/obj/vamp_obj.dmi'
icon_state = "cloak"
item_state = "cloak"
armor = list("melee" = 0, "bullet" = 0, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 100) //good if you haven nothing
@@ -118,4 +118,4 @@
. = ..()
var/obj/item/I = owner.get_item_by_slot(SLOT_NECK)
if(istype(I, /obj/item/clothing/neck/yogs/sith_cloak/cloak))
- qdel(I)
\ No newline at end of file
+ qdel(I)
diff --git a/code/modules/antagonists/bloodsuckers/powers/gangrel.dm b/code/modules/antagonists/bloodsuckers/powers/gangrel.dm
index 94a40f379e7e..9d3850ac4bc4 100644
--- a/code/modules/antagonists/bloodsuckers/powers/gangrel.dm
+++ b/code/modules/antagonists/bloodsuckers/powers/gangrel.dm
@@ -540,7 +540,7 @@
icon_state = "collar"
item_state = "collar"
icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
- alternate_worn_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
+ mob_overlay_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
armor = list("melee" = 0, "bullet" = 0, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 100)
body_parts_covered = NECK
@@ -550,7 +550,7 @@
icon_state = "ears"
item_state = "ears"
icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
- alternate_worn_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
+ mob_overlay_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
armor = list("melee" = 0, "bullet" = 0, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 100)
flags_inv = HIDEHAIR|HIDEFACE
alternate_worn_layer = ABOVE_BODY_FRONT_LAYER
@@ -561,7 +561,7 @@
icon_state = "claws"
item_state = "claws"
icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
- alternate_worn_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
+ mob_overlay_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
body_parts_covered = ARMS|HANDS
flags_inv = HIDEJUMPSUIT
var/datum/action/bloodsucker/targeted/tear/tearaction = new
@@ -572,7 +572,7 @@
icon_state = "legs"
item_state = "legs"
icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
- alternate_worn_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
+ mob_overlay_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
slowdown = SHOES_SLOWDOWN - 0.5
body_parts_covered = GROIN|LEGS|FEET
@@ -582,7 +582,7 @@
icon_state = "digilegs"
item_state = "digilegs"
icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
- alternate_worn_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
+ mob_overlay_icon = 'icons/mob/actions/actions_gangrel_bloodsucker.dmi'
slowdown = SHOES_SLOWDOWN - 0.5
xenoshoe = YES_DIGIT
body_parts_covered = GROIN|LEGS|FEET
diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm
index db5c4a6e474b..2646459bd0c3 100644
--- a/code/modules/antagonists/changeling/changeling.dm
+++ b/code/modules/antagonists/changeling/changeling.dm
@@ -310,7 +310,6 @@
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
diff --git a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm
index 8c4e1b3a2f1c..5a5afc1d9088 100644
--- a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm
+++ b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm
@@ -72,6 +72,7 @@
name = "replicant manacles"
desc = "Heavy manacles made out of freezing-cold metal. It looks like brass, but feels much more solid."
icon_state = "brass_manacles"
+ item_state = "brass_manacles"
item_flags = DROPDEL
/obj/item/restraints/handcuffs/clockwork/dropped(mob/user)
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
index 96a2abb6aa27..4836613e3e6c 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 33e2777d8c1b..a3d0dbdf582b 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 5c4d2ad7e2ee..66ce4ad7cc74 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -219,8 +219,7 @@
if(isitem(target))
var/obj/item/I = target
I.item_state = initial(picked_item.item_state)
- I.item_color = initial(picked_item.item_color)
- I.alternate_worn_icon = initial(picked_item.alternate_worn_icon)
+ I.mob_overlay_icon = initial(picked_item.mob_overlay_icon)
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
@@ -263,7 +262,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
@@ -281,7 +279,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()
. = ..()
@@ -408,7 +405,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)
@@ -519,7 +515,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
@@ -550,7 +545,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 4391e3621f34..129f457954ea 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -293,13 +293,13 @@ BLIND // can't see anything
/proc/generate_female_clothing(index,t_color,icon,type) //In a shellnut, blends the uniform sprite with a pre-made sprite in uniform.dmi that's mostly white pixels with a few empty ones to trim off the pixels in the empty spots
var/icon/female_clothing_icon = icon(icon, t_color) // and make the uniform the "female" shape. female_s is either the top-only one (for jumpskirts and the like) or the full one (for jumpsuits)
- var/icon/female_s = icon('icons/mob/uniform.dmi', "[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]")
+ var/icon/female_s = icon('icons/effects/clothing.dmi', "[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]")
female_clothing_icon.Blend(female_s, ICON_MULTIPLY)
GLOB.female_clothing_icons[index] = fcopy_rsc(female_clothing_icon) //Then it saves the icon in a global list so it doesn't have to make it again
/proc/generate_skinny_clothing(index,t_color,icon,type) //Works the exact same as above but for skinny people
var/icon/skinny_clothing_icon = icon(icon, t_color)
- var/icon/skinny_s = icon('icons/mob/uniform.dmi', "[(type == FEMALE_UNIFORM_FULL) ? "skinny_full" : "skinny_top"]") //Hooks into same check to see if it's eligible
+ var/icon/skinny_s = icon('icons/effects/clothing.dmi', "[(type == FEMALE_UNIFORM_FULL) ? "skinny_full" : "skinny_top"]") //Hooks into same check to see if it's eligible
skinny_clothing_icon.Blend(skinny_s, ICON_MULTIPLY)
GLOB.skinny_clothing_icons[index] = fcopy_rsc(skinny_clothing_icon)
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index f2be9aff8c6e..a3f273bbcc09 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -322,7 +322,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/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 891d72d95e61..ed9be54ef292 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -1,3 +1,7 @@
+/obj/item/clothing/gloves/color
+ dying_key = DYE_REGISTRY_GLOVES
+
+/obj/item/clothing/gloves/color/yellow
/obj/item/clothing/gloves/color/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
@@ -5,7 +9,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 +18,6 @@
item_state = "ygloves"
siemens_coefficient = 0
permeability_coefficient = 0.05
- item_color = "yellow"
resistance_flags = NONE
var/damaged = FALSE
@@ -37,7 +39,6 @@
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
@@ -51,12 +52,6 @@
icon_state = "forensic"
can_be_cut = 0
-/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.
-
/obj/item/clothing/gloves/color/black/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WIRECUTTER)
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
@@ -86,14 +81,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
@@ -108,68 +101,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
@@ -198,7 +171,6 @@
item_state = "lgloves"
siemens_coefficient = 0.3
permeability_coefficient = 0.01
- item_color="mime"
transfer_prints = TRUE
resistance_flags = NONE
var/carrytrait = TRAIT_QUICK_CARRY
@@ -208,7 +180,6 @@
desc = "Pricey sterile gloves that are stronger than latex. Transfers intimate paramedic knowledge into the user via nanochips."
icon_state = "nitrile"
item_state = "nitrilegloves"
- item_color = "cmo"
transfer_prints = FALSE
carrytrait = TRAIT_QUICKER_CARRY
@@ -226,10 +197,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/knifeboxing.dm b/code/modules/clothing/gloves/knifeboxing.dm
index 938e322bdae0..c42616477c44 100644
--- a/code/modules/clothing/gloves/knifeboxing.dm
+++ b/code/modules/clothing/gloves/knifeboxing.dm
@@ -2,6 +2,6 @@
name = "knife gloves"
desc = "I'm here to punch people in the face with knives."
icon = 'icons/obj/clothing/gloves.dmi'
- alternate_worn_icon = 'icons/mob/hands.dmi'
+ mob_overlay_icon = 'icons/mob/clothing/hands/hands.dmi'
icon_state = "knife_boxing"
item_state = "knife_boxing"
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 7447108793e6..45552336cccd 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 da676d9d763f..ed06e0202670 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,39 +54,32 @@
/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"
//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 bc4f6bebb8cb..ef8239f0dfc8 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -3,9 +3,11 @@
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
icon_state = "hardhat0_yellow"
item_state = "hardhat0_yellow"
+ mob_overlay_icon = 'icons/mob/clothing/head/head.dmi'
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)
+ //Determines used sprites: hardhat[on]_[hat_type]
+ var/hat_type = "yellow"
armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50, WOUND = 10)
flags_inv = 0
actions_types = list(/datum/action/item_action/toggle_helmet_light)
@@ -26,8 +28,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()
@@ -45,13 +47,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
@@ -63,7 +65,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
@@ -74,13 +76,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."
@@ -124,9 +126,9 @@
/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands)
. = ..()
if(!isinhands)
- . += mutable_appearance('icons/mob/head.dmi', "weldhelmet")
+ . += mutable_appearance(mob_overlay_icon, "weldhelmet")
if(!up)
- . += mutable_appearance('icons/mob/head.dmi', "weldvisor")
+ . += mutable_appearance(mob_overlay_icon, "weldvisor")
/obj/item/clothing/head/hardhat/weldhat/update_icon()
cut_overlays()
@@ -137,14 +139,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
@@ -154,4 +156,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 e6cdf9b9dfac..1aceaaae6ceb 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -173,7 +173,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, WOUND = 5)
//Security
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index cdc5833ffa01..db7a591f4b45 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -41,7 +41,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)
@@ -112,7 +112,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"
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)
brightness_on = 2 //luminosity when on
@@ -161,7 +161,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 e6bb71b023f8..e4f808741a00 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -3,15 +3,16 @@
desc = "It's a baseball hat in a tasteless yellow colour."
icon_state = "cargosoft"
item_state = "helmet"
- item_color = "cargo"
+ //Determines used sprites: [soft_type]soft
+ var/soft_type = "cargo"
dog_fashion = /datum/dog_fashion/head/cargo_tech
- var/flipped = 0
+ var/flipped = FALSE
/obj/item/clothing/head/soft/dropped()
- src.icon_state = "[item_color]soft"
- src.flipped=0
+ icon_state = "[soft_type]soft"
+ flipped = FALSE
..()
/obj/item/clothing/head/soft/verb/flipcap()
@@ -31,12 +32,12 @@
/obj/item/clothing/head/soft/proc/flip(mob/user)
if(!user.incapacitated())
- src.flipped = !src.flipped
- if(src.flipped)
- icon_state = "[item_color]soft_flipped"
+ flipped = !flipped
+ if(flipped)
+ icon_state = "[soft_type]soft_flipped"
to_chat(user, span_notice("You flip the hat backwards."))
else
- icon_state = "[item_color]soft"
+ icon_state = "[soft_type]soft"
to_chat(user, span_notice("You flip the hat back in normal position."))
usr.update_inv_head() //so our mob-overlays update
@@ -48,77 +49,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,12 +128,12 @@
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
/obj/item/clothing/head/soft/emt/green
name = "green EMT cap"
desc = "It's a baseball hat with a green color and a reflective cross on the top."
icon_state = "emtgrsoft"
- item_color = "emtgr"
+ soft_type = "emtgr"
dog_fashion = null
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index e1cf59877f98..3b6f7a655cfd 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 9579b29d7426..4a1a60dc047f 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -137,7 +137,7 @@
/obj/item/clothing/mask/cowmask
name = "cow mask"
- icon = 'icons/mob/mask.dmi'
+ icon = 'icons/mob/clothing/mask/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 f4deb64f030c..c3e2087faafb 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(span_suicide("[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 has a little bell!"
icon_state = "petcollar"
- item_color = "petcollar"
var/tagname = null
/obj/item/clothing/neck/petcollar/Initialize()
@@ -215,7 +192,6 @@
/obj/item/clothing/neck/artist
name = "post-modern scarf"
icon_state = "artist"
- item_color = "artist"
custom_price = 10
//////////////
@@ -227,7 +203,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
@@ -237,7 +212,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(mob_overlay_icon, icon_state)
realOverlay.pixel_y = -3
. += realOverlay
diff --git a/code/modules/clothing/neck/skillcapes/skillcapes.dm b/code/modules/clothing/neck/skillcapes/skillcapes.dm
index cca75227deb8..d7db45e67750 100644
--- a/code/modules/clothing/neck/skillcapes/skillcapes.dm
+++ b/code/modules/clothing/neck/skillcapes/skillcapes.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/clothing/skillcapes.dmi'
icon_state = "ghost-skillcape"
item_state = "ghost-skillcape"
+ mob_overlay_icon = 'icons/mob/clothing/neck/skillcapes.dmi'
w_class = WEIGHT_CLASS_SMALL
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDESUITSTORAGE
diff --git a/code/modules/clothing/outfits/amber.dm b/code/modules/clothing/outfits/amber.dm
index 581dbc90be04..d5e2a63d128e 100644
--- a/code/modules/clothing/outfits/amber.dm
+++ b/code/modules/clothing/outfits/amber.dm
@@ -6,7 +6,7 @@
name = "amber medic beret"
desc = "A white beret for the mundane life of an amber task force medic."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_ce"
diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm
index 7669d1c86b02..36804d866293 100644
--- a/code/modules/clothing/outfits/plasmaman.dm
+++ b/code/modules/clothing/outfits/plasmaman.dm
@@ -629,7 +629,7 @@
uniform = /obj/item/clothing/under/plasmaman/chief_engineer
shoes = /obj/item/clothing/shoes/sneakers/brown
ears = /obj/item/radio/headset/heads/ce
- gloves = /obj/item/clothing/gloves/color/black/ce
+ gloves = /obj/item/clothing/gloves/color/black
belt = /obj/item/storage/belt/utility/chief/full
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel/eng
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 6437a42b751e..ba87098095a6 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 colorful 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 33f26ea16013..be968d49111e 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"
@@ -78,7 +77,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
@@ -132,7 +130,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
@@ -195,7 +192,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
@@ -244,7 +240,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 2725c79c92b0..0fa42b442ba8 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -10,7 +10,8 @@
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)
+ //Determines used sprites: hardsuit[on]-[hardsuit_type]
+ var/hardsuit_type = "engineering"
actions_types = list(/datum/action/item_action/toggle_helmet_light)
var/rad_count = 0
var/rad_record = 0
@@ -29,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)
@@ -102,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()
if(jetpack && ispath(jetpack))
@@ -166,8 +168,8 @@
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
icon_state = "hardsuit0-engineering"
item_state = "eng_helm"
+ hardsuit_type = "engineering"
armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 100, ACID = 75, WOUND = 10)
- item_color = "engineering"
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/space/hardsuit/engine
@@ -185,7 +187,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, WOUND = 10)
heat_protection = HEAD //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -207,7 +209,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, WOUND = 10)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -229,7 +231,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
@@ -264,7 +266,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, WOUND = 25)
on = TRUE
var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null
@@ -273,7 +275,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()
. = ..()
@@ -329,7 +331,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()
@@ -341,7 +343,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, WOUND = 25)
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)
@@ -354,7 +356,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, WOUND = 25)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -365,7 +367,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, WOUND = 25)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -379,7 +381,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
@@ -390,7 +392,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
//Carp hardsuit
@@ -455,7 +457,7 @@
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 = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 25, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 30)
heat_protection = HEAD //Uncomment to enable firesuit protection
@@ -486,7 +488,7 @@
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, WOUND = 10)
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS
@@ -506,7 +508,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, WOUND = 15)
@@ -559,7 +561,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 = 25, LASER = 30,ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 20)
@@ -580,7 +582,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 = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 95, ACID = 95, WOUND = 25)
@@ -642,8 +644,8 @@
desc = "A special helmet designed for work in a hazardous, low-humor environment. Has radiation shielding."
icon_state = "hardsuit0-clown"
item_state = "hardsuit0-clown"
+ hardsuit_type = "clown"
armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 60, ACID = 30)
- item_color = "clown"
/obj/item/clothing/suit/space/hardsuit/clown
name = "cosmohonk hardsuit"
@@ -669,7 +671,7 @@
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"
+ hardsuit_type = "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
@@ -699,7 +701,7 @@
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"
+ hardsuit_type = "ert_security"
/obj/item/clothing/suit/space/hardsuit/ert/sec
name = "emergency response team security hardsuit"
@@ -714,7 +716,7 @@
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"
+ hardsuit_type = "ert_engineer"
/obj/item/clothing/suit/space/hardsuit/ert/engi
name = "emergency response team engineering hardsuit"
@@ -729,7 +731,7 @@
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"
+ hardsuit_type = "ert_medical"
/obj/item/clothing/suit/space/hardsuit/ert/med
name = "emergency response team medical hardsuit"
@@ -744,7 +746,7 @@
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"
+ hardsuit_type = "ert_janitor"
/obj/item/clothing/suit/space/hardsuit/ert/jani
name = "emergency response team janitorial hardsuit"
@@ -760,7 +762,7 @@
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"
+ hardsuit_type = "knight_grey"
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
actions_types = list()
resistance_flags = FIRE_PROOF
@@ -813,8 +815,8 @@
desc = "Early prototype RIG hardsuit helmet, designed to quickly shift over a user's head. Design constraints of the helmet mean it has no inbuilt cameras, thus it restricts the users visability."
icon_state = "hardsuit0-ancient"
item_state = "anc_helm"
+ hardsuit_type = "ancient"
armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 75)
- item_color = "ancient"
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/space/hardsuit/ancient
@@ -933,7 +935,7 @@
desc = "Standard issue hardsuit for playing capture the flag."
icon_state = "ctf-white"
item_state = null
- item_color = "ctf-white"
+ hardsuit_type = "ctf-white"
// 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)
@@ -944,7 +946,7 @@
name = "red team armor"
icon_state = "ctf-red"
item_state = null
- 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"
@@ -962,7 +964,7 @@
desc = "Standard issue hardsuit helmet for playing capture the flag."
icon_state = "hardsuit0-ctf_white"
item_state = null
- 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)
@@ -970,14 +972,14 @@
name = "red team helmet"
icon_state = "hardsuit0-ctf_red"
item_state = null
- item_color = "ert_security"
+ hardsuit_type = "ert_security"
/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue
name = "blue team helmet"
desc = "Standard issue hardsuit helmet for playing capture the flag."
icon_state = "hardsuit0-ctf_blue"
item_state = null
- item_color = "ert_commander"
+ hardsuit_type = "ert_commander"
@@ -990,7 +992,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, WOUND = 30)
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
@@ -1006,7 +1008,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, WOUND = 30)
///Deathsquad version
@@ -1044,7 +1046,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
@@ -1059,7 +1061,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
@@ -1070,7 +1072,7 @@
desc = "A hilarious hardsuit favored by HONK squad troopers for use in special pranks."
icon_state = "hardsuit-clown"
item_state = "clown_hardsuit"
- item_color = "clown"
+ hardsuit_type = "clown"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat/honk
/obj/item/clothing/head/helmet/space/hardsuit/shielded/swat/honk
@@ -1078,7 +1080,7 @@
desc = "A hilarious helmet with built-in anti-mime propaganda shielding."
icon_state = "hardsuit0-clown"
item_state = "hardsuit0-clown"
- item_color = "clown"
+ hardsuit_type = "clown"
//POWERARMORS
//Currently are no different from normal hardsuits, except maybe for the higher armor ratings.
@@ -1088,8 +1090,8 @@
desc = "It's some barely-functional power armor helmet from a by-gone age."
icon_state = "hardsuit0-t45b"
item_state = "t45b_helm"
+ hardsuit_type = "t45b"
armor = list(MELEE = 50, BULLET = 48, LASER = 25, ENERGY = 25, BOMB = 48, BIO = 100, RAD = 50, FIRE = 50, ACID = 25)
- item_color = "t45b"
/obj/item/clothing/suit/space/hardsuit/powerarmor_t45b
name = "Salvaged T-45b power armor"
@@ -1098,15 +1100,15 @@
item_state = "t45b_hardsuit"
armor = list(MELEE = 50, BULLET = 48, LASER = 25, ENERGY = 25, BOMB = 48, BIO = 0, RAD = 0, FIRE = 0, ACID = 25)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/powerarmor_t45b
- item_color = "t45b"
+ hardsuit_type = "t45b"
/obj/item/clothing/head/helmet/space/hardsuit/powerarmor_advanced
name = "Advanced power helmet"
desc = "It's an advanced power armor Mk I helmet. It looks somewhat threatening."
icon_state = "hardsuit0-advpa1"
item_state = "advpa1_helm"
+ hardsuit_type = "advpa1"
armor = list(MELEE = 50, BULLET = 48, LASER = 25, ENERGY = 25, BOMB = 48, BIO = 0, RAD = 0, FIRE = 0, ACID = 25)
- item_color = "advpa1"
/obj/item/clothing/suit/space/hardsuit/powerarmor_advanced
name = "Advanced power armor"
@@ -1115,14 +1117,14 @@
item_state = "advpa1_hardsuit"
armor = list(MELEE = 50, BULLET = 48, LASER = 25, ENERGY = 25, BOMB = 48, BIO = 0, RAD = 0, FIRE = 0, ACID = 25)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/powerarmor_advanced
- item_color = "advancedpa1"
+ hardsuit_type = "advancedpa1"
/obj/item/clothing/head/helmet/space/hardsuit/syndi/debug // reused code so I dont have to make new procs
name = "debug hardsuit helmet"
desc = "A debug hardsuit helmet. It is in EVA mode."
alt_desc = "A debug hardsuit helmet. It is in combat mode."
icon_state = "hardsuit0-syndielite"
- item_color = "syndielite"
+ hardsuit_type = "syndielite"
armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -1133,7 +1135,7 @@
desc = "A debug hardsuit. It is in travel mode."
alt_desc = "A debug hardsuit. It is in combat mode."
icon_state = "hardsuit0-syndielite"
- item_color = "syndielite"
+ hardsuit_type = "syndielite"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/debug
armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index e8e8b09a6bd9..1fb1ba641237 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -1,7 +1,6 @@
/obj/item/clothing/suit/toggle/labcoat
name = "labcoat"
desc = "A suit that protects against minor chemical spills."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi' //yogs - labcoat sprite tweaks
icon_state = "labcoat"
item_state = "labcoat"
blood_overlay_type = "coat"
@@ -26,14 +25,12 @@
/obj/item/clothing/suit/toggle/labcoat/emt
name = "\improper EMT's jacket"
desc = "A dark blue jacket with reflective strips for emergency medical technicians."
- alternate_worn_icon = 'icons/mob/suit.dmi' //yogs - subtype of labcoat, retains worn sprite
icon_state = "labcoat_emt"
item_state = "labcoat_cmo"
/obj/item/clothing/suit/toggle/labcoat/emt/green
name = "\improper green EMT's jacket"
desc = "A green jacket with reflective strips for emergency medical technicians."
- alternate_worn_icon = 'icons/mob/suit.dmi' //yogs - subtype of labcoat, retains worn sprite
icon_state = "labcoat_emtgr"
item_state = "labcoat_cmo"
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index fab3abb651e1..55d79f0841c4 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -20,7 +20,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
tearable = TRUE //all jumpsuits can be torn down and used for cloth in an emergency | yogs
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
@@ -137,10 +136,8 @@
if(user && notifyAttach)
to_chat(user, span_notice("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(attached_accessory.mob_overlay_icon, "[accessory_color]")
accessory_overlay.alpha = attached_accessory.alpha
accessory_overlay.color = attached_accessory.color
@@ -178,8 +175,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)
@@ -201,3 +196,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 01057516b5ea..9446af1c47b9 100644
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -4,7 +4,7 @@
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.
+ mob_overlay_icon = 'icons/mob/clothing/accessories.dmi'
slot_flags = 0
w_class = WEIGHT_CLASS_SMALL
var/above_suit = FALSE
@@ -91,7 +91,6 @@
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
item_state = "waistcoat"
- item_color = "waistcoat"
minimize_when_attached = FALSE
attachment_slot = null
@@ -100,10 +99,10 @@
desc = "The best part of a maid costume."
icon_state = "maidapron"
item_state = "maidapron"
- item_color = "maidapron"
minimize_when_attached = FALSE
attachment_slot = null
+
//////////
//Medals//
//////////
@@ -112,7 +111,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
@@ -173,7 +171,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"
@@ -183,7 +180,6 @@
name = "silver medal"
desc = "A silver medal."
icon_state = "silver"
- item_color = "silver"
medaltype = "medal-silver"
materials = list(/datum/material/silver=1000)
@@ -211,7 +207,6 @@
name = "gold medal"
desc = "A prestigious golden medal."
icon_state = "gold"
- item_color = "gold"
medaltype = "medal-gold"
materials = list(/datum/material/gold=1000)
@@ -228,7 +223,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)
@@ -243,6 +237,7 @@
name = "nobel sciences award"
desc = "A plasma medal which represents significant contributions to the field of science or robotics."
+
////////////
//Armbands//
////////////
@@ -251,7 +246,6 @@
name = "red armband"
desc = "An fancy red armband!"
icon_state = "redband"
- item_color = "redband"
attachment_slot = null
above_suit = TRUE
above_suit_adjustable = TRUE
@@ -264,43 +258,37 @@
name = "cargo bay guard armband"
desc = "An armband, worn by engineers and security members 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 security members 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 engineers and security members to display which department they're assigned to. This one is purple."
icon_state = "rndband"
- item_color = "rndband"
/obj/item/clothing/accessory/armband/service
name = "service guard armband"
desc = "An armband, worn by engineers and security members to display which department they're assigned to. This one is green."
icon_state = "serviceband"
- item_color = "serviceband"
/obj/item/clothing/accessory/armband/hydro
name = "hydroponics guard armband"
desc = "An armband, worn by engineers and security members 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 engineers and security members 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 engineers and security members to display which department they're assigned to. This one is white and blue."
icon_state = "medblueband"
- item_color = "medblueband"
+
//////////////
//OBJECTION!//
@@ -310,7 +298,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))
@@ -327,14 +314,15 @@
if(L)
L.bubble_icon = initial(L.bubble_icon)
+
////////////////
//HA HA! NERD!//
////////////////
+
/obj/item/clothing/accessory/pocketprotector
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()
@@ -348,6 +336,7 @@
for(var/i in 1 to 3)
new /obj/item/lipstick/random(src)
+
////////////////
//OONGA BOONGA//
////////////////
@@ -356,7 +345,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
above_suit = TRUE
@@ -366,7 +354,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
above_suit_adjustable = TRUE
armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25)
@@ -376,7 +363,6 @@
name = "Sinew Skirt"
desc = "For the last time. IT'S A KILT not a skirt."
icon_state = "skilt"
- item_color = "skilt"
above_suit_adjustable = TRUE
minimize_when_attached = FALSE
armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25)
@@ -386,13 +372,13 @@
name = "resin armband"
desc = "A smooth amber colored armband made of solid resin, generally worn by tribal aristocracy."
icon_state = "resinband"
- item_color = "resinband"
armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25)
attachment_slot = null
above_suit = TRUE
above_suit_adjustable = TRUE
+
/////////////
//Poppy Pin//
/////////////
@@ -401,7 +387,6 @@
name = "Poppy pins"
desc = "A poppy pin that is meant to commemorate the fallen soldiers in wars. It symbolizes the gunshot that killed the soldiers."
icon_state = "poppy"
- item_color = "poppy"
//////////////
@@ -412,7 +397,6 @@
name = "singularity shard necklace"
desc = "The gem mounted inside seems to glow with an unearthly, pulsing light. It is bitter cold to the touch."
icon_state = "sing_necklace"
- item_color = "sing_necklace"
above_suit = TRUE
above_suit_adjustable = TRUE
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = -5, FIRE = 0, ACID = 0) //It IS radioactive after all. Watch me get yelled at for powergaming because I'm making this my """donator""" item - Mqiib
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 481a9b15513b..6222b76adf91 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
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/skirt/color
@@ -37,14 +38,12 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- item_color = "black"
resistance_flags = NONE
/obj/item/clothing/under/skirt/color/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
@@ -58,14 +57,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/skirt/color/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"
@@ -79,177 +76,148 @@
name = "blue jumpsuit"
icon_state = "blue"
item_state = "b_suit"
- item_color = "blue"
/obj/item/clothing/under/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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/skirt/color/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
diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
index 68d49875632a..f21dee003f5d 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm
@@ -3,21 +3,18 @@
desc = "A joint envirosuit used by plasmamen cargo techs, 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/qm
name = "quartermaster's envirosuit"
desc = "A joint envirosuit used by plasmamen quartermasters due to the logistical problems of differenciating the two with the length of their pant legs."
icon_state = "qm_envirosuit"
item_state = "qm_envirosuit"
- item_color = "qm_envirosuit"
/obj/item/clothing/under/plasmaman/mining
name = "mining envirosuit"
desc = "An air-tight grey 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
@@ -25,42 +22,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 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 = "prototype 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 = "plasmaman_OLD"
item_state = "plasmaman_OLD"
- item_color = "plasmaman_OLD"
/obj/item/clothing/under/plasmaman/janitor
name = "janitorial envirosuit"
desc = "A 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 = "botanical envirosuit"
desc = "A green 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
@@ -68,14 +59,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's 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))
@@ -90,4 +79,4 @@
H.visible_message(span_warning("[H]'s suit spews out a tonne of space lube!"),span_warning("Your suit spews out a tonne of space lube!"))
H.ExtinguishMob()
new /obj/effect/particle_effect/foam(loc) //Truely terrifying.
- return 0
\ No newline at end of file
+ return 0
diff --git a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm
index 7fccfb17772a..6d18682507dd 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 given to plasmamen insane enough to achieve the rank of \"Chief Engineer\". It protects the user from fire and acid damage."
icon_state = "ce_envirosuit"
item_state = "ce_envirosuit"
- item_color = "ce_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/engineering
@@ -11,7 +10,6 @@
desc = "An air-tight suit designed to be used by plasmamen employed 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
@@ -19,5 +17,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 3058e7e1fc57..9f3c257482ee 100644
--- a/code/modules/clothing/under/jobs/Plasmaman/medsci.dm
+++ b/code/modules/clothing/under/jobs/Plasmaman/medsci.dm
@@ -3,7 +3,6 @@
desc = "A plasmaman envirosuit worn by those with the know-how to achieve the position of \"Research Director\"."
icon_state = "rd_envirosuit"
item_state = "rd_envirosuit"
- item_color = "rd_envirosuit"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35)
/obj/item/clothing/under/plasmaman/medical
@@ -11,39 +10,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 = "scientific 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 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 envirosuit"
desc = "The suit worn by the safest people on the station, those who are almost 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 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 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 070a30e3c5b1..848084c55679 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 protection."
icon_state = "deathcurity_envirosuit"
item_state = "deathcurity_envirosuit"
- item_color = "deathcurity_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/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 7ff11cf15cbd..ac1ba98b267e 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -5,7 +5,6 @@
name = "bartender's uniform"
icon_state = "barman"
item_state = "bar_suit"
- item_color = "barman"
alt_covers_chest = TRUE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -14,7 +13,6 @@
name = "purple bartender's uniform"
icon_state = "purplebartender"
item_state = "purplebartender"
- item_color = "purplebartender"
can_adjust = FALSE
/obj/item/clothing/under/rank/bartender/skirt
@@ -22,7 +20,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
@@ -33,7 +30,6 @@
name = "captain's jumpsuit"
icon_state = "captain"
item_state = "b_suit"
- item_color = "captain"
sensor_mode = SENSOR_COORDS
random_sensor = FALSE
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 15)
@@ -44,7 +40,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
@@ -55,7 +50,6 @@
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"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/rank/cargo/skirt
@@ -63,7 +57,6 @@
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
@@ -74,7 +67,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
@@ -85,7 +77,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
@@ -97,7 +88,6 @@
name = "chaplain's jumpsuit"
icon_state = "chaplain"
item_state = "bl_suit"
- item_color = "chapblack"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -106,7 +96,6 @@
desc = "It's a black jumpskirt, often worn by religious folk."
icon_state = "chapblack_skirt"
item_state = "bl_suit"
- item_color = "chapblack_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -116,7 +105,6 @@
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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -124,7 +112,6 @@
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
@@ -134,7 +121,6 @@
desc = "'HONK!'"
icon_state = "clown"
item_state = "clown"
- item_color = "clown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -144,7 +130,6 @@
desc = "'BLUE HONK!'"
icon_state = "blueclown"
item_state = "blueclown"
- item_color = "blueclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -154,7 +139,6 @@
desc = "'GREEN HONK!'"
icon_state = "greenclown"
item_state = "greenclown"
- item_color = "greenclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -164,7 +148,6 @@
desc = "'YELLOW HONK!'"
icon_state = "yellowclown"
item_state = "yellowclown"
- item_color = "yellowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -174,7 +157,6 @@
desc = "'PURPLE HONK!'"
icon_state = "purpleclown"
item_state = "purpleclown"
- item_color = "purpleclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -184,7 +166,6 @@
desc = "'ORANGE HONK!'"
icon_state = "orangeclown"
item_state = "orangeclown"
- item_color = "orangeclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -194,7 +175,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
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -208,7 +188,6 @@
name = "head of personnel's jumpsuit"
icon_state = "hop"
item_state = "b_suit"
- item_color = "hop"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -217,7 +196,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
@@ -228,7 +206,6 @@
name = "botanist's jumpsuit"
icon_state = "hydroponics"
item_state = "g_suit"
- item_color = "hydroponics"
permeability_coefficient = 0.5
mutantrace_variation = MUTANTRACE_VARIATION
@@ -237,7 +214,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
@@ -247,7 +223,6 @@
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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -255,7 +230,6 @@
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
@@ -269,48 +243,41 @@
/obj/item/clothing/under/lawyer/black
icon_state = "lawyer_black"
item_state = "lawyer_black"
- item_color = "lawyer_black"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/black/skirt
name = "Lawyer black suitskirt"
icon_state = "lawyer_black_skirt"
item_state = "lawyer_black"
- item_color = "lawyer_black_skirt"
fitted = FEMALE_UNIFORM_TOP
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/female
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
- item_color = "black_suit_fem"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/red
icon_state = "lawyer_red"
item_state = "lawyer_red"
- item_color = "lawyer_red"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/red/skirt
name = "Lawyer red suitskirt"
icon_state = "lawyer_red_skirt"
item_state = "lawyer_red"
- item_color = "lawyer_red_skirt"
fitted = FEMALE_UNIFORM_TOP
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/blue
icon_state = "lawyer_blue"
item_state = "lawyer_blue"
- item_color = "lawyer_blue"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/lawyer/blue/skirt
name = "Lawyer blue suitskirt"
icon_state = "lawyer_blue_skirt"
item_state = "lawyer_blue"
- item_color = "lawyer_blue_skirt"
fitted = FEMALE_UNIFORM_TOP
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -319,7 +286,6 @@
desc = "A classy suit and tie."
icon_state = "bluesuit"
item_state = "bluesuit"
- item_color = "bluesuit"
can_adjust = TRUE
alt_covers_chest = TRUE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -329,7 +295,6 @@
desc = "A classy suitskirt and tie."
icon_state = "bluesuit_skirt"
item_state = "bluesuit"
- item_color = "bluesuit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -339,7 +304,6 @@
name = "purple suit"
icon_state = "lawyer_purp"
item_state = "lawyer_purp"
- item_color = "lawyer_purp"
fitted = NO_FEMALE_UNIFORM
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -349,7 +313,6 @@
name = "purple suitskirt"
icon_state = "lawyer_purp_skirt"
item_state = "lawyer_purp"
- item_color = "lawyer_purp_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -360,7 +323,6 @@
desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
icon_state = "blacksuit"
item_state = "bar_suit"
- item_color = "blacksuit"
can_adjust = TRUE
alt_covers_chest = TRUE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -370,7 +332,6 @@
desc = "A professional black suitskirt. Nanotrasen Investigation Bureau approved!"
icon_state = "reallyblack_suit_skirt"
item_state = "bar_suit"
- item_color = "reallyblack_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -381,7 +342,6 @@
desc = "It's very... sensible."
icon_state = "red_suit"
item_state = "red_suit"
- item_color = "red_suit"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -390,7 +350,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
@@ -401,14 +360,12 @@
desc = "A rugged uniform suitable for treasure hunting."
icon_state = "curator"
item_state = "curator"
- item_color = "curator"
/obj/item/clothing/under/rank/mime
name = "mime's outfit"
desc = "It's not very colourful."
icon_state = "mime"
item_state = "mime"
- item_color = "mime"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/rank/mime/skirt
@@ -416,7 +373,6 @@
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
@@ -427,7 +383,6 @@
desc = "Only the most modern of folk have the right to wear this suit."
icon_state = "artist"
item_state = "artist"
- item_color = "artist"
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
mutantrace_variation = MUTANTRACE_VARIATION
@@ -437,7 +392,6 @@
desc = "Only the most modern of folk have the right to wear this suit."
icon_state = "artist_skirt"
item_state = "artist"
- item_color = "artist_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -449,7 +403,6 @@
name = "shaft miner's jumpsuit"
icon_state = "miner"
item_state = "miner"
- item_color = "miner"
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 0, WOUND = 10)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -458,5 +411,4 @@
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/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index ca53682f9c9c..28b004872720 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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -14,7 +13,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
@@ -25,7 +23,6 @@
name = "atmospheric technician's jumpsuit"
icon_state = "atmos"
item_state = "atmos_suit"
- item_color = "atmos"
resistance_flags = NONE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -34,7 +31,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
@@ -45,7 +41,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -55,7 +50,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
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -64,7 +58,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
@@ -75,7 +68,6 @@
name = "roboticist's jumpsuit"
icon_state = "robotics"
item_state = "robotics"
- item_color = "robotics"
resistance_flags = NONE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -84,7 +76,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/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index 925612e052ae..ad4671d90671 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -6,7 +6,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -16,7 +15,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
@@ -27,7 +25,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
@@ -37,7 +34,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
@@ -48,7 +44,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
@@ -58,7 +53,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
@@ -69,7 +63,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -79,7 +72,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
@@ -90,7 +82,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -100,7 +91,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
@@ -114,7 +104,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -124,7 +113,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
@@ -135,7 +123,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -145,7 +132,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
@@ -156,7 +142,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -166,7 +151,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
@@ -177,7 +161,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
@@ -189,7 +172,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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -198,21 +180,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/green
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
- item_color = "scrubsgreen"
can_adjust = FALSE
/obj/item/clothing/under/rank/medical/purple
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
- item_color = "scrubspurple"
can_adjust = FALSE
/obj/item/clothing/under/rank/medical/skirt
@@ -220,7 +199,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
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 0c0b093951e4..4906f2377ca9 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, WOUND = 10)
strip_delay = 50
alt_covers_chest = TRUE
@@ -27,14 +26,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/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
@@ -46,7 +43,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, WOUND = 10)
strip_delay = 50
alt_covers_chest = TRUE
@@ -59,14 +55,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/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
@@ -80,7 +74,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, WOUND = 10)
strip_delay = 50
alt_covers_chest = TRUE
@@ -93,7 +86,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
@@ -104,7 +96,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/det/grey/skirt
@@ -112,7 +103,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
@@ -126,7 +116,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, WOUND = 10)
strip_delay = 60
alt_covers_chest = TRUE
@@ -139,7 +128,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
@@ -150,21 +138,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/head_of_security/alt
name = "head of security's turtleneck"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants."
icon_state = "hosalt"
item_state = "bl_suit"
- item_color = "hosalt"
/obj/item/clothing/under/rank/head_of_security/alt/skirt
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
@@ -179,7 +164,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/head_of_security/navyblue
@@ -187,7 +171,6 @@
name = "head of security's formal uniform"
icon_state = "hosblueclothes"
item_state = "hosblueclothes"
- item_color = "hosblueclothes"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/warden/navyblue
@@ -195,7 +178,6 @@
name = "warden's formal uniform"
icon_state = "wardenblueclothes"
item_state = "wardenblueclothes"
- item_color = "wardenblueclothes"
alt_covers_chest = TRUE
/*
@@ -207,7 +189,6 @@
desc = "I'm a little busy right now, Calhoun."
icon_state = "blueshift"
item_state = "blueshift"
- item_color = "blueshift"
can_adjust = FALSE
/*
@@ -219,5 +200,4 @@
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
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index b8cd1a77ba1b..99a47ccdc42d 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -2,7 +2,6 @@
name = "red pj's"
desc = "Sleepwear."
icon_state = "red_pyjamas"
- item_color = "red_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -11,7 +10,6 @@
name = "blue pj's"
desc = "Sleepwear."
icon_state = "blue_pyjamas"
- item_color = "blue_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -21,7 +19,6 @@
desc = "Motorcycle not included."
icon_state = "ek"
item_state = "ek"
- item_color = "ek"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -30,7 +27,6 @@
desc = "A white suit, suitable for an excellent host."
icon_state = "scratch"
item_state = "scratch"
- item_color = "scratch"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -39,7 +35,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
@@ -49,7 +44,6 @@
desc = "It's a very amish looking suit."
name = "amish suit"
icon_state = "sl_suit"
- item_color = "sl_suit"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -57,7 +51,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
@@ -68,7 +61,6 @@
desc = "It's a very smart uniform with a special pocket for tips."
icon_state = "waiter"
item_state = "waiter"
- item_color = "waiter"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -77,7 +69,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
@@ -88,7 +79,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
@@ -99,23 +89,22 @@
desc = "'Special delivery!'"
icon_state = "mailman"
item_state = "b_suit"
- item_color = "mailman"
mutantrace_variation = MUTANTRACE_VARIATION
+
/* Commented out in favor of yogstation custom content
/obj/item/clothing/under/rank/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
item_state = "p_suit"
- item_color = "psyche"
mutantrace_variation = MUTANTRACE_VARIATION
*/
+
/obj/item/clothing/under/rank/clown/sexy
name = "sexy-clown suit"
desc = "It makes you look HONKable!"
icon_state = "sexyclown"
item_state = "sexyclown"
- item_color = "sexyclown"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -124,7 +113,6 @@
desc = "The leather club is two sectors down."
icon_state = "darkholme"
item_state = "darkholme"
- item_color = "darkholme"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -133,7 +121,6 @@
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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -142,7 +129,6 @@
name = "\improper CentCom officer's jumpsuit"
icon_state = "officer"
item_state = "g_suit"
- item_color = "officer"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/centcom_commander
@@ -150,7 +136,6 @@
name = "\improper CentCom officer's jumpsuit"
icon_state = "centcom"
item_state = "dg_suit"
- item_color = "centcom"
alt_covers_chest = TRUE
mutantrace_variation = MUTANTRACE_VARIATION
can_adjust = TRUE //too important to look unimportant.
@@ -173,7 +158,6 @@
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
@@ -190,7 +174,6 @@
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
@@ -208,7 +191,6 @@
name = "owl uniform"
desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl"
- item_color = "owl"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -216,7 +198,6 @@
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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -224,7 +205,6 @@
name = "cloud"
desc = "cloud"
icon_state = "cloud"
- item_color = "cloud"
can_adjust = FALSE
/obj/item/clothing/under/gimmick/rank/captain/suit
@@ -232,7 +212,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -241,7 +220,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
@@ -252,7 +230,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -261,7 +238,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
@@ -272,7 +248,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -281,21 +256,18 @@
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
- item_color = "really_black_suit"
/obj/item/clothing/under/suit_jacket/female
name = "executive suit"
desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
- item_color = "black_suit_fem"
/obj/item/clothing/under/suit_jacket/green
name = "green suit"
desc = "A green suit and yellow necktie. Baller."
icon_state = "green_suit"
item_state = "dg_suit"
- item_color = "green_suit"
can_adjust = FALSE
/obj/item/clothing/under/suit_jacket/red
@@ -303,56 +275,48 @@
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
- item_color = "red_suit"
/obj/item/clothing/under/suit_jacket/charcoal
name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit"
item_state = "charcoal_suit"
- item_color = "charcoal_suit"
/obj/item/clothing/under/suit_jacket/navy
name = "navy suit"
desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit"
item_state = "navy_suit"
- item_color = "navy_suit"
/obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit"
item_state = "burgundy_suit"
- item_color = "burgundy_suit"
/obj/item/clothing/under/suit_jacket/checkered
name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit"
item_state = "checkered_suit"
- item_color = "checkered_suit"
/obj/item/clothing/under/suit_jacket/tan
name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit"
item_state = "tan_suit"
- item_color = "tan_suit"
/obj/item/clothing/under/suit_jacket/white
name = "white suit"
desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
icon_state = "white_suit"
item_state = "white_suit"
- item_color = "white_suit"
/obj/item/clothing/under/burial
name = "burial garments"
desc = "Traditional burial garments from the early 22nd century."
icon_state = "burial"
item_state = "burial"
- item_color = "burial"
has_sensor = NO_SENSORS
mutantrace_variation = MUTANTRACE_VARIATION
@@ -360,7 +324,6 @@
name = "black skirt"
desc = "A black skirt, very fancy!"
icon_state = "blackskirt"
- item_color = "blackskirt"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -369,7 +332,6 @@
name = "blue skirt"
desc = "A blue, casual skirt."
icon_state = "blueskirt"
- item_color = "blueskirt"
item_state = "b_suit"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
@@ -380,7 +342,6 @@
name = "red skirt"
desc = "A red, casual skirt."
icon_state = "redskirt"
- item_color = "redskirt"
item_state = "r_suit"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
@@ -391,7 +352,6 @@
name = "purple skirt"
desc = "A purple, casual skirt."
icon_state = "purpleskirt"
- item_color = "purpleskirt"
item_state = "p_suit"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
@@ -404,7 +364,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
@@ -413,26 +372,22 @@
name = "red schoolgirl uniform"
icon_state = "schoolgirlred"
item_state = "schoolgirlred"
- item_color = "schoolgirlred"
/obj/item/clothing/under/schoolgirl/green
name = "green schoolgirl uniform"
icon_state = "schoolgirlgreen"
item_state = "schoolgirlgreen"
- item_color = "schoolgirlgreen"
/obj/item/clothing/under/schoolgirl/orange
name = "orange schoolgirl uniform"
icon_state = "schoolgirlorange"
item_state = "schoolgirlorange"
- item_color = "schoolgirlorange"
/obj/item/clothing/under/overalls
name = "laborer's overalls"
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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -442,7 +397,6 @@
desc = "Yarr! A fine shirt and pants for the enterprising corsair."
icon_state = "pirate"
item_state = "pirate"
- item_color = "pirate"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -457,7 +411,6 @@
desc = "For the Motherland!"
icon_state = "soviet"
item_state = "soviet"
- item_color = "soviet"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -466,7 +419,6 @@
desc = "Looks old."
icon_state = "redcoat"
item_state = "redcoat"
- item_color = "redcoat"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -475,7 +427,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
@@ -493,7 +444,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
@@ -504,7 +454,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
@@ -519,7 +468,6 @@
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
item_state = "sundress"
- item_color = "sundress"
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -529,7 +477,6 @@
desc = "A captain's luxury-wear, for special occasions."
icon_state = "captain_parade"
item_state = "by_suit"
- item_color = "captain_parade"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -538,7 +485,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -547,7 +493,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -557,7 +502,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -566,7 +510,6 @@
desc = "Filled with Latin fire."
icon_state = "black_tango"
item_state = "wcoat"
- item_color = "black_tango"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -575,7 +518,6 @@
desc = "Fashion in space."
icon_state = "striped_dress"
item_state = "stripeddress"
- item_color = "striped_dress"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_FULL
can_adjust = FALSE
@@ -585,7 +527,6 @@
desc = "Formal wear for a leading lady."
icon_state = "sailor_dress"
item_state = "sailordress"
- item_color = "sailor_dress"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -595,7 +536,6 @@
desc = "Fancy dress for space bar singers."
icon_state = "red_evening_gown"
item_state = "redeveninggown"
- item_color = "red_evening_gown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -604,7 +544,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
@@ -619,7 +558,6 @@
desc = "A simple maid uniform for housekeeping."
icon_state = "janimaid"
item_state = "janimaid"
- item_color = "janimaid"
body_parts_covered = CHEST|GROIN|FEET|LEGS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -629,7 +567,6 @@
desc = "A preppy red skirt with a white blouse."
icon_state = "plaid_red"
item_state = "plaid_red"
- item_color = "plaid_red"
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -640,7 +577,6 @@
desc = "A preppy blue skirt with a white blouse."
icon_state = "plaid_blue"
item_state = "plaid_blue"
- item_color = "plaid_blue"
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -650,7 +586,6 @@
desc = "A preppy purple skirt with a white blouse."
icon_state = "plaid_purple"
item_state = "plaid_purple"
- item_color = "plaid_purple"
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -660,7 +595,6 @@
desc = "Just looking at this makes you want to sing."
icon_state = "ysing"
item_state = "ysing"
- item_color = "ysing"
body_parts_covered = CHEST|GROIN|ARMS
fitted = NO_FEMALE_UNIFORM
alternate_worn_layer = ABOVE_SHOES_LAYER
@@ -672,7 +606,6 @@
desc = "Just looking at this makes you want to sing."
icon_state = "bsing"
item_state = "bsing"
- item_color = "bsing"
body_parts_covered = CHEST|GROIN|ARMS
alternate_worn_layer = ABOVE_SHOES_LAYER
fitted = FEMALE_UNIFORM_TOP
@@ -684,7 +617,6 @@
desc = "A preppy green skirt with a white blouse."
icon_state = "plaid_green"
item_state = "plaid_green"
- item_color = "plaid_green"
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
@@ -693,14 +625,12 @@
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/geisha
name = "geisha suit"
desc = "Cute space ninja senpai not included."
icon_state = "geisha"
- item_color = "geisha"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
@@ -708,7 +638,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
mutantrace_variation = MUTANTRACE_VARIATION
@@ -717,7 +646,6 @@
desc = "Skipper's in the wardroom drinkin' gin."
icon_state = "sailor"
item_state = "b_suit"
- item_color = "sailor"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -726,7 +654,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
@@ -776,7 +703,6 @@
desc = "The latest in fashionable Russian outfits."
icon_state = "hostanclothes"
item_state = "hostanclothes"
- item_color = "hostanclothes"
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/mummy
@@ -784,7 +710,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
@@ -796,7 +721,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
@@ -808,7 +732,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
@@ -818,7 +741,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/lobster
@@ -826,7 +748,6 @@
desc = "Who beheaded the college mascot?"
icon_state = "lobster"
item_state = "lobster"
- item_color = "lobster"
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
@@ -835,7 +756,6 @@
desc = "Now you're cooking."
icon_state = "gondola"
item_state = "lb_suit"
- item_color = "gondola"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -844,7 +764,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
@@ -856,7 +775,6 @@
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)
mutantrace_variation = MUTANTRACE_VARIATION
@@ -891,7 +809,6 @@
desc = "A peculier garment woven in silk; under the lower dress appears to be a lamp and a switch."
icon_state = "lampskirt_male"
item_state = "lampskirt_male"
- item_color = "lampskirt_male"
body_parts_covered = CHEST|GROIN|LEGS|FEET
can_adjust = FALSE
var/brightness_on = 1 //luminosity when the light is on
@@ -917,7 +834,6 @@
/obj/item/clothing/under/lampskirt/female
icon_state = "lampskirt_female"
item_state = "lampskirt_female"
- item_color = "lampskirt_female"
body_parts_covered = CHEST|GROIN|LEGS|FEET
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
@@ -927,7 +843,6 @@
desc = "The meat part of a hot dog costume. People may think you're trying to compensate for something."
icon_state = "weiner"
item_state = "weiner"
- item_color = "weiner"
can_adjust = FALSE
// Ashwalker Clothes
@@ -943,7 +858,6 @@
desc = "A porly made outfit made of scrapped materials."
icon_state = "raider_leather"
item_state = "raider_leather"
- item_color = "raider_leather"
armor = list(MELEE = 5, FIRE = 5)
has_sensor = NO_SENSORS
can_adjust = FALSE
@@ -954,7 +868,6 @@
desc = "Thin metal bolted over poorly tanned leather."
icon_state = "tribal"
item_state = "tribal"
- item_color = "tribal"
body_parts_covered = CHEST|GROIN|ARMS
armor = list(MELEE = 5)
has_sensor = NO_SENSORS
@@ -965,7 +878,7 @@
desc = "A robe from the ashlands. This one seems to be for common tribespeople."
icon_state = "robe_liz"
item_state = "robe_liz"
- item_color = "robe_liz"
+ fitted = NO_FEMALE_UNIFORM
body_parts_covered = CHEST|GROIN
has_sensor = NO_SENSORS
can_adjust = FALSE
@@ -975,40 +888,33 @@
name = "tribal rags"
desc = "Rags from Lavaland, coated with light ash. This one seems to be for the juniors of a tribe."
icon_state = "tribalrags"
- item_state = "tribalrags"
- item_color = "tribalrags"
/obj/item/clothing/under/ash_robe/hunter
name = "hunter tribal rags"
desc = "A robe from the ashlands. This one seems to be for hunters."
icon_state = "hhunterrags"
item_state = "hhunterrags"
- item_color = "hhunterrags"
/obj/item/clothing/under/ash_robe/chief
name = "chief tribal rags"
desc = "Rags from Lavaland, coated with heavy ash. This one seems to be for the elders of a tribe."
icon_state = "chiefrags"
item_state = "chiefrags"
- item_color = "chiefrags"
/obj/item/clothing/under/ash_robe/shaman
name = "shaman tribal rags"
desc = "Rags from Lavaland, drenched with ash, it has fine jewel coated bones sewn around the neck. This one seems to be for the shaman of a tribe."
icon_state = "shamanrags"
item_state = "shamanrags"
- item_color = "shamanrags"
/obj/item/clothing/under/ash_robe/tunic
name = "tribal tunic"
desc = "A tattered red tunic of reddened fabric."
icon_state = "caesar_clothes"
item_state = "caesar_clothes"
- item_color = "caesar_clothes"
/obj/item/clothing/under/ash_robe/dress
name = "tribal dress"
desc = "A tattered dress of white fabric."
icon_state = "cheongsam_s"
item_state = "cheongsam_s"
- item_color = "cheongsam_s"
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index de07b1761c86..8b2befafdc95 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -10,71 +10,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 91a1b42f1e5e..bf8556e29d72 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"
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 13c6b7b6e474..c23b239bee92 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
@@ -14,7 +13,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"
has_sensor = HAS_SENSORS
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40)
@@ -23,7 +21,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
@@ -31,14 +28,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
@@ -47,14 +42,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 d948449e7f22..37826d5ec294 100644
--- a/code/modules/clothing/under/trek.dm
+++ b/code/modules/clothing/under/trek.dm
@@ -11,14 +11,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
@@ -27,40 +25,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"
@@ -69,5 +60,4 @@
name = "french marshall's uniform"
desc = "Something about it feels off..."
icon_state = "trek_Q"
- item_color = "trek_Q"
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 c4e344692950..31fa3fe15dbd 100644
--- a/code/modules/food_and_drinks/food/snacks_egg.dm
+++ b/code/modules/food_and_drinks/food/snacks_egg.dm
@@ -56,7 +56,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, span_notice("[src] refuses to take on this colour!"))
@@ -64,7 +64,6 @@
to_chat(usr, span_notice("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]"
@@ -75,35 +74,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 c513dd802e36..ee44baed7cb0 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 664b0ba0f4c3..8b1c1c8871f1 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -24,34 +24,35 @@
w_class = WEIGHT_CLASS_SMALL
hitsound = "swing_hit"
armour_penetration = 50
- var/active = 0
+ var/active = FALSE
+ 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)
return ..()
- return 0
+ return FALSE
/obj/item/holo/esword/attack(target as mob, mob/user as mob)
..()
/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 44e8ced977bf..fb63763aa62c 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 9325e531c457..f1cb874cbe7c 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -46,7 +46,7 @@
shoes = /obj/item/clothing/shoes/sneakers/brown
digitigrade_shoes = /obj/item/clothing/shoes/xeno_wraps/command
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/phone/preset/advanced/command/atmos=1) //yogs - removes eng budget
glasses = /obj/item/clothing/glasses/meson/sunglasses
diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm
index 8335f89f5882..ba91d38f13bd 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -53,7 +53,7 @@
shoes = /obj/item/clothing/shoes/jackboots
digitigrade_shoes = /obj/item/clothing/shoes/xeno_wraps/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 65abb13afa0c..aa2151d0dd51 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -134,6 +134,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(mob_overlay_icon, "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 ba48f2d4d4cc..5be5fd20f645 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories.dm
@@ -1010,7 +1010,7 @@
// Underwear Definitions //
///////////////////////////
/datum/sprite_accessory/underwear
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/sprite_accessories/underwear.dmi'
/datum/sprite_accessory/underwear/nude
name = "Nude"
@@ -1212,7 +1212,7 @@
////////////////////////////
/datum/sprite_accessory/undershirt
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/sprite_accessories/undershirt.dmi'
/datum/sprite_accessory/undershirt/nude
name = "Nude"
@@ -1496,7 +1496,7 @@
///////////////////////
/datum/sprite_accessory/socks
- icon = 'icons/mob/underwear.dmi'
+ icon = 'icons/mob/clothing/sprite_accessories/socks.dmi'
/datum/sprite_accessory/socks/nude
name = "Nude"
diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
index 705381e6b8bb..256f7cdb2864 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
@@ -59,16 +59,19 @@
/mob/living/carbon/alien/humanoid/update_inv_handcuffed()
remove_overlay(HANDCUFF_LAYER)
- var/cuff_icon = "aliencuff"
- var/dmi_file = 'icons/mob/alien.dmi'
-
- if(mob_size == MOB_SIZE_LARGE)
- cuff_icon = "aliencuff_[caste]"
- dmi_file = 'icons/mob/alienqueen.dmi'
if(handcuffed)
- overlays_standing[HANDCUFF_LAYER] = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER)
- apply_overlay(HANDCUFF_LAYER)
+ var/cuff_icon = handcuffed.item_state
+ var/dmi_file = 'icons/mob/alien.dmi'
+
+ if(mob_size == MOB_SIZE_LARGE)
+ cuff_icon += "_[caste]"
+ dmi_file = 'icons/mob/alienqueen.dmi'
+
+ var/mutable_appearance/cuffs = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER)
+ cuffs.color = handcuffed.color
+
+ overlays_standing[HANDCUFF_LAYER] = cuffs
//Royals have bigger sprites, so inhand things must be handled differently.
/mob/living/carbon/alien/humanoid/royal/update_inv_hands()
@@ -91,4 +94,4 @@
hands += mutable_appearance(alt_inhands_file, "[itm_state][caste]_r", -HANDS_LAYER)
overlays_standing[HANDS_LAYER] = hands
- apply_overlay(HANDS_LAYER)
\ No newline at end of file
+ apply_overlay(HANDS_LAYER)
diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm
index c989ec52a3fe..55867c347356 100644
--- a/code/modules/mob/living/carbon/carbon_defines.dm
+++ b/code/modules/mob/living/carbon/carbon_defines.dm
@@ -5,13 +5,23 @@
hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD)
has_limbs = 1
held_items = list(null, null)
- var/list/internal_organs = list() //List of /obj/item/organ in the mob. They don't go in the contents for some reason I don't want to know.
- var/list/internal_organs_slot= list() //Same as above, but stores "slot ID" - "organ" pairs for easy access.
- var/silent = FALSE //Can't talk. Value goes down every life proc. //NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.
- var/dreaming = 0 //How many dream images we have left to send
-
- var/obj/item/handcuffed = null //Whether or not the mob is handcuffed
- var/obj/item/legcuffed = null //Same as handcuffs but for legs. Bear traps use this.
+ /// List of /obj/item/organ in the mob.
+ /// They don't go in the contents for some reason I don't want to know.
+ var/list/internal_organs = list()
+ /// List of /obj/item/organ in the mob by slot ID for easy access.
+ /// They don't go in the contents for some reason I don't want to know.
+ var/list/internal_organs_slot= list()
+
+ /// Can't talk. Value goes down every life proc.
+ /// NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.
+ var/silent = FALSE
+ /// How many dream images we have left to send
+ var/dreaming = 0
+
+ /// A reference to the current handcuff on this carbon if one is equipped.
+ var/obj/item/restraints/handcuffed = null
+ /// A reference to the current legcuff on this carbon if one is equipped. Bear traps use this.
+ var/obj/item/restraints/legcuffed = null
var/disgust = 0
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index af62aa221bfc..99684c3c2c54 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -115,26 +115,23 @@ There are several things that need to be remembered:
if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT))
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"
else if(U.adjusted == DIGIALT_STYLE) //Yogs Start: Handles when you are using an alternate style while having digi legs
- t_color = "[t_color]_d_l" //Yogs End
+ target_overlay = "[target_overlay]_d_l" //Yogs End
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/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/uniform.dmi', isinhands = FALSE, override_state = target_overlay)
if(OFFSET_UNIFORM in dna.species.offset_features)
@@ -162,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/clothing/id/id.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]
@@ -195,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/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]
@@ -224,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/eyes.dmi')
var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER]
if(glasses_overlay)
@@ -251,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/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]
@@ -260,6 +253,27 @@ There are several things that need to be remembered:
overlays_standing[EARS_LAYER] = ears_overlay
apply_overlay(EARS_LAYER)
+/mob/living/carbon/human/update_inv_neck()
+ remove_overlay(NECK_LAYER)
+
+ if(client && hud_used)
+ var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_NECK]
+ inv.update_icon()
+
+ if(wear_neck)
+ wear_neck.screen_loc = ui_neck
+ if(client && hud_used && hud_used.hud_shown)
+ if(hud_used.inventory_shown) //if the inventory is open
+ client.screen += wear_neck //add it to the client's screen
+ update_observer_view(wear_neck,1)
+ if(!(ITEM_SLOT_NECK in check_obscured_slots()))
+ overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/clothing/neck/neck.dmi')
+ var/mutable_appearance/neck_overlay = overlays_standing[NECK_LAYER]
+ if(OFFSET_NECK in dna.species.offset_features)
+ neck_overlay.pixel_x += dna.species.offset_features[OFFSET_NECK][1]
+ neck_overlay.pixel_y += dna.species.offset_features[OFFSET_NECK][2]
+ overlays_standing[NECK_LAYER] = neck_overlay
+ apply_overlay(NECK_LAYER)
/mob/living/carbon/human/update_inv_shoes()
remove_overlay(SHOES_LAYER)
@@ -272,17 +286,17 @@ There are several things that need to be remembered:
inv.update_icon()
if(shoes)
+ var/target_overlay = shoes.icon_state
+ if(istype(shoes, /obj/item/clothing/shoes))
+ var/obj/item/clothing/shoes/S = shoes
+ if(S.adjusted == DIGITIGRADE_STYLE)
+ target_overlay = "[target_overlay]_l"
shoes.screen_loc = ui_shoes //move the item to the appropriate screen loc
- var/obj/item/clothing/shoes/S = shoes
- var/worn_shoes_icon = S.icon_state
- if(S.adjusted == DIGITIGRADE_STYLE)
- worn_shoes_icon = "[S.icon_state]_l" // Sets digitgrade version of a shoe if it has it
-
if(client && hud_used && hud_used.hud_shown)
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 = worn_shoes_icon, 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/feet.dmi', override_state = target_overlay)
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]
@@ -307,7 +321,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/suit_storage.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]
@@ -319,6 +333,9 @@ There are several things that need to be remembered:
/mob/living/carbon/human/update_inv_head()
..()
update_mutant_bodyparts()
+ if(head)
+ update_hud_head(head)
+ overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head/head.dmi')
var/mutable_appearance/head_overlay = overlays_standing[HEAD_LAYER]
if(head_overlay)
remove_overlay(HEAD_LAYER)
@@ -340,12 +357,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]
@@ -363,23 +375,18 @@ There are several things that need to be remembered:
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_SUIT]
inv.update_icon()
- if(istype(wear_suit, /obj/item/clothing/suit))
+ if(istype(wear_suit, /obj/item))
wear_suit.screen_loc = ui_oclothing
- var/obj/item/clothing/suit/S = wear_suit
- var/worn_suit_icon = S.icon_state
- if(S.adjusted == DIGITIGRADE_STYLE)
- worn_suit_icon = "[wear_suit.icon_state]_l" // Checks for digitgrade version of a suit if it has it
if(client && hud_used && hud_used.hud_shown)
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 = worn_suit_icon, 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/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]
suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2]
- overlays_standing[SUIT_LAYER] = suit_overlay
+ overlays_standing[SUIT_LAYER] = suit_overlay
+ update_observer_view(wear_suit,1)
update_hair()
update_mutant_bodyparts()
@@ -410,36 +417,47 @@ There are several things that need to be remembered:
/mob/living/carbon/human/update_inv_wear_mask()
- ..()
- var/mutable_appearance/mask_overlay = overlays_standing[FACEMASK_LAYER]
- if(mask_overlay)
- remove_overlay(FACEMASK_LAYER)
- if(OFFSET_FACEMASK in dna.species.offset_features)
- mask_overlay.pixel_x += dna.species.offset_features[OFFSET_FACEMASK][1]
- mask_overlay.pixel_y += dna.species.offset_features[OFFSET_FACEMASK][2]
- overlays_standing[FACEMASK_LAYER] = mask_overlay
+ remove_overlay(FACEMASK_LAYER)
+
+ if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated
+ return
+
+ if(client && hud_used)
+ var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_MASK]
+ inv.update_icon()
+
+ if(wear_mask)
+ update_hud_wear_mask(wear_mask)
+ overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask/mask.dmi')
+ var/mutable_appearance/mask_overlay = overlays_standing[FACEMASK_LAYER]
+ if(mask_overlay)
+ remove_overlay(FACEMASK_LAYER)
+ if(OFFSET_FACEMASK in dna.species.offset_features)
+ mask_overlay.pixel_x += dna.species.offset_features[OFFSET_FACEMASK][1]
+ mask_overlay.pixel_y += dna.species.offset_features[OFFSET_FACEMASK][2]
+ overlays_standing[FACEMASK_LAYER] = mask_overlay
apply_overlay(FACEMASK_LAYER)
update_mutant_bodyparts() //e.g. upgate needed because mask now hides lizard snout
/mob/living/carbon/human/update_inv_back()
- ..()
- var/mutable_appearance/back_overlay = overlays_standing[BACK_LAYER]
- if(back_overlay)
- remove_overlay(BACK_LAYER)
- if(OFFSET_BACK in dna.species.offset_features)
- back_overlay.pixel_x += dna.species.offset_features[OFFSET_BACK][1]
- back_overlay.pixel_y += dna.species.offset_features[OFFSET_BACK][2]
+ remove_overlay(BACK_LAYER)
+
+ if(client && hud_used && hud_used.inv_slots[SLOT_BACK])
+ var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_BACK]
+ inv.update_icon()
+
+ if(back)
+ update_hud_back(back)
+ overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi')
+ var/mutable_appearance/back_overlay = overlays_standing[BACK_LAYER]
+ if(back_overlay)
+ remove_overlay(BACK_LAYER)
+ if(OFFSET_BACK in dna.species.offset_features)
+ back_overlay.pixel_x += dna.species.offset_features[OFFSET_BACK][1]
+ back_overlay.pixel_y += dna.species.offset_features[OFFSET_BACK][2]
overlays_standing[BACK_LAYER] = back_overlay
apply_overlay(BACK_LAYER)
-/mob/living/carbon/human/update_inv_legcuffed()
- remove_overlay(LEGCUFF_LAYER)
- clear_alert("legcuffed")
- if(legcuffed)
- overlays_standing[LEGCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER)
- apply_overlay(LEGCUFF_LAYER)
- throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = src.legcuffed)
-
/proc/wear_female_version(t_color, icon, layer, type)
var/index = t_color
var/icon/female_clothing_icon = GLOB.female_clothing_icons[index]
@@ -514,7 +532,7 @@ default_layer: The layer to draw this on if no other layer is specified
default_icon_file: The icon file to draw states from if no other icon file is specified
-isinhands: If true then alternate_worn_icon is skipped so that default_icon_file is used,
+isinhands: If true then mob_overlay_icon is skipped so that default_icon_file is used,
in this situation default_icon_file is expected to match either the lefthand_ or righthand_ file var
femalueuniform: A value matching a uniform item's fitted var, if this is anything but NO_FEMALE_UNIFORM, we
@@ -522,12 +540,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
@@ -542,12 +572,12 @@ generate/load female uniform sprites matching all previously decided variables
var/mutable_appearance/standing
if(femaleuniform)
if(HAS_TRAIT(H, TRAIT_SKINNY) && (H.underwear == "Nude"))
- standing = wear_skinny_version(state,file2use,layer2use,femaleuniform)
+ standing = wear_skinny_version(t_state, file2use, layer2use, femaleuniform)
else
- 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.
var/list/worn_overlays = worn_overlays(isinhands, file2use)
diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm
index 41d37a50217b..ed30724689dd 100644
--- a/code/modules/mob/living/carbon/monkey/update_icons.dm
+++ b/code/modules/mob/living/carbon/monkey/update_icons.dm
@@ -43,10 +43,15 @@
/mob/living/carbon/monkey/update_inv_legcuffed()
remove_overlay(LEGCUFF_LAYER)
+ clear_alert("legcuffed")
if(legcuffed)
- var/mutable_appearance/legcuff_overlay = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER)
- legcuff_overlay.pixel_y = 8
- overlays_standing[LEGCUFF_LAYER] = legcuff_overlay
+ var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER)
+ legcuffs.color = handcuffed.color
+ legcuffs.pixel_y = 8
+
+ overlays_standing[HANDCUFF_LAYER] = legcuffs
+ apply_overlay(LEGCUFF_LAYER)
+ throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed)
apply_overlay(LEGCUFF_LAYER)
@@ -74,4 +79,4 @@
/mob/living/carbon/monkey/update_hud_back(obj/item/I)
if(client && hud_used && hud_used.hud_shown)
I.screen_loc = ui_monkey_back
- client.screen += I
\ No newline at end of file
+ client.screen += I
diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm
index 5dc538ee5cfa..287af24bf46c 100644
--- a/code/modules/mob/living/carbon/update_icons.dm
+++ b/code/modules/mob/living/carbon/update_icons.dm
@@ -77,7 +77,7 @@
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 +121,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/mask.dmi')
update_hud_wear_mask(wear_mask)
apply_overlay(FACEMASK_LAYER)
@@ -135,7 +135,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/neck.dmi')
update_hud_neck(wear_neck)
apply_overlay(NECK_LAYER)
@@ -148,7 +148,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 +164,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/head.dmi')
update_hud_head(head)
apply_overlay(HEAD_LAYER)
@@ -173,9 +173,22 @@
/mob/living/carbon/update_inv_handcuffed()
remove_overlay(HANDCUFF_LAYER)
if(handcuffed)
- overlays_standing[HANDCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', "handcuff1", -HANDCUFF_LAYER)
+ var/mutable_appearance/cuffs = mutable_appearance('icons/mob/restraints.dmi', handcuffed.item_state, -HANDCUFF_LAYER)
+ cuffs.color = handcuffed.color
+
+ overlays_standing[HANDCUFF_LAYER] = cuffs
apply_overlay(HANDCUFF_LAYER)
+/mob/living/carbon/update_inv_legcuffed()
+ remove_overlay(LEGCUFF_LAYER)
+ clear_alert("legcuffed")
+ if(legcuffed)
+ var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER)
+ legcuffs.color = handcuffed.color
+
+ overlays_standing[HANDCUFF_LAYER] = legcuffs
+ apply_overlay(LEGCUFF_LAYER)
+ throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed)
//mob HUD updates for items in our inventory
diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm
index fead80b021d7..6d3f2b90a30b 100644
--- a/code/modules/mob/living/inhand_holder.dm
+++ b/code/modules/mob/living/inhand_holder.dm
@@ -15,12 +15,6 @@
. = ..()
if(weight > MOB_SIZE_SMALL)
w_class = weight + 2 // rough conversion
- if(clothing_layer)
- alternate_worn_layer = clothing_layer
- if(held_icon)
- alternate_worn_icon = held_icon
- if(worn_state)
- item_state = worn_state
if(lh_icon)
lefthand_file = lh_icon
if(rh_icon)
@@ -119,4 +113,4 @@
held_mob = null
if(del_on_release && !destroying)
qdel(src)
- return TRUE
\ No newline at end of file
+ return TRUE
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index e1ea21f51d55..fbbf8491bf89 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -687,7 +687,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/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 408edc711098..b6fe86efe0db 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,7 @@
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'
- 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)
+ var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = DRONE_HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head/head.dmi')
head_overlay.pixel_y -= 15
drone_overlays[DRONE_HEAD_LAYER] = head_overlay
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 b3e0f3b658aa..9d451748b059 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/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 2c4a9820ec79..5b0e5dbdfb00 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,74 +19,74 @@
/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/mime
name = "mime's rubber stamp"
icon_state = "stamp-mime"
- item_color = "mime"
+ dye_color = DYE_MIME
/obj/item/stamp/cent
name = "centcom rubber stamp"
icon_state = "stamp-cent"
- item_color = "redcoat"
+ dye_color = DYE_REDCOAT
/obj/item/stamp/syndi
name = "knock-off syndicate rubber stamp"
desc = "Not a syndicate ripoff!"
icon_state = "stamp-syndi"
- item_color = "hosred"
+ dye_color = DYE_HOS
/obj/item/stamp/syndiround
name = "syndicate rubber stamp"
icon_state = "stamp-syndiround"
- item_color = "hosred"
+ dye_color = DYE_HOS
/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 4cd351a6c057..69de93873a67 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -478,7 +478,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
@@ -499,8 +499,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)
@@ -514,9 +514,9 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
. = ..()
var/list/cable_colors = GLOB.cable_colors
- item_color = param_color || item_color || pick(cable_colors)
- if(cable_colors[item_color])
- item_color = cable_colors[item_color]
+ cable_color = param_color || cable_color || pick(cable_colors)
+ if(cable_colors[cable_color])
+ cable_color = cable_colors[cable_color]
pixel_x = rand(-2,2)
pixel_y = rand(-2,2)
@@ -550,7 +550,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
icon_state = "[initial(item_state)][amount < 3 ? amount : ""]"
name = "cable [amount < 3 ? "piece" : "coil"]"
color = null
- add_atom_colour(item_color, FIXED_COLOUR_PRIORITY)
+ add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY)
/obj/item/stack/cable_coil/attack_hand(mob/user)
. = ..()
@@ -558,7 +558,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
return
var/obj/item/stack/cable_coil/new_cable = ..()
if(istype(new_cable))
- new_cable.item_color = item_color
+ new_cable.cable_color = cable_color
new_cable.update_icon()
//add cables to the stack
@@ -577,7 +577,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)
@@ -766,38 +766,38 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
/////////////////////////////
/obj/item/stack/cable_coil/red
- item_color = "red"
+ cable_color = "red"
color = "#ff0000"
/obj/item/stack/cable_coil/yellow
- item_color = "yellow"
+ cable_color = "yellow"
color = "#ffff00"
/obj/item/stack/cable_coil/blue
- item_color = "blue"
+ cable_color = "blue"
color = "#1919c8"
/obj/item/stack/cable_coil/green
- item_color = "green"
+ cable_color = "green"
color = "#00aa00"
/obj/item/stack/cable_coil/pink
- item_color = "pink"
+ cable_color = "pink"
color = "#ff3ccd"
/obj/item/stack/cable_coil/orange
- item_color = "orange"
+ cable_color = "orange"
color = "#ff8000"
/obj/item/stack/cable_coil/cyan
- item_color = "cyan"
+ cable_color = "cyan"
color = "#00ffff"
/obj/item/stack/cable_coil/white
- item_color = "white"
+ cable_color = "white"
/obj/item/stack/cable_coil/random
- item_color = null
+ cable_color = null
color = "#ffffff"
/obj/item/stack/cable_coil/random/thirty
@@ -819,36 +819,36 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
update_icon()
/obj/item/stack/cable_coil/cut/red
- item_color = "red"
+ cable_color = "red"
color = "#ff0000"
/obj/item/stack/cable_coil/cut/yellow
- item_color = "yellow"
+ cable_color = "yellow"
color = "#ffff00"
/obj/item/stack/cable_coil/cut/blue
- item_color = "blue"
+ cable_color = "blue"
color = "#1919c8"
/obj/item/stack/cable_coil/cut/green
- item_color = "green"
+ cable_color = "green"
color = "#00aa00"
/obj/item/stack/cable_coil/cut/pink
- item_color = "pink"
+ cable_color = "pink"
color = "#ff3ccd"
/obj/item/stack/cable_coil/cut/orange
- item_color = "orange"
+ cable_color = "orange"
color = "#ff8000"
/obj/item/stack/cable_coil/cut/cyan
- item_color = "cyan"
+ cable_color = "cyan"
color = "#00ffff"
/obj/item/stack/cable_coil/cut/white
- item_color = "white"
+ cable_color = "white"
/obj/item/stack/cable_coil/cut/random
- item_color = null
+ cable_color = null
color = "#ffffff"
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 9299e3766bc2..bd021acb8192 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -176,7 +176,7 @@
/obj/item/clothing/glasses/sunglasses/cheap = 2,
/obj/item/clothing/glasses/yogs/threed = 2,
/obj/item/clothing/shoes/sneakers/black = 3,
- /obj/item/clothing/shoes/yogs/fire_crocs = 1,
+ /obj/item/clothing/shoes/fire_crocs = 1,
/obj/item/clothing/shoes/winterboots = 2,
/obj/item/clothing/shoes/singery = 1,
/obj/item/clothing/shoes/singerb = 1,
diff --git a/icons/effects/clothing.dmi b/icons/effects/clothing.dmi
new file mode 100644
index 000000000000..a01a5471458f
Binary files /dev/null and b/icons/effects/clothing.dmi differ
diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi
index c50351eef374..21238366f198 100644
Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ
diff --git a/icons/mob/alienqueen.dmi b/icons/mob/alienqueen.dmi
index 115bd17cb0b1..3a7ab277da1b 100644
Binary files a/icons/mob/alienqueen.dmi and b/icons/mob/alienqueen.dmi differ
diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi
deleted file mode 100644
index fb98e52df80a..000000000000
Binary files a/icons/mob/belt.dmi and /dev/null differ
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/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
new file mode 100644
index 000000000000..79200b629135
Binary files /dev/null and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/ears.dmi b/icons/mob/clothing/ears/ears.dmi
similarity index 100%
rename from icons/mob/ears.dmi
rename to icons/mob/clothing/ears/ears.dmi
diff --git a/icons/mob/eyes.dmi b/icons/mob/clothing/eyes/eyes.dmi
similarity index 100%
rename from icons/mob/eyes.dmi
rename to icons/mob/clothing/eyes/eyes.dmi
diff --git a/icons/mob/feet.dmi b/icons/mob/clothing/feet/feet.dmi
similarity index 100%
rename from icons/mob/feet.dmi
rename to icons/mob/clothing/feet/feet.dmi
diff --git a/icons/mob/clothing/hands/hands.dmi b/icons/mob/clothing/hands/hands.dmi
new file mode 100644
index 000000000000..7b0c692a3492
Binary files /dev/null and b/icons/mob/clothing/hands/hands.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/clothing/head/head.dmi
similarity index 100%
rename from icons/mob/head.dmi
rename to icons/mob/clothing/head/head.dmi
diff --git a/icons/mob/clothing/id/id.dmi b/icons/mob/clothing/id/id.dmi
new file mode 100644
index 000000000000..afaaccef27a9
Binary files /dev/null and b/icons/mob/clothing/id/id.dmi differ
diff --git a/icons/mob/mask.dmi b/icons/mob/clothing/mask/mask.dmi
similarity index 100%
rename from icons/mob/mask.dmi
rename to icons/mob/clothing/mask/mask.dmi
diff --git a/icons/mob/clothing/neck/neck.dmi b/icons/mob/clothing/neck/neck.dmi
new file mode 100644
index 000000000000..817d108ea8ad
Binary files /dev/null and b/icons/mob/clothing/neck/neck.dmi differ
diff --git a/icons/mob/clothing/neck/sheets.dmi b/icons/mob/clothing/neck/sheets.dmi
new file mode 100644
index 000000000000..469a1f209816
Binary files /dev/null and b/icons/mob/clothing/neck/sheets.dmi differ
diff --git a/icons/mob/clothing/neck/skillcapes.dmi b/icons/mob/clothing/neck/skillcapes.dmi
new file mode 100644
index 000000000000..bb190a24eaf0
Binary files /dev/null and b/icons/mob/clothing/neck/skillcapes.dmi differ
diff --git a/icons/mob/clothing/sprite_accessories/socks.dmi b/icons/mob/clothing/sprite_accessories/socks.dmi
new file mode 100644
index 000000000000..2b3d0a0b5c89
Binary files /dev/null and b/icons/mob/clothing/sprite_accessories/socks.dmi differ
diff --git a/icons/mob/clothing/sprite_accessories/undershirt.dmi b/icons/mob/clothing/sprite_accessories/undershirt.dmi
new file mode 100644
index 000000000000..265c33e63591
Binary files /dev/null and b/icons/mob/clothing/sprite_accessories/undershirt.dmi differ
diff --git a/icons/mob/clothing/sprite_accessories/underwear.dmi b/icons/mob/clothing/sprite_accessories/underwear.dmi
new file mode 100644
index 000000000000..512e9a31503b
Binary files /dev/null and b/icons/mob/clothing/sprite_accessories/underwear.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/clothing/suit/suit.dmi
similarity index 100%
rename from icons/mob/suit.dmi
rename to icons/mob/clothing/suit/suit.dmi
diff --git a/icons/mob/belt_mirror.dmi b/icons/mob/clothing/suit_storage.dmi
similarity index 100%
rename from icons/mob/belt_mirror.dmi
rename to icons/mob/clothing/suit_storage.dmi
diff --git a/icons/mob/uniform.dmi b/icons/mob/clothing/uniform/uniform.dmi
similarity index 99%
rename from icons/mob/uniform.dmi
rename to icons/mob/clothing/uniform/uniform.dmi
index d98321f574e3..ff5d7802e347 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/clothing/uniform/uniform.dmi differ
diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi
deleted file mode 100644
index b9f27f2ed0e3..000000000000
Binary files a/icons/mob/hands.dmi and /dev/null differ
diff --git a/icons/mob/inhands/equipment/security_lefthand.dmi b/icons/mob/inhands/equipment/security_lefthand.dmi
index 6ccdfba3fce4..e669626e38f7 100644
Binary files a/icons/mob/inhands/equipment/security_lefthand.dmi and b/icons/mob/inhands/equipment/security_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/security_righthand.dmi b/icons/mob/inhands/equipment/security_righthand.dmi
index e3f930a13e8f..8963ae53b440 100644
Binary files a/icons/mob/inhands/equipment/security_righthand.dmi and b/icons/mob/inhands/equipment/security_righthand.dmi differ
diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi
index 3f1756ca8c37..22c6ca201f4d 100644
Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ
diff --git a/icons/mob/restraints.dmi b/icons/mob/restraints.dmi
new file mode 100644
index 000000000000..6e22ac1d58d1
Binary files /dev/null and b/icons/mob/restraints.dmi differ
diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi
deleted file mode 100644
index c08805567f2f..000000000000
Binary files a/icons/mob/underwear.dmi and /dev/null differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 1cf575f0ab5b..6f3ef5f97f91 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/handcuffs.dmi b/icons/obj/handcuffs.dmi
index c388098bf3fd..b3abdb722bc3 100644
Binary files a/icons/obj/handcuffs.dmi and b/icons/obj/handcuffs.dmi differ
diff --git a/yogstation.dme b/yogstation.dme
index 7365454bafb8..5bea18dda1e9 100644
--- a/yogstation.dme
+++ b/yogstation.dme
@@ -43,6 +43,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\dynamic.dm"
#include "code\__DEFINES\economy.dm"
#include "code\__DEFINES\events.dm"
diff --git a/yogstation/code/game/gamemodes/vampire/vampire_other.dm b/yogstation/code/game/gamemodes/vampire/vampire_other.dm
index 88783818d3c8..65549012fb63 100644
--- a/yogstation/code/game/gamemodes/vampire/vampire_other.dm
+++ b/yogstation/code/game/gamemodes/vampire/vampire_other.dm
@@ -7,7 +7,7 @@
/obj/item/clothing/suit/draculacoat
name = "Vampire Coat"
desc = "What is a man? A miserable little pile of secrets."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "draculacoat"
item_state = "draculacoat"
diff --git a/yogstation/code/game/objects/items/melee/energy.dm b/yogstation/code/game/objects/items/melee/energy.dm
index 82ccb8476dc1..43adcdf8c2bb 100644
--- a/yogstation/code/game/objects/items/melee/energy.dm
+++ b/yogstation/code/game/objects/items/melee/energy.dm
@@ -3,7 +3,7 @@
var/color = input(user, "Select a color!", "Esword color") as null|anything in list("red", "green", "blue", "purple", "rainbow")
if(!color)
return
- item_color = color
+ saber_color = color
if(active)
icon_state = "sword[color]"
@@ -21,4 +21,4 @@
return ..()
return ..()
else
- return 0
\ No newline at end of file
+ return 0
diff --git a/yogstation/code/game/objects/items/storage/backpack.dm b/yogstation/code/game/objects/items/storage/backpack.dm
index a0d47ba00df4..f14d5d7b417f 100644
--- a/yogstation/code/game/objects/items/storage/backpack.dm
+++ b/yogstation/code/game/objects/items/storage/backpack.dm
@@ -8,8 +8,8 @@
/obj/item/storage/backpack/holding/build_worn_icon(var/state = "", var/default_layer = 0, var/default_icon_file = null, var/isinhands = FALSE, var/femaleuniform = NO_FEMALE_UNIFORM)
state = item_state
- if(default_icon_file == 'icons/mob/head.dmi')
- default_icon_file = 'yogstation/icons/mob/head.dmi' // thats a fun dilemma.... how to keep the tg sprites when doing back but do yogs sprites when worn on head.
+ if(default_icon_file == 'icons/mob/clothing/head/head.dmi')
+ default_icon_file = 'yogstation/icons/mob/clothing/head/head.dmi' // thats a fun dilemma.... how to keep the tg sprites when doing back but do yogs sprites when worn on head.
return ..()
/obj/item/storage/backpack/holding/attackby(obj/item/W, mob/living/user)
@@ -183,7 +183,7 @@
name = "snail shell"
desc = "You wonder who this came from."
icon = 'yogstation/icons/obj/storage.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi'
item_state = "snail_green"
icon_state = "snail_green"
slowdown = 1
@@ -199,7 +199,7 @@
name = "green shell backpack"
desc = "An emerald-green snail shell converted into a backpack. Still smells of salt."
icon = 'yogstation/icons/obj/storage.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi'
item_state = "snail_green"
icon_state = "snail_green"
@@ -207,7 +207,7 @@
name = "banana backpack"
desc = "Is it a backpack made of bananas or a backpack with a banana texture? The world may never know."
icon = 'yogstation/icons/obj/storage.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi'
icon_state = "bananabackpack"
item_state = "bananabackpack"
@@ -215,7 +215,7 @@
name = "clown face backpack"
desc = "Sometimes there are some things better left off not existing, this is one of them."
icon = 'yogstation/icons/obj/storage.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi'
icon_state = "clownfacebackpack"
item_state = "clownfacebackpack"
diff --git a/yogstation/code/game/objects/structures/bedsheet_bin.dm b/yogstation/code/game/objects/structures/bedsheet_bin.dm
index 7020a40681fd..8a9b585345d5 100644
--- a/yogstation/code/game/objects/structures/bedsheet_bin.dm
+++ b/yogstation/code/game/objects/structures/bedsheet_bin.dm
@@ -9,9 +9,8 @@ LINEN BINS
//The description is a reference to the Medical Blanket's description.
desc = "It's a very unsterile blanket used in Virology, covered in pathogens of all sorts. You probably shouldn't wear this one."
icon = 'yogstation/icons/obj/bedsheets.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/neck.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/neck/neck.dmi'
icon_state = "sheetvirology"
- item_color = "virologywhite"
dream_messages = list("plague", "green", "sneezing", "a virologist")
newbedpath = null
@@ -19,7 +18,6 @@ LINEN BINS
name = "prisoner's blanket"
desc = "An old, heavy-duty, Nanotrasen-issue prison bedsheet. You try not to think about where those stains came from..."
icon = 'yogstation/icons/obj/bedsheets.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/neck.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/neck/neck.dmi'
icon_state = "sheetprisoner"
- item_color = "prisoner"
- dream_messages = list("a prison cell", "orange", "a warden", "filth", "captivity", "shackles", "misconduct", "depravity")
\ No newline at end of file
+ dream_messages = list("a prison cell", "orange", "a warden", "filth", "captivity", "shackles", "misconduct", "depravity")
diff --git a/yogstation/code/modules/antagonists/infiltrator/items/hardsuit.dm b/yogstation/code/modules/antagonists/infiltrator/items/hardsuit.dm
index 92a611bfbe09..a5c0a8780c40 100644
--- a/yogstation/code/modules/antagonists/infiltrator/items/hardsuit.dm
+++ b/yogstation/code/modules/antagonists/infiltrator/items/hardsuit.dm
@@ -2,7 +2,6 @@
name = "engineering hardsuit helmet"
icon_state = "hardsuit0-engineering"
item_state = "eng_helm"
- item_color = "engineering"
armor = list(MELEE = 35, BULLET = 15, LASER = 30,ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75)
syndicate = TRUE
diff --git a/yogstation/code/modules/antagonists/shadowling/shadowling_items.dm b/yogstation/code/modules/antagonists/shadowling/shadowling_items.dm
index 96538f5b745a..5e0ac3598af2 100644
--- a/yogstation/code/modules/antagonists/shadowling/shadowling_items.dm
+++ b/yogstation/code/modules/antagonists/shadowling/shadowling_items.dm
@@ -1,7 +1,7 @@
/obj/item/clothing/suit/space/shadowling
name = "chitin shell"
desc = "A dark, semi-transparent shell. Protects against vacuum, but not against the light of the stars." //Still takes damage from spacewalking but is immune to space itself
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "sl_shell"
item_state = "sl_shell"
@@ -24,7 +24,7 @@
/obj/item/clothing/head/shadowling
name = "chitin helm"
desc = "A helmet-like enclosure of the head."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "sl_head"
item_state = "sl_head"
diff --git a/yogstation/code/modules/clothing/clothing.dm b/yogstation/code/modules/clothing/clothing.dm
index f0743536ebca..c8a3cc879d86 100644
--- a/yogstation/code/modules/clothing/clothing.dm
+++ b/yogstation/code/modules/clothing/clothing.dm
@@ -1,48 +1,48 @@
/obj/item/clothing/ears/yogs
- alternate_worn_icon = 'yogstation/icons/mob/ears.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/ears/ears.dmi'
icon = 'yogstation/icons/obj/clothing/ears.dmi'
/obj/item/clothing/glasses/yogs
- alternate_worn_icon = 'yogstation/icons/mob/eyes.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/eyes/eyes.dmi'
icon = 'yogstation/icons/obj/clothing/glasses.dmi'
/obj/item/clothing/gloves/yogs
- alternate_worn_icon = 'yogstation/icons/mob/hands.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/hands/hands.dmi'
icon = 'yogstation/icons/obj/clothing/gloves.dmi'
/obj/item/clothing/head/yogs
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
/obj/item/clothing/neck/yogs
- alternate_worn_icon = 'yogstation/icons/mob/neck.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/neck/neck.dmi'
icon = 'yogstation/icons/obj/clothing/neck.dmi'
/obj/item/clothing/mask/yogs
- alternate_worn_icon = 'yogstation/icons/mob/mask.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/mask/mask.dmi'
icon = 'yogstation/icons/obj/clothing/masks.dmi'
/obj/item
var/list/alternate_screams = list()
/obj/item/clothing/shoes/yogs
- alternate_worn_icon = 'yogstation/icons/mob/feet.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/feet/feet.dmi'
icon = 'yogstation/icons/obj/clothing/shoes.dmi'
/obj/item/clothing/suit/yogs
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
/obj/item/clothing/under/yogs
- alternate_worn_icon = 'yogstation/icons/mob/uniform.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/uniform/uniform.dmi'
icon = 'yogstation/icons/obj/clothing/uniforms.dmi'
/obj/item/clothing/back/yogs
- alternate_worn_icon = 'yogstation/icons/mob/back.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/back.dmi'
icon = 'yogstation/icons/obj/clothing/back.dmi'
/obj/item/storage/belt/yogs
- alternate_worn_icon = 'yogstation/icons/mob/belt.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/belt.dmi'
icon = 'yogstation/icons/obj/clothing/belts.dmi'
/obj/item/clothing/torncloth
diff --git a/yogstation/code/modules/clothing/fishing.dm b/yogstation/code/modules/clothing/fishing.dm
index 7db4e23128a9..c695fc89130e 100644
--- a/yogstation/code/modules/clothing/fishing.dm
+++ b/yogstation/code/modules/clothing/fishing.dm
@@ -3,7 +3,7 @@
desc = "She said she's down to fish!"
icon_state = "fishing_cap"
item_state = "fishing_cap"
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
/obj/item/clothing/head/fishing/Initialize()
@@ -15,7 +15,7 @@
desc = "As she banging my line, she wastin my time."
icon_state = "fishing_vest"
item_state = "fishing_vest"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
/obj/item/clothing/suit/fishing/Initialize()
@@ -27,7 +27,7 @@
desc = "Packin my tackle box down by the brook."
icon_state = "fishing_gloves"
item_state = "fishing_gloves"
- alternate_worn_icon = 'yogstation/icons/mob/hands.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/hands/hands.dmi'
icon = 'yogstation/icons/obj/clothing/gloves.dmi'
/obj/item/clothing/gloves/fishing/Initialize()
@@ -39,7 +39,7 @@
desc = "We livin' the life, if we ain't going fishing then don't waste my time."
icon_state = "fishing_sandals"
item_state = "fishing_sandals"
- alternate_worn_icon = 'yogstation/icons/mob/feet.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/feet/feet.dmi'
icon = 'yogstation/icons/obj/clothing/shoes.dmi'
/obj/item/clothing/shoes/fishing/Initialize()
diff --git a/yogstation/code/modules/clothing/head.dm b/yogstation/code/modules/clothing/head.dm
index beb535d073f6..a640060b48e8 100644
--- a/yogstation/code/modules/clothing/head.dm
+++ b/yogstation/code/modules/clothing/head.dm
@@ -44,7 +44,7 @@
name = "nam helmet"
desc = "An ancient war helmet that is perfect for protecting your noggin from greytide clobberin'!"
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "namhelm"
item_state = "namhelm"
@@ -118,7 +118,7 @@
name = "war helmet"
desc = "Get ready boys, we are going to war!"
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "kr_helm"
item_state = "kr_helm"
@@ -144,7 +144,7 @@
name = "corporate warden beret"
desc = "A special black beret with a warden's insignia in the middle. This one is commonly worn by wardens of the corporation."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_corporate_warden"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 30, acid = 60)
strip_delay = 60
@@ -153,7 +153,7 @@
name = "corporate security beret"
desc = "A special black beret for the mundane life of a corporate security officer."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_corporate_officer"
armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0, fire = 20, acid = 50)
strip_delay = 60
@@ -162,7 +162,7 @@
name = "engineering beret"
desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_engineering"
armor = list(rad = 10, fire = 10)
strip_delay = 60
@@ -171,7 +171,7 @@
name = "atmospherics beret"
desc = "A beret for those who have shown immaculate proficiency in piping. Or plumbing."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_atmospherics"
armor = list(rad = 10, fire = 10)
strip_delay = 60
@@ -180,7 +180,7 @@
name = "chief engineer beret"
desc = "A white beret with the engineering insignia emblazoned on it. Its owner knows what they're doing. Probably."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_ce"
armor = list(rad = 20, fire = 30)
strip_delay = 60
@@ -189,7 +189,7 @@
name = "science beret"
desc = "A purple beret with the science insignia emblazoned on it. It has that authentic burning plasma smell."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_sci"
armor = list(bomb = 5, bio = 5, fire = 5, acid = 10)
strip_delay = 60
@@ -198,7 +198,7 @@
name = "medical beret"
desc = "A white beret with a blue cross finely threaded into it. It has that sterile smell about it."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_med"
armor = list(bio = 20)
strip_delay = 60
@@ -207,7 +207,7 @@
name = "chief medical officer beret"
desc = "A baby blue beret with the insignia of Medistan. It smells very sterile."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_cmo"
armor = list(bio = 30, acid = 20)
strip_delay = 60
@@ -216,7 +216,7 @@
name = "captain beret"
desc = "A lovely blue Captain beret with a gold and white insignia."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_captain"
armor = list(melee = 50, bullet = 30, laser = 20, energy = 10, bomb = 15, bio = 10, rad = 10, fire = 10, acid = 60)
strip_delay = 90
@@ -227,7 +227,7 @@
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "demonwelding"
item_state = "demonwelding"
@@ -237,7 +237,7 @@
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "knightwelding"
item_state = "welding"
@@ -247,7 +247,7 @@
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "fancywelding"
item_state = "fancywelding"
@@ -257,7 +257,7 @@
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "engiewelding"
item_state = "engiewelding"
@@ -267,14 +267,14 @@
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "carpwelding"
item_state = "carpwelding"
/obj/item/clothing/head/milliondollarhat
name = "millionaires hat"
desc = "On a small label at the bottom of the hat it reads.'My name is Doug Dimmadome, owner of the Dimmsdale Dimmadome and thank you for buying one of my top quality dimmahats!' On a even smaller label hidden in the small label it reads 'No refunds'."
- alternate_worn_icon = 'yogstation/icons/mob/large-worn-icons/1024x1024/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/large-worn-icons/1024x1024/head.dmi'
icon = 'yogstation/icons/obj/clothing/1024x1024/hats.dmi'
icon_state = "milliondollarhat"
item_state = "milliondollarhat"
@@ -282,4 +282,4 @@
worn_y_dimension = 1024
armor = list(melee = 20) //lets say the hat itself doesnt provide any melee protection but people are so shocked at how huge your hat is they unconsciously soften there blows as to not hurt the hat.
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
- strip_delay = 120
\ No newline at end of file
+ strip_delay = 120
diff --git a/yogstation/code/modules/clothing/head/jobs.dm b/yogstation/code/modules/clothing/head/jobs.dm
index ef77471ccc55..e6b38c196b2f 100644
--- a/yogstation/code/modules/clothing/head/jobs.dm
+++ b/yogstation/code/modules/clothing/head/jobs.dm
@@ -15,9 +15,8 @@
name = "Brig Physician's cap"
desc = "It's a baseball hat with a dark brown color and a reflective cross on the top. Has BP embossed into it."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "emtsecsoft"
- item_color = "emtsec"
/obj/item/clothing/head/beret/med/phys
name = "Brig Physician's beret"
@@ -28,6 +27,6 @@
name = "corporate physician beret"
desc = "A special black beret for the mundane life of a corporate brig physician."
icon = 'yogstation/icons/obj/clothing/hats.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "beret_corporate_phys"
armor = list(BIO = 20) //So it isnt a direct upgrade over the normal berret
diff --git a/yogstation/code/modules/clothing/head/misc.dm b/yogstation/code/modules/clothing/head/misc.dm
index 4871066956ea..b031095e865d 100644
--- a/yogstation/code/modules/clothing/head/misc.dm
+++ b/yogstation/code/modules/clothing/head/misc.dm
@@ -29,7 +29,7 @@
/obj/item/clothing/head/helmet/juggernaut
name = "Juggernaut Helmet"
desc = "I...am...the...JUGGERNAUT!!!."
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "juggernauthelm"
item_state = "juggernauthelm"
@@ -50,7 +50,7 @@
/obj/item/clothing/head/yogs/goatpope
name = "goat pope hat"
desc = "And on the seventh day King Goat said there will be cabbage!"
- alternate_worn_icon = 'yogstation/icons/mob/large-worn-icons/64x64/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/large-worn-icons/64x64/head.dmi'
icon_state = "goatpope"
item_state = "goatpope"
worn_x_dimension = 64
diff --git a/yogstation/code/modules/clothing/mask.dm b/yogstation/code/modules/clothing/mask.dm
index 95346d6e5c1b..150007abc4fa 100644
--- a/yogstation/code/modules/clothing/mask.dm
+++ b/yogstation/code/modules/clothing/mask.dm
@@ -206,7 +206,7 @@
name = "banana mask"
desc = "Do you want a banana?"
clothing_flags = MASKINTERNALS
- alternate_worn_icon = 'yogstation/icons/mob/large-worn-icons/64x64/masks.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/large-worn-icons/64x64/masks.dmi'
icon_state = "bananamask"
item_state = "bananamask"
worn_x_dimension = 64
diff --git a/yogstation/code/modules/clothing/neck/_neck.dm b/yogstation/code/modules/clothing/neck/_neck.dm
index 5cfd27b63f2d..106374ac49dd 100644
--- a/yogstation/code/modules/clothing/neck/_neck.dm
+++ b/yogstation/code/modules/clothing/neck/_neck.dm
@@ -2,59 +2,59 @@
name = "striped white 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."
icon_state = "stripescarf"
- item_color = "white"
+ dye_color = DYE_WHITE
custom_price = 10
/obj/item/clothing/neck/yogs/stripedscarf/black
name = "striped black scarf"
- item_color = "black"
+ dye_color = DYE_BLACK
icon_state = "stripedscarf"
color = "#4A4A4B" //Grey but it looks black
/obj/item/clothing/neck/yogs/stripedscarf/pink
name = "striped pink scarf"
- item_color = "pink"
+ dye_color = DYE_RED
icon_state = "stripedscarf"
color = "#F699CD" //Pink
/obj/item/clothing/neck/yogs/stripedscarf/red
name = "striped red scarf"
- item_color = "red"
+ dye_color = DYE_RED
icon_state = "stripedscarf"
color = "#D91414" //Red
/obj/item/clothing/neck/yogs/stripedscarf/green
name = "striped green scarf"
- item_color = "green"
+ dye_color = DYE_GREEN
icon_state = "stripedscarf"
color = "#5C9E54" //Green
/obj/item/clothing/neck/yogs/stripedscarf/darkblue
name = "striped dark blue scarf"
- item_color = "blue"
+ dye_color = DYE_BLUE
icon_state = "stripedscarf"
color = "#1E85BC" //Blue
/obj/item/clothing/neck/yogs/stripedscarf/purple
name = "striped purple scarf"
- item_color = "purple"
+ dye_color = DYE_PURPLE
icon_state = "stripedscarf"
color = "#9557C5" //Purple
/obj/item/clothing/neck/yogs/stripedscarf/yellow
name = "striped yellow scarf"
- item_color = "yellow"
+ dye_color = DYE_YELLOW
icon_state = "stripedscarf"
color = "#E0C14F" //Yellow
/obj/item/clothing/neck/yogs/stripedscarf/orange
name = "striped orange scarf"
- item_color = "orange"
+ dye_color = DYE_ORANGE
icon_state = "stripedscarf"
color = "#C67A4B" //Orange
/obj/item/clothing/neck/yogs/stripedscarf/cyan
name = "striped cyan scarf"
- item_color = "cyan"
+ dye_color = DYE_BLUE
icon_state = "stripedscarf"
- color = "#54A3CE" //Cyan
\ No newline at end of file
+ color = "#54A3CE" //Cyan
diff --git a/yogstation/code/modules/clothing/shoe.dm b/yogstation/code/modules/clothing/shoe.dm
index 76620a4684fc..297b57fae76d 100644
--- a/yogstation/code/modules/clothing/shoe.dm
+++ b/yogstation/code/modules/clothing/shoe.dm
@@ -3,7 +3,6 @@
name = "clown shoes"
icon_state = "cluwne"
item_state = "cluwne"
- item_color = "cluwne"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
item_flags = DROPDEL
slowdown = SHOES_SLOWDOWN+1
diff --git a/yogstation/code/modules/clothing/shoes/miscellaneous.dm b/yogstation/code/modules/clothing/shoes/miscellaneous.dm
index 9122b6ae89e6..0702e7f15d0c 100644
--- a/yogstation/code/modules/clothing/shoes/miscellaneous.dm
+++ b/yogstation/code/modules/clothing/shoes/miscellaneous.dm
@@ -17,7 +17,7 @@
name = "scary clown shoes"
desc = "Clown shoes often seen being worn by sewer clowns."
icon = 'yogstation/icons/obj/clothing/shoes.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/feet.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/feet/feet.dmi'
icon_state = "scaryclownshoes"
item_state = "scaryclownshoes"
@@ -25,7 +25,7 @@
name = "bee shoes"
desc = "It's hip to wear bees."
icon = 'yogstation/icons/obj/clothing/shoes.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/feet.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/feet/feet.dmi'
icon_state = "bee_shoes"
item_state = "bee_shoes"
@@ -40,10 +40,9 @@
permeability_coefficient = 0.05 //Thick soles, and covers the ankle
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
-/obj/item/clothing/shoes/yogs/fire_crocs
+/obj/item/clothing/shoes/fire_crocs
name = "fire crocs"
desc = "You are now the coolest kid on the station."
icon = 'icons/obj/clothing/shoes.dmi'
- alternate_worn_icon = 'icons/mob/feet.dmi'
icon_state = "fire_crocs"
- item_state = "fire_crocs"
\ No newline at end of file
+ item_state = "fire_crocs"
diff --git a/yogstation/code/modules/clothing/suits/armor.dm b/yogstation/code/modules/clothing/suits/armor.dm
index fd90d69eb8f6..4300349f6900 100644
--- a/yogstation/code/modules/clothing/suits/armor.dm
+++ b/yogstation/code/modules/clothing/suits/armor.dm
@@ -12,7 +12,7 @@
/obj/item/clothing/suit/armor/vest/rycliesarmour
name = "war armour"
desc = "Good for protecting your chest during war."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "rycliesarmour"
item_state = "rycliesarmour"
@@ -20,7 +20,7 @@
/obj/item/clothing/suit/armor/vest/namflakjacket
name = "nam flak jacket"
desc = "Good for protecting your chest from napalm and toolboxes!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "namflakjacket"
item_state = "namflakjacket"
@@ -28,7 +28,7 @@
/obj/item/clothing/suit/armor/vest/redcoatcoat
name = "redcoat coat"
desc = "Security is coming! Security is coming! Also padded with kevlar for protection."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "red_coat_coat"
item_state = "red_coat_coat"
@@ -36,7 +36,7 @@
/obj/item/clothing/suit/armor/vest/secmiljacket
name = "sec military jacket"
desc = "Aviators not included. Now with extra padding!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "secmiljacket"
item_state = "secmiljacket"
@@ -44,7 +44,7 @@
/obj/item/clothing/suit/armor/vest/hosjacket
name = "head of security jacket"
desc = "all the style of a jacket with all the protection of a armor vest!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "hos_jacket"
item_state = "hos_item"
@@ -52,7 +52,7 @@
/obj/item/clothing/suit/armor/vest/wardenjacket
name = "warden's black jacket"
desc = "all the style of a jacket with all the protection of a armor vest!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "warden_jacket"
item_state = "warden_item"
@@ -60,7 +60,7 @@
/obj/item/clothing/suit/armor/hos/germancoat
name = "padded german coat"
desc = "for those cold german winters or for those head of securitys that want to show their true colors."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "german_coat"
item_state = "german_item"
@@ -73,7 +73,7 @@
/obj/item/clothing/suit/armor/vest/sovietcoat
name = "soviet coat"
desc = "Glory to Arstotzka! Now with padding protection!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "soviet_coat"
item_state = "soviet_item"
@@ -81,7 +81,7 @@
/obj/item/clothing/suit/armor/vest/rurmcoat
name = "russian officer coat"
desc = "Papers please. Now with padding protection!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "ru_rmcoat"
item_state = "ru_rmcoat"
@@ -89,7 +89,7 @@
/obj/item/clothing/suit/armor/heavy/juggernaut
name = "Juggernaut Suit"
desc = "I...am...the...JUGGERNAUT!!!"
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "juggernaut"
item_state = "juggernaut"
diff --git a/yogstation/code/modules/clothing/suits/labcoat.dm b/yogstation/code/modules/clothing/suits/labcoat.dm
index 664f6b439c1a..eb75b8119367 100644
--- a/yogstation/code/modules/clothing/suits/labcoat.dm
+++ b/yogstation/code/modules/clothing/suits/labcoat.dm
@@ -9,15 +9,14 @@
/obj/item/clothing/suit/toggle/labcoat/emt/physician
name = "brig physicians jacket"
desc = "A protective jacket for medical emergencies on off-world planets. Has BP embossed into it."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "labcoat_emtsec"
- item_color = "labcoat_emtsec"
/obj/item/clothing/suit/toggle/labcoat/physician
name = "brig physician's labcoat"
desc = "A white labcoat with red medical crosses. Has BP embossed into it."
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "labcoat_sec"
item_state = "labcoat_sec"
diff --git a/yogstation/code/modules/clothing/suits/miscellaneous.dm b/yogstation/code/modules/clothing/suits/miscellaneous.dm
index 1329a1f231e3..827ed514338a 100644
--- a/yogstation/code/modules/clothing/suits/miscellaneous.dm
+++ b/yogstation/code/modules/clothing/suits/miscellaneous.dm
@@ -1,5 +1,5 @@
/obj/item/clothing/suit/hooded/wintercoat/engineering/tcomms
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "network admin's winter coat"
icon_state = "coatsignaltech"
@@ -7,7 +7,7 @@
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering/tcomms
/obj/item/clothing/head/hooded/winterhood/engineering/tcomms
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "winterhood_signaltech"
@@ -22,7 +22,7 @@
icon_state = "blackwhitesweat"
/obj/item/clothing/suit/hooded/wintercoat/bluecoat
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "Blue winter coat"
icon_state = "coatwinterblue"
@@ -30,7 +30,7 @@
hoodtype = /obj/item/clothing/head/hooded/winterhood/bluecoat
/obj/item/clothing/head/hooded/winterhood/bluecoat
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "winterhood_blue"
@@ -53,7 +53,7 @@
item_state = "hamiltoncoat"
/obj/item/clothing/suit/hooded/sandsuit
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "sand suit"
desc = "A suit often worn by desert nomads."
@@ -63,7 +63,7 @@
hoodtype = /obj/item/clothing/head/hooded/sandsuit
/obj/item/clothing/head/hooded/sandsuit
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "sandsuit"
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDEHAIR
@@ -126,7 +126,7 @@
name = "robotics steampunk labcoat"
desc = "A labcoat with a steampunk design to it for a roboticist."
icon = 'yogstation/icons/obj/clothing/suits.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon_state = "wardt_lab"
item_state = "wardt_lab"
@@ -134,7 +134,7 @@
name = "robotics fancy labcoat"
desc = "A labcoat with a few markings denoting it as a labcoat for a roboticist."
icon = 'yogstation/icons/obj/clothing/suits.dmi'
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon_state = "aeneasrinil"
item_state = "aeneasrinil"
@@ -190,7 +190,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/box/fancy/cigarettes, /obj/item/lighter, /obj/item/radio)
/obj/item/clothing/suit/hooded/fiendcowl
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "fiend cowl"
desc = "Only a really evil person would wear such a fiendish cowl!"
@@ -200,13 +200,13 @@
hoodtype = /obj/item/clothing/head/hooded/fiendhood
/obj/item/clothing/head/hooded/fiendhood
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "fiendhood"
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDEHAIR
/obj/item/clothing/suit/hooded/eldritchcowl
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "eldritch cowl"
desc = "A tattered heretical cloak from a time long passed."
@@ -216,7 +216,7 @@
hoodtype = /obj/item/clothing/head/hooded/eldritchhood
/obj/item/clothing/head/hooded/eldritchhood
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "eldritchhood"
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDEHAIR|HIDEMASK
@@ -228,7 +228,7 @@
item_state = "infsuit"
/obj/item/clothing/suit/hooded/caretakercloak
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "caretaker cloak"
desc = "Yeah, he will 'take care' of you alright."
@@ -238,7 +238,7 @@
hoodtype = /obj/item/clothing/head/hooded/caretakerhood
/obj/item/clothing/head/hooded/caretakerhood
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "caretakerhood"
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDEHAIR
@@ -306,7 +306,7 @@
/obj/item/clothing/suit/hooded/spesshoodie
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
name = "spess hoodie"
desc = "A hoodie...IN SPESS!!!"
@@ -316,7 +316,7 @@
hoodtype = /obj/item/clothing/head/hooded/spesshoodie
/obj/item/clothing/head/hooded/spesshoodie
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon = 'yogstation/icons/obj/clothing/hats.dmi'
icon_state = "spesshoodie"
flags_inv = HIDEEARS|HIDEHAIR
diff --git a/yogstation/code/modules/clothing/under.dm b/yogstation/code/modules/clothing/under.dm
index e6ad6332cc09..05dd58e6d72c 100644
--- a/yogstation/code/modules/clothing/under.dm
+++ b/yogstation/code/modules/clothing/under.dm
@@ -4,7 +4,6 @@
alternate_screams = list('yogstation/sound/voice/cluwnelaugh1.ogg','yogstation/sound/voice/cluwnelaugh2.ogg','yogstation/sound/voice/cluwnelaugh3.ogg')
icon_state = "cluwne"
item_state = "cluwne"
- item_color = "cluwne"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
item_flags = DROPDEL
can_adjust = 0
@@ -26,7 +25,6 @@
desc = "'An old uniform that was used as a mascot in commercial advertising to make children smile while in other places slaughtering children.'"
icon_state = "ronald_s"
item_state = "clown"
- item_color = "ronald_s"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
@@ -35,7 +33,6 @@
desc = "Seize the means of production in style!"
icon_state = "soviet_dress_uniform"
item_state = "soviet_dress_uniform"
- item_color = "soviet_dress_uniform"
can_adjust = FALSE
/obj/item/clothing/under/yogs/lederhosen
@@ -43,5 +40,4 @@
desc = "'Nothing like wearing a lederhosen for another hard day at work on a space station.'"
icon_state = "lederhosen"
item_state = "lederhosen"
- item_color = "lederhosen"
can_adjust = FALSE
diff --git a/yogstation/code/modules/clothing/under/jobs/civilian.dm b/yogstation/code/modules/clothing/under/jobs/civilian.dm
index 43ac53d56b9b..7778dc455761 100644
--- a/yogstation/code/modules/clothing/under/jobs/civilian.dm
+++ b/yogstation/code/modules/clothing/under/jobs/civilian.dm
@@ -3,7 +3,6 @@
desc = "I explored the galaxy and all I got was this lousy T-shirt!"
icon_state = "tourist"
item_state = "gy_suit"
- item_color = "tourist"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
/obj/item/clothing/under/yogs/rank/clerk
@@ -11,7 +10,6 @@
name = "clerk's uniform"
icon_state = "clerk"
item_state = "clerk"
- item_color = "clerk"
can_adjust = FALSE
mutantrace_variation = MUTANTRACE_VARIATION
@@ -20,7 +18,6 @@
name = "clerk's skirt"
icon_state = "clerk_skirt"
item_state = "clerk_skirt"
- item_color = "clerk_skirt"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -30,7 +27,6 @@
name = "recovery medic's jumpsuit"
icon_state = "recovery"
item_state = "recovery"
- item_color = "recovery"
can_adjust = 0
sensor_mode = 3
random_sensor = 0
diff --git a/yogstation/code/modules/clothing/under/jobs/security.dm b/yogstation/code/modules/clothing/under/jobs/security.dm
index 5e2bd4b0a0a2..e2fda379b1d6 100644
--- a/yogstation/code/modules/clothing/under/jobs/security.dm
+++ b/yogstation/code/modules/clothing/under/jobs/security.dm
@@ -3,7 +3,6 @@
desc = "You have one job, don't screw it up."
icon_state = "kr_officer_s"
item_state = "kr_officer"
- item_color = "kr_officer_s"
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
@@ -17,7 +16,6 @@
desc = "A verstile blue and white uniform honored to hard working brig physicians who help with injured prisoners and security personel."
icon_state = "recovery"
item_state = "recovery"
- item_color = "recovery"
alt_covers_chest = TRUE
sensor_mode = 3
random_sensor = FALSE
@@ -28,7 +26,6 @@
desc = "A classic jumpsuit that connects you to your medsci brothers and sisters."
icon_state = "secwhite"
item_state = "secwhite"
- item_color = "secwhite"
alt_covers_chest = FALSE
random_sensor = TRUE
@@ -37,8 +34,7 @@
desc = "A classic jumpskirt that connects you to your medsci brothers and sisters."
icon_state = "secwhite_skirt"
item_state = "secwhite_skirt"
- item_color = "secwhite_skirt"
can_adjust = FALSE
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
- mutantrace_variation = NO_MUTANTRACE_VARIATION
\ No newline at end of file
+ mutantrace_variation = NO_MUTANTRACE_VARIATION
diff --git a/yogstation/code/modules/clothing/under/miscellaneous.dm b/yogstation/code/modules/clothing/under/miscellaneous.dm
index c16c0cb60416..eb626e97fc55 100644
--- a/yogstation/code/modules/clothing/under/miscellaneous.dm
+++ b/yogstation/code/modules/clothing/under/miscellaneous.dm
@@ -3,7 +3,6 @@
desc = "Groovy!"
icon_state = "psyche_s"
item_state = "rainbow"
- item_color = "psyche_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/scaryclown
@@ -11,7 +10,6 @@
desc = "Often worn by sewer clowns."
icon_state = "scaryclownuniform"
item_state = "scaryclownuniform"
- item_color = "scaryclownuniform"
can_adjust = FALSE
/obj/item/clothing/under/rank/yogs/scaryclown/Initialize()
@@ -23,7 +21,6 @@
desc = "Two faces, two colors."
icon_state = "harvey_flint_s"
item_state = "harvey_flint"
- item_color = "harvey_flint_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/thejester
@@ -31,7 +28,6 @@
desc = "You can never catch me, spaceman!"
icon_state = "the_jester_s"
item_state = "the_jester"
- item_color = "the_jester_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/trickster
@@ -39,7 +35,6 @@
desc = "HAHAHA! I love riddles!"
icon_state = "trickster_s"
item_state = "trickster"
- item_color = "trickster_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/penguinsuit
@@ -47,7 +42,6 @@
desc = "How fancy!"
icon_state = "penguin_s"
item_state = "penguin"
- item_color = "penguin_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/barber
@@ -55,7 +49,6 @@
desc = "The perfect suit for singing in a quartet."
icon_state = "barber_s"
item_state = "barber"
- item_color = "barber_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/dresdenunder
@@ -63,7 +56,6 @@
desc = "Generic nerd by day, evil super villian by night."
icon_state = "dresdenunder_s"
item_state = "dresdenunder"
- item_color = "dresdenunder_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/relaxedwearm
@@ -71,7 +63,6 @@
desc = "Perfect for hosting that evening bbq!"
icon_state = "relaxedwearm_s"
item_state = "relaxedwearm"
- item_color = "relaxedwearm_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/springm
@@ -79,7 +70,6 @@
desc = "Perfect for relaxing under the spring sun!"
icon_state = "springm_s"
item_state = "springm"
- item_color = "springm_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/pinstripe
@@ -87,7 +77,6 @@
desc = "This suit screams rich mafia boss."
icon_state = "pinstripe_s"
item_state = "pinstripe"
- item_color = "pinstripe_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/treasure
@@ -95,7 +84,6 @@
desc = "This suit belongs in a museum!"
icon_state = "doctor_s"
item_state = "doctor"
- item_color = "doctor_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/doomsday
@@ -103,7 +91,6 @@
desc = "The end times are here!"
icon_state = "doomsday_s"
item_state = "doomsday"
- item_color = "doomsday_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/rycliesuni
@@ -111,7 +98,6 @@
desc = "Protects your body from mental brainwashing. Too bad there is no brain inside of your chest."
icon_state = "rycliesuni_s"
item_state = "rycliesuni"
- item_color = "rycliesuni_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/oliveoutfit
@@ -119,7 +105,6 @@
desc = "For people who want to look like they are in the army without actually being in the army."
icon_state = "oliveoutfit_s"
item_state = "oliveoutfit"
- item_color = "oliveoutfit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/plaidoutfit
@@ -127,7 +112,6 @@
desc = "The most boring of suits."
icon_state = "plaidoutfit_s"
item_state = "plaidoutfit"
- item_color = "plaidoutfit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/moutfit
@@ -135,7 +119,6 @@
desc = "The most casual of suits."
icon_state = "moutfit_s"
item_state = "moutfit"
- item_color = "moutfit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/luna
@@ -143,7 +126,6 @@
desc = "So about that football team..."
icon_state = "luna_s"
item_state = "luna"
- item_color = "luna_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/altshield
@@ -151,7 +133,6 @@
desc = "The name tag has the name 'Joe From Accounting' on it."
icon_state = "altshield_s"
item_state = "altshield"
- item_color = "altshield_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/namjumpsuit
@@ -159,7 +140,6 @@
desc = "Welcome to nam, soldier. Now let's go arrest some greytide!"
icon_state = "namjumpsuit_s"
item_state = "namjumpsuit"
- item_color = "namjumpsuit_s"
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
@@ -172,7 +152,6 @@
desc = "For wardens particular to the use of the gulag."
icon_state = "gru_officer_s"
item_state = "gru_officer"
- item_color = "gru_officer_s"
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
@@ -185,7 +164,6 @@
desc = "As long as you protect your men and arrest the greytide you should be fine. God speed."
icon_state = "Lieut_General_US_s"
item_state = "Lieut_General_US"
- item_color = "Lieut_General_US_s"
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
@@ -198,7 +176,6 @@
desc = "You are the commander of your men and the top of the top, dont let them down!"
icon_state = "Captain_Artillery_CS_s"
item_state = "Captain_Artillery_CS"
- item_color = "Captain_Artillery_CS_s"
sensor_mode = SENSOR_COORDS
random_sensor = FALSE
can_adjust = FALSE
@@ -208,7 +185,6 @@
desc = "Darn yankees."
icon_state = "blue_coat_uniform_s"
item_state = "blue_coat_uniform"
- item_color = "blue_coat_uniform_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/redcoatuniform
@@ -216,7 +192,6 @@
desc = "Security is coming! Security is coming!"
icon_state = "red_coat_uniform_s"
item_state = "red_coat_uniform"
- item_color = "red_coat_uniform_s"
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
@@ -229,7 +204,6 @@
desc = "Time to be the leader of your own musical!"
icon_state = "hamilton_uniform_s"
item_state = "hamilton_uniform"
- item_color = "hamilton_uniform_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/cowboy2
@@ -237,7 +211,6 @@
desc = "Welcome to the wild west partner."
icon_state = "cowboy2_s"
item_state = "cowboy2"
- item_color = "cowboy2_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/cowboy
@@ -245,7 +218,6 @@
desc = "Welcome to the wild west partner. Now slightly more fancy!"
icon_state = "cowboy_s"
item_state = "cowboy"
- item_color = "cowboy_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/bluedetective
@@ -253,7 +225,6 @@
desc = "A suit often worn by those detective types. Now in blue!"
icon_state = "blue_detective"
item_state = "blue_detective"
- item_color = "blue_detective"
can_adjust = FALSE
/obj/item/clothing/under/yogs/golddetective
@@ -261,14 +232,12 @@
desc = "A suit often worn by those detective types. Now in gold!"
icon_state = "gold_detective"
item_state = "gold_detective"
- item_color = "gold_detective"
/obj/item/clothing/under/yogs/greydetective
name = "grey detective suit"
desc = "A suit often worn by those detective types. Now in boring old grey!"
icon_state = "grey_detective"
item_state = "grey_detective"
- item_color = "grey_detective"
can_adjust = FALSE
/obj/item/clothing/under/yogs/blackdetective
@@ -276,7 +245,6 @@
desc = "A suit often worn by those detective types. Now in black!"
icon_state = "black_detective"
item_state = "black_detective"
- item_color = "black_detective"
can_adjust = FALSE
/obj/item/clothing/under/yogs/whitetuxedo
@@ -284,7 +252,6 @@
desc = "The perfect suit for almost any occasion, just make sure to wash it down once you're done with it."
icon_state = "white_tuxedo"
item_state = "white_tuxedo"
- item_color = "white_tuxedo"
can_adjust = FALSE
/obj/item/clothing/under/yogs/ceturtleneck
@@ -292,7 +259,6 @@
desc = "How cozy!"
icon_state = "ce_turtleneck"
item_state = "ce_turtleneck"
- item_color = "ce_turtleneck"
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 80, ACID = 40)
resistance_flags = NONE
can_adjust = FALSE
@@ -302,7 +268,6 @@
desc = "The perfect dress for almost any ball."
icon_state = "white_dress"
item_state = "white_dress"
- item_color = "white_dress"
can_adjust = FALSE
/obj/item/clothing/under/yogs/nursedress
@@ -310,7 +275,6 @@
desc = "Nurse, stop standing there and help me! I am dying!"
icon_state = "nurse_dress"
item_state = "nurse_dress"
- item_color = "nurse_dress"
can_adjust = FALSE
/obj/item/clothing/under/yogs/prosecutorsuit
@@ -318,7 +282,6 @@
desc = "GUILTY! LET'S GO GET SOME DONUTS!"
icon_state = "prosecutor_suit"
item_state = "prosecutor_suit"
- item_color = "prosecutor_suit"
can_adjust = FALSE
/obj/item/clothing/under/yogs/dictatorhos
@@ -326,7 +289,6 @@
desc = "The leader the station does not need or want."
icon_state = "uniform_two"
item_state = "uniform_two"
- item_color = "uniform_two"
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
@@ -339,7 +301,6 @@
desc = "Are we making meth or growing plants?"
icon_state = "botany_uniform"
item_state = "botany_uniform"
- item_color = "botany_uniform"
permeability_coefficient = 0.5
can_adjust = FALSE
@@ -348,7 +309,6 @@
desc = "Even the captain has to let loose on this metal death trap every now and then."
icon_state = "casual_captain"
item_state = "casual_captain"
- item_color = "casual_captain"
can_adjust = FALSE
/obj/item/clothing/under/yogs/fancysuit
@@ -356,7 +316,6 @@
desc = "What a fancy suit!"
icon_state = "fancy_suit"
item_state = "fancy_suit"
- item_color = "fancy_suit"
can_adjust = FALSE
/obj/item/clothing/under/yogs/redcamo
@@ -364,7 +323,6 @@
desc = "Kinda ruins the whole point of camouflage in the first place to be honest."
icon_state = "red_camo"
item_state = "red_camo"
- item_color = "red_camo"
can_adjust = FALSE
/obj/item/clothing/under/yogs/whitecaptainsuit
@@ -372,7 +330,6 @@
desc = "For captains who want to pretend they are a boat captain and not a space station captain."
icon_state = "captain_suit"
item_state = "captain_suit"
- item_color = "captain_suit"
can_adjust = FALSE
/obj/item/clothing/under/yogs/armyuniform
@@ -380,7 +337,6 @@
desc = "Often seen being worn by the space army."
icon_state = "army_uniform"
item_state = "army_uniform"
- item_color = "army_uniform"
can_adjust = FALSE
/obj/item/clothing/under/yogs/work_suit
@@ -388,7 +344,6 @@
desc = "Perfect for that 24/7 workout with all the running you do around the station."
icon_state = "work_suit"
item_state = "work_suit"
- item_color = "work_suit"
can_adjust = FALSE
/obj/item/clothing/under/yogs/colony
@@ -396,14 +351,12 @@
desc = "Nothing like exploring the great jungles of watabaga and fighting the great lumbarian wombo in the morning."
icon_state = "colony_longsleeve"
item_state = "colony_longsleeve"
- item_color = "colony_longsleeve"
/obj/item/clothing/under/yogs/hoslatenight
name = "late night head of security uniform"
desc = "For those more quiet shifts."
icon_state = "hos1_suit"
item_state = "hos1_suit"
- item_color = "hos1_suit"
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
@@ -416,7 +369,6 @@
desc = "Even the CE has to take a break from setting up the engine somet- and the singlo is loose."
icon_state = "ce_suit"
item_state = "ce_suit"
- item_color = "ce_suit"
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 80, ACID = 40)
resistance_flags = NONE
can_adjust = FALSE
@@ -426,7 +378,6 @@
desc = "Even the HoS has to take a break from beating the clown sometimes."
icon_state = "hos_suit"
item_state = "hos_suit"
- item_color = "hos_suit"
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
@@ -439,7 +390,6 @@
desc = "Even the HoP has to take a break from giving all access to the crew sometimes."
icon_state = "hop_suit"
item_state = "hop_suit"
- item_color = "hop_suit"
can_adjust = FALSE
/obj/item/clothing/under/yogs/forensictech
@@ -447,7 +397,6 @@
desc = "Hmm, this bloody toolbox has insulated fibers on it..."
icon_state = "forensic_tech"
item_state = "forensic_tech"
- item_color = "forensic_tech"
can_adjust = FALSE
/obj/item/clothing/under/yogs/bluetunic
@@ -455,7 +404,6 @@
desc = "Perfect for relaxing in a bath house. Too bad there isn't one on the station."
icon_state = "bluetunic_s"
item_state = "bluetunic"
- item_color = "bluetunic_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/caretaker
@@ -463,7 +411,6 @@
desc = "Yeah, he will 'take care' of you alright."
icon_state = "caretaker_s"
item_state = "caretaker"
- item_color = "caretaker_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/familiartunic
@@ -471,7 +418,6 @@
desc = "You swear you've seen this tunic before, but you can't place where..."
icon_state = "familiartunic_s"
item_state = "familiartunic"
- item_color = "familiartunic_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/fiendsuit
@@ -479,7 +425,6 @@
desc = "Named so because only a really bad person would wear such a suit."
icon_state = "fiendsuit_s"
item_state = "fiendsuit"
- item_color = "fiendsuit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/grimhoodie
@@ -487,7 +432,6 @@
desc = "A hoodie without a hood... how grim."
icon_state = "grimhoodie_s"
item_state = "grimhoodie"
- item_color = "grimhoodie_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/infmob
@@ -495,7 +439,6 @@
desc = "So you wanna be a classy gangster, ay?"
icon_state = "inf_mob_s"
item_state = "inf_mob"
- item_color = "inf_mob_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/persskinsuit
@@ -503,7 +446,6 @@
desc = "Pretty uncomfortable but at least it looks cool."
icon_state = "pers_skinsuit_s"
item_state = "pers_skinsuit"
- item_color = "pers_skinsuit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/soldieruniform
@@ -511,7 +453,6 @@
desc = "Are you a man or a mouse?"
icon_state = "soldier_uniform_s"
item_state = "soldier_uniform"
- item_color = "soldier_uniform_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/lightpink
@@ -519,14 +460,12 @@
desc = "A jumpsuit. Now in light pink."
icon_state = "lightpink_s"
item_state = "lightpink"
- item_color = "lightpink_s"
/obj/item/clothing/under/yogs/rdema
name = "pink research directors uniform"
desc = "What relaxing colors."
icon_state = "rdema_s"
item_state = "rdema"
- item_color = "rdema_s"
can_adjust = FALSE
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 10, BIO = 10, RAD = 0, FIRE = 0, ACID = 35)
@@ -535,7 +474,6 @@
desc = "Candy is dandy, but liquor is quicker!"
icon_state = "billydonka_s"
item_state = "billydonka"
- item_color = "billydonka_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/brownoveralls
@@ -543,7 +481,6 @@
desc = "The perfect uniform for coal mining."
icon_state = "b-overalls_s"
item_state = "b-overalls"
- item_color = "b-overalls_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/redoveralls
@@ -551,7 +488,6 @@
desc = "The perfect uniform for lumberjacks."
icon_state = "r-overalls_s"
item_state = "r-overalls"
- item_color = "r-overalls_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/casualjanitorsuit
@@ -559,7 +495,6 @@
desc = "Even the janitor has to take a break from slipping the crew sometimes."
icon_state = "janitor_suit"
item_state = "janitor_suit"
- item_color = "janitor_suit"
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0)
can_adjust = FALSE
@@ -568,7 +503,6 @@
desc = "Even the bartender has to take a break from protecting Pun Pun sometimes."
icon_state = "callum_suit_s"
item_state = "callum_suit"
- item_color = "callum_suit_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/saaland
@@ -576,7 +510,6 @@
desc = "Made from 0.01% real gold!"
icon_state = "saaland_s"
item_state = "saaland"
- item_color = "saaland_s"
can_adjust = FALSE
/obj/item/clothing/under/yogs/victorianblred
@@ -584,7 +517,6 @@
desc = "Oh how eighteen hundreds!"
icon_state = "victorianblred"
item_state = "victorianblred"
- item_color = "victorianblred"
can_adjust = FALSE
/obj/item/clothing/under/yogs/victorianredvest
@@ -592,7 +524,6 @@
desc = "Oh how eighteen hundreds!"
icon_state = "victorianredvest"
item_state = "victorianredvest"
- item_color = "victorianredvest"
can_adjust = FALSE
/obj/item/clothing/under/yogs/victorianvest
@@ -600,7 +531,6 @@
desc = "Oh how eighteen hundreds!"
icon_state = "victorianvest"
item_state = "victorianvest"
- item_color = "victorianvest"
can_adjust = FALSE
/obj/item/clothing/under/yogs/victorianblackdress
@@ -608,7 +538,6 @@
desc = "Oh how eighteen hundreds!"
icon_state = "victorianblackdress"
item_state = "victorianblackdress"
- item_color = "victorianblackdress"
can_adjust = FALSE
/obj/item/clothing/under/yogs/victorianreddress
@@ -616,7 +545,6 @@
desc = "Oh how eighteen hundreds!"
icon_state = "victorianreddress"
item_state = "victorianreddress"
- item_color = "victorianreddress"
can_adjust = FALSE
/obj/item/clothing/under/yogs/shitcurity
@@ -624,21 +552,18 @@
desc = "For the security members that want to show their true colors."
icon_state = "altsecurity"
item_state = "altsecurity"
- item_color = "altsecurity"
/obj/item/clothing/under/yogs/victoriouscaptainuniform
name = "very fancy captain uniform"
desc = "Ask not the sparrow how the eagle soars!"
icon_state = "captainfemaleformal_s"
item_state = "captainfemaleformal"
- item_color = "captainfemaleformal_s"
/obj/item/clothing/under/yogs/zootsuit
name = "zoot suit"
desc = "A snazzy purple zoot suit. The name 'Big Papa' is stitched on the inside of the collar."
icon_state = "zootsuit"
item_state = "zootsuit"
- item_color = "zootsuit"
can_adjust = 0
/obj/item/clothing/under/yogs/cosby
@@ -646,5 +571,4 @@
desc = "Zip zap zoobity bap!"
icon_state = "cosby"
item_state = "cosby"
- item_color = "cosby"
- can_adjust = 0
\ No newline at end of file
+ can_adjust = 0
diff --git a/yogstation/code/modules/donor/unique_donator_items.dm b/yogstation/code/modules/donor/unique_donator_items.dm
index b969015d0a93..199978503bff 100644
--- a/yogstation/code/modules/donor/unique_donator_items.dm
+++ b/yogstation/code/modules/donor/unique_donator_items.dm
@@ -118,7 +118,6 @@ Uncomment this and use atomproccall as necessary, then copypaste the output into
name = "green cosmic bedsheet"
icon_state = "sheetcosmos_green"
item_state = "sheetcosmos_green"
- item_color = "cosmos_green"
/datum/donator_gear/azeelium
name = "Utatul-Azeel plushie"
diff --git a/yogstation/code/modules/mob/dead/new_player/sprite_accessories.dm b/yogstation/code/modules/mob/dead/new_player/sprite_accessories.dm
index 16a5ea794aec..b6c3742e18d4 100644
--- a/yogstation/code/modules/mob/dead/new_player/sprite_accessories.dm
+++ b/yogstation/code/modules/mob/dead/new_player/sprite_accessories.dm
@@ -1,5 +1,5 @@
/datum/sprite_accessory/undershirt/goose
name = "Shirt (Vomit Goose)"
icon_state = "vomitgooseshirt"
- icon = 'yogstation/icons/mob/underwear.dmi'
- gender = NEUTER
\ No newline at end of file
+ icon = 'yogstation/icons/mob/clothing/sprite_accessories/undershirt.dmi'
+ gender = NEUTER
diff --git a/yogstation/code/modules/mob/living/silicon/robot/robot.dm b/yogstation/code/modules/mob/living/silicon/robot/robot.dm
index 2025d350fbff..6ad182cc1c31 100644
--- a/yogstation/code/modules/mob/living/silicon/robot/robot.dm
+++ b/yogstation/code/modules/mob/living/silicon/robot/robot.dm
@@ -66,7 +66,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/head.dmi')
head_overlay.pixel_y += hat_offset
add_overlay(head_overlay)
update_fire()
diff --git a/yogstation/code/modules/ninja/suit/ninja.dm b/yogstation/code/modules/ninja/suit/ninja.dm
index 8def55122e3f..068fb2697ad1 100644
--- a/yogstation/code/modules/ninja/suit/ninja.dm
+++ b/yogstation/code/modules/ninja/suit/ninja.dm
@@ -1,22 +1,22 @@
/obj/item/clothing/head/helmet/space/space_ninja
- alternate_worn_icon = 'yogstation/icons/mob/head.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/head/head.dmi'
icon_state = "s-ninja"
/obj/item/clothing/mask/gas/space_ninja
- alternate_worn_icon = 'yogstation/icons/mob/mask.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/mask/mask.dmi'
icon = 'yogstation/icons/obj/clothing/masks.dmi'
icon_state = "s-ninja"
var/lights_on = FALSE
var/lights_colour = "16be00"
/obj/item/clothing/shoes/space_ninja
- alternate_worn_icon = 'yogstation/icons/mob/feet.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/feet/feet.dmi'
icon_state = "s-ninja"
var/lights_on = FALSE
var/lights_colour = "16be00"
/obj/item/clothing/suit/space/space_ninja
- alternate_worn_icon = 'yogstation/icons/mob/suit.dmi'
+ mob_overlay_icon = 'yogstation/icons/mob/clothing/suit/suit.dmi'
icon = 'yogstation/icons/obj/clothing/suits.dmi'
icon_state = "s-ninja"
var/lights_on = FALSE
@@ -30,14 +30,14 @@
/obj/item/clothing/suit/space/space_ninja/worn_overlays(isinhands = FALSE)
.=..()
if(!isinhands && lights_on)
- var/mutable_appearance/M = mutable_appearance('yogstation/icons/mob/suit.dmi', "s-ninja-overlay")
+ var/mutable_appearance/M = mutable_appearance(mob_overlay_icon, "s-ninja-overlay")
M.color = lights_colour
. += M
/obj/item/clothing/mask/gas/space_ninja/worn_overlays(isinhands = FALSE)
.=..()
if(!isinhands && lights_on)
- var/mutable_appearance/M = mutable_appearance('yogstation/icons/mob/mask.dmi', "s-ninja-overlay")
+ var/mutable_appearance/M = mutable_appearance(mob_overlay_icon, "s-ninja-overlay")
M.color = lights_colour
. += M
@@ -45,14 +45,14 @@
/obj/item/clothing/shoes/space_ninja/worn_overlays(isinhands = FALSE)
.=..()
if(!isinhands && lights_on)
- var/mutable_appearance/M = mutable_appearance('yogstation/icons/mob/feet.dmi', "s-ninja-overlay")
+ var/mutable_appearance/M = mutable_appearance(mob_overlay_icon, "s-ninja-overlay")
M.color = lights_colour
. += M
/obj/item/clothing/gloves/space_ninja/worn_overlays(isinhands = FALSE)
.=..()
if(!isinhands && lights_on)
- var/mutable_appearance/M = mutable_appearance('yogstation/icons/mob/hands.dmi', "s-ninja-overlay")
+ var/mutable_appearance/M = mutable_appearance(mob_overlay_icon, "s-ninja-overlay")
M.color = lights_colour
. += M
diff --git a/yogstation/icons/mob/back.dmi b/yogstation/icons/mob/clothing/back.dmi
similarity index 100%
rename from yogstation/icons/mob/back.dmi
rename to yogstation/icons/mob/clothing/back.dmi
diff --git a/yogstation/icons/mob/belt.dmi b/yogstation/icons/mob/clothing/belt.dmi
similarity index 100%
rename from yogstation/icons/mob/belt.dmi
rename to yogstation/icons/mob/clothing/belt.dmi
diff --git a/yogstation/icons/mob/ears.dmi b/yogstation/icons/mob/clothing/ears/ears.dmi
similarity index 100%
rename from yogstation/icons/mob/ears.dmi
rename to yogstation/icons/mob/clothing/ears/ears.dmi
diff --git a/yogstation/icons/mob/eyes.dmi b/yogstation/icons/mob/clothing/eyes/eyes.dmi
similarity index 100%
rename from yogstation/icons/mob/eyes.dmi
rename to yogstation/icons/mob/clothing/eyes/eyes.dmi
diff --git a/yogstation/icons/mob/feet.dmi b/yogstation/icons/mob/clothing/feet/feet.dmi
similarity index 100%
rename from yogstation/icons/mob/feet.dmi
rename to yogstation/icons/mob/clothing/feet/feet.dmi
diff --git a/yogstation/icons/mob/hands.dmi b/yogstation/icons/mob/clothing/hands/hands.dmi
similarity index 100%
rename from yogstation/icons/mob/hands.dmi
rename to yogstation/icons/mob/clothing/hands/hands.dmi
diff --git a/yogstation/icons/mob/head.dmi b/yogstation/icons/mob/clothing/head/head.dmi
similarity index 100%
rename from yogstation/icons/mob/head.dmi
rename to yogstation/icons/mob/clothing/head/head.dmi
diff --git a/yogstation/icons/mob/mask.dmi b/yogstation/icons/mob/clothing/mask/mask.dmi
similarity index 100%
rename from yogstation/icons/mob/mask.dmi
rename to yogstation/icons/mob/clothing/mask/mask.dmi
diff --git a/yogstation/icons/mob/neck.dmi b/yogstation/icons/mob/clothing/neck/neck.dmi
similarity index 100%
rename from yogstation/icons/mob/neck.dmi
rename to yogstation/icons/mob/clothing/neck/neck.dmi
diff --git a/yogstation/icons/mob/underwear.dmi b/yogstation/icons/mob/clothing/sprite_accessories/undershirt.dmi
similarity index 100%
rename from yogstation/icons/mob/underwear.dmi
rename to yogstation/icons/mob/clothing/sprite_accessories/undershirt.dmi
diff --git a/yogstation/icons/mob/suit.dmi b/yogstation/icons/mob/clothing/suit/suit.dmi
similarity index 100%
rename from yogstation/icons/mob/suit.dmi
rename to yogstation/icons/mob/clothing/suit/suit.dmi
diff --git a/yogstation/icons/mob/uniform.dmi b/yogstation/icons/mob/clothing/uniform/uniform.dmi
similarity index 100%
rename from yogstation/icons/mob/uniform.dmi
rename to yogstation/icons/mob/clothing/uniform/uniform.dmi