diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 8d5654c6fe..012677200c 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -101,6 +101,7 @@ #define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi' #define INV_TIE_DEF_ICON 'icons/mob/ties.dmi' #define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' +#define INV_SPACESUIT_DEF_ICON 'icons/mob/spacesuit.dmi' #define INV_WEAR_ID_DEF_ICON 'icons/mob/mob.dmi' #define INV_GLOVES_DEF_ICON 'icons/mob/hands.dmi' #define INV_EYES_DEF_ICON 'icons/mob/eyes.dmi' diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 006ef1d36e..8ee8a5fa0b 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -26,6 +26,8 @@ GLOBAL_LIST_BOILERPLATE(all_clothing, /obj/item/clothing) var/ear_protection = 0 var/blood_sprite_state + var/update_icon_define = null // Only needed if you've got multiple files for the same type of clothing + //Updates the icons of the mob wearing the clothing item, if any. /obj/item/clothing/proc/update_clothing_icon() return diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 6aed7eaf5d..b5a9900081 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -49,6 +49,8 @@ /obj/item/clothing/suit/space name = "Space suit" desc = "A suit that protects against low pressure environments." + icon = 'icons/obj/clothing/spacesuits.dmi' + update_icon_define = INV_SPACESUIT_DEF_ICON icon_state = "space" w_class = ITEMSIZE_HUGE // So you can't fit this in your bag and be prepared at all times. gas_transfer_coefficient = 0.01 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 806f14aa6b..30aa8f709c 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -711,7 +711,14 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(!wear_suit) return //No point, no suit. - overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = INV_SUIT_DEF_ICON, default_layer = SUIT_LAYER) + // Part of splitting the suit sprites up + var/iconFile = INV_SUIT_DEF_ICON + if(istype(wear_suit, /obj/item/clothing/suit)) + var/obj/item/clothing/suit/S = wear_suit + if(S.update_icon_define) + iconFile = S.update_icon_define + + overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = iconFile, default_layer = SUIT_LAYER) apply_layer(SUIT_LAYER) diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi new file mode 100644 index 0000000000..42184eff11 Binary files /dev/null and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index c75364ed56..f31ee29490 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/suit_2.dmi b/icons/mob/suit_2.dmi deleted file mode 100644 index 863e0111c7..0000000000 Binary files a/icons/mob/suit_2.dmi and /dev/null differ diff --git a/icons/obj/clothing/spacesuits.dmi b/icons/obj/clothing/spacesuits.dmi new file mode 100644 index 0000000000..1be8028b74 Binary files /dev/null and b/icons/obj/clothing/spacesuits.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index ab8812741a..d45dac6e1f 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits_2.dmi b/icons/obj/clothing/suits_2.dmi deleted file mode 100644 index 2f9d40812a..0000000000 Binary files a/icons/obj/clothing/suits_2.dmi and /dev/null differ