diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 7298cdb6928d..fe8223ccad44 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -49,6 +49,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) //Since any item can now be a piece of clothing, this has to be put here so all items share it. var/flags_inv //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. + var/flags_prot //This flag acts like flags_inv except it allows the items to still be rendered. var/transparent_protection = NONE //you can see someone's mask through their transparent visor, but you can't reach it var/interaction_flags_item = INTERACT_ITEM_ATTACK_HAND_PICKUP diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 5aa300f34515..e0d656eedd7f 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -9,7 +9,8 @@ cold_protection = CHEST|GROIN|LEGS|ARMS max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES + flags_prot = HIDEJUMPSUIT hoodtype = /obj/item/clothing/head/hooded/explorer armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) @@ -22,10 +23,30 @@ icon_state = "explorer" body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS + flags_prot = HIDEHAIR|HIDEFACE min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) resistance_flags = FIRE_PROOF + var/adjusted = NORMAL_STYLE + +/obj/item/clothing/head/hooded/explorer/verb/hood_adjust() + set name = "Adjust Hood Style" + set category = null + set src in usr + switch(adjusted) + if(NORMAL_STYLE) + adjusted = ALT_STYLE + to_chat(usr, "You adjust the hood to wear it more casually.") + flags_inv &= ~(HIDEHAIR|HIDEFACE) + if(ALT_STYLE) + adjusted = NORMAL_STYLE + to_chat(usr, "You adjust the hood back to normal.") + flags_inv |= (HIDEHAIR|HIDEFACE) + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + H.update_hair() + H.update_body() /obj/item/clothing/suit/hooded/explorer/Initialize() . = ..() diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 8886e7342105..9e1c44770521 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -392,6 +392,7 @@ for(var/obj/item/I in get_equipped_items()) hidden_slots |= I.flags_inv + hidden_slots |= I.flags_prot if(transparent_protection) hidden_slots |= I.transparent_protection