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