diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index eb91fb553eb..a96337856ac 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -88,4 +88,5 @@
new /obj/item/device/analyzer(src)
new /obj/item/tapeproj/engineering(src)
new /obj/item/weapon/watertank/atmos(src)
- new /obj/item/clothing/suit/fire/atmos(src)
\ No newline at end of file
+ new /obj/item/clothing/suit/fire/atmos(src)
+ new /obj/item/clothing/glasses/meson/engine/tray(src)
\ No newline at end of file
diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm
index 5062d3aeda4..8f92ce9acca 100644
--- a/code/modules/clothing/glasses/engine_goggles.dm
+++ b/code/modules/clothing/glasses/engine_goggles.dm
@@ -7,6 +7,7 @@
var/mode = 0 //0 - regular mesons mode 1 - t-ray mode
var/invis_objects = list()
action_button_name = "Change Scanning Mode"
+ var/range = 1
/obj/item/clothing/glasses/meson/engine/attack_self()
ui_action_click()
@@ -19,13 +20,13 @@
vision_flags = 0
darkness_view = 2
invis_view = SEE_INVISIBLE_LIVING
- usr << "You toggle the goggles scanning mode to \[T-Ray]."
+ usr << "You toggle the goggles' scanning mode to \[T-Ray]."
else
SSobj.processing.Remove(src)
vision_flags = SEE_TURFS
darkness_view = 1
invis_view = SEE_INVISIBLE_MINIMUM
- usr << "You toggle the goggles scanning mode to \[Meson]."
+ usr << "You toggle the goggles' scanning mode to \[Meson]."
invis_update()
update_icon()
@@ -46,7 +47,7 @@
scan()
/obj/item/clothing/glasses/meson/engine/proc/scan()
- for(var/turf/T in range(1, loc))
+ for(var/turf/T in range(range, loc))
if(!T.intact)
continue
@@ -83,3 +84,49 @@
var/mob/living/carbon/human/user = loc
if(user.glasses == src)
user.update_inv_glasses()
+
+/obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves
+ name = "Optical T-Ray Scanner"
+ desc = "Used by engineering staff to see underfloor objects such as cables and pipes."
+ icon_state = "trayson-tray"
+ action_button_name = "Toggle Scanner Power"
+
+ mode = 1
+ var/on = 1
+ vision_flags = 0
+ darkness_view = 2
+ invis_view = SEE_INVISIBLE_LIVING
+ range = 2
+
+/obj/item/clothing/glasses/meson/engine/tray/New()
+ SSobj.processing |= src
+ ..()
+
+/obj/item/clothing/glasses/meson/engine/tray/process()
+ if(!on)
+ return null
+ ..()
+
+/obj/item/clothing/glasses/meson/engine/tray/update_icon()
+ icon_state = "trayson-tray[on ? "" : "_off"]"
+ if(istype(loc,/mob/living/carbon/human/))
+ var/mob/living/carbon/human/user = loc
+ if(user.glasses == src)
+ user.update_inv_glasses()
+
+/obj/item/clothing/glasses/meson/engine/tray/ui_action_click()
+ on = !on
+
+ if(on)
+ SSobj.processing |= src
+ usr << "You turn the goggles on."
+
+ else
+ SSobj.processing.Remove(src)
+ usr << "You turn the goggles off."
+ invis_update()
+
+ update_icon()
+
+/obj/item/clothing/glasses/meson/engine/tray/t_ray_on()
+ return on & ..()
\ No newline at end of file
diff --git a/config/admins.txt b/config/admins.txt
index 4b3dac24043..d1ebfc143f5 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -87,4 +87,5 @@ Ahammer18 = Game Master
ACCount12 = Game Master
fayrik = Game Master
shadowlight213 = Game Master
-drovidicorv = Game Master
\ No newline at end of file
+drovidicorv = Game Master
+Dunc = Game Master
\ No newline at end of file
diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi
index e3229507a35..af3b20ed303 100644
Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ
diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi
index 86209503cd1..2882987689d 100644
Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ