diff --git a/code/defines/obj/computer.dm b/code/defines/obj/computer.dm index 082c8381839..7826070c1a8 100644 --- a/code/defines/obj/computer.dm +++ b/code/defines/obj/computer.dm @@ -191,6 +191,8 @@ var/temp = null var/printing = null var/can_change_id = 0 + var/PerpGen = list(1) + var/PerpSec = list(1) /obj/machinery/computer/secure_data/detective_computer diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index db5da9b5a85..8155b11009c 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -9,6 +9,7 @@ if(..()) return var/dat + if (temp) dat = text("[]

Clear Screen", temp, src) else @@ -20,7 +21,7 @@

"} dat += text("Search Records
", src) dat += text("Search Fingerprints
", src) - dat += text("New General Record
", src) + dat += text("New Record
", src) dat += {"

@@ -84,6 +85,51 @@ dat += "Security Record Lost!
" dat += text("New Security Record

", src) dat += text("\nDelete Record (ALL)

\nPrint Record
\nBack
", src, src, src) + if(4.0) + if(!(istype(PerpSec[1],/datum/data/record/))) + dat += text("ERROR. String could not be located.

Back", src) + else + dat += {" +
+ + + +
Search Results:
+ + + + + + + + "} + for(var/i=1, i<=PerpGen.len, i++) + var/crimstat = "" + var/datum/data/record/R = PerpGen[i] + var/datum/data/record/E = PerpSec[i] + crimstat = E.fields["criminal"] + var/background + switch(crimstat) + if("*Arrest*") + background = "'background-color:#DC143C;'" + if("Incarcerated") + background = "'background-color:#CD853F;'" + if("Parolled") + background = "'background-color:#CD853F;'" + if("Released") + background = "'background-color:#3BB9FF;'" + if("None") + background = "'background-color:#00FF7F;'" + if("") + background = "'background-color:#FFFFFF;'" + crimstat = "No Record." + dat += text("", background, src, R, R.fields["name"]) + dat += text("", R.fields["id"]) + dat += text("", R.fields["rank"]) + dat += text("", R.fields["fingerprint"]) + dat += text("", crimstat) + dat += "
NameIDRankFingerprintsCriminal Status
[][][][][]

" + dat += text("
Return to index.", src) else else dat += text("{Log In}", src) @@ -146,22 +192,22 @@ What a mess.*/ screen = 1 //RECORD FUNCTIONS if("Search Records") - var/t1 = input("Search String: (Name or ID)", "Secure. records", null, null) as text + var/t1 = input("Search String: (Partial Name or ID or Fingerprints)", "Secure. records", null, null) as text if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || !in_range(src, usr))) return - active1 = null - active2 = null + PerpGen.len = 1 + PerpSec.len = 1 t1 = lowertext(t1) for(var/datum/data/record/R in data_core.general) - if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]))) - active1 = R - if (!( active1 )) - temp = text("Could not locate record [].", t1) - else for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == active1.fields["name"] || E.fields["id"] == active1.fields["id"])) - active2 = E - screen = 3 + if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) + var/temptext = E.fields["name"] + " " + E.fields["id"] + " " + R.fields["fingerprint"] + if(findtext(temptext,t1)) + PerpGen[PerpGen.len] = E + PerpSec[PerpSec.len] = R + PerpGen.len += 1 + PerpSec.len += 1 + screen = 4 if("Record Maintenance") screen = 2 @@ -289,6 +335,32 @@ What a mess.*/ data_core.general += G active1 = G active2 = null + + if("New Record (Complete)") + var/datum/data/record/G = new /datum/data/record() + G.fields["name"] = "New Record" + G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) + G.fields["rank"] = "Unassigned" + G.fields["sex"] = "Male" + G.fields["age"] = "Unknown" + G.fields["fingerprint"] = "Unknown" + G.fields["p_stat"] = "Active" + G.fields["m_stat"] = "Stable" + data_core.general += G + active1 = G + var/datum/data/record/R = new /datum/data/record() + R.fields["name"] = active1.fields["name"] + R.fields["id"] = active1.fields["id"] + R.name = text("Security Record #[]", R.fields["id"]) + R.fields["criminal"] = "None" + R.fields["mi_crim"] = "None" + R.fields["mi_crim_d"] = "No minor crime convictions." + R.fields["ma_crim"] = "None" + R.fields["ma_crim_d"] = "No major crime convictions." + R.fields["notes"] = "No notes." + data_core.security += R + active2 = R + //FIELD FUNCTIONS if ("Edit Field") var/a1 = active1