diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index bdcb98df56..703370fcf9 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -57,6 +57,7 @@
access_ce = 56
access_hop = 57
access_hos = 58
+ access_RC_announce = 59 //Request console announcements
//BEGIN CENTCOM ACCESS
/*Should leave plenty of room if we need to add more access levels.
@@ -158,14 +159,15 @@
return list(access_medical, access_morgue, access_tox, access_tox_storage, access_chemistry, access_medlab, access_court,
access_teleporter, access_heads, access_tech_storage, access_security, access_brig, access_atmospherics,
access_maint_tunnels, access_bar, access_janitor, access_kitchen, access_robotics, access_armory, access_hydroponics,
- access_theatre, access_research, access_hos)
+ access_theatre, access_research, access_hos, access_RC_announce)
if("Head of Personnel")
return list(access_security, access_brig, access_court, access_forensics_lockers,
access_tox, access_tox_storage, access_chemistry, access_medical, access_medlab, access_engine,
access_emergency_storage, access_change_ids, access_ai_upload, access_eva, access_heads,
access_all_personal_lockers, access_tech_storage, access_maint_tunnels, access_bar, access_janitor,
access_crematorium, access_kitchen, access_robotics, access_cargo, access_cargo_bot, access_hydroponics, access_lawyer,
- access_theatre, access_research, access_mining_office, access_mining, access_heads_vault, access_mining_station, access_hop)
+ access_theatre, access_research, access_mining_office, access_mining, access_heads_vault, access_mining_station,
+ access_hop, access_RC_announce)
if("Atmospheric Technician")
return list(access_atmospherics, access_maint_tunnels, access_emergency_storage)
if("Bartender")
@@ -192,15 +194,18 @@
return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
access_heads, access_ai_upload, access_construction, access_robotics,
- access_mint, access_ce)
+ access_mint, access_ce, access_RC_announce)
if("Research Director") // removed hydroponics access, they are a supply field, not science
return list(access_medical, access_morgue, access_medlab, access_rd,
access_tech_storage, access_maint_tunnels, access_heads, access_tox,
- access_tox_storage, access_chemistry, access_teleporter, access_virology, access_research, access_robotics, access_xenobiology)
+ access_tox_storage, access_chemistry, access_teleporter, access_virology,
+ access_research, access_robotics, access_xenobiology, access_RC_announce)
if("Virologist")
return list(access_medical, access_morgue, access_virology, access_research)
if("Chief Medical Officer")
- return list(access_medical, access_morgue, access_medlab, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_research)
+ return list(access_medical, access_morgue, access_medlab, access_heads,
+ access_chemistry, access_virology, access_cmo, access_surgery,
+ access_research, access_RC_announce)
else
return list()
@@ -235,7 +240,7 @@
access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_cargo_bot, access_construction,
access_hydroponics, access_library, access_manufacturing, access_lawyer, access_virology, access_cmo, access_qm, access_clown, access_mime, access_surgery,
access_theatre, access_research, access_mining, access_mining_office, access_mailsorting, access_mint_vault, access_mint,
- access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos)
+ access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce)
/proc/get_all_centcom_access()
return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_creed, access_cent_captain)
@@ -253,7 +258,7 @@
if(4) //engineering and maintenance
return list(access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_tech_storage, access_atmospherics, access_construction, access_robotics, access_ce)
if(5) //command
- return list(access_change_ids, access_ai_upload, access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers, access_mint_vault, access_heads_vault, access_hop)
+ return list(access_change_ids, access_ai_upload, access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers, access_mint_vault, access_heads_vault, access_hop, access_RC_announce)
if(6) //station general
return list(access_chapel_office, access_kitchen,access_bar, access_janitor, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
if(7) //supply
@@ -395,6 +400,8 @@
return "HoS Private"
if(access_ce)
return "CE Private"
+ if(access_RC_announce)
+ return "Request console announcements"
/proc/get_centcom_access_desc(A)
switch(A)
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 6fea98c78a..c099d44ea4 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -39,11 +39,16 @@ var/list/obj/machinery/requests_console/allConsoles = list()
// 7 = sent unsuccessfully
// 8 = view messages
// 9 = authentication before sending
+ // 10 = send announcement
var/silent = 0 // set to 1 for it not to beep all the time
var/hackState = 0
// 0 = not hacked
// 1 = hacked
+ var/announcementConsole = 0
+ // 0 = This console cannot be used to send department announcements
+ // 1 = This console can send department announcements
var/open = 0 // 1 if open
+ var/announceAuth = 0 //Will be set to 1 when you authenticate yourself for announcements
var/msgVerified = "" //Will contain the name of the person who varified it
var/msgStamped = "" //If a message is stamped, this will contain the stamp name
var/message = "";
@@ -94,6 +99,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
dat = text("
Requests Console[src.department] Requests Console
")
if(!src.open)
if (src.screen == 0)
+ announceAuth = 0
if (src.newmessagepriority == 1)
dat += text("There are new messages
")
if (src.newmessagepriority == 2)
@@ -103,6 +109,8 @@ var/list/obj/machinery/requests_console/allConsoles = list()
dat += text("Request Assistance
")
dat += text("Request Supplies
")
dat += text("Relay Anonymous Information
")
+ if(announcementConsole)
+ dat += text("Send station-wide announcement
")
//dat += text("
Call Mailman
") // This is the line to call the mailman, it's intended for it to message him on his PDA
if (src.silent)
dat += text("Speaker OFF")
@@ -163,6 +171,16 @@ var/list/obj/machinery/requests_console/allConsoles = list()
dat += text("Stamped by: [msgStamped]
");
dat += text("Send
");
dat += text("
Back
")
+ if (src.screen == 10)
+ dat += text("Station wide announcement
")
+ if(announceAuth)
+ dat += text("Authentication accepted
")
+ else
+ dat += text("Swipe your card to authenticate yourself.
")
+ dat += text("Message: [message] Write
")
+ if (announceAuth && message)
+ dat += text("Announce
");
+ dat += text("
Back
")
user << browse("[dat]", "window=req_console")
onclose(user, "req_console")
return
@@ -188,6 +206,22 @@ var/list/obj/machinery/requests_console/allConsoles = list()
msgStamped = "";
screen = 0
priority = -1
+ if(href_list["writeAnnouncement"])
+ src.message = strip_html(input(usr, "Write your message", "Messanger", ""))
+ src.priority = href_list["priority"]
+ while (findtext(src.message," ") == 1)
+ src.message = copytext(src.message,2,lentext(src.message)+1)
+ if (findtext(src.message," ") == 1)
+ src.message = "";
+ if (src.message == "")
+ announceAuth = 0;
+ screen = 0
+ if(href_list["sendAnnouncement"])
+ src.message = strip_html(message)
+ world << "[department] announcement: [sanitize(message)]"
+ announceAuth = 0
+ message = ""
+ screen = 0
if(href_list["department"] && src.message)
var/log_msg = src.message
var/message = src.message;
@@ -277,6 +311,14 @@ var/list/obj/machinery/requests_console/allConsoles = list()
var/obj/item/weapon/card/id/T = O
src.msgVerified = text("Verified by [T.registered] ([T.assignment])")
src.updateUsrDialog()
+ if(src.screen == 10)
+ var/obj/item/weapon/card/id/ID = O
+ if (access_RC_announce in ID.access)
+ announceAuth = 1
+ else
+ announceAuth = 0
+ user << "\red You are not authorized to send announcements."
+ src.updateUsrDialog()
if (istype(O, /obj/item/weapon/stamp))
if(src.screen == 9)
var/obj/item/weapon/stamp/T = O
diff --git a/maps/tgstation.2.0.7.dmm b/maps/tgstation.2.0.7.dmm
index 1d6e511e99..10693db7ca 100644
--- a/maps/tgstation.2.0.7.dmm
+++ b/maps/tgstation.2.0.7.dmm
@@ -2284,7 +2284,7 @@
"aRV" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aRW" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aRX" = (/obj/machinery/light,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"aRY" = (/obj/machinery/camera{c_tag = "Bridge Center"; dir = 1},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
+"aRY" = (/obj/machinery/camera{c_tag = "Bridge Center"; dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge desk"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aRZ" = (/obj/closet/fireaxecabinet{pixel_y = -32},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aSa" = (/obj/machinery/door_control{name = "Blast Door Control"; pixel_x = -1; pixel_y = -24; id = "bridge blast"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aSb" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/light,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
@@ -2849,7 +2849,7 @@
"bcO" = (/obj/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Exam Room APC"; pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcQ" = (/obj/stool/chair{dir = 4},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
-"bcR" = (/obj/machinery/requests_console{department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_y = 30},/obj/machinery/door_control{id = "med"; name = "Privacy Shutter Control"; pixel_x = 7; pixel_y = 10; req_access_txt = "0"},/obj/table,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = -3},/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
+"bcR" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_y = 30},/obj/machinery/door_control{id = "med"; name = "Privacy Shutter Control"; pixel_x = 7; pixel_y = 10; req_access_txt = "0"},/obj/table,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = -3},/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcS" = (/obj/stool/chair{dir = 8},/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{pixel_y = 25},/obj/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcT" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcU" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/exam_room)
@@ -2896,7 +2896,7 @@
"bdJ" = (/obj/secure_closet/highsec,/obj/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
"bdK" = (/obj/machinery/power/apc{dir = 2; name = "Head of Staff APC"; pixel_y = -24},/obj/cable,/turf/simulated/floor,/area/crew_quarters/heads)
"bdL" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/crew_quarters/heads)
-"bdM" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/requests_console{department = "Head of personnel's desk"; departmentType = 5; pixel_y = -30},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads)
+"bdM" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/requests_console{department = "Head of personnel's desk"; departmentType = 5; name = "HOP RC"; pixel_y = -30},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads)
"bdN" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/crew_quarters/heads)
"bdO" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/hallway/primary/central)
"bdP" = (/obj/machinery/atmospherics/pipe/simple,/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
@@ -3217,7 +3217,7 @@
"bjS" = (/obj/disposalpipe/segment{dir = 1},/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/obj/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay)
"bjT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/medbay)
"bjU" = (/obj/table,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
-"bjV" = (/obj/machinery/requests_console{department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
+"bjV" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bjW" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bjX" = (/obj/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bjY" = (/obj/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -4102,8 +4102,8 @@
"bAT" = (/obj/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bAU" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/genetics)
"bAV" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/grille,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 4},/obj/window/reinforced,/obj/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics)
-"bAW" = (/obj/machinery/door/airlock/medical{name = "Medbay South"; req_access_txt = "5"},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
-"bAX" = (/obj/machinery/door/airlock/medical{name = "Medbay South"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
+"bAW" = (/obj/disposalpipe/segment{dir = 1},/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
+"bAX" = (/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bAY" = (/obj/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bAZ" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/maintenance/asmaint2)
"bBa" = (/obj/machinery/power/apc{dir = 1; name = "Secondary Aft Starboard Maintenance APC"; pixel_y = 24},/obj/cable{icon_state = "0-2"; d2 = 2},/obj/closet,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -4810,7 +4810,7 @@
"bOz" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bOA" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bOB" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
-"bOC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light{dir = 1},/obj/machinery/requests_console{department = "RD's Office"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
+"bOC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light{dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "RD's Office"; departmentType = 5; name = "RD RC"; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bOD" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Research Director's Office"; req_access_txt = "30"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bOE" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
"bOF" = (/obj/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/medical/virology)
@@ -5407,7 +5407,7 @@
"bZY" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering)
"bZZ" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/engine/engineering)
"caa" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"cab" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
+"cab" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{announcementConsole = 1; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"cac" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"cad" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table,/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"cae" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/table/reinforced,/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5453,7 +5453,7 @@
"caS" = (/obj/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/aft)
"caT" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering)
"caU" = (/obj/secure_closet/engineering_welding,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "yellow"},/area/engine/engineering)
-"caV" = (/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering)
+"caV" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering)
"caW" = (/obj/machinery/vending/coffee,/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering)
"caX" = (/obj/machinery/vending/cigarette,/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/engine/engineering)
"caY" = (/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering)
diff --git a/tgstation.dme b/tgstation.dme
index 1be0f10e9e..38923c20bf 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -130,6 +130,7 @@
#define FILE_DIR "icons/turf"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
+#define FILE_DIR "maps/backup"
#define FILE_DIR "sound"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer"