From e703e12c883f08024dc06a5c9679fa64fbb07884 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 16:25:08 +0200 Subject: [PATCH] WIP --- .../new_player/sprite_accessories/tails.dm | 5 +++- .../mob/living/carbon/human/species.dm | 23 +++++++++--------- modular_citadel/icons/mob/mam_taur.dmi | Bin 57807 -> 57656 bytes 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index a48df5e41e..ba265e82ac 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -1,10 +1,12 @@ /datum/sprite_accessory/tails icon = 'icons/mob/mutant_bodyparts.dmi' mutant_part_string = "tail" + relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) /datum/sprite_accessory/tails_animated icon = 'icons/mob/mutant_bodyparts.dmi' mutant_part_string = "tailwag" + relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) /****************************************** ************* Lizard Tails **************** @@ -509,6 +511,7 @@ icon = 'modular_citadel/icons/mob/mam_tails.dmi' recommended_species = list("mammal", "slimeperson", "podweak", "felinid", "insect") mutant_part_string = "tail" + relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) /datum/sprite_accessory/mam_tails/none name = "None" @@ -519,7 +522,7 @@ /datum/sprite_accessory/mam_tails_animated color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_tails.dmi' - mutant_part_string = "tail" + mutant_part_string = "tailwag" /datum/sprite_accessory/mam_tails_animated/none name = "None" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 845d226e1e..03df561a23 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -548,8 +548,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) //Underwear, Undershirts & Socks if(!(NO_UNDERWEAR in species_traits)) - - if(H.socks && !H.hidden_socks && H.get_num_legs(FALSE) >= 2) + var/datum/sprite_accessory/taur/TA + if(mutant_bodyparts["taur"] && H.dna.features["taur"]) + TA = GLOB.taur_list[H.dna.features["taur"]] + if(!(TA?.hide_legs) && H.socks && !H.hidden_socks && H.get_num_legs(FALSE) >= 2) if(H.saved_socks) H.socks = H.saved_socks H.saved_socks = "" @@ -597,7 +599,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) /datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) var/list/bodyparts_to_add = mutant_bodyparts.Copy() - var/list/standing = list() H.remove_overlay(BODY_BEHIND_LAYER) H.remove_overlay(BODY_ADJ_LAYER) @@ -608,7 +609,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) return var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - var/tauric = H.dna.features["taur"] && H.dna.features["taur"] != "None" + var/tauric = mutant_bodyparts["taur"] && H.dna.features["taur"] && H.dna.features["taur"] != "None" if(mutant_bodyparts["tail_lizard"]) if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) @@ -814,8 +815,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(!S.mutant_part_string) dna_feature_as_text_string[S] = bodypart - var/static/list/layer_text = list("[BODY_BEHIND_LAYER]" = "_BEHIND", "[BODY_ADJ_LAYER]" = "_ADJ", \ - "[BODY_ADJ_UPPER_LAYER]" = "_ADJUP", "[BODY_FRONT_LAYER]" = "_FRONT") + var/static/list/layer_text = list("[BODY_BEHIND_LAYER]" = "BEHIND", "[BODY_ADJ_LAYER]" = "ADJ", \ + "[BODY_ADJ_UPPER_LAYER]" = "ADJUP", "[BODY_FRONT_LAYER]" = "FRONT") var/g = (H.dna.features["body_model"] == FEMALE) ? "f" : "m" var/list/colorlist = list() @@ -828,8 +829,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) colorlist[index] /= 255 for(var/layer in relevant_layers) + var/list/standing = list() var/layertext = layer_text[layer] - if(!layertext) // should there + if(!layertext) //shouldn't happen stack_trace("invalid layer '[layer]' found in the list of relevant layers on species.handle_mutant_bodyparts().") continue var/layernum = text2num(layer) @@ -839,9 +841,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) bodypart = S.mutant_part_string || dna_feature_as_text_string[S] if(S.gender_specific) - accessory_overlay.icon_state = "[g]_[bodypart]_[S.icon_state][layertext]" + accessory_overlay.icon_state = "[g]_[bodypart]_[S.icon_state]_[layertext]" else - accessory_overlay.icon_state = "m_[bodypart]_[S.icon_state][layertext]" + accessory_overlay.icon_state = "m_[bodypart]_[S.icon_state]_[layertext]" if(S.center) accessory_overlay = center_image(accessory_overlay, S.dimension_x, S.dimension_y) @@ -1004,8 +1006,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) standing += extra2_accessory_overlay - H.overlays_standing[layer] = standing.Copy() - standing = list() + H.overlays_standing[layernum] = standing H.apply_overlay(BODY_BEHIND_LAYER) H.apply_overlay(BODY_ADJ_LAYER) diff --git a/modular_citadel/icons/mob/mam_taur.dmi b/modular_citadel/icons/mob/mam_taur.dmi index 4d3d996cbbe55f03d4e564c286a8c1be1eff4944..513281d24df5941abf7b41904c9108428d73949b 100644 GIT binary patch delta 4415 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 FV1h37k4yjn delta 4608 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