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("
\n
Medical 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
\n
Comments/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("
\n
Medical 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
\n
Comments/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("
\n
Security Data

\nCriminal Status: []
\n
\nMinor Crimes: []
\nDetails: []
\n
\nMajor Crimes: []
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/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("
\n
Security Data

\nCriminal Status: []
\n
\nMinor Crimes: []
\nDetails: []
\n
\nMajor Crimes: []
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/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()