From 3f2e753115ef508fdef9e483f085370a44042ed0 Mon Sep 17 00:00:00 2001 From: Kapu1178 <75460809+Kapu1178@users.noreply.github.com> Date: Wed, 6 Apr 2022 19:33:34 -0400 Subject: [PATCH] Fixes some Kapulimbs bugs (#65923) --- .../preferences/species_features/lizard.dm | 5 ++--- .../preferences/species_features/moth.dm | 16 ++++++++-------- .../preferences/species_features/pod.dm | 3 ++- code/modules/surgery/bodyparts/_bodyparts.dm | 11 +++++++++++ .../species_parts/lizard_bodyparts.dm | 1 + icons/mob/human_parts.dmi | Bin 53101 -> 53110 bytes 6 files changed, 24 insertions(+), 12 deletions(-) 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 625e588d3a4367b5c34abcc7a4686ef24ecf5385..187dd2738f52cb49f5b7182412c2dd646fcd471e 100644 GIT binary patch delta 722 zcmV;@0xkXRo&)xt1CS(twt7@pbVOxyV{&P5bZKvH004NLt(d`%n=lxJ&+ru1?lr1P zn=6+pt5puWuV6uJViaR4FuS5p-veNrs7q#|9wW_+%{Tt7z_a-E@_Kw1hqq(;p}W3r zoyf)h+xIm2td%z+7e9ZbiP81h_~}RQ3$H~ko}SV~)m<-gu}_nKsw*1Zi(F)@zzj{{ z+FD67^cQJ#p-9Wg=-!i_P8MB5dh7$9PMX584`d%Pb<*lHy%6H5?1NgE-p90R zD@cnKR@o7(Y088+Poc0BD`E;ol>J3p?OTU+5Y*UI1Ubex$T7%KI)pEZ=kyr!C?1jj zX`8av81`916sr9MFP2FQUMrIryi_JJc%>}K%mZ>bz{_NbhQy=u2IM?CZ&1vm^9H3n zI&Vk_GFGMqH40VV`#I^gV`?|D5Ti@IEX`-|(Mv;qbm+i7$mL|4s ze}9#<(F7Z{(GwfB(IUUAuUq4{_5ZRq&IiA($D*Fa%lknb-j3;C{OlQM(c7~uv)Tfa E%>932iU0rr delta 713 zcmV;)0yh2jo&)Wk1CS(tt$I{gbVOxyV{&P5bZKvH004NLt(d`Xqc9kR&+rshdyQ60 zH&-sJR87_nxQe(F&cp@rO$`Z^_c2NW3nSoJ`46e6CCL$c^C=@3r*s&^J6RB zeSjCs#Ddq#1cR5#1cO(~lFWQTP6v3IEYT1=`d~rNqYoCLD^9qggsX1}H=`NuA3CNTO|_$`b~M$F=GxI* zJDO@oQ|%0%F&=63&bk`7e`&=5@I}H?JtgVb8-nMWO7bcBSXXW5PX_$^b7rxlF~gYh z8ODUiWJq6(W@t=xj7H$bzc)jp+^zrHwt1$Ft42{fiegi2icOJcuIv7Mm2{&CHtI%C vY}Abw`KS82HU6>wU)GKN!9Ujbq8`Qb+fM9W_xWFR(fhe68CtBf;{ub+2GnE|