diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 6dbbb4512d..012a446b1d 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -7,15 +7,20 @@ actions_types = list(/datum/action/item_action/toggle_mode) origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3" - mesons_on = TRUE //if set to FALSE, these goggles work as t-ray scanners. + var/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 && !mesons_on) - if(picked_excuse) - to_chat(user, "Due to [picked_excuse], the [name] cannot currently be swapped to \[Meson] mode.") - return + + +/obj/item/clothing/glasses/meson/engine/Initialize() + . = ..() + START_PROCESSING(SSobj, src) + +/obj/item/clothing/glasses/meson/engine/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/clothing/glasses/meson/engine/proc/toggle_mode(mob/user, voluntary) mesons_on = !mesons_on if(!mesons_on) @@ -103,9 +108,6 @@ invis_view = SEE_INVISIBLE_LIVING range = 2 -/obj/item/clothing/glasses/meson/engine/tray/Initialize() - . = ..() - picked_excuse = null /obj/item/clothing/glasses/meson/engine/tray/process() if(!on) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 55b2d40c4b..83adfea0c1 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -39,47 +39,6 @@ vision_flags = SEE_TURFS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE glass_colour_type = /datum/client_colour/glass_colour/lightgreen - var/static/list/meson_mining_failure_excuses = list("badly understood science", "damaged meson generators", "electromagnetic storms", "bluespace disruption", "ancient structures", \ - "ambient radiation", "seismic activity", "extreme weather", "strange signals", "excessive lava", "giant monsters", "a loose wire", "lens warping", "radiant heat", "volcanic ash", \ - "budget cuts","alien life","dense rock", "gravity", "dust") - var/picked_excuse - var/mesons_on = TRUE - -/obj/item/clothing/glasses/meson/Initialize() - . = ..() - picked_excuse = pick(meson_mining_failure_excuses) - START_PROCESSING(SSobj, src) - -/obj/item/clothing/glasses/meson/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/clothing/glasses/meson/examine(mob/user) - ..() - var/turf/T = get_turf(src) - 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) - 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(mesons_on) //if we're on mining, turn mesons OFF - toggle_mode(loc) - else if(!mesons_on) //otherwise, if we're not on mining, turn mesons back ON - toggle_mode(loc) /obj/item/clothing/glasses/meson/night name = "night vision meson scanner"