From b8c6e5c6e565ae96c2e2cc94ff0c132e42629708 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 23 Oct 2016 23:14:53 -0400 Subject: [PATCH 1/3] Fixes 2 Bugs with PR #5416 First bug: Changing your alt head in CMA wouldn't update it correctly. You had to proc update_body(1, 1) twice in order to do it because of where the head_organ.handle_alt_icon() proc call was placed in organ_icons. Resolved Second bug: Lack of sanity and inability to select head marking styles with "all" alt heads allowed. Resolved --- code/modules/mob/living/carbon/human/appearance.dm | 6 +++--- code/modules/surgery/organs/organ_icon.dm | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index b135e5e6625..eb58d39ea7c 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -80,13 +80,13 @@ if(head_organ.alt_head && head_organ.alt_head != "None") var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(marking.name != "None" && (!H.heads_allowed || !(head_organ.alt_head in H.heads_allowed))) + if(marking.name != "None" && (!H.heads_allowed || (!("All" in H.heads_allowed) && !(head_organ.alt_head in H.heads_allowed)))) return else if(!head_organ.alt_head || head_organ.alt_head == "None") head_organ.alt_head = "None" var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(H.heads_allowed ) + if(H.heads_allowed && !("All" in H.heads_allowed)) return if(location == "tail" && marking.name != "None") @@ -450,7 +450,7 @@ if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. continue else if(H.alt_head && H.alt_head != "None") //If the user's got an alt head, validate markings for that head. - if(!("All" in M.heads_allowed) && !(H.alt_head in M.heads_allowed)) + if(!M.heads_allowed || (!("All" in M.heads_allowed) && !(H.alt_head in M.heads_allowed))) continue else if(M.heads_allowed && !("All" in M.heads_allowed)) diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 5e8c675bb18..272adcad52c 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -159,12 +159,12 @@ var/global/list/limb_icon_cache = list() gender = "f" else gender = "m" - new_icon_state = "[icon_name][gender ? "_[gender]" : ""]" - if(limb_name == "head") var/obj/item/organ/external/head/head_organ = src head_organ.handle_alt_icon() + new_icon_state = "[icon_name][gender ? "_[gender]" : ""]" + if(skeletal) icon_file = 'icons/mob/human_races/r_skeleton.dmi' else if(status & ORGAN_ROBOT) From 82cf3fb93dc6045a17a432a42a2eb40d9050b8b8 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 23 Oct 2016 23:47:51 -0400 Subject: [PATCH 2/3] Fixes a bug where certain species could not select undergarments. Their species names were just missing from the species_allowed definitions. --- code/modules/mob/new_player/sprite_accessories.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 5067a7d848a..0e8f3456335 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1104,13 +1104,13 @@ /////////////////////////// /datum/sprite_accessory/underwear icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/underwear/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") /datum/sprite_accessory/underwear/male gender = MALE @@ -1230,13 +1230,13 @@ //////////////////////////// /datum/sprite_accessory/undershirt icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Skeleton", "Drask") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/undershirt/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") //plain color shirts /datum/sprite_accessory/undershirt/shirt_white @@ -1466,13 +1466,13 @@ /////////////////////// /datum/sprite_accessory/socks icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/socks/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox", "Drask") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") /datum/sprite_accessory/socks/white_norm name = "Normal White" From e1bc27f8639a9519dfa28659bd154830194a6d3c Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Mon, 24 Oct 2016 03:21:16 -0400 Subject: [PATCH 3/3] Jagged Hairstyle Pixelfix --- icons/mob/human_face.dmi | Bin 71795 -> 71789 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 179d418230e8243298ebcd9ecafd734abc411e39..bf6507c412c5483797fb5bae45417d7e6de7b644 100644 GIT binary patch delta 10653 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 ui8rTCFK$1