Adds action buttons

The chem scanners will now use action buttons instead
This commit is contained in:
Fruerlund
2017-05-22 11:08:43 +02:00
parent c3fc6951f7
commit 7b7fcf643a
2 changed files with 57 additions and 21 deletions
+56 -20
View File
@@ -379,6 +379,9 @@ REAGENT SCANNER
origin_tech = "magnets=2;biotech=2"
var/details = 0
var/recent_fail = 0
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
/obj/item/device/mass_spectrometer/New()
..()
@@ -415,7 +418,7 @@ REAGENT SCANNER
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
dat += "[R] "
dat += "[R] <br>"
recent_fail = 0
else
if(recent_fail)
@@ -426,17 +429,9 @@ REAGENT SCANNER
recent_fail = 1
if(dat)
to_chat(user, "Trace chemicals detected in blood sample: [dat]")
if(alert("Do you want to print a log file?","Scan Results","Yes", "No") == "Yes")
usr.visible_message("<span class='warning'>[src] rattles and prints out a sheet of paper.</span>")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(30)
var/obj/item/weapon/paper/P = new(usr.loc)
P.name = "Mass Spectrometer Scanner Report: [worldtime2text()]"
P.info = "<center><b>Mass Spectrometer</b></center><br><center>Data Analysis:</center><br><hr><br><b>Trace chemicals detected:</b><br>[dat]<br><hr>"
usr.put_in_hands(P)
reagents.clear_reagents()
else
reagents.clear_reagents()
datatoprint = dat
scanning = 0
reagents.clear_reagents()
else
reagents.clear_reagents()
to_chat(user, "<span class='notice'>No trace chemicals detected in blood sample.</span>")
@@ -448,6 +443,28 @@ REAGENT SCANNER
details = 1
origin_tech = "magnets=4;biotech=2"
/obj/item/device/mass_spectrometer/proc/print_report()
if(!scanning)
usr.visible_message("<span class='warning'>[src] rattles and prints out a sheet of paper.</span>")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(50)
var/obj/item/weapon/paper/P = new(get_turf(src))
P.name = "Mass Spectrometer Scanner Report: [worldtime2text()]"
P.info = "<center><b>Mass Spectrometer</b></center><br><center>Data Analysis:</center><br><hr><br><b>Trace chemicals detected:</b><br>[datatoprint]<br><hr>"
if(ismob(loc))
var/mob/M = loc
M.put_in_hands(P)
to_chat(M, "<span class='notice'>Report printed. Log cleared.<span>")
datatoprint = ""
scanning = 1
else
to_chat(usr, "<span class='notice'>[src] has no logs or is already in use.</span>")
/obj/item/device/mass_spectrometer/ui_action_click()
print_report()
/obj/item/device/reagent_scanner
name = "reagent scanner"
desc = "A hand-held reagent scanner which identifies chemical agents."
@@ -463,6 +480,9 @@ REAGENT SCANNER
origin_tech = "magnets=2;biotech=2"
var/details = 0
var/recent_fail = 0
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
/obj/item/device/reagent_scanner/afterattack(obj/O, mob/user as mob)
if(user.stat)
@@ -491,14 +511,8 @@ REAGENT SCANNER
recent_fail = 1
if(dat)
to_chat(user, "<span class='notice'>Chemicals found: [dat]</span>")
if(alert("Do you want to print a log file?","Scan Results","Yes", "No") == "Yes")
usr.visible_message("<span class='warning'>[src] rattles and prints out a sheet of paper.</span>")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(30)
var/obj/item/weapon/paper/P = new(usr.loc)
P.name = "Reagent Scanner Report: [worldtime2text()]"
P.info = "<center><b>Reagent Scanner</b></center><br><center>Data Analysis:</center><br><hr><br><b>Chemical agents detected:</b><br> [dat]<br><hr>"
usr.put_in_hands(P)
datatoprint = dat
scanning = 0
else
to_chat(user, "<span class='notice'>No active chemical agents found in [O].</span>")
else
@@ -511,6 +525,28 @@ REAGENT SCANNER
details = 1
origin_tech = "magnets=4;biotech=2"
/obj/item/device/reagent_scanner/proc/print_report()
if(!scanning)
usr.visible_message("<span class='warning'>[src] rattles and prints out a sheet of paper.</span>")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(50)
var/obj/item/weapon/paper/P = new(get_turf(src))
P.name = "Reagent Scanner Report: [worldtime2text()]"
P.info = "<center><b>Reagent Scanner</b></center><br><center>Data Analysis:</center><br><hr><br><b>Chemical agents detected:</b><br> [datatoprint]<br><hr>"
if(ismob(loc))
var/mob/M = loc
M.put_in_hands(P)
to_chat(M, "<span class='notice'>Report printed. Log cleared.<span>")
datatoprint = ""
scanning = 1
else
to_chat(usr, "<span class='notice'>[src] has no logs or is already in use.</span>")
/obj/item/device/reagent_scanner/ui_action_click()
print_report()
/obj/item/device/slime_scanner
name = "slime scanner"
icon_state = "adv_spectrometer_s"