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
This commit is contained in:
SkyMarshal
2012-02-06 20:24:00 -07:00
parent 16e38a6d7c
commit e432958ab5
5 changed files with 67 additions and 2 deletions

View File

@@ -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)

View File

@@ -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"

View File

@@ -923,4 +923,46 @@
</body>
</html>
"}
"}
/obj/item/weapon/book/manual/detective
name = "The Film Noir: Proper Procedures for Investigations"
icon_state ="bookHacking"
author = "Nanotrasen"
dat = {"<html>
<head>
<style>
h1 {font-size: 18px; margin: 15px 0px 5px;}
h2 {font-size: 15px; margin: 15px 0px 5px;}
li {margin: 2px 0px 2px 15px;}
ul {list-style: none; margin: 5px; padding: 0px;}
ol {margin: 5px; padding: 0px 15px;}
</style>
</head>
<body>
<h3>Detective Work</h3>
Between your bouts of self naration, and drinking whiskey on the rocks, you might get a case or two to solve.<br>
To have the best chance to solve your case, follow these directions:
<p>
<ol>
<li>Go to the crime scene. </li>
<li>Take your scanner and scan EVERYTHING (Yes, the doors, the tables, even the dog.) </li>
<li>Once you are reasonably certain you have every scrap of evidence you can use, find all possible entry points and scan them, too. </li>
<li>Return to your office. </li>
<li>Using your forensic scanning computer, scan your Scanner to upload all of your evidence into the database.</li>
<li>Browse through the resulting dossiers, looking for the one that either has the most complete set of prints, or the most suspicious items handled. </li>
<li>If you have 80% or more of the print (The print is displayed) go to step 10, otherwise continue to step 8.</li>
<li>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. </li>
<li>Try to get a fingerprint card of your perp, as if used in the computer, the prints will be completed on their dossier.</li>
<li>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. </li>
<li>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.</li>
<li>Give yourself a pat on the back and a bottle of the ships finest vodka, you did it!. </li>
</ol>
<p>
It really is that easy! Good luck!
</body>
</html>"}

View File

@@ -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)

View File

@@ -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]")