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