Advertisement
BroseidonMOO

Untitled

Jan 13th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. /obj/machinery/computer/bioscanner
  2. name = "Bioscan Console"
  3. desc = "Used to perform bioscans remotely."
  4. density = 1
  5. anchored = 1.0
  6. icon_keyboard = "med_key"
  7. icon_screen = "crew"
  8. circuit = null
  9. idle_power_usage = 500
  10. active_power_usage = 500
  11. var/SCAN_TIME = 100
  12. var/COOLDOWN_TIME = 600
  13. var/target_z = 0
  14. var/active = 0
  15. var/start_time = 0
  16. var/scan_complete = 0
  17. var/targets_found = 0
  18.  
  19. /obj/machinery/computer/bioscanner/New()
  20. src.target_z = src.z //In actual use, target_z should be the planet, this is only for testing purposes.
  21. ..()
  22.  
  23. /obj/machinery/computer/bioscanner/attack_ai(user as mob)
  24. //I don't think CM uses AI, but support should be kept anyway.
  25. return src.attack_hand(user)
  26.  
  27. /obj/machinery/computer/bioscanner/attack_hand(mob/user as mob)
  28. if(..())
  29. return
  30. ui_interact(user)
  31.  
  32. /obj/machinery/computer/bioscanner/ui_interact(mob/user)
  33. //This whole bit should probably use Nano.
  34. var/dat = list()
  35. dat += {"<B>Bioscanner Interface</B><BR>"}
  36. if(src.scan_complete)
  37. dat += {"<B>SCAN RESULTS:</B><BR>
  38. Organics Detected: [src.targets_found]
  39. <A href='?src=\ref[src];complete=1'>\[DONE]</A>"}
  40. else
  41. if(src.start_time != 0 && !src.active && src.start_time + src.COOLDOWN_TIME > world.time)
  42. dat += {"<B>RECALIBRATING...</B> [(src.start_time - world.time + src.COOLDOWN_TIME) / 10] seconds remaining."}
  43. else if(src.active)
  44. dat += {"<B>SCAN IN PROGRESS...</B><BR>"}
  45. else
  46. dat += {"<A href='?src=\ref[src];scan=1'>\[BEGIN SCAN]</A>"}
  47. dat = jointext(dat,null)
  48. user << browse(text("<HEAD><TITLE>Bioscanner</TITLE></HEAD><TT>[]</TT>", dat), "window=bioscanner")
  49. onclose(user, "bioscanner")
  50. return
  51.  
  52. /obj/machinery/computer/bioscanner/Topic(href, href_list)
  53. if(..())
  54. return 1
  55.  
  56. if (href_list["scan"])
  57. if(src.active)
  58. return 0
  59. else
  60. src.active = 1
  61. src.start_time = world.time
  62.  
  63. if (href_list["complete"])
  64. src.scan_complete = 0
  65. src.targets_found = 0
  66.  
  67. src.add_fingerprint(usr)
  68. src.updateUsrDialog()
  69. return
  70.  
  71. /obj/machinery/computer/bioscanner/process()
  72. if(..())
  73. if(src.start_time != 0)
  74. if(src.start_time + src.SCAN_TIME < world.time)
  75. src.active = 0
  76. src.scan_complete = 1
  77. for(var/mob/living/carbon/H in world)
  78. if(H.z == src.target_z)
  79. if(H.stat < 2) //Apparently if .stat is less than 2, they're alive.
  80. src.targets_found++;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement