|
|
|
|
@@ -1,5 +1,5 @@
|
|
|
|
|
/******************** Requests Console ********************/
|
|
|
|
|
/** Originally written by errorage, updated by: <sign your updates here> **/
|
|
|
|
|
/** Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes */
|
|
|
|
|
|
|
|
|
|
var/req_console_assistance = list()
|
|
|
|
|
var/req_console_supplies = list()
|
|
|
|
|
@@ -41,7 +41,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
|
|
|
|
// 9 = authentication before sending
|
|
|
|
|
// 10 = send announcement
|
|
|
|
|
var/silent = 0 // set to 1 for it not to beep all the time
|
|
|
|
|
var/hackState = 0
|
|
|
|
|
// var/hackState = 0
|
|
|
|
|
// 0 = not hacked
|
|
|
|
|
// 1 = hacked
|
|
|
|
|
var/announcementConsole = 0
|
|
|
|
|
@@ -57,270 +57,319 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
|
|
|
|
luminosity = 0
|
|
|
|
|
|
|
|
|
|
/obj/machinery/requests_console/New()
|
|
|
|
|
src.name = "[src.department] Requests Console"
|
|
|
|
|
name = "[department] Requests Console"
|
|
|
|
|
allConsoles += src
|
|
|
|
|
//req_console_departments += department
|
|
|
|
|
switch(src.departmentType)
|
|
|
|
|
switch(departmentType)
|
|
|
|
|
if(1)
|
|
|
|
|
if(!("[src.department]" in req_console_assistance))
|
|
|
|
|
if(!("[department]" in req_console_assistance))
|
|
|
|
|
req_console_assistance += department
|
|
|
|
|
if(2)
|
|
|
|
|
if(!("[src.department]" in req_console_supplies))
|
|
|
|
|
if(!("[department]" in req_console_supplies))
|
|
|
|
|
req_console_supplies += department
|
|
|
|
|
if(3)
|
|
|
|
|
if(!("[src.department]" in req_console_information))
|
|
|
|
|
if(!("[department]" in req_console_information))
|
|
|
|
|
req_console_information += department
|
|
|
|
|
if(4)
|
|
|
|
|
if(!("[src.department]" in req_console_assistance))
|
|
|
|
|
if(!("[department]" in req_console_assistance))
|
|
|
|
|
req_console_assistance += department
|
|
|
|
|
if(!("[src.department]" in req_console_supplies))
|
|
|
|
|
if(!("[department]" in req_console_supplies))
|
|
|
|
|
req_console_supplies += department
|
|
|
|
|
if(5)
|
|
|
|
|
if(!("[src.department]" in req_console_assistance))
|
|
|
|
|
if(!("[department]" in req_console_assistance))
|
|
|
|
|
req_console_assistance += department
|
|
|
|
|
if(!("[src.department]" in req_console_information))
|
|
|
|
|
if(!("[department]" in req_console_information))
|
|
|
|
|
req_console_information += department
|
|
|
|
|
if(6)
|
|
|
|
|
if(!("[src.department]" in req_console_supplies))
|
|
|
|
|
if(!("[department]" in req_console_supplies))
|
|
|
|
|
req_console_supplies += department
|
|
|
|
|
if(!("[src.department]" in req_console_information))
|
|
|
|
|
if(!("[department]" in req_console_information))
|
|
|
|
|
req_console_information += department
|
|
|
|
|
if(7)
|
|
|
|
|
if(!("[src.department]" in req_console_assistance))
|
|
|
|
|
if(!("[department]" in req_console_assistance))
|
|
|
|
|
req_console_assistance += department
|
|
|
|
|
if(!("[src.department]" in req_console_supplies))
|
|
|
|
|
if(!("[department]" in req_console_supplies))
|
|
|
|
|
req_console_supplies += department
|
|
|
|
|
if(!("[src.department]" in req_console_information))
|
|
|
|
|
if(!("[department]" in req_console_information))
|
|
|
|
|
req_console_information += department
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/obj/machinery/requests_console/attack_hand(user as mob)
|
|
|
|
|
var/dat
|
|
|
|
|
dat = text("<HEAD><TITLE>Requests Console</TITLE></HEAD><H3>[src.department] Requests Console</H3>")
|
|
|
|
|
if(!src.open)
|
|
|
|
|
if (src.screen == 0)
|
|
|
|
|
announceAuth = 0
|
|
|
|
|
if (src.newmessagepriority == 1)
|
|
|
|
|
dat += text("<FONT COLOR='RED'>There are new messages</FONT><BR>")
|
|
|
|
|
if (src.newmessagepriority == 2)
|
|
|
|
|
dat += text("<FONT COLOR='RED'><B>NEW PRIORITY MESSAGES</B></FONT><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[8]'>View Messages</A><BR><BR>")
|
|
|
|
|
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[1]'>Request Assistance</A><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[2]'>Request Supplies</A><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[3]'>Relay Anonymous Information</A><BR><BR>")
|
|
|
|
|
if(announcementConsole)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[10]'>Send station-wide announcement</A><BR><BR>")
|
|
|
|
|
//dat += text("<BR><A href='?src=\ref[src];callMailman=[1];location=[src.department]'>Call Mailman</A><BR><BR>") // 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 <A href='?src=\ref[src];setSilent=[0]'>OFF</A>")
|
|
|
|
|
else
|
|
|
|
|
dat += text("Speaker <A href='?src=\ref[src];setSilent=[1]'>ON</A>")
|
|
|
|
|
if (src.screen == 1)
|
|
|
|
|
dat = text("<HEAD><TITLE>Requests Console</TITLE></HEAD><H3>[department] Requests Console</H3>")
|
|
|
|
|
if(!open)
|
|
|
|
|
switch(screen)
|
|
|
|
|
if(1) //req. assistance
|
|
|
|
|
dat += text("Which department do you need assistance from?<BR><BR>")
|
|
|
|
|
for(var/dpt in req_console_assistance)
|
|
|
|
|
if (dpt != src.department)
|
|
|
|
|
if (dpt != department)
|
|
|
|
|
dat += text("[dpt] (<A href='?src=\ref[src];write=[ckey(dpt)]'>Message</A> or ")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=[2]'>High Priority</A>")
|
|
|
|
|
if (src.hackState == 1)
|
|
|
|
|
dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=[3]'>EXTREME</A>)")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=2'>High Priority</A>")
|
|
|
|
|
// if (hackState == 1)
|
|
|
|
|
// dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=3'>EXTREME</A>)")
|
|
|
|
|
dat += text(")<BR>")
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=[0]'>Back</A><BR>")
|
|
|
|
|
if (src.screen == 2)
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=0'>Back</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(2) //req. supplies
|
|
|
|
|
dat += text("Which department do you need supplies from?<BR><BR>")
|
|
|
|
|
for(var/dpt in req_console_supplies)
|
|
|
|
|
if (dpt != src.department)
|
|
|
|
|
if (dpt != department)
|
|
|
|
|
dat += text("[dpt] (<A href='?src=\ref[src];write=[ckey(dpt)]'>Message</A> or ")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=[2]'>High Priority</A>")
|
|
|
|
|
if (src.hackState == 1)
|
|
|
|
|
dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=[3]'>EXTREME</A>)")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=2'>High Priority</A>")
|
|
|
|
|
// if (hackState == 1)
|
|
|
|
|
// dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=3'>EXTREME</A>)")
|
|
|
|
|
dat += text(")<BR>")
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=[0]'>Back</A><BR>")
|
|
|
|
|
if (src.screen == 3)
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=0'>Back</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(3) //relay information
|
|
|
|
|
dat += text("Which department would you like to send information to?<BR><BR>")
|
|
|
|
|
for(var/dpt in req_console_information)
|
|
|
|
|
if (dpt != src.department)
|
|
|
|
|
if (dpt != department)
|
|
|
|
|
dat += text("[dpt] (<A href='?src=\ref[src];write=[ckey(dpt)]'>Message</A> or ")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=[2]'>High Priority</A>")
|
|
|
|
|
if (src.hackState == 1)
|
|
|
|
|
dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=[3]'>EXTREME</A>)")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];write=[ckey(dpt)];priority=2'>High Priority</A>")
|
|
|
|
|
// if (hackState == 1)
|
|
|
|
|
// dat += text(" or <A href='?src=\ref[src];write=[ckey(dpt)];priority=3'>EXTREME</A>)")
|
|
|
|
|
dat += text(")<BR>")
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=[0]'>Back</A><BR>")
|
|
|
|
|
if (src.screen == 6)
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=0'>Back</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(6) //sent successfully
|
|
|
|
|
dat += text("<FONT COLOR='GREEN'>Message sent</FONT><BR><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[0]'>Continue</A><BR>")
|
|
|
|
|
if (src.screen == 7)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=0'>Continue</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(7) //unsuccessful; not sent
|
|
|
|
|
dat += text("<FONT COLOR='RED'>An error occurred. </FONT><BR><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[0]'>Continue</A><BR>")
|
|
|
|
|
if (src.screen == 8)
|
|
|
|
|
for (var/obj/machinery/requests_console/CONSOLE in allConsoles)
|
|
|
|
|
if (CONSOLE.department == src.department)
|
|
|
|
|
CONSOLE.newmessagepriority = 0
|
|
|
|
|
CONSOLE.icon_state = "req_comp0"
|
|
|
|
|
CONSOLE.luminosity = 1
|
|
|
|
|
src.newmessagepriority = 0
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=0'>Continue</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(8) //view messages
|
|
|
|
|
for (var/obj/machinery/requests_console/Console in allConsoles)
|
|
|
|
|
if (Console.department == department)
|
|
|
|
|
Console.newmessagepriority = 0
|
|
|
|
|
Console.icon_state = "req_comp0"
|
|
|
|
|
Console.luminosity = 1
|
|
|
|
|
newmessagepriority = 0
|
|
|
|
|
icon_state = "req_comp0"
|
|
|
|
|
for(var/msg in src.messages)
|
|
|
|
|
for(var/msg in messages)
|
|
|
|
|
dat += text("[msg]<BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=[0]'>Back to main menu</A><BR>")
|
|
|
|
|
if (src.screen == 9)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=0'>Back to main menu</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(9) //authentication before sending
|
|
|
|
|
dat += text("<B>Message Authentication</B><BR><BR>")
|
|
|
|
|
dat += text("<b>Message for [src.dpt]: </b>[message]<BR><BR>")
|
|
|
|
|
dat += text("<b>Message for [dpt]: </b>[message]<BR><BR>")
|
|
|
|
|
dat += text("You may authenticate your message now by scanning your ID or your stamp<BR><BR>")
|
|
|
|
|
dat += text("Validated by: [msgVerified]<br>");
|
|
|
|
|
dat += text("Stamped by: [msgStamped]<br>");
|
|
|
|
|
dat += text("<A href='?src=\ref[src];department=[src.dpt]'>Send</A><BR>");
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=[0]'>Back</A><BR>")
|
|
|
|
|
if (src.screen == 10)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];department=[dpt]'>Send</A><BR>");
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=0'>Back</A><BR>")
|
|
|
|
|
|
|
|
|
|
if(10) //send announcement
|
|
|
|
|
dat += text("<B>Station wide announcement</B><BR><BR>")
|
|
|
|
|
if(announceAuth)
|
|
|
|
|
dat += text("<b>Authentication accepted</b><BR><BR>")
|
|
|
|
|
else
|
|
|
|
|
dat += text("Swipe your card to authenticate yourself.<BR><BR>")
|
|
|
|
|
dat += text("<b>Message: </b>[message] <A href='?src=\ref[src];writeAnnouncement=[1]'>Write</A><BR><BR>")
|
|
|
|
|
dat += text("<b>Message: </b>[message] <A href='?src=\ref[src];writeAnnouncement=1'>Write</A><BR><BR>")
|
|
|
|
|
if (announceAuth && message)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];sendAnnouncement=[1]'>Announce</A><BR>");
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=[0]'>Back</A><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];sendAnnouncement=1'>Announce</A><BR>");
|
|
|
|
|
dat += text("<BR><A href='?src=\ref[src];setScreen=0'>Back</A><BR>")
|
|
|
|
|
|
|
|
|
|
else //main menu
|
|
|
|
|
screen = 0
|
|
|
|
|
announceAuth = 0
|
|
|
|
|
if (newmessagepriority == 1)
|
|
|
|
|
dat += text("<FONT COLOR='RED'>There are new messages</FONT><BR>")
|
|
|
|
|
if (newmessagepriority == 2)
|
|
|
|
|
dat += text("<FONT COLOR='RED'><B>NEW PRIORITY MESSAGES</B></FONT><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=8'>View Messages</A><BR><BR>")
|
|
|
|
|
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=1'>Request Assistance</A><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=2'>Request Supplies</A><BR>")
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=3'>Relay Anonymous Information</A><BR><BR>")
|
|
|
|
|
if(announcementConsole)
|
|
|
|
|
dat += text("<A href='?src=\ref[src];setScreen=10'>Send station-wide announcement</A><BR><BR>")
|
|
|
|
|
if (silent)
|
|
|
|
|
dat += text("Speaker <A href='?src=\ref[src];setSilent=0'>OFF</A>")
|
|
|
|
|
else
|
|
|
|
|
dat += text("Speaker <A href='?src=\ref[src];setSilent=1'>ON</A>")
|
|
|
|
|
|
|
|
|
|
user << browse("[dat]", "")
|
|
|
|
|
onclose(user, "req_console")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/obj/machinery/requests_console/Topic(href, href_list)
|
|
|
|
|
if(..())
|
|
|
|
|
return
|
|
|
|
|
if(..()) return
|
|
|
|
|
usr.machine = src
|
|
|
|
|
src.add_fingerprint(usr)
|
|
|
|
|
if(href_list["write"])
|
|
|
|
|
src.dpt = href_list["write"] //write contains the string of the receiving department's name
|
|
|
|
|
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 != "")
|
|
|
|
|
add_fingerprint(usr)
|
|
|
|
|
|
|
|
|
|
if(reject_bad_text(href_list["write"]))
|
|
|
|
|
dpt = ckey(href_list["write"]) //write contains the string of the receiving department's name
|
|
|
|
|
|
|
|
|
|
var/new_message = reject_bad_text(input(usr, "Write your message:", "Awaiting Input", ""))
|
|
|
|
|
if(new_message)
|
|
|
|
|
message = new_message
|
|
|
|
|
screen = 9
|
|
|
|
|
switch(href_list["priority"])
|
|
|
|
|
if("2") priority = 2
|
|
|
|
|
else priority = -1
|
|
|
|
|
else
|
|
|
|
|
dpt = "";
|
|
|
|
|
msgVerified = "";
|
|
|
|
|
msgStamped = "";
|
|
|
|
|
msgVerified = ""
|
|
|
|
|
msgStamped = ""
|
|
|
|
|
screen = 0
|
|
|
|
|
priority = -1
|
|
|
|
|
|
|
|
|
|
if(href_list["writeAnnouncement"])
|
|
|
|
|
src.message = 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;
|
|
|
|
|
var/new_message = reject_bad_text(input(usr, "Write your message:", "Awaiting Input", ""))
|
|
|
|
|
if(new_message)
|
|
|
|
|
message = new_message
|
|
|
|
|
switch(href_list["priority"])
|
|
|
|
|
if("2") priority = 2
|
|
|
|
|
else priority = -1
|
|
|
|
|
else
|
|
|
|
|
message = ""
|
|
|
|
|
announceAuth = 0
|
|
|
|
|
screen = 0
|
|
|
|
|
|
|
|
|
|
if(href_list["sendAnnouncement"])
|
|
|
|
|
world << "<b><font size = 3><font color = red>[department] announcement:</font color> [html_encode(message)]</font size></b>"
|
|
|
|
|
if(!announcementConsole) return
|
|
|
|
|
world << "<b><font size = 3><font color = red>[department] announcement:</font color> [message]</font size></b>"
|
|
|
|
|
announceAuth = 0
|
|
|
|
|
message = ""
|
|
|
|
|
screen = 0
|
|
|
|
|
if(href_list["department"] && src.message)
|
|
|
|
|
var/log_msg = src.message
|
|
|
|
|
var/message = src.message;
|
|
|
|
|
message += "<br>"
|
|
|
|
|
if (src.msgVerified)
|
|
|
|
|
message += src.msgVerified
|
|
|
|
|
message += "<br>"
|
|
|
|
|
if (src.msgStamped)
|
|
|
|
|
message += src.msgStamped
|
|
|
|
|
message += "<br>"
|
|
|
|
|
src.screen = 7 //if it's successful, this will get overrwritten (7 = unsufccessfull, 6 = successfull)
|
|
|
|
|
if (message)
|
|
|
|
|
|
|
|
|
|
if( href_list["department"] && message )
|
|
|
|
|
var/log_msg = message
|
|
|
|
|
var/sending = message
|
|
|
|
|
sending += "<br>"
|
|
|
|
|
if (msgVerified)
|
|
|
|
|
sending += msgVerified
|
|
|
|
|
sending += "<br>"
|
|
|
|
|
if (msgStamped)
|
|
|
|
|
sending += msgStamped
|
|
|
|
|
sending += "<br>"
|
|
|
|
|
screen = 7 //if it's successful, this will get overrwritten (7 = unsufccessfull, 6 = successfull)
|
|
|
|
|
if (sending)
|
|
|
|
|
for (var/obj/machinery/message_server/MS in world)
|
|
|
|
|
MS.send_rc_message(href_list["department"],src.department,log_msg,msgStamped,msgVerified,priority)
|
|
|
|
|
for (var/obj/machinery/requests_console/CONSOLE in allConsoles)
|
|
|
|
|
if (ckey(CONSOLE.department) == ckey(href_list["department"]))
|
|
|
|
|
if(src.priority == "2") //High priority
|
|
|
|
|
if(CONSOLE.newmessagepriority < 2)
|
|
|
|
|
CONSOLE.newmessagepriority = 2
|
|
|
|
|
CONSOLE.icon_state = "req_comp2"
|
|
|
|
|
if(!CONSOLE.silent)
|
|
|
|
|
playsound(CONSOLE.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
for (var/mob/O in hearers(5, CONSOLE.loc))
|
|
|
|
|
O.show_message(text("\icon[CONSOLE] *The Requests Console beeps: 'PRIORITY Alert in [src.department]'"))
|
|
|
|
|
CONSOLE.messages += "<B><FONT color='red'>High Priority message from <A href='?src=\ref[CONSOLE];write=[ckey(src.department)]'>[src.department]</A></FONT></B><BR>[message]"
|
|
|
|
|
else if(src.priority == "3"
|
|
|
|
|
) //Not implemanted, but will be
|
|
|
|
|
if(CONSOLE.newmessagepriority < 3)
|
|
|
|
|
CONSOLE.newmessagepriority = 3
|
|
|
|
|
CONSOLE.icon_state = "req_comp3"
|
|
|
|
|
if(!CONSOLE.silent)
|
|
|
|
|
playsound(CONSOLE.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
for (var/mob/O in hearers(7, CONSOLE.loc))
|
|
|
|
|
O.show_message(text("\icon[CONSOLE] *The Requests Console yells: 'EXTREME PRIORITY alert in [src.department]'"))
|
|
|
|
|
CONSOLE.messages += "<B><FONT color='red'>Extreme Priority message from [ckey(src.department)]</FONT></B><BR>[message]"
|
|
|
|
|
MS.send_rc_message(href_list["department"],department,log_msg,msgStamped,msgVerified,priority)
|
|
|
|
|
|
|
|
|
|
for (var/obj/machinery/requests_console/Console in allConsoles)
|
|
|
|
|
if (ckey(Console.department) == ckey(href_list["department"]))
|
|
|
|
|
|
|
|
|
|
switch(priority)
|
|
|
|
|
if("2") //High priority
|
|
|
|
|
if(Console.newmessagepriority < 2)
|
|
|
|
|
Console.newmessagepriority = 2
|
|
|
|
|
Console.icon_state = "req_comp2"
|
|
|
|
|
if(!Console.silent)
|
|
|
|
|
playsound(Console.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
for (var/mob/O in hearers(5, Console.loc))
|
|
|
|
|
O.show_message(text("\icon[Console] *The Requests Console beeps: 'PRIORITY Alert in [department]'"))
|
|
|
|
|
Console.messages += "<B><FONT color='red'>High Priority message from <A href='?src=\ref[Console];write=[ckey(department)]'>[department]</A></FONT></B><BR>[sending]"
|
|
|
|
|
|
|
|
|
|
// if("3") //Not implemanted, but will be //Removed as it doesn't look like anybody intends on implimenting it ~Carn
|
|
|
|
|
// if(Console.newmessagepriority < 3)
|
|
|
|
|
// Console.newmessagepriority = 3
|
|
|
|
|
// Console.icon_state = "req_comp3"
|
|
|
|
|
// if(!Console.silent)
|
|
|
|
|
// playsound(Console.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
// for (var/mob/O in hearers(7, Console.loc))
|
|
|
|
|
// O.show_message(text("\icon[Console] *The Requests Console yells: 'EXTREME PRIORITY alert in [department]'"))
|
|
|
|
|
// Console.messages += "<B><FONT color='red'>Extreme Priority message from [ckey(department)]</FONT></B><BR>[message]"
|
|
|
|
|
|
|
|
|
|
else // Normal priority
|
|
|
|
|
if(CONSOLE.newmessagepriority < 1)
|
|
|
|
|
CONSOLE.newmessagepriority = 1
|
|
|
|
|
CONSOLE.icon_state = "req_comp1"
|
|
|
|
|
if(!CONSOLE.silent)
|
|
|
|
|
playsound(CONSOLE.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
for (var/mob/O in hearers(4, CONSOLE.loc))
|
|
|
|
|
O.show_message(text("\icon[CONSOLE] *The Requests Console beeps: 'Message from [src.department]'"))
|
|
|
|
|
CONSOLE.messages += "<B>Message from <A href='?src=\ref[CONSOLE];write=[ckey(src.department)]'>[src.department]</A></FONT></B><BR>[message]"
|
|
|
|
|
src.screen = 6
|
|
|
|
|
CONSOLE.luminosity = 2
|
|
|
|
|
src.messages += "<B>Message sent to [src.dpt]</B><BR>[message]"
|
|
|
|
|
if(href_list["setScreen"])
|
|
|
|
|
src.screen = text2num(href_list["setScreen"])
|
|
|
|
|
if (src.screen == 0)
|
|
|
|
|
dpt = "";
|
|
|
|
|
msgVerified = "";
|
|
|
|
|
msgStamped = "";
|
|
|
|
|
message = "";
|
|
|
|
|
priority = -1;
|
|
|
|
|
if(href_list["setSilent"])
|
|
|
|
|
src.silent = text2num(href_list["setSilent"])
|
|
|
|
|
src.updateUsrDialog()
|
|
|
|
|
if(Console.newmessagepriority < 1)
|
|
|
|
|
Console.newmessagepriority = 1
|
|
|
|
|
Console.icon_state = "req_comp1"
|
|
|
|
|
if(!Console.silent)
|
|
|
|
|
playsound(Console.loc, 'twobeep.ogg', 50, 1)
|
|
|
|
|
for (var/mob/O in hearers(4, Console.loc))
|
|
|
|
|
O.show_message(text("\icon[Console] *The Requests Console beeps: 'Message from [department]'"))
|
|
|
|
|
Console.messages += "<B>Message from <A href='?src=\ref[Console];write=[ckey(department)]'>[department]</A></FONT></B><BR>[message]"
|
|
|
|
|
|
|
|
|
|
screen = 6
|
|
|
|
|
Console.luminosity = 2
|
|
|
|
|
messages += "<B>Message sent to [dpt]</B><BR>[message]"
|
|
|
|
|
|
|
|
|
|
//Handle screen switching
|
|
|
|
|
switch(text2num(href_list["setScreen"]))
|
|
|
|
|
if(null) //skip
|
|
|
|
|
if(1) //req. assistance
|
|
|
|
|
screen = 1
|
|
|
|
|
if(2) //req. supplies
|
|
|
|
|
screen = 2
|
|
|
|
|
if(3) //relay information
|
|
|
|
|
screen = 3
|
|
|
|
|
// if(4) //write message
|
|
|
|
|
// screen = 4
|
|
|
|
|
if(5) //choose priority
|
|
|
|
|
screen = 5
|
|
|
|
|
if(6) //sent successfully
|
|
|
|
|
screen = 6
|
|
|
|
|
if(7) //unsuccessfull; not sent
|
|
|
|
|
screen = 7
|
|
|
|
|
if(8) //view messages
|
|
|
|
|
screen = 8
|
|
|
|
|
if(9) //authentication
|
|
|
|
|
screen = 9
|
|
|
|
|
if(10) //send announcement
|
|
|
|
|
if(!announcementConsole) return
|
|
|
|
|
screen = 10
|
|
|
|
|
else //main menu
|
|
|
|
|
dpt = ""
|
|
|
|
|
msgVerified = ""
|
|
|
|
|
msgStamped = ""
|
|
|
|
|
message = ""
|
|
|
|
|
priority = -1
|
|
|
|
|
screen = 0
|
|
|
|
|
|
|
|
|
|
//Handle silencing the console
|
|
|
|
|
switch( href_list["setSilent"] )
|
|
|
|
|
if(null) //skip
|
|
|
|
|
if("1") silent = 1
|
|
|
|
|
else silent = 0
|
|
|
|
|
|
|
|
|
|
updateUsrDialog()
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
//err... hacking code, which has no reason for existing... but anyway... it's supposed to unlock priority 3 messanging on that console (EXTREME priority...) the code for that actually exists.
|
|
|
|
|
/obj/machinery/requests_console/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
|
|
|
|
|
/*
|
|
|
|
|
if (istype(O, /obj/item/weapon/crowbar))
|
|
|
|
|
if(src.open)
|
|
|
|
|
src.open = 0
|
|
|
|
|
src.icon_state="req_comp0"
|
|
|
|
|
if(open)
|
|
|
|
|
open = 0
|
|
|
|
|
icon_state="req_comp0"
|
|
|
|
|
else
|
|
|
|
|
src.open = 1
|
|
|
|
|
if(src.hackState == 0)
|
|
|
|
|
src.icon_state="req_comp_open"
|
|
|
|
|
else if(src.hackState == 1)
|
|
|
|
|
src.icon_state="req_comp_rewired"
|
|
|
|
|
open = 1
|
|
|
|
|
if(hackState == 0)
|
|
|
|
|
icon_state="req_comp_open"
|
|
|
|
|
else if(hackState == 1)
|
|
|
|
|
icon_state="req_comp_rewired"
|
|
|
|
|
if (istype(O, /obj/item/weapon/screwdriver))
|
|
|
|
|
if(src.open)
|
|
|
|
|
if(src.hackState == 0)
|
|
|
|
|
src.hackState = 1
|
|
|
|
|
src.icon_state="req_comp_rewired"
|
|
|
|
|
else if(src.hackState == 1)
|
|
|
|
|
src.hackState = 0
|
|
|
|
|
src.icon_state="req_comp_open"
|
|
|
|
|
if(open)
|
|
|
|
|
if(hackState == 0)
|
|
|
|
|
hackState = 1
|
|
|
|
|
icon_state="req_comp_rewired"
|
|
|
|
|
else if(hackState == 1)
|
|
|
|
|
hackState = 0
|
|
|
|
|
icon_state="req_comp_open"
|
|
|
|
|
else
|
|
|
|
|
user << "You can't do much with that."*/
|
|
|
|
|
|
|
|
|
|
if (istype(O, /obj/item/weapon/card/id))
|
|
|
|
|
if(src.screen == 9)
|
|
|
|
|
if(screen == 9)
|
|
|
|
|
var/obj/item/weapon/card/id/T = O
|
|
|
|
|
src.msgVerified = text("<font color='green'><b>Verified by [T.registered_name] ([T.assignment])</b></font>")
|
|
|
|
|
src.updateUsrDialog()
|
|
|
|
|
if(src.screen == 10)
|
|
|
|
|
msgVerified = text("<font color='green'><b>Verified by [T.registered_name] ([T.assignment])</b></font>")
|
|
|
|
|
updateUsrDialog()
|
|
|
|
|
if(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()
|
|
|
|
|
updateUsrDialog()
|
|
|
|
|
if (istype(O, /obj/item/weapon/stamp))
|
|
|
|
|
if(src.screen == 9)
|
|
|
|
|
if(screen == 9)
|
|
|
|
|
var/obj/item/weapon/stamp/T = O
|
|
|
|
|
src.msgStamped = text("<font color='blue'><b>Stamped with the [T.name]</b></font>")
|
|
|
|
|
src.updateUsrDialog()
|
|
|
|
|
msgStamped = text("<font color='blue'><b>Stamped with the [T.name]</b></font>")
|
|
|
|
|
updateUsrDialog()
|
|
|
|
|
return
|