diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 2c17b8213e3..ad1a5a1aa8b 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -600,8 +600,9 @@ // Request console message priority defines #define RQ_NONEW_MESSAGES 0 // RQ_NONEWMESSAGES = no new message -#define RQ_NORMALPRIORITY 1 // RQ_NORMALPRIORITY = normal priority -#define RQ_HIGHPRIORITY 2 // RQ_HIGHPRIORITY = high priority +#define RQ_LOWPRIORITY 1 // RQ_LOWPRIORITY = low priority +#define RQ_NORMALPRIORITY 2 // RQ_NORMALPRIORITY = normal priority +#define RQ_HIGHPRIORITY 3 // RQ_HIGHPRIORITY = high priority /** * Reading books can help with brain damage! diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 41b5a28b42a..18cc38eac8b 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -195,21 +195,26 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) switch(action) if("writeInput") - if(reject_bad_text(params["write"])) - recipient = params["write"] //write contains the string of the receiving department's name - var/new_message = tgui_input_text(usr, "Write your message:", "Awaiting Input", encode = FALSE) - if(isnull(new_message)) - reset_message(FALSE) - return - message = new_message - screen = RCS_MESSAUTH - switch(params["priority"]) - if("1") - priority = RQ_NORMALPRIORITY - if("2") - priority = RQ_HIGHPRIORITY - else - priority = RQ_NONEW_MESSAGES + if(!reject_bad_text(params["write"])) + return + recipient = params["write"] //write contains the string of the receiving department's name + var/new_message = tgui_input_text(usr, "Write your message:", "Awaiting Input", encode = FALSE) + if(isnull(new_message)) + reset_message(FALSE) + return + message = new_message + screen = RCS_MESSAUTH + var/new_priority = text2num(params["priority"]) + switch(new_priority) + if(RQ_LOWPRIORITY) + priority = RQ_LOWPRIORITY + if(RQ_NORMALPRIORITY) + priority = RQ_NORMALPRIORITY + if(RQ_HIGHPRIORITY) + priority = RQ_HIGHPRIORITY + else + // Forcibly update UI state + return TRUE if("writeAnnouncement") var/new_message = tgui_input_text(usr, "Write your message:", "Awaiting Input", message, multiline = TRUE, encode = FALSE) @@ -354,7 +359,7 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) if(!silent) playsound(loc, 'sound/machines/twobeep.ogg', 50, TRUE) atom_say(title) - if(reminder_timer_id == TIMER_ID_NULL) + if(reminder_timer_id == TIMER_ID_NULL && priority > RQ_LOWPRIORITY) reminder_timer_id = addtimer(CALLBACK(src, PROC_REF(remind_unread_messages)), 5 MINUTES, TIMER_STOPPABLE | TIMER_LOOP) switch(priority) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 71dc7aa0f6e..a1aa4868f9a 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -160,7 +160,7 @@ if(destination in announce_beacons) for(var/obj/machinery/requests_console/D in GLOB.allRequestConsoles) if(D.department in announce_beacons[destination]) - D.createMessage(name, "Your Crate has Arrived!", msg, 1) + D.createMessage(name, "Your Crate has Arrived!", msg, RQ_NORMALPRIORITY) /obj/structure/closet/crate/secure desc = "A secure crate." diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm index b8835808ded..4899a039ea2 100644 --- a/code/modules/events/prison_break.dm +++ b/code/modules/events/prison_break.dm @@ -46,7 +46,7 @@ var/my_department = "[station_name()] firewall subroutines" var/rc_message = "An unknown malicious program has been detected in the [english_list(areaName)] lighting and airlock control systems at [station_time_timestamp()]. Systems will be fully compromised within approximately one minute. Direct intervention is required immediately.
" for(var/obj/machinery/message_server/MS in GLOB.machines) - MS.send_rc_message("Engineering", my_department, rc_message, "", "", 2) + MS.send_rc_message("Engineering", my_department, rc_message, "", "", RQ_HIGHPRIORITY) else stack_trace("Could not initiate grey-tide. Unable to find suitable containment area.") kill() diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 6d21ffd940c..4c0231627ee 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -471,7 +471,7 @@ if(!(C.department in supply_consoles)) continue if(!supply_consoles[C.department] || length(supply_consoles[C.department] - mats_in_stock)) - C.createMessage("Ore Redemption Machine", "New Minerals Available!", msg, RQ_NORMALPRIORITY) + C.createMessage("Ore Redemption Machine", "New Minerals Available!", msg, RQ_LOWPRIORITY) /obj/machinery/mineral/ore_redemption/proc/try_refill_storage(mob/living/silicon/robot/robot) . = FALSE diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 0777506e95e..da7d4845ae9 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -82,7 +82,7 @@ GLOBAL_LIST_EMPTY(message_servers) /obj/machinery/message_server/proc/send_pda_message(recipient = "", sender = "", message = "") pda_msgs += new/datum/data_pda_msg(recipient,sender,message) -/obj/machinery/message_server/proc/send_rc_message(recipient = "", sender = "", message = list(), stamp = "Not stamped", id_auth = "Not verified", priority = 1) +/obj/machinery/message_server/proc/send_rc_message(recipient = "", sender = "", message = list(), stamp = "Not stamped", id_auth = "Not verified", priority = RQ_NORMALPRIORITY) if(!islist(message)) message = list(message) rc_msgs += new/datum/data_rc_msg(recipient,sender,message,stamp,id_auth) @@ -91,7 +91,7 @@ GLOBAL_LIST_EMPTY(message_servers) if(ckey(RC.department) == ckey(recipient)) var/title switch(priority) - if(2) + if(RQ_HIGHPRIORITY) title = "PRIORITY Alert from [sender]" else title = "Message from [sender]" diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi index d11daf8608d..3b4195ee8ff 100644 Binary files a/icons/obj/terminals.dmi and b/icons/obj/terminals.dmi differ diff --git a/tgui/packages/tgui/interfaces/RequestConsole.js b/tgui/packages/tgui/interfaces/RequestConsole.js index 83cf3698f38..a116a43dc56 100644 --- a/tgui/packages/tgui/interfaces/RequestConsole.js +++ b/tgui/packages/tgui/interfaces/RequestConsole.js @@ -2,6 +2,11 @@ import { useBackend } from '../backend'; import { Button, LabeledList, Box, Section, Stack, Blink } from '../components'; import { Window } from '../layouts'; +const RQ_NONEW_MESSAGES = 0; +const RQ_LOWPRIORITY = 1; +const RQ_NORMALPRIORITY = 2; +const RQ_HIGHPRIORITY = 3; + export const RequestConsole = (props, context) => { const { act, data } = useBackend(context); const { screen, announcementConsole } = data; @@ -52,13 +57,13 @@ const MainMenu = (props, context) => { const { act, data } = useBackend(context); const { newmessagepriority, announcementConsole, silent } = data; let messageInfo; - if (newmessagepriority === 1) { + if (newmessagepriority >= RQ_NONEW_MESSAGES) { messageInfo = ( There are new messages ); - } else if (newmessagepriority === 2) { + } else if (newmessagepriority === RQ_HIGHPRIORITY) { messageInfo = ( @@ -96,7 +101,7 @@ const MainMenu = (props, context) => { lineHeight={3} color="translucent" content="View Messages" - icon={newmessagepriority > 0 ? 'envelope-open-text' : 'envelope'} + icon={newmessagepriority > RQ_NONEW_MESSAGES ? 'envelope-open-text' : 'envelope'} onClick={() => act('setScreen', { setScreen: 6 })} /> @@ -209,12 +214,12 @@ const DepartmentList = (props, context) => {