Trim _s from under sprite states. (#31861)

* Trim _s from under sprite states.

* Fix some missing icons.

* Restore missing chameleon icon state.
This commit is contained in:
Alan
2026-04-18 17:10:16 -04:00
committed by GitHub
parent c39d5923fa
commit 0e50aeb0b9
125 changed files with 215 additions and 111 deletions
@@ -24,9 +24,10 @@
"Lefthand" = jumpsuit_type::lefthand_file,
"Righthand" = jumpsuit_type::righthand_file)
var/list/state_names = list(jumpsuit_type::icon_state,
"[jumpsuit_type::worn_icon_state || jumpsuit_type::icon_state]_s",
"[jumpsuit_type::worn_icon_state || jumpsuit_type::icon_state]_d_s",
"[jumpsuit_type::worn_icon_state || jumpsuit_type::icon_state]",
"[jumpsuit_type::worn_icon_state || jumpsuit_type::icon_state]_d",
jumpsuit_type::inhand_icon_state,)
state_names = uniquelist(state_names)
// For every sprite sheet...
for(var/sheet_key in all_sheets)
var/filepath = all_sheets[sheet_key]
+49 -47
View File
@@ -1042,27 +1042,27 @@
var/datum/sprite_accessory/underwear/U = GLOB.underwear_list[underwear]
if(U)
var/u_icon = U.sprite_sheets && (current_species.sprite_sheet_name in U.sprite_sheets) ? U.sprite_sheets[current_species.sprite_sheet_name] : U.icon //Species-fit the undergarment.
underwear_s = new/icon(u_icon, "uw_[U.icon_state]_s", ICON_OVERLAY)
underwear_s = new/icon(u_icon, "uw_[U.icon_state]", ICON_OVERLAY)
var/icon/undershirt_s = null
if(undershirt && (current_species.clothing_flags & HAS_UNDERSHIRT))
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (current_species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[current_species.sprite_sheet_name] : U2.icon
undershirt_s = new/icon(u2_icon, "us_[U2.icon_state]_s", ICON_OVERLAY)
undershirt_s = new/icon(u2_icon, "us_[U2.icon_state]", ICON_OVERLAY)
var/icon/socks_s = null
if(socks && (current_species.clothing_flags & HAS_SOCKS))
var/datum/sprite_accessory/socks/U3 = GLOB.socks_list[socks]
if(U3)
var/u3_icon = U3.sprite_sheets && (current_species.sprite_sheet_name in U3.sprite_sheets) ? U3.sprite_sheets[current_species.sprite_sheet_name] : U3.icon
socks_s = new/icon(u3_icon, "sk_[U3.icon_state]_s", ICON_OVERLAY)
socks_s = new/icon(u3_icon, "sk_[U3.icon_state]", ICON_OVERLAY)
var/icon/clothes_s = null
var/has_gloves = FALSE
if(job_support_low & JOB_ASSISTANT) //This gives the preview icon clothes depending on which job(if any) is set to 'high'
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "color_s")
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "solid")
clothes_s.swap_palette(PALETTE_JS_WHITE, PALETTE_JS_GREY)
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(backbag == 2)
@@ -1073,7 +1073,7 @@
else if(job_support_high)//I hate how this looks, but there's no reason to go through this switch if it's empty
switch(job_support_high)
if(JOB_HOP)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "hop_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "hop")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "ianshirt"), ICON_OVERLAY)
@@ -1085,7 +1085,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_BARTENDER)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "ba_suit_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "ba_suit")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "tophat"), ICON_OVERLAY)
@@ -1097,7 +1097,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_BOTANIST)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "hydroponics_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "hydroponics")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "leather"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "apron"), ICON_OVERLAY)
@@ -1112,7 +1112,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CHEF)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "chef_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "chef")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "chef"), ICON_OVERLAY)
if(prob(1))
@@ -1125,7 +1125,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_JANITOR)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "janitor_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "janitor")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suits/bio.dmi', "bio_janitor"), ICON_OVERLAY)
@@ -1137,7 +1137,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_LIBRARIAN)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "red_suit_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "red_suit")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "hairflower"), ICON_OVERLAY)
@@ -1149,7 +1149,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_QUARTERMASTER)
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "qm_s")
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "qm")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
has_gloves = TRUE
@@ -1163,7 +1163,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CARGOTECH)
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "cargo_s")
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "cargo")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
has_gloves = TRUE
@@ -1177,7 +1177,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_SMITH)
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "smith_s")
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "smith")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "smith"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "smithing"), ICON_OVERLAY)
has_gloves = TRUE
@@ -1191,7 +1191,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_MINER)
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "explorer_s")
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "explorer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "explorer"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
has_gloves = TRUE
@@ -1205,7 +1205,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_INTERNAL_AFFAIRS)
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "iaa_s")
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "iaa")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/inhands/items_righthand.dmi', "briefcase"), ICON_UNDERLAY)
if(prob(1))
@@ -1218,7 +1218,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CHAPLAIN)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "chapblack_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "chapblack")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "imperium_monk"), ICON_OVERLAY)
@@ -1230,12 +1230,12 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CLOWN)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "clown_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "clown")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "clown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "clown"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "clownpack"), ICON_OVERLAY)
if(JOB_MIME)
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "mime_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "mime")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "white"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "mime"), ICON_OVERLAY)
@@ -1250,12 +1250,12 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_EXPLORER)
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "expedition_s")
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "expedition")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
has_gloves = TRUE
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/under/syndicate.dmi', "tactifool_s"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/under/syndicate.dmi', "tactifool"), ICON_OVERLAY)
switch(backbag)
if(2)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "explorerpack"), ICON_OVERLAY)
@@ -1266,7 +1266,7 @@
else if(job_medsci_high)
switch(job_medsci_high)
if(JOB_RD)
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "rd_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "rd")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_rd_open"), ICON_OVERLAY)
if(prob(1))
@@ -1279,7 +1279,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_SCIENTIST)
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "science_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "science")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_science_open"), ICON_OVERLAY)
if(prob(1))
@@ -1292,7 +1292,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_XENOBIOLOGIST)
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "science_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "science")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_science_open"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "nitrilegloves"), ICON_OVERLAY)
@@ -1308,7 +1308,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CHEMIST)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "chemistry_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "chemistry")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_mad_open"), ICON_OVERLAY)
@@ -1322,7 +1322,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CMO)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "cmo_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "cmo")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suits/bio.dmi', "bio_cmo"), ICON_OVERLAY)
@@ -1336,7 +1336,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_DOCTOR)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "medical_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "medical")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_medical_open"), ICON_OVERLAY)
@@ -1350,7 +1350,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CORONER)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "medical_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "medical")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_coroner_open"), ICON_OVERLAY)
@@ -1364,7 +1364,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_GENETICIST)
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "genetics_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "genetics")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "monkeysuit"), ICON_OVERLAY)
@@ -1378,7 +1378,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_VIROLOGIST)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "virology_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "virology")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "sterile"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_viro_open"), ICON_OVERLAY)
@@ -1392,7 +1392,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_PSYCHIATRIST)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "psych_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "psych")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_psyche_open"), ICON_OVERLAY)
switch(backbag)
@@ -1403,7 +1403,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_PARAMEDIC)
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "paramedic_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "paramedic")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cig_off"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/head/softcap.dmi', "paramedic"), ICON_OVERLAY)
@@ -1413,7 +1413,7 @@
if(3)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel-med"), ICON_OVERLAY)
if(JOB_ROBOTICIST)
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "robotics_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "robotics")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_robowhite_open"), ICON_OVERLAY)
@@ -1431,7 +1431,7 @@
else if(job_engsec_high)
switch(job_engsec_high)
if(JOB_CAPTAIN)
clothes_s = new /icon('icons/mob/clothing/under/captain.dmi', "captain_s")
clothes_s = new /icon('icons/mob/clothing/under/captain.dmi', "captain")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "captain_capblue"), ICON_OVERLAY)
@@ -1445,7 +1445,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_HOS)
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "hos_s")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "hos")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
has_gloves = TRUE
@@ -1459,7 +1459,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_WARDEN)
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "warden_s")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "warden")
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "slippers_worn"), ICON_OVERLAY)
else
@@ -1474,7 +1474,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_DETECTIVE)
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "detective_s")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "detective")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
if(prob(1))
@@ -1490,7 +1490,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_OFFICER)
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "security_s")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "security")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
if(prob(1))
clothes_s.Blend(new /icon('icons/mob/clothing/head/beret.dmi', "beret_officer"), ICON_OVERLAY)
@@ -1502,7 +1502,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CHIEF)
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "ce_s")
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "ce")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
@@ -1518,7 +1518,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_ENGINEER)
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "engineer_s")
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "engineer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "workboots"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "hardhat0_yellow"), ICON_OVERLAY)
@@ -1532,7 +1532,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_ATMOSTECH)
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "atmos_s")
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "atmos")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "workboots"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
if(prob(1))
@@ -1546,7 +1546,8 @@
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_AI)//Gives AI and borgs assistant-wear, so they can still customize their character
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "grey_s")
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "solid")
clothes_s.swap_palette(PALETTE_JS_WHITE, PALETTE_JS_GREY)
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "straight_jacket"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/head/cardborg.dmi', "cardborg_h"), ICON_OVERLAY)
@@ -1555,7 +1556,8 @@
else if(backbag == 3 || backbag == 4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_CYBORG)
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "grey_s")
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "solid")
clothes_s.swap_palette(PALETTE_JS_WHITE, PALETTE_JS_GREY)
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/cardborg.dmi', "cardborg"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/head/cardborg.dmi', "cardborg_h"), ICON_OVERLAY)
@@ -1564,7 +1566,7 @@
else if(backbag == 3 || backbag == 4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_JUDGE)
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "magistrate_s")
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "magistrate")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "magirobe"), ICON_UNDERLAY)
switch(backbag)
@@ -1575,7 +1577,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_NANO)
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "ntrep_s")
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "ntrep")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
switch(backbag)
if(2)
@@ -1585,7 +1587,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_BLUESHIELD)
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "blueshield_s")
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "blueshield")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "blueshield"), ICON_OVERLAY)
@@ -1598,7 +1600,7 @@
if(4)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
if(JOB_INSTRUCTOR)
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "trainer_s")
clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "trainer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "trainercoat"), ICON_OVERLAY)
switch(backbag)
@@ -1614,7 +1616,7 @@
// Observers get tourist outfit.
if(for_observer)
clothes_s = new /icon('icons/mob/clothing/under/costumes.dmi', "tourist_s")
clothes_s = new /icon('icons/mob/clothing/under/costumes.dmi', "tourist")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(backbag == 2)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "backpack"), ICON_OVERLAY)
+1 -1
View File
@@ -242,7 +242,7 @@
name = "white jumpsuit"
desc = "It's a plain jumpsuit. It has a small dial on the wrist."
icon = 'icons/obj/clothing/under/color.dmi'
icon_state = "color"
icon_state = "solid"
worn_icon = 'icons/mob/clothing/under/color.dmi'
inhand_icon_state = "color_suit"
random_sensor = FALSE
+3 -2
View File
@@ -1267,9 +1267,9 @@
base_icon_state = icon_state
var/current_worn_icon = LAZYACCESS(sprite_sheets, user.dna.species.sprite_sheet_name) || worn_icon || 'icons/mob/clothing/under/misc.dmi'
if(!icon_exists(current_worn_icon, "[base_icon_state][JUMPSUIT_ROLLED_DOWN_SUFFIX]_s"))
if(!icon_exists(current_worn_icon, "[base_icon_state][JUMPSUIT_ROLLED_DOWN_SUFFIX]"))
to_chat(user, SPAN_NOTICE("You cannot roll down this uniform!"))
return
return FALSE
rolled_down = !rolled_down
if(rolled_down)
@@ -1278,6 +1278,7 @@
body_parts_covered = initial(body_parts_covered)
worn_icon_state = "[base_icon_state][rolled_down ? "[JUMPSUIT_ROLLED_DOWN_SUFFIX]" : ""]"
user.update_inv_w_uniform()
return TRUE
#undef JUMPSUIT_ROLLED_DOWN_SUFFIX
+4 -4
View File
@@ -2,7 +2,7 @@
desc = "A standard issue colored jumpsuit. Variety is the spice of life!"
icon = 'icons/obj/clothing/under/color.dmi'
worn_icon = 'icons/mob/clothing/under/color.dmi'
icon_state = "color"
icon_state = "solid"
inhand_icon_state = "color_suit"
dyeable = TRUE
var/default_palette_key = DYE_WHITE
@@ -18,7 +18,7 @@
/obj/item/clothing/under/color/jumpskirt
desc = "A standard issue colored jumpskirt. Variety is the spice of life!"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
icon_state = "colorskirt"
icon_state = "solidskirt"
dyeing_key = DYE_REGISTRY_JUMPSKIRT
/obj/item/clothing/under/color/Initialize(mapload)
@@ -46,8 +46,8 @@
righthand_file = icon_cache.sprite_sheets[dye_key][palette_key]["Righthand"]
// Set icon states
var/icon_state_prefix = findtext(palette_key, "psyche") ? "psyche" : "color"
var/icon_state_skirt = dye_key == "under" ? "" : "skirt"
var/icon_state_prefix = findtext(palette_key, "psyche") ? "psyche" : "solid"
var/icon_state_skirt = dye_key == DYE_REGISTRY_UNDER ? "" : "skirt"
icon_state = "[icon_state_prefix][icon_state_skirt]"
inhand_icon_state = "[icon_state_prefix]_suit"
+59
View File
@@ -12,11 +12,19 @@
name = "rogue captains uniform"
desc = "For the man who doesn't care because he's still free."
icon_state = "captain_fly"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
)
/obj/item/clothing/under/costume/patriotsuit
name = "Patriotic Suit"
desc = "Motorcycle not included."
icon_state = "ek"
sprite_sheets = list(
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
)
/obj/item/clothing/under/costume/flappers
name = "flappers"
@@ -54,6 +62,11 @@
name = "jester suit"
desc = "A jolly dress, well suited to entertain your master, nuncle."
icon_state = "jester"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi'
)
/obj/item/clothing/under/costume/mankini
name = "the mankini"
@@ -70,29 +83,52 @@
name = "noble clothes"
desc = "They fall just short of majestic."
icon_state = "noble_clothes"
sprite_sheets = list(
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/officeruniform
name = "clown officer's uniform"
desc = "For the officers of the Clown army."
icon_state = "officeruniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/soldieruniform
name = "clown soldier's uniform"
desc = "For the basic grunt of the Clown army."
icon_state = "soldieruniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/pennywise
name = "\improper Pennywise costume"
desc = "It's everything you ever were afraid of."
icon_state = "pennywise"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/pirate
name = "pirate outfit"
desc = "Yarr."
icon_state = "pirate"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/pirate_rags
name = "pirate rags"
@@ -103,6 +139,11 @@
name = "psychic amp jumpsuit"
desc = "A suit made of strange materials."
icon_state = "psyamp"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/// Don't modify the path, used by a fluff item
/obj/item/clothing/under/psysuit
@@ -123,6 +164,11 @@
name = "redcoat uniform"
desc = "Looks old."
icon_state = "redcoat"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/roman
name = "roman armor"
@@ -131,6 +177,11 @@
inhand_icon_state = "armor"
strip_delay = 100
resistance_flags = NONE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi'
)
/obj/item/clothing/under/costume/soviet
name = "old soviet uniform"
@@ -146,11 +197,19 @@
name = "yellow performer's outfit"
desc = "Just looking at this makes you want to sing."
icon_state = "ysing"
sprite_sheets = list(
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi'
)
/obj/item/clothing/under/costume/singerb
name = "blue performer's outfit"
desc = "Just looking at this makes you want to sing."
icon_state = "bsing"
sprite_sheets = list(
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi'
)
/obj/item/clothing/under/costume/cuban_suit
name = "rhumba outfit"
+28
View File
@@ -66,31 +66,59 @@
desc = "A white wedding gown made from the finest silk."
icon_state = "bride_white"
flags_inv = HIDESHOES
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_fire
name = "flame dress"
desc = "A small black dress with blue flames print on it."
icon_state = "dress_fire"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_orange
name = "orange dress"
desc = "A fancy orange gown for those who like to show leg."
icon_state = "dress_orange"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_pink
name = "pink dress"
desc = "A simple, tight fitting pink dress."
icon_state = "dress_pink"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_green
name = "green dress"
desc = "A simple, tight fitting green dress."
icon_state = "dress_green"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_yellow
name = "yellow dress"
desc = "A flirty, little yellow dress."
icon_state = "dress_yellow"
sprite_sheets = list(
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi'
)
/obj/item/clothing/under/dress/dress_saloon
name = "saloon girl dress"
@@ -81,6 +81,11 @@
name = "burial garments"
desc = "Traditional burial garments from the early 22nd century."
icon_state = "burial"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/misc.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/misc.dmi'
)
/obj/item/clothing/under/misc/redhawaiianshirt
name = "red hawaiian shirt"
+5
View File
@@ -117,3 +117,8 @@
name = "jean shorts"
desc = "The trendy shorts your mother never let you wear. Now in space!"
icon_state = "jeanshorts"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/pants.dmi',
"Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/pants.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/pants.dmi'
)
+1
View File
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/retro.dmi'
inhand_icon_state = "bl_suit"
displays_id = FALSE
sprite_sheets = list()
/obj/item/clothing/under/retro/security
name = "retro security officer's uniform"
+2
View File
@@ -13,6 +13,7 @@
name = "\improper MARSOC uniform"
desc = "A comfortable and durable combat uniform worn by marines of the Trans-Solar Federation's Marine Special Operations Command."
icon_state = "solgovelite"
sprite_sheets = list()
/obj/item/clothing/under/solgov/command
name = "\improper TSF officer's uniform"
@@ -23,6 +24,7 @@
name = "\improper MARSOC officer's uniform"
desc = "A comfortable and durable combat uniform worn by junior officers of the Trans-Solar Federation's Marine Special Operations Command. This one has additional insignia on its shoulders and cuffs."
icon_state = "solgovcelite"
sprite_sheets = list()
/obj/item/clothing/under/solgov/rep
name = "\improper TSF representative's uniform"
@@ -267,19 +267,19 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
var/datum/sprite_accessory/underwear/U = GLOB.underwear_list[underwear]
if(U)
var/u_icon = U.sprite_sheets && (dna.species.sprite_sheet_name in U.sprite_sheets) ? U.sprite_sheets[dna.species.sprite_sheet_name] : U.icon //Species-fit the undergarment.
underwear_standing.Blend(new /icon(u_icon, "uw_[U.icon_state]_s"), ICON_OVERLAY)
underwear_standing.Blend(new /icon(u_icon, "uw_[U.icon_state]"), ICON_OVERLAY)
if(undershirt && dna.species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (dna.species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[dna.species.sprite_sheet_name] : U2.icon
underwear_standing.Blend(new /icon(u2_icon, "us_[U2.icon_state]_s"), ICON_OVERLAY)
underwear_standing.Blend(new /icon(u2_icon, "us_[U2.icon_state]"), ICON_OVERLAY)
if(socks && dna.species.clothing_flags & HAS_SOCKS && get_organ("l_leg") && get_organ("r_leg")) // Check if the human has both legs before going on adding socks.
var/datum/sprite_accessory/socks/U3 = GLOB.socks_list[socks]
if(U3)
var/u3_icon = U3.sprite_sheets && (dna.species.sprite_sheet_name in U3.sprite_sheets) ? U3.sprite_sheets[dna.species.sprite_sheet_name] : U3.icon
underwear_standing.Blend(new /icon(u3_icon, "sk_[U3.icon_state]_s"), ICON_OVERLAY)
underwear_standing.Blend(new /icon(u3_icon, "sk_[U3.icon_state]"), ICON_OVERLAY)
if(underwear_standing)
overlays_standing[UNDERWEAR_LAYER] = mutable_appearance(underwear_standing, layer = -UNDERWEAR_LAYER)
@@ -629,7 +629,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !HAS_TRAIT(w_uniform, TRAIT_NO_WORN_ICON))
var/worn_icon = listgetindex(w_uniform.sprite_sheets, dna.species.sprite_sheet_name) || w_uniform.worn_icon || 'icons/mob/clothing/under/misc.dmi'
var/worn_icon_state = w_uniform.worn_icon_state || w_uniform.icon_state
var/mutable_appearance/standing = mutable_appearance(worn_icon, "[worn_icon_state]_s", layer = -UNIFORM_LAYER, alpha = w_uniform.alpha, color = w_uniform.color)
var/mutable_appearance/standing = mutable_appearance(worn_icon, "[worn_icon_state]", layer = -UNIFORM_LAYER, alpha = w_uniform.alpha, color = w_uniform.color)
if(w_uniform.blood_DNA)
var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "uniformblood")