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'))