diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 922d5418cb..e0731443d5 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -4,7 +4,6 @@ T-RAY DETECTIVE SCANNER HEALTH ANALYZER GAS ANALYZER -PLANT ANALYZER MASS SPECTROMETER REAGENT SCANNER */ diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index be781a819f..b282460bd6 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -9,8 +9,38 @@ icon = 'icons/obj/device.dmi' icon_state = "hydro" item_state = "analyzer" + var/form_title + var/last_data + +/obj/item/device/analyzer/plant_analyzer/proc/print_report_verb() + set name = "Print Plant Report" + set category = "Object" + set src = usr + + if(usr.stat || usr.restrained() || usr.lying) + return + print_report(usr) + +/obj/item/device/analyzer/plant_analyzer/Topic(href, href_list) + if(..()) + return + if(href_list["print"]) + print_report(usr) + +/obj/item/device/analyzer/plant_analyzer/proc/print_report(var/mob/living/user) + if(!last_data) + user << "There is no scan data to print." + return + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src)) + P.name = "paper - [form_title]" + P.info = "[last_data]" + if(istype(user,/mob/living/carbon/human) && !(user.l_hand && user.r_hand)) + user.put_in_hands(P) + user.visible_message("\The [src] spits out a piece of paper.") + return /obj/item/device/analyzer/plant_analyzer/attack_self(mob/user as mob) + print_report(user) return 0 /obj/item/device/analyzer/plant_analyzer/afterattack(obj/target, mob/user, flag) @@ -44,12 +74,13 @@ grown_reagents = H.reagents if(!grown_seed) - user << "\red [src] can tell you nothing about [target]." + user << "\red [src] can tell you nothing about \the [target]." return var/dat = "

Plant data for [target]

" - user.visible_message("\blue [user] runs the scanner over [target].") + user.visible_message("\blue [user] runs the scanner over \the [target].") + form_title = "[grown_seed.seed_name] (#[grown_seed.uid])" dat += "

General Data

" dat += "" @@ -170,8 +201,10 @@ if(grown_seed.get_trait(TRAIT_TELEPORTING)) dat += "
The fruit is temporal/spatially unstable." + dat += "
\[print report\]" if(dat) user << browse(dat,"window=plant_analyzer") + last_data = dat return