diff --git a/_maps/deprecated/Ships/Syndicate_Cascade.dmm b/_maps/deprecated/Ships/Syndicate_Cascade.dmm index 06dea507ef25..1b12f271ef22 100644 --- a/_maps/deprecated/Ships/Syndicate_Cascade.dmm +++ b/_maps/deprecated/Ships/Syndicate_Cascade.dmm @@ -3016,7 +3016,6 @@ pixel_x = -3 }, /obj/item/clothing/under/rank/medical/doctor/red, -/obj/item/clothing/under/rank/medical/chief_medical_officer/surgeon_general, /obj/item/clothing/under/syndicate/sniper, /obj/item/clothing/under/utility/skirt, /obj/item/clothing/under/utility, diff --git a/_maps/shuttles/shiptest/independent_box.dmm b/_maps/shuttles/shiptest/independent_box.dmm index 82f081a1e8b9..22f7bcbc1360 100644 --- a/_maps/shuttles/shiptest/independent_box.dmm +++ b/_maps/shuttles/shiptest/independent_box.dmm @@ -2163,7 +2163,6 @@ /obj/item/clothing/accessory/armband/medblue, /obj/item/clothing/accessory/armband/med, /obj/item/clothing/accessory/armband/med, -/obj/item/clothing/under/rank/medical/psychiatrist/blue, /obj/item/clothing/accessory/pocketprotector, /obj/item/clothing/accessory/pocketprotector, /obj/item/clothing/accessory/pocketprotector, @@ -2501,7 +2500,7 @@ pixel_x = -32 }, /obj/item/storage/box/pillbottles, -/obj/item/clothing/under/rank/medical/chemist/pharmacist, +/obj/item/clothing/under/rank/medical/chemist/, /obj/item/clothing/suit/longcoat/chemist, /obj/item/reagent_containers/dropper, /obj/item/clothing/head/beret/chem, diff --git a/_maps/shuttles/shiptest/independent_litieguai.dmm b/_maps/shuttles/shiptest/independent_litieguai.dmm index ad02632fc9c3..478ec4c12cc3 100644 --- a/_maps/shuttles/shiptest/independent_litieguai.dmm +++ b/_maps/shuttles/shiptest/independent_litieguai.dmm @@ -892,12 +892,12 @@ /obj/item/storage/backpack/satchel/med, /obj/item/storage/backpack/satchel/med, /obj/item/storage/backpack/satchel/med, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor/skirt, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor/skirt, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor/skirt, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor, -/obj/item/clothing/under/rank/medical/doctor/junior_doctor, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/under/rank/medical, /obj/item/clothing/shoes/sneakers/blue, /obj/item/clothing/shoes/sneakers/blue, /obj/item/clothing/shoes/sneakers/blue, @@ -1721,7 +1721,6 @@ /area/ship/bridge) "Nq" = ( /obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/clothing/under/suit/cmo, /obj/item/clothing/suit/toggle/labcoat/cmo, /obj/item/clothing/shoes/sneakers/white, /obj/item/storage/belt/medical, diff --git a/_maps/shuttles/shiptest/independent_schmiedeberg.dmm b/_maps/shuttles/shiptest/independent_schmiedeberg.dmm index 31aee0a5da85..d7214623ad18 100644 --- a/_maps/shuttles/shiptest/independent_schmiedeberg.dmm +++ b/_maps/shuttles/shiptest/independent_schmiedeberg.dmm @@ -2654,16 +2654,12 @@ /obj/item/clothing/suit/longcoat/chemist, /obj/item/clothing/under/rank/medical/chemist, /obj/item/clothing/under/rank/medical/chemist, -/obj/item/clothing/under/rank/medical/chemist/pharmacist, -/obj/item/clothing/under/rank/medical/chemist/pharmacist, -/obj/item/clothing/under/rank/medical/chemist/pharmacist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist/skirt, -/obj/item/clothing/under/suit/senior_chemist, -/obj/item/clothing/under/suit/senior_chemist/skirt, +/obj/item/clothing/under/rank/medical/chemist, +/obj/item/clothing/under/rank/medical/chemist, +/obj/item/clothing/under/rank/medical/chemist/skirt, +/obj/item/clothing/under/rank/medical/chemist/skirt, +/obj/item/clothing/under/rank/medical/chemist/skirt, +/obj/item/clothing/under/rank/medical/chemist/skirt, /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, diff --git a/_maps/shuttles/shiptest/minutemen_asclepius.dmm b/_maps/shuttles/shiptest/minutemen_asclepius.dmm index a0f3211c542a..f36449b59e5c 100644 --- a/_maps/shuttles/shiptest/minutemen_asclepius.dmm +++ b/_maps/shuttles/shiptest/minutemen_asclepius.dmm @@ -4335,10 +4335,10 @@ name = "Chemistry locker"; pixel_y = -28 }, -/obj/item/clothing/under/rank/medical/chemist/pharmacist, -/obj/item/clothing/under/rank/medical/chemist/pharmacist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacologist, +/obj/item/clothing/under/rank/medical/chemist, +/obj/item/clothing/under/rank/medical/chemist, +/obj/item/clothing/under/rank/medical/chemist/skirt, +/obj/item/clothing/under/rank/medical/chemist/skirt, /obj/item/clothing/suit/longcoat/chemist, /obj/item/clothing/suit/toggle/labcoat/chemist/side, /obj/item/clothing/head/beret/chem, @@ -4417,7 +4417,6 @@ /obj/item/clothing/under/rank/command/minutemen, /obj/item/clothing/suit/toggle/lawyer/minutemen, /obj/item/clothing/suit/toggle/labcoat/cmo, -/obj/item/clothing/under/rank/medical/chief_medical_officer/surgeon_general, /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, /obj/item/autosurgeon/cmo, /obj/item/clothing/gloves/color/latex/nitrile/evil, diff --git a/_maps/shuttles/shiptest/syndicate_aegis.dmm b/_maps/shuttles/shiptest/syndicate_aegis.dmm index 57f01d107537..6f7d67964d6f 100644 --- a/_maps/shuttles/shiptest/syndicate_aegis.dmm +++ b/_maps/shuttles/shiptest/syndicate_aegis.dmm @@ -225,7 +225,6 @@ /obj/structure/table/wood, /obj/item/paper_bin/carbon, /obj/item/clothing/under/rank/medical/psychiatrist, -/obj/item/clothing/under/rank/medical/psychiatrist/blue, /obj/item/stack/sheet/mineral/wood/fifty, /obj/item/lighter, /obj/item/clothing/suit/toggle/labcoat, @@ -525,7 +524,6 @@ /obj/item/surgicaldrill/advanced, /obj/item/healthanalyzer/advanced, /obj/item/clothing/glasses/hud/health/sunglasses, -/obj/item/clothing/under/rank/medical/chief_medical_officer/surgeon_general, /obj/item/clothing/gloves/color/latex/nitrile/evil, /obj/item/clothing/shoes/combat, /obj/item/clothing/neck/stripedredscarf, @@ -3104,7 +3102,6 @@ name = "syndicate medic's black longcoat" }, /obj/item/clothing/under/rank/medical/doctor/red, -/obj/item/clothing/under/suit/senior_doctor, /obj/item/clothing/suit/longcoat, /obj/item/clothing/neck/stripedbluescarf, /obj/item/clothing/neck/stripedredscarf, @@ -3678,7 +3675,6 @@ name = "syndicate medic's black longcoat" }, /obj/item/clothing/under/rank/medical/doctor/red, -/obj/item/clothing/under/suit/senior_doctor, /obj/item/clothing/suit/longcoat, /obj/item/clothing/neck/stripedbluescarf, /obj/item/clothing/neck/stripedredscarf, @@ -4574,8 +4570,8 @@ /obj/item/storage/bag/chemistry, /obj/item/clothing/suit/longcoat/chemist, /obj/item/clothing/suit/toggle/labcoat/chemist, -/obj/item/clothing/under/rank/medical/chemist/pharmacist/skirt, -/obj/item/clothing/under/rank/medical/chemist/pharmacist, +/obj/item/clothing/under/rank/medical/chemist, +/obj/item/clothing/under/rank/medical/chemist/skirt, /obj/item/clothing/shoes/combat, /obj/item/clothing/shoes/combat, /obj/item/clothing/gloves/color/latex, diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index c39b2bbdd536..e644340cd333 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -83,11 +83,6 @@ #define LEFT_HANDS 1 #define RIGHT_HANDS 2 -//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird -#define NO_FEMALE_UNIFORM 0 -#define FEMALE_UNIFORM_FULL 1 -#define FEMALE_UNIFORM_TOP 2 - //flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in #define NORMAL_STYLE 0 #define ALT_STYLE 1 diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index e687f06e6b22..123d8737bc38 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -112,7 +112,9 @@ #define RANDOM_UNDERWEAR "random_underwear" #define RANDOM_UNDERWEAR_COLOR "random_underwear_color" #define RANDOM_UNDERSHIRT "random_undershirt" +#define RANDOM_UNDERSHIRT_COLOR "random_undershirt_color" #define RANDOM_SOCKS "random_socks" +#define RANDOM_SOCKS_COLOR "random_socks_color" #define RANDOM_BACKPACK "random_backpack" #define RANDOM_JUMPSUIT_STYLE "random_jumpsuit_style" #define RANDOM_EXOWEAR_STYLE "random_jumpsuit_style" diff --git a/code/__DEFINES/species_clothing_defines.dm b/code/__DEFINES/species_clothing_defines.dm index dc025b2c5145..a4e828bc48da 100644 --- a/code/__DEFINES/species_clothing_defines.dm +++ b/code/__DEFINES/species_clothing_defines.dm @@ -29,3 +29,6 @@ ///KEPORI PATHS #define KEPORI_UNIFORM_PATH 'icons/mob/species/kepori/onmob_uniform_kepori.dmi' +#define KEPORI_UNDERWEAR_TORSO_PATH 'icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi' +#define KEPORI_UNDERWEAR_LEGS_PATH 'icons/mob/clothing/underwear/species/underwear_legs_kepori.dmi' +#define KEPORI_UNDERWEAR_SOCKS_PATH 'icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi' diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index e31076b6bc23..c28b62aaa975 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -8,9 +8,9 @@ //facial hair init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hairstyles_list, GLOB.facial_hairstyles_male_list, GLOB.facial_hairstyles_female_list) //underwear - init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f) + init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list) //undershirt - init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f) + init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list) //socks init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list) //bodypart accessories (blizzard intensifies) @@ -29,12 +29,8 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, GLOB.animated_spines_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, GLOB.caps_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings, GLOB.moth_wings_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) - - - //WS Begin init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_fluff, GLOB.moth_fluff_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/squid_face, GLOB.squid_face_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/ipc_screens, GLOB.ipc_screens_list) @@ -52,7 +48,6 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/elzu_horns,GLOB.elzu_horns_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/elzu, GLOB.tails_list_elzu) init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/elzu, GLOB.animated_tails_list_elzu) - //WS End //Species for(var/spath in subtypesof(/datum/species)) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index f2e010c20e64..e48c34a10050 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -23,25 +23,13 @@ /proc/random_underwear(gender) if(!GLOB.underwear_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f) - switch(gender) - if(MALE) - return pick(GLOB.underwear_m) - if(FEMALE) - return pick(GLOB.underwear_f) - else - return pick(GLOB.underwear_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list) + return pick(GLOB.underwear_list) -/proc/random_undershirt(gender) +/proc/random_undershirt() if(!GLOB.undershirt_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f) - switch(gender) - if(MALE) - return pick(GLOB.undershirt_m) - if(FEMALE) - return pick(GLOB.undershirt_f) - else - return pick(GLOB.undershirt_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list) + return pick(GLOB.undershirt_list) /proc/random_socks() if(!GLOB.socks_list.len) @@ -109,7 +97,6 @@ return list( "body_markings" = pick(GLOB.body_markings_list), "body_size" = pick(GLOB.body_sizes), - "caps" = pick(GLOB.caps_list), "ears" = "None", "elzu_horns" = pick(GLOB.elzu_horns_list), "ethcolor" = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)], diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 70d11991aa48..b09fe69c84f6 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -9,12 +9,8 @@ GLOBAL_LIST_EMPTY(facial_hairstyles_female_list) //stores only hair names GLOBAL_LIST_EMPTY(hair_gradients_list) //stores /datum/sprite_accessory/hair_gradient indexed by name //Underwear GLOBAL_LIST_EMPTY(underwear_list) //stores /datum/sprite_accessory/underwear indexed by name -GLOBAL_LIST_EMPTY(underwear_m) //stores only underwear name -GLOBAL_LIST_EMPTY(underwear_f) //stores only underwear name //Undershirts GLOBAL_LIST_EMPTY(undershirt_list) //stores /datum/sprite_accessory/undershirt indexed by name -GLOBAL_LIST_EMPTY(undershirt_m) //stores only undershirt name -GLOBAL_LIST_EMPTY(undershirt_f) //stores only undershirt name //Socks GLOBAL_LIST_EMPTY(socks_list) //stores /datum/sprite_accessory/socks indexed by name //Body Sizes @@ -40,7 +36,6 @@ GLOBAL_LIST_EMPTY(r_wings_list) GLOBAL_LIST_EMPTY(moth_wings_list) GLOBAL_LIST_EMPTY(moth_fluff_list) GLOBAL_LIST_EMPTY(moth_markings_list) -GLOBAL_LIST_EMPTY(caps_list) GLOBAL_LIST_EMPTY(squid_face_list) GLOBAL_LIST_EMPTY(ipc_screens_list) GLOBAL_LIST_EMPTY(ipc_antennas_list) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index a87a11fbec8f..700d55361d90 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -32,7 +32,7 @@ to_chat(user, "You are not capable of wearing underwear.") return - var/choice = input(user, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in list("Underwear","Underwear Color","Undershirt","Socks") + var/choice = input(user, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in list("Underwear", "Underwear Color", "Undershirt", "Undershirt Color", "Socks", "Socks Color") if(!Adjacent(user)) return @@ -49,10 +49,18 @@ var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list if(new_undershirt) H.undershirt = new_undershirt + if("Undershirt Color") + var/new_undershirt_color = input(H, "Choose your undershirt color", "Undershirt Color","#"+H.undershirt_color) as color|null + if(new_undershirt_color) + H.undershirt_color = sanitize_hexcolor(new_undershirt_color) if("Socks") var/new_socks = input(user, "Select your socks", "Changing") as null|anything in GLOB.socks_list if(new_socks) H.socks= new_socks + if("Socks Color") + var/new_socks_color = input(H, "Choose your socks color", "Socks Color","#"+H.socks_color) as color|null + if(new_socks_color) + H.socks_color = sanitize_hexcolor(new_socks_color) add_fingerprint(H) H.update_body() diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 0ca777942d3e..2c24fbb3900a 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -531,7 +531,6 @@ /datum/outfit/syndicate_empty/sbc/med name = "Syndicate Battlecruiser Ship Medical Doctor" gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - uniform = /obj/item/clothing/under/rank/medical/doctor/red glasses = /obj/item/clothing/glasses/hud/health belt = /obj/item/pda/medical back = /obj/item/storage/backpack/duffelbag/syndie/med diff --git a/code/modules/client/loadout/loadout_suit.dm b/code/modules/client/loadout/loadout_suit.dm index 2daf575a12ec..e2800a87e9e1 100644 --- a/code/modules/client/loadout/loadout_suit.dm +++ b/code/modules/client/loadout/loadout_suit.dm @@ -43,14 +43,6 @@ display_name = "goth jacket" path = /obj/item/clothing/suit/gothcoat -/datum/gear/suit/jacket/bronze - display_name = "bronze suit" - path = /obj/item/clothing/suit/bronze - -/datum/gear/suit/jacket/yakuza - display_name = "yakuza suit" - path = /obj/item/clothing/suit/yakuza - /datum/gear/suit/jacket/burgundy display_name = "suit jacket, burgundy" path = /obj/item/clothing/suit/toggle/lawyer/burgundy @@ -63,7 +55,23 @@ display_name = "suit jacket, charcoal" path = /obj/item/clothing/suit/toggle/lawyer/charcoal -/datum/gear/suit/jacket/navy +/datum/gear/suit/jacket/navy //why is this blank? i dont know + +/datum/gear/suit/jacket/hoodie_black + display_name = "hoodie, black" + path = /obj/item/clothing/suit/hooded/hoodie/black + +/datum/gear/suit/jacket/hoodie_red + display_name = "hoodie, red" + path = /obj/item/clothing/suit/hooded/hoodie/red + +/datum/gear/suit/jacket/hoodie_blue + display_name = "hoodie, blue" + path = /obj/item/clothing/suit/hooded/hoodie/blue + +/datum/gear/suit/jacket/hoodie_gray + display_name = "hoodie, gray" + path = /obj/item/clothing/suit/hooded/hoodie/gray /datum/gear/suit/jacket/highvis display_name = "industrial jacket" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index b665b37c6cc4..27adfc667214 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -68,21 +68,23 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/real_name //our character's name var/gender = MALE //gender of character (well duh) var/age = 30 //age of character - var/underwear = "Nude" //underwear type - var/underwear_color = "000" //underwear color - var/undershirt = "Nude" //undershirt type - var/socks = "Nude" //socks type - var/backpack = DBACKPACK //backpack type + var/underwear = "Nude" //Type of underwear + var/underwear_color = "000" //Greyscale color of underwear + var/undershirt = "Nude" //Type of undershirt + var/undershirt_color = "000" //Greyscale color of undershirt + var/socks = "Nude" //Type of socks + var/socks_color = "000" //Greyscale color of socks + var/backpack = DBACKPACK //Type of backpack var/jumpsuit_style = PREF_SUIT //suit/skirt var/exowear = PREF_EXOWEAR //exowear var/hairstyle = "Bald" //Hair type var/hair_color = "000" //Hair color - var/facial_hairstyle = "Shaved" //Face hair type + var/facial_hairstyle = "Shaved" //Face hair type var/facial_hair_color = "000" //Facial hair color var/skin_tone = "caucasian1" //Skin color var/eye_color = "000" //Eye color var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/species_looking_at = "human" //used as a helper to keep track of in the species select thingy + var/species_looking_at = "human" //used as a helper to keep track of in the species select thingy var/list/features = list( "mcolor" = "FFF", "mcolor2" = "FFF", @@ -120,13 +122,37 @@ GLOBAL_LIST_EMPTY(preferences_datums) "flavor_text" = "", "body_size" = "Normal" ) - var/list/randomise = list(RANDOM_UNDERWEAR = TRUE, RANDOM_UNDERWEAR_COLOR = TRUE, RANDOM_UNDERSHIRT = TRUE, RANDOM_SOCKS = TRUE, RANDOM_BACKPACK = TRUE, RANDOM_JUMPSUIT_STYLE = TRUE, RANDOM_EXOWEAR_STYLE = TRUE, RANDOM_HAIRSTYLE = TRUE, RANDOM_HAIR_COLOR = TRUE, RANDOM_FACIAL_HAIRSTYLE = TRUE, RANDOM_FACIAL_HAIR_COLOR = TRUE, RANDOM_SKIN_TONE = TRUE, RANDOM_EYE_COLOR = TRUE) - var/list/friendlyGenders = list("Male" = "male", "Female" = "female", "Other" = "plural") + var/list/randomise = list( + RANDOM_UNDERWEAR = TRUE, + RANDOM_UNDERWEAR_COLOR = TRUE, + RANDOM_UNDERSHIRT = TRUE, + RANDOM_UNDERSHIRT_COLOR = TRUE, + RANDOM_SOCKS = TRUE, + RANDOM_SOCKS_COLOR = TRUE, + RANDOM_BACKPACK = TRUE, + RANDOM_JUMPSUIT_STYLE = TRUE, + RANDOM_EXOWEAR_STYLE = TRUE, + RANDOM_HAIRSTYLE = TRUE, + RANDOM_HAIR_COLOR = TRUE, + RANDOM_FACIAL_HAIRSTYLE = TRUE, + RANDOM_FACIAL_HAIR_COLOR = TRUE, + RANDOM_SKIN_TONE = TRUE, + RANDOM_EYE_COLOR = TRUE, + ) + var/list/friendlyGenders = list( + "Male" = "male", + "Female" = "female", + "Other" = "plural" + ) + var/list/prosthetic_limbs = list( + BODY_ZONE_L_ARM = PROSTHETIC_NORMAL, + BODY_ZONE_R_ARM = PROSTHETIC_NORMAL, + BODY_ZONE_L_LEG = PROSTHETIC_NORMAL, + BODY_ZONE_R_LEG = PROSTHETIC_NORMAL + ) var/fbp = FALSE - var/list/prosthetic_limbs = list(BODY_ZONE_L_ARM = PROSTHETIC_NORMAL, BODY_ZONE_R_ARM = PROSTHETIC_NORMAL, BODY_ZONE_L_LEG = PROSTHETIC_NORMAL, BODY_ZONE_R_LEG = PROSTHETIC_NORMAL) var/phobia = "spiders" var/list/alt_titles_preferences = list() - var/list/custom_names = list() var/preferred_ai_core_display = "Blue" var/prefered_security_department = SEC_DEPT_RANDOM @@ -363,19 +389,23 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Always Random Species: [(randomise[RANDOM_SPECIES]) ? "Yes" : "No"]
" if(!(NO_UNDERWEAR in pref_species.species_traits)) - dat += "Underwear:
[underwear]" - dat += "[(randomise[RANDOM_UNDERWEAR]) ? "Lock" : "Unlock"]" + dat += "Underwear:
[underwear]" + dat += "[(randomise[RANDOM_UNDERWEAR]) ? "Lock" : "Unlock"]
" - dat += "
Underwear Color:
    Change" - dat += "[(randomise[RANDOM_UNDERWEAR_COLOR]) ? "Lock" : "Unlock"]" + dat += "Underwear Color:
    Change" + dat += "[(randomise[RANDOM_UNDERWEAR_COLOR]) ? "Lock" : "Unlock"]
" - dat += "
Undershirt:
[undershirt]" - dat += "[(randomise[RANDOM_UNDERSHIRT]) ? "Lock" : "Unlock"]" + dat += "Undershirt:
[undershirt]" + dat += "[(randomise[RANDOM_UNDERSHIRT]) ? "Lock" : "Unlock"]
" + dat += "Undershirt Color:
    Change" + dat += "[(randomise[RANDOM_UNDERSHIRT_COLOR]) ? "Lock" : "Unlock"]
" - dat += "
Socks:
[socks]" - dat += "[(randomise[RANDOM_SOCKS]) ? "Lock" : "Unlock"]
" + dat += "Socks:
[socks]" + dat += "[(randomise[RANDOM_SOCKS]) ? "Lock" : "Unlock"]
" + dat += "Socks Color:
    Change" + dat += "[(randomise[RANDOM_SOCKS_COLOR]) ? "Lock" : "Unlock"]" dat += APPEARANCE_CATEGORY_COLUMN @@ -1557,8 +1587,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) underwear_color = random_short_color() if("undershirt") undershirt = random_undershirt(gender) + if("undershirt_color") + undershirt_color = random_short_color() if("socks") socks = random_socks() + if("socks_color") + socks_color = random_short_color() if("eyes") eye_color = random_eye_color() if("s_tone") @@ -1711,12 +1745,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("underwear") var/new_underwear - if(gender == MALE) - new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m - else if(gender == FEMALE) - new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_f - else - new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_list + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_list if(new_underwear) underwear = new_underwear @@ -1727,21 +1756,26 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("undershirt") var/new_undershirt - if(gender == MALE) - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m - else if(gender == FEMALE) - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_f - else - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_list + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_list if(new_undershirt) undershirt = new_undershirt + if("undershirt_color") + var/new_undershirt_color = input(user, "Choose your character's underwear color:", "Character Preference","#"+undershirt_color) as color|null + if(new_undershirt_color) + undershirt_color = sanitize_hexcolor(new_undershirt_color) + if("socks") var/new_socks new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in GLOB.socks_list if(new_socks) socks = new_socks + if("socks_color") + var/new_socks_color = input(user, "Choose your character's underwear color:", "Character Preference","#"+socks_color) as color|null + if(new_socks_color) + socks_color = sanitize_hexcolor(new_socks_color) + if("eyes") var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference","#"+eye_color) as color|null if(new_eyes) @@ -2368,7 +2402,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.underwear = underwear character.underwear_color = underwear_color character.undershirt = undershirt + character.undershirt_color = undershirt_color character.socks = socks + character.socks_color = socks_color character.backpack = backpack diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 0c8eb70da2d6..7336f440f939 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -395,7 +395,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car READ_FILE(S["underwear"], underwear) READ_FILE(S["underwear_color"], underwear_color) READ_FILE(S["undershirt"], undershirt) + READ_FILE(S["undershirt_color"], undershirt_color) READ_FILE(S["socks"], socks) + READ_FILE(S["socks_color"], socks_color) READ_FILE(S["backpack"], backpack) READ_FILE(S["jumpsuit_style"], jumpsuit_style) READ_FILE(S["uplink_loc"], uplink_spawn_loc) @@ -490,20 +492,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car randomise = SANITIZE_LIST(randomise) if(gender == MALE) - hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_male_list) - facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_male_list) - underwear = sanitize_inlist(underwear, GLOB.underwear_m) - undershirt = sanitize_inlist(undershirt, GLOB.undershirt_m) + hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_male_list) + facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_male_list) else if(gender == FEMALE) - hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_female_list) - facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_female_list) - underwear = sanitize_inlist(underwear, GLOB.underwear_f) - undershirt = sanitize_inlist(undershirt, GLOB.undershirt_f) + hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_female_list) + facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_female_list) else - hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_list) - facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_list) - underwear = sanitize_inlist(underwear, GLOB.underwear_list) - undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list) + hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_list) + facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_list) + underwear = sanitize_inlist(underwear, GLOB.underwear_list) + undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list) socks = sanitize_inlist(socks, GLOB.socks_list) age = sanitize_integer(age, pref_species.species_age_min, pref_species.species_age_max, initial(age)) @@ -553,6 +551,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"])) all_quirks = SANITIZE_LIST(all_quirks) + //Make sure all quirks are compatible check_quirk_compatibility() @@ -566,51 +565,50 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car return FALSE S.cd = "/character[default_slot]" - WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //load_character will sanitize any bad data, so assume up-to-date.) + WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //load_character will sanitize any bad data, so assume up-to-date.) //Character - WRITE_FILE(S["real_name"] , real_name) - WRITE_FILE(S["gender"] , gender) - WRITE_FILE(S["age"] , age) - WRITE_FILE(S["hair_color"] , hair_color) + WRITE_FILE(S["real_name"] , real_name) + WRITE_FILE(S["gender"] , gender) + WRITE_FILE(S["age"] , age) + WRITE_FILE(S["hair_color"] , hair_color) WRITE_FILE(S["facial_hair_color"] , facial_hair_color) - WRITE_FILE(S["feature_grad_color"] , features["grad_color"]) - WRITE_FILE(S["eye_color"] , eye_color) - WRITE_FILE(S["skin_tone"] , skin_tone) - WRITE_FILE(S["hairstyle_name"] , hairstyle) + WRITE_FILE(S["feature_grad_color"] , features["grad_color"]) + WRITE_FILE(S["eye_color"] , eye_color) + WRITE_FILE(S["skin_tone"] , skin_tone) + WRITE_FILE(S["hairstyle_name"] , hairstyle) WRITE_FILE(S["facial_style_name"] , facial_hairstyle) - WRITE_FILE(S["feature_grad_style"] , features["grad_style"]) - WRITE_FILE(S["underwear"] , underwear) - WRITE_FILE(S["underwear_color"] , underwear_color) - WRITE_FILE(S["undershirt"] , undershirt) - WRITE_FILE(S["socks"] , socks) - WRITE_FILE(S["backpack"] , backpack) - WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc) - WRITE_FILE(S["randomise"] , randomise) - WRITE_FILE(S["species"] , pref_species.id) - WRITE_FILE(S["phobia"], phobia) - WRITE_FILE(S["body_size"] , features["body_size"]) - WRITE_FILE(S["prosthetic_limbs"], prosthetic_limbs) - WRITE_FILE(S["feature_mcolor"] , features["mcolor"]) + WRITE_FILE(S["feature_grad_style"] , features["grad_style"]) + WRITE_FILE(S["underwear"] , underwear) + WRITE_FILE(S["underwear_color"] , underwear_color) + WRITE_FILE(S["undershirt"] , undershirt) + WRITE_FILE(S["undershirt_color"] , undershirt_color) + WRITE_FILE(S["socks"] , socks) + WRITE_FILE(S["socks_color"] , socks_color) + WRITE_FILE(S["backpack"] , backpack) + WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc) + WRITE_FILE(S["randomise"] , randomise) + WRITE_FILE(S["species"] , pref_species.id) + WRITE_FILE(S["phobia"] , phobia) + WRITE_FILE(S["body_size"] , features["body_size"]) + WRITE_FILE(S["prosthetic_limbs"] , prosthetic_limbs) + WRITE_FILE(S["feature_mcolor"] , features["mcolor"]) WRITE_FILE(S["feature_mcolor2"] , features["mcolor2"]) - WRITE_FILE(S["feature_ethcolor"] , features["ethcolor"]) + WRITE_FILE(S["feature_ethcolor"] , features["ethcolor"]) WRITE_FILE(S["feature_lizard_tail"] , features["tail_lizard"]) - WRITE_FILE(S["feature_human_tail"] , features["tail_human"]) - WRITE_FILE(S["feature_lizard_snout"] , features["snout"]) - WRITE_FILE(S["feature_lizard_horns"] , features["horns"]) - WRITE_FILE(S["feature_human_ears"] , features["ears"]) - WRITE_FILE(S["feature_lizard_frills"] , features["frills"]) - WRITE_FILE(S["feature_lizard_spines"] , features["spines"]) - WRITE_FILE(S["feature_lizard_body_markings"] , features["body_markings"]) + WRITE_FILE(S["feature_human_tail"] , features["tail_human"]) + WRITE_FILE(S["feature_lizard_snout"] , features["snout"]) + WRITE_FILE(S["feature_lizard_horns"] , features["horns"]) + WRITE_FILE(S["feature_human_ears"] , features["ears"]) + WRITE_FILE(S["feature_lizard_frills"] , features["frills"]) + WRITE_FILE(S["feature_lizard_spines"] , features["spines"]) + WRITE_FILE(S["feature_lizard_body_markings"], features["body_markings"]) WRITE_FILE(S["feature_lizard_legs"] , features["legs"]) WRITE_FILE(S["feature_moth_wings"] , features["moth_wings"]) WRITE_FILE(S["feature_moth_markings"] , features["moth_markings"]) - - //WS begin WRITE_FILE(S["jumpsuit_style"] , jumpsuit_style) WRITE_FILE(S["exowear"] , exowear) WRITE_FILE(S["equipped_gear"] , equipped_gear) - WRITE_FILE(S["feature_moth_fluff"] , features["moth_fluff"]) WRITE_FILE(S["feature_spider_legs"] , features["spider_legs"]) WRITE_FILE(S["feature_spider_spinneret"] , features["spider_spinneret"]) @@ -620,33 +618,29 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_ipc_antenna"] , features["ipc_antenna"]) WRITE_FILE(S["feature_ipc_chassis"] , features["ipc_chassis"]) WRITE_FILE(S["feature_ipc_brain"] , features["ipc_brain"]) - WRITE_FILE(S["feature_kepori_feathers"] , features["kepori_feathers"]) + WRITE_FILE(S["feature_kepori_feathers"] , features["kepori_feathers"]) WRITE_FILE(S["feature_kepori_body_feathers"], features["kepori_body_feathers"]) WRITE_FILE(S["feature_kepori_tail_feathers"], features["kepori_tail_feathers"]) - WRITE_FILE(S["feature_vox_head_quills"], features["vox_head_quills"]) - WRITE_FILE(S["feature_vox_neck_quills"], features["vox_neck_quills"]) + WRITE_FILE(S["feature_vox_head_quills"] , features["vox_head_quills"]) + WRITE_FILE(S["feature_vox_neck_quills"] , features["vox_neck_quills"]) WRITE_FILE(S["feature_elzu_horns"] , features["elzu_horns"]) WRITE_FILE(S["feature_tail_elzu"] , features["tail_elzu"]) WRITE_FILE(S["fbp"] , fbp) //Flavor text - WRITE_FILE(S["feature_flavor_text"], features["flavor_text"]) - - //WS End - + WRITE_FILE(S["feature_flavor_text"] , features["flavor_text"]) //Custom names for(var/custom_name_id in GLOB.preferences_custom_names) var/savefile_slot_name = custom_name_id + "_name" //TODO remove this - WRITE_FILE(S[savefile_slot_name],custom_names[custom_name_id]) - - WRITE_FILE(S["preferred_ai_core_display"] , preferred_ai_core_display) - WRITE_FILE(S["prefered_security_department"] , prefered_security_department) - + WRITE_FILE(S[savefile_slot_name] ,custom_names[custom_name_id]) + //AI cores + WRITE_FILE(S["preferred_ai_core_display"] , preferred_ai_core_display) + //Deprecated department security stuff + WRITE_FILE(S["prefered_security_department"], prefered_security_department) //Preview outfit selection - WRITE_FILE(S["selected_outfit"], selected_outfit) - + WRITE_FILE(S["selected_outfit"] , selected_outfit) //Quirks - WRITE_FILE(S["all_quirks"] , all_quirks) + WRITE_FILE(S["all_quirks"] , all_quirks) return TRUE diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 9a90d6b750b7..9c70b89c2924 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -284,13 +284,6 @@ * BLIND // can't see anything */ -/proc/generate_female_clothing(index,t_color,icon,type) - var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color) - var/icon/female_s = icon("icon"='icons/mob/clothing/under/masking_helpers.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]") - female_clothing_icon.Blend(female_s, ICON_MULTIPLY) - female_clothing_icon = fcopy_rsc(female_clothing_icon) - GLOB.female_clothing_icons[index] = female_clothing_icon - /obj/item/proc/generate_species_clothing(file2use, state2use, layer, datum/species/mob_species) if(!icon_exists(file2use, state2use)) return diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm new file mode 100644 index 000000000000..77f1f9cccae4 --- /dev/null +++ b/code/modules/clothing/suits/hoodies.dm @@ -0,0 +1,74 @@ +/obj/item/clothing/suit/hooded/hoodie/ + name = "hoodie" + desc = "HOW" + hoodtype = /obj/item/clothing/head/hooded/hood/ + body_parts_covered = CHEST|ARMS + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large + allowed = list( /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + ) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. + +/obj/item/clothing/head/hooded/hood/ + name = "hood" + desc = "HOW" + body_parts_covered = HEAD + flags_inv = HIDEHAIR|HIDEEARS + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. + +/obj/item/clothing/suit/hooded/hoodie/black + name = "black hoodie" + desc = "A hoodie that is black. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_black" + item_state = "hoodie_black" + hoodtype = /obj/item/clothing/head/hooded/hood/black + +/obj/item/clothing/head/hooded/hood/black + name = "black hood" + desc = "A black hood for your black hoodie." + icon_state = "hoodie_black" + item_state = "hoodie_black" + +/obj/item/clothing/suit/hooded/hoodie/red + name = "red hoodie" + desc = "A hoodie that is red. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_red" + item_state = "hoodie_red" + hoodtype = /obj/item/clothing/head/hooded/hood/red + +/obj/item/clothing/head/hooded/hood/red + name = "red hood" + desc = "A red hood for your red hoodie." + icon_state = "hoodie_red" + item_state = "hoodie_red" + +/obj/item/clothing/suit/hooded/hoodie/blue + name = "blue hoodie" + desc = "A hoodie that is blue. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_blue" + item_state = "hoodie_blue" + hoodtype = /obj/item/clothing/head/hooded/hood/blue + +/obj/item/clothing/head/hooded/hood/blue + name = "blue hood" + desc = "A blue hood for your blue hoodie." + icon_state = "hoodie_blue" + item_state = "hoodie_blue" + +/obj/item/clothing/suit/hooded/hoodie/gray + name = "gray hoodie" + desc = "A hoodie that is gray. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_gray" + item_state = "hoodie_gray" + hoodtype = /obj/item/clothing/head/hooded/hood/gray + +/obj/item/clothing/head/hooded/hood/gray + name = "gray hood" + desc = "A gray hood for your gray hoodie." + icon_state = "hoodie_gray" + item_state = "hoodie_gray" diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index bcf4afdc146d..9379f52314df 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -6,7 +6,7 @@ actions_types = list(/datum/action/item_action/toggle_hood) var/obj/item/clothing/head/hooded/hood var/hoodtype = /obj/item/clothing/head/hooded/winterhood //so the chaplain hoodie or other hoodies can override this - pocket_storage_component_path = FALSE //WS Edit - Exowear Pockets + pocket_storage_component_path = FALSE /obj/item/clothing/suit/hooded/Initialize() . = ..() diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 57f259b93d29..356bef71acac 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -22,7 +22,6 @@ var/obj/item/clothing/accessory/attached_accessory var/mutable_appearance/accessory_overlay var/freshly_laundered = FALSE - supports_variations = VOX_VARIATION /obj/item/clothing/under/worn_overlays(isinhands = FALSE) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 5e5af048a0c8..1a2cfdd33fd7 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -7,7 +7,7 @@ /obj/item/clothing/under/color/jumpskirt body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE + can_adjust = TRUE /obj/item/clothing/under/color/random icon_state = "random_jumpsuit" @@ -161,7 +161,6 @@ icon_state = "teal_skirt" item_state = "b_suit" - /obj/item/clothing/under/color/lightpurple name = "purple jumpsuit" icon_state = "lightpurple" diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index 8c32847380b1..a91ea7c13c67 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -1,6 +1,7 @@ /obj/item/clothing/under/rank/medical icon = 'icons/obj/clothing/under/medical.dmi' mob_overlay_icon = 'icons/mob/clothing/under/medical.dmi' + supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/under/rank/medical/chief_medical_officer desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." @@ -22,8 +23,8 @@ /obj/item/clothing/under/rank/medical/geneticist desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." name = "geneticist's jumpsuit" - icon = 'icons/obj/clothing/under/rnd.dmi' //WS Edit - Gen/Sci Split - mob_overlay_icon = 'icons/mob/clothing/under/rnd.dmi' //WS Edit - Gen/Sci Split + icon = 'icons/obj/clothing/under/rnd.dmi' + mob_overlay_icon = 'icons/mob/clothing/under/rnd.dmi' icon_state = "genetics" item_state = "w_suit" permeability_coefficient = 0.5 @@ -49,7 +50,7 @@ /obj/item/clothing/under/rank/medical/virologist/skirt name = "virologist's jumpskirt" 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" + icon_state = "virology_skirt" item_state = "w_suit" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE @@ -92,13 +93,18 @@ icon_state = "scrubspurple" can_adjust = FALSE +/obj/item/clothing/under/rank/medical/doctor/red + name = "medical scrubs" + desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark red." + icon_state = "scrubsred" + can_adjust = FALSE + /obj/item/clothing/under/rank/medical/doctor/skirt name = "medical doctor's jumpskirt" 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" body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/under/rank/medical/chemist @@ -115,7 +121,6 @@ icon_state = "chemistrywhite_skirt" item_state = "w_suit" body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/under/rank/medical/paramedic @@ -125,7 +130,6 @@ item_state = "w_suit" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) - supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/rank/medical/paramedic/skirt name = "paramedic jumpskirt" @@ -133,155 +137,15 @@ icon_state = "paramedic_skirt" item_state = "w_suit" body_parts_covered = CHEST|GROIN|ARMS - can_adjust = TRUE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -//Alt job uniforms - -/obj/item/clothing/under/rank/medical/chemist/pharmacist - name = "pharmacist's jumpsuit" - desc = "It's made of a special fiber that gives special protection against biohazards. For those pharmacists that want to improve or worsen their crew's health." - icon_state = "pharmacist" - -/obj/item/clothing/under/rank/medical/chemist/pharmacist/skirt - name = "pharmacist's jumpskirt" - icon_state = "pharmacist_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/rank/medical/chemist/pharmacologist - name = "pharmacologist's jumpsuit" - desc = "It's made of a special fiber that gives special protection against biohazards. For those pharmacologist one step behind to being evil." - icon_state = "pharmacologist" - -/obj/item/clothing/under/rank/medical/chemist/pharmacologist/skirt - name = "pharmacologist's jumpskirt" - icon_state = "pharmacologist_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/rank/medical/chemist/junior_chemist - name = "junior chemist's jumpsuit" - desc = "It's made of a special fiber that gives special protection against biohazards. A jumpsuit for junior chemist staff." - icon_state = "junior_chemistry" - -/obj/item/clothing/under/rank/medical/chemist/junior_chemist/skirt - name = "junior chemist's jumpskirt" - desc = "It's made of a special fiber that gives special protection against biohazards. A jumpskirt for junior chemist staff." - icon_state = "junior_chemistry_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/under/rank/medical/psychiatrist name = "white psychiatrist's suit" desc = "A turtleneck for personnel trained to deal with psychological issues, such as terrible work place incidents or the clown's bad jokes. This one has a white turtleneck." icon_state = "psychiatrist-white" - - can_adjust = FALSE - - permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) - -/obj/item/clothing/under/rank/medical/psychiatrist/green - name = "blue psychiatrist's suit" - desc = "A turtleneck for personnel trained to deal with psychological issues, such as terrible work place incidents or the clown's bad jokes. This one has a green turtleneck." - icon_state = "psychiatrist-green" - -/obj/item/clothing/under/rank/medical/psychiatrist/blue - name = "green psychiatrist's suit" - desc = "A turtleneck for personnel trained to deal with psychological issues, such as terrible work place incidents or the clown's bad jokes. This one has a blue turtleneck." - icon_state = "psychiatrist-blue" - -/obj/item/clothing/under/rank/medical/doctor/junior_doctor - name = "junior doctor's jumpsuit" - desc = "It's made of a special fiber that provides minor protection against biohazards. Worn by the junior medical personnel." - icon_state = "junior_medical" - -/obj/item/clothing/under/rank/medical/doctor/junior_doctor/skirt - name = "junior doctor's jumpskirt" - icon_state = "junior_medical_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/suit/cmo - name = "medical director suit" - desc = "A suit with medical colors, meant to be worn by those who lead the medical department." - icon_state = "medical_director" - permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) - icon = 'icons/obj/clothing/under/medical.dmi' - mob_overlay_icon = 'icons/mob/clothing/under/medical.dmi' - -/obj/item/clothing/under/suit/cmo/skirt - name = "medical director skirtsuit" - desc = "A skirtsuit with medical colors, meant to be worn by those who lead the medical department." - icon_state = "medical_director_skirt" - - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/rank/medical/chief_medical_officer/surgeon_general - name = "surgeon-general scrubs" - desc = "It's made of a special fiber that provides minor protection against biohazards. This one is meant to be worn by surgeon-generals." - icon_state = "surgeon_general" can_adjust = FALSE - -/obj/item/clothing/under/suit/senior_doctor - name = "senior doctor suit" - desc = "A suit with medical colors, meant to be worn by senior staff." - icon_state = "senior_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) - icon = 'icons/obj/clothing/under/medical.dmi' - mob_overlay_icon = 'icons/mob/clothing/under/medical.dmi' - -/obj/item/clothing/under/suit/senior_doctor/skirt - name = "senior doctor skirtsuit" - desc = "A skirtsuit with medical colors, meant to be worn by senior staff." - icon_state = "senior_medical_skirt" - - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/suit/senior_chemist - name = "senior chemist suit" - desc = "A suit with chemistry colors, meant to be worn by senior staff." - icon_state = "senior_chemistry" - permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65) - icon = 'icons/obj/clothing/under/medical.dmi' - mob_overlay_icon = 'icons/mob/clothing/under/medical.dmi' - -/obj/item/clothing/under/suit/senior_chemist/skirt - name = "senior chemist suit" - desc = "A skirtsuit with chemistry colors, meant to be worn by senior staff." - icon_state = "senior_chemistry_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/suit/pathologist - name = "pathologist suit" - desc = "A suit with special fibers that provide minor protection against biohazards. A suit with green pants, provided to pathologists." - icon_state = "pathologist" - permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) - icon = 'icons/obj/clothing/under/medical.dmi' - mob_overlay_icon = 'icons/mob/clothing/under/medical.dmi' - -/obj/item/clothing/under/suit/pathologist/skirt - name = "pathologist suit" - desc = "A suit with special fibers that provide minor protection against biohazards. A skirtsuit with green pants, provided to pathologists." - icon_state = "pathologist_skirt" - body_parts_covered = CHEST|GROIN|ARMS - can_adjust = FALSE - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/under/rank/medical/paramedic/emt name = "emergency medical technician jumpsuit" @@ -293,11 +157,4 @@ name = "emergency medical technician jumpskirt" desc = "It's made of a special fiber that provides minor protection against biohazards." icon_state = "emt_skirt" - can_adjust = FALSE supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION - -/obj/item/clothing/under/rank/medical/doctor/red - name = "medical scrubs" - desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in red." - icon_state = "scrubsred" - can_adjust = FALSE diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm index 086b2fc468ad..23800bf4a799 100644 --- a/code/modules/clothing/under/pants.dm +++ b/code/modules/clothing/under/pants.dm @@ -16,7 +16,7 @@ /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" + icon_state = "jeans" custom_price = 180 /obj/item/clothing/under/pants/blackjeans @@ -27,7 +27,7 @@ /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" + icon_state = "jeansclassic" /obj/item/clothing/under/pants/white name = "white pants" @@ -47,7 +47,7 @@ /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" + icon_state = "khaki" /obj/item/clothing/under/pants/track name = "track pants" diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index c1e73a823d10..ec472f03cb44 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -235,7 +235,7 @@ Assistant /datum/outfit/job/assistant/pharma name = "Pharmacology Student" - uniform = /obj/item/clothing/under/rank/medical/chemist/junior_chemist + uniform = /obj/item/clothing/under/rank/medical/ shoes = /obj/item/clothing/shoes/sneakers/white accessory = /obj/item/clothing/neck/scarf/orange l_pocket = /obj/item/pda/medical diff --git a/code/modules/jobs/job_types/brig_physician.dm b/code/modules/jobs/job_types/brig_physician.dm index 4d601a57b732..d200df298d61 100644 --- a/code/modules/jobs/job_types/brig_physician.dm +++ b/code/modules/jobs/job_types/brig_physician.dm @@ -21,7 +21,6 @@ belt = /obj/item/pda/brig_phys ears = /obj/item/radio/headset/headset_medsec/alt uniform = /obj/item/clothing/under/rank/security/brig_phys - alt_uniform = /obj/item/clothing/under/rank/medical/doctor/red shoes = /obj/item/clothing/shoes/sneakers/white glasses = /obj/item/clothing/glasses/hud/health/sunglasses suit = /obj/item/clothing/suit/toggle/labcoat/brig_phys @@ -53,7 +52,6 @@ name = "Medic (Twinkleshine)" gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - uniform = /obj/item/clothing/under/rank/medical/doctor/red alt_uniform = /obj/item/clothing/under/syndicate/cybersun glasses = /obj/item/clothing/glasses/hud/health belt = /obj/item/storage/belt/medical diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index 51f39864445b..6f822cb0bca1 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -39,8 +39,6 @@ jobtype = /datum/job/chemist glasses = null - - uniform = /obj/item/clothing/under/rank/medical/chemist/pharmacist alt_uniform = null backpack_contents = list(/obj/item/clothing/glasses/science=1) @@ -49,7 +47,6 @@ name = "Chemist (Pharmacologist)" glasses = null - uniform = /obj/item/clothing/under/rank/medical/chemist/pharmacologist alt_uniform = null suit = /obj/item/clothing/suit/toggle/labcoat/chemist/side @@ -59,7 +56,6 @@ name = "Chemist (Junior Chemist)" glasses = null - uniform = /obj/item/clothing/under/rank/medical/chemist/junior_chemist alt_uniform = null suit = null alt_suit = null @@ -70,7 +66,6 @@ name = "Chemist (Senior Chemist)" glasses = null - uniform = /obj/item/clothing/under/suit/senior_chemist alt_uniform = null shoes = /obj/item/clothing/shoes/laceup suit = /obj/item/clothing/suit/toggle/lawyer/orange @@ -100,8 +95,6 @@ belt = /obj/item/storage/bag/chemistry l_pocket =/obj/item/pda/chemist r_pocket = /obj/item/storage/pill_bottle - uniform = /obj/item/clothing/under/suit/senior_chemist - alt_uniform = /obj/item/clothing/under/rank/medical/chemist/pharmacologist suit = /obj/item/clothing/suit/longcoat/chemist alt_suit = /obj/item/clothing/suit/toggle/labcoat/chemist/side dcoat = /obj/item/clothing/suit/hooded/wintercoat/medical @@ -112,8 +105,6 @@ /datum/outfit/job/chemist/minutemen name = "Chemical Scientist(minutemen)" - uniform = /obj/item/clothing/under/rank/medical/chemist/pharmacologist - alt_uniform = /obj/item/clothing/under/rank/medical/chemist/pharmacologist/skirt suit = /obj/item/clothing/suit/toggle/labcoat/chemist ears = /obj/item/radio/headset/minutemen diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 3e7f96db7d41..4ad8cea562a8 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -56,7 +56,6 @@ /datum/outfit/job/cmo/medicaldirector name = "Chief Medical Officer (Medical Director)" - uniform = /obj/item/clothing/under/suit/cmo alt_uniform = null shoes = /obj/item/clothing/shoes/laceup suit = /obj/item/clothing/suit/toggle/lawyer/cmo @@ -69,7 +68,7 @@ /datum/outfit/job/cmo/surgeongeneral name = "Chief Medical Officer (Surgeon-General)" - uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer/surgeon_general + uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer alt_uniform = null shoes = /obj/item/clothing/shoes/laceup suit = /obj/item/clothing/suit/toggle/labcoat/cmo diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index 6a1047a5c5b8..205d5e57bb94 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -54,8 +54,6 @@ /datum/outfit/job/head_of_personnel/pre_equip(mob/living/carbon/human/H) ..() - if(locate(/datum/holiday/ianbirthday) in SSevents.holidays) - undershirt = /datum/sprite_accessory/undershirt/ian /datum/outfit/job/head_of_personnel/nt name = "First Officer (Nanotrasen)" diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index 221c29482d7c..f20580ef7b2a 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -35,7 +35,6 @@ chameleon_extras = /obj/item/gun/syringe -//WS Edit Start - Alt-Job Titles /datum/outfit/job/doctor/surgeon name = "Medical Doctor (Surgeon)" @@ -56,7 +55,6 @@ /datum/outfit/job/doctor/juniordoctor name = "Medical Doctor (Junior Doctor)" - uniform = /obj/item/clothing/under/rank/medical/doctor/junior_doctor alt_uniform = null shoes = /obj/item/clothing/shoes/sneakers/blue suit = null @@ -69,7 +67,7 @@ /datum/outfit/job/doctor/seniordoctor name = "Medical Doctor (Senior Doctor)" - uniform = /obj/item/clothing/under/suit/senior_doctor + uniform = /obj/item/clothing/under/rank/medical/doctor alt_uniform = null shoes = /obj/item/clothing/shoes/laceup suit = /obj/item/clothing/suit/toggle/lawyer/medical @@ -85,7 +83,6 @@ name = "Medical Doctor (Psychiatrist)" uniform = /obj/item/clothing/under/rank/medical/psychiatrist - alt_uniform = /obj/item/clothing/under/rank/medical/psychiatrist/blue shoes = /obj/item/clothing/shoes/laceup suit = null alt_suit = null @@ -93,7 +90,6 @@ suit_store = null backpack_contents = list(/obj/item/clipboard=1, /obj/item/folder/white=1, /obj/item/taperecorder=1) -//WS Edit End - Alt-Job Titles //Shiptest outfits diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index 3251977c4821..85f038e1b476 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -36,7 +36,6 @@ /datum/outfit/job/virologist/pathologist name = "Virologist (Pathologist)" - uniform = /obj/item/clothing/under/suit/pathologist alt_uniform = null shoes = /obj/item/clothing/shoes/laceup neck = /obj/item/clothing/neck/tie/green diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm index 1aea015891a5..17cd8a6b39eb 100644 --- a/code/modules/mob/dead/new_player/preferences_setup.dm +++ b/code/modules/mob/dead/new_player/preferences_setup.dm @@ -12,13 +12,17 @@ if(randomise[RANDOM_AGE] || randomise[RANDOM_AGE_ANTAG] && antag_override) age = rand(AGE_MIN,AGE_MAX) if(randomise[RANDOM_UNDERWEAR]) - underwear = random_underwear(gender) + underwear = random_underwear() if(randomise[RANDOM_UNDERWEAR_COLOR]) underwear_color = random_short_color() if(randomise[RANDOM_UNDERSHIRT]) undershirt = random_undershirt(gender) + if(randomise[RANDOM_UNDERSHIRT_COLOR]) + undershirt_color = random_short_color() if(randomise[RANDOM_SOCKS]) socks = random_socks() + if(randomise[RANDOM_SOCKS_COLOR]) + socks_color = random_short_color() if(randomise[RANDOM_BACKPACK]) backpack = random_backpack() if(randomise[RANDOM_JUMPSUIT_STYLE]) diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm deleted file mode 100644 index 7d9a9121afe7..000000000000 --- a/code/modules/mob/dead/new_player/sprite_accessories.dm +++ /dev/null @@ -1,2994 +0,0 @@ -/* - - Hello and welcome to sprite_accessories: For sprite accessories, such as hair, - facial hair, and possibly tattoos and stuff somewhere along the line. This file is - intended to be friendly for people with little to no actual coding experience. - The process of adding in new hairstyles has been made pain-free and easy to do. - Enjoy! - Doohl - - - Notice: This all gets automatically compiled in a list in dna.dm, so you do not - have to define any UI values for sprite accessories manually for hair and facial - hair. Just add in new hair types and the game will naturally adapt. - - !!WARNING!!: changing existing hair information can be VERY hazardous to savefiles, - to the point where you may completely corrupt a server's savefiles. Please refrain - from doing this unless you absolutely know what you are doing, and have defined a - conversion in savefile.dm -*/ -/proc/init_sprite_accessory_subtypes(prototype, list/L, list/male, list/female, roundstart = FALSE)//Roundstart argument builds a specific list for roundstart parts where some parts may be locked - if(!istype(L)) - L = list() - if(!istype(male)) - male = list() - if(!istype(female)) - female = list() - - for(var/path in subtypesof(prototype)) - if(roundstart) - var/datum/sprite_accessory/P = path - if(initial(P.locked)) - continue - var/datum/sprite_accessory/D = new path() - - if(D.icon_state) - L[D.name] = D - else - L += D.name - - switch(D.gender) - if(MALE) - male += D.name - if(FEMALE) - female += D.name - else - male += D.name - female += D.name - return L - -/datum/sprite_accessory - var/icon //!the icon file the accessory is located in - var/icon_state //!the icon_state of the accessory - var/name //!the preview name of the accessory - var/gender = NEUTER //!Determines if the accessory will be skipped or included in random hair generations - var/gender_specific //!Something that can be worn by either gender, but looks different on each - var/use_static //!determines if the accessory will be skipped by color preferences - var/color_src = MUTCOLORS //!Currently only used by mutantparts so don't worry about hair and stuff. This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none. - var/hasinner //!Decides if this sprite has an "inner" part, such as the fleshy parts on ears. - var/locked = FALSE //!Is this part locked from roundstart selection? Used for parts that apply effects - var/dimension_x = 32 - var/dimension_y = 32 - var/center = FALSE //!Should we center the sprite? - var/limbs_id //!The limbs id supplied for full-body replacing features. - var/image_alpha = 255 //!The alpha for the accessory to use. - var/body_zone = BODY_ZONE_CHEST //!The body zone this accessory affects - var/synthetic_icon_state //!The icon_state to use when the bodypart it's attached to is synthetic - var/synthetic_color_src //!The color src to use instead of the normal src when synthetic, leave blank to use the normal src - -////////////////////// -// Hair Definitions // -////////////////////// -/datum/sprite_accessory/hair - icon = 'icons/mob/human_face.dmi' // default icon for all hairs - body_zone = BODY_ZONE_HEAD - - // please make sure they're sorted alphabetically and, where needed, categorized - // try to capitalize the names please~ - // try to spell - // you do not need to define _s or _l sub-states, game automatically does this for you - -/datum/sprite_accessory/hair/afro - name = "Afro" - icon_state = "hair_afro" - -/datum/sprite_accessory/hair/afro2 - name = "Afro 2" - icon_state = "hair_afro2" - -/datum/sprite_accessory/hair/afro_large - name = "Afro (Large)" - icon_state = "hair_bigafro" - -/datum/sprite_accessory/hair/antenna - name = "Ahoge" - icon_state = "hair_antenna" - -/datum/sprite_accessory/hair/bald - name = "Bald" - icon_state = null - -/datum/sprite_accessory/hair/balding - name = "Balding Hair" - icon_state = "hair_e" - -/datum/sprite_accessory/hair/bedhead - name = "Bedhead" - icon_state = "hair_bedhead" - -/datum/sprite_accessory/hair/bedhead2 - name = "Bedhead 2" - icon_state = "hair_bedheadv2" - -/datum/sprite_accessory/hair/bedhead3 - name = "Bedhead 3" - icon_state = "hair_bedheadv3" - -/datum/sprite_accessory/hair/bedheadlong - name = "Long Bedhead" - icon_state = "hair_long_bedhead" - -/datum/sprite_accessory/hair/bedheadfloorlength - name = "Floorlength Bedhead" - icon_state = "hair_floorlength_bedhead" - -/datum/sprite_accessory/hair/beehive - name = "Beehive" - icon_state = "hair_beehive" - -/datum/sprite_accessory/hair/beehive2 - name = "Beehive 2" - icon_state = "hair_beehivev2" - -/datum/sprite_accessory/hair/bob - name = "Bob Hair" - icon_state = "hair_bob" - -/datum/sprite_accessory/hair/bob2 - name = "Bob Hair 2" - icon_state = "hair_bob2" - -/datum/sprite_accessory/hair/bob3 - name = "Bob Hair 3" - icon_state = "hair_bobcut" - -/datum/sprite_accessory/hair/bob4 - name = "Bob Hair 4" - icon_state = "hair_bob4" - -/datum/sprite_accessory/hair/bobcurl - name = "Bobcurl" - icon_state = "hair_bobcurl" - -/datum/sprite_accessory/hair/boddicker - name = "Boddicker" - icon_state = "hair_boddicker" - -/datum/sprite_accessory/hair/bowlcut - name = "Bowlcut" - icon_state = "hair_bowlcut" - -/datum/sprite_accessory/hair/bowlcut2 - name = "Bowlcut 2" - icon_state = "hair_bowlcut2" - -/datum/sprite_accessory/hair/braid - name = "Braid (Floorlength)" - icon_state = "hair_braid" - -/datum/sprite_accessory/hair/braided - name = "Braided" - icon_state = "hair_braided" - -/datum/sprite_accessory/hair/front_braid - name = "Braided Front" - icon_state = "hair_braidfront" - -/datum/sprite_accessory/hair/not_floorlength_braid - name = "Braid (High)" - icon_state = "hair_braid2" - -/datum/sprite_accessory/hair/lowbraid - name = "Braid (Low)" - icon_state = "hair_hbraid" - -/datum/sprite_accessory/hair/shortbraid - name = "Braid (Short)" - icon_state = "hair_shortbraid" - -/datum/sprite_accessory/hair/braidtail - name = "Braided Tail" - icon_state = "hair_braidtail" - -/datum/sprite_accessory/hair/bun - name = "Bun Head" - icon_state = "hair_bun" - -/datum/sprite_accessory/hair/bun2 - name = "Bun Head 2" - icon_state = "hair_bunhead2" - -/datum/sprite_accessory/hair/bun3 - name = "Bun Head 3" - icon_state = "hair_bun3" - -/datum/sprite_accessory/hair/largebun - name = "Bun (Large)" - icon_state = "hair_largebun" - -/datum/sprite_accessory/hair/manbun - name = "Bun (Manbun)" - icon_state = "hair_manbun" - -/datum/sprite_accessory/hair/tightbun - name = "Bun (Tight)" - icon_state = "hair_tightbun" - -/datum/sprite_accessory/hair/business - name = "Business Hair" - icon_state = "hair_business" - -/datum/sprite_accessory/hair/business2 - name = "Business Hair 2" - icon_state = "hair_business2" - -/datum/sprite_accessory/hair/business3 - name = "Business Hair 3" - icon_state = "hair_business3" - -/datum/sprite_accessory/hair/business4 - name = "Business Hair 4" - icon_state = "hair_business4" - -/datum/sprite_accessory/hair/buzz - name = "Buzzcut" - icon_state = "hair_buzzcut" - -/datum/sprite_accessory/hair/cia - name = "CIA" - icon_state = "hair_cia" - -/datum/sprite_accessory/hair/coffeehouse - name = "Coffee House" - icon_state = "hair_coffeehouse" - -/datum/sprite_accessory/hair/combover - name = "Combover" - icon_state = "hair_combover" - -/datum/sprite_accessory/hair/cornrows1 - name = "Cornrows" - icon_state = "hair_cornrows" - -/datum/sprite_accessory/hair/cornrows2 - name = "Cornrows 2" - icon_state = "hair_cornrows2" - -/datum/sprite_accessory/hair/cornrowbun - name = "Cornrow Bun" - icon_state = "hair_cornrowbun" - -/datum/sprite_accessory/hair/cornrowbraid - name = "Cornrow Braid" - icon_state = "hair_cornrowbraid" - -/datum/sprite_accessory/hair/cornrowdualtail - name = "Cornrow Tail" - icon_state = "hair_cornrowtail" - -/datum/sprite_accessory/hair/crew - name = "Crewcut" - icon_state = "hair_crewcut" - -/datum/sprite_accessory/hair/curls - name = "Curls" - icon_state = "hair_curls" - -/datum/sprite_accessory/hair/cut - name = "Cut Hair" - icon_state = "hair_c" - -/datum/sprite_accessory/hair/dandpompadour - name = "Dandy Pompadour" - icon_state = "hair_dandypompadour" - -/datum/sprite_accessory/hair/devillock - name = "Devil Lock" - icon_state = "hair_devilock" - -/datum/sprite_accessory/hair/dolorosa - name = "Dolorosa" - icon_state = "hair_dolorosa" - -/datum/sprite_accessory/hair/double - name = "Double" - icon_state = "hair_double" - -/datum/sprite_accessory/hair/doublebun - name = "Double Bun" - icon_state = "hair_doublebun" - -/datum/sprite_accessory/hair/dreadlocks - name = "Dreadlocks" - icon_state = "hair_dreads" - -/datum/sprite_accessory/hair/drillhair - name = "Drillruru" - icon_state = "hair_drillruru" - -/datum/sprite_accessory/hair/drillhairextended - name = "Drill Hair (Extended)" - icon_state = "hair_drillhairextended" - -/datum/sprite_accessory/hair/egg - name = "Egg" - icon_state = "hair_egg" - -/datum/sprite_accessory/hair/eight - name = "Eight" - icon_state = "hair_eight" - -/datum/sprite_accessory/hair/emo - name = "Emo" - icon_state = "hair_emo" - -/datum/sprite_accessory/hair/emofrine - name = "Emo Fringe" - icon_state = "hair_emofringe" - -/datum/sprite_accessory/hair/nofade - name = "Fade (None)" - icon_state = "hair_nofade" - -/datum/sprite_accessory/hair/highfade - name = "Fade (High)" - icon_state = "hair_highfade" - -/datum/sprite_accessory/hair/medfade - name = "Fade (Medium)" - icon_state = "hair_medfade" - -/datum/sprite_accessory/hair/lowfade - name = "Fade (Low)" - icon_state = "hair_lowfade" - -/datum/sprite_accessory/hair/baldfade - name = "Fade (Bald)" - icon_state = "hair_baldfade" - -/datum/sprite_accessory/hair/feather - name = "Feather" - icon_state = "hair_feather" - -/datum/sprite_accessory/hair/father - name = "Father" - icon_state = "hair_father" - -/datum/sprite_accessory/hair/sargeant - name = "Flat Top" - icon_state = "hair_sargeant" - -/datum/sprite_accessory/hair/flair - name = "Flair" - icon_state = "hair_flair" - -/datum/sprite_accessory/hair/bigflattop - name = "Flat Top (Big)" - icon_state = "hair_bigflattop" - -/datum/sprite_accessory/hair/flow_hair - name = "Flow Hair" - icon_state = "hair_f" - -/datum/sprite_accessory/hair/gelled - name = "Gelled Back" - icon_state = "hair_gelled" - -/datum/sprite_accessory/hair/gentle - name = "Gentle" - icon_state = "hair_gentle" - -/datum/sprite_accessory/hair/halfbang - name = "Half-banged Hair" - icon_state = "hair_halfbang" - -/datum/sprite_accessory/hair/halfbang2 - name = "Half-banged Hair 2" - icon_state = "hair_halfbang2" - -/datum/sprite_accessory/hair/halfshaved - name = "Half-shaved" - icon_state = "hair_halfshaved" - -/datum/sprite_accessory/hair/harley - name = "Harley" - icon_state = "hair_harley" - -/datum/sprite_accessory/hair/hedgehog - name = "Hedgehog Hair" - icon_state = "hair_hedgehog" - -/datum/sprite_accessory/hair/himecut - name = "Hime Cut" - icon_state = "hair_himecut" - -/datum/sprite_accessory/hair/himecut2 - name = "Hime Cut 2" - icon_state = "hair_himecut2" - -/datum/sprite_accessory/hair/shorthime - name = "Hime Cut (Short)" - icon_state = "hair_shorthime" - -/datum/sprite_accessory/hair/himeup - name = "Hime Updo" - icon_state = "hair_himeup" - -/datum/sprite_accessory/hair/hitop - name = "Hitop" - icon_state = "hair_hitop" - -/datum/sprite_accessory/hair/jade - name = "Jade" - icon_state = "hair_jade" - -/datum/sprite_accessory/hair/jensen - name = "Jensen Hair" - icon_state = "hair_jensen" - -/datum/sprite_accessory/hair/Joestar - name = "Joestar" - icon_state = "hair_joestar" - -/datum/sprite_accessory/hair/justice - name = "Justice" - icon_state = "hair_justice" - -/datum/sprite_accessory/hair/keanu - name = "Keanu Hair" - icon_state = "hair_keanu" - -/datum/sprite_accessory/hair/kusangi - name = "Kusanagi Hair" - icon_state = "hair_kusanagi" - -/datum/sprite_accessory/hair/long - name = "Long Hair 1" - icon_state = "hair_long" - -/datum/sprite_accessory/hair/long2 - name = "Long Hair 2" - icon_state = "hair_long2" - -/datum/sprite_accessory/hair/long3 - name = "Long Hair 3" - icon_state = "hair_long3" - -/datum/sprite_accessory/hair/long_over_eye - name = "Long Over Eye" - icon_state = "hair_longovereye" - -/datum/sprite_accessory/hair/longbangs - name = "Long Bangs" - icon_state = "hair_lbangs" - -/datum/sprite_accessory/hair/longemo - name = "Long Emo" - icon_state = "hair_longemo" - -/datum/sprite_accessory/hair/longfringe - name = "Long Fringe" - icon_state = "hair_longfringe" - -/datum/sprite_accessory/hair/sidepartlongalt - name = "Long Side Part" - icon_state = "hair_longsidepart" - -/datum/sprite_accessory/hair/manime - name = "Manime" - icon_state = "hair_manime" - -/datum/sprite_accessory/hair/megaeyebrows - name = "Mega Eyebrows" - icon_state = "hair_megaeyebrows" - -/datum/sprite_accessory/hair/meow - name = "Meow" - icon_state = "hair_meow" - -/datum/sprite_accessory/hair/messy - name = "Messy" - icon_state = "hair_messy" - -/datum/sprite_accessory/hair/miracles - name = "Miracles" - icon_state = "hair_miracles" - -/datum/sprite_accessory/hair/modern - name = "Modern" - icon_state = "hair_modern" - -/datum/sprite_accessory/hair/mohawk - name = "Mohawk" - icon_state = "hair_d" - -/datum/sprite_accessory/hair/nitori - name = "Nitori" - icon_state = "hair_nitori" - -/datum/sprite_accessory/hair/reversemohawk - name = "Mohawk (Reverse)" - icon_state = "hair_reversemohawk" - -/datum/sprite_accessory/hair/shavedmohawk - name = "Mohawk (Shaved)" - icon_state = "hair_shavedmohawk" - -/datum/sprite_accessory/hair/unshavenmohawk - name = "Mohawk (Unshaven)" - icon_state = "hair_unshaven_mohawk" - -/datum/sprite_accessory/hair/mulder - name = "Mulder" - icon_state = "hair_mulder" - -/datum/sprite_accessory/hair/odango - name = "Odango" - icon_state = "hair_odango" - -/datum/sprite_accessory/hair/ombre - name = "Ombre" - icon_state = "hair_ombre" - -/datum/sprite_accessory/hair/oneshoulder - name = "One Shoulder" - icon_state = "hair_oneshoulder" - -/datum/sprite_accessory/hair/over_eye - name = "Over Eye" - icon_state = "hair_shortovereye" - -/datum/sprite_accessory/hair/oxton - name = "Oxton" - icon_state = "hair_oxton" - -/datum/sprite_accessory/hair/parted - name = "Parted" - icon_state = "hair_parted" - -/datum/sprite_accessory/hair/partedside - name = "Parted (Side)" - icon_state = "hair_part" - -/datum/sprite_accessory/hair/kagami - name = "Pigtails" - icon_state = "hair_kagami" - -/datum/sprite_accessory/hair/pigtail - name = "Pigtails 2" - icon_state = "hair_pigtails" - -/datum/sprite_accessory/hair/pigtail2 - name = "Pigtails 3" - icon_state = "hair_pigtails2" - -/datum/sprite_accessory/hair/pixie - name = "Pixie Cut" - icon_state = "hair_pixie" - -/datum/sprite_accessory/hair/pompadour - name = "Pompadour" - icon_state = "hair_pompadour" - -/datum/sprite_accessory/hair/bigpompadour - name = "Pompadour (Big)" - icon_state = "hair_bigpompadour" - -/datum/sprite_accessory/hair/ponytail1 - name = "Ponytail" - icon_state = "hair_ponytail" - -/datum/sprite_accessory/hair/ponytail2 - name = "Ponytail 2" - icon_state = "hair_ponytail2" - -/datum/sprite_accessory/hair/ponytail3 - name = "Ponytail 3" - icon_state = "hair_ponytail3" - -/datum/sprite_accessory/hair/ponytail4 - name = "Ponytail 4" - icon_state = "hair_ponytail4" - -/datum/sprite_accessory/hair/ponytail5 - name = "Ponytail 5" - icon_state = "hair_ponytail5" - -/datum/sprite_accessory/hair/ponytail6 - name = "Ponytail 6" - icon_state = "hair_ponytail6" - -/datum/sprite_accessory/hair/ponytail7 - name = "Ponytail 7" - icon_state = "hair_ponytail7" - -/datum/sprite_accessory/hair/highponytail - name = "Ponytail (High)" - icon_state = "hair_highponytail" - -/datum/sprite_accessory/hair/stail - name = "Ponytail (Short)" - icon_state = "hair_stail" - -/datum/sprite_accessory/hair/longponytail - name = "Ponytail (Long)" - icon_state = "hair_longstraightponytail" - -/datum/sprite_accessory/hair/countryponytail - name = "Ponytail (Country)" - icon_state = "hair_country" - -/datum/sprite_accessory/hair/fringetail - name = "Ponytail (Fringe)" - icon_state = "hair_fringetail" - -/datum/sprite_accessory/hair/sidetail - name = "Ponytail (Side)" - icon_state = "hair_sidetail" - -/datum/sprite_accessory/hair/sidetail2 - name = "Ponytail (Side) 2" - icon_state = "hair_sidetail2" - -/datum/sprite_accessory/hair/sidetail3 - name = "Ponytail (Side) 3" - icon_state = "hair_sidetail3" - -/datum/sprite_accessory/hair/sidetail4 - name = "Ponytail (Side) 4" - icon_state = "hair_sidetail4" - -/datum/sprite_accessory/hair/spikyponytail - name = "Ponytail (Spiky)" - icon_state = "hair_spikyponytail" - -/datum/sprite_accessory/hair/poofy - name = "Poofy" - icon_state = "hair_poofy" - -/datum/sprite_accessory/hair/prince - name = "Prince" - icon_state = "hair_prince" - -/datum/sprite_accessory/hair/pupa - name = "Pupa" - icon_state = "hair_pupa" - -/datum/sprite_accessory/hair/quiff - name = "Quiff" - icon_state = "hair_quiff" - -/datum/sprite_accessory/hair/ronin - name = "Ronin" - icon_state = "hair_ronin" - -/datum/sprite_accessory/hair/rosemary - name = "Rosemary" - icon_state = "hair_rosemary" - -/datum/sprite_accessory/hair/shaved - name = "Shaved" - icon_state = "hair_shaved" - -/datum/sprite_accessory/hair/shavedpart - name = "Shaved Part" - icon_state = "hair_shavedpart" - -/datum/sprite_accessory/hair/shortbangs - name = "Short Bangs" - icon_state = "hair_shortbangs" - -/datum/sprite_accessory/hair/short - name = "Short Hair" - icon_state = "hair_a" - -/datum/sprite_accessory/hair/shorthair2 - name = "Short Hair 2" - icon_state = "hair_shorthair2" - -/datum/sprite_accessory/hair/shorthair3 - name = "Short Hair 3" - icon_state = "hair_shorthair3" - -/datum/sprite_accessory/hair/shorthair4 - name = "Short Hair 4" - icon_state = "hair_d" - -/datum/sprite_accessory/hair/shorthair5 - name = "Short Hair 5" - icon_state = "hair_e" - -/datum/sprite_accessory/hair/shorthair6 - name = "Short Hair 6" - icon_state = "hair_f" - -/datum/sprite_accessory/hair/shorthair7 - name = "Short Hair 7" - icon_state = "hair_shorthairg" - -/datum/sprite_accessory/hair/shorthaireighties - name = "Short Hair 80s" - icon_state = "hair_80s" - -/datum/sprite_accessory/hair/rosa - name = "Short Hair Rosa" - icon_state = "hair_rosa" - -/datum/sprite_accessory/hair/shoulderlength - name = "Shoulder-length Hair" - icon_state = "hair_b" - -/datum/sprite_accessory/hair/sidecut - name = "Sidecut" - icon_state = "hair_sidecut" - -/datum/sprite_accessory/hair/skinhead - name = "Skinhead" - icon_state = "hair_skinhead" - -/datum/sprite_accessory/hair/protagonist - name = "Slightly Long Hair" - icon_state = "hair_protagonist" - -/datum/sprite_accessory/hair/spiky - name = "Spiky" - icon_state = "hair_spikey" - -/datum/sprite_accessory/hair/spiky2 - name = "Spiky 2" - icon_state = "hair_spiky" - -/datum/sprite_accessory/hair/spiky3 - name = "Spiky 3" - icon_state = "hair_spiky2" - -/datum/sprite_accessory/hair/stride - name = "Stride" - icon_state = "hair_stride" - -/datum/sprite_accessory/hair/swept - name = "Swept Back Hair" - icon_state = "hair_swept" - -/datum/sprite_accessory/hair/swept2 - name = "Swept Back Hair 2" - icon_state = "hair_swept2" - -/datum/sprite_accessory/hair/thinning - name = "Thinning" - icon_state = "hair_thinning" - -/datum/sprite_accessory/hair/thinningfront - name = "Thinning (Front)" - icon_state = "hair_thinningfront" - -/datum/sprite_accessory/hair/thinningrear - name = "Thinning (Rear)" - icon_state = "hair_thinningrear" - -/datum/sprite_accessory/hair/thresh - name = "Thresh" - icon_state = "hair_thresh" - -/datum/sprite_accessory/hair/topknot - name = "Topknot" - icon_state = "hair_topknot" - -/datum/sprite_accessory/hair/tressshoulder - name = "Tress Shoulder" - icon_state = "hair_tressshoulder" - -/datum/sprite_accessory/hair/trimmed - name = "Trimmed" - icon_state = "hair_trimmed" - -/datum/sprite_accessory/hair/trimflat - name = "Trim Flat" - icon_state = "hair_trimflat" - -/datum/sprite_accessory/hair/twintails - name = "Twintails" - icon_state = "hair_twintail" - -/datum/sprite_accessory/hair/undercut - name = "Undercut" - icon_state = "hair_undercut" - -/datum/sprite_accessory/hair/undercutleft - name = "Undercut Left" - icon_state = "hair_undercutleft" - -/datum/sprite_accessory/hair/undercutright - name = "Undercut Right" - icon_state = "hair_undercutright" - -/datum/sprite_accessory/hair/unkept - name = "Unkept" - icon_state = "hair_unkept" - -/datum/sprite_accessory/hair/updo - name = "Updo" - icon_state = "hair_updo" - -/datum/sprite_accessory/hair/longer - name = "Very Long Hair" - icon_state = "hair_vlong" - -/datum/sprite_accessory/hair/longest - name = "Very Long Hair 2" - icon_state = "hair_longest" - -/datum/sprite_accessory/hair/longest2 - name = "Very Long Over Eye" - icon_state = "hair_longest2" - -/datum/sprite_accessory/hair/veryshortovereye - name = "Very Short Over Eye" - icon_state = "hair_veryshortovereyealternate" - -/datum/sprite_accessory/hair/longestalt - name = "Very Long with Fringe" - icon_state = "hair_vlongfringe" - -/datum/sprite_accessory/hair/volaju - name = "Volaju" - icon_state = "hair_volaju" - -/datum/sprite_accessory/hair/wisp - name = "Wisp" - icon_state = "hair_wisp" - -/* -///////////////////////////////////// -/ =---------------------------= / -/ == Gradient Hair Definitions == / -/ =---------------------------= / -///////////////////////////////////// -*/ - -/datum/sprite_accessory/hair_gradient - icon = 'icons/mob/hair_gradients.dmi' - body_zone = BODY_ZONE_HEAD - -/datum/sprite_accessory/hair_gradient/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/hair_gradient/fadeup - name = "Fade Up" - icon_state = "fadeup" - -/datum/sprite_accessory/hair_gradient/fadedown - name = "Fade Down" - icon_state = "fadedown" - -/datum/sprite_accessory/hair_gradient/vertical_split - name = "Vertical Split" - icon_state = "vsplit" - -/datum/sprite_accessory/hair_gradient/_split - name = "Horizontal Split" - icon_state = "bottomflat" - -/datum/sprite_accessory/hair_gradient/reflected - name = "Reflected" - icon_state = "reflected_high" - -/datum/sprite_accessory/hair_gradient/reflected_inverse - name = "Reflected Inverse" - icon_state = "reflected_inverse_high" - -/datum/sprite_accessory/hair_gradient/wavy - name = "Wavy" - icon_state = "wavy" - -/datum/sprite_accessory/hair_gradient/long_fade_up - name = "Long Fade Up" - icon_state = "long_fade_up" - -/datum/sprite_accessory/hair_gradient/long_fade_down - name = "Long Fade Down" - icon_state = "long_fade_down" - -///////////////////////////// -// Facial Hair Definitions // -///////////////////////////// - -/datum/sprite_accessory/facial_hair - icon = 'icons/mob/human_face.dmi' - gender = MALE // barf (unless you're a dorf, dorfs dig chix w/ beards :P) - body_zone = BODY_ZONE_HEAD - -// please make sure they're sorted alphabetically and categorized - -/datum/sprite_accessory/facial_hair/abe - name = "Beard (Abraham Lincoln)" - icon_state = "facial_abe" - -/datum/sprite_accessory/facial_hair/brokenman - name = "Beard (Broken Man)" - icon_state = "facial_brokenman" - -/datum/sprite_accessory/facial_hair/chinstrap - name = "Beard (Chinstrap)" - icon_state = "facial_chin" - -/datum/sprite_accessory/facial_hair/dwarf - name = "Beard (Dwarf)" - icon_state = "facial_dwarf" - -/datum/sprite_accessory/facial_hair/fullbeard - name = "Beard (Full)" - icon_state = "facial_fullbeard" - -/datum/sprite_accessory/facial_hair/croppedfullbeard - name = "Beard (Cropped Fullbeard)" - icon_state = "facial_croppedfullbeard" - -/datum/sprite_accessory/facial_hair/gt - name = "Beard (Goatee)" - icon_state = "facial_gt" - -/datum/sprite_accessory/facial_hair/hip - name = "Beard (Hipster)" - icon_state = "facial_hip" - -/datum/sprite_accessory/facial_hair/jensen - name = "Beard (Jensen)" - icon_state = "facial_jensen" - -/datum/sprite_accessory/facial_hair/neckbeard - name = "Beard (Neckbeard)" - icon_state = "facial_neckbeard" - -/datum/sprite_accessory/facial_hair/vlongbeard - name = "Beard (Very Long)" - icon_state = "facial_wise" - -/datum/sprite_accessory/facial_hair/muttonmus - name = "Beard (Muttonmus)" - icon_state = "facial_muttonmus" - -/datum/sprite_accessory/facial_hair/martialartist - name = "Beard (Martial Artist)" - icon_state = "facial_martialartist" - -/datum/sprite_accessory/facial_hair/chinlessbeard - name = "Beard (Chinless Beard)" - icon_state = "facial_chinlessbeard" - -/datum/sprite_accessory/facial_hair/moonshiner - name = "Beard (Moonshiner)" - icon_state = "facial_moonshiner" - -/datum/sprite_accessory/facial_hair/longbeard - name = "Beard (Long)" - icon_state = "facial_longbeard" - -/datum/sprite_accessory/facial_hair/volaju - name = "Beard (Volaju)" - icon_state = "facial_volaju" - -/datum/sprite_accessory/facial_hair/threeoclock - name = "Beard (Three o Clock Shadow)" - icon_state = "facial_3oclock" - -/datum/sprite_accessory/facial_hair/fiveoclock - name = "Beard (Five o Clock Shadow)" - icon_state = "facial_fiveoclock" - -/datum/sprite_accessory/facial_hair/fiveoclockm - name = "Beard (Five o Clock Moustache)" - icon_state = "facial_5oclockmoustache" - -/datum/sprite_accessory/facial_hair/sevenoclock - name = "Beard (Seven o Clock Shadow)" - icon_state = "facial_7oclock" - -/datum/sprite_accessory/facial_hair/sevenoclockm - name = "Beard (Seven o Clock Moustache)" - icon_state = "facial_7oclockmoustache" - -/datum/sprite_accessory/facial_hair/moustache - name = "Moustache" - icon_state = "facial_moustache" - -/datum/sprite_accessory/facial_hair/pencilstache - name = "Moustache (Pencilstache)" - icon_state = "facial_pencilstache" - -/datum/sprite_accessory/facial_hair/smallstache - name = "Moustache (Smallstache)" - icon_state = "facial_smallstache" - -/datum/sprite_accessory/facial_hair/walrus - name = "Moustache (Walrus)" - icon_state = "facial_walrus" - -/datum/sprite_accessory/facial_hair/fu - name = "Moustache (Fu Manchu)" - icon_state = "facial_fumanchu" - -/datum/sprite_accessory/facial_hair/hogan - name = "Moustache (Hulk Hogan)" - icon_state = "facial_hogan" //-Neek - -/datum/sprite_accessory/facial_hair/selleck - name = "Moustache (Selleck)" - icon_state = "facial_selleck" - -/datum/sprite_accessory/facial_hair/chaplin - name = "Moustache (Square)" - icon_state = "facial_chaplin" - -/datum/sprite_accessory/facial_hair/vandyke - name = "Moustache (Van Dyke)" - icon_state = "facial_vandyke" - -/datum/sprite_accessory/facial_hair/watson - name = "Moustache (Watson)" - icon_state = "facial_watson" - -/datum/sprite_accessory/facial_hair/elvis - name = "Sideburns (Elvis)" - icon_state = "facial_elvis" - -/datum/sprite_accessory/facial_hair/mutton - name = "Sideburns (Mutton Chops)" - icon_state = "facial_mutton" - -/datum/sprite_accessory/facial_hair/sideburn - name = "Sideburns" - icon_state = "facial_sideburn" - -/datum/sprite_accessory/facial_hair/shaved - name = "Shaved" - icon_state = null - gender = NEUTER - -/////////////////////////// -// Underwear Definitions // -/////////////////////////// - -/datum/sprite_accessory/underwear - icon = 'icons/mob/clothing/underwear.dmi' - use_static = FALSE - - -//MALE UNDERWEAR -/datum/sprite_accessory/underwear/nude - name = "Nude" - icon_state = null - gender = NEUTER - -/datum/sprite_accessory/underwear/male_briefs - name = "Men's Briefs" - icon_state = "male_briefs" - gender = MALE - -/datum/sprite_accessory/underwear/male_boxers - name = "Men's Boxer" - icon_state = "male_boxers" - gender = MALE - -/datum/sprite_accessory/underwear/male_stripe - name = "Men's Striped Boxer" - icon_state = "male_stripe" - gender = MALE - -/datum/sprite_accessory/underwear/male_midway - name = "Men's Midway Boxer" - icon_state = "male_midway" - gender = MALE - -/datum/sprite_accessory/underwear/male_longjohns - name = "Men's Long Johns" - icon_state = "male_longjohns" - gender = MALE - -/datum/sprite_accessory/underwear/male_kinky - name = "Men's Kinky" - icon_state = "male_kinky" - gender = MALE - -/datum/sprite_accessory/underwear/male_mankini - name = "Mankini" - icon_state = "male_mankini" - gender = MALE - -/datum/sprite_accessory/underwear/male_hearts - name = "Men's Hearts Boxer" - icon_state = "male_hearts" - gender = MALE - use_static = TRUE - -/datum/sprite_accessory/underwear/male_commie - name = "Men's Striped Commie Boxer" - icon_state = "male_commie" - gender = MALE - use_static = TRUE - -/datum/sprite_accessory/underwear/male_usastripe - name = "Men's Striped Freedom Boxer" - icon_state = "male_assblastusa" - gender = MALE - use_static = TRUE - -/datum/sprite_accessory/underwear/male_uk - name = "Men's Striped UK Boxer" - icon_state = "male_uk" - gender = MALE - use_static = TRUE - - -//FEMALE UNDERWEAR -/datum/sprite_accessory/underwear/female_bikini - name = "Ladies' Bikini" - icon_state = "female_bikini" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_lace - name = "Ladies' Lace" - icon_state = "female_lace" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_bralette - name = "Ladies' Bralette" - icon_state = "female_bralette" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_sport - name = "Ladies' Sport" - icon_state = "female_sport" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_thong - name = "Ladies' Thong" - icon_state = "female_thong" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_strapless - name = "Ladies' Strapless" - icon_state = "female_strapless" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_babydoll - name = "Babydoll" - icon_state = "female_babydoll" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_onepiece - name = "Ladies' One Piece Swimsuit" - icon_state = "swim_onepiece" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_strapless_onepiece - name = "Ladies' Strapless One Piece Swimsuit" - icon_state = "swim_strapless_onepiece" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_twopiece - name = "Ladies' Two Piece Swimsuit" - icon_state = "swim_twopiece" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_strapless_twopiece - name = "Ladies' Strapless Two Piece Swimsuit" - icon_state = "swim_strapless_twopiece" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_stripe - name = "Ladies' Stripe Swimsuit" - icon_state = "swim_stripe" - gender = FEMALE - -/datum/sprite_accessory/underwear/swimsuit_halter - name = "Ladies' Halter Swimsuit" - icon_state = "swim_halter" - gender = FEMALE - -/datum/sprite_accessory/underwear/female_white_neko - name = "Ladies' White Neko" - icon_state = "female_neko_white" - gender = FEMALE - use_static = TRUE - -/datum/sprite_accessory/underwear/female_black_neko - name = "Ladies' Black Neko" - icon_state = "female_neko_black" - gender = FEMALE - use_static = TRUE - -/datum/sprite_accessory/underwear/female_commie - name = "Ladies' Commie" - icon_state = "female_commie" - gender = FEMALE - use_static = TRUE - -/datum/sprite_accessory/underwear/female_usastripe - name = "Ladies' Freedom" - icon_state = "female_assblastusa" - gender = FEMALE - use_static = TRUE - -/datum/sprite_accessory/underwear/female_uk - name = "Ladies' UK" - icon_state = "female_uk" - gender = FEMALE - use_static = TRUE - -/datum/sprite_accessory/underwear/female_kinky - name = "Ladies' Kinky" - icon_state = "female_kinky" - gender = FEMALE - use_static = TRUE - -//////////////////////////// -// Undershirt Definitions // -//////////////////////////// - -/datum/sprite_accessory/undershirt - icon = 'icons/mob/clothing/underwear.dmi' - -/datum/sprite_accessory/undershirt/nude - name = "Nude" - icon_state = null - gender = NEUTER - -// please make sure they're sorted alphabetically and categorized - -/datum/sprite_accessory/undershirt/bluejersey - name = "Jersey (Blue)" - icon_state = "shirt_bluejersey" - gender = NEUTER - -/datum/sprite_accessory/undershirt/redjersey - name = "Jersey (Red)" - icon_state = "shirt_redjersey" - gender = NEUTER - -/datum/sprite_accessory/undershirt/bluepolo - name = "Polo Shirt (Blue)" - icon_state = "bluepolo" - gender = NEUTER - -/datum/sprite_accessory/undershirt/grayyellowpolo - name = "Polo Shirt (Gray-Yellow)" - icon_state = "grayyellowpolo" - gender = NEUTER - -/datum/sprite_accessory/undershirt/redpolo - name = "Polo Shirt (Red)" - icon_state = "redpolo" - gender = NEUTER - -/datum/sprite_accessory/undershirt/whitepolo - name = "Polo Shirt (White)" - icon_state = "whitepolo" - gender = NEUTER - -/datum/sprite_accessory/undershirt/alienshirt - name = "Shirt (Alien)" - icon_state = "shirt_alien" - gender = NEUTER - -/datum/sprite_accessory/undershirt/mondmondjaja - name = "Shirt (Band)" - icon_state = "band" - gender = NEUTER - -/datum/sprite_accessory/undershirt/shirt_black - name = "Shirt (Black)" - icon_state = "shirt_black" - gender = NEUTER - -/datum/sprite_accessory/undershirt/blueshirt - name = "Shirt (Blue)" - icon_state = "shirt_blue" - gender = NEUTER - -/datum/sprite_accessory/undershirt/clownshirt - name = "Shirt (Clown)" - icon_state = "shirt_clown" - gender = NEUTER - -/datum/sprite_accessory/undershirt/commie - name = "Shirt (Commie)" - icon_state = "shirt_commie" - gender = NEUTER - -/datum/sprite_accessory/undershirt/greenshirt - name = "Shirt (Green)" - icon_state = "shirt_green" - gender = NEUTER - -/datum/sprite_accessory/undershirt/shirt_grey - name = "Shirt (Grey)" - icon_state = "shirt_grey" - gender = NEUTER - -/datum/sprite_accessory/undershirt/ian - name = "Shirt (Ian)" - icon_state = "ian" - gender = NEUTER - -/datum/sprite_accessory/undershirt/ilovent - name = "Shirt (I Love NT)" - icon_state = "ilovent" - gender = NEUTER - -/datum/sprite_accessory/undershirt/lover - name = "Shirt (Lover)" - icon_state = "lover" - gender = NEUTER - -/datum/sprite_accessory/undershirt/matroska - name = "Shirt (Matroska)" - icon_state = "matroska" - gender = NEUTER - -/datum/sprite_accessory/undershirt/meat - name = "Shirt (Meat)" - icon_state = "shirt_meat" - gender = NEUTER - -/datum/sprite_accessory/undershirt/nano - name = "Shirt (Nanotrasen)" - icon_state = "shirt_nano" - gender = NEUTER - -/datum/sprite_accessory/undershirt/peace - name = "Shirt (Peace)" - icon_state = "peace" - gender = NEUTER - -/datum/sprite_accessory/undershirt/pacman - name = "Shirt (Pogoman)" - icon_state = "pogoman" - gender = NEUTER - -/datum/sprite_accessory/undershirt/question - name = "Shirt (Question)" - icon_state = "shirt_question" - gender = NEUTER - -/datum/sprite_accessory/undershirt/redshirt - name = "Shirt (Red)" - icon_state = "shirt_red" - gender = NEUTER - -/datum/sprite_accessory/undershirt/skull - name = "Shirt (Skull)" - icon_state = "shirt_skull" - gender = NEUTER - -/datum/sprite_accessory/undershirt/ss13 - name = "Shirt (SS13)" - icon_state = "shirt_ss13" - gender = NEUTER - -/datum/sprite_accessory/undershirt/stripe - name = "Shirt (Striped)" - icon_state = "shirt_stripes" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tiedye - name = "Shirt (Tie-dye)" - icon_state = "shirt_tiedye" - gender = NEUTER - -/datum/sprite_accessory/undershirt/uk - name = "Shirt (UK)" - icon_state = "uk" - gender = NEUTER - -/datum/sprite_accessory/undershirt/usa - name = "Shirt (USA)" - icon_state = "shirt_assblastusa" - gender = NEUTER - -/datum/sprite_accessory/undershirt/shirt_white - name = "Shirt (White)" - icon_state = "shirt_white" - gender = NEUTER - -/datum/sprite_accessory/undershirt/blackshortsleeve - name = "Short-sleeved Shirt (Black)" - icon_state = "blackshortsleeve" - gender = NEUTER - -/datum/sprite_accessory/undershirt/blueshortsleeve - name = "Short-sleeved Shirt (Blue)" - icon_state = "blueshortsleeve" - gender = NEUTER - -/datum/sprite_accessory/undershirt/greenshortsleeve - name = "Short-sleeved Shirt (Green)" - icon_state = "greenshortsleeve" - gender = NEUTER - -/datum/sprite_accessory/undershirt/purpleshortsleeve - name = "Short-sleeved Shirt (Purple)" - icon_state = "purpleshortsleeve" - gender = NEUTER - -/datum/sprite_accessory/undershirt/whiteshortsleeve - name = "Short-sleeved Shirt (White)" - icon_state = "whiteshortsleeve" - gender = NEUTER - -/datum/sprite_accessory/undershirt/sports_bra - name = "Sports Bra" - icon_state = "sports_bra" - gender = NEUTER - -/datum/sprite_accessory/undershirt/sports_bra2 - name = "Sports Bra (Alt)" - icon_state = "sports_bra_alt" - gender = NEUTER - -/datum/sprite_accessory/undershirt/blueshirtsport - name = "Sports Shirt (Blue)" - icon_state = "blueshirtsport" - gender = NEUTER - -/datum/sprite_accessory/undershirt/greenshirtsport - name = "Sports Shirt (Green)" - icon_state = "greenshirtsport" - gender = NEUTER - -/datum/sprite_accessory/undershirt/redshirtsport - name = "Sports Shirt (Red)" - icon_state = "redshirtsport" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_black - name = "Tank Top (Black)" - icon_state = "tank_black" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tankfire - name = "Tank Top (Fire)" - icon_state = "tank_fire" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_grey - name = "Tank Top (Grey)" - icon_state = "tank_grey" - gender = NEUTER - -/datum/sprite_accessory/undershirt/female_midriff - name = "Tank Top (Midriff)" - icon_state = "tank_midriff" - gender = FEMALE - -/datum/sprite_accessory/undershirt/tank_red - name = "Tank Top (Red)" - icon_state = "tank_red" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tankstripe - name = "Tank Top (Striped)" - icon_state = "tank_stripes" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_white - name = "Tank Top (White)" - icon_state = "tank_white" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_rainbow - name = "Tank Top (Rainbow)" - icon_state = "tank_rainbow" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_les - name = "Tank Top (Lesbian)" - icon_state = "tank_les" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_bi - name = "Tank Top (Bi)" - icon_state = "tank_bi" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_trans - name = "Tank Top (Trans)" - icon_state = "tank_trans" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_enby - name = "Tank Top (Nonbinary)" - icon_state = "tank_enby" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tank_ace - name = "Tank Top (Asexual)" - icon_state = "tank_ace" - gender = NEUTER - -/datum/sprite_accessory/undershirt/redtop - name = "Top (Red)" - icon_state = "redtop" - gender = FEMALE - -/datum/sprite_accessory/undershirt/whitetop - name = "Top (White)" - icon_state = "whitetop" - gender = FEMALE - -/datum/sprite_accessory/undershirt/tshirt_blue - name = "T-Shirt (Blue)" - icon_state = "blueshirt" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tshirt_green - name = "T-Shirt (Green)" - icon_state = "greenshirt" - gender = NEUTER - -/datum/sprite_accessory/undershirt/tshirt_red - name = "T-Shirt (Red)" - icon_state = "redshirt" - gender = NEUTER - -/datum/sprite_accessory/undershirt/yellowshirt - name = "T-Shirt (Yellow)" - icon_state = "yellowshirt" - gender = NEUTER - -/////////////////////// -// Socks Definitions // -/////////////////////// - -/datum/sprite_accessory/socks - icon = 'icons/mob/clothing/underwear.dmi' - -/datum/sprite_accessory/socks/nude - name = "Nude" - icon_state = null - -// please make sure they're sorted alphabetically and categorized - -/datum/sprite_accessory/socks/black_knee - name = "Knee-high (Black)" - icon_state = "black_knee" - -/datum/sprite_accessory/socks/commie_knee - name = "Knee-High (Commie)" - icon_state = "commie_knee" - -/datum/sprite_accessory/socks/usa_knee - name = "Knee-High (Freedom)" - icon_state = "assblastusa_knee" - -/datum/sprite_accessory/socks/rainbow_knee - name = "Knee-high (Rainbow)" - icon_state = "rainbow_knee" - -/datum/sprite_accessory/socks/striped_knee - name = "Knee-high (Striped)" - icon_state = "striped_knee" - -/datum/sprite_accessory/socks/thin_knee - name = "Knee-high (Thin)" - icon_state = "thin_knee" - -/datum/sprite_accessory/socks/uk_knee - name = "Knee-High (UK)" - icon_state = "uk_knee" - -/datum/sprite_accessory/socks/white_knee - name = "Knee-high (White)" - icon_state = "white_knee" - -/datum/sprite_accessory/socks/bee_knee - name = "Knee-high (Bee)" - icon_state = "bee_knee" - -/datum/sprite_accessory/socks/black_norm - name = "Normal (Black)" - icon_state = "black_norm" - -/datum/sprite_accessory/socks/white_norm - name = "Normal (White)" - icon_state = "white_norm" - -/datum/sprite_accessory/socks/pantyhose - name = "Pantyhose" - icon_state = "pantyhose" - -/datum/sprite_accessory/socks/black_short - name = "Short (Black)" - icon_state = "black_short" - -/datum/sprite_accessory/socks/white_short - name = "Short (White)" - icon_state = "white_short" - -/datum/sprite_accessory/socks/stockings_blue - name = "Stockings (Blue)" - icon_state = "stockings_blue" - -/datum/sprite_accessory/socks/stockings_cyan - name = "Stockings (Cyan)" - icon_state = "stockings_cyan" - -/datum/sprite_accessory/socks/stockings_dpink - name = "Stockings (Dark Pink)" - icon_state = "stockings_dpink" - -/datum/sprite_accessory/socks/stockings_green - name = "Stockings (Green)" - icon_state = "stockings_black" - -/datum/sprite_accessory/socks/stockings_orange - name = "Stockings (Orange)" - icon_state = "stockings_orange" - -/datum/sprite_accessory/socks/stockings_programmer - name = "Stockings (Programmer)" - icon_state = "stockings_lpink" - -/datum/sprite_accessory/socks/stockings_puce - name = "Stockings (Puce)" - icon_state = "stockings_puce" - -/datum/sprite_accessory/socks/stockings_purple - name = "Stockings (Purple)" - icon_state = "stockings_purple" - -/datum/sprite_accessory/socks/stockings_yellow - name = "Stockings (Yellow)" - icon_state = "stockings_yellow" - -/datum/sprite_accessory/socks/black_thigh - name = "Thigh-high (Black)" - icon_state = "black_thigh" - -/datum/sprite_accessory/socks/commie_thigh - name = "Thigh-high (Commie)" - icon_state = "commie_thigh" - -/datum/sprite_accessory/socks/usa_thigh - name = "Thigh-high (Freedom)" - icon_state = "assblastusa_thigh" - -/datum/sprite_accessory/socks/rainbow_thigh - name = "Thigh-high (Rainbow)" - icon_state = "rainbow_thigh" - -/datum/sprite_accessory/socks/les_thigh - name = "Thigh-high (Lesbian)" - icon_state = "les_thigh" - -/datum/sprite_accessory/socks/bi_thigh - name = "Thigh-high (Bi)" - icon_state = "bi_thigh" //bi thigh highs? we gotta study this - -/datum/sprite_accessory/socks/trans_thigh - name = "Thigh-high (Trans)" - icon_state = "trans_thigh" - -/datum/sprite_accessory/socks/enby_thigh - name = "Thigh-high (Nonbinary)" - icon_state = "enby_thigh" - -/datum/sprite_accessory/socks/ace_thigh - name = "Thigh-high (Asexual)" - icon_state = "ace_thigh" - -/datum/sprite_accessory/socks/striped_thigh - name = "Thigh-high (Striped)" - icon_state = "striped_thigh" - -/datum/sprite_accessory/socks/thin_thigh - name = "Thigh-high (Thin)" - icon_state = "thin_thigh" - -/datum/sprite_accessory/socks/uk_thigh - name = "Thigh-high (UK)" - icon_state = "uk_thigh" - -/datum/sprite_accessory/socks/white_thigh - name = "Thigh-high (White)" - icon_state = "white_thigh" - -/datum/sprite_accessory/socks/bee_thigh - name = "Thigh-high (Bee)" - icon_state = "bee_thigh" - -/datum/sprite_accessory/socks/thocks - name = "Thocks" - icon_state = "thocks" - -//////////.////////////////// -// MutantParts Definitions // -///////////////////////////// - -/datum/sprite_accessory/body_markings - icon = 'icons/mob/mutant_bodyparts.dmi' - color_src = MUTCOLORS_SECONDARY - body_zone = BODY_ZONE_CHEST - synthetic_icon_state = "none" - -/datum/sprite_accessory/body_markings/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/body_markings/dtiger - name = "Dark Tiger Body" - icon_state = "dtiger" - gender_specific = TRUE - -/datum/sprite_accessory/body_markings/ltiger - name = "Light Tiger Body" - icon_state = "ltiger" - gender_specific = TRUE - -/datum/sprite_accessory/body_markings/lbelly - name = "Light Belly" - icon_state = "lbelly" - gender_specific = TRUE - -/datum/sprite_accessory/tails - icon = 'icons/mob/mutant_bodyparts.dmi' - body_zone = BODY_ZONE_CHEST - synthetic_icon_state = "synth" - -/datum/sprite_accessory/tails_animated - icon = 'icons/mob/mutant_bodyparts.dmi' - body_zone = BODY_ZONE_CHEST - -/datum/sprite_accessory/tails/lizard/smooth - name = "Smooth" - icon_state = "smooth" - -/datum/sprite_accessory/tails_animated/lizard/smooth - name = "Smooth" - icon_state = "smooth" - -/datum/sprite_accessory/tails/lizard/dtiger - name = "Dark Tiger" - icon_state = "dtiger" - -/datum/sprite_accessory/tails_animated/lizard/dtiger - name = "Dark Tiger" - icon_state = "dtiger" - -/datum/sprite_accessory/tails/lizard/ltiger - name = "Light Tiger" - icon_state = "ltiger" - -/datum/sprite_accessory/tails_animated/lizard/ltiger - name = "Light Tiger" - icon_state = "ltiger" - -/datum/sprite_accessory/tails/lizard/spikes - name = "Spikes" - icon_state = "spikes" - -/datum/sprite_accessory/tails_animated/lizard/spikes - name = "Spikes" - icon_state = "spikes" - -/datum/sprite_accessory/tails/lizard/large - name = "Large" - icon_state = "large" - synthetic_icon_state = "large" //fight me - -/datum/sprite_accessory/tails_animated/lizard/large - name = "Large" - icon_state = "large" - synthetic_icon_state = "large" - -/datum/sprite_accessory/tails/human/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/tails_animated/human/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/tails/human/cat - name = "Cat" - icon_state = "cat" - color_src = HAIR - -/datum/sprite_accessory/tails_animated/human/cat - name = "Cat" - icon_state = "cat" - color_src = HAIR - -/datum/sprite_accessory/tails/human/cat/slime - name = "Slimecat" - icon_state = "cat" - color_src = HAIR - image_alpha = 150 - -/datum/sprite_accessory/tails_animated/human/cat/slime - name = "Slimecat" - icon_state = "cat" - color_src = HAIR - image_alpha = 150 - -/datum/sprite_accessory/tails/human/fox - icon = 'icons/mob/species/misc/fox.dmi' - name = "Fox" - icon_state = "fox" - color_src = HAIR - -/datum/sprite_accessory/tails_animated/human/fox - icon = 'icons/mob/species/misc/fox.dmi' - name = "Fox" - icon_state = "fox" - color_src = HAIR - -/datum/sprite_accessory/tails/human/fox/alt - icon = 'icons/mob/species/misc/fox.dmi' - name = "Fox 2" - icon_state = "fox2" - color_src = HAIR - -/datum/sprite_accessory/tails_animated/human/fox/alt - icon = 'icons/mob/species/misc/fox.dmi' - name = "Fox 2" - icon_state = "fox2" - color_src = HAIR - -/datum/sprite_accessory/snouts - icon = 'icons/mob/mutant_bodyparts.dmi' - body_zone = BODY_ZONE_HEAD - synthetic_icon_state = "none" - -/datum/sprite_accessory/snouts/sharp - name = "Sharp" - icon_state = "sharp" - -/datum/sprite_accessory/snouts/round - name = "Round" - icon_state = "round" - -/datum/sprite_accessory/snouts/sharplight - name = "Sharp + Light" - icon_state = "sharplight" - -/datum/sprite_accessory/snouts/roundlight - name = "Round + Light" - icon_state = "roundlight" - -/datum/sprite_accessory/horns - icon = 'icons/mob/mutant_bodyparts.dmi' - color_src = HAIR - body_zone = BODY_ZONE_HEAD - synthetic_color_src = MUTCOLORS_SECONDARY - -/datum/sprite_accessory/horns/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/horns/simple - name = "Simple" - icon_state = "simple" - synthetic_icon_state = "simple_synth" - -/datum/sprite_accessory/horns/short - name = "Short" - icon_state = "short" - synthetic_icon_state = "short_synth" - -/datum/sprite_accessory/horns/curled - name = "Curled" - icon_state = "curled" - synthetic_icon_state = "curled_synth" - -/datum/sprite_accessory/horns/ram - name = "Ram" - icon_state = "ram" - synthetic_icon_state = "ram_synth" - -/datum/sprite_accessory/horns/angler - name = "Angeler" - icon_state = "angler" - -/datum/sprite_accessory/ears - icon = 'icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/ears/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/ears/cat - name = "Cat" - icon_state = "cat" - hasinner = 1 - color_src = HAIR - -/datum/sprite_accessory/ears/cat/slime - name = "Slimecat" - icon_state = "cat" - hasinner = FALSE - color_src = HAIR - image_alpha = 150 - -/datum/sprite_accessory/ears/fox - icon = 'icons/mob/species/misc/fox.dmi' - name = "Fox" - icon_state = "fox" - hasinner = 1 - color_src = HAIR - -/datum/sprite_accessory/wings/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/wings - icon = 'icons/mob/clothing/wings.dmi' - -/datum/sprite_accessory/wings_open - icon = 'icons/mob/clothing/wings.dmi' - -/datum/sprite_accessory/wings/angel - name = "Angel" - icon_state = "angel" - color_src = 0 - dimension_x = 46 - center = TRUE - dimension_y = 34 - locked = TRUE - -/datum/sprite_accessory/wings_open/angel - name = "Angel" - icon_state = "angel" - color_src = 0 - dimension_x = 46 - center = TRUE - dimension_y = 34 - -/datum/sprite_accessory/wings/dragon - name = "Dragon" - icon_state = "dragon" - dimension_x = 96 - center = TRUE - dimension_y = 32 - locked = TRUE - -/datum/sprite_accessory/wings_open/dragon - name = "Dragon" - icon_state = "dragon" - dimension_x = 96 - center = TRUE - dimension_y = 32 - -/datum/sprite_accessory/wings/megamoth - name = "Megamoth" - icon_state = "megamoth" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - locked = TRUE - -/datum/sprite_accessory/wings_open/megamoth - name = "Megamoth" - icon_state = "megamoth" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - -/datum/sprite_accessory/wings/mothra - name = "Mothra" - icon_state = "mothra" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - locked = TRUE - -/datum/sprite_accessory/wings_open/mothra - name = "Mothra" - icon_state = "mothra" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - -/datum/sprite_accessory/wings/robotic - name = "Robotic" - icon_state = "robotic" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - locked = TRUE - -/datum/sprite_accessory/wings_open/robotic - name = "Robotic" - icon_state = "robotic" - color_src = 0 - dimension_x = 96 - center = TRUE - dimension_y = 32 - -/datum/sprite_accessory/frills - icon = 'icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/frills/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/frills/simple - name = "Simple" - icon_state = "simple" - -/datum/sprite_accessory/frills/short - name = "Short" - icon_state = "short" - -/datum/sprite_accessory/frills/aquatic - name = "Aquatic" - icon_state = "aqua" - -/datum/sprite_accessory/spines - icon = 'icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/spines_animated - icon = 'icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/spines/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/spines_animated/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/spines/short - name = "Short" - icon_state = "short" - -/datum/sprite_accessory/spines_animated/short - name = "Short" - icon_state = "short" - -/datum/sprite_accessory/spines/shortmeme - name = "Short + Membrane" - icon_state = "shortmeme" - -/datum/sprite_accessory/spines_animated/shortmeme - name = "Short + Membrane" - icon_state = "shortmeme" - -/datum/sprite_accessory/spines/long - name = "Long" - icon_state = "long" - -/datum/sprite_accessory/spines_animated/long - name = "Long" - icon_state = "long" - -/datum/sprite_accessory/spines/longmeme - name = "Long + Membrane" - icon_state = "longmeme" - -/datum/sprite_accessory/spines_animated/longmeme - name = "Long + Membrane" - icon_state = "longmeme" - -/datum/sprite_accessory/spines/aqautic - name = "Aquatic" - icon_state = "aqua" - -/datum/sprite_accessory/spines_animated/aqautic - name = "Aquatic" - icon_state = "aqua" - -/datum/sprite_accessory/legs //legs are a special case, they aren't actually sprite_accessories but are updated with them. - icon = null //These datums exist for selecting legs on preference, and little else - -/datum/sprite_accessory/legs/none - name = "Normal Legs" - -/datum/sprite_accessory/legs/digitigrade_lizard - name = "Digitigrade Legs" - -/datum/sprite_accessory/caps - icon = 'icons/mob/mutant_bodyparts.dmi' - color_src = HAIR - -/datum/sprite_accessory/caps/round - name = "Round" - icon_state = "round" - -/datum/sprite_accessory/moth_wings - icon = 'icons/mob/moth_wings.dmi' - color_src = null - -/datum/sprite_accessory/moth_wings/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/moth_wings/monarch - name = "Monarch" - icon_state = "monarch" - -/datum/sprite_accessory/moth_wings/luna - name = "Luna" - icon_state = "luna" - -/datum/sprite_accessory/moth_wings/atlas - name = "Atlas" - icon_state = "atlas" - -/datum/sprite_accessory/moth_wings/reddish - name = "Reddish" - icon_state = "redish" - -/datum/sprite_accessory/moth_wings/royal - name = "Royal" - icon_state = "royal" - -/datum/sprite_accessory/moth_wings/gothic - name = "Gothic" - icon_state = "gothic" - -/datum/sprite_accessory/moth_wings/lovers - name = "Lovers" - icon_state = "lovers" - -/datum/sprite_accessory/moth_wings/whitefly - name = "White Fly" - icon_state = "whitefly" - -/datum/sprite_accessory/moth_wings/punished - name = "Burnt Off" - icon_state = "burnt" - locked = TRUE - -/datum/sprite_accessory/moth_wings/firewatch - name = "Firewatch" - icon_state = "firewatch" - -/datum/sprite_accessory/moth_wings/deathhead - name = "Deathshead" - icon_state = "deathhead" - -/datum/sprite_accessory/moth_wings/poison - name = "Poison" - icon_state = "poison" - -/datum/sprite_accessory/moth_wings/ragged - name = "Ragged" - icon_state = "ragged" - -/datum/sprite_accessory/moth_wings/moonfly - name = "Moon Fly" - icon_state = "moonfly" - -/datum/sprite_accessory/moth_wings/snow - name = "Snow" - icon_state = "snow" - -/datum/sprite_accessory/moth_wings/oakworm - name = "Oak Worm" - icon_state = "oakworm" - -/datum/sprite_accessory/moth_wings/jungle - name = "Jungle" - icon_state = "jungle" - -/datum/sprite_accessory/moth_wings/witchwing - name = "Witch Wing" - icon_state = "witchwing" - -/datum/sprite_accessory/moth_markings // the markings that moths can have. finally something other than the boring tan - icon = 'icons/mob/moth_markings.dmi' - color_src = null - -/datum/sprite_accessory/moth_markings/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/moth_markings/reddish - name = "Reddish" - icon_state = "reddish" - -/datum/sprite_accessory/moth_markings/royal - name = "Royal" - icon_state = "royal" - -/datum/sprite_accessory/moth_markings/gothic - name = "Gothic" - icon_state = "gothic" - -/datum/sprite_accessory/moth_markings/whitefly - name = "White Fly" - icon_state = "whitefly" - -/datum/sprite_accessory/moth_markings/lovers - name = "Lovers" - icon_state = "lovers" - -/datum/sprite_accessory/moth_markings/punished - name = "Punished" - icon_state = "punished" - -/datum/sprite_accessory/moth_markings/firewatch - name = "Firewatch" - icon_state = "firewatch" - -/datum/sprite_accessory/moth_markings/deathhead - name = "Deathshead" - icon_state = "deathhead" - -/datum/sprite_accessory/moth_markings/poison - name = "Poison" - icon_state = "poison" - -/datum/sprite_accessory/moth_markings/ragged - name = "Ragged" - icon_state = "ragged" - -/datum/sprite_accessory/moth_markings/moonfly - name = "Moon Fly" - icon_state = "moonfly" - -/datum/sprite_accessory/moth_markings/oakworm - name = "Oak Worm" - icon_state = "oakworm" - -/datum/sprite_accessory/moth_markings/jungle - name = "Jungle" - icon_state = "jungle" - -/datum/sprite_accessory/moth_markings/witchwing - name = "Witch Wing" - icon_state = "witchwing" - -//WS begin - Moth wing additions / Squids / IPCs - -//Moth fluff -/datum/sprite_accessory/moth_fluff - icon = 'icons/mob/moth_wings.dmi' - color_src = null - -/datum/sprite_accessory/moth_fluff/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/moth_fluff/bent - name = "Bent" - icon_state = "bent" - -/datum/sprite_accessory/moth_fluff/reddish - name = "Reddish" - icon_state = "redish" - -/datum/sprite_accessory/moth_fluff/royal - name = "Royal" - icon_state = "royal" - -/datum/sprite_accessory/moth_fluff/gothic - name = "Gothic" - icon_state = "gothic" - -/datum/sprite_accessory/moth_fluff/lovers - name = "Lovers" - icon_state = "lovers" - -/datum/sprite_accessory/moth_fluff/whitefly - name = "White Fly" - icon_state = "whitefly" - -/datum/sprite_accessory/moth_fluff/punished - name = "Burnt" - icon_state = "burnt" - -/datum/sprite_accessory/moth_fluff/firewatch - name = "Firewatch" - icon_state = "firewatch" - -/datum/sprite_accessory/moth_fluff/deathhead - name = "Deathshead" - icon_state = "deathhead" - -/datum/sprite_accessory/moth_fluff/poison - name = "Poison" - icon_state = "poison" - -/datum/sprite_accessory/moth_fluff/moonfly - name = "Moon Fly" - icon_state = "moonfly" - -/datum/sprite_accessory/moth_fluff/snow - name = "Snow" - icon_state = "snow" - -/datum/sprite_accessory/moth_fluff/oakworm - name = "Oak Worm" - icon_state = "oakworm" - -/datum/sprite_accessory/moth_fluff/jungle - name = "Jungle" - icon_state = "jungle" - -/datum/sprite_accessory/moth_fluff/witchwing - name = "Witch Wing" - icon_state = "witchwing" - -/datum/sprite_accessory/moth_fluff/shaved - name = "Shaved" - icon_state = "shaved" - -//Squids -/datum/sprite_accessory/squid_face - icon = 'icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/squid_face/squidward - name = "Squidward" - icon_state = "squidward" - -/datum/sprite_accessory/squid_face/illithid - name = "Illithid" - icon_state = "illithid" - -/datum/sprite_accessory/squid_face/freaky - name = "Freaky" - icon_state = "freaky" - -/datum/sprite_accessory/squid_face/grabbers - name = "Grabbers" - icon_state = "grabbers" - -// IPC accessories. - -/datum/sprite_accessory/ipc_screens - icon = 'icons/mob/ipc_accessories.dmi' - color_src = EYECOLOR - -/datum/sprite_accessory/ipc_screens/blank - name = "Blank Canvas" - icon_state = "blank" - -/datum/sprite_accessory/ipc_screens/blue - name = "Blue" - icon_state = "blue" - color_src = 0 - -/datum/sprite_accessory/ipc_screens/blush - name = "Blush" - icon_state = "blush" - -/datum/sprite_accessory/ipc_screens/bsod - name = "BSOD" - icon_state = "bsod" - color_src = 0 - -/datum/sprite_accessory/ipc_screens/buffering - name = "Buffering" - icon_state = "buffering" - -/datum/sprite_accessory/ipc_screens/breakout - name = "Breakout" - icon_state = "breakout" - -/datum/sprite_accessory/ipc_screens/console - name = "Console" - icon_state = "console" - -/datum/sprite_accessory/ipc_screens/doom - name = "DOOM" - icon_state = "doom" - -/datum/sprite_accessory/ipc_screens/ecgwave - name = "ECG Wave" - icon_state = "ecgwave" - -/datum/sprite_accessory/ipc_screens/eight - name = "Eight" - icon_state = "eight" - -/datum/sprite_accessory/ipc_screens/eyes - name = "Eyes (Spinny)" - icon_state = "eyes" - -/datum/sprite_accessory/ipc_screens/eyes_noanim - name = "Eyes (No Spinny)" - icon_state = "eyes_noanim" - -/datum/sprite_accessory/ipc_screens/eyes_fortuna - name = "Eyes (Sun and Moon)" - icon_state = "eyes_fortuna" - -/datum/sprite_accessory/ipc_screens/glider - name = "Glider" - icon_state = "glider" - -/datum/sprite_accessory/ipc_screens/goggles - name = "Goggles" - icon_state = "goggles" - -/datum/sprite_accessory/ipc_screens/green - name = "Green" - icon_state = "green" - -/datum/sprite_accessory/ipc_screens/heart - name = "Heart" - icon_state = "heart" - color_src = 0 - -/datum/sprite_accessory/ipc_screens/monoeye - name = "Mono-eye" - icon_state = "monoeye" - -/datum/sprite_accessory/ipc_screens/nyaru - name = "Nyaru" - icon_state = "nyaru" - -/datum/sprite_accessory/ipc_screens/nature - name = "Nature" - icon_state = "nature" - -/datum/sprite_accessory/ipc_screens/orange - name = "Orange" - icon_state = "orange" - -/datum/sprite_accessory/ipc_screens/pink - name = "Pink" - icon_state = "pink" - -/datum/sprite_accessory/ipc_screens/purple - name = "Purple" - icon_state = "purple" - -/datum/sprite_accessory/ipc_screens/rainbow - name = "Rainbow" - icon_state = "rainbow" - color_src = 0 - -/datum/sprite_accessory/ipc_screens/red - name = "Red" - icon_state = "red" - -/datum/sprite_accessory/ipc_screens/text - name = "Text Lines" - icon_state = "text" - -/datum/sprite_accessory/ipc_screens/rgb - name = "RGB" - icon_state = "rgb" - -/datum/sprite_accessory/ipc_screens/scroll - name = "Scanline" - icon_state = "scroll" - -/datum/sprite_accessory/ipc_screens/shower - name = "Shower" - icon_state = "shower" - -/datum/sprite_accessory/ipc_screens/sinewave - name = "Sinewave" - icon_state = "sinewave" - -/datum/sprite_accessory/ipc_screens/squarewave - name = "Square wave" - icon_state = "squarewave" - -/datum/sprite_accessory/ipc_screens/static_screen - name = "Static" - icon_state = "static" - -/datum/sprite_accessory/ipc_screens/yellow - name = "Yellow" - icon_state = "yellow" - -/datum/sprite_accessory/ipc_screens/textdrop - name = "Text drop" - icon_state = "textdrop" - -/datum/sprite_accessory/ipc_screens/stars - name = "Stars" - icon_state = "stars" - -/datum/sprite_accessory/ipc_screens/loading - name = "Loading" - icon_state = "loading" - -/datum/sprite_accessory/ipc_screens/windowsxp - name = "Windows XP" - icon_state = "windowsxp" - -/datum/sprite_accessory/ipc_screens/tetris - name = "Tetris" - icon_state = "tetris" - -/datum/sprite_accessory/ipc_screens/bubbles - name = "Bubbles" - icon_state = "bubbles" - -/datum/sprite_accessory/ipc_screens/tv - name = "Color Test" - icon_state = "tv" - -/datum/sprite_accessory/ipc_antennas - icon = 'icons/mob/ipc_accessories.dmi' - color_src = HAIR - -/datum/sprite_accessory/ipc_antennas/none - name = "None" - icon_state = "None" - -/datum/sprite_accessory/ipc_antennas/angled - name = "Angled" - icon_state = "antennae" - -/datum/sprite_accessory/ipc_antennas/antlers - name = "Antlers" - icon_state = "antlers" - -/datum/sprite_accessory/ipc_antennas/crowned - name = "Crowned" - icon_state = "crowned" - -/datum/sprite_accessory/ipc_antennas/cyberhead - name = "Cyberhead" - icon_state = "cyberhead" - -/datum/sprite_accessory/ipc_antennas/droneeyes - name = "Drone Eyes" - icon_state = "droneeyes" - -/datum/sprite_accessory/ipc_antennas/sidelights - name = "Sidelights" - icon_state = "sidelights" - -/datum/sprite_accessory/ipc_antennas/tesla - name = "Tesla" - icon_state = "tesla" - -/datum/sprite_accessory/ipc_antennas/tv - name = "TV Antenna" - icon_state = "tvantennae" - -/datum/sprite_accessory/ipc_antennas/cross - name = "Cross" - icon_state = "cross" - -/datum/sprite_accessory/ipc_antennas/sidepanels - name = "Side Panels" - icon_state = "sidepanels" - -/datum/sprite_accessory/ipc_antennas/horns - name = "Horns" - icon_state = "horns" - -/datum/sprite_accessory/ipc_antennas/langle - name = "Left Angle" - icon_state = "langle" - -/datum/sprite_accessory/ipc_antennas/rangle - name = "Right Angle" - icon_state = "rangle" - -/datum/sprite_accessory/ipc_chassis // Used for changing limb icons, doesn't need to hold the actual icon. That's handled in ipc.dm - icon = null - icon_state = "who cares fuck you" // In order to pull the chassis correctly, we need AN icon_state(see line 36-39). It doesn't have to be useful, because it isn't used. - color_src = 0 - -/datum/sprite_accessory/ipc_chassis/mcgreyscale - name = "Morpheus Cyberkinetics (Custom)" - limbs_id = "mcgipc" - color_src = MUTCOLORS - -/datum/sprite_accessory/ipc_chassis/bishopcyberkinetics - name = "Bishop Cyberkinetics" - limbs_id = "bshipc" - -/datum/sprite_accessory/ipc_chassis/bishopcyberkinetics2 - name = "Bishop Cyberkinetics 2.0" - limbs_id = "bs2ipc" - -/datum/sprite_accessory/ipc_chassis/hephaestussindustries - name = "Hephaestus Industries" - limbs_id = "hsiipc" - -/datum/sprite_accessory/ipc_chassis/hephaestussindustries2 - name = "Hephaestus Industries 2.0" - limbs_id = "hi2ipc" - -/datum/sprite_accessory/ipc_chassis/pawsitronsunited - name = "Pawsitrons United" - limbs_id = "pawsitrons" - -/datum/sprite_accessory/ipc_chassis/shellguardmunitions - name = "Shellguard Munitions Standard Series" - limbs_id = "sgmipc" - -/datum/sprite_accessory/ipc_chassis/wardtakahashimanufacturing - name = "Ward-Takahashi Manufacturing" - limbs_id = "wtmipc" - -/datum/sprite_accessory/ipc_chassis/xionmanufacturinggroup - name = "Xion Manufacturing Group" - limbs_id = "xmgipc" - -/datum/sprite_accessory/ipc_chassis/xionmanufacturinggroup2 - name = "Xion Manufacturing Group 2.0" - limbs_id = "xm2ipc" - -/datum/sprite_accessory/ipc_chassis/zenghupharmaceuticals - name = "Zeng-Hu Pharmaceuticals" - limbs_id = "zhpipc" - -/datum/sprite_accessory/spider_legs - icon = 'icons/mob/species/rachnid/spider_legs.dmi' - color_src = MUTCOLORS - -/datum/sprite_accessory/spider_legs/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/spider_legs/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" - -/datum/sprite_accessory/spider_legs/spiky - name = "Spiky" - icon_state = "spiky" - -/datum/sprite_accessory/spider_spinneret - icon = 'icons/mob/species/rachnid/spider_spinneret.dmi' - color_src = MUTCOLORS - -/datum/sprite_accessory/spider_spinneret/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/spider_spinneret/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" - -/datum/sprite_accessory/spider_spinneret/black_widow - name = "Black Widow" - icon_state = "blackwidow" - -/datum/sprite_accessory/spider_mandibles - icon = 'icons/mob/species/rachnid/spider_mandibles.dmi' - color_src = MUTCOLORS - -/datum/sprite_accessory/spider_mandibles/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/spider_mandibles/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" - -/datum/sprite_accessory/spider_mandibles/spiky - name = "Spiky" - icon_state = "spiky" - -//Kepori - -/datum/sprite_accessory/kepori_feathers - color_src = HAIR - icon = 'icons/mob/kepori_parts.dmi' - -/datum/sprite_accessory/kepori_feathers/none - name = "None" - -/datum/sprite_accessory/kepori_feathers/sleek - name = "Sleek" - icon_state = "sleek" - -/datum/sprite_accessory/kepori_feathers/peel - name = "The Peel" - icon_state = "peel" - -/datum/sprite_accessory/kepori_feathers/sweep - name = "Swept Up" - icon_state = "sweep" - -/datum/sprite_accessory/kepori_feathers/aerodynamic - name = "Aerodynamic" - icon_state = "aerodynamic" - -/datum/sprite_accessory/kepori_feathers/mohawk - name = "Mo-Hawk" - icon_state = "mohawk" - -/datum/sprite_accessory/kepori_feathers/cowlick - name = "Cow-lick" - icon_state = "cowlick" - -/datum/sprite_accessory/kepori_feathers/spikey - name = "Spikey" - icon_state = "spikey" - -/datum/sprite_accessory/kepori_feathers/soap - name = "Soap" - icon_state = "soap" - -/datum/sprite_accessory/kepori_feathers/crowned - name = "Crowned" - icon_state = "crowned" - -/datum/sprite_accessory/kepori_feathers/crested - name = "Crested" - icon_state = "crested" - -/datum/sprite_accessory/kepori_feathers/ponytail - name = "Ponytail" - icon_state = "ponytail" - -/datum/sprite_accessory/kepori_feathers/bun - name = "Bun" - icon_state = "bun" - -/datum/sprite_accessory/kepori_body_feathers - color_src = MUTCOLORS_SECONDARY - icon = 'icons/mob/kepori_parts.dmi' - -/datum/sprite_accessory/kepori_body_feathers/none - name = "None" - -/datum/sprite_accessory/kepori_body_feathers/aftik - name = "Aftik" - icon_state = "aftik" - -/datum/sprite_accessory/kepori_body_feathers/belly - name = "Belly" - icon_state = "belly" - -/datum/sprite_accessory/kepori_body_feathers/shirt - name = "Shirt" - icon_state = "shirt" - -/datum/sprite_accessory/kepori_body_feathers/soap - name = "Soap" - icon_state = "soap" - -/datum/sprite_accessory/kepori_body_feathers/wings - name = "Wings" - icon_state = "wings" - -/datum/sprite_accessory/kepori_tail_feathers - color_src = MUTCOLORS_SECONDARY - icon = 'icons/mob/kepori_parts.dmi' - -/datum/sprite_accessory/kepori_tail_feathers/none - name = "None" - -/datum/sprite_accessory/kepori_tail_feathers/fan - name = "Fan" - icon_state = "fan" - -/datum/sprite_accessory/kepori_tail_feathers/back - name = "Back" - icon_state = "back" - -/datum/sprite_accessory/kepori_tail_feathers/fanback - name = "Fan and Back" - icon_state = "fanback" - -/datum/sprite_accessory/kepori_tail_feathers/prosthetic - name = "Prosthetic Tail" - icon_state = "prosthetic" - color_src = null - -// Moth - -/datum/sprite_accessory/moth_wings/brown - name = "Brown" - icon_state = "brown" - -/datum/sprite_accessory/moth_wings/feathery - name = "Feathery" - icon_state = "feathery" - -/datum/sprite_accessory/moth_wings/rosy - name = "Rosy" - icon_state = "rosy" - -/datum/sprite_accessory/moth_wings/plasmafire - name = "Plasmafire" - icon_state = "plasmafire" - -/datum/sprite_accessory/moth_fluff/brown - name = "Brown" - icon_state = "brown" - -/datum/sprite_accessory/moth_fluff/feathery - name = "Feathery" - icon_state = "feathery" - -/datum/sprite_accessory/moth_fluff/rosy - name = "Rosy" - icon_state = "rosy" - -/datum/sprite_accessory/moth_fluff/plasmafire - name = "Plasmafire" - icon_state = "plasmafire" - -//Vox - -/datum/sprite_accessory/vox_head_quills - icon = 'icons/mob/species/vox/vox_quills.dmi' - color_src = null - -/datum/sprite_accessory/vox_head_quills/none - name = "None" - -/datum/sprite_accessory/vox_head_quills/wildflower - name = "Wildflower" - icon_state = "wildflower" - -/datum/sprite_accessory/vox_head_quills/augmenter - name = "Augmenter" - icon_state = "augmenter" - -/datum/sprite_accessory/vox_head_quills/shaggy - name = "Shaggy" - icon_state = "shaggy" - -/datum/sprite_accessory/vox_head_quills/mange - name = "Mange" - icon_state = "mange" - -/datum/sprite_accessory/vox_head_quills/ponytail - name = "Ponytail" - icon_state = "ponytail" - -/datum/sprite_accessory/vox_head_quills/rows - name = "Rows" - icon_state = "rows" - -/datum/sprite_accessory/vox_head_quills/cropped - name = "Cropped" - icon_state = "cropped" - -/datum/sprite_accessory/vox_head_quills/surf - name = "Surf" - icon_state = "surf" - -/datum/sprite_accessory/vox_head_quills/nights - name = "Nights" - icon_state = "nights" - -/datum/sprite_accessory/vox_head_quills/horns - name = "Horns" - icon_state = "horns" - -/datum/sprite_accessory/vox_head_quills/longhawk - name = "Longhawk" - icon_state = "longhawk" - -/datum/sprite_accessory/vox_head_quills/mohawk - name = "Mohawk" - icon_state = "mohawk" - -/datum/sprite_accessory/vox_head_quills/yasu - name = "Yasu" - icon_state = "yasu" - -/datum/sprite_accessory/vox_head_quills/afro - name = "Afro" - icon_state = "afro" - -/datum/sprite_accessory/vox_head_quills/kingly - name = "Kingly" - icon_state = "kingly" - -/datum/sprite_accessory/vox_head_quills/shortquills - name = "Short Quills" - icon_state = "shortquills" - -/datum/sprite_accessory/vox_neck_quills - icon = 'icons/mob/species/vox/vox_quills.dmi' - color_src = null - -/datum/sprite_accessory/vox_neck_quills/none - name = "None" - -/datum/sprite_accessory/vox_neck_quills/beard - name = "Beard" - icon_state = "beard" - -/datum/sprite_accessory/vox_neck_quills/fuu - name = "Fuu" - icon_state = "fuu" - -/datum/sprite_accessory/vox_neck_quills/colonal - name = "Colonal" - icon_state = "colonal" - -/datum/sprite_accessory/vox_neck_quills/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/vox_neck_quills/tailfeather - name = "Tailfeather" - icon_state = "tailfeather" - -/datum/sprite_accessory/vox_neck_quills/ruffbeard - name = "Ruffbeard" - icon_state = "ruffbeard" - -/datum/sprite_accessory/vox_neck_quills/ruffhawk - name = "Ruffhawk" - icon_state = "ruffhawk" - -//Elzuose help - -/datum/sprite_accessory/elzu_horns - icon = 'icons/mob/ethereal_parts.dmi' - -/datum/sprite_accessory/elzu_horns/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/elzu_horns/short - name = "Short" - icon_state = "short" - -/datum/sprite_accessory/elzu_horns/helm - name = "Helm" - icon_state = "helm" - -/datum/sprite_accessory/elzu_horns/lunar - name = "Lunar" - icon_state = "lunar" - -/datum/sprite_accessory/elzu_horns/inward - name = "Inward" - icon_state = "inward" - -/datum/sprite_accessory/elzu_horns/majesty - name = "Majesty" - icon_state = "majesty" - -/datum/sprite_accessory/elzu_horns/clipped - name = "Clipped" - icon_state = "clipped" - -/datum/sprite_accessory/elzu_horns/sharp - name = "Sharp" - icon_state = "sharp" - -/datum/sprite_accessory/tails/elzu - icon = 'icons/mob/ethereal_parts.dmi' - -/datum/sprite_accessory/tails_animated/elzu - icon = 'icons/mob/ethereal_parts.dmi' - -/datum/sprite_accessory/tails/elzu/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/tails_animated/elzu/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/tails/elzu/long - name = "Long" - icon_state = "long" - -/datum/sprite_accessory/tails_animated/elzu/long - name = "Long" - icon_state = "long" - -/datum/sprite_accessory/tails/elzu/bifurcated - name = "Bifurcated" - icon_state = "bifurcated" - -/datum/sprite_accessory/tails_animated/elzu/bifurcated - name = "Bifurcated" - icon_state = "bifurcated" - -/datum/sprite_accessory/tails/elzu/stubby - name = "Stubby" - icon_state = "stubby" - -/datum/sprite_accessory/tails_animated/elzu/stubby - name = "Stubby" - icon_state = "stubby" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm new file mode 100644 index 000000000000..443f13c6917f --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm @@ -0,0 +1,86 @@ +/* + Hello and welcome to sprite_accessories: For sprite accessories, such as hair, + facial hair, and possibly tattoos and stuff somewhere along the line. This file is + intended to be friendly for people with little to no actual coding experience. + The process of adding in new hairstyles has been made pain-free and easy to do. + Enjoy! - Doohl + + Notice: This all gets automatically compiled in a list in dna.dm, so you do not + have to define any UI values for sprite accessories manually for hair and facial + hair. Just add in new hair types and the game will naturally adapt. + + !!WARNING!!: changing existing hair information can be VERY hazardous to savefiles, + to the point where you may completely corrupt a server's savefiles. Please refrain + from doing this unless you absolutely know what you are doing, and have defined a + conversion in savefile.dm +*/ + +//Roundstart argument builds a specific list for roundstart parts where some parts may be locked +/proc/init_sprite_accessory_subtypes(prototype, list/L, list/male, list/female, roundstart = FALSE) + if(!istype(L)) + L = list() + if(!istype(male)) + male = list() + if(!istype(female)) + female = list() + + for(var/path in subtypesof(prototype)) + if(roundstart) + var/datum/sprite_accessory/P = path + if(initial(P.locked)) + continue + var/datum/sprite_accessory/D = new path() + + if(D.icon_state) + L[D.name] = D + else + L += D.name + + switch(D.gender) + if(MALE) + male += D.name + if(FEMALE) + female += D.name + else + male += D.name + female += D.name + return L + +/datum/sprite_accessory + var/icon //the icon file the accessory is located in + var/icon_state //the icon_state of the accessory + var/name //the preview name of the accessory + var/gender = NEUTER //Determines if the accessory will be skipped or included in random hair generations + var/gender_specific //Something that can be worn by either gender, but looks different on each + var/use_static //determines if the accessory will be skipped by color preferences + var/color_src = MUTCOLORS //Currently only used by mutantparts so don't worry about hair and stuff. This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none. + var/hasinner //Decides if this sprite has an "inner" part, such as the fleshy parts on ears. + var/locked = FALSE //Is this part locked from roundstart selection? Used for parts that apply effects + var/center = FALSE //Should we center the sprite? + var/limbs_id //The limbs id supplied for full-body replacing features. + var/image_alpha = 255 //The alpha for the accessory to use. + var/dimension_x = 32 + var/dimension_y = 32 + var/body_zone = BODY_ZONE_CHEST //!The body zone this accessory affects + var/synthetic_icon_state //!The icon_state to use when the bodypart it's attached to is synthetic + var/synthetic_color_src //!The color src to use instead of the normal src when synthetic, leave blank to use the normal src + +//Squids AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA whyyyy +/datum/sprite_accessory/squid_face + icon = 'icons/mob/mutant_bodyparts.dmi' + +/datum/sprite_accessory/squid_face/squidward + name = "Squidward" + icon_state = "squidward" + +/datum/sprite_accessory/squid_face/illithid + name = "Illithid" + icon_state = "illithid" + +/datum/sprite_accessory/squid_face/freaky + name = "Freaky" + icon_state = "freaky" + +/datum/sprite_accessory/squid_face/grabbers + name = "Grabbers" + icon_state = "grabbers" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm new file mode 100644 index 000000000000..3f5eec73ee0e --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm @@ -0,0 +1,28 @@ +//Ears for species + +/datum/sprite_accessory/ears + icon = 'icons/mob/mutant_bodyparts.dmi' + +/datum/sprite_accessory/ears/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/ears/cat + name = "Cat" + icon_state = "cat" + hasinner = 1 + color_src = HAIR + +/datum/sprite_accessory/ears/cat/slime + name = "Slimecat" + icon_state = "cat" + hasinner = FALSE + color_src = HAIR + image_alpha = 150 + +/datum/sprite_accessory/ears/fox + icon = 'icons/mob/species/misc/fox.dmi' + name = "Fox" + icon_state = "fox" + hasinner = 1 + color_src = HAIR diff --git a/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm b/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm new file mode 100644 index 000000000000..58317b5ab91a --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm @@ -0,0 +1,78 @@ +//Elzuose mutant parts. Help has come. + +//Start horns + +/datum/sprite_accessory/elzu_horns + icon = 'icons/mob/ethereal_parts.dmi' + +/datum/sprite_accessory/elzu_horns/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/elzu_horns/short + name = "Short" + icon_state = "short" + +/datum/sprite_accessory/elzu_horns/helm + name = "Helm" + icon_state = "helm" + +/datum/sprite_accessory/elzu_horns/lunar + name = "Lunar" + icon_state = "lunar" + +/datum/sprite_accessory/elzu_horns/inward + name = "Inward" + icon_state = "inward" + +/datum/sprite_accessory/elzu_horns/majesty + name = "Majesty" + icon_state = "majesty" + +/datum/sprite_accessory/elzu_horns/clipped + name = "Clipped" + icon_state = "clipped" + +/datum/sprite_accessory/elzu_horns/sharp + name = "Sharp" + icon_state = "sharp" + +//Start tails + +/datum/sprite_accessory/tails/elzu + icon = 'icons/mob/ethereal_parts.dmi' + +/datum/sprite_accessory/tails_animated/elzu + icon = 'icons/mob/ethereal_parts.dmi' + +/datum/sprite_accessory/tails/elzu/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/tails_animated/elzu/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/tails/elzu/long + name = "Long" + icon_state = "long" + +/datum/sprite_accessory/tails_animated/elzu/long + name = "Long" + icon_state = "long" + +/datum/sprite_accessory/tails/elzu/bifurcated + name = "Bifurcated" + icon_state = "bifurcated" + +/datum/sprite_accessory/tails_animated/elzu/bifurcated + name = "Bifurcated" + icon_state = "bifurcated" + +/datum/sprite_accessory/tails/elzu/stubby + name = "Stubby" + icon_state = "stubby" + +/datum/sprite_accessory/tails_animated/elzu/stubby + name = "Stubby" + icon_state = "stubby" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/facial_hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/facial_hair.dm new file mode 100644 index 000000000000..87ab51625343 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/facial_hair.dm @@ -0,0 +1,151 @@ +// please make sure they're sorted alphabetically and categorized + +/datum/sprite_accessory/facial_hair + icon = 'icons/mob/human_face.dmi' + gender = MALE + +/datum/sprite_accessory/facial_hair/abe + name = "Beard (Abraham Lincoln)" + icon_state = "facial_abe" + +/datum/sprite_accessory/facial_hair/brokenman + name = "Beard (Broken Man)" + icon_state = "facial_brokenman" + +/datum/sprite_accessory/facial_hair/chinstrap + name = "Beard (Chinstrap)" + icon_state = "facial_chin" + +/datum/sprite_accessory/facial_hair/dwarf + name = "Beard (Dwarf)" + icon_state = "facial_dwarf" + +/datum/sprite_accessory/facial_hair/fullbeard + name = "Beard (Full)" + icon_state = "facial_fullbeard" + +/datum/sprite_accessory/facial_hair/croppedfullbeard + name = "Beard (Cropped Fullbeard)" + icon_state = "facial_croppedfullbeard" + +/datum/sprite_accessory/facial_hair/gt + name = "Beard (Goatee)" + icon_state = "facial_gt" + +/datum/sprite_accessory/facial_hair/hip + name = "Beard (Hipster)" + icon_state = "facial_hip" + +/datum/sprite_accessory/facial_hair/jensen + name = "Beard (Jensen)" + icon_state = "facial_jensen" + +/datum/sprite_accessory/facial_hair/neckbeard + name = "Beard (Neckbeard)" + icon_state = "facial_neckbeard" + +/datum/sprite_accessory/facial_hair/vlongbeard + name = "Beard (Very Long)" + icon_state = "facial_wise" + +/datum/sprite_accessory/facial_hair/muttonmus + name = "Beard (Muttonmus)" + icon_state = "facial_muttonmus" + +/datum/sprite_accessory/facial_hair/martialartist + name = "Beard (Martial Artist)" + icon_state = "facial_martialartist" + +/datum/sprite_accessory/facial_hair/chinlessbeard + name = "Beard (Chinless Beard)" + icon_state = "facial_chinlessbeard" + +/datum/sprite_accessory/facial_hair/moonshiner + name = "Beard (Moonshiner)" + icon_state = "facial_moonshiner" + +/datum/sprite_accessory/facial_hair/longbeard + name = "Beard (Long)" + icon_state = "facial_longbeard" + +/datum/sprite_accessory/facial_hair/volaju + name = "Beard (Volaju)" + icon_state = "facial_volaju" + +/datum/sprite_accessory/facial_hair/threeoclock + name = "Beard (Three o Clock Shadow)" + icon_state = "facial_3oclock" + +/datum/sprite_accessory/facial_hair/fiveoclock + name = "Beard (Five o Clock Shadow)" + icon_state = "facial_fiveoclock" + +/datum/sprite_accessory/facial_hair/fiveoclockm + name = "Beard (Five o Clock Moustache)" + icon_state = "facial_5oclockmoustache" + +/datum/sprite_accessory/facial_hair/sevenoclock + name = "Beard (Seven o Clock Shadow)" + icon_state = "facial_7oclock" + +/datum/sprite_accessory/facial_hair/sevenoclockm + name = "Beard (Seven o Clock Moustache)" + icon_state = "facial_7oclockmoustache" + +/datum/sprite_accessory/facial_hair/moustache + name = "Moustache" + icon_state = "facial_moustache" + +/datum/sprite_accessory/facial_hair/pencilstache + name = "Moustache (Pencilstache)" + icon_state = "facial_pencilstache" + +/datum/sprite_accessory/facial_hair/smallstache + name = "Moustache (Smallstache)" + icon_state = "facial_smallstache" + +/datum/sprite_accessory/facial_hair/walrus + name = "Moustache (Walrus)" + icon_state = "facial_walrus" + +/datum/sprite_accessory/facial_hair/fu + name = "Moustache (Fu Manchu)" + icon_state = "facial_fumanchu" + +/datum/sprite_accessory/facial_hair/hogan + name = "Moustache (Hulk Hogan)" + icon_state = "facial_hogan" //-Neek + +/datum/sprite_accessory/facial_hair/selleck + name = "Moustache (Selleck)" + icon_state = "facial_selleck" + +/datum/sprite_accessory/facial_hair/chaplin + name = "Moustache (Square)" + icon_state = "facial_chaplin" + +/datum/sprite_accessory/facial_hair/vandyke + name = "Moustache (Van Dyke)" + icon_state = "facial_vandyke" + +/datum/sprite_accessory/facial_hair/watson + name = "Moustache (Watson)" + icon_state = "facial_watson" + +/datum/sprite_accessory/facial_hair/elvis + name = "Sideburns (Elvis)" + icon_state = "facial_elvis" + +/datum/sprite_accessory/facial_hair/mutton + name = "Sideburns (Mutton Chops)" + icon_state = "facial_mutton" + +/datum/sprite_accessory/facial_hair/sideburn + name = "Sideburns" + icon_state = "facial_sideburn" + +/datum/sprite_accessory/facial_hair/shaved + name = "Shaved" + icon_state = null + gender = NEUTER + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm new file mode 100644 index 000000000000..95f937811444 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm @@ -0,0 +1,819 @@ +// Hair for use on mobs +// Keep the names alphabetical, and capitalized. +// You do not need to define _s or _l sub-states, game automatically does this for you + +/datum/sprite_accessory/hair + icon = 'icons/mob/human_face.dmi' // default icon for all hairs + body_zone = BODY_ZONE_HEAD + +/datum/sprite_accessory/hair/afro + name = "Afro" + icon_state = "hair_afro" + +/datum/sprite_accessory/hair/afro2 + name = "Afro 2" + icon_state = "hair_afro2" + +/datum/sprite_accessory/hair/afro_large + name = "Afro (Large)" + icon_state = "hair_bigafro" + +/datum/sprite_accessory/hair/antenna + name = "Ahoge" + icon_state = "hair_antenna" + +/datum/sprite_accessory/hair/bald + name = "Bald" + icon_state = null + +/datum/sprite_accessory/hair/balding + name = "Balding Hair" + icon_state = "hair_e" + +/datum/sprite_accessory/hair/bedhead + name = "Bedhead" + icon_state = "hair_bedhead" + +/datum/sprite_accessory/hair/bedhead2 + name = "Bedhead 2" + icon_state = "hair_bedheadv2" + +/datum/sprite_accessory/hair/bedhead3 + name = "Bedhead 3" + icon_state = "hair_bedheadv3" + +/datum/sprite_accessory/hair/bedheadlong + name = "Long Bedhead" + icon_state = "hair_long_bedhead" + +/datum/sprite_accessory/hair/bedheadfloorlength + name = "Floorlength Bedhead" + icon_state = "hair_floorlength_bedhead" + +/datum/sprite_accessory/hair/beehive + name = "Beehive" + icon_state = "hair_beehive" + +/datum/sprite_accessory/hair/beehive2 + name = "Beehive 2" + icon_state = "hair_beehivev2" + +/datum/sprite_accessory/hair/bob + name = "Bob Hair" + icon_state = "hair_bob" + +/datum/sprite_accessory/hair/bob2 + name = "Bob Hair 2" + icon_state = "hair_bob2" + +/datum/sprite_accessory/hair/bob3 + name = "Bob Hair 3" + icon_state = "hair_bobcut" + +/datum/sprite_accessory/hair/bob4 + name = "Bob Hair 4" + icon_state = "hair_bob4" + +/datum/sprite_accessory/hair/bobcurl + name = "Bobcurl" + icon_state = "hair_bobcurl" + +/datum/sprite_accessory/hair/boddicker + name = "Boddicker" + icon_state = "hair_boddicker" + +/datum/sprite_accessory/hair/bowlcut + name = "Bowlcut" + icon_state = "hair_bowlcut" + +/datum/sprite_accessory/hair/bowlcut2 + name = "Bowlcut 2" + icon_state = "hair_bowlcut2" + +/datum/sprite_accessory/hair/braid + name = "Braid (Floorlength)" + icon_state = "hair_braid" + +/datum/sprite_accessory/hair/braided + name = "Braided" + icon_state = "hair_braided" + +/datum/sprite_accessory/hair/front_braid + name = "Braided Front" + icon_state = "hair_braidfront" + +/datum/sprite_accessory/hair/not_floorlength_braid + name = "Braid (High)" + icon_state = "hair_braid2" + +/datum/sprite_accessory/hair/lowbraid + name = "Braid (Low)" + icon_state = "hair_hbraid" + +/datum/sprite_accessory/hair/shortbraid + name = "Braid (Short)" + icon_state = "hair_shortbraid" + +/datum/sprite_accessory/hair/braidtail + name = "Braided Tail" + icon_state = "hair_braidtail" + +/datum/sprite_accessory/hair/bun + name = "Bun Head" + icon_state = "hair_bun" + +/datum/sprite_accessory/hair/bun2 + name = "Bun Head 2" + icon_state = "hair_bunhead2" + +/datum/sprite_accessory/hair/bun3 + name = "Bun Head 3" + icon_state = "hair_bun3" + +/datum/sprite_accessory/hair/largebun + name = "Bun (Large)" + icon_state = "hair_largebun" + +/datum/sprite_accessory/hair/manbun + name = "Bun (Manbun)" + icon_state = "hair_manbun" + +/datum/sprite_accessory/hair/tightbun + name = "Bun (Tight)" + icon_state = "hair_tightbun" + +/datum/sprite_accessory/hair/business + name = "Business Hair" + icon_state = "hair_business" + +/datum/sprite_accessory/hair/business2 + name = "Business Hair 2" + icon_state = "hair_business2" + +/datum/sprite_accessory/hair/business3 + name = "Business Hair 3" + icon_state = "hair_business3" + +/datum/sprite_accessory/hair/business4 + name = "Business Hair 4" + icon_state = "hair_business4" + +/datum/sprite_accessory/hair/buzz + name = "Buzzcut" + icon_state = "hair_buzzcut" + +/datum/sprite_accessory/hair/cia + name = "CIA" + icon_state = "hair_cia" + +/datum/sprite_accessory/hair/coffeehouse + name = "Coffee House" + icon_state = "hair_coffeehouse" + +/datum/sprite_accessory/hair/combover + name = "Combover" + icon_state = "hair_combover" + +/datum/sprite_accessory/hair/cornrows1 + name = "Cornrows" + icon_state = "hair_cornrows" + +/datum/sprite_accessory/hair/cornrows2 + name = "Cornrows 2" + icon_state = "hair_cornrows2" + +/datum/sprite_accessory/hair/cornrowbun + name = "Cornrow Bun" + icon_state = "hair_cornrowbun" + +/datum/sprite_accessory/hair/cornrowbraid + name = "Cornrow Braid" + icon_state = "hair_cornrowbraid" + +/datum/sprite_accessory/hair/cornrowdualtail + name = "Cornrow Tail" + icon_state = "hair_cornrowtail" + +/datum/sprite_accessory/hair/crew + name = "Crewcut" + icon_state = "hair_crewcut" + +/datum/sprite_accessory/hair/curls + name = "Curls" + icon_state = "hair_curls" + +/datum/sprite_accessory/hair/cut + name = "Cut Hair" + icon_state = "hair_c" + +/datum/sprite_accessory/hair/dandpompadour + name = "Dandy Pompadour" + icon_state = "hair_dandypompadour" + +/datum/sprite_accessory/hair/devillock + name = "Devil Lock" + icon_state = "hair_devilock" + +/datum/sprite_accessory/hair/dolorosa + name = "Dolorosa" + icon_state = "hair_dolorosa" + +/datum/sprite_accessory/hair/double + name = "Double" + icon_state = "hair_double" + +/datum/sprite_accessory/hair/doublebun + name = "Double Bun" + icon_state = "hair_doublebun" + +/datum/sprite_accessory/hair/dreadlocks + name = "Dreadlocks" + icon_state = "hair_dreads" + +/datum/sprite_accessory/hair/drillhair + name = "Drillruru" + icon_state = "hair_drillruru" + +/datum/sprite_accessory/hair/drillhairextended + name = "Drill Hair (Extended)" + icon_state = "hair_drillhairextended" + +/datum/sprite_accessory/hair/egg + name = "Egg" + icon_state = "hair_egg" + +/datum/sprite_accessory/hair/eight + name = "Eight" + icon_state = "hair_eight" + +/datum/sprite_accessory/hair/emo + name = "Emo" + icon_state = "hair_emo" + +/datum/sprite_accessory/hair/emofrine + name = "Emo Fringe" + icon_state = "hair_emofringe" + +/datum/sprite_accessory/hair/nofade + name = "Fade (None)" + icon_state = "hair_nofade" + +/datum/sprite_accessory/hair/highfade + name = "Fade (High)" + icon_state = "hair_highfade" + +/datum/sprite_accessory/hair/medfade + name = "Fade (Medium)" + icon_state = "hair_medfade" + +/datum/sprite_accessory/hair/lowfade + name = "Fade (Low)" + icon_state = "hair_lowfade" + +/datum/sprite_accessory/hair/baldfade + name = "Fade (Bald)" + icon_state = "hair_baldfade" + +/datum/sprite_accessory/hair/feather + name = "Feather" + icon_state = "hair_feather" + +/datum/sprite_accessory/hair/father + name = "Father" + icon_state = "hair_father" + +/datum/sprite_accessory/hair/sargeant + name = "Flat Top" + icon_state = "hair_sargeant" + +/datum/sprite_accessory/hair/flair + name = "Flair" + icon_state = "hair_flair" + +/datum/sprite_accessory/hair/bigflattop + name = "Flat Top (Big)" + icon_state = "hair_bigflattop" + +/datum/sprite_accessory/hair/flow_hair + name = "Flow Hair" + icon_state = "hair_f" + +/datum/sprite_accessory/hair/gelled + name = "Gelled Back" + icon_state = "hair_gelled" + +/datum/sprite_accessory/hair/gentle + name = "Gentle" + icon_state = "hair_gentle" + +/datum/sprite_accessory/hair/halfbang + name = "Half-banged Hair" + icon_state = "hair_halfbang" + +/datum/sprite_accessory/hair/halfbang2 + name = "Half-banged Hair 2" + icon_state = "hair_halfbang2" + +/datum/sprite_accessory/hair/halfshaved + name = "Half-shaved" + icon_state = "hair_halfshaved" + +/datum/sprite_accessory/hair/harley + name = "Harley" + icon_state = "hair_harley" + +/datum/sprite_accessory/hair/hedgehog + name = "Hedgehog Hair" + icon_state = "hair_hedgehog" + +/datum/sprite_accessory/hair/himecut + name = "Hime Cut" + icon_state = "hair_himecut" + +/datum/sprite_accessory/hair/himecut2 + name = "Hime Cut 2" + icon_state = "hair_himecut2" + +/datum/sprite_accessory/hair/shorthime + name = "Hime Cut (Short)" + icon_state = "hair_shorthime" + +/datum/sprite_accessory/hair/himeup + name = "Hime Updo" + icon_state = "hair_himeup" + +/datum/sprite_accessory/hair/hitop + name = "Hitop" + icon_state = "hair_hitop" + +/datum/sprite_accessory/hair/jade + name = "Jade" + icon_state = "hair_jade" + +/datum/sprite_accessory/hair/jensen + name = "Jensen Hair" + icon_state = "hair_jensen" + +/datum/sprite_accessory/hair/Joestar + name = "Joestar" + icon_state = "hair_joestar" + +/datum/sprite_accessory/hair/justice + name = "Justice" + icon_state = "hair_justice" + +/datum/sprite_accessory/hair/keanu + name = "Keanu Hair" + icon_state = "hair_keanu" + +/datum/sprite_accessory/hair/kusangi + name = "Kusanagi Hair" + icon_state = "hair_kusanagi" + +/datum/sprite_accessory/hair/long + name = "Long Hair 1" + icon_state = "hair_long" + +/datum/sprite_accessory/hair/long2 + name = "Long Hair 2" + icon_state = "hair_long2" + +/datum/sprite_accessory/hair/long3 + name = "Long Hair 3" + icon_state = "hair_long3" + +/datum/sprite_accessory/hair/long_over_eye + name = "Long Over Eye" + icon_state = "hair_longovereye" + +/datum/sprite_accessory/hair/longbangs + name = "Long Bangs" + icon_state = "hair_lbangs" + +/datum/sprite_accessory/hair/longemo + name = "Long Emo" + icon_state = "hair_longemo" + +/datum/sprite_accessory/hair/longfringe + name = "Long Fringe" + icon_state = "hair_longfringe" + +/datum/sprite_accessory/hair/sidepartlongalt + name = "Long Side Part" + icon_state = "hair_longsidepart" + +/datum/sprite_accessory/hair/manime + name = "Manime" + icon_state = "hair_manime" + +/datum/sprite_accessory/hair/megaeyebrows + name = "Mega Eyebrows" + icon_state = "hair_megaeyebrows" + +/datum/sprite_accessory/hair/meow + name = "Meow" + icon_state = "hair_meow" + +/datum/sprite_accessory/hair/messy + name = "Messy" + icon_state = "hair_messy" + +/datum/sprite_accessory/hair/miracles + name = "Miracles" + icon_state = "hair_miracles" + +/datum/sprite_accessory/hair/modern + name = "Modern" + icon_state = "hair_modern" + +/datum/sprite_accessory/hair/mohawk + name = "Mohawk" + icon_state = "hair_d" + +/datum/sprite_accessory/hair/nitori + name = "Nitori" + icon_state = "hair_nitori" + +/datum/sprite_accessory/hair/reversemohawk + name = "Mohawk (Reverse)" + icon_state = "hair_reversemohawk" + +/datum/sprite_accessory/hair/shavedmohawk + name = "Mohawk (Shaved)" + icon_state = "hair_shavedmohawk" + +/datum/sprite_accessory/hair/unshavenmohawk + name = "Mohawk (Unshaven)" + icon_state = "hair_unshaven_mohawk" + +/datum/sprite_accessory/hair/mulder + name = "Mulder" + icon_state = "hair_mulder" + +/datum/sprite_accessory/hair/odango + name = "Odango" + icon_state = "hair_odango" + +/datum/sprite_accessory/hair/ombre + name = "Ombre" + icon_state = "hair_ombre" + +/datum/sprite_accessory/hair/oneshoulder + name = "One Shoulder" + icon_state = "hair_oneshoulder" + +/datum/sprite_accessory/hair/over_eye + name = "Over Eye" + icon_state = "hair_shortovereye" + +/datum/sprite_accessory/hair/oxton + name = "Oxton" + icon_state = "hair_oxton" + +/datum/sprite_accessory/hair/parted + name = "Parted" + icon_state = "hair_parted" + +/datum/sprite_accessory/hair/partedside + name = "Parted (Side)" + icon_state = "hair_part" + +/datum/sprite_accessory/hair/kagami + name = "Pigtails" + icon_state = "hair_kagami" + +/datum/sprite_accessory/hair/pigtail + name = "Pigtails 2" + icon_state = "hair_pigtails" + +/datum/sprite_accessory/hair/pigtail2 + name = "Pigtails 3" + icon_state = "hair_pigtails2" + +/datum/sprite_accessory/hair/pixie + name = "Pixie Cut" + icon_state = "hair_pixie" + +/datum/sprite_accessory/hair/pompadour + name = "Pompadour" + icon_state = "hair_pompadour" + +/datum/sprite_accessory/hair/bigpompadour + name = "Pompadour (Big)" + icon_state = "hair_bigpompadour" + +/datum/sprite_accessory/hair/ponytail1 + name = "Ponytail" + icon_state = "hair_ponytail" + +/datum/sprite_accessory/hair/ponytail2 + name = "Ponytail 2" + icon_state = "hair_ponytail2" + +/datum/sprite_accessory/hair/ponytail3 + name = "Ponytail 3" + icon_state = "hair_ponytail3" + +/datum/sprite_accessory/hair/ponytail4 + name = "Ponytail 4" + icon_state = "hair_ponytail4" + +/datum/sprite_accessory/hair/ponytail5 + name = "Ponytail 5" + icon_state = "hair_ponytail5" + +/datum/sprite_accessory/hair/ponytail6 + name = "Ponytail 6" + icon_state = "hair_ponytail6" + +/datum/sprite_accessory/hair/ponytail7 + name = "Ponytail 7" + icon_state = "hair_ponytail7" + +/datum/sprite_accessory/hair/highponytail + name = "Ponytail (High)" + icon_state = "hair_highponytail" + +/datum/sprite_accessory/hair/stail + name = "Ponytail (Short)" + icon_state = "hair_stail" + +/datum/sprite_accessory/hair/longponytail + name = "Ponytail (Long)" + icon_state = "hair_longstraightponytail" + +/datum/sprite_accessory/hair/countryponytail + name = "Ponytail (Country)" + icon_state = "hair_country" + +/datum/sprite_accessory/hair/fringetail + name = "Ponytail (Fringe)" + icon_state = "hair_fringetail" + +/datum/sprite_accessory/hair/sidetail + name = "Ponytail (Side)" + icon_state = "hair_sidetail" + +/datum/sprite_accessory/hair/sidetail2 + name = "Ponytail (Side) 2" + icon_state = "hair_sidetail2" + +/datum/sprite_accessory/hair/sidetail3 + name = "Ponytail (Side) 3" + icon_state = "hair_sidetail3" + +/datum/sprite_accessory/hair/sidetail4 + name = "Ponytail (Side) 4" + icon_state = "hair_sidetail4" + +/datum/sprite_accessory/hair/spikyponytail + name = "Ponytail (Spiky)" + icon_state = "hair_spikyponytail" + +/datum/sprite_accessory/hair/poofy + name = "Poofy" + icon_state = "hair_poofy" + +/datum/sprite_accessory/hair/prince + name = "Prince" + icon_state = "hair_prince" + +/datum/sprite_accessory/hair/pupa + name = "Pupa" + icon_state = "hair_pupa" + +/datum/sprite_accessory/hair/quiff + name = "Quiff" + icon_state = "hair_quiff" + +/datum/sprite_accessory/hair/ronin + name = "Ronin" + icon_state = "hair_ronin" + +/datum/sprite_accessory/hair/rosemary + name = "Rosemary" + icon_state = "hair_rosemary" + +/datum/sprite_accessory/hair/shaved + name = "Shaved" + icon_state = "hair_shaved" + +/datum/sprite_accessory/hair/shavedpart + name = "Shaved Part" + icon_state = "hair_shavedpart" + +/datum/sprite_accessory/hair/shortbangs + name = "Short Bangs" + icon_state = "hair_shortbangs" + +/datum/sprite_accessory/hair/short + name = "Short Hair" + icon_state = "hair_a" + +/datum/sprite_accessory/hair/shorthair2 + name = "Short Hair 2" + icon_state = "hair_shorthair2" + +/datum/sprite_accessory/hair/shorthair3 + name = "Short Hair 3" + icon_state = "hair_shorthair3" + +/datum/sprite_accessory/hair/shorthair4 + name = "Short Hair 4" + icon_state = "hair_d" + +/datum/sprite_accessory/hair/shorthair5 + name = "Short Hair 5" + icon_state = "hair_e" + +/datum/sprite_accessory/hair/shorthair6 + name = "Short Hair 6" + icon_state = "hair_f" + +/datum/sprite_accessory/hair/shorthair7 + name = "Short Hair 7" + icon_state = "hair_shorthairg" + +/datum/sprite_accessory/hair/shorthaireighties + name = "Short Hair 80s" + icon_state = "hair_80s" + +/datum/sprite_accessory/hair/rosa + name = "Short Hair Rosa" + icon_state = "hair_rosa" + +/datum/sprite_accessory/hair/shoulderlength + name = "Shoulder-length Hair" + icon_state = "hair_b" + +/datum/sprite_accessory/hair/sidecut + name = "Sidecut" + icon_state = "hair_sidecut" + +/datum/sprite_accessory/hair/skinhead + name = "Skinhead" + icon_state = "hair_skinhead" + +/datum/sprite_accessory/hair/protagonist + name = "Slightly Long Hair" + icon_state = "hair_protagonist" + +/datum/sprite_accessory/hair/spiky + name = "Spiky" + icon_state = "hair_spikey" + +/datum/sprite_accessory/hair/spiky2 + name = "Spiky 2" + icon_state = "hair_spiky" + +/datum/sprite_accessory/hair/spiky3 + name = "Spiky 3" + icon_state = "hair_spiky2" + +/datum/sprite_accessory/hair/stride + name = "Stride" + icon_state = "hair_stride" + +/datum/sprite_accessory/hair/swept + name = "Swept Back Hair" + icon_state = "hair_swept" + +/datum/sprite_accessory/hair/swept2 + name = "Swept Back Hair 2" + icon_state = "hair_swept2" + +/datum/sprite_accessory/hair/thinning + name = "Thinning" + icon_state = "hair_thinning" + +/datum/sprite_accessory/hair/thinningfront + name = "Thinning (Front)" + icon_state = "hair_thinningfront" + +/datum/sprite_accessory/hair/thinningrear + name = "Thinning (Rear)" + icon_state = "hair_thinningrear" + +/datum/sprite_accessory/hair/thresh + name = "Thresh" + icon_state = "hair_thresh" + +/datum/sprite_accessory/hair/topknot + name = "Topknot" + icon_state = "hair_topknot" + +/datum/sprite_accessory/hair/tressshoulder + name = "Tress Shoulder" + icon_state = "hair_tressshoulder" + +/datum/sprite_accessory/hair/trimmed + name = "Trimmed" + icon_state = "hair_trimmed" + +/datum/sprite_accessory/hair/trimflat + name = "Trim Flat" + icon_state = "hair_trimflat" + +/datum/sprite_accessory/hair/twintails + name = "Twintails" + icon_state = "hair_twintail" + +/datum/sprite_accessory/hair/undercut + name = "Undercut" + icon_state = "hair_undercut" + +/datum/sprite_accessory/hair/undercutleft + name = "Undercut Left" + icon_state = "hair_undercutleft" + +/datum/sprite_accessory/hair/undercutright + name = "Undercut Right" + icon_state = "hair_undercutright" + +/datum/sprite_accessory/hair/unkept + name = "Unkept" + icon_state = "hair_unkept" + +/datum/sprite_accessory/hair/updo + name = "Updo" + icon_state = "hair_updo" + +/datum/sprite_accessory/hair/longer + name = "Very Long Hair" + icon_state = "hair_vlong" + +/datum/sprite_accessory/hair/longest + name = "Very Long Hair 2" + icon_state = "hair_longest" + +/datum/sprite_accessory/hair/longest2 + name = "Very Long Over Eye" + icon_state = "hair_longest2" + +/datum/sprite_accessory/hair/veryshortovereye + name = "Very Short Over Eye" + icon_state = "hair_veryshortovereyealternate" + +/datum/sprite_accessory/hair/longestalt + name = "Very Long with Fringe" + icon_state = "hair_vlongfringe" + +/datum/sprite_accessory/hair/volaju + name = "Volaju" + icon_state = "hair_volaju" + +/datum/sprite_accessory/hair/wisp + name = "Wisp" + icon_state = "hair_wisp" + +/* +///////////////////////////////////// +/ =---------------------------= / +/ == Gradient Hair Definitions == / +/ =---------------------------= / +///////////////////////////////////// +*/ + +/datum/sprite_accessory/hair_gradient + icon = 'icons/mob/hair_gradients.dmi' + body_zone = BODY_ZONE_HEAD + +/datum/sprite_accessory/hair_gradient/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/hair_gradient/fadeup + name = "Fade Up" + icon_state = "fadeup" + +/datum/sprite_accessory/hair_gradient/fadedown + name = "Fade Down" + icon_state = "fadedown" + +/datum/sprite_accessory/hair_gradient/vertical_split + name = "Vertical Split" + icon_state = "vsplit" + +/datum/sprite_accessory/hair_gradient/_split + name = "Horizontal Split" + icon_state = "bottomflat" + +/datum/sprite_accessory/hair_gradient/reflected + name = "Reflected" + icon_state = "reflected_high" + +/datum/sprite_accessory/hair_gradient/reflected_inverse + name = "Reflected Inverse" + icon_state = "reflected_inverse_high" + +/datum/sprite_accessory/hair_gradient/wavy + name = "Wavy" + icon_state = "wavy" + +/datum/sprite_accessory/hair_gradient/long_fade_up + name = "Long Fade Up" + icon_state = "long_fade_up" + +/datum/sprite_accessory/hair_gradient/long_fade_down + name = "Long Fade Down" + icon_state = "long_fade_down" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ipc.dm b/code/modules/mob/dead/new_player/sprite_accessories/ipc.dm new file mode 100644 index 000000000000..b25cd222115a --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ipc.dm @@ -0,0 +1,285 @@ +// IPC accessories. + +// Start screens + +/datum/sprite_accessory/ipc_screens + icon = 'icons/mob/ipc_accessories.dmi' + color_src = EYECOLOR + +/datum/sprite_accessory/ipc_screens/blank + name = "Blank Canvas" + icon_state = "blank" + +/datum/sprite_accessory/ipc_screens/blue + name = "Blue" + icon_state = "blue" + color_src = 0 + +/datum/sprite_accessory/ipc_screens/blush + name = "Blush" + icon_state = "blush" + +/datum/sprite_accessory/ipc_screens/bsod + name = "BSOD" + icon_state = "bsod" + color_src = 0 + +/datum/sprite_accessory/ipc_screens/buffering + name = "Buffering" + icon_state = "buffering" + +/datum/sprite_accessory/ipc_screens/breakout + name = "Breakout" + icon_state = "breakout" + +/datum/sprite_accessory/ipc_screens/console + name = "Console" + icon_state = "console" + +/datum/sprite_accessory/ipc_screens/doom + name = "DOOM" + icon_state = "doom" + +/datum/sprite_accessory/ipc_screens/ecgwave + name = "ECG Wave" + icon_state = "ecgwave" + +/datum/sprite_accessory/ipc_screens/eight + name = "Eight" + icon_state = "eight" + +/datum/sprite_accessory/ipc_screens/eyes + name = "Eyes (Spinny)" + icon_state = "eyes" + +/datum/sprite_accessory/ipc_screens/eyes_noanim + name = "Eyes (No Spinny)" + icon_state = "eyes_noanim" + +/datum/sprite_accessory/ipc_screens/eyes_fortuna + name = "Eyes (Sun and Moon)" + icon_state = "eyes_fortuna" + +/datum/sprite_accessory/ipc_screens/glider + name = "Glider" + icon_state = "glider" + +/datum/sprite_accessory/ipc_screens/goggles + name = "Goggles" + icon_state = "goggles" + +/datum/sprite_accessory/ipc_screens/green + name = "Green" + icon_state = "green" + +/datum/sprite_accessory/ipc_screens/heart + name = "Heart" + icon_state = "heart" + color_src = 0 + +/datum/sprite_accessory/ipc_screens/monoeye + name = "Mono-eye" + icon_state = "monoeye" + +/datum/sprite_accessory/ipc_screens/nyaru + name = "Nyaru" + icon_state = "nyaru" + +/datum/sprite_accessory/ipc_screens/nature + name = "Nature" + icon_state = "nature" + +/datum/sprite_accessory/ipc_screens/orange + name = "Orange" + icon_state = "orange" + +/datum/sprite_accessory/ipc_screens/pink + name = "Pink" + icon_state = "pink" + +/datum/sprite_accessory/ipc_screens/purple + name = "Purple" + icon_state = "purple" + +/datum/sprite_accessory/ipc_screens/rainbow + name = "Rainbow" + icon_state = "rainbow" + color_src = 0 + +/datum/sprite_accessory/ipc_screens/red + name = "Red" + icon_state = "red" + +/datum/sprite_accessory/ipc_screens/text + name = "Text Lines" + icon_state = "text" + +/datum/sprite_accessory/ipc_screens/rgb + name = "RGB" + icon_state = "rgb" + +/datum/sprite_accessory/ipc_screens/scroll + name = "Scanline" + icon_state = "scroll" + +/datum/sprite_accessory/ipc_screens/shower + name = "Shower" + icon_state = "shower" + +/datum/sprite_accessory/ipc_screens/sinewave + name = "Sinewave" + icon_state = "sinewave" + +/datum/sprite_accessory/ipc_screens/squarewave + name = "Square wave" + icon_state = "squarewave" + +/datum/sprite_accessory/ipc_screens/static_screen + name = "Static" + icon_state = "static" + +/datum/sprite_accessory/ipc_screens/yellow + name = "Yellow" + icon_state = "yellow" + +/datum/sprite_accessory/ipc_screens/textdrop + name = "Text drop" + icon_state = "textdrop" + +/datum/sprite_accessory/ipc_screens/stars + name = "Stars" + icon_state = "stars" + +/datum/sprite_accessory/ipc_screens/loading + name = "Loading" + icon_state = "loading" + +/datum/sprite_accessory/ipc_screens/windowsxp + name = "Windows XP" + icon_state = "windowsxp" + +/datum/sprite_accessory/ipc_screens/tetris + name = "Tetris" + icon_state = "tetris" + +/datum/sprite_accessory/ipc_screens/bubbles + name = "Bubbles" + icon_state = "bubbles" + +/datum/sprite_accessory/ipc_screens/tv + name = "Color Test" + icon_state = "tv" + +// Start antennas + +/datum/sprite_accessory/ipc_antennas + icon = 'icons/mob/ipc_accessories.dmi' + color_src = HAIR + +/datum/sprite_accessory/ipc_antennas/none + name = "None" + icon_state = "None" + +/datum/sprite_accessory/ipc_antennas/angled + name = "Angled" + icon_state = "antennae" + +/datum/sprite_accessory/ipc_antennas/antlers + name = "Antlers" + icon_state = "antlers" + +/datum/sprite_accessory/ipc_antennas/crowned + name = "Crowned" + icon_state = "crowned" + +/datum/sprite_accessory/ipc_antennas/cyberhead + name = "Cyberhead" + icon_state = "cyberhead" + +/datum/sprite_accessory/ipc_antennas/droneeyes + name = "Drone Eyes" + icon_state = "droneeyes" + +/datum/sprite_accessory/ipc_antennas/sidelights + name = "Sidelights" + icon_state = "sidelights" + +/datum/sprite_accessory/ipc_antennas/tesla + name = "Tesla" + icon_state = "tesla" + +/datum/sprite_accessory/ipc_antennas/tv + name = "TV Antenna" + icon_state = "tvantennae" + +/datum/sprite_accessory/ipc_antennas/cross + name = "Cross" + icon_state = "cross" + +/datum/sprite_accessory/ipc_antennas/sidepanels + name = "Side Panels" + icon_state = "sidepanels" + +/datum/sprite_accessory/ipc_antennas/horns + name = "Horns" + icon_state = "horns" + +/datum/sprite_accessory/ipc_antennas/langle + name = "Left Angle" + icon_state = "langle" + +/datum/sprite_accessory/ipc_antennas/rangle + name = "Right Angle" + icon_state = "rangle" + +// Start chassis - the worst thing ever please rework this + +/datum/sprite_accessory/ipc_chassis // Used for changing limb icons, doesn't need to hold the actual icon. That's handled in ipc.dm + icon = null + icon_state = "who cares fuck you" // In order to pull the chassis correctly, we need AN icon_state(see line 36-39). It doesn't have to be useful, because it isn't used. + color_src = 0 + +/datum/sprite_accessory/ipc_chassis/mcgreyscale + name = "Morpheus Cyberkinetics (Custom)" + limbs_id = "mcgipc" + color_src = MUTCOLORS + +/datum/sprite_accessory/ipc_chassis/bishopcyberkinetics + name = "Bishop Cyberkinetics" + limbs_id = "bshipc" + +/datum/sprite_accessory/ipc_chassis/bishopcyberkinetics2 + name = "Bishop Cyberkinetics 2.0" + limbs_id = "bs2ipc" + +/datum/sprite_accessory/ipc_chassis/hephaestussindustries + name = "Hephaestus Industries" + limbs_id = "hsiipc" + +/datum/sprite_accessory/ipc_chassis/hephaestussindustries2 + name = "Hephaestus Industries 2.0" + limbs_id = "hi2ipc" + +/datum/sprite_accessory/ipc_chassis/pawsitronsunited + name = "Pawsitrons United" + limbs_id = "pawsitrons" + +/datum/sprite_accessory/ipc_chassis/shellguardmunitions + name = "Shellguard Munitions Standard Series" + limbs_id = "sgmipc" + +/datum/sprite_accessory/ipc_chassis/wardtakahashimanufacturing + name = "Ward-Takahashi Manufacturing" + limbs_id = "wtmipc" + +/datum/sprite_accessory/ipc_chassis/xionmanufacturinggroup + name = "Xion Manufacturing Group" + limbs_id = "xmgipc" + +/datum/sprite_accessory/ipc_chassis/xionmanufacturinggroup2 + name = "Xion Manufacturing Group 2.0" + limbs_id = "xm2ipc" + +/datum/sprite_accessory/ipc_chassis/zenghupharmaceuticals + name = "Zeng-Hu Pharmaceuticals" + limbs_id = "zhpipc" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/kepori.dm b/code/modules/mob/dead/new_player/sprite_accessories/kepori.dm new file mode 100644 index 000000000000..4ed949c63ef8 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/kepori.dm @@ -0,0 +1,113 @@ +//Kepori mutant parts + +//Start head feathers + +/datum/sprite_accessory/kepori_feathers + color_src = HAIR + icon = 'icons/mob/kepori_parts.dmi' + +/datum/sprite_accessory/kepori_feathers/none + name = "None" + +/datum/sprite_accessory/kepori_feathers/sleek + name = "Sleek" + icon_state = "sleek" + +/datum/sprite_accessory/kepori_feathers/peel + name = "The Peel" + icon_state = "peel" + +/datum/sprite_accessory/kepori_feathers/sweep + name = "Swept Up" + icon_state = "sweep" + +/datum/sprite_accessory/kepori_feathers/aerodynamic + name = "Aerodynamic" + icon_state = "aerodynamic" + +/datum/sprite_accessory/kepori_feathers/mohawk + name = "Mo-Hawk" + icon_state = "mohawk" + +/datum/sprite_accessory/kepori_feathers/cowlick + name = "Cow-lick" + icon_state = "cowlick" + +/datum/sprite_accessory/kepori_feathers/spikey + name = "Spikey" + icon_state = "spikey" + +/datum/sprite_accessory/kepori_feathers/soap + name = "Soap" + icon_state = "soap" + +/datum/sprite_accessory/kepori_feathers/crowned + name = "Crowned" + icon_state = "crowned" + +/datum/sprite_accessory/kepori_feathers/crested + name = "Crested" + icon_state = "crested" + +/datum/sprite_accessory/kepori_feathers/ponytail + name = "Ponytail" + icon_state = "ponytail" + +/datum/sprite_accessory/kepori_feathers/bun + name = "Bun" + icon_state = "bun" + +//Start body feathers + +/datum/sprite_accessory/kepori_body_feathers + color_src = MUTCOLORS_SECONDARY + icon = 'icons/mob/kepori_parts.dmi' + +/datum/sprite_accessory/kepori_body_feathers/none + name = "None" + +/datum/sprite_accessory/kepori_body_feathers/aftik + name = "Aftik" + icon_state = "aftik" + +/datum/sprite_accessory/kepori_body_feathers/belly + name = "Belly" + icon_state = "belly" + +/datum/sprite_accessory/kepori_body_feathers/shirt + name = "Shirt" + icon_state = "shirt" + +/datum/sprite_accessory/kepori_body_feathers/soap + name = "Soap" + icon_state = "soap" + +/datum/sprite_accessory/kepori_body_feathers/wings + name = "Wings" + icon_state = "wings" + +//Start tail feathers + +/datum/sprite_accessory/kepori_tail_feathers + color_src = MUTCOLORS_SECONDARY + icon = 'icons/mob/kepori_parts.dmi' + +/datum/sprite_accessory/kepori_tail_feathers/none + name = "None" + +/datum/sprite_accessory/kepori_tail_feathers/fan + name = "Fan" + icon_state = "fan" + +/datum/sprite_accessory/kepori_tail_feathers/back + name = "Back" + icon_state = "back" + +/datum/sprite_accessory/kepori_tail_feathers/fanback + name = "Fan and Back" + icon_state = "fanback" + +/datum/sprite_accessory/kepori_tail_feathers/prosthetic + name = "Prosthetic Tail" + icon_state = "prosthetic" + color_src = null diff --git a/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm b/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm new file mode 100644 index 000000000000..22f64c46d14e --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm @@ -0,0 +1,228 @@ +//Sarathi Mutantparts + +//Start markings + +/datum/sprite_accessory/body_markings + icon = 'icons/mob/mutant_bodyparts.dmi' + color_src = MUTCOLORS_SECONDARY + body_zone = BODY_ZONE_CHEST + synthetic_icon_state = "none" + +/datum/sprite_accessory/body_markings/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/body_markings/dtiger + name = "Dark Tiger Body" + icon_state = "dtiger" + gender_specific = TRUE + +/datum/sprite_accessory/body_markings/ltiger + name = "Light Tiger Body" + icon_state = "ltiger" + gender_specific = TRUE + +/datum/sprite_accessory/body_markings/lbelly + name = "Light Belly" + icon_state = "lbelly" + gender_specific = TRUE + +//Start tails + +/datum/sprite_accessory/tails + icon = 'icons/mob/mutant_bodyparts.dmi' + body_zone = BODY_ZONE_CHEST + synthetic_icon_state = "synth" + +/datum/sprite_accessory/tails_animated + icon = 'icons/mob/mutant_bodyparts.dmi' + body_zone = BODY_ZONE_CHEST + +/datum/sprite_accessory/tails/lizard/smooth + name = "Smooth" + icon_state = "smooth" + +/datum/sprite_accessory/tails_animated/lizard/smooth + name = "Smooth" + icon_state = "smooth" + +/datum/sprite_accessory/tails/lizard/dtiger + name = "Dark Tiger" + icon_state = "dtiger" + +/datum/sprite_accessory/tails_animated/lizard/dtiger + name = "Dark Tiger" + icon_state = "dtiger" + +/datum/sprite_accessory/tails/lizard/ltiger + name = "Light Tiger" + icon_state = "ltiger" + +/datum/sprite_accessory/tails_animated/lizard/ltiger + name = "Light Tiger" + icon_state = "ltiger" + +/datum/sprite_accessory/tails/lizard/spikes + name = "Spikes" + icon_state = "spikes" + +/datum/sprite_accessory/tails_animated/lizard/spikes + name = "Spikes" + icon_state = "spikes" + +/datum/sprite_accessory/tails/lizard/large + name = "Large" + icon_state = "large" + synthetic_icon_state = "large" //fight me + +/datum/sprite_accessory/tails_animated/lizard/large + name = "Large" + icon_state = "large" + synthetic_icon_state = "large" + +//Start Snouts + +/datum/sprite_accessory/snouts + icon = 'icons/mob/mutant_bodyparts.dmi' + body_zone = BODY_ZONE_HEAD + synthetic_icon_state = "none" + +/datum/sprite_accessory/snouts/sharp + name = "Sharp" + icon_state = "sharp" + +/datum/sprite_accessory/snouts/round + name = "Round" + icon_state = "round" + +/datum/sprite_accessory/snouts/sharplight + name = "Sharp + Light" + icon_state = "sharplight" + +/datum/sprite_accessory/snouts/roundlight + name = "Round + Light" + icon_state = "roundlight" + +//Start Horns + +/datum/sprite_accessory/horns + icon = 'icons/mob/mutant_bodyparts.dmi' + color_src = HAIR + body_zone = BODY_ZONE_HEAD + synthetic_color_src = MUTCOLORS_SECONDARY + +/datum/sprite_accessory/horns/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/horns/simple + name = "Simple" + icon_state = "simple" + synthetic_icon_state = "simple_synth" + +/datum/sprite_accessory/horns/short + name = "Short" + icon_state = "short" + synthetic_icon_state = "short_synth" + +/datum/sprite_accessory/horns/curled + name = "Curled" + icon_state = "curled" + synthetic_icon_state = "curled_synth" + +/datum/sprite_accessory/horns/ram + name = "Ram" + icon_state = "ram" + synthetic_icon_state = "ram_synth" + +/datum/sprite_accessory/horns/angler + name = "Angeler" + icon_state = "angler" + +//Start Frills + +/datum/sprite_accessory/frills + icon = 'icons/mob/mutant_bodyparts.dmi' + +/datum/sprite_accessory/frills/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/frills/simple + name = "Simple" + icon_state = "simple" + +/datum/sprite_accessory/frills/short + name = "Short" + icon_state = "short" + +/datum/sprite_accessory/frills/aquatic + name = "Aquatic" + icon_state = "aqua" + +//Start Spines + +/datum/sprite_accessory/spines + icon = 'icons/mob/mutant_bodyparts.dmi' + +/datum/sprite_accessory/spines_animated + icon = 'icons/mob/mutant_bodyparts.dmi' + +/datum/sprite_accessory/spines/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/spines_animated/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/spines/short + name = "Short" + icon_state = "short" + +/datum/sprite_accessory/spines_animated/short + name = "Short" + icon_state = "short" + +/datum/sprite_accessory/spines/shortmeme + name = "Short + Membrane" + icon_state = "shortmeme" + +/datum/sprite_accessory/spines_animated/shortmeme + name = "Short + Membrane" + icon_state = "shortmeme" + +/datum/sprite_accessory/spines/long + name = "Long" + icon_state = "long" + +/datum/sprite_accessory/spines_animated/long + name = "Long" + icon_state = "long" + +/datum/sprite_accessory/spines/longmeme + name = "Long + Membrane" + icon_state = "longmeme" + +/datum/sprite_accessory/spines_animated/longmeme + name = "Long + Membrane" + icon_state = "longmeme" + +/datum/sprite_accessory/spines/aquatic + name = "Aquatic" + icon_state = "aqua" + +/datum/sprite_accessory/spines_animated/aquatic + name = "Aquatic" + icon_state = "aqua" + +//Leg stuff, no better place to put it, no point in a legs.dm file + +/datum/sprite_accessory/legs //legs are a special case, they aren't actually sprite_accessories but are updated with them. + icon = null //These datums exist for selecting legs on preference, and little else + +/datum/sprite_accessory/legs/none + name = "Normal Legs" + +/datum/sprite_accessory/legs/digitigrade_lizard + name = "Digitigrade Legs" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/moth.dm b/code/modules/mob/dead/new_player/sprite_accessories/moth.dm new file mode 100644 index 000000000000..43b493cc36f5 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/moth.dm @@ -0,0 +1,256 @@ +//Mutant parts for moths + +//Start wings + +/datum/sprite_accessory/moth_wings + icon = 'icons/mob/moth_wings.dmi' + color_src = null + +/datum/sprite_accessory/moth_wings/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/moth_wings/monarch + name = "Monarch" + icon_state = "monarch" + +/datum/sprite_accessory/moth_wings/luna + name = "Luna" + icon_state = "luna" + +/datum/sprite_accessory/moth_wings/atlas + name = "Atlas" + icon_state = "atlas" + +/datum/sprite_accessory/moth_wings/reddish + name = "Reddish" + icon_state = "redish" + +/datum/sprite_accessory/moth_wings/royal + name = "Royal" + icon_state = "royal" + +/datum/sprite_accessory/moth_wings/gothic + name = "Gothic" + icon_state = "gothic" + +/datum/sprite_accessory/moth_wings/lovers + name = "Lovers" + icon_state = "lovers" + +/datum/sprite_accessory/moth_wings/whitefly + name = "White Fly" + icon_state = "whitefly" + +/datum/sprite_accessory/moth_wings/punished + name = "Burnt Off" + icon_state = "burnt" + locked = TRUE + +/datum/sprite_accessory/moth_wings/firewatch + name = "Firewatch" + icon_state = "firewatch" + +/datum/sprite_accessory/moth_wings/deathhead + name = "Deathshead" + icon_state = "deathhead" + +/datum/sprite_accessory/moth_wings/poison + name = "Poison" + icon_state = "poison" + +/datum/sprite_accessory/moth_wings/ragged + name = "Ragged" + icon_state = "ragged" + +/datum/sprite_accessory/moth_wings/moonfly + name = "Moon Fly" + icon_state = "moonfly" + +/datum/sprite_accessory/moth_wings/snow + name = "Snow" + icon_state = "snow" + +/datum/sprite_accessory/moth_wings/oakworm + name = "Oak Worm" + icon_state = "oakworm" + +/datum/sprite_accessory/moth_wings/jungle + name = "Jungle" + icon_state = "jungle" + +/datum/sprite_accessory/moth_wings/witchwing + name = "Witch Wing" + icon_state = "witchwing" + +/datum/sprite_accessory/moth_wings/brown + name = "Brown" + icon_state = "brown" + +/datum/sprite_accessory/moth_wings/feathery + name = "Feathery" + icon_state = "feathery" + +/datum/sprite_accessory/moth_wings/rosy + name = "Rosy" + icon_state = "rosy" + +/datum/sprite_accessory/moth_wings/plasmafire + name = "Plasmafire" + icon_state = "plasmafire" + +//Start markings + +/datum/sprite_accessory/moth_markings + icon = 'icons/mob/moth_markings.dmi' + color_src = null + +/datum/sprite_accessory/moth_markings/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/moth_markings/reddish + name = "Reddish" + icon_state = "reddish" + +/datum/sprite_accessory/moth_markings/royal + name = "Royal" + icon_state = "royal" + +/datum/sprite_accessory/moth_markings/gothic + name = "Gothic" + icon_state = "gothic" + +/datum/sprite_accessory/moth_markings/whitefly + name = "White Fly" + icon_state = "whitefly" + +/datum/sprite_accessory/moth_markings/lovers + name = "Lovers" + icon_state = "lovers" + +/datum/sprite_accessory/moth_markings/punished + name = "Punished" + icon_state = "punished" + +/datum/sprite_accessory/moth_markings/firewatch + name = "Firewatch" + icon_state = "firewatch" + +/datum/sprite_accessory/moth_markings/deathhead + name = "Deathshead" + icon_state = "deathhead" + +/datum/sprite_accessory/moth_markings/poison + name = "Poison" + icon_state = "poison" + +/datum/sprite_accessory/moth_markings/ragged + name = "Ragged" + icon_state = "ragged" + +/datum/sprite_accessory/moth_markings/moonfly + name = "Moon Fly" + icon_state = "moonfly" + +/datum/sprite_accessory/moth_markings/oakworm + name = "Oak Worm" + icon_state = "oakworm" + +/datum/sprite_accessory/moth_markings/jungle + name = "Jungle" + icon_state = "jungle" + +/datum/sprite_accessory/moth_markings/witchwing + name = "Witch Wing" + icon_state = "witchwing" + +//Moth fluff, the bit around the neck + +/datum/sprite_accessory/moth_fluff + icon = 'icons/mob/moth_wings.dmi' + color_src = null + +/datum/sprite_accessory/moth_fluff/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/moth_fluff/bent + name = "Bent" + icon_state = "bent" + +/datum/sprite_accessory/moth_fluff/reddish + name = "Reddish" + icon_state = "redish" + +/datum/sprite_accessory/moth_fluff/royal + name = "Royal" + icon_state = "royal" + +/datum/sprite_accessory/moth_fluff/gothic + name = "Gothic" + icon_state = "gothic" + +/datum/sprite_accessory/moth_fluff/lovers + name = "Lovers" + icon_state = "lovers" + +/datum/sprite_accessory/moth_fluff/whitefly + name = "White Fly" + icon_state = "whitefly" + +/datum/sprite_accessory/moth_fluff/punished + name = "Burnt" + icon_state = "burnt" + +/datum/sprite_accessory/moth_fluff/firewatch + name = "Firewatch" + icon_state = "firewatch" + +/datum/sprite_accessory/moth_fluff/deathhead + name = "Deathshead" + icon_state = "deathhead" + +/datum/sprite_accessory/moth_fluff/poison + name = "Poison" + icon_state = "poison" + +/datum/sprite_accessory/moth_fluff/moonfly + name = "Moon Fly" + icon_state = "moonfly" + +/datum/sprite_accessory/moth_fluff/snow + name = "Snow" + icon_state = "snow" + +/datum/sprite_accessory/moth_fluff/oakworm + name = "Oak Worm" + icon_state = "oakworm" + +/datum/sprite_accessory/moth_fluff/jungle + name = "Jungle" + icon_state = "jungle" + +/datum/sprite_accessory/moth_fluff/witchwing + name = "Witch Wing" + icon_state = "witchwing" + +/datum/sprite_accessory/moth_fluff/shaved + name = "Shaved" + icon_state = "shaved" + +/datum/sprite_accessory/moth_fluff/brown + name = "Brown" + icon_state = "brown" + +/datum/sprite_accessory/moth_fluff/feathery + name = "Feathery" + icon_state = "feathery" + +/datum/sprite_accessory/moth_fluff/rosy + name = "Rosy" + icon_state = "rosy" + +/datum/sprite_accessory/moth_fluff/plasmafire + name = "Plasmafire" + icon_state = "plasmafire" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm b/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm new file mode 100644 index 000000000000..1e60fd1d7ab5 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm @@ -0,0 +1,55 @@ +//Rachnid mutantparts + +//Start legs + +/datum/sprite_accessory/spider_legs + icon = 'icons/mob/species/rachnid/spider_legs.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/spider_legs/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/spider_legs/fuzzy + name = "Fuzzy" + icon_state = "fuzzy" + +/datum/sprite_accessory/spider_legs/spiky + name = "Spiky" + icon_state = "spiky" + +//Start spinner + +/datum/sprite_accessory/spider_spinneret + icon = 'icons/mob/species/rachnid/spider_spinneret.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/spider_spinneret/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/spider_spinneret/fuzzy + name = "Fuzzy" + icon_state = "fuzzy" + +/datum/sprite_accessory/spider_spinneret/black_widow + name = "Black Widow" + icon_state = "blackwidow" + +//Start mandible + +/datum/sprite_accessory/spider_mandibles + icon = 'icons/mob/species/rachnid/spider_mandibles.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/spider_mandibles/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/spider_mandibles/fuzzy + name = "Fuzzy" + icon_state = "fuzzy" + +/datum/sprite_accessory/spider_mandibles/spiky + name = "Spiky" + icon_state = "spiky" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm new file mode 100644 index 000000000000..6f864b42a04d --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -0,0 +1,55 @@ +//Tails mutant parts for nonspecific species + +/datum/sprite_accessory/tails/human/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/tails_animated/human/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/tails/human/cat + name = "Cat" + icon_state = "cat" + color_src = HAIR + +/datum/sprite_accessory/tails_animated/human/cat + name = "Cat" + icon_state = "cat" + color_src = HAIR + +/datum/sprite_accessory/tails/human/cat/slime + name = "Slimecat" + icon_state = "cat" + color_src = HAIR + image_alpha = 150 + +/datum/sprite_accessory/tails_animated/human/cat/slime + name = "Slimecat" + icon_state = "cat" + color_src = HAIR + image_alpha = 150 + +/datum/sprite_accessory/tails/human/fox + icon = 'icons/mob/species/misc/fox.dmi' + name = "Fox" + icon_state = "fox" + color_src = HAIR + +/datum/sprite_accessory/tails_animated/human/fox + icon = 'icons/mob/species/misc/fox.dmi' + name = "Fox" + icon_state = "fox" + color_src = HAIR + +/datum/sprite_accessory/tails/human/fox/alt + icon = 'icons/mob/species/misc/fox.dmi' + name = "Fox 2" + icon_state = "fox2" + color_src = HAIR + +/datum/sprite_accessory/tails_animated/human/fox/alt + icon = 'icons/mob/species/misc/fox.dmi' + name = "Fox 2" + icon_state = "fox2" + color_src = HAIR diff --git a/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_legs.dm b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_legs.dm new file mode 100644 index 000000000000..2e6ee0aa88ef --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_legs.dm @@ -0,0 +1,79 @@ +/datum/sprite_accessory/underwear + icon = 'icons/mob/clothing/underwear/underwear_legs.dmi' + //freedom + gender = NEUTER + //Whether the underwear uses a special sprite for digitigrade style (i.e. briefs, not panties). Adds a "_d" suffix to the icon state + var/has_digitigrade = FALSE + +//Male undergarment bottoms + +/datum/sprite_accessory/underwear/nude + name = "Nude" + icon_state = null + +/datum/sprite_accessory/underwear/briefs + name = "Briefs" + icon_state = "briefs" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/boxers + name = "Boxer" + icon_state = "boxers" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/stripe + name = "Striped Boxers" + icon_state = "stripe" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/midway + name = "Midway Boxers" + icon_state = "midway" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/longjohns + name = "Long Johns" + icon_state = "longjohns" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/mankini + name = "Mankini" + icon_state = "mankini" + +/datum/sprite_accessory/underwear/hearts + name = "Heart Boxers" + icon_state = "heart" + use_static = TRUE + has_digitigrade = TRUE + +//Female undergarment bottoms + +/datum/sprite_accessory/underwear/panties + name = "Panties (Greyscale)" + icon_state = "panties" + +/datum/sprite_accessory/underwear/pantiesalt + name = "Alt Panties (Greyscale)" + icon_state = "panties_alt" + +/datum/sprite_accessory/underwear/swimming + name = "Swimming Panties (Greyscale)" + icon_state = "swimming" + +/datum/sprite_accessory/underwear/thong + name = "Thong (Greyscale)" + icon_state = "thong" + +/datum/sprite_accessory/underwear/boyshorts + name = "Boyshorts (Greyscale)" + icon_state = "boyshorts" + has_digitigrade = TRUE + +/datum/sprite_accessory/underwear/catgirl + name = "Catgirl Panties (Greyscale)" + icon_state = "panties_cat" + +/datum/sprite_accessory/underwear/beekini + name = "Bee-Kini Bottoms" + icon_state = "beekini" + use_static = TRUE diff --git a/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_socks.dm b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_socks.dm new file mode 100644 index 000000000000..ab7a030e6712 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_socks.dm @@ -0,0 +1,124 @@ +/datum/sprite_accessory/socks + icon = 'icons/mob/clothing/underwear/underwear_socks.dmi' + +/datum/sprite_accessory/socks/nude + name = "Nude" + icon_state = null + +/datum/sprite_accessory/socks/socks_short + name = "Short Socks (Greyscale)" + icon_state = "short" + +/datum/sprite_accessory/socks/socks_norm + name = "Socks (Greyscale)" + icon_state = "norm" + +/datum/sprite_accessory/socks/socks_knee + name = "Knee-High Socks (Greyscale)" + icon_state = "knee" + +/datum/sprite_accessory/socks/socks_thigh + name = "Thigh-High Socks (Greyscale)" + icon_state = "thigh" + +/datum/sprite_accessory/socks/striped_knee + name = "Striped Knee-Highs (Greyscale)" + icon_state = "striped_knee" + +/datum/sprite_accessory/socks/striped_thigh + name = "Striped Thigh-Highs (Greyscale)" + icon_state = "striped_thigh" + +/datum/sprite_accessory/socks/bee_knee + name = "Bee Knee-Highs" + icon_state = "knee_bee" + use_static = TRUE + +/datum/sprite_accessory/socks/bee_thigh + name = "Bee Thigh-Highs" + icon_state = "thigh_bee" + use_static = TRUE + +/datum/sprite_accessory/socks/inteq + name = "Inteq Thigh-Highs" + icon_state = "inteq" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings + name = "Black Stockings" + icon_state = "stocking" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_programmer + name = "Programmer Thigh-Highs" + icon_state = "thigh_coder" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_puce + name = "Pucegrammer Thigh-Highs" + icon_state = "thigh_puce" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_blue + name = "Blue Thigh-Highs" + icon_state = "thigh_blue" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_green + name = "Green Thigh-Highs" + icon_state = "thigh_green" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_cyan + name = "Cyan Thigh-Highs" + icon_state = "thigh_purple" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_cyan + name = "Orange Thigh-Highs" + icon_state = "thigh_orange" + use_static = TRUE + +/datum/sprite_accessory/socks/stockings_cyan + name = "Yellow Thigh-Highs" + icon_state = "thigh_yellow" + use_static = TRUE + +/datum/sprite_accessory/socks/pantyhose_short + name = "Knee Pantyhose" + icon_state = "knee_thin" + +/datum/sprite_accessory/socks/pantyhose_short + name = "Thigh Pantyhose" + icon_state = "thigh_thin" + +/datum/sprite_accessory/socks/pantyhose_waist + name = "High Pantyhose" + icon_state = "pantyhose" + +//Pride Socks todo:finish the damn sprites and digi variants. ugh + +/datum/sprite_accessory/socks/lesbian + name = "Thigh-High (Lesbian)" + icon_state = "thigh_les" + use_static = TRUE + +/datum/sprite_accessory/socks/bisexual + name = "Thigh-High (Bi)" + icon_state = "thigh_bi" //:wegottastudythis: + use_static = TRUE + +/datum/sprite_accessory/socks/transgender + name = "Thigh-High (Trans)" + icon_state = "thigh_trans" + use_static = TRUE + +/datum/sprite_accessory/socks/nonbinary + name = "Thigh-High (Nonbinary)" + icon_state = "thigh_enby" + use_static = TRUE + +/datum/sprite_accessory/socks/asexual + name = "Thigh-High (Asexual)" + icon_state = "thigh_ace" + use_static = TRUE diff --git a/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm new file mode 100644 index 000000000000..39f26ed52d6d --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm @@ -0,0 +1,141 @@ +/datum/sprite_accessory/undershirt + icon = 'icons/mob/clothing/underwear/underwear_torso.dmi' + //freedom + gender = NEUTER + +/datum/sprite_accessory/undershirt/nude + name = "Nude" + icon_state = null + +//Start normal shirts + +//Female undergarment tops + +/datum/sprite_accessory/undershirt/bra + name = "Bra" + icon_state = "bra" + +/datum/sprite_accessory/undershirt/altbra + name = "Bra (Alt)" + icon_state = "bra_alt" + +/datum/sprite_accessory/undershirt/sportsbra + name = "Sports Bra" + icon_state = "bra_sports" + +/datum/sprite_accessory/undershirt/sportsbraalt + name = "Sports Bra (Alt)" + icon_state = "bra_sports_alt" + +/datum/sprite_accessory/undershirt/swimming + name = "Swimming Top" + icon_state = "swimming" + +/datum/sprite_accessory/undershirt/straplessbra + name = "Strapless Bra" + icon_state = "bra_strapless" + +/datum/sprite_accessory/undershirt/straplessbralt + name = "Strapless Bra (Alt)" + icon_state = "bra_strapless_alt" + +/datum/sprite_accessory/undershirt/halterbra + name = "Halter Bra" + icon_state = "bra_halter" + +/datum/sprite_accessory/undershirt/catgirl + name = "Catgirl Bra" //The balance must be preserved + icon_state = "bra_cat" + +/datum/sprite_accessory/undershirt/beekini + name = "Bee-Kini Top" + icon_state = "beekini" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tshirt + name = "T-Shirt (Greyscale)" + icon_state = "tshirt" + +/datum/sprite_accessory/undershirt/polo + name = "Polo Shirt (Greyscale)" + icon_state = "polo" + +/datum/sprite_accessory/undershirt/shortsleeve + name = "Short-sleeved shirt (Greyscale)" + icon_state = "shortsleeve" + +/datum/sprite_accessory/undershirt/tanktop + name = "Tank Top (Greyscale)" + icon_state = "tank" + +/datum/sprite_accessory/undershirt/oneshoulder + name = "One Shoulder (Greyscale)" + icon_state = "oneshoulder" + +/datum/sprite_accessory/undershirt/turtle + name = "Turtleneck (Greyscale)" + icon_state = "turtle" + +/datum/sprite_accessory/undershirt/turtle_sleeveless + name = "Sleeveless Turtleneck (Greyscale)" + icon_state = "turtle_sleeveless" + +/datum/sprite_accessory/undershirt/buttondown + name = "Button-down Shirt (Greyscale)" + icon_state = "button" + +/datum/sprite_accessory/undershirt/buttondown_short + name = "Short Sleeve Button-Down (Greyscale)" + icon_state = "button_short" + +/datum/sprite_accessory/undershirt/band + name = "T-Shirt (Band)" + icon_state = "band" + use_static = TRUE + +/datum/sprite_accessory/undershirt/heart + name = "T-Shirt (Heart)" + icon_state = "heart" + use_static = TRUE + +/datum/sprite_accessory/undershirt/peace + name = "T-Shirt (Peace)" + icon_state = "peace" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tankfire + name = "Tank Top (Fire)" + icon_state = "tank_fire" + use_static = TRUE + +// Pride shirts + +/datum/sprite_accessory/undershirt/tank_les + name = "Tank Top (Pride)" + icon_state = "pride" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tank_les + name = "Tank Top (Lesbian)" + icon_state = "les" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tank_bi + name = "Tank Top (Bi)" //we gotta study this + icon_state = "bi" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tank_trans + name = "Tank Top (Trans)" + icon_state = "trans" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tank_enby + name = "Tank Top (Nonbinary)" + icon_state = "enby" + use_static = TRUE + +/datum/sprite_accessory/undershirt/tank_ace + name = "Tank Top (Asexual)" + icon_state = "ace" + use_static = TRUE diff --git a/code/modules/mob/dead/new_player/sprite_accessories/vox.dm b/code/modules/mob/dead/new_player/sprite_accessories/vox.dm new file mode 100644 index 000000000000..67ef30674c04 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/vox.dm @@ -0,0 +1,111 @@ +//Vox mutant parts + +//Start head quills + +/datum/sprite_accessory/vox_head_quills + icon = 'icons/mob/species/vox/vox_quills.dmi' + color_src = null + +/datum/sprite_accessory/vox_head_quills/none + name = "None" + +/datum/sprite_accessory/vox_head_quills/wildflower + name = "Wildflower" + icon_state = "wildflower" + +/datum/sprite_accessory/vox_head_quills/augmenter + name = "Augmenter" + icon_state = "augmenter" + +/datum/sprite_accessory/vox_head_quills/shaggy + name = "Shaggy" + icon_state = "shaggy" + +/datum/sprite_accessory/vox_head_quills/mange + name = "Mange" + icon_state = "mange" + +/datum/sprite_accessory/vox_head_quills/ponytail + name = "Ponytail" + icon_state = "ponytail" + +/datum/sprite_accessory/vox_head_quills/rows + name = "Rows" + icon_state = "rows" + +/datum/sprite_accessory/vox_head_quills/cropped + name = "Cropped" + icon_state = "cropped" + +/datum/sprite_accessory/vox_head_quills/surf + name = "Surf" + icon_state = "surf" + +/datum/sprite_accessory/vox_head_quills/nights + name = "Nights" + icon_state = "nights" + +/datum/sprite_accessory/vox_head_quills/horns + name = "Horns" + icon_state = "horns" + +/datum/sprite_accessory/vox_head_quills/longhawk + name = "Longhawk" + icon_state = "longhawk" + +/datum/sprite_accessory/vox_head_quills/mohawk + name = "Mohawk" + icon_state = "mohawk" + +/datum/sprite_accessory/vox_head_quills/yasu + name = "Yasu" + icon_state = "yasu" + +/datum/sprite_accessory/vox_head_quills/afro + name = "Afro" + icon_state = "afro" + +/datum/sprite_accessory/vox_head_quills/kingly + name = "Kingly" + icon_state = "kingly" + +/datum/sprite_accessory/vox_head_quills/shortquills + name = "Short Quills" + icon_state = "shortquills" + +//Start neck quills + +/datum/sprite_accessory/vox_neck_quills + icon = 'icons/mob/species/vox/vox_quills.dmi' + color_src = null + +/datum/sprite_accessory/vox_neck_quills/none + name = "None" + +/datum/sprite_accessory/vox_neck_quills/beard + name = "Beard" + icon_state = "beard" + +/datum/sprite_accessory/vox_neck_quills/fuu + name = "Fuu" + icon_state = "fuu" + +/datum/sprite_accessory/vox_neck_quills/colonal + name = "Colonal" + icon_state = "colonal" + +/datum/sprite_accessory/vox_neck_quills/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/vox_neck_quills/tailfeather //...technically neck + name = "Tailfeather" + icon_state = "tailfeather" + +/datum/sprite_accessory/vox_neck_quills/ruffbeard + name = "Ruffbeard" + icon_state = "ruffbeard" + +/datum/sprite_accessory/vox_neck_quills/ruffhawk + name = "Ruffhawk" + icon_state = "ruffhawk" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/wings.dm b/code/modules/mob/dead/new_player/sprite_accessories/wings.dm new file mode 100644 index 000000000000..8e5dd846b475 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/wings.dm @@ -0,0 +1,100 @@ +//Wings for various species + +/datum/sprite_accessory/wings/none + name = "None" + icon_state = "none" + +/datum/sprite_accessory/wings + icon = 'icons/mob/clothing/wings.dmi' + +/datum/sprite_accessory/wings_open + icon = 'icons/mob/clothing/wings.dmi' + +//Human/Misc wings + +/datum/sprite_accessory/wings/angel + name = "Angel" + icon_state = "angel" + color_src = 0 + dimension_x = 46 + center = TRUE + dimension_y = 34 + locked = TRUE + +/datum/sprite_accessory/wings_open/angel + name = "Angel" + icon_state = "angel" + color_src = 0 + dimension_x = 46 + center = TRUE + dimension_y = 34 + +//Sarathi wings + +/datum/sprite_accessory/wings/dragon + name = "Dragon" + icon_state = "dragon" + dimension_x = 96 + center = TRUE + dimension_y = 32 + locked = TRUE + +/datum/sprite_accessory/wings_open/dragon + name = "Dragon" + icon_state = "dragon" + dimension_x = 96 + center = TRUE + dimension_y = 32 + +/datum/sprite_accessory/wings/megamoth + name = "Megamoth" + icon_state = "megamoth" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 + locked = TRUE + +/datum/sprite_accessory/wings_open/megamoth + name = "Megamoth" + icon_state = "megamoth" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 + +/datum/sprite_accessory/wings/mothra + name = "Mothra" + icon_state = "mothra" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 + locked = TRUE + +/datum/sprite_accessory/wings_open/mothra + name = "Mothra" + icon_state = "mothra" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 + +//Robotic species wings + +/datum/sprite_accessory/wings/robotic + name = "Robotic" + icon_state = "robotic" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 + locked = TRUE + +/datum/sprite_accessory/wings_open/robotic + name = "Robotic" + icon_state = "robotic" + color_src = 0 + dimension_x = 96 + center = TRUE + dimension_y = 32 diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 87026d5531d1..5b638d330690 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -40,7 +40,9 @@ var/underwear = "Nude" //Which underwear the player wants var/underwear_color = "000" //underwear color, what it sounds like var/undershirt = "Nude" //Which undershirt the player wants + var/undershirt_color = "000" //undershirt color var/socks = "Nude" //Which socks the player wants + var/socks_color = "000" //socks color, who could guess var/backpack = DBACKPACK //Which backpack type the player has chosen. var/jumpsuit_style = PREF_SUIT //suit/skirt var/exowear = PREF_EXOWEAR //exowear diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 7c197e5b1029..2f9814112711 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -177,5 +177,7 @@ destination.underwear = underwear destination.underwear_color = underwear_color destination.undershirt = undershirt + destination.undershirt_color = undershirt_color destination.socks = socks + destination.socks_color = socks_color destination.jumpsuit_style = jumpsuit_style diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index bf5f18fb788d..abb67dbb997e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -758,9 +758,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!(NO_UNDERWEAR in species_traits)) if(H.underwear) var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[H.underwear] - var/mutable_appearance/underwear_overlay if(underwear) - underwear_overlay = mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) + var/mutable_appearance/underwear_overlay + var/icon_state = underwear.icon_state + var/icon_file = underwear.icon + if((H.dna.species.bodytype & BODYTYPE_KEPORI)) + icon_file = KEPORI_UNDERWEAR_LEGS_PATH + if(underwear.has_digitigrade && (H.dna.species.bodytype & BODYTYPE_DIGITIGRADE)) + icon_state += "_d" + underwear_overlay = mutable_appearance(icon_file, icon_state, -BODY_LAYER) if(!underwear.use_static) underwear_overlay.color = "#" + H.underwear_color standing += underwear_overlay @@ -768,15 +774,29 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.undershirt) var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[H.undershirt] if(undershirt) - if(H.dna.species.sexes && H.gender == FEMALE) - standing += wear_female_version(undershirt.icon_state, undershirt.icon, BODY_LAYER) - else - standing += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) - - if(H.socks && H.num_legs >= 2 && !(H.dna.species.bodytype & BODYTYPE_DIGITIGRADE) && !(NOSOCKS in species_traits)) + var/mutable_appearance/undershirt_overlay + var/icon_file = undershirt.icon + if((H.dna.species.bodytype & BODYTYPE_KEPORI)) + icon_file = KEPORI_UNDERWEAR_TORSO_PATH + undershirt_overlay = mutable_appearance(icon_file, undershirt.icon_state, -BODY_LAYER) + if(!undershirt.use_static) + undershirt_overlay.color = "#" + H.undershirt_color + standing += undershirt_overlay + + if(H.socks && H.num_legs >= 2 && !(NOSOCKS in species_traits)) var/datum/sprite_accessory/socks/socks = GLOB.socks_list[H.socks] if(socks) - standing += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) + var/mutable_appearance/socks_overlay + var/icon_state = socks.icon_state + var/icon_file = socks.icon + if((H.dna.species.bodytype & BODYTYPE_DIGITIGRADE)) + icon_state += "_d" + if((H.dna.species.bodytype & BODYTYPE_KEPORI)) + icon_file = KEPORI_UNDERWEAR_SOCKS_PATH + socks_overlay = mutable_appearance(icon_file, icon_state, -BODY_LAYER) + if(!socks.use_static) + socks_overlay.color = "#" + H.socks_color + standing += socks_overlay if(standing.len) H.overlays_standing[BODY_LAYER] = standing @@ -946,8 +966,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) S = GLOB.moth_markings_list[H.dna.features["moth_markings"]] if("squid_face") S = GLOB.squid_face_list[H.dna.features["squid_face"]] - if("caps") - S = GLOB.caps_list[H.dna.features["caps"]] if("ipc_screen") S = GLOB.ipc_screens_list[H.dna.features["ipc_screen"]] if("ipc_antenna") diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index be20a9a5e69d..5b72d80d1125 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -559,12 +559,11 @@ There are several things that need to be remembered: apply_overlay(LEGCUFF_LAYER) throw_alert("legcuffed", /atom/movable/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] - if(!female_clothing_icon) //Create standing/laying icons if they don't exist - generate_female_clothing(index,t_color,icon,type) - return mutable_appearance(GLOB.female_clothing_icons[t_color], layer = -layer) +/* Here lies female masking overlay, + * You broke almost constantly, + * You broke any time you were touched, + * You will not be missed, goodbye. + */ /obj/item/proc/wear_species_version(file2use, state2use, layer, datum/species/mob_species) if(!slot_flags) // If it's not wearable, don't try @@ -688,13 +687,10 @@ default_icon_file: The icon file to draw states from if no other icon file is sp isinhands: If true then alternate_worn_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 -generate/load female uniform sprites matching all previously decided variables - ^this female part sucks and will be fully ripped out ideally */ -/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null, override_file = null, datum/species/mob_species = null, direction = null) +/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, override_state = null, override_file = null, datum/species/mob_species = null, direction = null) // WS Edit Start - Worn Icon State var/t_state @@ -712,8 +708,6 @@ generate/load female uniform sprites matching all previously decided variables var/mutable_appearance/standing if(mob_species && (mob_species.species_clothing_path || ("[layer2use]" in mob_species.offset_clothing))) standing = wear_species_version(file2use, t_state, layer2use, mob_species) - else if(femaleuniform) - standing = wear_female_version(t_state, file2use, layer2use, femaleuniform) //should layer2use be in sync with the adjusted value below? needs testing - shiz if(!standing) standing = mutable_appearance(file2use, t_state, -layer2use) diff --git a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm index 2f98458f11aa..e1752f0448d8 100644 --- a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm @@ -31,10 +31,10 @@ /obj/item/bodypart/leg/left/lizard/digitigrade icon = 'icons/mob/species/lizard/bodyparts.dmi' - icon_state = "digitigrade_l_leg" + icon_state = "lizard_l_leg_digitigrade" bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE /obj/item/bodypart/leg/right/lizard/digitigrade icon = 'icons/mob/species/lizard/bodyparts.dmi' - icon_state = "digitigrade_r_leg" + icon_state = "lizard_r_leg_digitigrade" bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 4ccef6be023f..0bd9ed46d1a9 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -140,7 +140,7 @@ /obj/item/organ/eyes/robotic name = "robotic eyes" - icon_state = "cybernetic_eyeballs" + icon_state = "robotic_eyes" desc = "A very basic set of optical sensors with no extra vision modes or functions." status = ORGAN_ROBOTIC organ_flags = ORGAN_SYNTHETIC @@ -160,6 +160,7 @@ /obj/item/organ/eyes/robotic/xray name = "\improper X-ray eyes" desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." + icon_state = "robotic_eyes_u2" eye_color = "000" see_in_dark = 8 sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS @@ -167,6 +168,7 @@ /obj/item/organ/eyes/robotic/thermals name = "thermal eyes" desc = "These cybernetic eye implants will give you thermal vision. Vertical slit pupil included." + icon_state = "robotic_eyes_u" eye_color = "FC0" sight_flags = SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index b877baec2326..264574c476e4 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -28,15 +28,12 @@ var/useable = TRUE var/list/food_reagents = list(/datum/reagent/consumable/nutriment = 5) - - //WS Begin - IPCS var/vital = 0 //Was this organ implanted/inserted/etc, if true will not be removed during species change. var/external = FALSE //whether to call Remove() when qdeling the organ. var/remove_on_qdel = TRUE var/synthetic = FALSE // To distinguish between organic and synthetic organs - //WS End /obj/item/organ/Initialize() . = ..() diff --git a/code/modules/surgery/organs/tails.dm b/code/modules/surgery/organs/tails.dm index 1f5544b8c2de..f587a26d8404 100644 --- a/code/modules/surgery/organs/tails.dm +++ b/code/modules/surgery/organs/tails.dm @@ -43,6 +43,7 @@ /obj/item/organ/tail/lizard name = "\improper Sarathi tail" desc = "A severed Sarathi's tail. Can't they regrow these...?" + icon_state = "severedlizard" color = "#116611" tail_type = "Smooth" var/spines = "None" @@ -112,6 +113,7 @@ /obj/item/organ/tail/fox name = "fox tail" desc = "A severed fox tail. Sad." + icon_state = "severedfox" tail_type = "Fox" /obj/item/organ/tail/fox/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index c486511f4dca..159bad0a2910 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index 4fc44cccf0f2..b046a32634fa 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/suits/hooded.dmi b/icons/mob/clothing/suits/hooded.dmi index 4ee800180dc5..18ae544a659d 100644 Binary files a/icons/mob/clothing/suits/hooded.dmi and b/icons/mob/clothing/suits/hooded.dmi differ diff --git a/icons/mob/clothing/under/color.dmi b/icons/mob/clothing/under/color.dmi index a7238264b43c..8bda1f9c7d6c 100644 Binary files a/icons/mob/clothing/under/color.dmi and b/icons/mob/clothing/under/color.dmi differ diff --git a/icons/mob/clothing/under/masking_helpers.dmi b/icons/mob/clothing/under/masking_helpers.dmi deleted file mode 100644 index 134e0e4b50a0..000000000000 Binary files a/icons/mob/clothing/under/masking_helpers.dmi and /dev/null differ diff --git a/icons/mob/clothing/under/medical.dmi b/icons/mob/clothing/under/medical.dmi index ca492be6e7fa..f7fd1a137708 100644 Binary files a/icons/mob/clothing/under/medical.dmi and b/icons/mob/clothing/under/medical.dmi differ diff --git a/icons/mob/clothing/under/shorts_pants.dmi b/icons/mob/clothing/under/shorts_pants.dmi index 6c90e70c6747..4a5978b9f7f3 100644 Binary files a/icons/mob/clothing/under/shorts_pants.dmi and b/icons/mob/clothing/under/shorts_pants.dmi differ diff --git a/icons/mob/clothing/under/trackpants.dmi b/icons/mob/clothing/under/trackpants.dmi deleted file mode 100644 index ab1b63baca7e..000000000000 Binary files a/icons/mob/clothing/under/trackpants.dmi and /dev/null differ diff --git a/icons/mob/clothing/underwear.dmi b/icons/mob/clothing/underwear.dmi deleted file mode 100644 index 05334237ceb8..000000000000 Binary files a/icons/mob/clothing/underwear.dmi and /dev/null differ diff --git a/icons/mob/clothing/underwear/species/underwear_legs_kepori.dmi b/icons/mob/clothing/underwear/species/underwear_legs_kepori.dmi new file mode 100644 index 000000000000..aa9c16beb0ab Binary files /dev/null and b/icons/mob/clothing/underwear/species/underwear_legs_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi b/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi new file mode 100644 index 000000000000..0f4fed39ebcb Binary files /dev/null and b/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi b/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi new file mode 100644 index 000000000000..cdaa782b64d7 Binary files /dev/null and b/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/underwear_legs.dmi b/icons/mob/clothing/underwear/underwear_legs.dmi new file mode 100644 index 000000000000..7449094f5389 Binary files /dev/null and b/icons/mob/clothing/underwear/underwear_legs.dmi differ diff --git a/icons/mob/clothing/underwear/underwear_socks.dmi b/icons/mob/clothing/underwear/underwear_socks.dmi new file mode 100644 index 000000000000..bc7faddc5479 Binary files /dev/null and b/icons/mob/clothing/underwear/underwear_socks.dmi differ diff --git a/icons/mob/clothing/underwear/underwear_torso.dmi b/icons/mob/clothing/underwear/underwear_torso.dmi new file mode 100644 index 000000000000..5fa4ac787969 Binary files /dev/null and b/icons/mob/clothing/underwear/underwear_torso.dmi differ diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi index c8d6acff0593..41a801afb82f 100644 Binary files a/icons/mob/mutant_bodyparts.dmi and b/icons/mob/mutant_bodyparts.dmi differ diff --git a/icons/mob/species/lizard/bodyparts.dmi b/icons/mob/species/lizard/bodyparts.dmi index fdb74047e79a..69d3c24b580f 100644 Binary files a/icons/mob/species/lizard/bodyparts.dmi and b/icons/mob/species/lizard/bodyparts.dmi differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 31c79558efa7..5ad8a47ceb9b 100644 Binary files a/icons/mob/species/misc/digitigrade.dmi and b/icons/mob/species/misc/digitigrade.dmi differ diff --git a/icons/obj/atmos.dmi b/icons/obj/atmos.dmi index 9ac29ff97c41..94df693238d0 100644 Binary files a/icons/obj/atmos.dmi and b/icons/obj/atmos.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index fbe4b84f83a7..91c6c8fafec5 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 1019b682a540..78c5a1fb815c 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits/hooded.dmi b/icons/obj/clothing/suits/hooded.dmi index 7c3fd301a0cc..5ced5746e4b7 100644 Binary files a/icons/obj/clothing/suits/hooded.dmi and b/icons/obj/clothing/suits/hooded.dmi differ diff --git a/icons/obj/clothing/under/medical.dmi b/icons/obj/clothing/under/medical.dmi index 0b494151455d..47504e0eae56 100644 Binary files a/icons/obj/clothing/under/medical.dmi and b/icons/obj/clothing/under/medical.dmi differ diff --git a/icons/obj/clothing/under/shorts_pants.dmi b/icons/obj/clothing/under/shorts_pants.dmi index ae010c4578bd..948fc01d4c83 100644 Binary files a/icons/obj/clothing/under/shorts_pants.dmi and b/icons/obj/clothing/under/shorts_pants.dmi differ diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index b2d5beaa2c6c..89c576fb6069 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index b662141b0c0a..1fa68293cd4a 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/shiptest.dme b/shiptest.dme index e2469b637104..e5ef1b26abde 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1958,6 +1958,7 @@ #include "code\modules\clothing\suits\bio.dm" #include "code\modules\clothing\suits\chaplainsuits.dm" #include "code\modules\clothing\suits\cloaks.dm" +#include "code\modules\clothing\suits\hoodies.dm" #include "code\modules\clothing\suits\jobs.dm" #include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\miscellaneous.dm" @@ -2391,7 +2392,22 @@ #include "code\modules\mob\dead\new_player\poll.dm" #include "code\modules\mob\dead\new_player\preferences_setup.dm" #include "code\modules\mob\dead\new_player\ship_select.dm" -#include "code\modules\mob\dead\new_player\sprite_accessories.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\_sprite_accessories.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\ears.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\elzuose.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\facial_hair.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\hair.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\ipc.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\kepori.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\lizard.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\moth.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\rachnid.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\vox.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\wings.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\underwear\underwear_legs.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\underwear\underwear_socks.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\underwear\underwear_torso.dm" #include "code\modules\mob\dead\observer\login.dm" #include "code\modules\mob\dead\observer\logout.dm" #include "code\modules\mob\dead\observer\notificationprefs.dm" @@ -3060,9 +3076,9 @@ #include "code\modules\reagents\reagent_containers\chem_pack.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" -#include "code\modules\reagents\reagent_containers\jug.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\hypovial.dm" +#include "code\modules\reagents\reagent_containers\jug.dm" #include "code\modules\reagents\reagent_containers\maunamug.dm" #include "code\modules\reagents\reagent_containers\medigel.dm" #include "code\modules\reagents\reagent_containers\mortar.dm"