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 21:10:16 +00:00
committed by GitHub
parent c39d5923fa
commit 0e50aeb0b9
125 changed files with 215 additions and 111 deletions
+51 -51
View File
@@ -377,19 +377,19 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
var/datum/sprite_accessory/underwear/U = GLOB.underwear_list[H.underwear]
if(U)
var/u_icon = U.sprite_sheets && (H.dna.species.sprite_sheet_name in U.sprite_sheets) ? U.sprite_sheets[H.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(H.undershirt && H.dna.species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[H.undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (H.dna.species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[H.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(H.socks && H.dna.species.clothing_flags & HAS_SOCKS)
var/datum/sprite_accessory/socks/U3 = GLOB.socks_list[H.socks]
if(U3)
var/u3_icon = U3.sprite_sheets && (H.dna.species.sprite_sheet_name in U3.sprite_sheets) ? U3.sprite_sheets[H.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)
preview_icon.Blend(underwear_standing, ICON_OVERLAY)
@@ -405,181 +405,181 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
job_clothes = H.mind.assigned_role
switch(job_clothes)
if("Head of Personnel")
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("Nanotrasen Representative")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
if("Nanotrasen Career Trainer")
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)
if("Blueshield")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "blueshield"), ICON_OVERLAY)
if("Magistrate")
clothes_s = new /icon('icons/mob/clothing/under/suit.dmi', "really_black_suit_s")
clothes_s = new /icon('icons/mob/clothing/under/suit.dmi', "really_black_suit")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "judge"), ICON_OVERLAY)
if("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("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)
if("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)
if("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("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("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)
if("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)
if("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)
if("Cargo Technician")
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)
if("Shaft 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)
if("Internal Affairs Agent")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "internalaffairs_s")
clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "internalaffairs")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
if("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("Research Director")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "director_s")
clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "director")
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("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("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)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_chemist_open"), ICON_OVERLAY)
if("Chief Medical Officer")
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)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_cmo_open"), ICON_OVERLAY)
if("Medical 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)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_medical_open"), ICON_OVERLAY)
if("Coroner")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "scrubsblack_s")
clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "scrubsblack")
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_coroner_open"), ICON_OVERLAY)
if("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)
clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_genetics_open"), ICON_OVERLAY)
if("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/suits/labcoat.dmi', "labcoat_viro_open"), ICON_OVERLAY)
if("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)
if("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/suits/labcoat.dmi', "labcoat_paramedic_open"), ICON_OVERLAY)
if("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("Head of Security")
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)
if("Warden")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "warden_s")
clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "warden")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("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/suit.dmi', "detective"), ICON_OVERLAY)
if("Security 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("Chief Engineer")
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "chief_engineer_s")
clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "chief_engineer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
if("Station 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', "orange"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
if("Life Support Specialist")
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', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
if("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/suits/labcoat.dmi', "labcoat_robowhite_open"), ICON_OVERLAY)
if("Syndicate Agent")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate_s")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if("Syndicate Officer")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate_s")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Syndicate Nuclear Operative")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate_s")
clothes_s = new /icon('icons/mob/clothing/under/syndicate.dmi', "syndicate")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Emergency Response Team Officer")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
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_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "security"), ICON_OVERLAY)
if("Emergency Response Team Engineer")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "workboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY)
if("Emergency Response Team Medic")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "medical"), ICON_OVERLAY)
if("Emergency Response Team Inquisitor")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
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_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "claymore"), ICON_OVERLAY)
if("Emergency Response Team Janitor")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "galoshes"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "janibelt"), ICON_OVERLAY)
if("Emergency Response Team Leader")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "white"), ICON_UNDERLAY)
if("Emergency Response Team Member")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
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_UNDERLAY)
if("Naked")
clothes_s = null
else
if(H.mind && (H.mind.assigned_role in get_all_centcom_jobs()))
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s")
clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer")
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY)
else
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)