12/21 modernizations from TG live (#103)
* sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
var/noserver = "<span class='alert'>ALERT: No server detected.</span>"
|
||||
var/incorrectkey = "<span class='warning'>ALERT: Incorrect decryption key!</span>"
|
||||
var/defaultmsg = "<span class='notice'>Welcome. Please select an option.</span>"
|
||||
var/rebootmsg = "<span class='warning'>%$&(�: Critical %$$@ Error // !RestArting! <lOadiNg backUp iNput ouTput> - ?pLeaSe wAit!</span>"
|
||||
var/rebootmsg = "<span class='warning'>%$&(£: Critical %$$@ Error // !RestArting! <lOadiNg backUp iNput ouTput> - ?pLeaSe wAit!</span>"
|
||||
//Computer properties
|
||||
var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message
|
||||
var/hacking = 0 // Is it being hacked into by the AI/Cyborg
|
||||
@@ -29,7 +29,6 @@
|
||||
var/obj/item/device/pda/customrecepient = null
|
||||
var/customjob = "Admin"
|
||||
var/custommessage = "This is a test, please ignore."
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
/obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O, mob/living/user, params)
|
||||
if(istype(O, /obj/item/weapon/screwdriver) && emagged)
|
||||
@@ -41,7 +40,6 @@
|
||||
/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)
|
||||
@@ -49,13 +47,12 @@
|
||||
var/obj/item/weapon/paper/monitorkey/MK = new/obj/item/weapon/paper/monitorkey
|
||||
MK.loc = src.loc
|
||||
// Will help make emagging the console not so easy to get away with.
|
||||
MK.info += "<br><br><font color='red'>�%@%(*$%&(�&?*(%&�/{}</font>"
|
||||
MK.info += "<br><br><font color='red'>£%@%(*$%&(£&?*(%&£/{}</font>"
|
||||
var/time = 100 * length(src.linkedServer.decryptkey)
|
||||
addtimer(src, "UnmagConsole", time)
|
||||
message = rebootmsg
|
||||
else
|
||||
user << "<span class='notice'>A 'no server' error appears on the screen.</span>"
|
||||
playsound(src, 'sound/machines/terminal_error.ogg', 50, 0)
|
||||
user << "<span class='notice'>A no server error appears on the screen.</span>"
|
||||
|
||||
/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.
|
||||
@@ -134,7 +131,7 @@
|
||||
dat += "</table>"
|
||||
//Hacking screen.
|
||||
if(2)
|
||||
if(istype(user, /mob/living/silicon/ai) || istype(user, /mob/living/silicon/robot))
|
||||
if(isAI(user) || iscyborg(user))
|
||||
dat += "Brute-forcing for server key.<br> It will take 20 seconds for every character that the password has."
|
||||
dat += "In the meantime, this console can reveal your true intentions if you let someone access it. Make sure no humans enter the room during that time."
|
||||
else
|
||||
@@ -220,8 +217,6 @@
|
||||
dat += "</table>"
|
||||
|
||||
message = defaultmsg
|
||||
//user << browse(dat, "window=message;size=700x700")
|
||||
//onclose(user, "message")
|
||||
var/datum/browser/popup = new(user, "hologram_console", name, 700, 700)
|
||||
popup.set_content(dat)
|
||||
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
|
||||
@@ -250,103 +245,80 @@
|
||||
if(..())
|
||||
return
|
||||
|
||||
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
|
||||
if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr))
|
||||
//Authenticate
|
||||
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"])
|
||||
@@ -357,56 +329,46 @@
|
||||
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")
|
||||
@@ -414,20 +376,16 @@
|
||||
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")
|
||||
@@ -438,12 +396,10 @@
|
||||
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())
|
||||
@@ -477,17 +433,14 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user