diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index adfbfb023309..f1ee7e82d8bc 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -511,7 +511,17 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( new_action.give_to(user) return - if(HAS_TRAIT(attacking_item, TRAIT_TOOL_SCREWDRIVER) && length(inserted_visors)) + if(HAS_TRAIT(attacking_item, TRAIT_TOOL_SCREWDRIVER)) + // If there isn't anything to remove, return. + if(!length(inserted_visors)) + // If the user is trying to remove a built-in visor, give them a more helpful failure message. + switch(length(built_in_visors)) + if(1) // Messy plural handling + to_chat(user, SPAN_WARNING("The visor on [src] is built-in!")) + if(2 to INFINITY) + to_chat(user, SPAN_WARNING("The visors on [src] are built-in!")) + return + if(active_visor) var/obj/item/device/helmet_visor/temp_visor_holder = active_visor active_visor = null