From e432958ab51db9f9e3e6e0b8cd89469bd52f805e Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 6 Feb 2012 20:24:00 -0700 Subject: [PATCH] Bugfixes for airlocks Added detective work manual, that spawns on top of the detective's computer Added RadioAlert proc Added the capability to title the NanoTrasen updates --- code/WorkInProgress/detective_work.dm | 6 +++ code/game/machinery/doors/airlock.dm | 2 + code/game/objects/items/weapons/manuals.dm | 44 +++++++++++++++++++++- code/modules/admin/admin_verbs.dm | 12 ++++++ code/modules/admin/verbs/randomverbs.dm | 5 ++- 5 files changed, 67 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/detective_work.dm b/code/WorkInProgress/detective_work.dm index 2fd443fb5cb..ad711080c98 100644 --- a/code/WorkInProgress/detective_work.dm +++ b/code/WorkInProgress/detective_work.dm @@ -81,6 +81,12 @@ obj/machinery/computer/forensic_scanning req_access = list(access_forensics_lockers) + New() + ..() + new /obj/item/weapon/book/manual/detective(src) + return + + attack_ai(mob/user) return attack_hand(user) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 43771949da9..f7535887f92 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -90,6 +90,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. name = "Airlock" icon = 'Doorcom.dmi' doortype = 1 + holdopen = 0 /obj/machinery/door/airlock/security name = "Airlock" @@ -115,6 +116,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. name = "External Airlock" icon = 'Doorext.dmi' doortype = 6 + holdopen = 0 /obj/machinery/door/airlock/glass name = "Glass Airlock" diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 162e714e4d6..7dd5fea99be 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -923,4 +923,46 @@ - "} \ No newline at end of file + "} + + +/obj/item/weapon/book/manual/detective + name = "The Film Noir: Proper Procedures for Investigations" + icon_state ="bookHacking" + author = "Nanotrasen" + + dat = {" + + + + +

Detective Work

+ +Between your bouts of self naration, and drinking whiskey on the rocks, you might get a case or two to solve.
+To have the best chance to solve your case, follow these directions: +

+

    +
  1. Go to the crime scene.
  2. +
  3. Take your scanner and scan EVERYTHING (Yes, the doors, the tables, even the dog.)
  4. +
  5. Once you are reasonably certain you have every scrap of evidence you can use, find all possible entry points and scan them, too.
  6. +
  7. Return to your office.
  8. +
  9. Using your forensic scanning computer, scan your Scanner to upload all of your evidence into the database.
  10. +
  11. Browse through the resulting dossiers, looking for the one that either has the most complete set of prints, or the most suspicious items handled.
  12. +
  13. If you have 80% or more of the print (The print is displayed) go to step 10, otherwise continue to step 8.
  14. +
  15. Look for clues from the suit fibers you found on your perp, and go about looking for more evidence with this new information, scanning as you go.
  16. +
  17. Try to get a fingerprint card of your perp, as if used in the computer, the prints will be completed on their dossier.
  18. +
  19. Assuming you have enough of a print to see it, grab the biggest complete piece of the print and search the security records for it.
  20. +
  21. Since you now have both your dossier and the name of the person, print both out as evidence, and get security to nab your baddie.
  22. +
  23. Give yourself a pat on the back and a bottle of the ships finest vodka, you did it!.
  24. +
+

+It really is that easy! Good luck! + + +"} \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 32ef83173b7..85959afb1a0 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -177,6 +177,7 @@ verbs += /client/proc/cmd_admin_godmode verbs += /client/proc/delbook verbs += /client/proc/Force_Event_admin + verbs += /client/proc/radioalert if (holder.level >= 4)//Badmin******************************************************************** verbs += /obj/admins/proc/adrev //toggle admin revives @@ -418,6 +419,7 @@ verbs -= /client/proc/cmd_admin_godmode verbs -= /client/proc/delbook verbs -= /client/proc/Force_Event_admin + verbs -= /client/proc/radioalert return @@ -860,3 +862,13 @@ M.update_body() M.update_face() M.update_clothing() + + +/client/proc/radioalert() + set category = "Fun" + set name = "Create Radio Alert" + var/message = input("Choose a message! (Don't forget the \"says, \" or similar at the start.)", "Message") as message|null + var/from = input("From whom? (Who's saying this?)", "From") as text|null + var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null) + a.autosay(message,from) + del(a) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b00bc036a2e..693c343fed0 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -528,8 +528,11 @@ Traitors and the like can also be revived with the previous role mostly intact. src << "Only administrators may use this command." return var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null + var/customname = input(usr, "Pick a title for the report.", "Title") as message|null if(!input) return + if(!customname) + customname = "NanoTrasen Update" for (var/obj/machinery/computer/communications/C in machines) if(! (C.stat & (BROKEN|NOPOWER) ) ) var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) @@ -538,7 +541,7 @@ Traitors and the like can also be revived with the previous role mostly intact. C.messagetitle.Add("[command_name()] Update") C.messagetext.Add(P.info) - command_alert(input); + command_alert(input, maintitle=customname); world << sound('commandreport.ogg') log_admin("[key_name(src)] has created a command report: [input]")