From a0992e257e4b0076f387700af8d8c7c9facb0a8c Mon Sep 17 00:00:00 2001 From: mikomyazaki <47489928+mikomyazaki@users.noreply.github.com> Date: Sun, 10 Apr 2022 11:57:05 +0100 Subject: [PATCH] New Investigator QoL/Features (#13422) --- code/game/machinery/telecomms/logbrowser.dm | 401 ++++++++++-------- .../crates_lockers/closets/secure/security.dm | 1 + .../programs/security/digitalwarrant.dm | 23 +- code/modules/paperwork/stamps.dm | 4 + html/changelogs/investigator-qol.yml | 8 + icons/obj/bureaucracy.dmi | Bin 28160 -> 29565 bytes 6 files changed, 248 insertions(+), 189 deletions(-) create mode 100644 html/changelogs/investigator-qol.yml diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index e3c9ef204cf..3aaac01a973 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -19,205 +19,188 @@ req_access = list(access_tcomsat) - attack_hand(mob/user as mob) - if(stat & (BROKEN|NOPOWER)) - return - user.set_machine(src) - var/dat = "Telecommunication Server Monitor
Telecommunications Server Monitor
" + var/last_print_time - switch(screen) - - - // --- Main Menu --- - - if(0) - dat += "
[temp]
" - dat += "
Current Network: [network]
" - if(servers.len) - dat += "
Detected Telecommunication Servers:" - dat += "
\[Flush Buffer\]" - - else - dat += "
No servers detected. Scan for servers: \[Scan\]" - - - // --- Viewing Server --- - - if(1) - dat += "
[temp]
" - dat += "
\[Main Menu\] \[Refresh\]
" - dat += "
Current Network: [network]" - dat += "
Selected Server: [SelectedServer.id]" - - if(SelectedServer.totaltraffic >= 1024) - dat += "
Total recorded traffic: [round(SelectedServer.totaltraffic / 1024)] Terrabytes

" - else - dat += "
Total recorded traffic: [SelectedServer.totaltraffic] Gigabytes

" - - dat += "Stored Logs:
    " - - var/i = 0 - for(var/datum/comm_log_entry/C in SelectedServer.log_entries) - i++ - - - // If the log is a speech file - if(C.input_type == "Speech File") - - dat += "
  1. [C.name] \[X\]
    " - - // -- Determine race of orator -- - - var/race = C.parameters["race"] // The actual race of the mob - var/language = C.parameters["language"] // The language spoken, or null/"" - - // -- If the orator is a human, or universal translate is active, OR mob has universal speech on -- - - if(universal_translate || C.parameters["uspeech"] || C.parameters["intelligible"]) - dat += "Data type: [C.input_type]
    " - dat += "Source: [C.parameters["name"]] (Job: [C.parameters["job"]])
    " - dat += "Class: [race]
    " - dat += "Contents: \"[C.parameters["message"]]\"
    " - if(language) - dat += "Language: [language]
    " - - // -- Orator is not human and universal translate not active -- - - else - dat += "Data type: Audio File
    " - dat += "Source: Unidentifiable
    " - dat += "Class: [race]
    " - dat += "Contents: Unintelligble
    " - - dat += "

  2. " - - else if(C.input_type == "Execution Error") - - dat += "
  3. [C.name] \[X\]
    " - dat += "Output: \"[C.parameters["message"]]\"
    " - dat += "

  4. " - - - dat += "
" - - - - user << browse(dat, "window=comm_monitor;size=575x400") - onclose(user, "server_control") - - temp = "" +/obj/machinery/computer/telecomms/server/attack_hand(mob/user) + if(stat & (BROKEN|NOPOWER)) return + user.set_machine(src) + var/dat = "Telecommunication Server Monitor
Telecommunications Server Monitor
" + + switch(screen) - Topic(href, href_list) - if(..()) - return + // --- Main Menu --- - - add_fingerprint(usr) - usr.set_machine(src) - - if(href_list["viewserver"]) - screen = 1 - for(var/obj/machinery/telecomms/T in servers) - if(T.id == href_list["viewserver"]) - SelectedServer = T - break - - if(href_list["operation"]) - switch(href_list["operation"]) - - if("release") - servers = list() - screen = 0 - - if("mainmenu") - screen = 0 - - if("scan") - if(servers.len > 0) - temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -" - - else - for(var/obj/machinery/telecomms/server/T in range(25, src)) - if(T.network == network) - servers.Add(T) - - if(!servers.len) - temp = "- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -" - else - temp = "- [servers.len] SERVERS PROBED & BUFFERED -" - - screen = 0 - - if(href_list["delete"]) - - if(!src.allowed(usr) && !emagged) - to_chat(usr, "ACCESS DENIED.") - return - - if(SelectedServer) - - var/datum/comm_log_entry/D = SelectedServer.log_entries[text2num(href_list["delete"])] - - temp = "- DELETED ENTRY: [D.name] -" - - SelectedServer.log_entries.Remove(D) - qdel(D) + if(0) + dat += "
[temp]
" + dat += "
Current Network: [network]
" + if(servers.len) + dat += "
Detected Telecommunication Servers:" + dat += "
\[Flush Buffer\]" else - temp = "- FAILED: NO SELECTED MACHINE -" + dat += "
No servers detected. Scan for servers: \[Scan\]" - if(href_list["network"]) - var/newnet = sanitize(input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text) + // --- Viewing Server --- - if(newnet && ((usr in range(1, src) || issilicon(usr)))) - if(length(newnet) > 15) - temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -" + if(1) + dat += "
[temp]
" + dat += "
\[Main Menu\] \[Refresh\] \[Print Logs\]
" + dat += "
Current Network: [network]" + dat += "
Selected Server: [SelectedServer.id]" + + if(SelectedServer.totaltraffic >= 1024) + dat += "
Total recorded traffic: [round(SelectedServer.totaltraffic / 1024)] Terrabytes

" + else + dat += "
Total recorded traffic: [SelectedServer.totaltraffic] Gigabytes

" + + dat += log_entries_to_text(SelectedServer) + + user << browse(dat, "window=comm_monitor;size=575x400") + onclose(user, "server_control") + + temp = "" + return + +/obj/machinery/computer/telecomms/server/Topic(href, href_list) + if(..()) + return + + + add_fingerprint(usr) + usr.set_machine(src) + + if(href_list["viewserver"]) + screen = 1 + for(var/obj/machinery/telecomms/T in servers) + if(T.id == href_list["viewserver"]) + SelectedServer = T + break + + if(href_list["operation"]) + switch(href_list["operation"]) + + if("release") + servers = list() + screen = 0 + + if("mainmenu") + screen = 0 + + if("scan") + if(servers.len > 0) + temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -" else + for(var/obj/machinery/telecomms/server/T in range(25, src)) + if(T.network == network) + servers.Add(T) + + if(!servers.len) + temp = "- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -" + else + temp = "- [servers.len] SERVERS PROBED & BUFFERED -" - network = newnet screen = 0 - servers = list() - temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -" - updateUsrDialog() - return - - attackby(var/obj/item/D as obj, var/mob/user as mob) - if(D.isscrewdriver()) - playsound(src.loc, D.usesound, 50, 1) - if(do_after(user, 20/D.toolspeed)) - if (src.stat & BROKEN) - to_chat(user, "The broken glass falls out.") - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/material/shard( src.loc ) - var/obj/item/circuitboard/comm_server/M = new /obj/item/circuitboard/comm_server( A ) - for (var/obj/C in src) - C.forceMove(src.loc) - A.circuit = M - A.state = 3 - A.icon_state = "3" - A.anchored = 1 - qdel(src) + if("printlog") + var/start_point = 1 + var/end_point = SelectedServer.log_entries.len + if(SelectedServer) + if(SelectedServer.log_entries.len) + start_point = input(usr, "Type the start address to print from, cancel to print full log.", "Start Address") as null|num + if(!isnum(start_point)) + start_point = 1 + else + end_point = input(usr, "Type the end address to print to, cancel to print full log.", "End Address") as null|num + if(!isnum(end_point)) + end_point = 0 + else + to_chat(usr, SPAN_WARNING("Cannot print from server that has no logs.")) + return else - to_chat(user, "You disconnect the monitor.") - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - var/obj/item/circuitboard/comm_server/M = new /obj/item/circuitboard/comm_server( A ) - for (var/obj/C in src) - C.forceMove(src.loc) - A.circuit = M - A.state = 4 - A.icon_state = "4" - A.anchored = 1 - qdel(src) - src.updateUsrDialog() - return + to_chat(usr, SPAN_WARNING("Select a server before trying to print logs.")) + return + + if(!last_print_time || (last_print_time + 2 SECONDS < world.time)) + last_print_time = world.time + var/obj/item/paper/P = new /obj/item/paper(get_turf(src), log_entries_to_text(SelectedServer, start_point, end_point), "[SelectedServer.id] Logs ([start_point] - [end_point])") + var/mob/M = usr + if(M) + M.put_in_hands(P) + else + to_chat(usr, SPAN_WARNING("Please wait before trying to print more logs.")) + + if(href_list["delete"]) + + if(!src.allowed(usr) && !emagged) + to_chat(usr, "ACCESS DENIED.") + return + + if(SelectedServer) + + var/datum/comm_log_entry/D = SelectedServer.log_entries[text2num(href_list["delete"])] + + temp = "- DELETED ENTRY: [D.name] -" + + SelectedServer.log_entries.Remove(D) + qdel(D) + + else + temp = "- FAILED: NO SELECTED MACHINE -" + + if(href_list["network"]) + + var/newnet = sanitize(input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text) + + if(newnet && ((usr in range(1, src) || issilicon(usr)))) + if(length(newnet) > 15) + temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -" + + else + + network = newnet + screen = 0 + servers = list() + temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -" + + updateUsrDialog() + return + +/obj/machinery/computer/telecomms/server/attackby(var/obj/item/D, var/mob/user) + if(D.isscrewdriver()) + playsound(src.loc, D.usesound, 50, 1) + if(do_after(user, 20/D.toolspeed)) + if (src.stat & BROKEN) + to_chat(user, "The broken glass falls out.") + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + new /obj/item/material/shard( src.loc ) + var/obj/item/circuitboard/comm_server/M = new /obj/item/circuitboard/comm_server( A ) + for (var/obj/C in src) + C.forceMove(src.loc) + A.circuit = M + A.state = 3 + A.icon_state = "3" + A.anchored = 1 + qdel(src) + else + to_chat(user, "You disconnect the monitor.") + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/circuitboard/comm_server/M = new /obj/item/circuitboard/comm_server( A ) + for (var/obj/C in src) + C.forceMove(src.loc) + A.circuit = M + A.state = 4 + A.icon_state = "4" + A.anchored = 1 + qdel(src) + src.updateUsrDialog() + return /obj/machinery/computer/telecomms/server/emag_act(var/remaining_charges, var/mob/user) if(!emagged) @@ -226,3 +209,55 @@ to_chat(user, "You you disable the security protocols") src.updateUsrDialog() return 1 + +/obj/machinery/computer/telecomms/server/proc/log_entries_to_text(var/obj/machinery/telecomms/server/SelectedServer, start = 1, end = SelectedServer.log_entries.len) + if(!end) + end = SelectedServer.log_entries.len + start = between(1, start, SelectedServer.log_entries.len) + end = between(0, end, SelectedServer.log_entries.len) + var/list/log_entries = SelectedServer.log_entries.Copy(start, end + 1) + + . += "Stored Logs:
    " + + var/i = start - 1 + for(var/datum/comm_log_entry/C as anything in log_entries) + i++ + + // If the log is a speech file + if(C.input_type == "Speech File") + + . += "
  1. [C.name] \[X\]
    " + + // -- Determine race of orator -- + + var/race = C.parameters["race"] // The actual race of the mob + var/language = C.parameters["language"] // The language spoken, or null/"" + + // -- If the orator is a human, or universal translate is active, OR mob has universal speech on -- + + if(universal_translate || C.parameters["uspeech"] || C.parameters["intelligible"]) + . += "Data type: [C.input_type]
    " + . += "Source: [C.parameters["name"]] (Job: [C.parameters["job"]])
    " + . += "Class: [race]
    " + . += "Contents: \"[C.parameters["message"]]\"
    " + if(language) + . += "Language: [language]
    " + + // -- Orator is not human and universal translate not active -- + + else + . += "Data type: Audio File
    " + . += "Source: Unidentifiable
    " + . += "Class: [race]
    " + . += "Contents: Unintelligble
    " + + . += "

  2. " + + else if(C.input_type == "Execution Error") + + . += "
  3. [C.name] \[X\]
    " + . += "Output: \"[C.parameters["message"]]\"
    " + . += "

  4. " + + + . += "
" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b702e27f2ec..c7ea110d1f3 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -367,6 +367,7 @@ new /obj/item/device/laser_pointer/blue(src) new /obj/item/device/camera/detective(src) new /obj/item/device/camera_film(src) + new /obj/item/stamp/investigations(src) //Belts new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/clothing/accessory/storage/pouches/black(src) diff --git a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm index d20dd4db1e8..7f04ff3a2d5 100644 --- a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm +++ b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm @@ -51,11 +51,16 @@ active_warrant = null if(href_list["editwarrant"]) - . = TRUE for(var/datum/record/warrant/W in SSrecords.warrants) if(W.id == text2num(href_list["editwarrant"])) active_warrant = W break + return TRUE + + if(href_list["back"]) + . = TRUE + active_warrant = null + return TRUE // The following actions will only be possible if the user has an ID with security access equipped. This is in line with modular computer framework's authentication methods, // which also use RFID scanning to allow or disallow access to some functions. Anyone can view warrants, editing requires ID. @@ -64,10 +69,15 @@ if(!istype(user)) return var/obj/item/card/id/I = user.GetIdCard() - if(!istype(I) || !I.registered_name || !(access_armory in I.access) || issilicon(user)) + if(!istype(I) || !I.registered_name || !(access_security in I.access) || issilicon(user)) to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation.")) return + // Require higher access to edit warrants that have already been authorized + if(active_warrant && active_warrant.authorization != "Unauthorized" && !(access_armory in I.access)) + to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to adjust an authorized warrant.")) + return + if(href_list["addwarrant"]) . = TRUE var/datum/record/warrant/W = new() @@ -83,6 +93,8 @@ W.notes = "No reason given" W.authorization = "Unauthorized" W.wtype = "search" + if(isnull(temp)) + return active_warrant = W if(href_list["savewarrant"]) @@ -123,10 +135,9 @@ active_warrant.notes = new_charges if(href_list["editwarrantauth"]) + if(!(access_armory in I.access)) + to_chat(user, SPAN_WARNING("Authentication error: Unable to locate ID with appropriate access to allow this operation.")) + return . = TRUE active_warrant.authorization = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]" - - if(href_list["back"]) - . = TRUE - active_warrant = null \ No newline at end of file diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 38e8ea5bffa..8f2ff0a9b9a 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -35,6 +35,10 @@ name = "chief medical officer's rubber stamp" icon_state = "stamp-cmo" +/obj/item/stamp/investigations + name = "case closed stamp" + icon_state = "stamp-investigator" + /obj/item/stamp/denied name = "\improper DENIED rubber stamp" icon_state = "stamp-deny" diff --git a/html/changelogs/investigator-qol.yml b/html/changelogs/investigator-qol.yml new file mode 100644 index 00000000000..49e48a46b19 --- /dev/null +++ b/html/changelogs/investigator-qol.yml @@ -0,0 +1,8 @@ +author: mikomyazaki + +delete-after: True + +changes: + - tweak: "Security Officers, Investigators and Security Cadets can now submit warrants for approval using the warrant program. They cannot authorize warrants or edit authorized warrants." + - rscadd: "Investigators now have a 'Case Closed' stamp in their lockers." + - rscadd: "The Telecomms Server Monitor can now print channel logs." diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 57548444046072fb8c3f41d7ff39c8c21a3905fa..0fbda2441c5a082ec3ac52069eec0995060b643c 100644 GIT binary patch literal 29565 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 literal 28160 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 C|2HTA