From 47424be1c0213b926d93d6a22670144750c03539 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 18 Aug 2020 00:46:05 +0100 Subject: [PATCH] tail fix --- code/_globalvars/lists/flavor_misc.dm | 7 ++++++- .../mob/dead/new_player/sprite_accessories/spines.dm | 3 ++- .../mob/dead/new_player/sprite_accessories/tails.dm | 8 ++++---- code/modules/mob/living/carbon/human/species.dm | 6 +++++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 1a0afc2c2a..8225725ffd 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -73,7 +73,12 @@ GLOBAL_LIST_INIT(mutant_reference_list, list( "xenohead" = GLOB.xeno_head_list, "xenotail" = GLOB.xeno_tail_list)) - +//references wag types to regular types, wings open to wings, etc +GLOBAL_LIST_INIT(mutant_transform_list, list("wingsopen" = "wings", + "waggingtail_human" = "tail_human", + "waggingtail_lizard" = "tail_lizard", + "waggingspines" = "spines", + "mam_waggingtail" = "mam_tail")) GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list("ghost")) //stores the ghost forms that support hair and other such things diff --git a/code/modules/mob/dead/new_player/sprite_accessories/spines.dm b/code/modules/mob/dead/new_player/sprite_accessories/spines.dm index 53a5650a05..83415ed375 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/spines.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/spines.dm @@ -10,7 +10,8 @@ relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER) /datum/sprite_accessory/spines_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || H.dna.species.mutant_bodyparts["tail"]) + return ((!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || H.dna.species.mutant_bodyparts["tail"]) + /datum/sprite_accessory/spines/none name = "None" icon_state = "none" 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 0afbeaf070..812e0c052c 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -16,7 +16,7 @@ *******************************************/ /datum/sprite_accessory/tails_animated/lizard/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["tail_lizard"]) + return (((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) || H.dna.species.mutant_bodyparts["tail_lizard"]) /datum/sprite_accessory/tails/lizard/smooth name = "Smooth" @@ -104,8 +104,8 @@ icon_state = "none" relevant_layers = null -/datum/sprite_accessory/tails_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["tail_human"]) +/datum/sprite_accessory/tails_animated/human/is_not_visible(var/mob/living/carbon/human/H, var/tauric) + return (((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric)|| H.dna.species.mutant_bodyparts["tail_human"]) /datum/sprite_accessory/tails/human/ailurus name = "Red Panda" @@ -547,7 +547,7 @@ relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) /datum/sprite_accessory/tails_animated/mam_tails_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["mam_tail"]) + return (((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) || H.dna.species.mutant_bodyparts["mam_tail"]) /datum/sprite_accessory/tails_animated/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 ee1ebe4506..e132ea615f 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -648,7 +648,11 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/reference_list = GLOB.mutant_reference_list[mutant_part] if(reference_list) var/datum/sprite_accessory/S - S = reference_list[H.dna.features[mutant_part]] + var/transformed_part = GLOB.mutant_transform_list[mutant_part] + if(transformed_part) + S = reference_list[H.dna.features[transformed_part]] + else + S = reference_list[H.dna.features[mutant_part]] if(!S || S.is_not_visible(H, tauric)) bodyparts_to_add -= mutant_part