diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9ff852f991d..d9e65bca298 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,6 +34,10 @@ /modular_skyrat/modules/contractor/ @Zonespace27 /modular_skyrat/modules/lorecaster/ @Zonespace27 +# Tastyfish +/code/modules/mob/living/carbon/human/human_update_icons.dm @Tastyfish +/modular_skyrat/modules/customization/modules/mob/living/carbon/human/custom_bodytype.dm @Tastyfish + # Multiple Owners # Maptainers diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 13a10774b68..8240f58bee1 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -205,8 +205,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLOVES, gloves) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLOVES, gloves) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -241,8 +242,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLASSES, glasses) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLASSES, glasses) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -277,8 +279,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_EARS, ears) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_EARS, ears) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -309,8 +312,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_NECK, wear_neck) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_NECK, wear_neck) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -351,8 +355,9 @@ There are several things that need to be remembered: icon_file = worn_item.worn_icon_digi || DIGITIGRADE_SHOES_FILE // SKYRAT EDIT CHANGE mutant_override = TRUE // SKYRAT EDIT ADDITION else if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SHOES, shoes) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SHOES, shoes) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE else if(dna.species.bodytype & BODYTYPE_HIDE_SHOES) return // We just don't want shoes that float if we're not displaying legs (useful for taurs, for now) @@ -410,12 +415,14 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION - This needs to be refactored. var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_HEAD, head) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_HEAD, head) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE - if((!icon_file || icon_file == 'icons/mob/clothing/head/default.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) - icon_file = worn_item.worn_icon_muzzled || SNOUTED_HEAD_FILE - if(icon_file && icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + if((icon_file == 'icons/mob/clothing/head/default.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + var/snout_icon_file = worn_item.worn_icon_muzzled || SNOUTED_HEAD_FILE + if(snout_icon_file && icon_exists(snout_icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = snout_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -448,8 +455,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_BELT, belt) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_BELT, belt) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -484,8 +492,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION else if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SUIT, wear_suit) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SUIT, wear_suit) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -551,12 +560,14 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MASK, wear_mask) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MASK, wear_mask) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE - if((!icon_file || icon_file == 'icons/mob/clothing/mask.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) - icon_file = worn_item.worn_icon_muzzled || SNOUTED_MASK_FILE - if(icon_file && icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + if((icon_file == 'icons/mob/clothing/mask.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + var/snout_icon_file = worn_item.worn_icon_muzzled || SNOUTED_MASK_FILE + if(snout_icon_file && icon_exists(snout_icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = snout_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -586,8 +597,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MISC, back) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MISC, back) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png index fc532c5199a..a74486a8012 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png index b275b1afeb3..27b737d42fc 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox_primalis.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox_primalis.png index 9f591d0cdba..bf72a8600bc 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox_primalis.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox_primalis.png differ diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm index 5c505316342..5a97ca934ec 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm @@ -94,8 +94,8 @@ if(item_slot == LOADOUT_ITEM_SHOES) var/obj/item/bodypart/leg = bodypart_overrides[BODY_ZONE_L_LEG] || bodypart_overrides[BODY_ZONE_R_LEG] if(initial(leg?.limb_id) != "digitigrade") - // normal legs, force using human shoes - return item.worn_icon || item.icon + // normal legs, use normal human shoes + return DEFAULT_SHOES_FILE return item.worn_icon_vox