diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 6840c1fe81..0254ad8a77 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -199,7 +199,7 @@ SEE_TURFS // can see all turfs (and areas), no matter what
SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are
// in a lit area (via pixel_x,y or smooth movement), can see those pixels
BLIND // can't see anything
-*/
+
/obj/item/clothing/glasses
name = "glasses"
icon = 'icons/obj/clothing/glasses.dmi'
@@ -218,7 +218,7 @@ BLIND // can't see anything
if (ismob(src.loc))
var/mob/M = src.loc
M.update_inv_glasses()
-
+*/
///////////////////////////////////////////////////////////////////////
//Gloves
/obj/item/clothing/gloves
@@ -538,6 +538,7 @@ BLIND // can't see anything
var/list/accessories = list()
var/displays_id = 1
var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
+ var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/uniform.dmi',
"Teshari" = 'icons/mob/species/seromi/uniform.dmi'
@@ -583,6 +584,29 @@ BLIND // can't see anything
else
rolled_down = -1
if(H) update_clothing_icon()
+
+/obj/item/clothing/under/proc/update_rollsleeves_status()
+ var/mob/living/carbon/human/H
+ if(istype(src.loc, /mob/living/carbon/human))
+ H = src.loc
+
+ var/icon/under_icon
+ if(icon_override)
+ under_icon = icon_override
+ else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype()])
+ under_icon = sprite_sheets[H.species.get_bodytype()]
+ else if(item_icons && item_icons[slot_w_uniform_str])
+ under_icon = item_icons[slot_w_uniform_str]
+ else
+ under_icon = INV_W_UNIFORM_DEF_ICON
+
+ // The _s is because the icon update procs append it.
+ if(("[worn_state]_r_s") in icon_states(under_icon))
+ if(rolled_sleeves != 1)
+ rolled_sleeves = 0
+ else
+ rolled_sleeves = -1
+ if(H) update_clothing_icon()
/obj/item/clothing/under/update_clothing_icon()
if (ismob(src.loc))
@@ -729,14 +753,45 @@ BLIND // can't see anything
if(rolled_down == -1)
usr << "You cannot roll down [src]!"
return
+ if((rolled_sleeves == 1) && !(rolled_down))
+ rolled_sleeves = 0
rolled_down = !rolled_down
if(rolled_down)
- body_parts_covered &= LOWER_TORSO|LEGS|FEET
+ body_parts_covered = initial(body_parts_covered)
+ body_parts_covered &= ~(UPPER_TORSO|ARMS)
item_state_slots[slot_w_uniform_str] = "[worn_state]_d"
+ usr << "You roll down your [src]."
else
body_parts_covered = initial(body_parts_covered)
item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ usr << "You roll up your [src]."
+ update_clothing_icon()
+
+/obj/item/clothing/under/verb/rollsleeves()
+ set name = "Roll Up Sleeves"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ update_rollsleeves_status()
+ if(rolled_sleeves == -1)
+ usr << "You cannot roll up your [src]'s sleeves!"
+ return
+ if(rolled_down == 1)
+ usr << "You must roll up your [src] first!"
+ return
+
+ rolled_sleeves = !rolled_sleeves
+ if(rolled_sleeves)
+ body_parts_covered &= ~(ARMS)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_r"
+ usr << "You roll up your [src]'s sleeves."
+ else
+ body_parts_covered = initial(body_parts_covered)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ usr << "You roll down your [src]'s sleeves."
update_clothing_icon()
/obj/item/clothing/under/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A)
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index b159ef314e..60cbad098b 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -2,16 +2,22 @@
/obj/item/clothing/glasses
name = "glasses"
icon = 'icons/obj/clothing/glasses.dmi'
- //w_class = 2.0
- //slot_flags = SLOT_EYES
- //var/vision_flags = 0
- //var/darkness_view = 0//Base human is 2
+ w_class = 2.0
+ slot_flags = SLOT_EYES
+ var/vision_flags = 0
+ var/darkness_view = 0//Base human is 2
+ var/see_invisible = -1
var/prescription = 0
var/toggleable = 0
var/off_state = "degoggles"
var/active = 1
var/activation_sound = 'sound/items/goggles_charge.ogg'
var/obj/screen/overlay = null
+
+/obj/item/clothing/glasses/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_glasses()
/obj/item/clothing/glasses/attack_self(mob/user)
if(toggleable)
@@ -82,6 +88,21 @@
icon_state = "eyepatch"
item_state = "eyepatch"
body_parts_covered = 0
+ var/eye = null
+
+/obj/item/clothing/glasses/eyepatch/verb/switcheye()
+ set name = "Switch Eyepatch"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ eye = !eye
+ if(eye)
+ icon_state = "[icon_state]_r"
+ else
+ icon_state = initial(icon_state)
+ update_clothing_icon()
/obj/item/clothing/glasses/monocle
name = "monocle"
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 36528d3347..ca2b9f0d99 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -3,6 +3,7 @@
icon_state = "black"
item_state = "bl_suit"
worn_state = "black"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/blackf
name = "feminine black jumpsuit"
@@ -16,18 +17,21 @@
icon_state = "blue"
item_state = "b_suit"
worn_state = "blue"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/green
name = "green jumpsuit"
icon_state = "green"
item_state = "g_suit"
worn_state = "green"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/grey
name = "grey jumpsuit"
icon_state = "grey"
item_state = "gy_suit"
worn_state = "grey"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/orange
name = "orange jumpsuit"
@@ -37,30 +41,35 @@
worn_state = "orange"
has_sensor = 2
sensor_mode = 3
+ rolled_sleeves = 0
/obj/item/clothing/under/color/pink
name = "pink jumpsuit"
icon_state = "pink"
item_state = "p_suit"
worn_state = "pink"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/red
name = "red jumpsuit"
icon_state = "red"
item_state = "r_suit"
worn_state = "red"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/white
name = "white jumpsuit"
icon_state = "white"
item_state = "w_suit"
worn_state = "white"
+ rolled_sleeves = 0
/obj/item/clothing/under/color/yellow
name = "yellow jumpsuit"
icon_state = "yellow"
item_state = "y_suit"
worn_state = "yellow"
+ rolled_sleeves = 0
/obj/item/clothing/under/psyche
name = "psychedelic jumpsuit"
@@ -75,6 +84,7 @@
icon_state = "lightblue"
item_state = "b_suit"
worn_state = "lightblue"
+ rolled_sleeves = 0
/obj/item/clothing/under/aqua
name = "aqua jumpsuit"
@@ -82,6 +92,7 @@
icon_state = "aqua"
item_state = "b_suit"
worn_state = "aqua"
+ rolled_sleeves = 0
/obj/item/clothing/under/purple
name = "purple jumpsuit"
@@ -89,6 +100,7 @@
icon_state = "purple"
item_state = "p_suit"
worn_state = "purple"
+ rolled_sleeves = 0
/obj/item/clothing/under/lightpurple
name = "lightpurple jumpsuit"
@@ -96,6 +108,7 @@
icon_state = "lightpurple"
item_state = "p_suit"
worn_state = "lightpurple"
+ rolled_sleeves = 0
/obj/item/clothing/under/lightgreen
name = "lightgreen jumpsuit"
@@ -103,6 +116,7 @@
icon_state = "lightgreen"
item_state = "g_suit"
worn_state = "lightgreen"
+ rolled_sleeves = 0
/obj/item/clothing/under/lightbrown
name = "lightbrown jumpsuit"
@@ -110,6 +124,7 @@
icon_state = "lightbrown"
item_state = "lb_suit"
worn_state = "lightbrown"
+ rolled_sleeves = 0
/obj/item/clothing/under/brown
name = "brown jumpsuit"
@@ -117,6 +132,7 @@
icon_state = "brown"
item_state = "lb_suit"
worn_state = "brown"
+ rolled_sleeves = 0
/obj/item/clothing/under/yellowgreen
name = "yellowgreen jumpsuit"
@@ -124,6 +140,7 @@
icon_state = "yellowgreen"
item_state = "y_suit"
worn_state = "yellowgreen"
+ rolled_sleeves = 0
/obj/item/clothing/under/darkblue
name = "darkblue jumpsuit"
@@ -131,6 +148,7 @@
icon_state = "darkblue"
item_state = "b_suit"
worn_state = "darkblue"
+ rolled_sleeves = 0
/obj/item/clothing/under/lightred
name = "lightred jumpsuit"
@@ -138,6 +156,7 @@
icon_state = "lightred"
item_state = "r_suit"
worn_state = "lightred"
+ rolled_sleeves = 0
/obj/item/clothing/under/darkred
name = "darkred jumpsuit"
@@ -145,3 +164,4 @@
icon_state = "darkred"
item_state = "r_suit"
worn_state = "darkred"
+ rolled_sleeves = 0
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index a67d1e7b35..758de56245 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -6,6 +6,7 @@
icon_state = "ba_suit"
item_state = "ba_suit"
worn_state = "ba_suit"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
@@ -14,6 +15,7 @@
icon_state = "captain"
item_state = "b_suit"
worn_state = "captain"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/cargo
@@ -22,6 +24,7 @@
icon_state = "qm"
item_state = "lb_suit"
worn_state = "qm"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/cargo/skirt
name = "quartermaster's jumpskirt"
@@ -29,6 +32,7 @@
icon_state = "qmf"
worn_state = "qmf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/cargo/jeans
name = "quartermaster's jumpjeans"
@@ -41,6 +45,7 @@
desc = "Jeeeaaans! They're comfy!"
icon_state = "qmjf"
worn_state = "qmjf"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/cargotech
name = "cargo technician's jumpsuit"
@@ -49,18 +54,21 @@
item_state = "lb_suit"
worn_state = "cargo"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/cargotech/skirt
name = "cargo technician's jumpskirt"
desc = "Skirrrrrts! They're comfy and easy to wear!"
icon_state = "cargof"
worn_state = "cargof"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/cargotech/jeans
name = "cargo technician's jumpjeans"
desc = "Jeeeaaans! They're comfy!"
icon_state = "cargoj"
worn_state = "cargoj"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/cargotech/jeans/female
name = "cargo technician's jumpjeans"
@@ -75,6 +83,7 @@
icon_state = "chaplain"
item_state = "bl_suit"
worn_state = "chapblack"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/chef
@@ -83,6 +92,7 @@
icon_state = "chef"
item_state = "w_suit"
worn_state = "chef"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/clown
@@ -91,6 +101,7 @@
icon_state = "clown"
item_state = "clown"
worn_state = "clown"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/head_of_personnel
@@ -99,6 +110,7 @@
icon_state = "hop"
item_state = "b_suit"
worn_state = "hop"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/head_of_personnel_whimsy
desc = "A blue jacket and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does."
@@ -106,6 +118,7 @@
icon_state = "hopwhimsy"
item_state = "b_suit"
worn_state = "hopwhimsy"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/hydroponics
@@ -115,6 +128,7 @@
item_state = "g_suit"
worn_state = "hydroponics"
permeability_coefficient = 0.50
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/internalaffairs
@@ -123,6 +137,7 @@
icon_state = "internalaffairs"
item_state = "ba_suit"
worn_state = "internalaffairs"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/janitor
@@ -132,6 +147,7 @@
worn_state = "janitor"
item_state = "janitor"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/lawyer
@@ -209,3 +225,4 @@
icon_state = "miner"
item_state = "lb_suit"
worn_state = "miner"
+ rolled_sleeves = 0
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 79583a5466..0cdcac576b 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -6,6 +6,7 @@
item_state = "g_suit"
worn_state = "chief"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/chief_engineer/skirt
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."
@@ -13,6 +14,7 @@
icon_state = "chieff"
worn_state = "chieff"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/atmospheric_technician
desc = "It's a jumpsuit worn by atmospheric technicians."
@@ -20,6 +22,7 @@
icon_state = "atmos"
item_state = "atmos_suit"
worn_state = "atmos"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/atmospheric_technician/skirt
desc = "It's a jumpskirt worn by atmospheric technicians."
@@ -27,6 +30,7 @@
icon_state = "atmosf"
worn_state = "atmosf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/engineer
desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
@@ -35,6 +39,7 @@
item_state = "engi_suit"
worn_state = "engine"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/engineer/skirt
desc = "It's an orange high visibility jumpskirt worn by engineers. It has minor radiation shielding."
@@ -42,6 +47,7 @@
icon_state = "enginef"
worn_state = "enginef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/roboticist
desc = "It's a slimming black jumpsuit with reinforced seams; great for industrial work."
@@ -49,9 +55,11 @@
icon_state = "robotics"
item_state = "bl_suit"
worn_state = "robotics"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/roboticist/skirt
desc = "It's a slimming black jumpskirt with reinforced seams; great for industrial work."
name = "roboticist's jumpskirt"
icon_state = "roboticsf"
worn_state = "roboticsf"
+ rolled_sleeves = -1
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index e25dbf760e..057733298e 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -34,12 +34,14 @@
worn_state = "sciencewhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/scientist/skirt
name = "scientist's jumpskirt"
icon_state = "sciencewhitef"
worn_state = "sciencewhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/chemist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
@@ -49,12 +51,14 @@
worn_state = "chemistrywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/chemist/skirt
name = "chemist's jumpskirt"
icon_state = "chemistrywhitef"
worn_state = "chemistrywhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/*
* Medical
@@ -67,6 +71,7 @@
worn_state = "cmo"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/chief_medical_officer/skirt
desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
@@ -74,6 +79,7 @@
icon_state = "cmof"
worn_state = "cmof"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/geneticist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
@@ -83,12 +89,14 @@
worn_state = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/geneticist/skirt
name = "geneticist's jumpskirt"
icon_state = "geneticswhitef"
worn_state = "geneticswhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/virologist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
@@ -98,12 +106,14 @@
worn_state = "virologywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/virologist/skirt
name = "virologist's jumpskirt"
icon_state = "virologywhitef"
worn_state = "virologywhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/nursesuit
desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
@@ -114,6 +124,7 @@
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/nurse
desc = "A dress commonly worn by the nursing staff in the medical department."
@@ -124,6 +135,7 @@
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/orderly
desc = "A white suit to be worn by medical attendants."
@@ -133,6 +145,7 @@
worn_state = "orderly"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/medical
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."
@@ -142,12 +155,14 @@
worn_state = "medical"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/medical/skirt
name = "medical doctor's jumpskirt"
icon_state = "medicalf"
worn_state = "medicalf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/medical/paramedic
name = "short sleeve medical jumpsuit"
@@ -155,13 +170,15 @@
icon_state = "medical_short"
item_state = "medical_short"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
+ rolled_sleeves = -1
-/obj/item/clothing/under/rank/medical/blue
+/obj/item/clothing/under/rank/medical/blue //Why are these not /obj/item/clothing/under/rank/medical/scrubs/ ?
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_state = "b_suit"
worn_state = "scrubsblue"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/medical/green
name = "medical scrubs"
@@ -169,6 +186,7 @@
icon_state = "scrubsgreen"
item_state = "g_suit"
worn_state = "scrubsgreen"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/medical/purple
name = "medical scrubs"
@@ -176,6 +194,7 @@
icon_state = "scrubspurple"
item_state = "p_suit"
worn_state = "scrubspurple"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/medical/black
name = "medical scrubs"
@@ -183,6 +202,7 @@
icon_state = "scrubsblack"
item_state = "bl_suit"
worn_state = "scrubsblack"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/psych
desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist."
@@ -197,6 +217,7 @@
icon_state = "psychturtle"
item_state = "b_suit"
worn_state = "psychturtle"
+ rolled_sleeves = 0
/*
@@ -210,6 +231,7 @@
worn_state = "genetics_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/chemist_new
desc = "It's made of a special fiber which provides minor protection against biohazards."
@@ -219,6 +241,7 @@
worn_state = "chemist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/scientist_new
desc = "Made of a special fiber that gives special protection against biohazards and small explosions."
@@ -228,6 +251,7 @@
worn_state = "scientist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/virologist_new
desc = "Made of a special fiber that gives increased protection against biohazards."
@@ -236,4 +260,5 @@
item_state = "w_suit"
worn_state = "virologist_new"
permeability_coefficient = 0.50
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
\ No newline at end of file
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ rolled_sleeves = 0
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index ddfdd3da7a..c13629fe9a 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -16,6 +16,7 @@
worn_state = "warden"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
+ rolled_sleeves = 0
/obj/item/clothing/head/helmet/warden
name = "warden's hat"
@@ -31,6 +32,7 @@
worn_state = "secred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/dispatch
name = "dispatcher's uniform"
@@ -50,16 +52,19 @@
worn_state = "redshirt2"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/security/corp
icon_state = "sec_corporate"
//item_state = "sec_corporate"
worn_state = "sec_corporate"
+ rolled_sleeves = -1
/obj/item/clothing/under/rank/warden/corp
icon_state = "warden_corporate"
//item_state = "warden_corporate"
worn_state = "warden_corporate"
+ rolled_sleeves = -1
/obj/item/clothing/under/tactical
name = "tactical jumpsuit"
@@ -69,6 +74,7 @@
worn_state = "swatunder"
armor = list(melee = 10, bullet = 5, laser = 5,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
+ rolled_sleeves = -1
/*
* Detective
@@ -81,7 +87,9 @@
worn_state = "detective"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
+ rolled_sleeves = 0
+/*
/obj/item/clothing/under/det/verb/rollup()
set name = "Roll Suit Sleeves"
set category = "Object"
@@ -91,7 +99,7 @@
var/mob/living/carbon/human/H = loc
H.update_inv_w_uniform(1)
H << "You roll the sleeves of your shirt [unrolled ? "up" : "down"]"
-
+*/
/obj/item/clothing/under/det/grey
icon_state = "detective2"
worn_state = "detective2"
@@ -119,6 +127,7 @@
icon_state = "detective2_waistcoat"
worn_state = "detective2_waistcoat"
desc = "A serious-looking tan dress shirt paired with freshly-pressed black slacks, complete with a red striped tie and waistcoat."
+
/obj/item/clothing/head/det
name = "fedora"
@@ -149,11 +158,13 @@
worn_state = "hosred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.8
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/head_of_security/corp
icon_state = "hos_corporate"
//item_state = "hos_corporate"
worn_state = "hos_corporate"
+ rolled_sleeves = -1
/obj/item/clothing/head/helmet/HoS
name = "Head of Security Hat"
@@ -186,6 +197,7 @@
item_state = "jensen"
worn_state = "jensen"
siemens_coefficient = 0.6
+ rolled_sleeves = -1
/obj/item/clothing/suit/armor/hos/jensen
name = "armored trenchcoat"
@@ -206,6 +218,7 @@
icon_state = "officerblueclothes"
item_state = "ba_suit"
worn_state = "officerblueclothes"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/head_of_security/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security."
@@ -213,6 +226,7 @@
icon_state = "hosblueclothes"
item_state = "ba_suit"
worn_state = "hosblueclothes"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/warden/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Warden."
@@ -220,3 +234,4 @@
icon_state = "wardenblueclothes"
item_state = "ba_suit"
worn_state = "wardenblueclothes"
+ rolled_sleeves = 0
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 061f7bf9e9..5b263604cb 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -32,6 +32,7 @@
icon_state = "sl_suit"
worn_state = "sl_suit"
item_state = "sl_suit"
+ rolled_sleeves = 0
/obj/item/clothing/under/waiter
name = "waiter's outfit"
@@ -39,6 +40,7 @@
icon_state = "waiter"
item_state = "waiter"
worn_state = "waiter"
+ rolled_sleeves = 0
/obj/item/clothing/under/rank/mailman
name = "mailman's jumpsuit"
@@ -46,6 +48,7 @@
icon_state = "mailman"
item_state = "b_suit"
worn_state = "mailman"
+ rolled_sleeves = 0
/obj/item/clothing/under/sexyclown
name = "sexy-clown suit"
@@ -54,6 +57,7 @@
item_state = "clown"
worn_state = "sexyclown"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+ rolled_sleeves = -1 //Please never
/obj/item/clothing/under/rank/vice
name = "vice officer's jumpsuit"
@@ -106,6 +110,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected.
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
+ rolled_sleeves = 0
/obj/item/clothing/under/acj
name = "administrative cybernetic jumpsuit"
@@ -162,6 +167,7 @@
icon_state = "gentlesuit"
item_state = "gy_suit"
worn_state = "gentlesuit"
+ rolled_sleeves = 0
/obj/item/clothing/under/gimmick/rank/captain/suit
name = "captain's suit"
@@ -265,6 +271,7 @@
item_state = "w_suit"
worn_state = "sexymime"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+ rolled_sleeves = -1 //Please never
/obj/item/clothing/under/gladiator
name = "gladiator uniform"
@@ -551,6 +558,7 @@
icon_state = "mechanic"
item_state = "lb_suit"
worn_state = "mechanic"
+ rolled_sleeves = 0
/obj/item/clothing/under/cheongsam
name = "white cheongsam"
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 7c1d3860bf..2dc37f79f7 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -25,5 +25,4 @@
item_state = "bl_suit"
worn_state = "tactifool"
siemens_coefficient = 1
-
-
+ rolled_sleeves = 0
diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi
index 74a77c5045..e548ba4afd 100644
Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index 1663029604..52b6378238 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi
index 0e0218324c..69a75b3018 100644
Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ