diff --git a/modular_doppler/loadout_categories/categories/glasses.dm b/modular_doppler/loadout_categories/categories/glasses.dm index 2cec5ece877554..42b54c35ed2402 100644 --- a/modular_doppler/loadout_categories/categories/glasses.dm +++ b/modular_doppler/loadout_categories/categories/glasses.dm @@ -29,6 +29,10 @@ group = "Prescription Glasses" abstract_type = /datum/loadout_item/glasses/prescription +/datum/loadout_item/glasses/prescription/get_item_information() + . = ..() + .[FA_ICON_GLASSES] = "Corrects nearsightedness!" + /datum/loadout_item/glasses/prescription/regular name = "Prescription Glasses" item_path = /obj/item/clothing/glasses/regular @@ -136,6 +140,40 @@ name = "Explorer Goggles (Meson)" item_path = /obj/item/clothing/glasses/mining_meson +/** + * PRESCRIPTION HUD HYBRID GLASSES + */ +/datum/loadout_item/glasses/hud/prescription + abstract_type = /datum/loadout_item/glasses/hud/prescription + +/datum/loadout_item/glasses/hud/prescription/get_item_information() + . = ..() + .[FA_ICON_GLASSES] = "Corrects nearsightedness!" + +/datum/loadout_item/glasses/hud/prescription/aviator + name = "Aviators (None, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/prescription + +/datum/loadout_item/glasses/hud/prescription/aviator_meson + name = "Aviators (Meson, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription + +/datum/loadout_item/glasses/hud/prescription/aviator_health + name = "Aviators (Medical, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription + +/datum/loadout_item/glasses/hud/prescription/aviator_security + name = "Aviators (Security, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/security/prescription + +/datum/loadout_item/glasses/hud/prescription/aviator_diagnostic + name = "Aviators (Diagnostics, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription + +/datum/loadout_item/glasses/hud/prescription/aviator_science + name = "Aviators (Science, Prescription)" + item_path = /obj/item/clothing/glasses/hud/ar/aviator/science/prescription + /** * HUD GLASSES (Take in other huds) */ @@ -173,6 +211,10 @@ name = "Blindfold (Black, Fake)" item_path = /obj/item/clothing/glasses/trickblindfold +/datum/loadout_item/glasses/blinding/fake_blindfold/obsolete + name = "Obsolete Fake Blindfold" + item_path = /obj/item/clothing/glasses/trickblindfold/obsolete + /datum/loadout_item/glasses/blinding/eyepatch name = "Eyepatch (Black)" item_path = /obj/item/clothing/glasses/eyepatch diff --git a/modular_doppler/modular_cosmetics/code/face/glasses.dm b/modular_doppler/modular_cosmetics/code/face/glasses.dm index 17a76d19b89728..d292b4ee3d9504 100644 --- a/modular_doppler/modular_cosmetics/code/face/glasses.dm +++ b/modular_doppler/modular_cosmetics/code/face/glasses.dm @@ -14,6 +14,9 @@ icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' icon_state = "eyewrap" + inhand_icon_state = null + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' base_icon_state = "eyewrap" /obj/item/clothing/glasses/eyepatch/white @@ -21,6 +24,9 @@ desc = "This is what happens when a pirate gets a PhD." icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' + inhand_icon_state = null + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi', @@ -96,7 +102,9 @@ ) icon_state = "hudpatch" base_icon_state = "hudpatch" - inhand_icon_state = "sunhudmed" + inhand_icon_state = null + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' uses_advanced_reskins = TRUE actions_types = list(/datum/action/item_action/flip) var/flipped = FALSE @@ -111,7 +119,8 @@ /obj/item/clothing/glasses/hud/eyepatch/proc/flip_eyepatch() flipped = !flipped - icon_state = flipped ? "[base_icon_state]_flipped" : base_icon_state + var/reskin_icon_state = current_skin && unique_reskin[current_skin] ? unique_reskin[current_skin][RESKIN_ICON_STATE] : base_icon_state + icon_state = flipped ? "[reskin_icon_state]_flipped" : reskin_icon_state if (!ismob(loc)) return var/mob/user = loc @@ -142,21 +151,22 @@ /obj/item/clothing/glasses/hud/eyepatch/attack_self(mob/user, modifiers) . = ..() - icon_state = (icon_state == base_icon_state) ? "[base_icon_state]_flipped" : base_icon_state + var/reskin_icon_state = current_skin && unique_reskin[current_skin] ? unique_reskin[current_skin][RESKIN_ICON_STATE] : base_icon_state + worn_icon_state = flipped ? "[reskin_icon_state]_flipped" : reskin_icon_state user.update_worn_glasses() /obj/item/clothing/glasses/hud/eyepatch/sec name = "security HUD eyepatch" desc = "Lost your eye beating an innocent clown? Incompatible with cybernetics? Thankfully, modern technology has a replacement. Protects against flashes 50% of the time, none of the time." - icon_state = "security_eyepatch" - base_icon_state = "security_eyepatch" + icon_state = "secpatch" + base_icon_state = "secpatch" clothing_traits = list(TRAIT_SECURITY_HUD) glass_colour_type = /datum/client_colour/glass_colour/red unique_reskin = list( "Eyepatch" = list( - RESKIN_ICON_STATE = "hudpatch", - RESKIN_WORN_ICON_STATE = "hudpatch" + RESKIN_ICON_STATE = "secpatch", + RESKIN_WORN_ICON_STATE = "secpatch" ), "Fake Blindfold" = list( RESKIN_ICON_STATE = "secfold", @@ -249,39 +259,57 @@ icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' icon_state = "obsoletefold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' base_icon_state = "obsoletefold" supported_bodyshapes = null bodyshape_icon_files = null /obj/item/clothing/glasses/hud/eyepatch/sec/blindfold name = "sec blindfold HUD" - desc = "a fake blindfold with a security HUD inside, helps you look like blind justice. This won't provide the same protection that you'd get from sunglasses." + desc = "A fake blindfold with a security HUD inside. Helps you look like blind justice. This won't provide the same protection that you'd get from sunglasses." icon_state = "secfold" base_icon_state = "secfold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' /obj/item/clothing/glasses/hud/eyepatch/med/blindfold name = "medical blindfold HUD" - desc = "a fake blindfold with a medical HUD inside, great for helping keep a poker face when dealing with patients." + desc = "A fake blindfold with a medical HUD inside. Great for helping keep a poker face when dealing with patients." icon_state = "medfold" base_icon_state = "medfold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' /obj/item/clothing/glasses/hud/eyepatch/meson/blindfold name = "meson blindfold HUD" desc = "A fake blindfold with meson lenses inside. Doesn't shield against welding." icon_state = "mesonfold" base_icon_state = "mesonfold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' /obj/item/clothing/glasses/hud/eyepatch/diagnostic/blindfold name = "diagnostic blindfold HUD" - desc = "A fake blindfold with a diagnostic HUD inside, excellent for working on androids." + desc = "A fake blindfold with a diagnostic HUD inside. Excellent for working on androids." icon_state = "robofold" base_icon_state = "robofold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' /obj/item/clothing/glasses/hud/eyepatch/sci/blindfold name = "science blindfold HUD" - desc = "A fake blindfold with a science HUD inside, provides a way to get used to blindfolds before you eventually end up needing the real thing." + desc = "A fake blindfold with a science HUD inside. Provides a way to get used to blindfolds before you eventually end up needing the real thing." icon_state = "scifold" base_icon_state = "scifold" + inhand_icon_state = "blindfold" + lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' /obj/item/clothing/glasses/hud/ar name = "\improper AR glasses" @@ -289,7 +317,8 @@ supported_bodyshapes = null bodyshape_icon_files = null icon_state = "glasses_regular" - desc = "A heads-up display that provides important info in (almost) real time. These don't really seem to work" + inhand_icon_state = "glasses" + desc = "A heads-up display that provides important info in (almost) real time. These don't really seem to work." actions_types = list(/datum/action/item_action/toggle_mode) glass_colour_type = /datum/client_colour/glass_colour/gray /// Defines sound to be played upon mode switching @@ -323,6 +352,9 @@ clothing_traits = null . = ..() clothing_traits = traits + // Reapply corrective traits even when off + if(TRAIT_NEARSIGHTED_CORRECTED in traits) + ADD_CLOTHING_TRAIT(user, TRAIT_NEARSIGHTED_CORRECTED) /obj/item/clothing/glasses/hud/ar/proc/toggle_mode(mob/user, voluntary) @@ -348,6 +380,7 @@ if(MODE_OFF) if(MODE_OFF_FLASH_PROTECTION in modes) flash_protect = FLASH_PROTECTION_FLASH + tint = 1 balloon_alert(user, span_notice("[modes_msg[MODE_OFF_FLASH_PROTECTION]]")) else balloon_alert(user, span_notice("[modes_msg[mode]]")) @@ -424,101 +457,102 @@ name = "aviators" desc = "A pair of designer sunglasses with electrochromatic darkening lenses!" icon_state = "aviator" + inhand_icon_state = "sunglasses" off_state = "aviator_off" icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' - flash_protect = FLASH_PROTECTION_FLASH - modes = list(MODE_OFF, MODE_ON) + flash_protect = FLASH_PROTECTION_NONE + modes = list(MODE_OFF_FLASH_PROTECTION, MODE_ON) + modes_msg = list(MODE_OFF_FLASH_PROTECTION = "flash protection enabled", MODE_ON = "flash protection disabled") //a little counterintuitive, but the system was built with the security aviators in mind tint = 0 -/obj/item/clothing/glasses/fake_sunglasses/aviator - name = "aviators" - desc = "A pair of designer sunglasses. Doesn't seem like it'll block flashes." - icon_state = "aviator" - icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' - worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' - supported_bodyshapes = null - bodyshape_icon_files = null - // Security Aviators /obj/item/clothing/glasses/hud/ar/aviator/security name = "security HUD aviators" desc = "A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records. This HUD has been fitted inside of a pair of sunglasses with toggleable electrochromatic tinting." icon_state = "aviator_sec" + inhand_icon_state = "sunhudsec" //Only aviators that don't default to blank sunglasses icon when off off_state = "aviator_sec_flash" - flash_protect = FLASH_PROTECTION_NONE clothing_traits = list(TRAIT_SECURITY_HUD) glass_colour_type = /datum/client_colour/glass_colour/red - modes = list(MODE_OFF_FLASH_PROTECTION, MODE_ON) - modes_msg = list(MODE_OFF_FLASH_PROTECTION = "flash protection mode", MODE_ON = "optical matrix enabled") + modes_msg = list(MODE_OFF_FLASH_PROTECTION = "flash protection mode", MODE_ON = "optical matrix mode") // Medical Aviators /obj/item/clothing/glasses/hud/ar/aviator/health name = "medical HUD aviators" desc = "A heads-up display that scans the humanoids in view and provides accurate data about their health status. This HUD has been fitted inside of a pair of sunglasses." icon_state = "aviator_med" - flash_protect = FLASH_PROTECTION_NONE + modes = list(MODE_OFF, MODE_ON) clothing_traits = list(TRAIT_MEDICAL_HUD) glass_colour_type = /datum/client_colour/glass_colour/lightblue + modes_msg = list(MODE_ON = "optical matrix enabled", MODE_OFF = "optical matrix disabled") // (Normal) meson scanner Aviators /obj/item/clothing/glasses/hud/ar/aviator/meson name = "meson HUD aviators" desc = "A heads-up display used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting conditions. This HUD has been fitted inside of a pair of sunglasses." icon_state = "aviator_meson" - flash_protect = FLASH_PROTECTION_NONE + modes = list(MODE_OFF, MODE_ON) clothing_traits = list(TRAIT_MADNESS_IMMUNE) vision_flags = SEE_TURFS color_cutoffs = list(5, 15, 5) glass_colour_type = /datum/client_colour/glass_colour/lightgreen + modes_msg = list(MODE_ON = "optical matrix enabled", MODE_OFF = "optical matrix disabled") // diagnostic Aviators /obj/item/clothing/glasses/hud/ar/aviator/diagnostic name = "diagnostic HUD aviators" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits. This HUD has been fitted inside of a pair of sunglasses." icon_state = "aviator_diagnostic" - flash_protect = FLASH_PROTECTION_NONE + modes = list(MODE_OFF, MODE_ON) clothing_traits = list(TRAIT_DIAGNOSTIC_HUD) glass_colour_type = /datum/client_colour/glass_colour/lightorange + modes_msg = list(MODE_ON = "optical matrix enabled", MODE_OFF = "optical matrix disabled") // Science Aviators /obj/item/clothing/glasses/hud/ar/aviator/science name = "science aviators" desc = "A pair of tacky purple aviator sunglasses that allow the wearer to recognize various chemical compounds with only a glance." icon_state = "aviator_sci" - flash_protect = FLASH_PROTECTION_NONE + modes = list(MODE_OFF, MODE_ON) glass_colour_type = /datum/client_colour/glass_colour/purple resistance_flags = ACID_PROOF armor_type = /datum/armor/aviator_science clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_RESEARCH_SCANNER) + modes_msg = list(MODE_ON = "optical matrix enabled", MODE_OFF = "optical matrix disabled") /datum/armor/aviator_science fire = 80 acid = 100 +/obj/item/clothing/glasses/hud/ar/aviator/prescription + name = "prescription aviators" + desc = "A pair of designer sunglasses with electrochromatic darkening lenses that also help correct eye sight! Sweet!" + clothing_traits = list(TRAIT_NEARSIGHTED_CORRECTED) + /obj/item/clothing/glasses/hud/ar/aviator/security/prescription name = "prescription security HUD aviators" - desc = "A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records. This HUD has been fitted inside of a pair of sunglasses with toggleable electrochromatic tinting which. Has lenses that help correct eye sight." + desc = "A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records. The HUD has been fitted inside of a pair of sunglasses with toggleable electrochromatic tinting and lenses that help correct eye sight." clothing_traits = list(TRAIT_SECURITY_HUD, TRAIT_NEARSIGHTED_CORRECTED) /obj/item/clothing/glasses/hud/ar/aviator/health/prescription name = "prescription medical HUD aviators" - desc = "A heads-up display that scans the humanoids in view and provides accurate data about their health status. This HUD has been fitted inside of a pair of sunglasses which has lenses that help correct eye sight." + desc = "A heads-up display that scans the humanoids in view and provides accurate data about their health status. The HUD has been fitted inside of a pair of sunglasses with lenses that help correct eye sight." clothing_traits = list(TRAIT_MEDICAL_HUD, TRAIT_NEARSIGHTED_CORRECTED) /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription name = "prescription meson HUD aviators" - desc = "A heads-up display used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting conditions. This HUD has been fitted inside of a pair of sunglasses which has lenses that help correct eye sight." + desc = "A heads-up display used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting conditions. The HUD has been fitted inside of a pair of sunglasses with lenses that help correct eye sight." clothing_traits = list(TRAIT_MADNESS_IMMUNE, TRAIT_NEARSIGHTED_CORRECTED) /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription name = "prescription diagnostic HUD aviators" - desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits. This HUD has been fitted inside of a pair of sunglasses which has lenses that help correct eye sight." + desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits. The HUD has been fitted inside of a pair of sunglasses with lenses that help correct eye sight." clothing_traits = list(TRAIT_DIAGNOSTIC_HUD, TRAIT_NEARSIGHTED_CORRECTED) /obj/item/clothing/glasses/hud/ar/aviator/science/prescription - name = "prescription science aviators" - desc = "A pair of tacky purple aviator sunglasses that allow the wearer to recognize various chemical compounds with only a glance, which has lenses that help correct eye sight." + name = "prescription science HUD aviators" + desc = "A pair of tacky purple aviator sunglasses that allow the wearer to recognize various chemical compounds with only a glance. The HUD has been fitted inside of a pair of sunglasses with lenses that help correct eye sight." clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_RESEARCH_SCANNER, TRAIT_NEARSIGHTED_CORRECTED) // Retinal projector @@ -527,6 +561,9 @@ name = "retinal projector" desc = "A headset equipped with a scanning lens and mounted retinal projector. It doesn't provide any eye protection, but it's less obtrusive than a visor." icon_state = "projector" + inhand_icon_state = "headset" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' flags_cover = null /// It doesn't actually cover up any parts @@ -560,76 +597,227 @@ icon_state = "projector_sci" clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_RESEARCH_SCANNER) +//Prescription Aviators// +/datum/crafting_recipe/defaultprescriptaviators + name = "Prescription Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/prescription + time = 2 SECONDS + reqs = list( //No cable coil requirement since we're not adding a hud + /obj/item/clothing/glasses/hud/ar/aviator/ = 1, + /obj/item/clothing/glasses/regular = 1 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/defaultprescriptaviatorsremoval + name = "Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/secprescriptaviators + name = "Prescription Security HUD Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/security/prescription + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/ar/aviator/security = 1, + /obj/item/clothing/glasses/regular = 1, + /obj/item/stack/cable_coil = 5 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/secprescriptaviatorsremoval + name = "Security HUD Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator/security + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/security/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/medprescriptaviators + name = "Prescription Medical HUD Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/ar/aviator/health = 1, + /obj/item/clothing/glasses/regular = 1, + /obj/item/stack/cable_coil = 5 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/medprescriptaviatorsremoval + name = "Medical HUD Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator/health + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/health/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/mesonprescriptaviators + name = "Prescription Meson HUD Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/ar/aviator/meson = 1, + /obj/item/clothing/glasses/regular = 1, + /obj/item/stack/cable_coil = 5 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/mesonprescriptaviatorsremoval + name = "Meson HUD Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator/meson + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/meson/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/roboprescriptaviators + name = "Prescription Diagnostic HUD Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/ar/aviator/diagnostic = 1, + /obj/item/clothing/glasses/regular = 1, + /obj/item/stack/cable_coil = 5 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/roboprescriptaviatorsremoval + name = "Diagnostic HUD Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/sciprescriptaviatorsremoval + name = "Prescription Science HUD Aviators" + result = /obj/item/clothing/glasses/hud/ar/aviator/science/prescription + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/ar/aviator/science = 1, + /obj/item/clothing/glasses/regular = 1, + /obj/item/stack/cable_coil = 5 + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT + +/datum/crafting_recipe/sciprescriptaviatorsremoval + name = "Science HUD Aviators prescription removal" + result = /obj/item/clothing/glasses/hud/ar/aviator/science + time = 2 SECONDS + reqs = list(/obj/item/clothing/glasses/hud/ar/aviator/science/prescription = 1) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_EQUIPMENT +//Prescription Aviators End// + //Eyepatches// /datum/crafting_recipe/secpatch - name = "Security Eyepatch HUD" + name = "Security HUD Eyepatch" result = /obj/item/clothing/glasses/hud/eyepatch/sec - reqs = list(/obj/item/clothing/glasses/hud/security = 1, /obj/item/clothing/glasses/eyepatch = 1, /obj/item/stack/cable_coil = 5) + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/stack/cable_coil = 5 + ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) //Tools needed and requirements are kept the same as craftable HUD sunglasses// - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/secpatchremoval - name = "Security Eyepatch HUD removal" + name = "Security HUD Eyepatch HUD removal" result = /obj/item/clothing/glasses/eyepatch + time = 2 SECONDS reqs = list(/obj/item/clothing/glasses/hud/eyepatch/sec = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/medpatch - name = "Medical Eyepatch HUD" + name = "Medical HUD Eyepatch" result = /obj/item/clothing/glasses/hud/eyepatch/med - reqs = list(/obj/item/clothing/glasses/hud/health = 1, /obj/item/clothing/glasses/eyepatch = 1, /obj/item/stack/cable_coil = 5) + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/stack/cable_coil = 5 + ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/medpatchremoval - name = "Medical Eyepatch HUD removal" + name = "Medical HUD Eyepatch HUD removal" result = /obj/item/clothing/glasses/eyepatch + time = 2 SECONDS reqs = list(/obj/item/clothing/glasses/hud/eyepatch/med = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/mesonpatch - name = "Meson Eyepatch HUD" + name = "Meson HUD Eyepatch" result = /obj/item/clothing/glasses/hud/eyepatch/meson - reqs = list(/obj/item/clothing/glasses/meson = 1, /obj/item/clothing/glasses/eyepatch = 1, /obj/item/stack/cable_coil = 5) + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/meson = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/stack/cable_coil = 5 + ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/mesonpatchremoval - name = "Meson Eyepatch HUD removal" + name = "Meson HUD Eyepatch HUD removal" result = /obj/item/clothing/glasses/eyepatch + time = 2 SECONDS reqs = list(/obj/item/clothing/glasses/hud/eyepatch/meson = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/robopatch - name = "Diagnostic Eyepatch HUD" + name = "Diagnostic HUD Eyepatch" result = /obj/item/clothing/glasses/hud/eyepatch/diagnostic - reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, /obj/item/clothing/glasses/eyepatch = 1, /obj/item/stack/cable_coil = 5) + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/stack/cable_coil = 5 + ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/robopatchremoval - name = "Diagnostic Eyepatch HUD removal" + name = "Diagnostic HUD Eyepatch HUD removal" result = /obj/item/clothing/glasses/eyepatch + time = 2 SECONDS reqs = list(/obj/item/clothing/glasses/hud/eyepatch/diagnostic = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/scipatch - name = "Science Eyepatch HUD" + name = "Science HUD Eyepatch" result = /obj/item/clothing/glasses/hud/eyepatch/sci - reqs = list(/obj/item/clothing/glasses/science = 1, /obj/item/clothing/glasses/eyepatch = 1, /obj/item/stack/cable_coil = 5) + time = 2 SECONDS + reqs = list( + /obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/eyepatch = 1, + /obj/item/stack/cable_coil = 5 + ) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/scipatchremoval - name = "Science Eyepatch HUD removal" + name = "Science HUD Eyepatch HUD removal" result = /obj/item/clothing/glasses/eyepatch + time = 2 SECONDS reqs = list(/obj/item/clothing/glasses/hud/eyepatch/sci = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT //eyepatches end// //Regular Glasses @@ -639,6 +827,7 @@ desc = "What's your favorite color to see through?" icon = 'icons/map_icons/clothing/_clothing.dmi' icon_state = "/obj/item/clothing/glasses/recolorable" + inhand_icon_state = "glasses" post_init_icon_state = "recolorable_glasses" greyscale_colors = "#cfd1d4#D5D5B9" greyscale_config = /datum/greyscale_config/recolorable_glasses diff --git a/modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi b/modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi index 75b053659af770..eb7a65c0fe463c 100644 Binary files a/modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi and b/modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi differ diff --git a/modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi b/modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi index aec580db0dac93..26ea3c8912e3a5 100644 Binary files a/modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi and b/modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi differ diff --git a/modular_doppler/modular_crafting/code/sheet_types.dm b/modular_doppler/modular_crafting/code/sheet_types.dm index 3fecfc76098b24..e3600ad6f888b8 100644 --- a/modular_doppler/modular_crafting/code/sheet_types.dm +++ b/modular_doppler/modular_crafting/code/sheet_types.dm @@ -99,6 +99,7 @@ GLOBAL_LIST_INIT(doppler_cardboard_recipes, list( GLOBAL_LIST_INIT(doppler_cloth_recipes, list( new/datum/stack_recipe("towel", /obj/item/towel, 2, category = CAT_CLOTHING), new/datum/stack_recipe("eyepatch wrap", /obj/item/clothing/glasses/eyepatch/wrap, 2, category = CAT_CLOTHING), + new/datum/stack_recipe("white eyepatch", /obj/item/clothing/glasses/eyepatch/white, 2, category = CAT_CLOTHING), new/datum/stack_recipe("eyepatch", /obj/item/clothing/glasses/eyepatch, 2, category = CAT_CLOTHING), new/datum/stack_recipe("mantle (teshari)", /obj/item/clothing/neck/tesharian_mantle, 3, category = CAT_CLOTHING), new/datum/stack_recipe("saddlebags", /obj/item/storage/backpack/saddlebags, 5, category = CAT_CONTAINERS),