From 8d3519e24b88e9eb9db2977639de74f602a5bb70 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Wed, 23 Sep 2015 15:56:20 +0200 Subject: [PATCH] Belt layer below suit layer, belts toggleable --- .../objects/items/weapons/storage/belt.dm | 12 ++++ .../mob/living/carbon/human/update_icons.dm | 58 +++++++++++-------- 2 files changed, 46 insertions(+), 24 deletions(-) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 6870d2f13d6..d9bf95dd72a 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -8,6 +8,18 @@ attack_verb = list("whipped", "lashed", "disciplined") sprite_sheets = list("Resomi" = 'icons/mob/species/resomi/belt.dmi') + var/show_above_suit = 0 + +/obj/item/weapon/storage/belt/verb/toggle_layer() + set name = "Switch Belt Layer" + set category = "Object" + + if(show_above_suit == -1) + usr << "\The [src] cannot be worn above your suit!" + return + show_above_suit = !show_above_suit + update_icon() + /obj/item/weapon/storage/update_icon() if (ismob(src.loc)) var/mob/M = src.loc diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index bec3833f91a..6fb02ee4d5c 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -113,24 +113,25 @@ Please contact me on #coderbus IRC. ~Carn x #define ID_LAYER 5 #define SHOES_LAYER 6 #define GLOVES_LAYER 7 -#define SUIT_LAYER 8 -#define TAIL_LAYER 9 //bs12 specific. this hack is probably gonna come back to haunt me -#define GLASSES_LAYER 10 -#define BELT_LAYER 11 //Possible make this an overlay of somethign required to wear a belt? -#define SUIT_STORE_LAYER 12 -#define BACK_LAYER 13 -#define HAIR_LAYER 14 //TODO: make part of head layer? -#define EARS_LAYER 15 -#define FACEMASK_LAYER 16 -#define HEAD_LAYER 17 -#define COLLAR_LAYER 18 -#define HANDCUFF_LAYER 19 -#define LEGCUFF_LAYER 20 -#define L_HAND_LAYER 21 -#define R_HAND_LAYER 22 -#define FIRE_LAYER 23 //If you're on fire -#define TARGETED_LAYER 24 //BS12: Layer for the target overlay from weapon targeting system -#define TOTAL_LAYERS 24 +#define BELT_LAYER 8 +#define SUIT_LAYER 9 +#define TAIL_LAYER 10 //bs12 specific. this hack is probably gonna come back to haunt me +#define GLASSES_LAYER 11 +#define BELT_LAYER_ALT 12 +#define SUIT_STORE_LAYER 13 +#define BACK_LAYER 14 +#define HAIR_LAYER 15 //TODO: make part of head layer? +#define EARS_LAYER 16 +#define FACEMASK_LAYER 17 +#define HEAD_LAYER 18 +#define COLLAR_LAYER 19 +#define HANDCUFF_LAYER 20 +#define LEGCUFF_LAYER 21 +#define L_HAND_LAYER 22 +#define R_HAND_LAYER 23 +#define FIRE_LAYER 24 //If you're on fire +#define TARGETED_LAYER 25 //BS12: Layer for the target overlay from weapon targeting system +#define TOTAL_LAYERS 25 ////////////////////////////////// /mob/living/carbon/human @@ -718,15 +719,24 @@ var/global/list/damage_icon_parts = list() else standing.icon = 'icons/mob/belt.dmi' - if(belt.contents.len && istype(belt, /obj/item/weapon/storage/belt)) - for(var/obj/item/i in belt.contents) - var/i_state = i.item_state - if(!i_state) i_state = i.icon_state - standing.overlays += image("icon" = 'icons/mob/belt.dmi', "icon_state" = "[i_state]") + var/belt_layer = BELT_LAYER + if(istype(belt, /obj/item/weapon/storage/belt)) + var/obj/item/weapon/storage/belt/ubelt = belt + if(ubelt.show_above_suit) + overlays_standing[BELT_LAYER] = null + belt_layer = BELT_LAYER_ALT + else + overlays_standing[BELT_LAYER_ALT] = null + if(belt.contents.len) + for(var/obj/item/i in belt.contents) + var/i_state = i.item_state + if(!i_state) i_state = i.icon_state + standing.overlays += image("icon" = 'icons/mob/belt.dmi', "icon_state" = "[i_state]") - overlays_standing[BELT_LAYER] = standing + overlays_standing[belt_layer] = standing else overlays_standing[BELT_LAYER] = null + overlays_standing[BELT_LAYER_ALT] = null if(update_icons) update_icons()