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