diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm
index 2f70c3bfdf..61cca9b24a 100644
--- a/code/modules/clothing/glasses/engine_goggles.dm
+++ b/code/modules/clothing/glasses/engine_goggles.dm
@@ -7,18 +7,18 @@
actions_types = list(/datum/action/item_action/toggle_mode)
origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3"
- mode = FALSE //FALSE - regular mesons mode TRUE - t-ray mode
+ mesons_on = TRUE //if set to FALSE, these goggles work as t-ray scanners.
var/range = 1
/obj/item/clothing/glasses/meson/engine/toggle_mode(mob/user, voluntary)
var/turf/T = get_turf(src)
- if(T && T.z == ZLEVEL_MINING && mode)
+ if(T && T.z == ZLEVEL_MINING && !mesons_on)
if(picked_excuse)
to_chat(user, "Due to [picked_excuse], the [name] cannot currently be swapped to \[Meson] mode.")
return
- mode = !mode
+ mesons_on = !mesons_on
- if(mode)
+ if(!mesons_on)
vision_flags = 0
darkness_view = 2
invis_view = SEE_INVISIBLE_LIVING
@@ -50,7 +50,7 @@
toggle_mode(user, TRUE)
/obj/item/clothing/glasses/meson/engine/process()
- if(!mode)
+ if(mesons_on)
var/turf/T = get_turf(src)
if(T && T.z == ZLEVEL_MINING)
toggle_mode(loc)
@@ -83,15 +83,8 @@
if(M.client)
flick_overlay(I, list(M.client), 8)
-/obj/item/clothing/glasses/meson/engine/proc/t_ray_on()
- if(!ishuman(loc))
- return 0
-
- var/mob/living/carbon/human/user = loc
- return mode & (user.glasses == src)
-
/obj/item/clothing/glasses/meson/engine/update_icon()
- icon_state = mode ? "trayson-tray" : "trayson-meson"
+ icon_state = mesons_on ? "trayson-meson" : "trayson-tray"
if(istype(loc,/mob/living/carbon/human/))
var/mob/living/carbon/human/user = loc
if(user.glasses == src)
@@ -103,7 +96,7 @@
icon_state = "trayson-tray_off"
origin_tech = "materials=3;magnets=2;engineering=2"
- mode = TRUE
+ mesons_on = FALSE
var/on = FALSE
vision_flags = 0
darkness_view = 2
@@ -135,6 +128,3 @@
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
-
-/obj/item/clothing/glasses/meson/engine/tray/t_ray_on()
- return on && ..()
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 1cc0cc6163..063f3894c9 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -42,7 +42,7 @@
var/static/list/meson_mining_failure_excuses = list("seismic activity", "excessive lava", "ambient radiation", "electromagnetic storms", "bluespace disruption", \
"gravity", "dust", "dense rock", "ash", "badly understood science", "radiant heat")
var/picked_excuse
- var/mode = FALSE //if FALSE, is in normal meson mode.
+ var/mesons_on = TRUE
/obj/item/clothing/glasses/meson/Initialize()
. = ..()
@@ -56,34 +56,28 @@
/obj/item/clothing/glasses/meson/examine(mob/user)
..()
var/turf/T = get_turf(src)
- if(T && T.z == ZLEVEL_MINING && mode && picked_excuse)
+ if(T && T.z == ZLEVEL_MINING && !mesons_on && picked_excuse)
to_chat(user, "Due to [picked_excuse], these Meson Scanners will not be able to display terrain layouts in this area.")
/obj/item/clothing/glasses/meson/proc/toggle_mode(mob/user)
- if(vision_flags & SEE_TURFS)
- mode = TRUE
- vision_flags &= ~SEE_TURFS
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- if(picked_excuse)
- to_chat(H, "Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.")
- if(H.glasses == src)
- H.update_sight()
- else if(!(vision_flags & SEE_TURFS))
- mode = FALSE
- vision_flags |= SEE_TURFS
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- to_chat(H, "Your Meson Scanners have reactivated.")
- if(H.glasses == src)
- H.update_sight()
+ vision_flags ^= SEE_TURFS
+ mesons_on = (vision_flags & SEE_TURFS)? TRUE : FALSE
+
+ if(iscarbon(user)) //only carbons can wear glasses
+ var/mob/living/carbon/C = user
+ if(!mesons_on)
+ to_chat(C, "Your Meson Scanners have reactivated.")
+ else if(picked_excuse)
+ to_chat(C, "Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.")
+ if(C.glasses == src)
+ C.update_sight()
/obj/item/clothing/glasses/meson/process()
var/turf/T = get_turf(src)
if(T && T.z == ZLEVEL_MINING)
- if(!mode)
+ if(mesons_on) //if we're on mining, turn mesons OFF
toggle_mode(loc)
- else if(mode)
+ else if(!mesons_on) //otherwise, if we're not on mining, turn mesons back ON
toggle_mode(loc)
/obj/item/clothing/glasses/meson/night