This commit is contained in:
Zuhayr
2015-08-16 17:10:11 -07:00
44 changed files with 216 additions and 350 deletions
+2 -13
View File
@@ -218,7 +218,8 @@
name = "DNA Modifier Access Console"
desc = "Scand DNA."
icon = 'icons/obj/computer.dmi'
icon_state = "scanner"
icon_keyboard = "med_key"
icon_screen = "dna"
density = 1
circuit = /obj/item/weapon/circuitboard/scan_consolenew
var/selected_ui_block = 1.0
@@ -270,21 +271,9 @@
return
/obj/machinery/computer/scan_consolenew/blob_act()
if(prob(75))
qdel(src)
/obj/machinery/computer/scan_consolenew/power_change()
..()
if(stat & BROKEN)
icon_state = "broken"
else
if (stat & NOPOWER)
spawn(rand(0, 15))
src.icon_state = "c_unpowered"
else
icon_state = initial(icon_state)
/obj/machinery/computer/scan_consolenew/New()
..()
for(var/i=0;i<3;i++)
+3 -4
View File
@@ -74,7 +74,8 @@ obj/machinery/air_sensor/Destroy()
/obj/machinery/computer/general_air_control
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
icon_keyboard = "atmos_key"
icon_screen = "tank"
name = "Computer"
@@ -158,7 +159,6 @@ obj/machinery/computer/general_air_control/Destroy()
/obj/machinery/computer/general_air_control/large_tank_control
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
frequency = 1441
var/input_tag
@@ -278,7 +278,6 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
/obj/machinery/computer/general_air_control/supermatter_core
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
frequency = 1438
var/input_tag
@@ -398,7 +397,7 @@ Min Core Pressure: [pressure_limit] kPa<BR>"}
/obj/machinery/computer/general_air_control/fuel_injection
icon = 'icons/obj/computer.dmi'
icon_state = "atmos"
icon_screen = "alert:0"
var/device_tag
var/list/device_info
@@ -1,9 +1,10 @@
/obj/machinery/computer/area_atmos
name = "Area Air Control"
desc = "A computer used to control the stationary scrubbers and pumps in the area."
icon_state = "area_atmos"
icon_keyboard = "atmos_key"
icon_screen = "area_atmos"
light_color = "#e6ffff"
circuit = "/obj/item/weapon/circuitboard/area_atmos"
circuit = /obj/item/weapon/circuitboard/area_atmos
var/list/connectedscrubbers = new()
var/status = ""
+3 -3
View File
@@ -4,9 +4,9 @@
name = "patient monitoring console"
density = 1
anchored = 1.0
icon_state = "operating"
light_color = "#315ab4"
circuit = "/obj/item/weapon/circuitboard/operating"
icon_keyboard = "med_key"
icon_screen = "crew"
circuit = /obj/item/weapon/circuitboard/operating
var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
+12 -2
View File
@@ -7,8 +7,8 @@
/obj/machinery/computer/rcon
name = "\improper RCON console"
desc = "Console used to remotely control machinery on the station."
icon = 'icons/obj/computer.dmi'
icon_state = "ai-fixer"
icon_keyboard = "power_key"
icon_screen = "power_screen"
light_color = "#a97faa"
circuit = /obj/item/weapon/circuitboard/rcon_console
req_one_access = list(access_engine)
@@ -19,6 +19,11 @@
..()
rcon = new(src)
/obj/machinery/computer/rcon/Destroy()
qdel(rcon)
rcon = null
..()
// Proc: attack_hand()
// Parameters: 1 (user - Person which clicked this computer)
// Description: Opens UI of this machine.
@@ -31,3 +36,8 @@
// Description: Uses dark magic (NanoUI) to render this machine's UI
/obj/machinery/computer/rcon/ui_interact(mob/user, ui_key = "rcon", var/datum/nanoui/ui = null, var/force_open = 1)
rcon.ui_interact(user, ui_key, ui, force_open)
/obj/machinery/computer/rcon/update_icon()
..()
if(!(stat & (NOPOWER|BROKEN)))
overlays += image('icons/obj/computer.dmi', "ai-fixer-empty", overlay_layer)
+5 -7
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/aifixer
name = "\improper AI system integrity restorer"
icon = 'icons/obj/computer.dmi'
icon_state = "ai-fixer"
icon_keyboard = "rd_key"
icon_screen = "ai-fixer"
light_color = "#a97faa"
circuit = /obj/item/weapon/circuitboard/aifixer
req_one_access = list(access_robotics, access_heads)
@@ -128,16 +129,13 @@
/obj/machinery/computer/aifixer/update_icon()
..()
overlays.Cut()
if((stat & BROKEN) || (stat & NOPOWER))
return
if(occupant)
if(occupant.stat)
overlays += image('icons/obj/computer.dmi', "ai-fixer-404")
overlays += image('icons/obj/computer.dmi', "ai-fixer-404", overlay_layer)
else
overlays += image('icons/obj/computer.dmi', "ai-fixer-full")
overlays += image('icons/obj/computer.dmi', "ai-fixer-full", overlay_layer)
else
overlays += image('icons/obj/computer.dmi', "ai-fixer-empty")
overlays += image('icons/obj/computer.dmi', "ai-fixer-empty", overlay_layer)
+3 -1
View File
@@ -3,7 +3,9 @@
desc = "Does not support pinball."
icon = 'icons/obj/computer.dmi'
icon_state = "arcade"
circuit = "/obj/item/weapon/circuitboard/arcade"
icon_keyboard = null
icon_screen = "invaders"
circuit = /obj/item/weapon/circuitboard/arcade
var/enemy_name = "Space Villian"
var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc
var/player_hp = 30 //Player health/attack points
+12 -13
View File
@@ -7,8 +7,9 @@ var/global/list/minor_air_alarms = list()
/obj/machinery/computer/atmos_alert
name = "atmospheric alert computer"
desc = "Used to access the station's atmospheric sensors."
circuit = "/obj/item/weapon/circuitboard/atmos_alert"
icon_state = "alert:0"
circuit = /obj/item/weapon/circuitboard/atmos_alert
icon_keyboard = "atmos_key"
icon_screen = "alert:0"
light_color = "#e6ffff"
/obj/machinery/computer/atmos_alert/New()
@@ -44,19 +45,17 @@ var/global/list/minor_air_alarms = list()
ui.set_auto_update(1)
/obj/machinery/computer/atmos_alert/update_icon()
..()
if(stat & (NOPOWER|BROKEN))
return
var/list/alarms = atmosphere_alarm.major_alarms()
if(alarms.len)
icon_state = "alert:2"
else
alarms = atmosphere_alarm.minor_alarms()
if(!(stat & (NOPOWER|BROKEN)))
var/list/alarms = atmosphere_alarm.major_alarms()
if(alarms.len)
icon_state = "alert:1"
icon_screen = "alert:2"
else
icon_state = initial(icon_state)
return
alarms = atmosphere_alarm.minor_alarms()
if(alarms.len)
icon_screen = "alert:1"
else
icon_screen = initial(icon_screen)
..()
/obj/machinery/computer/atmos_alert/Topic(href, href_list)
if(..())
@@ -5,11 +5,12 @@
/obj/machinery/computer/atmoscontrol
name = "\improper Central Atmospherics Computer"
icon = 'icons/obj/computer.dmi'
icon_state = "computer_generic"
icon_keyboard = "generic_key"
icon_screen = "comm_logs"
light_color = "#00b000"
density = 1
anchored = 1.0
circuit = "/obj/item/weapon/circuitboard/atmoscontrol"
circuit = /obj/item/weapon/circuitboard/atmoscontrol
req_access = list(access_ce)
var/list/monitored_alarm_ids = null
var/datum/nano_module/atmos_control/atmos_control
@@ -20,7 +21,8 @@
/obj/machinery/computer/atmoscontrol/laptop
name = "Atmospherics Laptop"
desc = "Cheap Nanotrasen Laptop."
icon_state = "medlaptop"
icon_state = "laptop"
icon_keyboard = "laptop_key"
density = 0
/obj/machinery/computer/atmoscontrol/attack_ai(var/mob/user as mob)
+15 -14
View File
@@ -8,7 +8,8 @@
/obj/machinery/computer/security
name = "security camera monitor"
desc = "Used to access the various cameras on the station."
icon_state = "cameras"
icon_keyboard = "security_key"
icon_screen = "cameras"
light_color = "#a91515"
var/obj/machinery/camera/current = null
var/last_pic = 1.0
@@ -71,7 +72,7 @@
ui.add_template("mapContent", "sec_camera_map_content.tmpl")
// adding a template with the key "mapHeader" replaces the map header content
ui.add_template("mapHeader", "sec_camera_map_header.tmpl")
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(1)
@@ -201,23 +202,19 @@
/obj/machinery/computer/security/telescreen
name = "Telescreen"
desc = "Used for watching an empty arena."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "telescreen"
icon_state = "wallframe"
icon_keyboard = null
icon_screen = null
light_range_on = 0
network = list("thunder")
density = 0
circuit = null
/obj/machinery/computer/security/telescreen/update_icon()
icon_state = initial(icon_state)
if(stat & BROKEN)
icon_state += "b"
return
/obj/machinery/computer/security/telescreen/entertainment
name = "entertainment monitor"
desc = "Damn, why do they never have anything interesting on these things?"
icon = 'icons/obj/status_display.dmi'
icon_state = "entertainment"
icon_screen = "entertainment"
light_color = "#FFEEDB"
light_range_on = 2
circuit = null
@@ -225,7 +222,9 @@
/obj/machinery/computer/security/wooden_tv
name = "security camera monitor"
desc = "An old TV hooked into the stations camera network."
icon_state = "security_det"
icon_state = "television"
icon_keyboard = null
icon_screen = "detective_tv"
circuit = null
light_color = "#3848B3"
light_power_on = 0.5
@@ -233,7 +232,8 @@
/obj/machinery/computer/security/mining
name = "outpost camera monitor"
desc = "Used to access the various cameras on the outpost."
icon_state = "miningcameras"
icon_keyboard = "mining_key"
icon_screen = "mining"
network = list("MINE")
circuit = /obj/item/weapon/circuitboard/security/mining
light_color = "#F9BBFC"
@@ -241,7 +241,8 @@
/obj/machinery/computer/security/engineering
name = "engineering camera monitor"
desc = "Used to monitor fires and breaches."
icon_state = "engineeringcameras"
icon_keyboard = "power_key"
icon_screen = "engie_cams"
circuit = /obj/item/weapon/circuitboard/security/engineering
light_color = "#FAC54B"
+4 -3
View File
@@ -3,10 +3,11 @@
/obj/machinery/computer/card
name = "\improper ID card modification console"
desc = "Terminal for programming NanoTrasen employee ID cards to access parts of the station."
icon_state = "id"
icon_keyboard = "id_key"
icon_screen = "id"
light_color = "#0099ff"
req_access = list(access_change_ids)
circuit = "/obj/item/weapon/circuitboard/card"
circuit = /obj/item/weapon/circuitboard/card
var/obj/item/weapon/card/id/scan = null
var/obj/item/weapon/card/id/modify = null
var/mode = 0.0
@@ -284,7 +285,7 @@
/obj/machinery/computer/card/centcom
name = "\improper CentCom ID card modification console"
circuit = "/obj/item/weapon/circuitboard/card/centcom"
circuit = /obj/item/weapon/circuitboard/card/centcom
req_access = list(access_cent_captain)
+3 -14
View File
@@ -1,9 +1,10 @@
/obj/machinery/computer/cloning
name = "cloning control console"
icon = 'icons/obj/computer.dmi'
icon_state = "dna"
icon_keyboard = "med_key"
icon_screen = "dna"
light_color = "#315ab4"
circuit = "/obj/item/weapon/circuitboard/cloning"
circuit = /obj/item/weapon/circuitboard/cloning
req_access = list(access_heads) //Only used for record deletion right now.
var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning.
var/list/pods = list() //Linked cloning pods.
@@ -408,15 +409,3 @@
selected_record = R
break
return selected_record
/obj/machinery/computer/cloning/update_icon()
if(stat & BROKEN)
icon_state = "commb"
else
if(stat & NOPOWER)
src.icon_state = "c_unpowered"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER
@@ -4,10 +4,11 @@
/obj/machinery/computer/communications
name = "command and communications console"
desc = "Used to command and control the station. Can relay long-range communications."
icon_state = "comm"
icon_keyboard = "tech_key"
icon_screen = "comm"
light_color = "#0099ff"
req_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/communications"
circuit = /obj/item/weapon/circuitboard/communications
var/prints_intercept = 1
var/authenticated = 0
var/list/messagetitle = list()
+24 -11
View File
@@ -1,6 +1,7 @@
/obj/machinery/computer
name = "computer"
icon = 'icons/obj/computer.dmi'
icon_state = "computer"
density = 1
anchored = 1.0
use_power = 1
@@ -9,11 +10,19 @@
var/circuit = null //The path to the circuit board type. If circuit==null, the computer can't be disassembled.
var/processing = 0
var/light_range_on = 3
var/icon_keyboard = "generic_key"
var/icon_screen = "generic"
var/light_range_on = 2
var/light_power_on = 1
var/overlay_layer
/obj/machinery/computer/New()
overlay_layer = layer
..()
/obj/machinery/computer/initialize()
power_change()
update_icon()
/obj/machinery/computer/process()
if(stat & (NOPOWER|BROKEN))
@@ -63,18 +72,22 @@
density = 0
/obj/machinery/computer/update_icon()
..()
icon_state = initial(icon_state)
// Broken
overlays.Cut()
if(stat & NOPOWER)
set_light(0)
if(icon_keyboard)
overlays += image(icon,"[icon_keyboard]_off", overlay_layer)
return
else
set_light(light_range_on, light_power_on)
if(stat & BROKEN)
icon_state += "b"
// Powered
else if(stat & NOPOWER)
icon_state = initial(icon_state)
icon_state += "0"
overlays += image(icon,"[icon_state]_broken", overlay_layer)
else
overlays += image(icon,icon_screen, overlay_layer)
if(icon_keyboard)
overlays += image(icon, icon_keyboard, overlay_layer)
/obj/machinery/computer/power_change()
..()
+7 -16
View File
@@ -1,24 +1,27 @@
/obj/machinery/computer/crew
name = "crew monitoring computer"
desc = "Used to monitor active health sensors built into most of the crew's uniforms."
icon_state = "crew"
icon_keyboard = "med_key"
icon_screen = "crew"
light_color = "#315ab4"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
circuit = "/obj/item/weapon/circuitboard/crew"
circuit = /obj/item/weapon/circuitboard/crew
var/datum/nano_module/crew_monitor/crew_monitor
/obj/machinery/computer/crew/New()
crew_monitor = new(src)
..()
/obj/machinery/computer/crew/Destroy()
qdel(crew_monitor)
crew_monitor = null
..()
/obj/machinery/computer/crew/attack_ai(mob/user)
attack_hand(user)
ui_interact(user)
/obj/machinery/computer/crew/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
@@ -28,17 +31,5 @@
/obj/machinery/computer/crew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
crew_monitor.ui_interact(user, ui_key, ui, force_open)
/obj/machinery/computer/crew/update_icon()
if(stat & BROKEN)
icon_state = "crewb"
else
if(stat & NOPOWER)
src.icon_state = "c_unpowered"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER
/obj/machinery/computer/crew/interact(mob/user)
crew_monitor.ui_interact(user)
+2 -1
View File
@@ -43,9 +43,10 @@
/obj/machinery/computer/guestpass
name = "guest pass terminal"
icon_state = "guest"
icon_keyboard = null
icon_screen = "pass"
density = 0
var/obj/item/weapon/card/id/giver
var/list/accesses = list()
var/giv_name = "NOT SPECIFIED"
+7 -5
View File
@@ -3,8 +3,9 @@
/obj/machinery/computer/aiupload
name = "\improper AI upload console"
desc = "Used to upload laws to the AI."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/aiupload"
icon_keyboard = "rd_key"
icon_screen = "command"
circuit = /obj/item/weapon/circuitboard/aiupload
var/mob/living/silicon/ai/current = null
var/opened = 0
@@ -50,7 +51,7 @@
else
usr << "[src.current.name] selected for law changes."
return
attack_ghost(user as mob)
return 1
@@ -58,8 +59,9 @@
/obj/machinery/computer/borgupload
name = "cyborg upload console"
desc = "Used to upload laws to Cyborgs."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/borgupload"
icon_keyboard = "rd_key"
icon_screen = "command"
circuit = /obj/item/weapon/circuitboard/borgupload
var/mob/living/silicon/robot/current = null
-153
View File
@@ -1,153 +0,0 @@
//this computer displays status and remotely activates multiple shutters / blast doors
//todo: lock / electrify specified area doors? might be a bit gamebreaking
/obj/machinery/computer/lockdown
//for reference
/*name = "lockdown control"
desc = "Used to control blast doors."
icon_state = "lockdown"
circuit = "/obj/item/weapon/circuitboard/lockdown"
var/connected_doors
var/department*/
var/list/displayedNetworks
New()
..()
connected_doors = new/list()
displayedNetworks = new/list()
//only load blast doors for map-defined departments for the moment
//door networks are hardcoded here.
switch(department)
if("Engineering")
connected_doors.Add("Engineering")
//Antiqua Engineering
connected_doors.Add("Reactor core")
connected_doors.Add("Control Room")
connected_doors.Add("Vent Seal")
connected_doors.Add("Rig Storage")
connected_doors.Add("Fore Port Shutters")
connected_doors.Add("Fore Starboard Shutters")
connected_doors.Add("Electrical Storage Shutters")
connected_doors.Add("Locker Room Shutters")
connected_doors.Add("Breakroom Shutters")
connected_doors.Add("Observation Shutters")
//exodus engineering
if("Medbay")
//Exodus Medbay
connected_doors.Add("Genetics Outer Shutters")
connected_doors.Add("Genetics Inner Shutters")
connected_doors.Add("Chemistry Outer Shutters")
connected_doors.Add("Observation Shutters")
connected_doors.Add("Patient Room 1 Shutters")
connected_doors.Add("Patient Room 2 Shutters")
connected_doors.Add("Patient Room 3 Shutters")
for(var/net in connected_doors)
connected_doors[net] = new/list()
//loop through the world, grabbing all the relevant doors
spawn(1)
ConnectDoors()
proc/ConnectDoors()
for(var/list/L in connected_doors)
for(var/item in L)
L.Remove(item)
//
for(var/obj/machinery/door/poddoor/D in world)
if(D.network in connected_doors)
var/list/L = connected_doors[D.network]
L.Add(D)
attack_ai(mob/user)
attack_hand(user)
attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
if (!istype(user, /mob/living/silicon))
user.machine = null
user << browse(null, "window=lockdown")
return
var/t = "<B>Lockdown Control</B><BR>"
t += "<A href='?src=\ref[src];refresh=1'>Refresh</A><BR>"
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
t += "<table border=1>"
var/empty = 1
for(var/curNetId in connected_doors)
var/list/L = connected_doors[curNetId]
if(!L || L.len == 0)
continue
empty = 0
t += "<tr>"
if(curNetId in displayedNetworks)
t += "<td><a href='?src=\ref[src];hide_net=[curNetId]'>\[-\]</a><b> " + curNetId + "<b></td>"
t += "<td colspan=\"2\"><b><a href='?src=\ref[src];open_net=[curNetId]'>Open all</a> / <a href='?src=\ref[src];close_net=[curNetId]'>Close all</a></b></td>"
t += "</tr>"
for(var/obj/machinery/door/poddoor/D in connected_doors[curNetId])
t += "<tr>"
t += "<td>[D.id]</td>"
if(istype(D,/obj/machinery/door/poddoor/shutters))
t += "<td>Shutter ([D.density ? "Closed" : "Open"])</td>"
else
t += "<td>Blast door ([D.density ? "Closed" : "Open"])</td>"
t += "<td><b><a href='?src=\ref[D];toggle=1'>Toggle</a></b></td>"
t += "</tr>"
else
t += "<td><a href='?src=\ref[src];show_net=[curNetId]'>\[+\]</a> <b>" + curNetId + "<b></td>"
t += "</table>"
if(empty)
t += "<span class='warning'>No networks connected.</span><br>"
t += "<A href='?src=\ref[src];refresh=1'>Refresh</A><BR>"
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
user << browse(t, "window=lockdown;size=550x600")
onclose(user, "lockdown")
Topic(href, href_list)
if(..()) return 1
if( href_list["close"] )
usr << browse(null, "window=lockdown")
usr.machine = null
if( href_list["show_net"] )
displayedNetworks.Add(href_list["show_net"])
updateDialog()
if( href_list["hide_net"] )
if(href_list["hide_net"] in displayedNetworks)
displayedNetworks.Remove(href_list["hide_net"])
updateDialog()
if( href_list["toggle_id"] )
var/idTag = href_list["toggle_id"]
for(var/net in connected_doors)
for(var/obj/machinery/door/poddoor/D in connected_doors[net])
if(D.id == idTag)
if(D.density)
D.open()
else
D.close()
break
if( href_list["open_net"] )
var/netTag = href_list["open_net"]
for(var/obj/machinery/door/poddoor/D in connected_doors[netTag])
if(D.density) //for some reason, there's no var saying whether the door is open or not >.>
spawn(0)
D.open()
if( href_list["close_net"] )
var/netTag = href_list["close_net"]
for(var/obj/machinery/door/poddoor/D in connected_doors[netTag])
if(!D.density)
spawn(0)
D.close()
src.updateDialog()
+6 -3
View File
@@ -3,10 +3,11 @@
/obj/machinery/computer/med_data//TODO:SANITY
name = "medical records console"
desc = "Used to view, edit and maintain medical records."
icon_state = "medcomp"
icon_keyboard = "med_key"
icon_screen = "medcomp"
light_color = "#315ab4"
req_one_access = list(access_medical, access_forensics_lockers)
circuit = "/obj/item/weapon/circuitboard/med_data"
circuit = /obj/item/weapon/circuitboard/med_data
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
var/rank = null
@@ -552,4 +553,6 @@
/obj/machinery/computer/med_data/laptop
name = "Medical Laptop"
desc = "Cheap Nanotrasen Laptop."
icon_state = "medlaptop"
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
+10 -13
View File
@@ -3,11 +3,10 @@
/obj/machinery/computer/message_monitor
name = "messaging monitor console"
desc = "Used to access and maintain data on messaging servers. Allows you to view PDA and request console messages."
icon_state = "comm_logs"
icon_screen = "comm_logs"
light_color = "#00b000"
var/hack_icon = "comm_logsc"
var/normal_icon = "comm_logs"
circuit = "/obj/item/weapon/circuitboard/message_monitor"
var/hack_icon = "error"
circuit = /obj/item/weapon/circuitboard/message_monitor
//Server linked to.
var/obj/machinery/message_server/linkedServer = null
//Sparks effect - For emag
@@ -50,7 +49,6 @@
// It'll take more time if there's more characters in the password..
if(!emag && operable())
if(!isnull(src.linkedServer))
icon_state = hack_icon // An error screen I made in the computers.dmi
emag = 1
screen = 2
spark_system.set_up(5, 0, src)
@@ -61,18 +59,17 @@
MK.info += "<br><br><font color='red'>£%@%(*$%&(£&?*(%&£/{}</font>"
spawn(100*length(src.linkedServer.decryptkey)) UnmagConsole()
message = rebootmsg
update_icon()
return 1
else
user << "<span class='notice'>A no server error appears on the screen.</span>"
/obj/machinery/computer/message_monitor/update_icon()
..()
if(stat & (NOPOWER|BROKEN))
return
if(emag || hacking)
icon_state = hack_icon
icon_screen = hack_icon
else
icon_state = normal_icon
icon_screen = initial(icon_screen)
..()
/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.
@@ -271,12 +268,12 @@
var/currentKey = src.linkedServer.decryptkey
user << "<span class='warning'>Brute-force completed! The key is '[currentKey]'.</span>"
src.hacking = 0
src.icon_state = normal_icon
update_icon()
src.screen = 0 // Return the screen back to normal
/obj/machinery/computer/message_monitor/proc/UnmagConsole()
src.icon_state = normal_icon
src.emag = 0
update_icon()
/obj/machinery/computer/message_monitor/proc/ResetMessage()
customsender = "System Administrator"
@@ -368,7 +365,7 @@
if((istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) && (usr.mind.special_role && usr.mind.original == usr))
src.hacking = 1
src.screen = 2
src.icon_state = hack_icon
update_icon()
//Time it takes to bruteforce is dependant on the password length.
spawn(100*length(src.linkedServer.decryptkey))
if(src && src.linkedServer && usr)
+4 -2
View File
@@ -3,7 +3,7 @@
/obj/machinery/computer/pod
name = "pod launch control console"
desc = "A control console for launching pods. Some people prefer firing Mechas."
icon_state = "computer_generic"
icon_screen = "mass_driver"
light_color = "#00b000"
circuit = /obj/item/weapon/circuitboard/pod
var/id = 1.0
@@ -194,7 +194,9 @@
/obj/machinery/computer/pod/old
icon_state = "old"
icon_state = "oldcomp"
icon_keyboard = null
icon_screen = "library"
name = "DoorMex Control Computer"
title = "Door Controls"
+3 -2
View File
@@ -3,10 +3,11 @@
/obj/machinery/computer/prisoner
name = "prisoner management console"
icon = 'icons/obj/computer.dmi'
icon_state = "explosive"
icon_keyboard = "security_key"
icon_screen = "explosive"
light_color = "#a91515"
req_access = list(access_armory)
circuit = "/obj/item/weapon/circuitboard/prisoner"
circuit = /obj/item/weapon/circuitboard/prisoner
var/id = 0.0
var/temp = null
var/status = 0
@@ -13,10 +13,11 @@ var/prison_shuttle_timeleft = 0
/obj/machinery/computer/prison_shuttle
name = "prison shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
icon_keyboard = "security_key"
icon_screen = "syndishuttle"
light_color = "#00ffff"
req_access = list(access_security)
circuit = "/obj/item/weapon/circuitboard/prison_shuttle"
circuit = /obj/item/weapon/circuitboard/prison_shuttle
var/temp = null
var/hacked = 0
var/allowedtocall = 0
+3 -2
View File
@@ -2,10 +2,11 @@
name = "robotics control console"
desc = "Used to remotely lockdown or detonate linked cyborgs."
icon = 'icons/obj/computer.dmi'
icon_state = "robot"
icon_keyboard = "tech_key"
icon_screen = "robot"
light_color = "#a97faa"
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/robotics"
circuit = /obj/item/weapon/circuitboard/robotics
var/safety = 1
+3 -2
View File
@@ -3,10 +3,11 @@
/obj/machinery/computer/secure_data//TODO:SANITY
name = "security records console"
desc = "Used to view, edit and maintain security records"
icon_state = "security"
icon_keyboard = "security_key"
icon_screen = "security"
light_color = "#a91515"
req_one_access = list(access_security, access_forensics_lockers, access_lawyer)
circuit = "/obj/item/weapon/circuitboard/secure_data"
circuit = /obj/item/weapon/circuitboard/secure_data
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
var/rank = null
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/shuttle
name = "Shuttle"
desc = "For shuttle control."
icon_state = "shuttle"
icon_keyboard = "tech_key"
icon_screen = "shuttle"
light_color = "#00ffff"
var/auth_need = 3.0
var/list/authorized = list( )
+4 -3
View File
@@ -3,10 +3,12 @@
/obj/machinery/computer/skills//TODO:SANITY
name = "employment records console"
desc = "Used to view, edit and maintain employment records."
icon_state = "medlaptop"
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
light_color = "#00b000"
req_one_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/skills"
circuit = /obj/item/weapon/circuitboard/skills
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
var/rank = null
@@ -22,7 +24,6 @@
var/sortBy = "name"
var/order = 1 // -1 = Descending - 1 = Ascending
/obj/machinery/computer/skills/attackby(obj/item/O as obj, user as mob)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item()
@@ -14,7 +14,8 @@ var/specops_shuttle_timeleft = 0
/obj/machinery/computer/specops_shuttle
name = "special operations shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
icon_keyboard = "security_key"
icon_screen = "syndishuttle"
light_color = "#00ffff"
req_access = list(access_cent_specops)
// req_access = list(ACCESS_CENT_SPECOPS)
+8 -10
View File
@@ -2,7 +2,8 @@
/obj/machinery/computer/station_alert
name = "Station Alert Console"
desc = "Used to access the station's automated alert system."
icon_state = "alert:0"
icon_keyboard = "tech_key"
icon_screen = "alert:0"
light_color = "#e6ffff"
circuit = /obj/item/weapon/circuitboard/stationalert_engineering
var/datum/nano_module/alarm_monitor/alarm_monitor
@@ -44,13 +45,10 @@
alarm_monitor.ui_interact(user)
/obj/machinery/computer/station_alert/update_icon()
if(!(stat & (BROKEN|NOPOWER)))
var/list/alarms = alarm_monitor.major_alarms()
if(alarms.len)
icon_screen = "alert:2"
else
icon_screen = initial(icon_screen)
..()
if(stat & (BROKEN|NOPOWER))
return
var/list/alarms = alarm_monitor.major_alarms()
if(alarms.len)
icon_state = "alert:2"
else
icon_state = initial(icon_state)
return
+5 -4
View File
@@ -1,10 +1,11 @@
/obj/machinery/computer/supplycomp
name = "supply control console"
icon = 'icons/obj/computer.dmi'
icon_state = "supply"
icon_keyboard = "tech_key"
icon_screen = "supply"
light_color = "#b88b2e"
req_access = list(access_cargo)
circuit = "/obj/item/weapon/circuitboard/supplycomp"
circuit = /obj/item/weapon/circuitboard/supplycomp
var/temp = null
var/reqtime = 0 //Cooldown for requisitions - Quarxink
var/hacked = 0
@@ -14,8 +15,8 @@
/obj/machinery/computer/ordercomp
name = "supply ordering console"
icon = 'icons/obj/computer.dmi'
icon_state = "request"
circuit = "/obj/item/weapon/circuitboard/ordercomp"
icon_screen = "request"
circuit = /obj/item/weapon/circuitboard/ordercomp
var/temp = null
var/reqtime = 0 //Cooldown for requisitions - Quarxink
var/last_viewed_group = "categories"
@@ -13,7 +13,8 @@ var/syndicate_elite_shuttle_timeleft = 0
/obj/machinery/computer/syndicate_elite_shuttle
name = "elite syndicate squad shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "syndishuttle"
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
light_color = "#00ffff"
req_access = list(access_cent_specops)
var/temp = null
@@ -4,7 +4,7 @@
name = "AI Upload"
desc = "Used to upload laws to the AI."
icon_state = "frame-rnd"
circuit = "/obj/item/part/board/circuit/aiupload"
circuit = /obj/item/weapon/circuitboard/aiupload
var/mob/living/silicon/ai/current = null
var/opened = 0
@@ -56,7 +56,7 @@
name = "Cyborg Upload"
desc = "Used to upload laws to Cyborgs."
icon_state = "frame-rnd"
circuit = "/obj/item/part/board/circuit/borgupload"
circuit = /obj/item/weapon/circuitboard/borgupload
var/mob/living/silicon/robot/current = null
+2 -2
View File
@@ -14,7 +14,7 @@
desc = "An interface between crew and the cryogenic storage oversight systems."
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "cellconsole"
circuit = "/obj/item/weapon/circuitboard/cryopodcontrol"
circuit = /obj/item/weapon/circuitboard/cryopodcontrol
density = 0
interact_offline = 1
var/mode = null
@@ -32,7 +32,7 @@
desc = "An interface between crew and the robotic storage systems"
icon = 'icons/obj/robot_storage.dmi'
icon_state = "console"
circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol"
circuit = /obj/item/weapon/circuitboard/robotstoragecontrol
storage_type = "cyborgs"
storage_name = "Robotic Storage Control"
+3 -2
View File
@@ -1,8 +1,9 @@
/obj/machinery/computer/teleporter
name = "Teleporter Control Console"
desc = "Used to control a linked teleportation Hub and Station."
icon_state = "teleport"
circuit = "/obj/item/weapon/circuitboard/teleporter"
icon_keyboard = "teleport_key"
icon_screen = "teleport"
circuit = /obj/item/weapon/circuitboard/teleporter
dir = 4
var/obj/item/locked = null
var/id = null
+2
View File
@@ -66,6 +66,7 @@
charging.health = min(charging.health + repair, initial(charging.health))
if(charging.health == initial(charging.health))
charging.occupant_message("<span class='notice'>Fully repaired.</span>")
else
done = 0
if(done)
@@ -92,5 +93,6 @@
/obj/machinery/mech_recharger/proc/stop_charging()
if(!charging)
return
charging = null
+3 -2
View File
@@ -1,10 +1,11 @@
/obj/machinery/computer/mecha
name = "Exosuit Control"
icon = 'icons/obj/computer.dmi'
icon_state = "mecha"
icon_keyboard = "rd_key"
icon_screen = "mecha"
light_color = "#a97faa"
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/mecha_control"
circuit = /obj/item/weapon/circuitboard/mecha_control
var/list/located = list()
var/screen = 0
var/stored_data
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/HolodeckControl
name = "holodeck control console"
desc = "A computer used to control a nearby holodeck."
icon_state = "holocontrol"
icon_keyboard = "tech_key"
icon_screen = "holocontrol"
use_power = 1
active_power_usage = 8000 //8kW for the scenery + 500W per holoitem
@@ -2,9 +2,10 @@
name = "Maintenance Drone Control"
desc = "Used to monitor the station's drone population and the assembler that services them."
icon = 'icons/obj/computer.dmi'
icon_state = "power"
icon_keyboard = "power_key"
icon_screen = "power"
req_access = list(access_engine_equip)
circuit = "/obj/item/weapon/circuitboard/drone_control"
circuit = /obj/item/weapon/circuitboard/drone_control
//Used when pinging drones.
var/drone_call_area = "Engineering"
+5 -4
View File
@@ -29,7 +29,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
/obj/machinery/computer/rdconsole
name = "R&D control console"
icon_state = "rdcomp"
icon_keyboard = "rd_key"
icon_screen = "rdcomp"
light_color = "#a97faa"
circuit = /obj/item/weapon/circuitboard/rdconsole
var/datum/research/files //Stores all the collected research data.
@@ -151,7 +152,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
src.updateUsrDialog()
return
/obj/machinery/computer/rdconsole/emp_act(var/remaining_charges, var/mob/user)
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
@@ -259,9 +260,9 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_destroy.loaded_item = null
for(var/obj/I in linked_destroy.contents)
for(var/mob/M in I.contents)
M.death()
M.death()
if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack
var/obj/item/stack/material/S = I
var/obj/item/stack/material/S = I
if(S.get_amount() > 1)
S.use(1)
linked_destroy.loaded_item = S
+4 -3
View File
@@ -119,8 +119,8 @@
if(default_deconstruction_screwdriver(user, O))
return
if(default_deconstruction_crowbar(user, O))
return
if(default_part_replacement(user, O))
return
if(default_part_replacement(user, O))
return
/obj/machinery/r_n_d/server/centcom
@@ -155,7 +155,8 @@
/obj/machinery/computer/rdservercontrol
name = "R&D Server Controller"
icon_state = "rdcomp"
icon_keyboard = "rd_key"
icon_screen = "rdcomp"
light_color = "#a97faa"
circuit = /obj/item/weapon/circuitboard/rdservercontrol
var/screen = 0
+3 -2
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/shuttle_control
name = "shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
icon_keyboard = "atmos_key"
icon_screen = "shuttle"
circuit = null
var/shuttle_tag // Used to coordinate data in shuttle controller.
@@ -15,7 +16,7 @@
if(!allowed(user))
user << "\red Access Denied."
return 1
ui_interact(user)
/obj/machinery/computer/shuttle_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+17 -16
View File
@@ -34,12 +34,12 @@
destination_dock_controllers[destination] = docking_controller
else
var/datum/computer/file/embedded_program/docking/C = locate(controller_tag)
if(!istype(C))
world << "<span class='danger'>warning: shuttle with docking tag [controller_tag] could not find it's controller!</span>"
else
destination_dock_controllers[destination] = C
//might as well set this up here.
if(origin) last_departed = origin
last_location = start_location
@@ -70,7 +70,8 @@
/obj/machinery/computer/shuttle_control/multi
icon_state = "syndishuttle"
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
/obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob)
@@ -99,7 +100,7 @@
dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>"
dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>"
//Docking
dat += "<center><br><br>"
if(MS.skip_docking_checks())
@@ -107,7 +108,7 @@
else
var/override_en = MS.docking_controller.override_enabled
var/docking_status = MS.docking_controller.get_docking_status()
dat += "Docking Status: "
switch(docking_status)
if("undocked")
@@ -118,11 +119,11 @@
dat += "<font color='[override_en? "red" : "yellow"]'>Undocking</font>"
if("docked")
dat += "<font color='[override_en? "red" : "green"]'>Docked</font>"
if(override_en) dat += " <font color='red'>(Override Enabled)</font>"
dat += ". <A href='?src=\ref[src];refresh=[1]'>\[Refresh\]</A><br><br>"
switch(docking_status)
if("undocked")
dat += "<b><A href='?src=\ref[src];dock_command=[1]'>Dock</A></b></center>"
@@ -139,11 +140,11 @@
var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch")
if(choice == "Cancel")
return 0
choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel")
if(choice == "Cancel")
return 0
return 1
/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list)
@@ -165,11 +166,11 @@
if (MS.moving_status != SHUTTLE_IDLE)
usr << "\blue [shuttle_tag] vessel is moving."
return
if(href_list["dock_command"])
MS.dock()
return
if(href_list["undock_command"])
MS.undock()
return
@@ -178,7 +179,7 @@
if(MS.at_origin)
usr << "\red You are already at your home base."
return
if((MS.last_move + MS.cooldown*10) > world.time)
usr << "\red The ship's drive is inoperable while the engines are charging."
return
@@ -186,7 +187,7 @@
if(!check_docking(MS))
updateUsrDialog()
return
if(!MS.return_warning)
usr << "\red Returning to your home base will end your mission. If you are sure, press the button again."
//TODO: Actually end the mission.
@@ -207,11 +208,11 @@
if((MS.last_move + MS.cooldown*10) > world.time)
usr << "\red The ship's drive is inoperable while the engines are charging."
return
if(!check_docking(MS))
updateUsrDialog()
return
var/choice = input("Select a destination.") as null|anything in MS.destinations
if(!choice) return
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/diseasesplicer
name = "disease splicer"
icon = 'icons/obj/computer.dmi'
icon_state = "crew"
icon_keyboard = "med_key"
icon_screen = "crew"
var/datum/disease2/effectholder/memorybank = null
var/list/species_buffer = null
Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 39 KiB