diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index 3e036c7b29..f21991c754 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -33,11 +33,17 @@ /obj/item/organ/ears/cat = 1) category = CAT_CLOTHING +//////// +//Huds// +//////// + /datum/crafting_recipe/hudsunsec name = "Security HUDsunglasses" result = /obj/item/clothing/glasses/hud/security/sunglasses time = 20 tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + parts = list(/obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/sunglasses = 1) reqs = list(/obj/item/clothing/glasses/hud/security = 1, /obj/item/clothing/glasses/sunglasses = 1, /obj/item/stack/cable_coil = 5) @@ -56,9 +62,11 @@ result = /obj/item/clothing/glasses/hud/health/sunglasses time = 20 tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + parts = list(/obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/sunglasses = 1) reqs = list(/obj/item/clothing/glasses/hud/health = 1, - /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/stack/cable_coil = 5) + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5) category = CAT_CLOTHING /datum/crafting_recipe/hudsunmedremoval @@ -86,6 +94,27 @@ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1) category = CAT_CLOTHING + +/datum/crafting_recipe/diagnostic_sunglasses + name = "Diagnostic HUDsunglasses" + result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses + time = 20 + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + parts = list(/obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/sunglasses = 1) + reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5) + category = CAT_CLOTHING + +/datum/crafting_recipe/diagnostic_singlasses_removal + name = "Diagnostic HUDsunglasses removal" + result = /obj/item/clothing/glasses/sunglasses + time = 20 + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) + category = CAT_CLOTHING + /* //Kevinz doesn't want it as a recipe for now, leaving it in if anything ever changes to let it in /datum/crafting_recipe/stunglasses name = "Stunglasses" @@ -130,7 +159,6 @@ reqs = list(/obj/item/stack/sheet/durathread = 7, /obj/item/stack/sheet/leather = 3) time = 70 - always_availible = TRUE category = CAT_CLOTHING /datum/crafting_recipe/durathread_toolbelt @@ -139,7 +167,6 @@ reqs = list(/obj/item/stack/sheet/durathread = 5, /obj/item/stack/sheet/leather = 2) time = 30 - always_availible = TRUE category = CAT_CLOTHING /datum/crafting_recipe/durathread_bandolier @@ -148,7 +175,6 @@ reqs = list(/obj/item/stack/sheet/durathread = 6, /obj/item/stack/sheet/leather = 2) time = 50 - always_availible = TRUE category = CAT_CLOTHING /datum/crafting_recipe/durathread_helmet @@ -157,7 +183,6 @@ reqs = list(/obj/item/stack/sheet/durathread = 4, /obj/item/stack/sheet/leather = 2) time = 30 - always_availible = TRUE category = CAT_CLOTHING /datum/crafting_recipe/durathread_vest @@ -166,7 +191,6 @@ reqs = list(/obj/item/stack/sheet/durathread = 6, /obj/item/stack/sheet/leather = 3) time = 50 - always_availible = TRUE category = CAT_CLOTHING /datum/crafting_recipe/durathread_wintercoat @@ -183,5 +207,4 @@ reqs = list(/obj/item/clothing/suit/hooded/wintercoat = 1, /obj/item/bedsheet/cosmos = 1) time = 60 - always_availible = TRUE category = CAT_CLOTHING diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index f2f5dd9b7a..c84aec5c15 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -4,6 +4,16 @@ flags_1 = null //doesn't protect eyes because it's a monocle, duh var/hud_type = null +/obj/item/clothing/glasses/hud/CheckParts(list/parts_list) + . = ..() + if(vision_correction) + return + for(var/obj/item/clothing/glasses/G in parts_list) + if(G.vision_correction) + vision_correction = TRUE + name = "prescription [name]" + return + /obj/item/clothing/glasses/hud/equipped(mob/living/carbon/human/user, slot) ..() if(hud_type && slot == SLOT_GLASSES) @@ -32,6 +42,10 @@ desc = "[desc] The display is flickering slightly." return TRUE +//////////// +//Med Huds// +//////////// + /obj/item/clothing/glasses/hud/health name = "health scanner HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." @@ -65,6 +79,14 @@ tint = 1 glass_colour_type = /datum/client_colour/glass_colour/blue +/obj/item/clothing/glasses/hud/health/sunglasses/prescription + name = "prescription medical HUDSunglasses" + vision_correction = 1 + +/////////////////// +//Diagnostic Huds// +/////////////////// + /obj/item/clothing/glasses/hud/diagnostic name = "diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits." @@ -72,6 +94,14 @@ hud_type = DATA_HUD_DIAGNOSTIC_BASIC glass_colour_type = /datum/client_colour/glass_colour/lightorange +/obj/item/clothing/glasses/hud/diagnostic/sunglasses + name = "diagnostic HUDSunglasses" + desc = "Sunglasses with a diagnostic HUD." + icon_state = "sunhuddiagnostic" + darkness_view = 1 + flash_protect = 1 + tint = 1 + /obj/item/clothing/glasses/hud/diagnostic/prescription name = "prescription diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits. This one has a prescription lens." @@ -80,6 +110,10 @@ vision_correction = 1 glass_colour_type = /datum/client_colour/glass_colour/lightorange +/obj/item/clothing/glasses/hud/diagnostic/sunglasses/prescription + name = "prescription diagnostic HUDSunglasses" + vision_correction = 1 + /obj/item/clothing/glasses/hud/diagnostic/night name = "night vision diagnostic HUD" desc = "A robotics diagnostic HUD fitted with a light amplifier." @@ -89,6 +123,10 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE glass_colour_type = /datum/client_colour/glass_colour/green +//////////// +//Sec Huds// +//////////// + /obj/item/clothing/glasses/hud/security name = "security HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records." @@ -127,7 +165,6 @@ return chameleon_action.emp_randomise() - /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch name = "eyepatch HUD" desc = "A heads-up display that connects directly to the optical nerve of the user, replacing the need for that useless eyeball." @@ -142,6 +179,10 @@ tint = 1 glass_colour_type = /datum/client_colour/glass_colour/darkred +/obj/item/clothing/glasses/hud/security/sunglasses/prescription + name = "prescription security HUDSunglasses" + vision_correction = 1 + /obj/item/clothing/glasses/hud/security/night name = "night vision security HUD" desc = "An advanced heads-up display which provides id data and vision in complete darkness." @@ -170,6 +211,8 @@ force = 12 throwforce = 12 +//Hud Toggle + /obj/item/clothing/glasses/hud/toggle name = "Toggle HUD" desc = "A hud with multiple functions." @@ -197,6 +240,8 @@ var/datum/atom_hud/H = GLOB.huds[hud_type] H.add_hud_to(user) +//Thermal Huds + /obj/item/clothing/glasses/hud/toggle/thermal name = "thermal HUD scanner" desc = "Thermal imaging HUD in the shape of glasses." diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index 75a03a585c..66989e79a4 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ