diff --git a/code/modules/client/preferences/species_features/lizard.dm b/code/modules/client/preferences/species_features/lizard.dm index 732639fd63e..267425ab94a 100644 --- a/code/modules/client/preferences/species_features/lizard.dm +++ b/code/modules/client/preferences/species_features/lizard.dm @@ -1,8 +1,7 @@ /proc/generate_lizard_side_shots(list/sprite_accessories, key, include_snout = TRUE) var/list/values = list() - var/icon/lizard = icon('icons/mob/human_parts_greyscale.dmi', "lizard_head_m", EAST) - + var/icon/lizard = icon('icons/mob/species/lizard/bodyparts.dmi', "lizard_head", EAST) var/icon/eyes = icon('icons/mob/human_face.dmi', "eyes", EAST) eyes.Blend(COLOR_GRAY, ICON_MULTIPLY) lizard.Blend(eyes, ICON_OVERLAY) @@ -38,7 +37,7 @@ /datum/preference/choiced/lizard_body_markings/init_possible_values() var/list/values = list() - var/icon/lizard = icon('icons/mob/human_parts_greyscale.dmi', "lizard_chest_m") + var/icon/lizard = icon('icons/mob/species/lizard/bodyparts.dmi', "lizard_chest_m") for (var/name in GLOB.body_markings_list) var/datum/sprite_accessory/sprite_accessory = GLOB.body_markings_list[name] diff --git a/code/modules/client/preferences/species_features/moth.dm b/code/modules/client/preferences/species_features/moth.dm index 9868bc7f037..de0e4f78a7f 100644 --- a/code/modules/client/preferences/species_features/moth.dm +++ b/code/modules/client/preferences/species_features/moth.dm @@ -8,7 +8,7 @@ /datum/preference/choiced/moth_antennae/init_possible_values() var/list/values = list() - var/icon/moth_head = icon('icons/mob/human_parts.dmi', "moth_head_m") + var/icon/moth_head = icon('icons/mob/species/moth/bodyparts.dmi', "moth_head") moth_head.Blend(icon('icons/mob/human_face.dmi', "motheyes"), ICON_OVERLAY) for (var/antennae_name in GLOB.moth_antennae_list) @@ -42,15 +42,15 @@ moth_body.Blend(icon('icons/mob/moth_wings.dmi', "m_moth_wings_plain_BEHIND"), ICON_OVERLAY) var/list/body_parts = list( - BODY_ZONE_HEAD, - BODY_ZONE_CHEST, - BODY_ZONE_L_ARM, - BODY_ZONE_R_ARM, + /obj/item/bodypart/head/moth, + /obj/item/bodypart/chest/moth, + /obj/item/bodypart/l_arm/moth, + /obj/item/bodypart/r_arm/moth, ) - for (var/body_part in body_parts) - var/gender = (body_part == "chest" || body_part == "head") ? "_m" : "" - moth_body.Blend(icon('icons/mob/human_parts.dmi', "moth_[body_part][gender]"), ICON_OVERLAY) + for (var/obj/item/bodypart/body_part in body_parts) + var/gender = (initial(body_part.is_dimorphic)) ? "_m" : "" + moth_body.Blend(icon('icons/mob/species/moth/bodyparts.dmi', "moth_[body_part][gender]"), ICON_OVERLAY) moth_body.Blend(icon('icons/mob/human_face.dmi', "motheyes"), ICON_OVERLAY) diff --git a/code/modules/client/preferences/species_features/pod.dm b/code/modules/client/preferences/species_features/pod.dm index d3993fae62a..118572dc444 100644 --- a/code/modules/client/preferences/species_features/pod.dm +++ b/code/modules/client/preferences/species_features/pod.dm @@ -8,7 +8,7 @@ /datum/preference/choiced/pod_hair/init_possible_values() var/list/values = list() - var/icon/pod_head = icon('icons/mob/human_parts.dmi', "pod_head_m") + var/icon/pod_head = icon('icons/mob/human_parts_greyscale.dmi', "pod_head_m") for (var/pod_name in GLOB.pod_hair_list) var/datum/sprite_accessory/pod_hair = GLOB.pod_hair_list[pod_name] @@ -20,6 +20,7 @@ icon_with_hair.Blend(icon_adj, ICON_OVERLAY) icon_with_hair.Scale(64, 64) icon_with_hair.Crop(15, 64, 15 + 31, 64 - 31) + icon_with_hair.Blend(COLOR_GREEN, ICON_MULTIPLY) values[pod_hair.name] = icon_with_hair diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index a67eb69a581..9399e041d22 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -717,6 +717,17 @@ limb.overlays += limb_em_block return + //HUSK SHIIIIT + if(is_husked) + limb.icon = icon_husk + limb.icon_state = "[husk_type]_husk_[body_zone]" + icon_exists(limb.icon, limb.icon_state, scream = TRUE) //Prints a stack trace on the first failure of a given iconstate. + if(aux_zone) //Hand shit + aux = image(limb.icon, "[husk_type]_husk_[aux_zone]", -aux_layer, image_dir) + . += aux + return . + //END HUSK SHIIIIT + ////This is the MEAT of limb icon code limb.icon = icon_greyscale if(!should_draw_greyscale || !icon_greyscale) diff --git a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm index 7821c3a155c..66fdcba2e52 100644 --- a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm @@ -3,6 +3,7 @@ limb_id = SPECIES_LIZARD uses_mutcolor = TRUE is_dimorphic = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUTED //This is temporary. Ideally the "snout" external organ adds to this. /obj/item/bodypart/chest/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index 625e588d3a4..187dd2738f5 100644 Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ