From a9b246b4abf97b10fbaf12f412c84daa1c6db2fb Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 00:13:05 -0700 Subject: [PATCH 1/6] Second rework of security console. Not done. --- code/game/machinery/computer/security.dm | 58 ++++++++++++++---------- config/admins - Copy.txt | 16 +++++++ config/admins.txt | 2 +- 3 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 config/admins - Copy.txt diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 0e84f5dcc49..db5da9b5a85 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -16,16 +16,26 @@ if (authenticated) switch(screen) if(1.0) - dat += text("Search Records
\nList Records
\nSearch Fingerprints
\nNew General Record
\n
\nRecord Maintenance
\n{Log Out}
\n", src, src, src, src, src, src) - if(2.0) - dat += {"Record List:
- - - - - - - "} + dat += {" +

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

+
Name (ID#)RankFingerprintsCriminal Status
+ + + +
Records:
+ + + + + + + +"} for(var/datum/data/record/R in data_core.general) var/crimstat = "" for(var/datum/data/record/E in data_core.security) @@ -46,14 +56,17 @@ if("") background = "'background-color:#FFFFFF;'" crimstat = "No Record." - dat += text("", background, src, R, R.fields["name"], R.fields["id"]) + 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 += text("
NameIDRankFingerprintsCriminal Status
[] (ID:[])
[][][][][]


Back", src) - if(3.0) + dat += "
" + dat += text("Record Maintenance

", src) + dat += text("{Log Out}",src) + if(2.0) dat += text("Records Maintenance
\nDelete All Records
\n
\nBack", src, src) - if(4.0) + if(3.0) dat += "
Security Record

" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) dat += text("Name: [] ID: []
\nSex: []
\nAge: []
\nRank: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src, active1.fields["name"], src, active1.fields["id"], src, active1.fields["sex"], src, active1.fields["age"], src, active1.fields["rank"], src, active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"]) @@ -74,7 +87,7 @@ else else dat += text("{Log In}", src) - user << browse(text("Security Records[]", dat), "window=secure_rec") + user << browse(text("Security Records[]", dat), "window=secure_rec;size=550x400") onclose(user, "secure_rec") return @@ -132,11 +145,6 @@ What a mess.*/ rank = scan.assignment screen = 1 //RECORD FUNCTIONS - if("List Records") - screen = 2 - active1 = null - active2 = null - if("Search Records") var/t1 = input("Search String: (Name or ID)", "Secure. records", null, null) as text if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || !in_range(src, usr))) @@ -153,10 +161,10 @@ What a mess.*/ 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 = 4 + screen = 3 if("Record Maintenance") - screen = 3 + screen = 2 active1 = null active2 = null @@ -171,7 +179,7 @@ What a mess.*/ S = E active1 = R active2 = S - screen = 4 + screen = 3 if ("Search Fingerprints") var/t1 = input("Search String: (Fingerprint)", "Secure. records", null, null) as text @@ -189,7 +197,7 @@ What a mess.*/ 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 = 4 + screen = 3 if ("Print Record") if (!( printing )) @@ -266,7 +274,7 @@ What a mess.*/ R.fields["notes"] = "No notes." data_core.security += R active2 = R - screen = 4 + screen = 3 if ("New Record (General)") var/datum/data/record/G = new /datum/data/record() diff --git a/config/admins - Copy.txt b/config/admins - Copy.txt new file mode 100644 index 00000000000..d4494bcbb47 --- /dev/null +++ b/config/admins - Copy.txt @@ -0,0 +1,16 @@ +abi79 - Game Master +arcalane - Game Admin +cacophony - Game Admin +cajoes - Game Admin +cib - Game Master +compactninja - Game Master +hawk_v3 - Game Admin +headswe - Game Master +iaryni - Game Master +masterofapples - Game Admin +megacaesar - Game Admin +miniature - Game Master +misterfox - Game Admin +mloc - Game Master +spaceman96 - Game Admin +uristqwerty - Game Master \ No newline at end of file diff --git a/config/admins.txt b/config/admins.txt index 2bc78a67b3c..d1915b81575 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,7 +5,7 @@ cajoes - Game Admin cib - Game Master compactninja - Game Master hawk_v3 - Game Admin -headswe - Game Master +skymarshal - Game Master iaryni - Game Master masterofapples - Game Admin megacaesar - Game Admin From 618fd87f3526e0597c9f92c41caac929b00740ff Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 11:01:24 -0700 Subject: [PATCH 2/6] Not done yet. --- code/defines/obj/computer.dm | 2 + code/game/machinery/computer/security.dm | 96 +++++++++++++++++++++--- 2 files changed, 86 insertions(+), 12 deletions(-) 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 From 14ac797deba78294816d77852199e4f37b609755 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 22:12:04 -0700 Subject: [PATCH 3/6] Should finialize the improved Security Console --- code/defines/obj/clothing/gloves.dm | 8 +- code/defines/obj/computer.dm | 4 +- code/game/jobs/job/security.dm | 5 +- code/game/machinery/computer/security.dm | 74 +++++++------------ code/game/objects/closets/secure/security.dm | 2 + config/admins.txt | 2 +- icons/obj/clothing/gloves.dmi | Bin 3616 -> 3798 bytes 7 files changed, 41 insertions(+), 54 deletions(-) diff --git a/code/defines/obj/clothing/gloves.dm b/code/defines/obj/clothing/gloves.dm index 294d56063ce..55315576777 100644 --- a/code/defines/obj/clothing/gloves.dm +++ b/code/defines/obj/clothing/gloves.dm @@ -140,11 +140,13 @@ color="orange" /obj/item/clothing/gloves/red - name = "Red Gloves" - desc = "A pair of gloves, they don't look special in any way." + desc = "Heavily padded heavy-duty red gloves." + name = "red gloves" icon_state = "red" item_state = "redgloves" - color = "red" + siemens_coefficient = 0.30 + + protective_temperature = 1100 /obj/item/clothing/gloves/rainbow name = "Rainbow Gloves" diff --git a/code/defines/obj/computer.dm b/code/defines/obj/computer.dm index 7826070c1a8..a92bf91a02e 100644 --- a/code/defines/obj/computer.dm +++ b/code/defines/obj/computer.dm @@ -191,8 +191,8 @@ var/temp = null var/printing = null var/can_change_id = 0 - var/PerpGen = list(1) - var/PerpSec = list(1) + var/Perp[50][2] //If you have more than 50 results, you're not on Bay12. + var/tempname = null /obj/machinery/computer/secure_data/detective_computer diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 80a20725b2f..f9463337cc6 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -17,7 +17,7 @@ H.equip_if_possible(new /obj/item/device/pda/heads/hos(H), H.slot_belt) // H.equip_if_possible(new /obj/item/clothing/suit/armor/hos(H), H.slot_wear_suit) //We're Bay12, not Goon. We don't need armor 24/7 - H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves) + H.equip_if_possible(new /obj/item/clothing/gloves/red(H), H.slot_gloves) H.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(H), H.slot_head) H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses) H.equip_if_possible(new /obj/item/weapon/handcuffs(H), H.slot_in_backpack) @@ -47,7 +47,7 @@ H.equip_if_possible(new /obj/item/device/pda/security(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/suit/armor/vest(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/head/helmet/warden(H), H.slot_head) - H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves) + H.equip_if_possible(new /obj/item/clothing/gloves/red(H), H.slot_gloves) H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses) H.equip_if_possible(new /obj/item/weapon/handcuffs(H), H.slot_in_backpack) H.equip_if_possible(new /obj/item/device/flash(H), H.slot_l_store) @@ -114,6 +114,7 @@ H.equip_if_possible(new /obj/item/clothing/suit/armor/vest(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/head/helmet(H), H.slot_head) H.equip_if_possible(new /obj/item/weapon/handcuffs(H), H.slot_in_backpack) + H.equip_if_possible(new /obj/item/clothing/gloves/red(H), H.slot_gloves) H.equip_if_possible(new /obj/item/weapon/handcuffs(H), H.slot_s_store) H.equip_if_possible(new /obj/item/device/flash(H), H.slot_l_store) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 8155b11009c..62b04203d2d 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -20,8 +20,7 @@ dat += {"

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

@@ -40,7 +39,7 @@ for(var/datum/data/record/R in data_core.general) var/crimstat = "" for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) + if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) crimstat = E.fields["criminal"] var/background switch(crimstat) @@ -86,13 +85,14 @@ 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/))) + if(!(istype(Perp[1][1],/datum/data/record/))) dat += text("ERROR. String could not be located.

Back", src) else dat += {"
- - + "} + dat += text("", tempname) + dat += {"
Search Results:
Search Results for '[]':
@@ -103,11 +103,14 @@ "} - for(var/i=1, i<=PerpGen.len, i++) + for(var/i=1, i<=Perp.len, i++) + if(!(istype(Perp[i][1],/datum/data/record/))) + continue var/crimstat = "" - var/datum/data/record/R = PerpGen[i] - var/datum/data/record/E = PerpSec[i] - crimstat = E.fields["criminal"] + var/datum/data/record/R = Perp[i][1] + if(istype(Perp[i][2],/datum/data/record/)) + var/datum/data/record/E = Perp[i][2] + crimstat = E.fields["criminal"] var/background switch(crimstat) if("*Arrest*") @@ -195,18 +198,22 @@ What a mess.*/ 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 - PerpGen.len = 1 - PerpSec.len = 1 + Perp = new/list(50,2) t1 = lowertext(t1) + var/perp_num = 1 for(var/datum/data/record/R in data_core.general) + var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + if(findtext(temptext,t1)) + Perp[perp_num][1] = R + perp_num++ + for(var/i = 1, i<=perp_num, i++) + if(!(istype(Perp[i][1],/datum/data/record/))) + continue for(var/datum/data/record/E in data_core.security) - 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 + var/datum/data/record/R = Perp[i][1] + if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) + Perp[i][2] = E + tempname = t1 screen = 4 if("Record Maintenance") @@ -227,7 +234,7 @@ What a mess.*/ active2 = S screen = 3 - if ("Search Fingerprints") +/* if ("Search Fingerprints") var/t1 = input("Search String: (Fingerprint)", "Secure. records", null, null) as text if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || (!in_range(src, usr)) && (!istype(usr, /mob/living/silicon)))) return @@ -243,7 +250,7 @@ What a mess.*/ 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 + screen = 3 */ if ("Print Record") if (!( printing )) @@ -336,31 +343,6 @@ What a mess.*/ 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 diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm index 0d209639f82..0f88397d045 100644 --- a/code/game/objects/closets/secure/security.dm +++ b/code/game/objects/closets/secure/security.dm @@ -78,6 +78,7 @@ new /obj/item/clothing/suit/armor/vest(src) new /obj/item/clothing/suit/storage/gearharness(src) new /obj/item/clothing/head/helmet/warden(src) + new /obj/item/clothing/gloves/red(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/weapon/storage/flashbang_kit(src) new /obj/item/weapon/storage/belt/security(src) @@ -99,6 +100,7 @@ new /obj/item/clothing/suit/armor/vest(src) new /obj/item/clothing/suit/storage/gearharness(src) new /obj/item/clothing/head/helmet(src) + new /obj/item/clothing/gloves/red(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/weapon/storage/belt/security(src) new /obj/item/weapon/flashbang(src) diff --git a/config/admins.txt b/config/admins.txt index d1915b81575..2bc78a67b3c 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,7 +5,7 @@ cajoes - Game Admin cib - Game Master compactninja - Game Master hawk_v3 - Game Admin -skymarshal - Game Master +headswe - Game Master iaryni - Game Master masterofapples - Game Admin megacaesar - Game Admin diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index abead579d61741037b4daf81900adb618717463f..9ae49fadf1fd9cfb3d207e2fc1203a34fb2641b8 100644 GIT binary patch delta 3217 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 TKCOBDjR5KE8eXqL*hc&h_1Pk9 delta 3017 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 From 61f87218226d1da2430d51a2b9e9847f0ee57ccf Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 22:13:48 -0700 Subject: [PATCH 4/6] Removed some stupid. --- config/admins - Copy.txt | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 config/admins - Copy.txt diff --git a/config/admins - Copy.txt b/config/admins - Copy.txt deleted file mode 100644 index d4494bcbb47..00000000000 --- a/config/admins - Copy.txt +++ /dev/null @@ -1,16 +0,0 @@ -abi79 - Game Master -arcalane - Game Admin -cacophony - Game Admin -cajoes - Game Admin -cib - Game Master -compactninja - Game Master -hawk_v3 - Game Admin -headswe - Game Master -iaryni - Game Master -masterofapples - Game Admin -megacaesar - Game Admin -miniature - Game Master -misterfox - Game Admin -mloc - Game Master -spaceman96 - Game Admin -uristqwerty - Game Master \ No newline at end of file From dafd9d68f9fc5c1e4af809cb0bde36fa5afcbd03 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 23:24:00 -0700 Subject: [PATCH 5/6] Final revision of Security Console (Hopefully.) --- code/defines/obj/computer.dm | 2 +- code/game/machinery/computer/security.dm | 28 ++++++++++-------------- config/admins.txt | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/code/defines/obj/computer.dm b/code/defines/obj/computer.dm index a92bf91a02e..6a1a62134d7 100644 --- a/code/defines/obj/computer.dm +++ b/code/defines/obj/computer.dm @@ -191,7 +191,7 @@ var/temp = null var/printing = null var/can_change_id = 0 - var/Perp[50][2] //If you have more than 50 results, you're not on Bay12. + var/list/Perp var/tempname = null diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 62b04203d2d..3fe19ce1762 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -85,7 +85,7 @@ dat += text("New Security Record

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

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

Back", src) else dat += {" @@ -103,13 +103,11 @@
"} - for(var/i=1, i<=Perp.len, i++) - if(!(istype(Perp[i][1],/datum/data/record/))) - continue + for(var/i=1, i<=Perp.len, i += 2) var/crimstat = "" - var/datum/data/record/R = Perp[i][1] - if(istype(Perp[i][2],/datum/data/record/)) - var/datum/data/record/E = Perp[i][2] + var/datum/data/record/R = Perp[i] + if(istype(Perp[i+1],/datum/data/record/)) + var/datum/data/record/E = Perp[i+1] crimstat = E.fields["criminal"] var/background switch(crimstat) @@ -198,21 +196,19 @@ What a mess.*/ 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 - Perp = new/list(50,2) + Perp = new/list() t1 = lowertext(t1) - var/perp_num = 1 for(var/datum/data/record/R in data_core.general) var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] if(findtext(temptext,t1)) - Perp[perp_num][1] = R - perp_num++ - for(var/i = 1, i<=perp_num, i++) - if(!(istype(Perp[i][1],/datum/data/record/))) - continue + var/prelist = new/list(2) + prelist[1] = R + Perp += prelist + for(var/i = 1, i<=Perp.len, i+=2) for(var/datum/data/record/E in data_core.security) - var/datum/data/record/R = Perp[i][1] + var/datum/data/record/R = Perp[i] if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) - Perp[i][2] = E + Perp[i+1] = E tempname = t1 screen = 4 diff --git a/config/admins.txt b/config/admins.txt index 2bc78a67b3c..d1915b81575 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,7 +5,7 @@ cajoes - Game Admin cib - Game Master compactninja - Game Master hawk_v3 - Game Admin -headswe - Game Master +skymarshal - Game Master iaryni - Game Master masterofapples - Game Admin megacaesar - Game Admin From 456c623630bec313bf18bb9df117c98807d0c692 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 19 Dec 2011 23:26:42 -0700 Subject: [PATCH 6/6] I really need to set a git ignore on admins.txt --- config/admins.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/admins.txt b/config/admins.txt index d1915b81575..2bc78a67b3c 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,7 +5,7 @@ cajoes - Game Admin cib - Game Master compactninja - Game Master hawk_v3 - Game Admin -skymarshal - Game Master +headswe - Game Master iaryni - Game Master masterofapples - Game Admin megacaesar - Game Admin
Fingerprints Criminal Status
Fingerprints Criminal Status