Mesons work on lavaland again (#1802)
This commit is contained in:
committed by
kevinz000
parent
5f6a2a999a
commit
82e8b54738
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user