Mesons work on lavaland again (#1802)

This commit is contained in:
CitadelStationBot
2017-07-01 23:21:59 -05:00
committed by kevinz000
parent 5f6a2a999a
commit 82e8b54738
2 changed files with 12 additions and 51 deletions
+12 -10
View File
@@ -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, "<span class='warning'>Due to [picked_excuse], the [name] cannot currently be swapped to \[Meson] mode.</span>")
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)
-41
View File
@@ -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, "<span class='warning'>Due to [picked_excuse], these Meson Scanners will not be able to display terrain layouts in this area.</span>")
/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, "<span class='notice'>Your Meson Scanners have reactivated.</span>")
else if(picked_excuse)
to_chat(C, "<span class='warning'>Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.</span>")
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"