diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index 17beb518b37..6cfb6abf250 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -250,6 +250,10 @@
0.4,0.6,0.0,\
0.2,0.2,0.6)
+#define MATRIX_STANDARD list(1.0,0.0,0.0,\
+ 0.0,1.0,0.0,\
+ 0.0,0.0,1.0)
+
/*
Used for wire name appearances. Replaces the color name on the left with the one on the right.
The color on the left is the one used as the actual color of the wire, but it doesn't look good when written.
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index 3584e408978..662b9ed349a 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -106,7 +106,8 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes)
- if(eyes && HAS_TRAIT(H, TRAIT_COLORBLIND)) // Check if the human has colorblindness.
+ var/obj/item/clothing/glasses/glasses = H.get_item_by_slot(SLOT_HUD_GLASSES)
+ if(eyes && HAS_TRAIT(H, TRAIT_COLORBLIND) && (!glasses || !glasses.correct_wires)) // Check if the human has colorblindness.
replace_colors = eyes.replace_colours // Get the colorblind replacement colors list.
var/list/wires_list = list()
diff --git a/code/modules/client/preference/loadout/loadout_racial.dm b/code/modules/client/preference/loadout/loadout_racial.dm
index 128bfdd3c29..4b576e96daa 100644
--- a/code/modules/client/preference/loadout/loadout_racial.dm
+++ b/code/modules/client/preference/loadout/loadout_racial.dm
@@ -17,43 +17,11 @@
cost = 1
/datum/gear/racial/taj
- display_name = "Embroidered veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
- path = /obj/item/clothing/glasses/tajblind
+ display_name = "Tajaran veil"
+ description = "A common traditional nano-fiber veil worn by many Tajaran. It is rare and offensive to see it on other races. Can be combined with various other eyewear."
+ path = /obj/item/clothing/glasses/hud/tajblind
slot = SLOT_HUD_GLASSES
-/datum/gear/racial/taj/sec
- display_name = "Sleek veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built security HUD."
- path = /obj/item/clothing/glasses/hud/security/tajblind
- allowed_roles = list("Head of Security", "Warden", "Security Officer", "Internal Affairs Agent", "Magistrate", "Detective")
- cost = 2
-
-/datum/gear/racial/taj/med
- display_name = "Lightweight veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built medical HUD."
- path = /obj/item/clothing/glasses/hud/health/tajblind
- allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Coroner")
- cost = 2
-
-/datum/gear/racial/taj/sci
- display_name = "Hi-tech veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
- path = /obj/item/clothing/glasses/tajblind/sci
- cost = 2
-
-/datum/gear/racial/taj/eng
- display_name = "Industrial veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
- path = /obj/item/clothing/glasses/tajblind/eng
- cost = 2
-
-/datum/gear/racial/taj/cargo
- display_name = "Khaki veil"
- description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. It is light and comfy!"
- path = /obj/item/clothing/glasses/tajblind/cargo
- cost = 2
-
/datum/gear/racial/footwraps
display_name = "Cloth footwraps"
path = /obj/item/clothing/shoes/footwraps
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index afbbd575e83..c3193281b5b 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -219,6 +219,8 @@
var/list/color_view = null//overrides client.color while worn
var/prescription = FALSE
var/prescription_upgradable = FALSE
+ /// Overrides colorblindness when interacting with wires
+ var/correct_wires = FALSE
var/over_mask = FALSE //Whether or not the eyewear is rendered above the mask. Purely cosmetic.
strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets
put_on_delay = 25
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 38667b158bb..3f763b55d91 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -530,51 +530,3 @@
icon_state = "cybereye-red"
item_state = "eyepatch"
flags = NODROP
-
-/obj/item/clothing/glasses/tajblind
- name = "embroidered veil"
- desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes."
- icon_state = "tajblind"
- item_state = "tajblind"
- flags_cover = GLASSESCOVERSEYES
- actions_types = list(/datum/action/item_action/toggle)
- up = FALSE
- tint = FLASH_PROTECTION_NONE
- prescription_upgradable = TRUE
-
- sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi',
- "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi',
- "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi'
- )
-
-/obj/item/clothing/glasses/tajblind/eng
- name = "industrial veil"
- icon_state = "tajblind_engi"
- item_state = "tajblind_engi"
-
-/obj/item/clothing/glasses/tajblind/sci
- name = "hi-tech veil"
- icon_state = "tajblind_sci"
- item_state = "tajblind_sci"
-
-/obj/item/clothing/glasses/tajblind/cargo
- name = "khaki veil"
- icon_state = "tajblind_cargo"
- item_state = "tajblind_cargo"
-
-/obj/item/clothing/glasses/tajblind/attack_self()
- toggle_veil()
-
-/obj/item/clothing/glasses/proc/toggle_veil()
- if(HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.incapacitated())
- return
- up = !up
- if(up)
- tint = 3
- else
- tint = initial(tint)
- to_chat(usr, up ? "You deactivate [src], obscuring your vision." : "You activate [src], allowing you to see.")
- var/mob/living/carbon/user = usr
- user.update_tint()
- user.update_inv_glasses()
diff --git a/code/modules/clothing/glasses/hudglasses.dm b/code/modules/clothing/glasses/hudglasses.dm
index a87eedd9ea8..b45c9d9c447 100644
--- a/code/modules/clothing/glasses/hudglasses.dm
+++ b/code/modules/clothing/glasses/hudglasses.dm
@@ -172,41 +172,6 @@
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
-/obj/item/clothing/glasses/hud/security/tajblind
- name = "sleek veil"
- desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an in-built security HUD."
- icon_state = "tajblind_sec"
- item_state = "tajblind_sec"
- flash_protect = FLASH_PROTECTION_FLASH
- flags_cover = GLASSESCOVERSEYES
- actions_types = list(/datum/action/item_action/toggle)
- up = FALSE
-
- sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi'
- )
-
-/obj/item/clothing/glasses/hud/security/tajblind/attack_self()
- toggle_veil()
-
-/obj/item/clothing/glasses/hud/health/tajblind
- name = "lightweight veil"
- desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an installed medical HUD."
- icon_state = "tajblind_med"
- item_state = "tajblind_med"
- flags_cover = GLASSESCOVERSEYES
- actions_types = list(/datum/action/item_action/toggle)
- up = FALSE
-
- sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi',
- "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi',
- "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi'
- )
-
-/obj/item/clothing/glasses/hud/health/tajblind/attack_self()
- toggle_veil()
-
/obj/item/clothing/glasses/hud/skills
name = "skills HUD"
desc = "A heads-up display capable of showing the employment history records of NT crew members."
diff --git a/code/modules/clothing/glasses/tajblind.dm b/code/modules/clothing/glasses/tajblind.dm
new file mode 100644
index 00000000000..306652a4a9f
--- /dev/null
+++ b/code/modules/clothing/glasses/tajblind.dm
@@ -0,0 +1,193 @@
+#define MODE_OFF "veiled"
+#define MODE_NATURAL "natural sight"
+#define MODE_CORRECTION "correction"
+
+/obj/item/clothing/glasses/hud/tajblind
+ name = "\improper Tajaran veil"
+ desc = "A sleek, high-tech Tajaran veil, adapted from ancient designs and important to their culture and spirituality.
\
+ Can switch between three modes: Sight-blocking veiled mode, transparent natural sight mode and colorblindness correction mode."
+ icon_state = "tajblind"
+ item_state = "tajblind"
+ actions_types = list(/datum/action/item_action/toggle)
+ color_view = MATRIX_STANDARD
+ correct_wires = TRUE
+ var/list/modes = list(MODE_OFF = MODE_NATURAL, MODE_NATURAL = MODE_CORRECTION, MODE_CORRECTION = MODE_OFF)
+ var/selected_mode = MODE_CORRECTION
+
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi',
+ "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi'
+ )
+
+/obj/item/clothing/glasses/hud/tajblind/attack_self(mob/user)
+ toggle_veil(user, TRUE)
+
+/obj/item/clothing/glasses/hud/tajblind/proc/toggle_veil(mob/user, voluntary)
+ var/mob/living/carbon/human/H = user
+ selected_mode = modes[selected_mode]
+ to_chat(user, "[voluntary ? "You turn the veil" : "The veil turns"] [selected_mode ? "to [selected_mode] mode" : "off"][voluntary ? "." : "!"]")
+
+ switch(selected_mode)
+ if(MODE_OFF)
+ tint = TINT_BLIND
+ flash_protect = FLASH_PROTECTION_WELDER
+ color_view = null
+ correct_wires = FALSE
+
+ if(MODE_NATURAL)
+ tint = initial(tint)
+ flash_protect = initial(flash_protect)
+ color_view = null
+
+ if(MODE_CORRECTION)
+ tint = initial(tint)
+ flash_protect = initial(flash_protect)
+ color_view = MATRIX_STANDARD
+ correct_wires = TRUE
+
+ if(ishuman(H) && H.glasses == src)
+ H.update_sight()
+ H.update_client_colour()
+
+/obj/item/clothing/glasses/hud/tajblind/examine_more(mob/user)
+ . = ..()
+ . += "Tajaran Veils have long been an important part of their spirituality and culture, suppressed by the Overseers and making a strong return after the civil war. Tajaran believe that to see one’s eyes is to see their soul, and thus the more spiritual Tajara wear veils to conceal their eyes from everyone but the ones closest to them.
\
+ These current designs are adapted from recreations of the ancient veils, created by the Alchemists Guild. Technologically advanced and created to help Tajara adapt to life in the larger galactic community, they have systems built-in that allow them to have holographic huds, as well as corrective technology to help Tajaran overcome their genetic tritanopia colour blindness.
\
+ Availability on the wider market is highly restricted as a result of their cultural importance, as well as the patent held by the Alchemists Guild, and the lenses are very hard to reverse engineer. Popular theories suggest this as a result of the unique materials available on Adhomai, or the inability to recreate the light conditions of the Tajara homeworld."
+
+/obj/item/clothing/glasses/hud/tajblind/meson
+ name = "\improper Tajaran engineering meson veil"
+ icon_state = "tajblind_engi"
+ item_state = "tajblind_engi"
+
+/obj/item/clothing/glasses/hud/tajblind/meson/Initialize()
+ ..()
+ desc += "
It has an optical meson scanner integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/meson/equipped(mob/user, slot, initial)
+ . = ..()
+ if(slot == SLOT_HUD_GLASSES)
+ ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
+
+/obj/item/clothing/glasses/hud/tajblind/meson/dropped(mob/user)
+ . = ..()
+ if(user)
+ REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
+
+/obj/item/clothing/glasses/hud/tajblind/meson/cargo
+ name = "\improper Tajaran mining meson veil"
+ icon_state = "tajblind_cargo"
+ item_state = "tajblind_cargo"
+
+/obj/item/clothing/glasses/hud/tajblind/sci
+ name = "\improper Tajaran scientific veil"
+ icon_state = "tajblind_sci"
+ item_state = "tajblind_sci"
+ scan_reagents = 1
+ actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner)
+
+/obj/item/clothing/glasses/hud/tajblind/sci/Initialize()
+ ..()
+ desc += "
It has science goggles integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/sci/item_action_slot_check(slot)
+ if(slot == SLOT_HUD_GLASSES)
+ return TRUE
+
+/obj/item/clothing/glasses/hud/tajblind/med
+ name = "\improper Tajaran medical veil"
+ icon_state = "tajblind_med"
+ item_state = "tajblind_med"
+ hud_types = DATA_HUD_MEDICAL_ADVANCED
+ examine_extensions = list(EXAMINE_HUD_MEDICAL_READ)
+
+/obj/item/clothing/glasses/hud/tajblind/med/Initialize()
+ ..()
+ desc += "
It has a health HUD integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/sec
+ name = "\improper Tajaran security veil"
+ icon_state = "tajblind_sec"
+ item_state = "tajblind_sec"
+ hud_types = DATA_HUD_SECURITY_ADVANCED
+ examine_extensions = list(EXAMINE_HUD_SECURITY_READ)
+
+/obj/item/clothing/glasses/hud/tajblind/sec/Initialize()
+ ..()
+ desc += "
It has a security HUD integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/shaded
+ name = "shaded Tajaran veil"
+ flash_protect = FLASH_PROTECTION_FLASH
+ tint = FLASH_PROTECTION_FLASH
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/Initialize()
+ ..()
+ desc += "
It has an in-built flash protection."
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/meson
+ name = "shaded Tajaran engineering meson veil"
+ icon_state = "tajblind_engi"
+ item_state = "tajblind_engi"
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/meson/Initialize()
+ ..()
+ desc += "
It has an optical meson scanner integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/meson/equipped(mob/user, slot, initial)
+ . = ..()
+ if(slot == SLOT_HUD_GLASSES)
+ ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/meson/dropped(mob/user)
+ . = ..()
+ if(user)
+ REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]")
+
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo
+ name = "shaded Tajaran mining meson veil"
+ icon_state = "tajblind_cargo"
+ item_state = "tajblind_cargo"
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/sci
+ name = "shaded Tajaran scientific veil"
+ icon_state = "tajblind_sci"
+ item_state = "tajblind_sci"
+ scan_reagents = 1
+ actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner)
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/sci/Initialize()
+ ..()
+ desc += "
It has science goggles integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/sci/item_action_slot_check(slot)
+ if(slot == SLOT_HUD_GLASSES)
+ return TRUE
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/med
+ name = "shaded Tajaran medical veil"
+ icon_state = "tajblind_med"
+ item_state = "tajblind_med"
+ hud_types = DATA_HUD_MEDICAL_ADVANCED
+ examine_extensions = list(EXAMINE_HUD_MEDICAL_READ)
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/med/Initialize()
+ ..()
+ desc += "
It has a health HUD integrated into it."
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/sec
+ name = "shaded Tajaran security veil"
+ icon_state = "tajblind_sec"
+ item_state = "tajblind_sec"
+ see_in_dark = 1
+ hud_types = DATA_HUD_SECURITY_ADVANCED
+ examine_extensions = list(EXAMINE_HUD_SECURITY_READ)
+
+/obj/item/clothing/glasses/hud/tajblind/shaded/sec/Initialize()
+ ..()
+ desc += "
It has a security HUD integrated into it."
+
+#undef MODE_OFF
+#undef MODE_NATURAL
+#undef MODE_CORRECTION
diff --git a/code/modules/crafting/tailoring.dm b/code/modules/crafting/tailoring.dm
index eca646a91e8..51e0a616a28 100644
--- a/code/modules/crafting/tailoring.dm
+++ b/code/modules/crafting/tailoring.dm
@@ -305,6 +305,254 @@
reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1)
category = CAT_CLOTHING
+/datum/crafting_recipe/shaded_tajblind
+ name = "Shaded Tajaran veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/sunglasses = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/sunglasses)
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_tajblind_removal
+ name = "Shaded Tajaran veil removal"
+ result = list(/obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_tajblind_removal/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/shaded)
+
+/datum/crafting_recipe/engi_tajblind
+ name = "Tajaran engineering meson veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/meson)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/meson = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/engi_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+ blacklist += subtypesof(/obj/item/clothing/glasses/meson)
+
+/datum/crafting_recipe/engi_tajblind_removal
+ name = "Tajaran engineering meson removal"
+ result = list(/obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/meson = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/engi_tajblind_removal/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/meson)
+
+/datum/crafting_recipe/shaded_engi_tajblind
+ name = "Shaded Tajaran engineering meson veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/meson/sunglasses = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_engi_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_engi_tajblind_removal
+ name = "Shaded Tajaran engineering meson veil removal"
+ result = list(/obj/item/clothing/glasses/meson/sunglasses, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_engi_tajblind_removal/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/shaded/meson)
+
+/datum/crafting_recipe/cargo_tajblind
+ name = "Tajaran mining meson veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/meson/cargo)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/meson = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/cargo_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+ blacklist += subtypesof(/obj/item/clothing/glasses/meson)
+
+/datum/crafting_recipe/cargo_tajblind_removal
+ name = "Tajaran mining meson veil removal"
+ result = list(/obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/meson/cargo = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_cargo_tajblind
+ name = "Shaded Tajaran mining meson veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/meson/sunglasses = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_cargo_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_cargo_tajblind_removal
+ name = "Shaded Tajaran mining meson veil removal"
+ result = list(/obj/item/clothing/glasses/meson/sunglasses, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/sci_tajblind
+ name = "Tajaran scientific veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/sci)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/science = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/sci_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/sci_tajblind_removal
+ name = "Tajaran scientific veil removal"
+ result = list(/obj/item/clothing/glasses/science, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/sci = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_sci_tajblind
+ name = "Shaded Tajaran scientific veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sci)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_sci_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_sci_tajblind_removal
+ name = "Shaded Tajaran scientific veil removal"
+ result = list(/obj/item/clothing/glasses/sunglasses/reagent, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sci = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/med_tajblind
+ name = "Tajaran medical veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/med)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/health = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/med_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/health)
+
+/datum/crafting_recipe/med_tajblind_removal
+ name = "Tajaran medical veil removal"
+ result = list(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/med = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_med_tajblind
+ name = "Shaded Tajaran medical veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/med)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_med_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_med_tajblind_removal
+ name = "Shaded Tajaran medical veil removal"
+ result = list(/obj/item/clothing/glasses/hud/health/sunglasses, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/med = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/sec_tajblind
+ name = "Tajaran security veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/sec)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/security = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/sec_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/security)
+
+/datum/crafting_recipe/sec_tajblind_removal
+ name = "Tajaran security veil removal"
+ result = list(/obj/item/clothing/glasses/hud/security, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/sec = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_sec_tajblind
+ name = "Shaded Tajaran security veil"
+ result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sec)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1,
+ /obj/item/clothing/glasses/hud/tajblind = 1)
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/shaded_sec_tajblind/New()
+ ..()
+ blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind)
+
+/datum/crafting_recipe/shaded_sec_tajblind_removal
+ name = "Shaded Tajaran security veil removal"
+ result = list(/obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/glasses/hud/tajblind)
+ time = 2 SECONDS
+ tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
+ reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sec = 1)
+ category = CAT_CLOTHING
+
/datum/crafting_recipe/ghostsheet
name = "Ghost Sheet"
result = list(/obj/item/clothing/suit/ghost_sheet)
diff --git a/paradise.dme b/paradise.dme
index 5b67be5b266..644cbdc20a6 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1657,6 +1657,7 @@
#include "code\modules\clothing\glasses\glasses.dm"
#include "code\modules\clothing\glasses\hudglasses.dm"
#include "code\modules\clothing\glasses\hudgoggles.dm"
+#include "code\modules\clothing\glasses\tajblind.dm"
#include "code\modules\clothing\gloves\boxing_gloves.dm"
#include "code\modules\clothing\gloves\colored_gloves.dm"
#include "code\modules\clothing\gloves\misc_gloves.dm"