diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 4498f1bb40..fcf525cc36 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -359,7 +359,7 @@
t1 += data_core.get_manifest(0) // make it monochrome
P.info = t1
- P.name = "paper- 'Crew Manifest'"
+ P.name = text("Crew Manifest ([])", worldtime2text())
printing = null
if (modify)
modify.name = text("[modify.registered_name]'s ID Card ([modify.assignment])")
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index c73adc1162..37cdd7deb6 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -16,6 +16,14 @@
var/temp = null
var/printing = null
+/obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob)
+ if(istype(O, /obj/item/weapon/card/id) && !scan)
+ usr.drop_item()
+ O.loc = src
+ scan = O
+ user << "You insert [O]."
+ ..()
+
/obj/machinery/computer/med_data/attack_ai(user as mob)
return src.attack_hand(user)
@@ -463,23 +471,30 @@
if (href_list["print_p"])
if (!( src.printing ))
src.printing = 1
+ var/datum/data/record/record1 = null
+ var/datum/data/record/record2 = null
+ if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)))
+ record1 = active1
+ if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
+ record2 = active2
sleep(50)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
P.info = "
Medical Record
"
- if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)))
- P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"], src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"])
+ if (record1)
+ P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", record1.fields["name"], record1.fields["id"], record1.fields["sex"], record1.fields["age"], record1.fields["fingerprint"], record1.fields["p_stat"], record1.fields["m_stat"])
+ P.name = text("Medical Record ([])", record1.fields["name"])
else
P.info += "General Record Lost!
"
- if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
- P.info += text("
\nMedical Data
\nBlood Type: []
\nDNA: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", src.active2.fields["b_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"])
+ P.name = "Medical Record"
+ if (record2)
+ P.info += text("
\nMedical Data
\nBlood Type: []
\nDNA: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", record2.fields["b_type"], record2.fields["b_dna"], record2.fields["mi_dis"], record2.fields["mi_dis_d"], record2.fields["ma_dis"], record2.fields["ma_dis_d"], record2.fields["alg"], record2.fields["alg_d"], record2.fields["cdi"], record2.fields["cdi_d"], record2.fields["notes"])
var/counter = 1
- while(src.active2.fields[text("com_[]", counter)])
- P.info += text("[]
", src.active2.fields[text("com_[]", counter)])
+ while(record2.fields[text("com_[]", counter)])
+ P.info += text("[]
", record2.fields[text("com_[]", counter)])
counter++
else
P.info += "Medical Record Lost!
"
P.info += ""
- P.name = "paper- 'Medical Record'"
src.printing = null
src.add_fingerprint(usr)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 5ec442a3dd..129c677201 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -329,23 +329,30 @@ What a mess.*/
if ("Print Record")
if (!( printing ))
printing = 1
+ var/datum/data/record/record1 = null
+ var/datum/data/record/record2 = null
+ if ((istype(active1, /datum/data/record) && data_core.general.Find(active1)))
+ record1 = active1
+ if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
+ record2 = active2
sleep(50)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc )
P.info = "Security Record
"
- if ((istype(active1, /datum/data/record) && data_core.general.Find(active1)))
- P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", active1.fields["name"], active1.fields["id"], active1.fields["sex"], active1.fields["age"], active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"])
+ if (record1)
+ P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", record1.fields["name"], record1.fields["id"], record1.fields["sex"], record1.fields["age"], record1.fields["fingerprint"], record1.fields["p_stat"], record1.fields["m_stat"])
+ P.name = text("Security Record ([])", record1.fields["name"])
else
P.info += "General Record Lost!
"
- if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
- P.info += text("
\nSecurity Data
\nCriminal Status: []
\n
\nMinor Crimes: []
\nDetails: []
\n
\nMajor Crimes: []
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", active2.fields["criminal"], active2.fields["mi_crim"], active2.fields["mi_crim_d"], active2.fields["ma_crim"], active2.fields["ma_crim_d"], active2.fields["notes"])
+ P.name = "Security Record"
+ if (record2)
+ P.info += text("
\nSecurity Data
\nCriminal Status: []
\n
\nMinor Crimes: []
\nDetails: []
\n
\nMajor Crimes: []
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", record2.fields["criminal"], record2.fields["mi_crim"], record2.fields["mi_crim_d"], record2.fields["ma_crim"], record2.fields["ma_crim_d"], record2.fields["notes"])
var/counter = 1
- while(active2.fields[text("com_[]", counter)])
- P.info += text("[]
", active2.fields[text("com_[]", counter)])
+ while(record2.fields[text("com_[]", counter)])
+ P.info += text("[]
", record2.fields[text("com_[]", counter)])
counter++
else
P.info += "Security Record Lost!
"
P.info += ""
- P.name = "paper - 'Security Record'"
printing = null
updateUsrDialog()
//RECORD DELETE
diff --git a/code/modules/detectivework/detective_work.dm b/code/modules/detectivework/detective_work.dm
index 725351c777..9f2667b108 100644
--- a/code/modules/detectivework/detective_work.dm
+++ b/code/modules/detectivework/detective_work.dm
@@ -126,331 +126,333 @@ obj/machinery/computer/forensic_scanning
Topic(href,href_list)
- switch(href_list["operation"])
- if("login")
- var/mob/M = usr
- if(istype(M,/mob/living/silicon))
- authenticated = 1
- updateDialog()
- return
- if (allowed(M))
- authenticated = 1
- if("logout")
- authenticated = 0
- if("clear")
- if(canclear)
- temp = null
- if("eject")
- if(scanning)
- scanning.loc = loc
- scanning = null
- else
- temp = "Eject Failed: No Object"
- if("insert")
- var/mob/M = usr
- var/obj/item/I = M.get_active_hand()
- if(I && istype(I))
- if(istype(I, /obj/item/weapon/evidencebag))
- scanning = I.contents[1]
- scanning.loc = src
- I.overlays -= scanning
- I.icon_state = "evidenceobj"
+ if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
+ usr.set_machine(src)
+ switch(href_list["operation"])
+ if("login")
+ var/mob/M = usr
+ if(istype(M,/mob/living/silicon))
+ authenticated = 1
+ updateDialog()
+ return
+ if (allowed(M))
+ authenticated = 1
+ if("logout")
+ authenticated = 0
+ if("clear")
+ if(canclear)
+ temp = null
+ if("eject")
+ if(scanning)
+ scanning.loc = loc
+ scanning = null
else
- scanning = I
+ temp = "Eject Failed: No Object"
+ if("insert")
+ var/mob/M = usr
+ var/obj/item/I = M.get_active_hand()
+ if(I && istype(I))
+ if(istype(I, /obj/item/weapon/evidencebag))
+ scanning = I.contents[1]
+ scanning.loc = src
+ I.overlays -= scanning
+ I.icon_state = "evidenceobj"
+ else
+ scanning = I
+ M.drop_item()
+ I.loc = src
+ else
+ usr << "Invalid Object Rejected."
+ if("card") //Processing a fingerprint card.
+ var/mob/M = usr
+ var/obj/item/I = M.get_active_hand()
+ if(!(I && istype(I,/obj/item/weapon/f_card)))
+ I = card
+ if(I && istype(I,/obj/item/weapon/f_card))
+ card = I
+ if(!card.fingerprints)
+ card.fingerprints = list()
+ if(card.amount > 1 || !card.fingerprints.len)
+ usr << "\red ERROR: No prints/too many cards."
+ if(card.loc == src)
+ card.loc = src.loc
+ card = null
+ return
M.drop_item()
I.loc = src
- else
- usr << "Invalid Object Rejected."
- if("card") //Processing a fingerprint card.
- var/mob/M = usr
- var/obj/item/I = M.get_active_hand()
- if(!(I && istype(I,/obj/item/weapon/f_card)))
- I = card
- if(I && istype(I,/obj/item/weapon/f_card))
- card = I
- if(!card.fingerprints)
- card.fingerprints = list()
- if(card.amount > 1 || !card.fingerprints.len)
- usr << "\red ERROR: No prints/too many cards."
- if(card.loc == src)
- card.loc = src.loc
- card = null
- return
- M.drop_item()
- I.loc = src
- process_card()
- else
- usr << "\red Invalid Object Rejected."
- if("database") //Viewing all records in each database
- canclear = 1
- if(href_list["delete_record"])
- delete_dossier(href_list["delete_record"])
- if(href_list["delete_aux"])
- delete_record(href_list["delete_aux"])
- if((!misc || !misc.len) && (!files || !files.len))
- temp = "Database is empty."
- else
- if(files && files.len)
- temp = "Criminal Evidence Database
"
- temp += "Consolidated data points:
"
- for(var/print in files)
- var/list/file = files[print]
- temp += "{[file[2]]}
"
- temp += "
{Insert Finger Print Card (To complete a Dossier)}
"
+ process_card()
else
- temp = ""
- if(misc && misc.len)
- temp += {"Auxiliary Evidence Database
- This is where anything without fingerprints goes.
"}
- for(var/atom in misc)
- var/list/data_entry = misc[atom]
- temp += "{[data_entry[3]]}
"
- if("record") //Viewing a record from the "files" database.
- canclear = 0
- if(files)
- var/list/dossier = files[href_list["identifier"]]
- if(href_list["ren"])
- var/new_title = copytext(sanitize(input("Rename to what?", "Dossier Editing", "Dossier [files.Find(href_list["identifier"])]") as null|text),1,MAX_MESSAGE_LEN)
- if(new_title)
- dossier[2] = new_title
+ usr << "\red Invalid Object Rejected."
+ if("database") //Viewing all records in each database
+ canclear = 1
+ if(href_list["delete_record"])
+ delete_dossier(href_list["delete_record"])
+ if(href_list["delete_aux"])
+ delete_record(href_list["delete_aux"])
+ if((!misc || !misc.len) && (!files || !files.len))
+ temp = "Database is empty."
+ else
+ if(files && files.len)
+ temp = "Criminal Evidence Database
"
+ temp += "Consolidated data points:
"
+ for(var/print in files)
+ var/list/file = files[print]
+ temp += "{[file[2]]}
"
+ temp += "
{Insert Finger Print Card (To complete a Dossier)}
"
else
- usr << "Illegal or blank name."
- temp = {"Criminal Evidence Database
- Consolidated data points: [dossier[2]]
"}
- var/print_string = "Fingerprints: Print not complete!
"
- if(stringpercent(dossier[1]) <= FINGERPRINT_COMPLETE)
- print_string = "Fingerprints: (80% or higher completion reached)
[dossier[1]]
"
- temp += print_string
- for(var/object in dossier)
- if(object == dossier[1] || object == dossier[2])
- continue
- temp += "
"
- var/list/outputs = dossier[object]
- var/list/prints = outputs[1]
- temp += "Object: [outputs[4]]
"
- temp += " Fingerprints:
"
- temp += " [prints.len] Unique fingerprints found.
"
- var/complete_prints = 0
- for(var/print in prints)
- if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
- complete_prints++
- temp += " [prints[print]]
"
- if(complete_prints)
- temp += " And [prints.len - complete_prints] unknown unique prints.
"
- else
- temp += " No prints of sufficient completeness.
"
- var/list/fibers = outputs[2]
+ temp = ""
+ if(misc && misc.len)
+ temp += {"Auxiliary Evidence Database
+ This is where anything without fingerprints goes.
"}
+ for(var/atom in misc)
+ var/list/data_entry = misc[atom]
+ temp += "{[data_entry[3]]}
"
+ if("record") //Viewing a record from the "files" database.
+ canclear = 0
+ if(files)
+ var/list/dossier = files[href_list["identifier"]]
+ if(href_list["ren"])
+ var/new_title = copytext(sanitize(input("Rename to what?", "Dossier Editing", "Dossier [files.Find(href_list["identifier"])]") as null|text),1,MAX_MESSAGE_LEN)
+ if(new_title)
+ dossier[2] = new_title
+ else
+ usr << "Illegal or blank name."
+ temp = {"Criminal Evidence Database
+ Consolidated data points: [dossier[2]]
"}
+ var/print_string = "Fingerprints: Print not complete!
"
+ if(stringpercent(dossier[1]) <= FINGERPRINT_COMPLETE)
+ print_string = "Fingerprints: (80% or higher completion reached)
[dossier[1]]
"
+ temp += print_string
+ for(var/object in dossier)
+ if(object == dossier[1] || object == dossier[2])
+ continue
+ temp += "
"
+ var/list/outputs = dossier[object]
+ var/list/prints = outputs[1]
+ temp += "Object: [outputs[4]]
"
+ temp += " Fingerprints:
"
+ temp += " [prints.len] Unique fingerprints found.
"
+ var/complete_prints = 0
+ for(var/print in prints)
+ if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
+ complete_prints++
+ temp += " [prints[print]]
"
+ if(complete_prints)
+ temp += " And [prints.len - complete_prints] unknown unique prints.
"
+ else
+ temp += " No prints of sufficient completeness.
"
+ var/list/fibers = outputs[2]
+ if(fibers && fibers.len)
+ temp += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ temp += " [fibers[j]]
"
+ var/list/blood = outputs[3]
+ if(blood && blood.len)
+ temp += " Blood:
"
+ for(var/named in blood)
+ temp += " Type: [blood[named]], DNA: [named]
"
+ temp += "
{Rename this Dossier}"
+ temp += "
{Delete this Dossier}"
+ temp += "
{Print}"
+ else
+ temp = "ERROR. Database not found!
"
+ temp += "
{Return}"
+ if("databaseprint") //Printing from the "files" database.
+ if(files)
+ var/obj/item/weapon/paper/P = new(loc)
+ var/list/dossier = files[href_list["identifier"]]
+ P.name = "\improper Database File ([dossier[2]])"
+ P.overlays += "paper_words"
+ P.info = "Criminal Evidence Database
"
+ P.info += "Consolidated data points: [dossier[2]]
"
+ var/print_string = "Fingerprints: Print not complete!
"
+ if(stringpercent(dossier[1]) <= FINGERPRINT_COMPLETE)
+ print_string = "Fingerprints: (80% or higher completion reached)
[dossier[1]]
"
+ P.info += print_string
+ for(var/object in dossier)
+ if(object == dossier[1] || object == dossier[2])
+ continue
+ P.info += "
"
+ var/list/outputs = dossier[object]
+ var/list/prints = outputs[1]
+ P.info += "Object: [outputs[4]]
"
+ P.info += " Fingerprints:
"
+ P.info += " [prints.len] Unique fingerprints found.
"
+ var/complete_prints = 0
+ for(var/print in prints)
+ if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
+ complete_prints++
+ P.info += " [prints[print]]
"
+ if(complete_prints)
+ P.info += " And [prints.len - complete_prints] unknown unique prints.
"
+ else
+ P.info += " No prints of sufficient completeness.
"
+ var/list/fibers = outputs[2]
+ if(fibers && fibers.len)
+ P.info += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ P.info += " [fibers[j]]
"
+ var/list/blood = outputs[3]
+ if(blood && blood.len)
+ P.info += " Blood:
"
+ for(var/named in blood)
+ P.info += " Type: [blood[named]], DNA: [named]
"
+ else
+ usr << "ERROR. Database not found!
"
+ if("auxiliary") //Viewing a record from the "misc" database.
+ canclear = 0
+ if(misc)
+ temp = "Auxiliary Evidence Database
"
+ var/list/outputs = misc[href_list["identifier"]]
+ temp += "Consolidated data points: [outputs[3]]
"
+ var/list/prints = outputs[4]
+ if(prints)
+ temp += " Fingerprints:
"
+ temp += " [prints.len] Unique fingerprints found.
"
+ var/complete_prints = 0
+ for(var/print in prints)
+ if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
+ complete_prints++
+ temp += " [prints[print]]
"
+ if(complete_prints)
+ temp += " And [prints.len - complete_prints] unknown unique prints.
"
+ else
+ temp += " No prints of sufficient completeness.
"
+ var/list/fibers = outputs[1]
if(fibers && fibers.len)
temp += " Fibers:
"
- for(var/j = 1, j <= fibers.len, j++)
- temp += " [fibers[j]]
"
- var/list/blood = outputs[3]
+ for(var/fiber in fibers)
+ temp += " [fiber]
"
+ var/list/blood = outputs[2]
if(blood && blood.len)
temp += " Blood:
"
for(var/named in blood)
temp += " Type: [blood[named]], DNA: [named]
"
- temp += "
{Rename this Dossier}"
- temp += "
{Delete this Dossier}"
- temp += "
{Print}"
- else
- temp = "ERROR. Database not found!
"
- temp += "
{Return}"
- if("databaseprint") //Printing from the "files" database.
- if(files)
- var/obj/item/weapon/paper/P = new(loc)
- var/list/dossier = files[href_list["identifier"]]
- P.name = "\improper Database File ([dossier[2]])"
- P.overlays += "paper_words"
- P.info = "Criminal Evidence Database
"
- P.info += "Consolidated data points: [dossier[2]]
"
- var/print_string = "Fingerprints: Print not complete!
"
- if(stringpercent(dossier[1]) <= FINGERPRINT_COMPLETE)
- print_string = "Fingerprints: (80% or higher completion reached)
[dossier[1]]
"
- P.info += print_string
- for(var/object in dossier)
- if(object == dossier[1] || object == dossier[2])
- continue
- P.info += "
"
- var/list/outputs = dossier[object]
- var/list/prints = outputs[1]
- P.info += "Object: [outputs[4]]
"
- P.info += " Fingerprints:
"
- P.info += " [prints.len] Unique fingerprints found.
"
- var/complete_prints = 0
- for(var/print in prints)
- if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
- complete_prints++
- P.info += " [prints[print]]
"
- if(complete_prints)
- P.info += " And [prints.len - complete_prints] unknown unique prints.
"
- else
- P.info += " No prints of sufficient completeness.
"
- var/list/fibers = outputs[2]
+ temp += "
{Delete This Record}"
+ temp += "
{Print}"
+ else
+ temp = "ERROR. Database not found!
"
+ temp += "
{Return}"
+ if("auxiliaryprint") //Printing from the "misc" database.
+ if(misc)
+ var/obj/item/weapon/paper/P = new(loc)
+ var/list/outputs = misc[href_list["identifier"]]
+ P.name = "\improper Auxiliary Database File ([outputs[3]])"
+ P.overlays += "paper_words"
+ P.info = "Auxiliary Evidence Database
"
+ P.info += "Consolidated data points: [outputs[3]]
"
+ var/list/prints = outputs[4]
+ if(prints)
+ P.info += " Fingerprints:
"
+ P.info += " [prints.len] Unique fingerprints found.
"
+ var/complete_prints = 0
+ for(var/print in prints)
+ if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
+ complete_prints++
+ P.info += " [prints[print]]
"
+ if(complete_prints)
+ P.info += " And [prints.len - complete_prints] unknown unique prints.
"
+ else
+ P.info += " No prints of sufficient completeness.
"
+ var/list/fibers = outputs[1]
if(fibers && fibers.len)
P.info += " Fibers:
"
- for(var/j = 1, j <= fibers.len, j++)
- P.info += " [fibers[j]]
"
- var/list/blood = outputs[3]
+ for(var/fiber in fibers)
+ P.info += " [fiber]
"
+ var/list/blood = outputs[2]
if(blood && blood.len)
P.info += " Blood:
"
for(var/named in blood)
P.info += " Type: [blood[named]], DNA: [named]
"
- else
- usr << "ERROR. Database not found!
"
- if("auxiliary") //Viewing a record from the "misc" database.
- canclear = 0
- if(misc)
- temp = "Auxiliary Evidence Database
"
- var/list/outputs = misc[href_list["identifier"]]
- temp += "Consolidated data points: [outputs[3]]
"
- var/list/prints = outputs[4]
- if(prints)
- temp += " Fingerprints:
"
- temp += " [prints.len] Unique fingerprints found.
"
- var/complete_prints = 0
- for(var/print in prints)
- if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
- complete_prints++
- temp += " [prints[print]]
"
- if(complete_prints)
- temp += " And [prints.len - complete_prints] unknown unique prints.
"
- else
- temp += " No prints of sufficient completeness.
"
- var/list/fibers = outputs[1]
- if(fibers && fibers.len)
- temp += " Fibers:
"
- for(var/fiber in fibers)
- temp += " [fiber]
"
- var/list/blood = outputs[2]
- if(blood && blood.len)
- temp += " Blood:
"
- for(var/named in blood)
- temp += " Type: [blood[named]], DNA: [named]
"
- temp += "
{Delete This Record}"
- temp += "
{Print}"
- else
- temp = "ERROR. Database not found!
"
- temp += "
{Return}"
- if("auxiliaryprint") //Printing from the "misc" database.
- if(misc)
- var/obj/item/weapon/paper/P = new(loc)
- var/list/outputs = misc[href_list["identifier"]]
- P.name = "\improper Auxiliary Database File ([outputs[3]])"
- P.overlays += "paper_words"
- P.info = "Auxiliary Evidence Database
"
- P.info += "Consolidated data points: [outputs[3]]
"
- var/list/prints = outputs[4]
- if(prints)
- P.info += " Fingerprints:
"
- P.info += " [prints.len] Unique fingerprints found.
"
- var/complete_prints = 0
- for(var/print in prints)
- if(stringpercent(prints[print]) <= FINGERPRINT_COMPLETE)
- complete_prints++
- P.info += " [prints[print]]
"
- if(complete_prints)
- P.info += " And [prints.len - complete_prints] unknown unique prints.
"
- else
- P.info += " No prints of sufficient completeness.
"
- var/list/fibers = outputs[1]
- if(fibers && fibers.len)
- P.info += " Fibers:
"
- for(var/fiber in fibers)
- P.info += " [fiber]
"
- var/list/blood = outputs[2]
- if(blood && blood.len)
- P.info += " Blood:
"
- for(var/named in blood)
- P.info += " Type: [blood[named]], DNA: [named]
"
- else
- usr << "ERROR. Database not found!
"
- if("scan")
- if(istype(scanning,/obj/item/weapon/f_card))
- card = scanning
- scanning = initial(scanning)
- process_card()
- else if(scanning)
- scan_process = 3
- scan_data = "Scanning [scanning]: 25% complete"
- updateDialog()
- sleep(50)
- if(!scan_process)
- scan_data = null
+ else
+ usr << "ERROR. Database not found!
"
+ if("scan")
+ if(istype(scanning,/obj/item/weapon/f_card))
+ card = scanning
+ scanning = initial(scanning)
+ process_card()
+ else if(scanning)
+ scan_process = 3
+ scan_data = "Scanning [scanning]: 25% complete"
updateDialog()
- return
- scan_data = "Scanning [scanning]: 50% complete"
- updateDialog()
- scan_process = 2
- sleep(50)
- if(!scan_process)
- scan_data = null
+ sleep(50)
+ if(!scan_process)
+ scan_data = null
+ updateDialog()
+ return
+ scan_data = "Scanning [scanning]: 50% complete"
updateDialog()
- return
- scan_data = "Scanning [scanning]: 75% complete"
- updateDialog()
- scan_process = 1
- sleep(50)
- if(!scan_process)
- scan_data = null
+ scan_process = 2
+ sleep(50)
+ if(!scan_process)
+ scan_data = null
+ updateDialog()
+ return
+ scan_data = "Scanning [scanning]: 75% complete"
updateDialog()
- return
+ scan_process = 1
+ sleep(50)
+ if(!scan_process)
+ scan_data = null
+ updateDialog()
+ return
+ if(scanning)
+ scan_process = 0
+ scan_name = scanning.name
+ scan_data = "[scanning]
"
+ if (scanning.blood_DNA)
+ scan_data += "Blood Found:
"
+ for(var/blood in scanning.blood_DNA)
+ scan_data += "Blood type: [scanning.blood_DNA[blood]]\nDNA: [blood]
"
+ else
+ scan_data += "No Blood Found
"
+ if(!scanning.fingerprints)
+ scan_data += "No Fingerprints Found
"
+ else
+ scan_data += "Isolated [scanning.fingerprints.len] Fingerprints. Loaded into database.
"
+ add_data(scanning)
+
+ if(!scanning.suit_fibers)
+ scan_data += "No Fibers/Materials Located
"
+ else
+ scan_data += "Fibers/Materials Found:
"
+ for(var/data in scanning.suit_fibers)
+ scan_data += "- [data]
"
+ if(istype(scanning,/obj/item/device/detective_scanner) || (istype(scanning, /obj/item/device/pda) && scanning:cartridge && scanning:cartridge.access_security))
+ scan_data += "
Data transfered from \the [scanning] to Database.
"
+ add_data_scanner(scanning)
+ else if(!scanning.fingerprints)
+ scan_data += "
Add to Database?
"
+ else
+ temp = "Scan Failed: No Object"
+
+
+ if("print") //Printing scan data
+ if(scan_data)
+ temp = "Scan Data Printed."
+ var/obj/item/weapon/paper/P = new(loc)
+ P.name = "\improper Scan Data ([scan_name])"
+ P.info = "[scan_data]"
+ P.overlays += "paper_words"
+ else
+ temp = "Print Failed: No Data"
+ if("erase")
+ scan_data = ""
+ if("cancel")
+ scan_process = 0
+ if("add") //Adding an object (Manually) to the database.
if(scanning)
- scan_process = 0
- scan_name = scanning.name
- scan_data = "[scanning]
"
- if (scanning.blood_DNA)
- scan_data += "Blood Found:
"
- for(var/blood in scanning.blood_DNA)
- scan_data += "Blood type: [scanning.blood_DNA[blood]]\nDNA: [blood]
"
- else
- scan_data += "No Blood Found
"
- if(!scanning.fingerprints)
- scan_data += "No Fingerprints Found
"
- else
- scan_data += "Isolated [scanning.fingerprints.len] Fingerprints. Loaded into database.
"
- add_data(scanning)
-
- if(!scanning.suit_fibers)
- scan_data += "No Fibers/Materials Located
"
- else
- scan_data += "Fibers/Materials Found:
"
- for(var/data in scanning.suit_fibers)
- scan_data += "- [data]
"
- if(istype(scanning,/obj/item/device/detective_scanner) || (istype(scanning, /obj/item/device/pda) && scanning:cartridge && scanning:cartridge.access_security))
- scan_data += "
Data transfered from \the [scanning] to Database.
"
- add_data_scanner(scanning)
- else if(!scanning.fingerprints)
- scan_data += "
Add to Database?
"
- else
- temp = "Scan Failed: No Object"
-
-
- if("print") //Printing scan data
- if(scan_data)
- temp = "Scan Data Printed."
- var/obj/item/weapon/paper/P = new(loc)
- P.name = "\improper Scan Data ([scan_name])"
- P.info = "[scan_data]"
- P.overlays += "paper_words"
- else
- temp = "Print Failed: No Data"
- if("erase")
- scan_data = ""
- if("cancel")
- scan_process = 0
- if("add") //Adding an object (Manually) to the database.
- if(scanning)
- add_data(scanning)
- else
- temp = "Data Transfer Failed: No Object."
- if("rename")
- if(!files || !files[href_list["identifier"]])
- temp = "ERROR: Record/Database not found!"
- else
- var/new_title = copytext(sanitize(input("Rename to what?", "Dossier Editing", "Dossier [files.Find(href_list["identifier"])]") as null|text),1,MAX_MESSAGE_LEN)
- if(new_title)
- var/list/file = files[href_list["identifier"]]
- file[2] = new_title
+ add_data(scanning)
+ else
+ temp = "Data Transfer Failed: No Object."
+ if("rename")
+ if(!files || !files[href_list["identifier"]])
+ temp = "ERROR: Record/Database not found!"
+ else
+ var/new_title = copytext(sanitize(input("Rename to what?", "Dossier Editing", "Dossier [files.Find(href_list["identifier"])]") as null|text),1,MAX_MESSAGE_LEN)
+ if(new_title)
+ var/list/file = files[href_list["identifier"]]
+ file[2] = new_title
updateUsrDialog()
ex_act()