New computer sounds (#80)

* B E P I S

* wew

* nnn

* ya

* k

* oh wait dont need these
This commit is contained in:
L.E.D
2016-12-01 09:03:23 -05:00
committed by TalkingCactus
parent 41eb5dcbbf
commit c9c5690d78
28 changed files with 228 additions and 17 deletions
@@ -40,8 +40,10 @@
else
patient = null
dat += "<B>No patient detected</B>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
dat += "<B>Operating table not found.</B>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
var/datum/browser/popup = new(user, "op", "Operating Computer", 400, 500)
popup.set_content(dat)
+2
View File
@@ -83,6 +83,8 @@
if(..())
return
if(href_list["fix"])
usr << "<span class='notice'>Reconstruction in progress. This will take several minutes.</span>"
playsound(src, 'sound/machines/terminal_processing.ogg', 25, 0)
active = 1
while (occupier.health < 100)
occupier.adjustOxyLoss(-1, 0)
+6
View File
@@ -70,6 +70,7 @@
if(!(user in watchers))
user.unset_machine() // no usable camera on the network, we disconnect the user from the computer.
return
playsound(src, 'sound/machines/terminal_displaying.ogg', 25, 0)
use_camera_console(user)
/obj/machinery/computer/security/proc/use_camera_console(mob/user)
@@ -79,12 +80,14 @@
return
if(!t)
user.unset_machine()
playsound(src, 'sound/machines/terminal_off.ogg', 25, 0)
return
var/obj/machinery/camera/C = camera_list[t]
if(t == "Cancel")
user.unset_machine()
playsound(src, 'sound/machines/terminal_off.ogg', 25, 0)
return
if(C)
var/camera_fail = 0
@@ -108,9 +111,12 @@
A.client.eye = A.eyeobj
else
user.reset_perspective(C)
user.overlay_fullscreen("flash", /obj/screen/fullscreen/flash/noise)
user.clear_fullscreen("flash", 5)
watchers[user] = C
use_power(50)
addtimer(src, "use_camera_console", 5, FALSE, user)
playsound(src, 'sound/machines/terminal_select.ogg', 25, 0)
else
user.unset_machine()
@@ -148,6 +148,7 @@
C.remote_control = null
C.unset_machine()
src.Remove(C)
playsound(remote_eye.origin, 'sound/machines/terminal_off.ogg', 25, 0)
/datum/action/innate/camera_jump
name = "Jump To Camera"
@@ -174,8 +175,14 @@
if (tempnetwork.len)
T[text("[][]", netcam.c_tag, (netcam.can_use() ? null : " (Deactivated)"))] = netcam
playsound(origin, 'sound/machines/terminal_select.ogg', 25, 0)
var/camera = input("Choose which camera you want to view", "Cameras") as null|anything in T
var/obj/machinery/camera/final = T[camera]
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(final)
remote_eye.setLoc(get_turf(final))
playsound(origin, 'sound/machines/terminal_select.ogg', 25, 0)
remote_eye.setLoc(get_turf(final))
C.overlay_fullscreen("flash", /obj/screen/fullscreen/flash/noise)
C.clear_fullscreen("flash", 3) //Shorter flash than normal since it's an ~~advanced~~ console!
else
playsound(origin, 'sound/machines/terminal_error.ogg', 25, 0)
+19
View File
@@ -54,17 +54,20 @@ var/time_last_changed_position = 0
return
idcard.loc = src
scan = idcard
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else if(!modify)
if(!usr.drop_item())
return
idcard.loc = src
modify = idcard
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else
if(!modify)
if(!usr.drop_item())
return
idcard.loc = src
modify = idcard
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else
return ..()
@@ -312,6 +315,7 @@ var/time_last_changed_position = 0
modify.update_label()
modify.loc = loc
modify.verb_pickup()
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
modify = null
region_access = null
head_subordinates = null
@@ -320,6 +324,7 @@ var/time_last_changed_position = 0
if (istype(I, /obj/item/weapon/card/id))
if(!usr.drop_item())
return
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
I.loc = src
modify = I
authenticated = 0
@@ -328,12 +333,14 @@ var/time_last_changed_position = 0
if (scan)
scan.loc = src.loc
scan.verb_pickup()
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
scan = null
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
if(!usr.drop_item())
return
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
I.loc = src
scan = I
authenticated = 0
@@ -349,6 +356,7 @@ var/time_last_changed_position = 0
authenticated = 1
else
authenticated = 2
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
else
if((access_hop in scan.access) && ((target_dept==1) || !target_dept))
@@ -375,6 +383,7 @@ var/time_last_changed_position = 0
region_access = null
head_subordinates = null
authenticated = 0
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("access")
if(href_list["allowed"])
if(authenticated)
@@ -384,6 +393,7 @@ var/time_last_changed_position = 0
modify.access -= access_type
if(access_allowed == 1)
modify.access += access_type
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if ("assign")
if (authenticated == 2)
var/t1 = href_list["assign_target"]
@@ -409,9 +419,12 @@ var/time_last_changed_position = 0
modify.access = ( istype(src,/obj/machinery/computer/card/centcom) ? get_centcom_access(t1) : jobdatum.get_access() )
if (modify)
modify.assignment = t1
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if ("demote")
if(modify.assignment in head_subordinates || modify.assignment == "Assistant")
modify.assignment = "Unassigned"
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else
usr << "<span class='error'>You are not authorized to demote this position.</span>"
if ("reg")
@@ -422,6 +435,7 @@ var/time_last_changed_position = 0
var/newName = reject_bad_name(href_list["reg"])
if(newName)
modify.registered_name = newName
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else
usr << "<span class='error'>Invalid name entered.</span>"
return
@@ -431,6 +445,7 @@ var/time_last_changed_position = 0
if("return")
//DISPLAY MAIN MENU
mode = 3;
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("make_job_available")
// MAKE ANOTHER JOB POSITION AVAILABLE FOR LATE JOINERS
@@ -445,6 +460,7 @@ var/time_last_changed_position = 0
time_last_changed_position = world.time / 10
j.total_positions++
opened_positions[edit_job_target]++
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("make_job_unavailable")
// MAKE JOB POSITION UNAVAILABLE FOR LATE JOINERS
@@ -460,6 +476,7 @@ var/time_last_changed_position = 0
time_last_changed_position = world.time / 10
j.total_positions--
opened_positions[edit_job_target]--
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if ("print")
if (!( printing ))
@@ -472,6 +489,8 @@ var/time_last_changed_position = 0
P.info = t1
P.name = "paper- 'Crew Manifest'"
printing = null
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
if (modify)
modify.update_label()
updateUsrDialog()
+32
View File
@@ -81,6 +81,7 @@
W.loc = src
src.diskette = W
user << "<span class='notice'>You insert [W].</span>"
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
src.updateUsrDialog()
else
return ..()
@@ -228,14 +229,18 @@
switch(href_list["task"])
if("autoprocess")
autoprocess = 1
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("stopautoprocess")
autoprocess = 0
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else if ((href_list["scan"]) && !isnull(scanner) && scanner.is_operational())
scantemp = ""
loading = 1
src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
say("Initiating scan...")
spawn(20)
src.scan_mob(scanner.occupant)
@@ -248,10 +253,13 @@
else if ((href_list["lock"]) && !isnull(scanner) && scanner.is_operational())
if ((!scanner.locked) && (scanner.occupant))
scanner.locked = 1
playsound(src, 'sound/machines/DoorClick.ogg', 50, 0)
else
scanner.locked = 0
playsound(src, 'sound/machines/DoorClick.ogg', 50, 0)
else if(href_list["view_rec"])
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
src.active_record = find_record("id", href_list["view_rec"], records)
if(active_record)
if(!active_record.fields["ckey"])
@@ -269,6 +277,7 @@
if (src.menu == 3) //If we are viewing a record, confirm deletion
src.temp = "Delete record?"
src.menu = 4
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
else if (src.menu == 4)
var/obj/item/weapon/card/id/C = usr.get_active_hand()
@@ -277,9 +286,11 @@
src.temp = "[src.active_record.fields["name"]] => Record deleted."
src.records.Remove(active_record)
active_record = null
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
src.menu = 2
else
src.temp = "<font class='bad'>Access Denied.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if (href_list["disk"]) //Load or eject.
switch(href_list["disk"])
@@ -287,30 +298,36 @@
if (!diskette || !istype(diskette.fields) || !diskette.fields["name"] || !diskette.fields)
src.temp = "<font class='bad'>Load error.</font>"
src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if (!src.active_record)
src.temp = "<font class='bad'>Record error.</font>"
src.menu = 1
src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
for(var/key in diskette.fields)
src.active_record.fields[key] = diskette.fields[key]
src.temp = "Load successful."
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
if("eject")
if(src.diskette)
src.diskette.loc = src.loc
src.diskette = null
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
if("save")
if(!diskette || diskette.read_only || !active_record || !active_record.fields)
src.temp = "<font class='bad'>Save error.</font>"
src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
diskette.fields = active_record.fields.Copy()
diskette.name = "data disk - '[src.diskette.fields["name"]]'"
src.temp = "Save successful."
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
else if (href_list["refresh"])
src.updateUsrDialog()
@@ -322,26 +339,34 @@
//Can't clone without someone to clone. Or a pod. Or if the pod is busy. Or full of gibs.
if(!pod1)
temp = "<font class='bad'>No Clonepod detected.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(pod1.occupant)
temp = "<font class='bad'>Clonepod is currently occupied.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(pod1.mess)
temp = "<font class='bad'>Clonepod malfunction.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(!config.revival_cloning)
temp = "<font class='bad'>Unable to initiate cloning cycle.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(pod1.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["features"], C.fields["factions"]))
temp = "[C.fields["name"]] => <font class='good'>Cloning cycle in progress...</font>"
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
records.Remove(C)
if(active_record == C)
active_record = null
menu = 1
else
temp = "[C.fields["name"]] => <font class='bad'>Initialisation failure.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
temp = "<font class='bad'>Data corruption.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if (href_list["menu"])
src.menu = text2num(href_list["menu"])
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
src.add_fingerprint(usr)
src.updateUsrDialog()
@@ -350,21 +375,27 @@
/obj/machinery/computer/cloning/proc/scan_mob(mob/living/carbon/human/subject)
if (!istype(subject))
scantemp = "<font class='bad'>Unable to locate valid genetic data.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if (!subject.getorgan(/obj/item/organ/brain))
scantemp = "<font class='bad'>No signs of intelligence detected.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if (subject.suiciding == 1 || subject.hellbound)
scantemp = "<font class='bad'>Subject's brain is not responding to scanning stimuli.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if ((subject.disabilities & NOCLONE) && (src.scanner.scan_level < 2))
scantemp = "<font class='bad'>Subject no longer contains the fundamental materials required to create a living clone.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if ((!subject.ckey) || (!subject.client))
scantemp = "<font class='bad'>Mental interface failure.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if (find_record("ckey", subject.ckey, records))
scantemp = "<font class='average'>Subject already in database.</font>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/datum/data/record/R = new()
@@ -400,3 +431,4 @@
src.records += R
scantemp = "Subject successfully scanned."
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
+46 -10
View File
@@ -76,11 +76,19 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
auth_id = "[I.registered_name] ([I.assignment])"
if((20 in I.access))
authenticated = 2
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(src.emagged)
authenticated = 2
auth_id = "Unknown"
auth_id = "ERROR: CANNOT READ"
M << "<span class='warning'>[src] lets out a few quiet beeps as its login is overriden.</span>"
if(prob(25))
for(var/mob/living/silicon/ai/AI in active_ais())
AI << sound('sound/machines/terminal_emagged.ogg', volume = 10) //Very quiet for balance reasons
if("logout")
authenticated = 0
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("swipeidseclevel")
var/mob/M = usr
@@ -96,6 +104,8 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(tmp_alertlevel > SEC_LEVEL_BLUE) tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this
set_security_level(tmp_alertlevel)
if(security_level != old_level)
usr << "<span class='notice'>Authorization confirmed. Modifying security level.</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Only notify the admins if an actual change happened
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
@@ -107,25 +117,31 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
tmp_alertlevel = 0
else:
usr << "<span class='warning'>You are not authorized to do this!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
tmp_alertlevel = 0
state = STATE_DEFAULT
else
usr << "<span class='warning'>You need to swipe your ID!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
if("announce")
if(src.authenticated==2 && !message_cooldown)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
make_announcement(usr)
else if (src.authenticated==2 && message_cooldown)
usr << "Intercomms recharging. Please stand by."
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
if("crossserver")
if(authenticated==2)
if(CM.lastTimeUsed + 600 > world.time)
usr << "Arrays recycling. Please stand by."
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/input = stripped_multiline_input(usr, "Please choose a message to transmit to an allied station. Please be aware that this process is very expensive, and abuse will lead to... termination.", "Send a message to an allied station.", "")
if(!input || !(usr in view(1,src)))
return
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
send2otherserver("[station_name()]", input,"Comms_Console")
minor_announce(input, title = "Outgoing message to allied station")
log_say("[key_name(usr)] has sent a message to the other server: [input]")
@@ -152,6 +168,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("messagelist")
src.currmsg = 0
src.state = STATE_MESSAGELIST
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("viewmessage")
src.state = STATE_VIEWMESSAGE
if (!src.currmsg)
@@ -176,6 +193,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
src.state = STATE_VIEWMESSAGE
if("status")
src.state = STATE_STATUSDISPLAY
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("securitylevel")
src.tmp_alertlevel = text2num( href_list["newalertlevel"] )
@@ -199,6 +217,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
// Status display stuff
if("setstat")
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
switch(href_list["statdisp"])
if("message")
post_status("message", stat_msg1, stat_msg2)
@@ -208,9 +227,11 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
post_status(href_list["statdisp"])
if("setmsg1")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
stat_msg1 = reject_bad_text(input("Line 1", "Enter Message Text", stat_msg1) as text|null, 40)
src.updateDialog()
if("setmsg2")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
stat_msg2 = reject_bad_text(input("Line 2", "Enter Message Text", stat_msg2) as text|null, 40)
src.updateDialog()
@@ -218,11 +239,13 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("MessageCentcomm")
if(src.authenticated==2)
if(CM.lastTimeUsed + 600 > world.time)
usr << "Arrays recycling. Please stand by."
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/input = stripped_input(usr, "Please choose a message to transmit to Centcom via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to Centcomm.", "")
if(!input || !(usr in view(1,src)))
return
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
Centcomm_announce(input, usr)
usr << "Message transmitted."
log_say("[key_name(usr)] has made a Centcom announcement: [input]")
@@ -233,33 +256,38 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("MessageSyndicate")
if((src.authenticated==2) && (src.emagged))
if(CM.lastTimeUsed + 600 > world.time)
usr << "Arrays recycling. Please stand by."
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING COORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to /??????/.", "")
if(!input || !(usr in view(1,src)))
return
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
Syndicate_announce(input, usr)
usr << "Message transmitted."
usr << "<span class='danger'>SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.</span>"
log_say("[key_name(usr)] has made a Syndicate announcement: [input]")
CM.lastTimeUsed = world.time
if("RestoreBackup")
usr << "Backup routing data restored!"
usr << "<span class='notice'>Backup routing data restored!</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
src.emagged = 0
src.updateDialog()
if("nukerequest") //When there's no other way
if(src.authenticated==2)
if(CM.lastTimeUsed + 600 > world.time)
usr << "Arrays recycling. Please stand by."
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","")
if(!input || !(usr in view(1,src)))
return
Nuke_request(input, usr)
usr << "Request sent."
usr << "<span class='notice'>Request sent.</span>"
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
log_say("[key_name(usr)] has requested the nuclear codes from Centcomm")
priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/AI/commandreport.ogg')
priority_announce("The codes for the on-station nuclear self-destruct have been requested by [auth_id]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/AI/commandreport.ogg')
CM.lastTimeUsed = world.time
@@ -347,13 +375,15 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
src.emagged = 1
if(authenticated == 1)
authenticated = 2
user << "<span class='notice'>You scramble the communication routing circuits.</span>"
user << "<span class='danger'>You scramble the communication routing circuits.</span>"
playsound(src, 'sound/machines/terminal_emagged.ogg', 50, 0)
/obj/machinery/computer/communications/attack_hand(mob/user)
if(..())
return
if (src.z > 6)
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
user.set_machine(src)
@@ -413,12 +443,15 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=login'>Log In</A> \]"
if(STATE_CALLSHUTTLE)
dat += get_call_shuttle_form()
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(STATE_CANCELSHUTTLE)
dat += get_cancel_shuttle_form()
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(STATE_MESSAGELIST)
dat += "Messages:"
for(var/i = 1; i<=src.messagetitle.len; i++)
dat += "<BR><A HREF='?src=\ref[src];operation=viewmessage;message-num=[i]'>[src.messagetitle[i]]</A>"
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(STATE_VIEWMESSAGE)
if (src.currmsg)
dat += "<B>[src.messagetitle[src.currmsg]]</B><BR><BR>[src.messagetext[src.currmsg]]"
@@ -446,6 +479,8 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
dat += " <A HREF='?src=\ref[src];operation=setstat;statdisp=alert;alert=redalert'>Red Alert</A> |"
dat += " <A HREF='?src=\ref[src];operation=setstat;statdisp=alert;alert=lockdown'>Lockdown</A> |"
dat += " <A HREF='?src=\ref[src];operation=setstat;statdisp=alert;alert=biohazard'>Biohazard</A> \]<BR><HR>"
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(STATE_ALERT_LEVEL)
dat += "Current alert level: [get_security_level()]<BR>"
if(security_level == SEC_LEVEL_DELTA)
@@ -458,6 +493,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
dat += "Confirm the change to: [num2seclevel(tmp_alertlevel)]<BR>"
dat += "<A HREF='?src=\ref[src];operation=swipeidseclevel'>Swipe ID</A> to confirm change.<BR>"
if(STATE_TOGGLE_EMERGENCY)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(emergency_access == 1)
dat += "<b>Emergency Maintenance Access is currently <font color='red'>ENABLED</font></b>"
dat += "<BR>Restore maintenance access restrictions? <BR>\[ <A HREF='?src=\ref[src];operation=disableemergency'>OK</A> | <A HREF='?src=\ref[src];operation=viewmessage'>Cancel</A> \]"
@@ -47,6 +47,7 @@
I.loc = src
src.diskette = I
user << "<span class='notice'>You insert [I].</span>"
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
src.updateUsrDialog()
return
else
@@ -340,11 +341,13 @@
if("setduration")
if(!num)
num = round(input(usr, "Choose pulse duration:", "Input an Integer", null) as num|null)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(num)
radduration = Wrap(num, 1, RADIATION_DURATION_MAX+1)
if("setstrength")
if(!num)
num = round(input(usr, "Choose pulse strength:", "Input an Integer", null) as num|null)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(num)
radstrength = Wrap(num, 1, RADIATION_STRENGTH_MAX+1)
if("screen")
@@ -354,8 +357,10 @@
var/potassiodide_amount = viable_occupant.reagents.get_reagent_amount("potass_iodide")
var/can_add = max(min(REJUVENATORS_MAX - potassiodide_amount, REJUVENATORS_INJECT), 0)
viable_occupant.reagents.add_reagent("potass_iodide", can_add)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("setbufferlabel")
var/text = sanitize(input(usr, "Input a new label:", "Input an Text", null) as text|null)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(num && text)
num = Clamp(num, 1, NUMBER_OF_BUFFERS)
var/list/buffer_slot = buffer[num]
@@ -363,6 +368,7 @@
buffer_slot["label"] = text
if("setbuffer")
if(num && viable_occupant)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
num = Clamp(num, 1, NUMBER_OF_BUFFERS)
buffer[num] = list(
"label"="Buffer[num]:[viable_occupant.real_name]",
@@ -374,12 +380,14 @@
)
if("clearbuffer")
if(num)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
num = Clamp(num, 1, NUMBER_OF_BUFFERS)
var/list/buffer_slot = buffer[num]
if(istype(buffer_slot))
buffer_slot.Cut()
if("transferbuffer")
if(num && viable_occupant)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
switch(href_list["text"]) //Numbers are this high because other way upgrading laser is just not worth the hassle, and i cant think of anything better to inmrove
if("se")
apply_buffer(SCANNER_ACTION_SE,num)
@@ -443,10 +451,12 @@
injectorready = 1
if("loaddisk")
if(num && diskette && diskette.fields)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
num = Clamp(num, 1, NUMBER_OF_BUFFERS)
buffer[num] = diskette.fields.Copy()
if("savedisk")
if(num && diskette && !diskette.read_only)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
num = Clamp(num, 1, NUMBER_OF_BUFFERS)
var/list/buffer_slot = buffer[num]
if(istype(buffer_slot))
@@ -454,6 +464,7 @@
diskette.fields = buffer_slot.Copy()
if("ejectdisk")
if(diskette)
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
diskette.loc = get_turf(src)
diskette = null
if("setdelayed")
@@ -461,6 +472,7 @@
delayed_action = list("action"=text2num(href_list["delayaction"]),"buffer"=num)
if("pulseui","pulsese")
if(num && viable_occupant && connected)
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
radduration = Wrap(radduration, 1, RADIATION_DURATION_MAX+1)
radstrength = Wrap(radstrength, 1, RADIATION_STRENGTH_MAX+1)
@@ -31,6 +31,7 @@
W.forceMove(src)
id = W
user << "<span class='notice'>You insert [W].</span>"
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
return
else
user << "<span class='notice'>There's an ID inserted already.</span>"
@@ -83,13 +84,16 @@
if(..())
return
if(!allowed(usr))
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
usr << "<span class='warning'>Access denied.</span>"
return
switch(action)
if("scan_teleporter")
teleporter = findteleporter()
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("scan_beacon")
beacon = findbeacon()
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("handle_id")
if(id)
if(!usr.get_active_hand())
@@ -107,6 +111,7 @@
id = I
if("set_goal")
var/new_goal = input("Set the amount of points:", "Points", id.goal) as num|null
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(!isnum(new_goal))
return
if(!new_goal)
@@ -114,18 +119,23 @@
id.goal = Clamp(new_goal, 0, 1000) //maximum 1000 points
if("toggle_open")
if(teleporter.locked)
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
usr << "The teleporter is locked"
return
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
teleporter.toggle_open()
if("teleporter_lock")
if(teleporter.state_open)
usr << "Close the teleporter before locking!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
teleporter.locked = !teleporter.locked
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("teleport")
if(!teleporter || !beacon)
return
addtimer(src, "teleport", 5, FALSE, usr)
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
/obj/machinery/computer/gulag_teleporter_computer/proc/scan_machinery()
teleporter = findteleporter()
+9 -1
View File
@@ -11,17 +11,21 @@
return
if(!current)
user << "<span class='caution'>You haven't selected anything to transmit laws to!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if(!can_upload_to(current))
user << "<span class='caution'>Upload failed!</span> Check to make sure [current.name] is functioning properly."
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
current = null
return
var/turf/currentloc = get_turf(current)
if(currentloc && user.z != currentloc.z)
user << "<span class='caution'>Upload failed!</span> Unable to establish a connection to [current.name]. You're too far away!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
current = null
return
M.install(current.laws, user)
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
else
return ..()
@@ -43,8 +47,10 @@
if (!src.current)
user << "<span class='caution'>No active AIs detected!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
user << "[src.current.name] selected for law changes."
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
/obj/machinery/computer/upload/ai/can_upload_to(mob/living/silicon/ai/A)
if(!A || !isAI(A))
@@ -67,12 +73,14 @@
if(!src.current)
user << "<span class='caution'>No active unslaved cyborgs detected!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
user << "[src.current.name] selected for law changes."
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
/obj/machinery/computer/upload/borg/can_upload_to(mob/living/silicon/robot/B)
if(!B || !isrobot(B))
return 0
if(B.scrambledcodes || B.emagged)
return 0
return ..()
return ..()
+4
View File
@@ -28,6 +28,7 @@
O.loc = src
scan = O
user << "<span class='notice'>You insert [O].</span>"
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else
return ..()
@@ -230,6 +231,7 @@
src.screen = null
src.active1 = null
src.active2 = null
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else if(href_list["choice"])
// SORTING!
if(href_list["choice"] == "Sorting")
@@ -250,6 +252,7 @@
src.authenticated = 1
src.rank = "AI"
src.screen = 1
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else if(IsAdminGhost(usr))
src.active1 = null
src.active2 = null
@@ -263,6 +266,7 @@
src.authenticated = src.scan.registered_name
src.rank = src.scan.assignment
src.screen = 1
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(src.authenticated)
if(href_list["screen"])
+45 -1
View File
@@ -41,6 +41,7 @@
/obj/machinery/computer/message_monitor/emag_act(mob/user)
if(!emagged)
if(!isnull(src.linkedServer))
playsound(src, 'sound/machines/terminal_emagged.ogg', 50, 0)
emagged = 1
screen = 2
spark_system.set_up(5, 0, src)
@@ -53,7 +54,8 @@
addtimer(src, "UnmagConsole", time)
message = rebootmsg
else
user << "<span class='notice'>A no server error appears on the screen.</span>"
user << "<span class='notice'>A 'no server' error appears on the screen.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
/obj/machinery/computer/message_monitor/initialize()
//Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
@@ -253,75 +255,98 @@
if (href_list["auth"])
if(!linkedServer || linkedServer.stat & (NOPOWER|BROKEN))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
auth = 0
screen = 0
else
var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(dkey && dkey != "")
if(src.linkedServer.decryptkey == dkey)
auth = 1
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
else
message = incorrectkey
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
//Turn the server on/off.
if (href_list["active"])
if(auth) linkedServer.active = !linkedServer.active
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
//Find a server
if (href_list["find"])
if(message_servers && message_servers.len > 1)
src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in message_servers
message = "<span class='alert'>NOTICE: Server selected.</span>"
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else if(message_servers && message_servers.len > 0)
linkedServer = message_servers[1]
message = "<span class='notice'>NOTICE: Only Single Server Detected - Server selected.</span>"
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
else
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
//View the logs - KEY REQUIRED
if (href_list["view"])
if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
src.screen = 1
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
//Clears the logs - KEY REQUIRED
if (href_list["clear"])
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
src.linkedServer.pda_msgs = list()
message = "<span class='notice'>NOTICE: Logs cleared.</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Clears the request console logs - KEY REQUIRED
if (href_list["clearr"])
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
src.linkedServer.rc_msgs = list()
message = "<span class='notice'>NOTICE: Logs cleared.</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Change the password - KEY REQUIRED
if (href_list["pass"])
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(dkey && dkey != "")
if(src.linkedServer.decryptkey == dkey)
var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):"))
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
if(length(newkey) <= 3)
message = "<span class='notice'>NOTICE: Decryption key too short!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(length(newkey) > 16)
message = "<span class='notice'>NOTICE: Decryption key too long!</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(newkey && newkey != "")
src.linkedServer.decryptkey = newkey
message = "<span class='notice'>NOTICE: Decryption key set.</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
else
message = incorrectkey
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
//Hack the Console to get the password
if (href_list["hack"])
@@ -332,46 +357,56 @@
spawn(100*length(src.linkedServer.decryptkey))
if(src && src.linkedServer && usr)
BruteForce(usr)
playsound(src, 'sound/machines/terminal_processing.ogg', 50, 0)
//Delete the log.
if (href_list["delete"])
//Are they on the view logs screen?
if(screen == 1)
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else //if(istype(href_list["delete"], /datum/data_pda_msg))
src.linkedServer.pda_msgs -= locate(href_list["delete"])
message = "<span class='notice'>NOTICE: Log Deleted!</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Delete the request console log.
if (href_list["deleter"])
//Are they on the view logs screen?
if(screen == 4)
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else //if(istype(href_list["delete"], /datum/data_pda_msg))
src.linkedServer.rc_msgs -= locate(href_list["deleter"])
message = "<span class='notice'>NOTICE: Log Deleted!</span>"
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Create a custom message
if (href_list["msg"])
if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
src.screen = 3
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
//Fake messaging selection - KEY REQUIRED
if (href_list["select"])
if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
screen = 0
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
switch(href_list["select"])
//Reset
if("Reset")
ResetMessage()
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
//Select Your Name
if("Sender")
customsender = stripped_input(usr, "Please enter the sender's name.")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
//Select Receiver
if("Recepient")
@@ -379,16 +414,20 @@
var/list/obj/item/device/pda/sendPDAs = get_viewable_pdas()
if(PDAs && PDAs.len > 0)
customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs)
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
else
customrecepient = null
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
//Enter custom job
if("RecJob")
customjob = stripped_input(usr, "Please enter the sender's job.")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
//Enter message
if("Message")
custommessage = stripped_input(usr, "Please enter your message.")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
//Send message
if("Send")
@@ -399,10 +438,12 @@
if(isnull(customrecepient))
message = "<span class='notice'>NOTICE: No recepient selected!</span>"
return src.attack_hand(usr)
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
if(isnull(custommessage) || custommessage == "")
message = "<span class='notice'>NOTICE: No message entered!</span>"
return src.attack_hand(usr)
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
var/obj/item/device/pda/PDARec = null
for (var/obj/item/device/pda/P in get_viewable_pdas())
@@ -436,14 +477,17 @@
customrecepient.add_overlay(image('icons/obj/pda.dmi', "pda-r"))
//Finally..
ResetMessage()
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//Request Console Logs - KEY REQUIRED
if(href_list["viewr"])
if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN)))
message = noserver
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
if(auth)
src.screen = 4
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if (href_list["back"])
src.screen = 0
+7
View File
@@ -100,16 +100,21 @@
return
I.loc = src
inserted_id = I
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else usr << "<span class='danger'>No valid ID.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(inserted_id)
switch(href_list["id"])
if("eject")
inserted_id.loc = get_turf(src)
inserted_id.verb_pickup()
inserted_id = null
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
if("reset")
inserted_id.points = 0
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("setgoal")
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
var/num = round(input(usr, "Choose prisoner's goal:", "Input an Integer", null) as num|null)
if(num >= 0)
num = min(num,1000) //Cap the quota to the equivilent of 10 minutes.
@@ -133,8 +138,10 @@
screen = !screen
else
usr << "Unauthorized Access."
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if(href_list["warn"])
playsound(src, 'sound/machines/terminal_displaying.ogg', 50, 0)
var/warning = copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN)
if(!warning) return
var/obj/item/weapon/implant/I = locate(href_list["warn"])
+4
View File
@@ -32,6 +32,7 @@
/obj/machinery/computer/robotics/interact(mob/user)
if (src.z > 6)
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
user.set_machine(src)
var/dat
@@ -89,6 +90,7 @@
if(can_control(usr, R))
var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(R.syndicate && R.emagged)
R << "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered."
if(R.connected_ai)
@@ -102,6 +104,7 @@
R.self_destruct()
else
usr << "<span class='danger'>Access Denied.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else if (href_list["stopbot"])
if(src.allowed(usr))
@@ -109,6 +112,7 @@
if(can_control(usr, R))
var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
message_admins("<span class='notice'>[key_name_admin(usr)] (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[usr]'>FLW</A>) [R.canmove ? "locked down" : "released"] [key_name(R, R.client)](<A HREF='?_src_=holder;adminplayerobservefollow=\ref[R]'>FLW</A>)!</span>")
log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [key_name(R)]!")
R.SetLockdown(!R.lockcharge)
+12
View File
@@ -33,8 +33,10 @@
O.loc = src
scan = O
user << "<span class='notice'>You insert [O].</span>"
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else
user << "<span class='warning'>There's already an ID card in the console.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
return ..()
@@ -44,6 +46,7 @@
return
if(src.z > 6)
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
var/dat
@@ -314,6 +317,7 @@ What a mess.*/
screen = null
active1 = null
active2 = null
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("Log In")
if(istype(usr, /mob/living/silicon))
@@ -323,6 +327,7 @@ What a mess.*/
authenticated = borg.name
rank = "AI"
screen = 1
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
else if(IsAdminGhost(usr))
active1 = null
active2 = null
@@ -336,17 +341,20 @@ What a mess.*/
authenticated = scan.registered_name
rank = scan.assignment
screen = 1
playsound(src, 'sound/machines/terminal_success.ogg', 50, 0)
//RECORD FUNCTIONS
if("Record Maintenance")
screen = 2
active1 = null
active2 = null
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("Browse Record")
var/datum/data/record/R = locate(href_list["d_rec"])
var/S = locate(href_list["d_rec"])
if(!( data_core.general.Find(R) ))
temp = "Record Not Found!"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
else
for(var/datum/data/record/E in data_core.security)
if((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
@@ -354,6 +362,7 @@ What a mess.*/
active1 = R
active2 = S
screen = 3
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("Print Record")
@@ -461,10 +470,12 @@ What a mess.*/
qdel(R)
data_core.security.Cut()
temp = "All Security records deleted."
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if("Add Entry")
if(!( istype(active2, /datum/data/record) ))
return
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
var/a2 = active2
var/t1 = stripped_multiline_input("Add Comment:", "Secure. records", null, null)
if(!canUseSecurityRecordsConsole(usr, t1, null, a2))
@@ -713,6 +724,7 @@ What a mess.*/
if("Delete Record (ALL) Execute")
if(active1)
investigate_log("[usr.name] ([usr.key]) has deleted all records for [active1.fields["name"]].", "records")
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
for(var/datum/data/record/R in data_core.medical)
if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
data_core.medical -= R
@@ -33,6 +33,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals/uplinker/attackby(obj/item/O, mob/user, params)
if(uplinkholder)
user << "<span class='notice'>The [src] already has an uplink in it.</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
return
if(O.hidden_uplink)
var/obj/item/I = user.get_active_hand()
@@ -43,8 +44,10 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
I.add_fingerprint(user)
update_icon()
updateUsrDialog()
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
else
user << "<span class='notice'>The [O] doesn't appear to be an uplink...</span>"
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
/obj/machinery/computer/telecrystals/uplinker/update_icon()
..()
@@ -55,6 +58,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
if(uplinkholder)
uplinkholder.loc = get_turf(src.loc)
uplinkholder = null
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
update_icon()
/obj/machinery/computer/telecrystals/uplinker/proc/donateTC(amt, addLog = 1)
@@ -62,6 +66,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
if(amt <= uplinkholder.hidden_uplink.telecrystals)
uplinkholder.hidden_uplink.telecrystals -= amt
linkedboss.storedcrystals += amt
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(addLog)
linkedboss.logTransfer("[src] donated [amt] telecrystals to [linkedboss].")
@@ -70,6 +75,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
if(amt <= linkedboss.storedcrystals)
uplinkholder.hidden_uplink.telecrystals += amt
linkedboss.storedcrystals -= amt
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
if(addLog)
linkedboss.logTransfer("[src] received [amt] telecrystals from [linkedboss].")
@@ -80,6 +86,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
return
src.add_fingerprint(user)
user.set_machine(src)
playsound(src, 'sound/machines/terminal_on.ogg', 50, 0)
var/dat = ""
if(linkedboss)
@@ -212,6 +219,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
A.giveTC(1,0)
sanity++
logTransfer("[src] evenly distributed telecrystals.")
playsound(src, 'sound/machines/terminal_select.ogg', 50, 0)
src.updateUsrDialog()
return
-2
View File
@@ -219,5 +219,3 @@
/obj/proc/CanAStarPass()
. = !density
+1 -1
View File
@@ -138,4 +138,4 @@
/proc/playsound_global(file, repeat=0, wait, channel, volume)
for(var/V in clients)
V << sound(file, repeat, wait, channel, volume)
V << sound(file, repeat, wait, channel, volume)