diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 9e32da51514..5409069747a 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -46,7 +46,7 @@ return pick(valid_picks) -/proc/random_hair_style(var/gender, species = SPECIES_HUMAN, var/datum/robolimb/robohead, var/mob/living/carbon/human/H) +/proc/random_hair_style(gender, species = SPECIES_HUMAN, datum/robolimb/robohead, mob/living/carbon/human/H) var/h_style = "Bald" var/list/valid_hairstyles = list() @@ -64,7 +64,7 @@ if(hairstyle == "Bald") //Just in case. valid_hairstyles += hairstyle continue - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(gender == S.unsuitable_gender) continue if(species == SPECIES_MACNINEPERSON) //If the user is a species who can have a robotic head... if(!robohead) @@ -84,7 +84,7 @@ return h_style -/proc/random_facial_hair_style(var/gender, species = SPECIES_HUMAN, var/datum/robolimb/robohead) +/proc/random_facial_hair_style(gender, species = SPECIES_HUMAN, datum/robolimb/robohead) var/f_style = "Shaved" var/list/valid_facial_hairstyles = list() for(var/facialhairstyle in GLOB.facial_hair_styles_list) @@ -93,7 +93,7 @@ if(facialhairstyle == "Shaved") //Just in case. valid_facial_hairstyles += facialhairstyle continue - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(gender == S.unsuitable_gender) continue if(species == SPECIES_MACNINEPERSON) //If the user is a species who can have a robotic head... if(!robohead) @@ -128,7 +128,7 @@ return ha_style -/proc/random_marking_style(var/location = "body", species = SPECIES_HUMAN, var/datum/robolimb/robohead, var/body_accessory, var/alt_head) +/proc/random_marking_style(location = "body", species = SPECIES_HUMAN, datum/robolimb/robohead, body_accessory, alt_head, gender = NEUTER) var/m_style = "None" var/list/valid_markings = list() for(var/marking in GLOB.marking_styles_list) @@ -136,9 +136,11 @@ if(S.name == "None") valid_markings += marking continue - if(S.marking_location != location) //If the marking isn't for the location we desire, skip. + if(S.marking_location != location) // If the marking isn't for the location we desire, skip. continue - if(!(species in S.species_allowed)) //If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. + if(gender == S.unsuitable_gender) // If the marking isn't allowed for the user's gender, skip. + continue + if(!(species in S.species_allowed)) // If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. continue if(location == "tail") if(!body_accessory) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 05e0d6e2134..473d6d5f907 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -1573,7 +1573,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts m_colours["head"] = rand_hex_color() if("m_style_body") if(S.bodyflags & HAS_BODY_MARKINGS) //Species with body markings. - m_styles["body"] = random_marking_style("body", species) + m_styles["body"] = random_marking_style("body", species, gender = src.gender) if("m_body_colour") if(S.bodyflags & HAS_BODY_MARKINGS) //Species with body markings. m_colours["body"] = rand_hex_color() @@ -1663,7 +1663,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts m_colours["head"] = "#000000" if(NS.bodyflags & HAS_BODY_MARKINGS) //Species with body markings/tattoos. - m_styles["body"] = random_marking_style("body", species) + m_styles["body"] = random_marking_style("body", species, gender = src.gender) else m_styles["body"] = "None" m_colours["body"] = "#000000" @@ -1920,6 +1920,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts valid_markings["None"] = GLOB.marking_styles_list["None"] for(var/markingstyle in GLOB.marking_styles_list) var/datum/sprite_accessory/M = GLOB.marking_styles_list[markingstyle] + if(gender == M.unsuitable_gender) + continue if(!(species in M.species_allowed)) continue if(M.marking_location != "body") @@ -2010,9 +2012,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts if(facialhairstyle == "Shaved") //Just in case. valid_facial_hairstyles += facialhairstyle continue - if(gender == MALE && SA.gender == FEMALE) - continue - if(gender == FEMALE && SA.gender == MALE) + if(gender == SA.unsuitable_gender) continue if(S.bodyflags & ALL_RPARTS) //Species that can use prosthetic heads. var/head_model @@ -2039,9 +2039,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts var/list/valid_underwear = list() for(var/underwear in GLOB.underwear_list) var/datum/sprite_accessory/SA = GLOB.underwear_list[underwear] - if(gender == MALE && SA.gender == FEMALE) - continue - if(gender == FEMALE && SA.gender == MALE) + if(gender == SA.unsuitable_gender) continue if(!(species in SA.species_allowed)) continue @@ -2061,9 +2059,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts var/list/valid_undershirts = list() for(var/undershirt in GLOB.undershirt_list) var/datum/sprite_accessory/SA = GLOB.undershirt_list[undershirt] - if(gender == MALE && SA.gender == FEMALE) - continue - if(gender == FEMALE && SA.gender == MALE) + if(gender == MALE && SA.unsuitable_gender) continue if(!(species in SA.species_allowed)) continue @@ -2083,9 +2079,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts var/list/valid_sockstyles = list() for(var/sockstyle in GLOB.socks_list) var/datum/sprite_accessory/SA = GLOB.socks_list[sockstyle] - if(gender == MALE && SA.gender == FEMALE) - continue - if(gender == FEMALE && SA.gender == MALE) + if(gender == SA.unsuitable_gender) continue if(!(species in SA.species_allowed)) continue @@ -2394,6 +2388,16 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts gender = FEMALE else gender = MALE + + var/datum/robolimb/robohead + if(S.bodyflags & ALL_RPARTS) + var/head_model = "[!rlimb_data["head"] ? "Morpheus Cyberkinetics" : rlimb_data["head"]]" + robohead = GLOB.all_robolimbs[head_model] + + h_style = random_hair_style(gender, species, robohead) + f_style = random_facial_hair_style(gender, species, robohead) + + m_styles["body"] = random_marking_style("body", species, gender = src.gender) underwear = random_underwear(gender) if("hear_adminhelps") diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index d18b825cfc0..e94f2d3a65f 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -11,13 +11,18 @@ gender = new_gender var/datum/sprite_accessory/hair/current_hair = GLOB.hair_styles_full_list[H.h_style] - if(current_hair.gender != NEUTER && current_hair.gender != gender) + if(current_hair.unsuitable_gender == gender) reset_head_hair() var/datum/sprite_accessory/hair/current_fhair = GLOB.facial_hair_styles_list[H.f_style] - if(current_fhair.gender != NEUTER && current_fhair.gender != gender) + if(current_fhair.unsuitable_gender == gender) reset_facial_hair() + var/body_marking = m_styles["body"] + var/datum/sprite_accessory/current_bmarking = GLOB.marking_styles_list[body_marking] + if(current_bmarking.unsuitable_gender == gender) + reset_markings("body") + if(update_dna) update_dna() sync_organ_dna(assimilate = 0) @@ -378,7 +383,7 @@ if(hairstyle == "Bald") //Just in case. valid_hairstyles += hairstyle continue - if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) + if(H.gender == S.unsuitable_gender) continue if(H.dna.species.bodyflags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = GLOB.all_robolimbs[H.model] @@ -406,7 +411,7 @@ if(facialhairstyle == "Shaved") //Just in case. valid_facial_hairstyles += facialhairstyle continue - if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) + if(H.gender == S.unsuitable_gender) continue if(H.dna.species.bodyflags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = GLOB.all_robolimbs[H.model] @@ -438,7 +443,7 @@ return sortTim(valid_head_accessories, cmp = /proc/cmp_text_asc) -/mob/living/carbon/human/proc/generate_valid_markings(var/location = "body") +/mob/living/carbon/human/proc/generate_valid_markings(location = "body") var/list/valid_markings = new() var/obj/item/organ/external/head/H = get_organ(BODY_ZONE_HEAD) var/obj/item/organ/external/tail/bodypart_tail = get_organ(BODY_ZONE_TAIL) @@ -452,7 +457,11 @@ if(S.name == "None") valid_markings += marking continue - if(S.marking_location != location) //If the marking isn't for the location we desire, skip. + if(S.marking_location != location) //If the marking isn't for the location we desire, skip. + continue + if(gender == S.unsuitable_gender) // If the marking isn't allowed for the user's gender, skip. + continue + if(!(dna.species.name in S.species_allowed)) //If the user is not of a species the marking style allows, skip it. Otherwise, add it to the list. continue if(location == "tail") if(!(bodypart_tail.dna.species.name in S.species_allowed)) //If the user is not of a species the marking style allows, skip it. Otherwise, add it to the list. @@ -463,8 +472,6 @@ else if(!S.tails_allowed || !(bodypart_tail.body_accessory.name in S.tails_allowed)) continue - else if(!(dna.species.name in S.species_allowed)) //If the user is not of a species the marking style allows, skip it. Otherwise, add it to the list. - continue if(location == "head") var/datum/sprite_accessory/body_markings/head/M = GLOB.marking_styles_list[S.name] if(H.dna.species.bodyflags & ALL_RPARTS) //If the user is a species that can have a robotic head... diff --git a/code/modules/mob/living/carbon/human/body_accessories.dm b/code/modules/mob/living/carbon/human/body_accessories.dm index aae8726b9c5..6ba77904998 100644 --- a/code/modules/mob/living/carbon/human/body_accessories.dm +++ b/code/modules/mob/living/carbon/human/body_accessories.dm @@ -82,12 +82,6 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list()) return ..() //Tajaran -/datum/body_accessory/tail/wingler_tail // Jay wingler fluff tail - name = "Striped Tail" - icon_state = "winglertail" - animated_icon_state = "winglertail_a" - allowed_species = list(SPECIES_TAJARAN) - /datum/body_accessory/tail/leopard_tail name = "Leopard Tail" icon_state = "leopard" diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index c6505a990e3..c24b43186e5 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -33,7 +33,7 @@ m_styles["head"] = random_marking_style("head", species, robohead, null, alt_head) m_colours["head"] = randomize_skin_color(1) if(S.bodyflags & HAS_BODY_MARKINGS) - m_styles["body"] = random_marking_style("body", species) + m_styles["body"] = random_marking_style("body", species, gender = src.gender) m_colours["body"] = randomize_skin_color(1) if(S.bodyflags & HAS_TAIL_MARKINGS) //Species with tail markings. m_styles["tail"] = random_marking_style("tail", species, null, body_accessory) diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm b/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm index f65c15392b1..ff205c7ee5f 100644 --- a/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm @@ -10,7 +10,7 @@ icon = 'icons/mob/human_face.dmi' // Special case, use the bald icon in human face name = "Shaved" icon_state = "bald" - gender = NEUTER + unsuitable_gender = NONE species_allowed = list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_VOX, SPECIES_DIONA, SPECIES_KIDAN, SPECIES_GREY, SPECIES_VULPKANIN, SPECIES_SLIMEPERSON) /datum/sprite_accessory/facial_hair/watson diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm index e45aebf693f..57e0f7a3e71 100644 --- a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm @@ -51,13 +51,13 @@ /datum/sprite_accessory/hair/ponytail1 name = "Ponytail male" icon_state = "ponytailm" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/ponytail2 name = "Ponytail female" icon_state = "ponytailf" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/ponytail3 name = "Ponytail alt" @@ -67,19 +67,19 @@ /datum/sprite_accessory/hair/sideponytail name = "Side Ponytail" icon_state = "stail" - gender = FEMALE + unsuitable_gender = MALE glasses_over = 1 /datum/sprite_accessory/hair/highponytail name = "High Ponytail" icon_state = "highponytail" - gender = FEMALE + unsuitable_gender = MALE glasses_over = 1 /datum/sprite_accessory/hair/wisp name = "Wisp" icon_state = "wisp" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/parted name = "Parted" @@ -88,14 +88,14 @@ /datum/sprite_accessory/hair/pompadour name = "Pompadour" icon_state = "pompadour" - gender = MALE + unsuitable_gender = FEMALE species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_UNATHI) glasses_over = 1 /datum/sprite_accessory/hair/quiff name = "Quiff" icon_state = "quiff" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/bedhead @@ -113,31 +113,31 @@ /datum/sprite_accessory/hair/beehive name = "Beehive" icon_state = "beehive" - gender = FEMALE + unsuitable_gender = MALE species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_UNATHI) /datum/sprite_accessory/hair/bobcurl name = "Bobcurl" icon_state = "bobcurl" - gender = FEMALE + unsuitable_gender = MALE species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_UNATHI) /datum/sprite_accessory/hair/bob name = "Bob" icon_state = "bobcut" - gender = FEMALE + unsuitable_gender = MALE species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_UNATHI) /datum/sprite_accessory/hair/bowl name = "Bowl" icon_state = "bowlcut" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/braid2 name = "Long Braid" icon_state = "hbraid" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/braid_hip name = "Hippie Braid" @@ -147,20 +147,20 @@ /datum/sprite_accessory/hair/buzz name = "Buzzcut" icon_state = "buzzcut" - gender = MALE + unsuitable_gender = FEMALE species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_UNATHI) glasses_over = 1 /datum/sprite_accessory/hair/crew name = "Crewcut" icon_state = "crewcut" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/combover name = "Combover" icon_state = "combover" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/devillock @@ -188,12 +188,12 @@ /datum/sprite_accessory/hair/afro_large name = "Big Afro" icon_state = "bigafro" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/sergeant name = "Flat Top" icon_state = "sergeant" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/emo @@ -211,7 +211,7 @@ /datum/sprite_accessory/hair/hitop name = "Hitop" icon_state = "hitop" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/mohawk @@ -223,31 +223,31 @@ /datum/sprite_accessory/hair/jensen name = "Adam Jensen Hair" icon_state = "jensen" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/cia name = "CIA" icon_state = "cia" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/mulder name = "Mulder" icon_state = "mulder" - gender = MALE + unsuitable_gender = FEMALE glasses_over = 1 /datum/sprite_accessory/hair/gelled name = "Gelled Back" icon_state = "gelled" - gender = FEMALE + unsuitable_gender = MALE glasses_over = 1 /datum/sprite_accessory/hair/gentle name = "Gentle" icon_state = "gentle" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/spiky name = "Spiky" @@ -262,50 +262,50 @@ /datum/sprite_accessory/hair/kagami name = "Pigtails" icon_state = "kagami" - gender = FEMALE + unsuitable_gender = MALE glasses_over = 1 /datum/sprite_accessory/hair/himecut name = "Hime Cut" icon_state = "himecut" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/braid name = "Floorlength Braid" icon_state = "floorbraid" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/odango name = "Odango" icon_state = "odango" - gender = FEMALE - glasses_over = 1 + unsuitable_gender = MALE + glasses_over = TRUE /datum/sprite_accessory/hair/ombre name = "Ombre" icon_state = "ombre" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/updo name = "Updo" icon_state = "updo" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/skinhead name = "Skinhead" icon_state = "skinhead" - glasses_over = 1 + glasses_over = TRUE /datum/sprite_accessory/hair/balding name = "Balding Hair" icon_state = "balding" - gender = MALE // turnoff! - glasses_over = 1 + unsuitable_gender = FEMALE // turnoff! + glasses_over = TRUE /datum/sprite_accessory/hair/longemo name = "Long Emo" icon_state = "emolong" - gender = FEMALE + unsuitable_gender = MALE ////////////////////////////// //////START VG HAIRSTYLES///// @@ -321,28 +321,28 @@ /datum/sprite_accessory/hair/duelist name = "Duelist" icon_state = "duelist" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/modern name = "Modern" icon_state = "modern" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/unshavenmohawk name = "Unshaven Mohawk" icon_state = "unshavenmohawk" - gender = MALE - glasses_over = 1 + unsuitable_gender = FEMALE + glasses_over = TRUE /datum/sprite_accessory/hair/drills name = "Twincurls" icon_state = "twincurl" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/minidrills name = "Twincurls 2" icon_state = "twincurl2" - gender = FEMALE + unsuitable_gender = MALE ////////////////////////////// //////END VG HAIRSTYLES/////// ////////////////////////////// @@ -418,57 +418,57 @@ /datum/sprite_accessory/hair/partfade name = "Parted Fade" icon_state = "shavedpart" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/undercut3 name = "Undercut Swept Left" icon_state = "undercut3" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/undercut2 name = "Undercut Swept Right" icon_state = "undercut2" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/undercut1 name = "Undercut" icon_state = "undercut1" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/coffeehouse name = "Coffee House Cut" icon_state = "coffeehouse" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/tightbun name = "Tight Bun" icon_state = "tightbun" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/trimmed name = "Trimmed" icon_state = "trimmed" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/trimflat name = "Trimmed Flat Top" icon_state = "trimflat" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/nofade name = "Regulation Cut" icon_state = "nofade" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/baldfade name = "Balding Fade" icon_state = "baldfade" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/highfade name = "High Fade" icon_state = "highfade" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/medfade name = "Medium Fade" @@ -477,7 +477,7 @@ /datum/sprite_accessory/hair/lowfade name = "Low Fade" icon_state = "lowfade" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/oxton name = "Oxton" @@ -514,7 +514,7 @@ /datum/sprite_accessory/hair/joestar name = "Joestar" icon_state = "joestar" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/nitori name = "Nitori" @@ -762,7 +762,7 @@ /datum/sprite_accessory/hair/wong name = "Wong" icon_state = "wong" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/ponytail7 name = "Ponytail 7" diff --git a/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm b/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm index 74cd20f40c4..b7f09c49073 100644 --- a/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm +++ b/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm @@ -5,12 +5,12 @@ /datum/sprite_accessory/hair/skrell/skr_tentacle_m name = "Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/hair/skrell/skr_tentacle_f name = "Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/hair/skrell/skr_tentacleslong name = "Long Skrell Tentacles" @@ -23,39 +23,39 @@ /datum/sprite_accessory/hair/skrell/skr_gold_m name = "Gold plated Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "gold" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_gold_f name = "Gold chained Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "gold" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_clothtentacle_m name = "Cloth draped Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "cloth" /datum/sprite_accessory/hair/skrell/skr_clothtentacle_f name = "Cloth draped Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "cloth" /datum/sprite_accessory/hair/skrell/skr_gclothtentacle_m name = "Ombre Dye, Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "gradient" /datum/sprite_accessory/hair/skrell/skr_gclothtentacle_f name = "Ombre Dye, Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "gradient" /datum/sprite_accessory/hair/skrell/skr_gclothtentacleslong @@ -71,144 +71,144 @@ /datum/sprite_accessory/hair/skrell/skr_diablacktentacle_m name = "Black headress Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "blackdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diablacktentacle_f name = "Black headress Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "blackdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diablacktentacleslong name = "Black headress Long Skrell Tentacles" icon_state = "verylong" secondary_theme = "blackdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diagoldtentacle_m name = "Gold headress Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "golddia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diagoldtentacle_f name = "Gold headress Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "golddia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diagoldtentacleslong name = "Gold headress Long Skrell Tentacles" icon_state = "verylong" secondary_theme = "golddia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diasilvertentacle_m name = "Silver headress Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "silvdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diasilvertentacle_f name = "Silver headress Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "silvdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_diasilvertentacleslong name = "Silver headress Long Skrell Tentacles" icon_state = "verylong" secondary_theme = "silvdia" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_festivetentacle_m name = "Festive headress Skrell Male Tentacles" icon_state = "male" - gender = MALE + unsuitable_gender = FEMALE secondary_theme = "fest" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_festivetentacle_f name = "Festive headress Skrell Female Tentacles" icon_state = "female" - gender = FEMALE + unsuitable_gender = MALE secondary_theme = "fest" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_festivetentacleslong name = "Festive headress Long Skrell Tentacles" icon_state = "verylong" secondary_theme = "fest" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_festivetentaclesshort name = "Festive headress Short Skrell Tentacles" icon_state = "veryshort" secondary_theme = "fest" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_shortmidbun name = "Mid bun short Tentacles" icon_state = "short_mid_bun" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_midbun name = "Mid bun normal Tentacles" icon_state = "mid_bun" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_longmidbun name = "Mid bun long Tentacles" icon_state = "long_mid_bun" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_vshortmidbun name = "Mid bun very short Tentacles" icon_state = "low_bun" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_mullet name = "Mullet Tentacles" icon_state = "mullet" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_insulatedlong name = "Insulated long Tentacles" icon_state = "insulted_long" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_excitedlong name = "Excited long Tentacles" icon_state = "excited_long" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_reversedlong name = "Reversed long Tentacles" icon_state = "reserved_long" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_tuuxstraight name = "Tuux straight Tentacles" icon_state = "straight_tuux" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_tuuxstraightlong name = "Tuux straight long Tentacles" icon_state = "straight_tuux_long" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/skrell/skr_loosebraid name = "Loose braid Tentacles" icon_state = "loose_braid" - no_sec_colour = 1 + no_sec_colour = TRUE /datum/sprite_accessory/hair/fluff/zeke_fluff_tentacle //Zeke Fluff hair icon = 'icons/mob/sprite_accessories/skrell/skrell_hair.dmi' diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm index b043622b10b..cdb49727d2a 100644 --- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm @@ -17,7 +17,7 @@ conversion in savefile.dm */ -/proc/init_sprite_accessory_subtypes(var/prototype, var/list/L, var/list/male, var/list/female, var/list/full_list) +/proc/init_sprite_accessory_subtypes(prototype, list/L, list/male, list/female, list/full_list) if(!istype(L)) L = list() if(!istype(male)) male = list() if(!istype(female)) female = list() @@ -33,19 +33,19 @@ L[D.name] = D full_list[D.name] = D - switch(D.gender) - if(MALE) male[D.name] = D - if(FEMALE) female[D.name] = D + switch(D.unsuitable_gender) + if(FEMALE) male[D.name] = D + if(MALE) female[D.name] = D else male[D.name] = D female[D.name] = D 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/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/unsuitable_gender //Determines if the accessory will be skipped or included in random generations // Restrict some styles to specific species var/list/species_allowed = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON) @@ -55,8 +55,8 @@ var/list/tails_allowed = null //Specifies which, if any, tails a tail marking is compatible with. var/list/wings_allowed var/marking_location //Specifies which bodypart a body marking is located on. - var/secondary_theme = null //If exists, there's a secondary colour to that hair style and the secondary theme's icon state's suffix is equal to this. - var/no_sec_colour = null //If exists, prohibit the colouration of the secondary theme. + var/secondary_theme //If exists, there's a secondary colour to that hair style and the secondary theme's icon state's suffix is equal to this. + var/no_sec_colour = FALSE //If TRUE, prohibit the colouration of the secondary theme. var/fluff = 0 // Whether or not the accessory can be affected by colouration var/do_colouration = 1 @@ -75,7 +75,7 @@ glasses_over = 1 /datum/sprite_accessory/facial_hair - gender = MALE // barf (unless you're a dorf, dorfs dig chix /w beards :P) + unsuitable_gender = FEMALE // barf (unless you're a dorf, dorfs dig chix /w beards :P) icon = 'icons/mob/sprite_accessories/human/human_facial_hair.dmi' var/over_hair @@ -175,7 +175,7 @@ SPECIES_GREY = 'icons/mob/clothing/species/grey/underwear.dmi', SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/underwear.dmi', ) - gender = NEUTER + var/allow_change_color = FALSE /datum/sprite_accessory/underwear/nude @@ -184,7 +184,7 @@ species_allowed = list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_VULPKANIN, SPECIES_TAJARAN, SPECIES_KIDAN, SPECIES_GREY, SPECIES_PLASMAMAN, SPECIES_MACNINEPERSON, SPECIES_SKRELL, SPECIES_SLIMEPERSON, SPECIES_SKELETON, SPECIES_DRASK, SPECIES_VOX, SPECIES_MOTH) /datum/sprite_accessory/underwear/male - gender = MALE + unsuitable_gender = FEMALE /datum/sprite_accessory/underwear/male/male_striped_alt name = "Mens Striped Alt" @@ -228,19 +228,37 @@ icon_state = "male_kinky" /datum/sprite_accessory/underwear/female - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/underwear/female/female_red_alt name = "Ladies Red Alt" icon_state = "female_red_alt" + sprite_sheets = list( + SPECIES_VOX = 'icons/mob/clothing/species/vox/underwear.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/underwear.dmi', + SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/underwear.dmi', + SPECIES_TAJARAN = 'icons/mob/clothing/species/tajaran/underwear.dmi', + ) /datum/sprite_accessory/underwear/female/female_babydoll name = "Ladies Full Grey" icon_state = "female_babydoll" + sprite_sheets = list( + SPECIES_VOX = 'icons/mob/clothing/species/vox/underwear.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/underwear.dmi', + SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/underwear.dmi', + SPECIES_TAJARAN = 'icons/mob/clothing/species/tajaran/underwear.dmi', + ) /datum/sprite_accessory/underwear/female/female_kinky_alt name = "Ladies Kinky Alt" icon_state = "female_kinky_alt" + sprite_sheets = list( + SPECIES_VOX = 'icons/mob/clothing/species/vox/underwear.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/underwear.dmi', + SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/underwear.dmi', + SPECIES_TAJARAN = 'icons/mob/clothing/species/tajaran/underwear.dmi', + ) /datum/sprite_accessory/underwear/female/female_kinky_black name = "Ladies Kinky Full Black" @@ -304,7 +322,6 @@ SPECIES_GREY = 'icons/mob/clothing/species/grey/underwear.dmi', SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/underwear.dmi', ) - gender = NEUTER var/allow_change_color = FALSE /datum/sprite_accessory/undershirt/nude @@ -345,7 +362,7 @@ /datum/sprite_accessory/undershirt/shirt_colorized/female name = "Female Colorized Shirt" icon_state = "female_shirt" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/undershirt/shirt_colorized/female/female_cuttedshirt name = "Female Colorized Cutted Shirt" @@ -496,18 +513,18 @@ /datum/sprite_accessory/undershirt/tank_top_colorize name = "Female Crop-Top" icon_state = "tank_top" - gender = FEMALE + unsuitable_gender = MALE allow_change_color = TRUE /datum/sprite_accessory/undershirt/tank_whitetop name = "White Crop-Top" icon_state = "tank_whitetop" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/undershirt/tank_midriff name = "Mid Tank-Top" icon_state = "tank_midriff_female" - gender = FEMALE + unsuitable_gender = MALE allow_change_color = TRUE sprite_sheets = list( SPECIES_VOX = 'icons/mob/clothing/species/vox/underwear.dmi', @@ -546,7 +563,6 @@ SPECIES_ASHWALKER_BASIC = 'icons/mob/clothing/species/unathi/underwear.dmi', SPECIES_ASHWALKER_SHAMAN = 'icons/mob/clothing/species/unathi/underwear.dmi', SPECIES_DRACONOID = 'icons/mob/clothing/species/unathi/underwear.dmi') - gender = NEUTER /datum/sprite_accessory/socks/nude name = "Nude" @@ -580,7 +596,7 @@ /datum/sprite_accessory/socks/thin_knee name = "Knee-high Thin" icon_state = "thin_knee" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/socks/striped_norm name = "Normal Striped" @@ -605,7 +621,7 @@ /datum/sprite_accessory/socks/thin_thigh name = "Thigh-high Thin" icon_state = "thin_thigh" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/socks/striped_thigh name = "Thigh-high Striped" @@ -618,7 +634,7 @@ /datum/sprite_accessory/socks/pantyhose name = "Pantyhose" icon_state = "pantyhose" - gender = FEMALE + unsuitable_gender = MALE /datum/sprite_accessory/socks/black_fishnet name = "Black Fishnet" diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_body_markings.dm b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_body_markings.dm index bd3e247de14..43d39566464 100644 --- a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_body_markings.dm +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_body_markings.dm @@ -2,22 +2,28 @@ icon = 'icons/mob/sprite_accessories/tajaran/tajaran_body_markings.dmi' species_allowed = list(SPECIES_TAJARAN) -/datum/sprite_accessory/body_markings/tajara/belly_flat_taj - name = "Tajaran Belly" - icon_state = "belly" - /datum/sprite_accessory/body_markings/tajara/belly_crest_taj name = "Tajaran Chest Crest" icon_state = "crest" -/datum/sprite_accessory/body_markings/tajara/belly_full_taj - name = "Tajaran Belly 2" - icon_state = "fullbelly" - /datum/sprite_accessory/body_markings/tajara/points_taj name = "Tajaran Points" icon_state = "points" +/datum/sprite_accessory/body_markings/tajara/belly_taj + name = "Tajaran Belly" + icon_state = "fullbelly_man" + unsuitable_gender = FEMALE + +/datum/sprite_accessory/body_markings/tajara/belly_taj/woman + icon_state = "fullbelly_woman" + unsuitable_gender = MALE + /datum/sprite_accessory/body_markings/tajara/patchy_taj name = "Tajaran Patches" - icon_state = "patch" + icon_state = "patch_man" + unsuitable_gender = FEMALE + +/datum/sprite_accessory/body_markings/tajara/patchy_taj/woman + icon_state = "patch_woman" + unsuitable_gender = MALE diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_facial_hair.dm b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_facial_hair.dm index 6e615e3e0ca..075eebae0b4 100644 --- a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_facial_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_facial_hair.dm @@ -10,14 +10,6 @@ name = "Tajara Mutton" icon_state = "facial_mutton" -/datum/sprite_accessory/facial_hair/tajara/taj_pencilstache - name = "Tajara Pencilstache" - icon_state = "facial_pencilstache" - -/datum/sprite_accessory/facial_hair/tajara/taj_moustache - name = "Tajara Moustache" - icon_state = "facial_moustache" - /datum/sprite_accessory/facial_hair/tajara/taj_goatee name = "Tajara Goatee" icon_state = "facial_goatee" @@ -26,6 +18,26 @@ name = "Tajara Faded Goatee" icon_state = "facial_goatee_faded" +/datum/sprite_accessory/facial_hair/tajara/taj_moustache + name = "Tajara Moustache" + icon_state = "facial_moustache" + /datum/sprite_accessory/facial_hair/tajara/taj_smallstache - name = "Tajara Smallstache" + name = "Tajara Small Moustache" icon_state = "facial_smallstache" + +/datum/sprite_accessory/facial_hair/tajara/taj_longstache + name = "Tajara Long Moustache" + icon_state = "facial_long_moustache" + +/datum/sprite_accessory/facial_hair/tajara/taj_trimstache + name = "Tajara Trimmed Moustache" + icon_state = "facial_trimoustache" + +/datum/sprite_accessory/facial_hair/tajara/taj_pencilstache + name = "Tajara Pencil Moustache" + icon_state = "facial_pencilstache" + +/datum/sprite_accessory/facial_hair/tajara/taj_hulkhogan + name = "Tajara Hulk Hogan" + icon_state = "facial_hulkhogan" diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_hair.dm b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_hair.dm index 8f496cffbc7..837fc02cc06 100644 --- a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_hair.dm @@ -1,7 +1,26 @@ /datum/sprite_accessory/hair/tajara icon = 'icons/mob/sprite_accessories/tajaran/tajaran_hair.dmi' species_allowed = list(SPECIES_TAJARAN) - glasses_over = 1 + glasses_over = TRUE + +/datum/sprite_accessory/hair/tajara/taj_hair_braid + name = "Tajara Braid" + icon_state = "braid" + secondary_theme = "beads" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_braid/ears + name = "Tajara Braid & Ears" + icon_state = "braid_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_sidebraid + name = "Tajara Sidebraid" + icon_state = "sidebraid" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_sidebraid/ears + name = "Tajara Sidebraid & Ears" + icon_state = "sidebraid_ears" /datum/sprite_accessory/hair/tajara/taj_hair_clean name = "Tajara Clean" @@ -12,11 +31,17 @@ icon_state = "bangs" glasses_over = FALSE -/datum/sprite_accessory/hair/tajara/taj_hair_braid - name = "Tajara Braid" - icon_state = "braid" - secondary_theme = "beads" - glasses_over = FALSE +/datum/sprite_accessory/hair/tajara/taj_hair_bangs/ears + name = "Tajara Bangs & Ears" + icon_state = "bangs_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_tailedbangs + name = "Tajara Tailedbangs" + icon_state = "tailedbangs" + +/datum/sprite_accessory/hair/tajara/taj_hair_tailedbangs/ears + name = "Tajara Tailedbangs & Ears" + icon_state = "tailedbangs_ears" /datum/sprite_accessory/hair/tajara/taj_hair_shaggy name = "Tajara Shaggy" @@ -26,10 +51,18 @@ name = "Tajaran Mohawk" icon_state = "mohawk" +/datum/sprite_accessory/hair/tajara/taj_hair_mohawk/ears + name = "Tajaran Mohawk & Ears" + icon_state = "mohawk_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_plait name = "Tajara Plait" icon_state = "plait" +/datum/sprite_accessory/hair/tajara/taj_hair_plait/ears + name = "Tajara Plait & Ears" + icon_state = "plait_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_straight name = "Tajara Straight" icon_state = "straight" @@ -38,28 +71,64 @@ name = "Tajara Long" icon_state = "long" +/datum/sprite_accessory/hair/tajara/taj_hair_long/ears + name = "Tajara Long & Ears" + icon_state = "long_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_longtail + name = "Tajara Longtail" + icon_state = "longtail" + +/datum/sprite_accessory/hair/tajara/taj_hair_longtail/ears + name = "Tajara Longtail & Ears" + icon_state = "longtail_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_rattail name = "Tajara Rat Tail" icon_state = "rattail" +/datum/sprite_accessory/hair/tajara/taj_hair_rattail/ears + name = "Tajara Rat Tail & Ears" + icon_state = "rattail_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_ponytail + name = "Tajara Ponytail" + icon_state = "ponytail" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_ponytail/ears + name = "Tajara Ponytail & Ears" + icon_state = "ponytail_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_cuttail + name = "Tajara Cuttail" + icon_state = "cuttail" + +/datum/sprite_accessory/hair/tajara/taj_hair_cuttail/ears + name = "Tajara Cuttail & Ears" + icon_state = "cuttail_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_spiky name = "Tajara Spikey" icon_state = "spikey" +/datum/sprite_accessory/hair/tajara/taj_hair_spiky/ears + name = "Tajara Spikey & Ears" + icon_state = "spikey_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_messy name = "Tajara Messy" icon_state = "messy" +/datum/sprite_accessory/hair/tajara/taj_hair_messy/ears + name = "Tajara Messy & Ears" + icon_state = "messy_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_curls name = "Tajara Curly" icon_state = "curly" glasses_over = FALSE -/datum/sprite_accessory/hair/tajara/taj_hair_bedhead - name = "Tajara bedhead" - icon_state = "bedhead" - glasses_over = FALSE - /datum/sprite_accessory/hair/tajara/taj_hair_retro name = "Tajaran Ladies' Retro" icon_state = "ladiesretro" @@ -75,11 +144,24 @@ icon_state = "bob" glasses_over = FALSE +/datum/sprite_accessory/hair/tajara/taj_hair_bob/ears + name = "Tajara Bob & Ears" + icon_state = "bob_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_fingercurl name = "Tajara Finger Curls" icon_state = "fingerwave" glasses_over = FALSE +/datum/sprite_accessory/hair/tajara/taj_hair_fingercurl/ears + name = "Tajara Finger Curls & Ears" + icon_state = "fingerwave_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_bedhead + name = "Tajara Bedhead" + icon_state = "bedhead" + glasses_over = FALSE + /datum/sprite_accessory/hair/tajara/taj_hair_marmalade name = "Tajara Marmalade" icon_state = "marmalade" @@ -90,6 +172,53 @@ icon_state = "shy" glasses_over = FALSE +/datum/sprite_accessory/hair/tajara/taj_hair_shy/ears + name = "Tajara Shy & Ears" + icon_state = "shy_ears" + /datum/sprite_accessory/hair/tajara/taj_hair_metal name = "Tajara Metal" icon_state = "metal" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_ribbons + name = "Tajara Ribbons" + icon_state = "ribbons" + +/datum/sprite_accessory/hair/tajara/taj_hair_ribbons/ears + name = "Tajara Ribbons & Ears" + icon_state = "ribbons_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_dreadlocks + name = "Tajara Dreadlocks" + icon_state = "dreadlocks" + +/datum/sprite_accessory/hair/tajara/taj_hair_dreadlocks/ears + name = "Tajara Dreadlocks & Ears" + icon_state = "dreadlocks_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_combedback + name = "Tajara Combedback" + icon_state = "combedback" + +/datum/sprite_accessory/hair/tajara/taj_hair_combedback/ears + name = "Tajara Combedback & Ears" + icon_state = "combedback_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_overeye + name = "Tajara Overeye" + icon_state = "overeye" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_overeye/ears + name = "Tajara Overeye & Ears" + icon_state = "overeye_ears" + +/datum/sprite_accessory/hair/tajara/taj_hair_tough + name = "Tajara Tough" + icon_state = "tough" + glasses_over = FALSE + +/datum/sprite_accessory/hair/tajara/taj_hair_tough/ears + name = "Tajara Tough & Ears" + icon_state = "tough_ears" diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm index 5b28c4d97ff..c64a417b982 100644 --- a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm @@ -11,6 +11,10 @@ name = "Tajaran Tiger Head and Face" icon_state = "tiger_face" +/datum/sprite_accessory/body_markings/head/tajara/lynx + name = "Tajaran Lynx Ears and Cheeks" + icon_state = "lynx" + /datum/sprite_accessory/body_markings/head/tajara/outears_taj name = "Tajaran Outer Ears" icon_state = "outears" diff --git a/code/modules/mob/new_player/sprite_accessories/unathi/unathi_facial_hair.dm b/code/modules/mob/new_player/sprite_accessories/unathi/unathi_facial_hair.dm index ef93603df8a..0357f9c4395 100644 --- a/code/modules/mob/new_player/sprite_accessories/unathi/unathi_facial_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/unathi/unathi_facial_hair.dm @@ -1,8 +1,8 @@ /datum/sprite_accessory/facial_hair/unathi icon = 'icons/mob/sprite_accessories/unathi/unathi_facial_hair.dmi' species_allowed = list(SPECIES_UNATHI, SPECIES_ASHWALKER_BASIC, SPECIES_ASHWALKER_SHAMAN, SPECIES_DRACONOID) - gender = NEUTER - over_hair = 1 + unsuitable_gender = null + over_hair = TRUE /datum/sprite_accessory/facial_hair/unathi/una_spines_long name = "Long Spines" @@ -75,10 +75,10 @@ secondary_theme = "webbing" /datum/sprite_accessory/facial_hair/unathi/una_frills_dorsal - over_hair = null name = "Dorsal Frills" icon_state = "dorsalfrills" secondary_theme = "webbing" + over_hair = FALSE /datum/sprite_accessory/facial_hair/unathi/una_chin_horns name = "Chin Horns" diff --git a/code/modules/mob/new_player/sprite_accessories/vox/vox_facial_hair.dm b/code/modules/mob/new_player/sprite_accessories/vox/vox_facial_hair.dm index d47c5a4ee8e..da48933e9cb 100644 --- a/code/modules/mob/new_player/sprite_accessories/vox/vox_facial_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/vox/vox_facial_hair.dm @@ -1,7 +1,7 @@ /datum/sprite_accessory/facial_hair/vox icon = 'icons/mob/sprite_accessories/vox/vox_facial_hair.dmi' species_allowed = list(SPECIES_VOX) - gender = NEUTER + unsuitable_gender = null /datum/sprite_accessory/facial_hair/vox/vox_colonel name = "Vox Colonel Beard" diff --git a/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_facial_hair.dm b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_facial_hair.dm index cbd0bca4c45..56e4ed61c8a 100644 --- a/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_facial_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_facial_hair.dm @@ -1,7 +1,7 @@ /datum/sprite_accessory/facial_hair/vulpkanin icon = 'icons/mob/sprite_accessories/vulpkanin/vulpkanin_facial_hair.dmi' species_allowed = list(SPECIES_VULPKANIN) - gender = NEUTER + unsuitable_gender = null /datum/sprite_accessory/facial_hair/vulpkanin/vulp_earfluff name = "Vulpkanin Earfluff" diff --git a/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_hair.dm b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_hair.dm index 3b35f33081f..972d6922087 100644 --- a/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_hair.dm @@ -34,7 +34,7 @@ /datum/sprite_accessory/hair/vulpkanin/vulp_hair_bun name = "Bun" icon_state = "bun" - glasses_over = 1 + glasses_over = TRUE /datum/sprite_accessory/hair/vulpkanin/vulp_hair_jagged name = "Jagged" @@ -47,7 +47,7 @@ /datum/sprite_accessory/hair/vulpkanin/vulp_hair_hawk name = "Hawk" icon_state = "hawk" - glasses_over = 1 + glasses_over = TRUE /datum/sprite_accessory/hair/vulpkanin/vulp_hair_anita name = "Anita" @@ -57,10 +57,15 @@ name = "Short" icon_state = "short" +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_short2 + name = "Short Alt" + icon_state = "short2" + glasses_over = TRUE + /datum/sprite_accessory/hair/vulpkanin/vulp_hair_spike name = "Spike" icon_state = "spike" - glasses_over = 1 + glasses_over = TRUE /datum/sprite_accessory/hair/vulpkanin/vulp_hair_braided name = "Braided" @@ -72,11 +77,6 @@ icon_state = "punkbraided" secondary_theme = "flare" -/datum/sprite_accessory/hair/vulpkanin/vulp_hair_short2 - name = "Short Alt." - icon_state = "short2" - glasses_over = 1 - /datum/sprite_accessory/hair/vulpkanin/vulp_hair_rough name = "Rough-Cropped Mane" icon_state = "rough" @@ -84,4 +84,4 @@ /datum/sprite_accessory/hair/vulpkanin/vulp_hair_raine name = "Raine" icon_state = "raine" - gender = FEMALE + unsuitable_gender = MALE diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index 8c837b0e546..7a7dc36cfb0 100644 Binary files a/icons/effects/species.dmi and b/icons/effects/species.dmi differ diff --git a/icons/mob/clothing/body_accessory.dmi b/icons/mob/clothing/body_accessory.dmi index 7f07591cea7..e79c0a12143 100644 Binary files a/icons/mob/clothing/body_accessory.dmi and b/icons/mob/clothing/body_accessory.dmi differ diff --git a/icons/mob/clothing/species/tajaran/helmet.dmi b/icons/mob/clothing/species/tajaran/helmet.dmi index 1d974b7d83b..5f0bdc7da30 100644 Binary files a/icons/mob/clothing/species/tajaran/helmet.dmi and b/icons/mob/clothing/species/tajaran/helmet.dmi differ diff --git a/icons/mob/clothing/species/tajaran/underwear.dmi b/icons/mob/clothing/species/tajaran/underwear.dmi new file mode 100644 index 00000000000..7840190c6a6 Binary files /dev/null and b/icons/mob/clothing/species/tajaran/underwear.dmi differ diff --git a/icons/mob/human_races/r_def_tajaran.dmi b/icons/mob/human_races/r_def_tajaran.dmi index e62f4228fc6..8644eb1e42d 100644 Binary files a/icons/mob/human_races/r_def_tajaran.dmi and b/icons/mob/human_races/r_def_tajaran.dmi differ diff --git a/icons/mob/human_races/r_tajaran.dmi b/icons/mob/human_races/r_tajaran.dmi index 0d0a8e96a4b..21461e03f43 100644 Binary files a/icons/mob/human_races/r_tajaran.dmi and b/icons/mob/human_races/r_tajaran.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_body_markings.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_body_markings.dmi index 799d2d7a72f..f42fac21aa9 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_body_markings.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_body_markings.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_facial_hair.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_facial_hair.dmi index b584b6fa8fd..7b30772d60f 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_facial_hair.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_facial_hair.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_hair.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_hair.dmi index ef9a29a2f33..4045ce9a48e 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_hair.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_hair.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_head_accessories.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_head_accessories.dmi index 1d62570f0f7..8850545dffb 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_head_accessories.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_head_accessories.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_head_markings.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_head_markings.dmi index fe9b6af8972..95cd37455da 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_head_markings.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_head_markings.dmi differ diff --git a/icons/mob/sprite_accessories/tajaran/tajaran_tail_markings.dmi b/icons/mob/sprite_accessories/tajaran/tajaran_tail_markings.dmi index 4a6091e65c7..f1bb297ea0f 100644 Binary files a/icons/mob/sprite_accessories/tajaran/tajaran_tail_markings.dmi and b/icons/mob/sprite_accessories/tajaran/tajaran_tail_markings.dmi differ