From e635121d878541d544d9c2f7aa9ecfaf4de4a713 Mon Sep 17 00:00:00 2001 From: Kocma-san <112967882+Kocma-san@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:08:56 +0700 Subject: [PATCH] Added physical references for special fax networks (#84910) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Now there are fax machines that receive and send messages on behalf of the special networks of NT and syndicate Also added centcom stamps to centcom (funny, they weren’t there) ![image](https://github.com/user-attachments/assets/e4330793-c87b-4d99-9a86-da795969335b) ## Why It's Good For The Game Faxes sent from the CC will have the correct sender name. Also, there will be no unnecessary faxes in the fax panel ## Changelog :cl: code: сhanges for a fax located on the CC qol: added centcom stamps to centcom /:cl --- _maps/map_files/generic/CentCom.dmm | 177 +++++++++++++------------- code/__DEFINES/admin.dm | 4 +- code/modules/admin/admin_fax_panel.dm | 2 + code/modules/admin/topic.dm | 7 +- code/modules/paperwork/fax.dm | 27 +++- 5 files changed, 122 insertions(+), 95 deletions(-) diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index fe2c130ed86..a1ef3a14dd3 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -196,13 +196,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/centcom/central_command_areas/courtroom) -"aV" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/item/radio/headset/headset_cent, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/briefing) "aW" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -716,6 +709,21 @@ /obj/effect/landmark/start/new_player, /turf/closed/indestructible/start_area, /area/misc/start) +"df" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/stamp/denied{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stamp/centcom, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/admin) "dh" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 4 @@ -1663,6 +1671,13 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/white, /area/centcom/tdome/observation) +"ig" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/ferry) "ih" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -2905,6 +2920,11 @@ }, /turf/open/floor/iron, /area/centcom/central_command_areas/fore) +"nz" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/admin, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/briefing) "nA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -3766,6 +3786,13 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/centcom/central_command_areas/evacuation) +"rr" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/clipboard, +/obj/item/radio/headset/headset_cent, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/briefing) "rs" = ( /obj/effect/landmark/prisonwarp, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -5473,6 +5500,21 @@ }, /turf/open/floor/iron, /area/centcom/central_command_areas/supply) +"yR" = ( +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/stamp/denied{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/obj/item/stamp/centcom, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/briefing) "yS" = ( /obj/structure/table/reinforced, /obj/item/storage/box/emps, @@ -6973,12 +7015,6 @@ }, /turf/open/floor/iron, /area/centcom/tdome/observation) -"Ga" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/fax, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/ferry) "Gb" = ( /obj/effect/light_emitter/thunderdome, /turf/closed/indestructible/fakeglass, @@ -7517,17 +7553,6 @@ }, /turf/open/floor/iron, /area/centcom/tdome/observation) -"Ke" = ( -/obj/item/clipboard, -/obj/item/folder/red, -/obj/item/stamp/denied{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stamp, -/obj/structure/table/reinforced, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/briefing) "Kf" = ( /obj/machinery/door/airlock/centcom{ name = "Administrative Storage" @@ -7648,6 +7673,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/centcom/central_command_areas/evacuation/ship) +"KW" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/button/door/indestructible{ + id = "XCCFerry"; + name = "Hanger Bay Shutters"; + pixel_y = -38 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/ferry) "KZ" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -8227,6 +8264,27 @@ /obj/machinery/light/directional/south, /turf/open/floor/wood, /area/centcom/central_command_areas/admin) +"NN" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/structure/table/reinforced, +/obj/item/stack/package_wrap{ + pixel_y = 11; + pixel_x = -16 + }, +/obj/item/stack/cable_coil{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/hand_labeler{ + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/hand_labeler_refill{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/supply) "NO" = ( /turf/open/floor/iron/dark, /area/centcom/central_command_areas/supplypod) @@ -8782,19 +8840,6 @@ "PW" = ( /turf/open/floor/iron, /area/centcom/central_command_areas/supplypod/loading/three) -"PX" = ( -/obj/structure/table/reinforced, -/obj/item/folder/red{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/folder/blue{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/lighter, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/briefing) "PY" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -9586,27 +9631,6 @@ /obj/effect/light_emitter/thunderdome, /turf/open/floor/iron, /area/centcom/tdome/arena) -"TO" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/south, -/obj/structure/table/reinforced, -/obj/item/stack/package_wrap{ - pixel_y = 11; - pixel_x = -16 - }, -/obj/item/stack/cable_coil{ - pixel_y = 4; - pixel_x = -10 - }, -/obj/item/hand_labeler{ - pixel_y = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/hand_labeler_refill{ - pixel_x = 8; - pixel_y = 12 - }, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/supply) "TS" = ( /obj/structure/table/wood, /obj/item/dice/d20{ @@ -10379,18 +10403,6 @@ "Xq" = ( /turf/open/floor/wood, /area/centcom/central_command_areas/admin) -"Xr" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/machinery/button/door/indestructible{ - id = "XCCFerry"; - name = "Hanger Bay Shutters"; - pixel_y = -38 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/ferry) "Xs" = ( /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, @@ -10494,17 +10506,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/centcom/central_command_areas/supplypod) -"XV" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/item/folder/red, -/obj/item/stamp/denied{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stamp, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/admin) "Ya" = ( /turf/closed/indestructible/riveted, /area/centcom/central_command_areas/armory) @@ -45263,7 +45264,7 @@ aa aa aa oe -Ga +ig sq to ZN @@ -45523,7 +45524,7 @@ mD FX sr tp -Xr +KW mD aa oe @@ -47334,7 +47335,7 @@ WN cb Bu tb -aV +rr ho gO aa @@ -48102,8 +48103,8 @@ fa mD PU eF -PX -Ke +nz +yR eV eF xU @@ -49113,7 +49114,7 @@ vo fP On Zw -XV +df hd To BT @@ -50652,7 +50653,7 @@ iF Pg mH nm -TO +NN On Ui JC diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 66f34f5f57b..74c9120d804 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -73,8 +73,8 @@ #define ADMIN_LUAVIEW_CHUNK(state, log_index) "(VIEW CODE)" /// Displays "(SHOW)" in the chat, when clicked it tries to show atom(paper). First you need to set the request_state variable to TRUE for the paper. #define ADMIN_SHOW_PAPER(atom) "(SHOW)" -/// Displays "(PRINT)" in the chat, when clicked it will try to print the atom(paper) on the CentCom fax machine. -#define ADMIN_PRINT_FAX(atom, fax_name) "(PRINT)" +/// Displays "(PRINT)" in the chat, when clicked it will try to print the atom(paper) on the CentCom/Syndicate fax machine. +#define ADMIN_PRINT_FAX(atom, sender, destination) "(PRINT)" /// Displays "(PLAY)" in the chat, when clicked it tries to play internet sounds from the request. #define ADMIN_PLAY_INTERNET(text, credit) "(PLAY)" /// Displays "(SEE Z-LEVEL LAYOUT)" in the chat, when clicked it shows the z-level layouts for the current world state. diff --git a/code/modules/admin/admin_fax_panel.dm b/code/modules/admin/admin_fax_panel.dm index 8874b6f38eb..cc88f1949f2 100644 --- a/code/modules/admin/admin_fax_panel.dm +++ b/code/modules/admin/admin_fax_panel.dm @@ -20,6 +20,8 @@ ADMIN_VERB(fax_panel, R_ADMIN, "Fax Panel", "View and respond to faxes sent to C /datum/fax_panel_interface/New() //Get all faxes, and save them to our list. for(var/obj/machinery/fax/fax as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax)) + if(istype(fax, /obj/machinery/fax/admin)) + continue available_faxes += WEAKREF(fax) //Get all stamps diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index ebdc8430521..6a2666eef9b 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1727,11 +1727,12 @@ if(!check_rights(R_ADMIN)) return - for(var/obj/machinery/fax/FAX as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax)) - if(!is_centcom_level(FAX.z)) + for(var/obj/machinery/fax/admin/FAX as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax/admin)) + if(FAX.fax_id != href_list["destination"]) continue + FAX.receive(locate(href_list["print_fax"]), href_list["sender_name"]) + - FAX.receive(locate(href_list["print_fax"]), href_list["fax_name"]) else if(href_list["play_internet"]) if(!check_rights(R_SOUND)) return diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index e652b92e978..2b75e97c01b 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -66,6 +66,27 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department fax_name = "[current_area.name]" return ..() +/obj/machinery/fax/admin/syndicate + name = "Syndicate Fax Machine" + +/obj/machinery/fax/admin/syndicate/Initialize(mapload) + fax_name = "[special_networks["syndicate"]["fax_name"]]" + fax_id = special_networks["syndicate"]["fax_id"] + syndicate_network = TRUE + return ..() + +/obj/machinery/fax/admin + name = "CentCom Fax Machine" + +/obj/machinery/fax/admin/Initialize(mapload) + if (!fax_name) + fax_name = "[GLOB.nt_fax_department]" + if(!fax_id) + fax_id = special_networks["nanotrasen"]["fax_id"] + name = "[fax_name] Fax Machine" + visible_to_network = FALSE + return ..() + /obj/machinery/fax/Initialize(mapload) . = ..() if (!fax_id) @@ -232,7 +253,7 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department var/list/data = list() //Record a list of all existing faxes. for(var/obj/machinery/fax/FAX as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax)) - if(FAX.fax_id == fax_id || is_centcom_level(FAX.z)) //skip yourself and the centcom fax machine. + if(FAX.fax_id == fax_id) //skip yourself continue var/list/fax_data = list() fax_data["fax_name"] = FAX.fax_name @@ -253,6 +274,8 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department data["fax_history"] = fax_history var/list/special_networks_data = list() for(var/key in special_networks) + if(special_networks[key]["fax_id"] == fax_id) + continue special_networks_data += list(special_networks[key]) data["special_faxes"] = special_networks_data return data @@ -300,7 +323,7 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department history_add("Send", params["name"]) GLOB.requests.fax_request(usr.client, "sent a fax message from [fax_name]/[fax_id] to [params["name"]]", fax_paper) - to_chat(GLOB.admins, span_adminnotice("[icon2html(src.icon, GLOB.admins)]FAX REQUEST: [ADMIN_FULLMONTY(usr)]: [span_linkify("sent a fax message from [fax_name]/[fax_id][ADMIN_FLW(src)] to [html_encode(params["name"])]")] [ADMIN_SHOW_PAPER(fax_paper)] [ADMIN_PRINT_FAX(fax_paper, fax_name)]"), confidential = TRUE) + to_chat(GLOB.admins, span_adminnotice("[icon2html(src.icon, GLOB.admins)]FAX REQUEST: [ADMIN_FULLMONTY(usr)]: [span_linkify("sent a fax message from [fax_name]/[fax_id][ADMIN_FLW(src)] to [html_encode(params["name"])]")] [ADMIN_SHOW_PAPER(fax_paper)] [ADMIN_PRINT_FAX(fax_paper, fax_name, params["id"])]"), confidential = TRUE) for(var/client/staff as anything in GLOB.admins) if(staff?.prefs.read_preference(/datum/preference/toggle/comms_notification)) SEND_SOUND(staff, sound('sound/misc/server-ready.ogg'))