diff --git a/code/__DEFINES/human.dm b/code/__DEFINES/human.dm index 4eab3d8592..95cf66c7f8 100644 --- a/code/__DEFINES/human.dm +++ b/code/__DEFINES/human.dm @@ -137,11 +137,11 @@ #define MEDICAL_LAYER 31 #define SUIT_LAYER 30 -#define SUIT_GARB_LAYER 29 -#define SUIT_SQUAD_LAYER 28 -#define GLASSES_LAYER 27 -#define BELT_LAYER 26 -#define SUIT_STORE_LAYER 25 +#define SUIT_SQUAD_LAYER 29 +#define BELT_LAYER 28 +#define SUIT_GARB_LAYER 27 +#define SUIT_STORE_LAYER 26 +#define GLASSES_LAYER 25 #define BACK_LAYER 24 #define HAIR_LAYER 23 #define HAIR_GRADIENT_LAYER 22 diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 23080104a4..026f62ca57 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -419,6 +419,18 @@ inv_overlay = image("icon" = 'icons/obj/items/clothing/ties_overlay.dmi', "icon_state" = "[icon_state]") update_icon() +/obj/item/clothing/accessory/poncho/on_attached(obj/item/clothing/suit/storage/marine/S, mob/living/user, silent) + . =..() + if(.) + S.armor_overlays["poncho"] = src + +/obj/item/clothing/accessory/poncho/on_removed(mob/living/user, obj/item/clothing/C) + if(!has_suit) + return + var/obj/item/clothing/suit/storage/marine/suit = has_suit + S.armor_overlays -= "poncho" + . = ..() + /obj/item/clothing/accessory/poncho/green icon_state = "poncho" has_variation = FALSE diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 2952aa7197..ace214347c 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -557,9 +557,20 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate, K = marine_armor.armor_overlays[i] if(K) if(!IMG) - IMG = image(K.icon,src,K.icon_state, "layer"= -SUIT_GARB_LAYER) + if(istype(K, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/A = K + IMG = A.get_mob_overlay(src, WEAR_JACKET) + IMG.layer = -SUIT_GARB_LAYER + else + IMG = image(K.icon,src,K.icon_state, -SUIT_GARB_LAYER) else - IMG.overlays += image(K.icon,src,K.icon_state, "layer"= -SUIT_GARB_LAYER) + if(istype(K, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/A = K + var/image/I2 = A.get_mob_overlay(src, WEAR_JACKET) + I2.layer = -SUIT_GARB_LAYER + IMG.overlays += I2 + else + IMG.overlays += image(K.icon,src,K.icon_state, -SUIT_GARB_LAYER) if(IMG) overlays_standing[SUIT_GARB_LAYER] = IMG apply_overlay(SUIT_GARB_LAYER)