The Computer-ening (#13831)

This commit is contained in:
Wowzewow (Wezzy)
2022-06-04 23:19:33 +02:00
committed by GitHub
parent bf68049d59
commit c70f3e26cf
90 changed files with 350 additions and 202 deletions
+4 -2
View File
@@ -205,8 +205,10 @@
/obj/machinery/computer/scan_consolenew
name = "DNA Modifier Access Console"
desc = "Scand DNA."
icon_screen = "med"
desc = "Scan DNA."
icon_screen = "dna"
icon_keyboard = "teal_key"
light_color = LIGHT_COLOR_BLUE
density = 1
circuit = /obj/item/circuitboard/scan_consolenew
var/selected_ui_block = 1.0
+7 -4
View File
@@ -86,8 +86,9 @@ obj/machinery/air_sensor/Destroy()
/obj/machinery/computer/general_air_control
name = "atmosphere monitoring console"
desc = "A console that gives an atmospheric condition readout of various sensors connected to it."
icon_screen = "engi"
light_color = "#ffcc33"
icon_screen = "tank"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
var/frequency = 1439
var/list/sensors = list()
@@ -234,7 +235,7 @@ obj/machinery/computer/general_air_control/Destroy()
addtimer(CALLBACK(SSvueui, /datum/controller/subsystem/processing/vueui/proc/check_uis_for_change, src), 5) //Just in case we get no new data
/obj/machinery/computer/general_air_control/supermatter_core
icon = 'icons/obj/computer.dmi'
icon = 'icons/obj/modular_console.dmi'
frequency = 1438
var/input_tag
@@ -320,7 +321,9 @@ obj/machinery/computer/general_air_control/Destroy()
addtimer(CALLBACK(SSvueui, /datum/controller/subsystem/processing/vueui/proc/check_uis_for_change, src), 5) //Just in case we get no new data
/obj/machinery/computer/general_air_control/fuel_injection
icon_screen = "engi_alarm_off"
icon_screen = "alert:0"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
var/device_tag
var/list/device_info
@@ -1,8 +1,9 @@
/obj/machinery/computer/area_atmos
name = "Area Air Control"
desc = "A computer used to control the stationary scrubbers and pumps in the area."
icon_screen = "engi"
light_color = "#e6ffff"
icon_screen = "area_atmos"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
circuit = /obj/item/circuitboard/area_atmos
var/list/connectedscrubbers = new()
+3 -2
View File
@@ -5,9 +5,10 @@
desc = "A console that displays information on the status of the patient on an adjacent operating table."
density = TRUE
anchored = TRUE
icon_screen = "crew"
icon_keyboard = "teal_key"
light_color = LIGHT_COLOR_BLUE
light_color = LIGHT_COLOR_GREEN
icon_screen = "med"
circuit = /obj/item/circuitboard/operating
var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
+5 -3
View File
@@ -8,8 +8,10 @@
name = "\improper RCON console"
desc = "Console used to remotely control machinery on the station."
icon_screen = "engi"
light_color = "#ffcc33"
icon_screen = "ai-fixer"
icon_keyboard = "purple_key"
light_color = LIGHT_COLOR_PURPLE
circuit = /obj/item/circuitboard/rcon_console
req_one_access = list(access_engine)
var/current_tag = null
@@ -40,4 +42,4 @@
/obj/machinery/computer/rcon/update_icon()
..()
if(is_operable())
holographic_overlay(src, src.icon, "engi_alarm_off")
holographic_overlay(src, src.icon, "ai-fixer-empty")
+2 -1
View File
@@ -1,6 +1,7 @@
/obj/machinery/computer/arcade/
name = "random arcade"
desc = "random arcade machine"
icon = 'icons/obj/computer.dmi'
icon_state = "arcade2"
icon_screen = "battler"
icon_broken = "broken-arcade"
@@ -253,4 +254,4 @@
name = "Outbomb Cuban Pete"
src.updateUsrDialog()
return 1
return 1
+4 -3
View File
@@ -9,7 +9,8 @@ var/global/list/minor_air_alarms = list()
desc = "Used to access the station's atmospheric sensors."
circuit = /obj/item/circuitboard/atmos_alert
icon_screen = "engi"
icon_screen = "alert:0"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
/obj/machinery/computer/atmos_alert/Initialize()
@@ -48,11 +49,11 @@ var/global/list/minor_air_alarms = list()
if(!(stat & (NOPOWER|BROKEN)))
var/list/alarms = atmosphere_alarm.major_alarms()
if(alarms.len)
icon_screen = "engi_alarm_on"
icon_screen = "alert:2"
else
alarms = atmosphere_alarm.minor_alarms()
if(alarms.len)
icon_screen = "engi_alarm_off"
icon_screen = "alert:1"
else
icon_screen = initial(icon_screen)
..()
@@ -5,8 +5,9 @@
/obj/machinery/computer/atmoscontrol
name = "\improper Central Atmospherics Computer"
icon_screen = "engi"
light_color = "#ffcc33"
icon_screen = "comm_logs"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
density = 1
anchored = 1.0
circuit = /obj/item/circuitboard/atmoscontrol
@@ -17,10 +18,11 @@
/obj/machinery/computer/atmoscontrol/laptop
name = "Atmospherics Laptop"
desc = "A cheap laptop."
icon_state = "medlaptop0"
light_color = "#00b000"
icon = 'icons/obj/modular_laptop.dmi'
icon_state = "laptop-open"
light_color = LIGHT_COLOR_BLUE
icon_screen = "atmoslaptop"
icon_screen = "atmos_control"
density = 0
/obj/machinery/computer/atmoscontrol/attack_ai(var/mob/user as mob)
@@ -4,7 +4,7 @@
density = 1
anchored = 0
name = "computer frame"
icon = 'icons/obj/computer.dmi'
icon = 'icons/obj/modular_console.dmi'
icon_state = "0"
build_amt = 5
var/state = 0
+15 -9
View File
@@ -2,8 +2,9 @@
/obj/machinery/computer/security
name = "security camera monitor"
desc = "Used to access the various cameras on the station."
icon_screen = "sec"
light_color = "#a91515"
icon_screen = "cameras"
icon_keyboard = "yellow_key"
light_color = LIGHT_COLOR_YELLOW
var/current_network = null
var/obj/machinery/camera/current_camera = null
var/last_pic = 1.0
@@ -237,6 +238,7 @@
/obj/machinery/computer/security/telescreen
name = "Telescreen"
desc = "Used for watching an empty arena."
icon = 'icons/obj/computer.dmi'
icon_state = "wallframe"
icon_screen = null
light_range_on = 0
@@ -256,6 +258,7 @@
/obj/machinery/computer/security/wooden_tv
name = "security camera monitor"
desc = "An old TV hooked into the stations camera network."
icon = 'icons/obj/computer.dmi'
icon_state = "television"
icon_screen = "detective_tv"
circuit = null
@@ -265,17 +268,20 @@
/obj/machinery/computer/security/mining
name = "outpost camera monitor"
desc = "Used to access the various cameras on the outpost."
icon_screen = "sec"
icon_screen = "miningcameras"
icon_keyboard = "purple_key"
light_color = LIGHT_COLOR_PURPLE
network = list("MINE")
circuit = /obj/item/circuitboard/security/mining
light_color = "#F9BBFC"
light_color = LIGHT_COLOR_PURPLE
/obj/machinery/computer/security/engineering
name = "engineering camera monitor"
desc = "Used to monitor fires and breaches."
icon_screen = "sec"
icon_screen = "engineeringcameras"
icon_keyboard = "yellow_key"
light_color = LIGHT_COLOR_YELLOW
circuit = /obj/item/circuitboard/security/engineering
light_color = "#FAC54B"
/obj/machinery/computer/security/engineering/Initialize()
if(!network)
@@ -285,11 +291,11 @@
/obj/machinery/computer/security/nuclear
name = "head mounted camera monitor"
desc = "Used to access the built-in cameras in helmets."
icon = 'icons/obj/primitive_computer.dmi'
icon_screen = "syndicate"
icon_screen = "syndicam"
icon_keyboard = "red_key"
light_color = LIGHT_COLOR_RED
network = list(NETWORK_MERCENARY)
circuit = null
is_holographic = FALSE // I mean, it is, but the holo effect looks terrible with the current merc shuttle floor.
/obj/machinery/computer/security/nuclear/Initialize()
. = ..()
+3 -3
View File
@@ -1,8 +1,8 @@
/obj/machinery/computer/cloning
name = "cloning control console"
icon_screen = "med"
light_color = LIGHT_COLOR_GREEN
icon_screen = "dna"
icon_keyboard = "teal_key"
light_color = LIGHT_COLOR_BLUE
circuit = /obj/item/circuitboard/cloning
req_access = list(access_genetics)
var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning.
+16 -4
View File
@@ -1,6 +1,6 @@
/obj/machinery/computer
name = "computer"
icon = 'icons/obj/computer.dmi'
icon = 'icons/obj/modular_console.dmi'
icon_state = "computer"
density = 1
anchored = 1.0
@@ -11,8 +11,9 @@
var/circuit = null //The path to the circuit board type. If circuit==null, the computer can't be disassembled.
var/processing = 0
var/icon_screen = "generic"
var/icon_screen = "computer_generic"
var/icon_scanline
var/icon_keyboard = "green_key"
var/light_range_on = 2
var/light_power_on = 1.3
var/overlay_layer
@@ -62,12 +63,21 @@
..()
/obj/machinery/computer/update_icon()
switch(dir)
if(NORTH)
layer = ABOVE_MOB_LAYER
if(SOUTH)
layer = initial(layer)
if(EAST)
layer = ABOVE_MOB_LAYER
if(WEST)
layer = ABOVE_MOB_LAYER
cut_overlays()
if(stat & NOPOWER)
set_light(0)
return
else
set_light(light_range_on, light_power_on, COLOR_CYAN)
set_light(light_range_on, light_power_on, light_color)
icon_state = initial(icon_state)
@@ -82,6 +92,8 @@
holographic_overlay(src, src.icon, icon_screen)
if (icon_scanline)
add_overlay(icon_scanline)
if (icon_keyboard)
add_overlay(icon_keyboard)
else if (overlay_layer != layer)
add_overlay(image(icon, icon_screen, overlay_layer))
else
@@ -93,7 +105,7 @@
if(stat & NOPOWER)
set_light(0)
else
set_light(light_range_on, light_power_on, COLOR_CYAN)
set_light(light_range_on, light_power_on, light_color)
/obj/machinery/computer/proc/set_broken()
+1 -1
View File
@@ -52,8 +52,8 @@
/obj/machinery/computer/guestpass
name = "guest pass terminal"
desc = "Allows issuing temporary access to an area."
icon = 'icons/obj/computer.dmi'
icon_state = "guestw"
light_color = LIGHT_COLOR_BLUE
icon_state = "altcomputerw"
icon_screen = "guest"
+6 -6
View File
@@ -3,9 +3,9 @@
/obj/machinery/computer/aiupload
name = "\improper AI upload console"
desc = "Used to upload laws to the AI."
light_color = "#a97faa"
icon_screen = "sci"
icon_screen = "aiupload"
icon_keyboard = "blue_key"
light_color = LIGHT_COLOR_BLUE
circuit = /obj/item/circuitboard/aiupload
var/mob/living/silicon/ai/current = null
var/opened = 0
@@ -61,9 +61,9 @@
/obj/machinery/computer/borgupload
name = "cyborg upload console"
desc = "Used to upload laws to Cyborgs."
light_color = "#a97faa"
icon_screen = "sci"
icon_screen = "aiupload"
icon_keyboard = "blue_key"
light_color = LIGHT_COLOR_BLUE
circuit = /obj/item/circuitboard/borgupload
var/mob/living/silicon/robot/current = null
+3 -2
View File
@@ -3,8 +3,9 @@
/obj/machinery/computer/message_monitor
name = "messaging monitor console"
desc = "Used to access and maintain data on messaging servers. Allows you to view requests console messages."
icon_screen = "sci"
light_color = "#a97faa"
icon_screen = "comm_logs"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
var/hack_icon = "error"
circuit = /obj/item/circuitboard/message_monitor
//Server linked to.
+2 -1
View File
@@ -4,7 +4,8 @@
name = "pod launch control console"
desc = "A control console for launching pods. Some people prefer firing Mechas."
icon_screen = "command"
light_color = "#00b000"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
circuit = /obj/item/circuitboard/pod
var/id = 1.0
var/obj/machinery/mass_driver/connected = null
@@ -14,7 +14,8 @@ var/prison_shuttle_timeleft = 0
name = "prison shuttle control console"
icon_screen = "syndishuttle"
light_color = "#00ffff"
icon_keyboard = "red_key"
light_color = LIGHT_COLOR_RED
req_access = list(access_security)
circuit = /obj/item/circuitboard/prison_shuttle
var/temp = null
+5 -3
View File
@@ -1,10 +1,12 @@
/obj/machinery/computer/robotics
name = "robotics control console"
desc = "Used to remotely lockdown or detonate linked cyborgs."
icon = 'icons/obj/computer.dmi'
icon = 'icons/obj/modular_console.dmi'
icon_screen = "robot"
icon_keyboard = "purple_key"
light_color = LIGHT_COLOR_PURPLE
icon_screen = "sci"
light_color = "#a97faa"
req_access = list(access_robotics)
circuit = /obj/item/circuitboard/robotics
@@ -1,6 +1,7 @@
/obj/machinery/computer/sentencing
name = "criminal sentencing console"
desc = "A console that allows registered security personnel to create incident reports for various on-station crimes. It produces an encrypted report that can be used to automatically set a brig timer."
icon = 'icons/obj/computer.dmi'
icon_state = "computerw"
icon_screen = "securityw"
light_color = LIGHT_COLOR_ORANGE
+2 -2
View File
@@ -3,8 +3,8 @@
desc = "For shuttle control."
is_holographic = FALSE
icon_screen = "command"
light_color = "#00ffff"
icon_screen = "shuttle"
light_color = LIGHT_COLOR_CYAN
var/auth_need = 3.0
var/list/authorized = list( )
@@ -3,7 +3,8 @@
name = "station alert console"
desc = "Used to access the station's automated alert system."
icon_screen = "engi_alarm_off"
icon_screen = "alert:0"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
circuit = /obj/item/circuitboard/stationalert
var/datum/nano_module/alarm_monitor/alarm_monitor
@@ -63,5 +64,5 @@
if(alarm_monitor)
var/list/alarms = alarm_monitor.major_alarms()
if(alarms.len)
icon_screen = "engi_alarm_on"
icon_screen = "alert:2"
..()
+1
View File
@@ -14,6 +14,7 @@ var/global/list/frozen_crew = list()
/obj/machinery/computer/cryopod
name = "cryogenic oversight console"
desc = "An interface between crew and the cryogenic storage oversight systems."
icon = 'icons/obj/computer.dmi'
icon_state = "altcomputerw"
circuit = /obj/item/circuitboard/cryopodcontrol
density = FALSE
+1 -1
View File
@@ -3,7 +3,7 @@ var/list/doppler_arrays = list()
/obj/machinery/doppler_array
name = "tachyon-doppler array"
desc = "A highly precise sensor array which measures the release of quants from decaying tachyons. The doppler shifting of the mirror-image formed by these quants can reveal the size, location and temporal affects of energetic disturbances within a large radius ahead of the array."
icon = 'icons/obj/computer.dmi'
icon = 'icons/obj/modular_console.dmi'
icon_state = "computer"
anchored = TRUE
+3 -1
View File
@@ -6,7 +6,9 @@
/obj/machinery/computer/telecomms/server
name = "Telecommunications Server Monitor"
desc = "A monitor that contains and displays the logs of a selected telecommunications server to authorized personnel."
icon_screen = "sci"
icon_screen = "comm_logs"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
var/screen = 0 // the screen number:
var/list/servers = list() // the servers located by the computer
+3 -1
View File
@@ -7,7 +7,9 @@
/obj/machinery/computer/telecomms/monitor
name = "Telecommunications Monitor"
desc = "A monitor that tracks the overall traffic of a telecommunicaations network, and displays a hierarchy of linked machines."
icon_screen = "sci"
icon_screen = "comm_monitor"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
var/screen = 0 // the screen number:
var/list/machinelist = list() // the machines located by the computer
@@ -6,7 +6,9 @@
/obj/machinery/computer/telecomms/traffic
name = "Telecommunications Traffic Control"
icon_screen = "sci"
icon_screen = "computer_generic"
icon_keyboard = "green_key"
light_color = LIGHT_COLOR_GREEN
var/screen = 0 // the screen number:
var/list/servers = list() // the servers located by the computer
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/machinery/computer/HolodeckControl
name = "holodeck control console"
desc = "A computer used to control a nearby holodeck."
icon = 'icons/obj/computer.dmi'
icon_state = "computerw"
icon_screen = "holocontrolw"
light_color = LIGHT_COLOR_CYAN
+2 -1
View File
@@ -2,7 +2,8 @@
filename = "mlist"
filedesc = "Merchant's List"
extended_desc = "Allows communication and trade between passing vessels, even while jumping."
program_icon_state = "command"
program_icon_state = "comm"
program_key_icon_state = "lightblue_key"
nanomodule_path = /datum/nano_module/program/merchant
requires_ntnet = 0
available_on_ntnet = 0
@@ -1,9 +1,9 @@
/obj/machinery/computer/drone_control
name = "Maintenance Drone Control"
desc = "Used to monitor the station's drone population and the assembler that services them."
light_color = LIGHT_COLOR_ORANGE
icon_screen = "engi"
icon_screen = "power"
icon_keyboard = "yellow_key"
light_color = LIGHT_COLOR_YELLOW
req_access = list(access_engine_equip)
circuit = /obj/item/circuitboard/drone_control
@@ -37,7 +37,7 @@
/datum/ntnet_message/message/format_chat_log(var/datum/ntnet_conversation/Conv)
. = "[worldtime2text()] [nuser.username]: [message]"
/datum/ntnet_message/message/format_admin_log(var/datum/ntnet_conversation/Conv)
. = message
@@ -45,7 +45,7 @@
. = "[sanitize(Conv.get_title())] [nuser.username]: [sanitize(message)]"
/datum/ntnet_message/join/format_chat_notification(var/datum/ntnet_conversation/Conv, var/datum/computer_file/program/chat_client/Cl)
. = FONT_SMALL("<b>([sanitize(Conv.get_title(Cl))]) <i>[nuser.username]</i> has entered the chat.</b>")
@@ -93,4 +93,4 @@
. = "[worldtime2text()] -!- [nuser.username] has opened direct conversation."
/datum/ntnet_message/direct/format_chat_notification(var/datum/ntnet_conversation/Conv, var/datum/computer_file/program/chat_client/Cl)
. = FONT_SMALL("<b>([sanitize(Conv.get_title(Cl))]) <i>[nuser.username]</i> has opened direct conversation with you.</b>")
. = FONT_SMALL("<b>([sanitize(Conv.get_title(Cl))]) <i>[nuser.username]</i> has opened direct conversation with you.</b>")
@@ -140,6 +140,8 @@
holographic_overlay(src, src.icon, icon_state_screensaver)
else
add_overlay(icon_state_screensaver)
if(icon_state_screensaver_key && working)
add_overlay(icon_state_screensaver_key)
if (screensaver_light_range && working && !flashlight)
set_light(screensaver_light_range, light_power, screensaver_light_color ? screensaver_light_color : "#FFFFFF")
@@ -148,10 +150,12 @@
return
if(active_program)
var/state = active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu
var/state_key = active_program.program_key_icon_state ? active_program.program_key_icon_state : icon_state_menu_key // for corresponding keyboards.
if (is_holographic)
holographic_overlay(src, src.icon, state)
else
add_overlay(state)
add_overlay(state_key)
if(!flashlight)
set_light(light_range, light_power, l_color = active_program.color)
else
@@ -159,6 +163,7 @@
holographic_overlay(src, src.icon, icon_state_menu)
else
add_overlay(icon_state_menu)
add_overlay(icon_state_menu_key)
if(!flashlight)
set_light(light_range, light_power, l_color = menu_light_color)
@@ -392,7 +397,7 @@
enabled_services += S
S.service_state = PROGRAM_STATE_ACTIVE
return TRUE
/obj/item/modular_computer/proc/disable_service(service, mob/user, var/datum/computer_file/program/S = null)
@@ -40,7 +40,9 @@
center_of_mass = null
var/icon_state_unpowered // Icon state when the computer is turned off
var/icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
var/icon_state_menu_key = "black_key"
var/icon_state_screensaver
var/icon_state_screensaver_key
var/icon_state_broken
var/screensaver_light_range = 0
var/screensaver_light_color
@@ -2,12 +2,13 @@
name = "console"
desc = "A stationary computer."
icon = 'icons/obj/modular_console.dmi'
icon_state = "console"
icon_state_unpowered = "console"
icon_state_screensaver = "standby-light"
icon_state_menu = "menu-light"
icon_state = "computer"
icon_state_unpowered = "computer"
icon_state_screensaver = "standby"
icon_state_screensaver_key = "black_key"
icon_state_menu = "menu"
icon_state_broken = "console-broken"
menu_light_color = LIGHT_COLOR_BLUE
menu_light_color = LIGHT_COLOR_WHITE
hardware_flag = PROGRAM_CONSOLE
anchored = TRUE
density = TRUE
@@ -18,5 +19,5 @@
steel_sheet_cost = 20
light_range = 2
screensaver_light_range = 1.4
screensaver_light_color = "#0099ff"
is_holographic = TRUE
screensaver_light_color = LIGHT_COLOR_WHITE
is_holographic = TRUE
@@ -14,6 +14,7 @@
var/obj/item/modular_computer/computer // Device that runs this program.
var/extended_desc = "N/A" // Short description of this program's function.
var/program_icon_state // Program-specific screen icon state
var/program_key_icon_state // Program-specific keyboard icon state (really only applies to consoles but can be used for other purposes like having mix-n-match screens)
var/requires_ntnet = FALSE // Set to TRUE for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
var/requires_ntnet_feature = FALSE // Optional, if above is set to TRUE checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
var/ntnet_status = TRUE // NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
@@ -232,4 +233,4 @@
if(M.stat == DEAD && (M.client && M.client.prefs.toggles & CHAT_GHOSTEARS))
if(isnewplayer(M))
continue
to_chat(M, message)
to_chat(M, message)
@@ -2,6 +2,7 @@
filename = "ntn_dos"
filedesc = "DoS Traffic Generator"
program_icon_state = "hostile"
program_key_icon_state = "red_key"
extended_desc = "This advanced script can perform denial of service attacks against NTNet quantum relays. The system administrator will probably notice this. Multiple devices can run this program together against the same relay for increased effect."
size = 20
requires_ntnet = TRUE
@@ -104,4 +105,4 @@
if(ntnet_global.intrusion_detection_enabled)
ntnet_global.add_log("IDS WARNING - Excess traffic flood targeting relay [target.uid] detected from device: [computer.network_card.get_network_tag()]")
ntnet_global.intrusion_detection_alarm = TRUE
return TRUE
return TRUE
@@ -3,6 +3,7 @@
filedesc = "Camera Decryption Tool"
nanomodule_path = /datum/nano_module/camera_monitor/hacked
program_icon_state = "hostile"
program_key_icon_state = "red_key"
extended_desc = "This very advanced piece of software uses adaptive programming and large database of cipherkeys to bypass most encryptions used on camera networks. Be warned that the system administrator may notice this."
size = 8
available_on_ntnet = FALSE
@@ -2,6 +2,7 @@
filename = "revelation"
filedesc = "Revelation"
program_icon_state = "hostile"
program_key_icon_state = "red_key"
extended_desc = "This virus can destroy hard drive of system it is executed on. It may be obfuscated to look like another non-malicious program. Once armed, it will destroy the system upon next execution."
size = 13
requires_ntnet = FALSE
@@ -72,4 +73,4 @@
ui.auto_update_layout = TRUE
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(TRUE)
ui.set_auto_update(TRUE)
@@ -2,7 +2,8 @@
filename = "cargocontrol"
filedesc = "Cargo Control"
extended_desc = "Application to Control Cargo Orders"
program_icon_state = "ops"
program_icon_state = "supply"
program_key_icon_state = "yellow_key"
size = 12
requires_ntnet = TRUE
available_on_ntnet = TRUE
@@ -2,7 +2,8 @@
filename = "cargodelivery"
filedesc = "Cargo Delivery"
extended_desc = "Application to Control Delivery and Payment of Cargo orders."
program_icon_state = "ops"
program_icon_state = "supply"
program_key_icon_state = "yellow_key"
size = 6
requires_ntnet = TRUE
available_on_ntnet = TRUE
@@ -2,6 +2,8 @@
filename = "cargoorder"
filedesc = "Cargo Order"
extended_desc = "Application to Order Items from Cargo."
program_icon_state = "request"
program_key_icon_state = "yellow_key"
size = 10
requires_ntnet = TRUE
available_on_ntnet = TRUE
@@ -2,6 +2,8 @@
filename = "crushercontrol"
filedesc = "Crusher Control"
extended_desc = "Application to Control the Crusher"
program_icon_state = "command"
program_key_icon_state = "green_key"
size = 8
requires_ntnet = FALSE
available_on_ntnet = FALSE
@@ -69,7 +71,7 @@
if(arlk.id_tag != "crusher")
continue
airlocks += arlk
airlock_open()
if(href_list["hatch_open"])
@@ -84,11 +86,11 @@
message = "Crushing"
airlock_close()
crush_start()
if(href_list["abort"])
message = "Aborting"
crush_stop()
if(href_list["close"])
message = null
@@ -114,4 +116,4 @@
/datum/nano_module/program/crushercontrol/proc/crush_stop()
for(var/obj/machinery/crusher_base/pstn in pistons)
pstn.crush_abort()
pstn.crush_abort()
@@ -2,8 +2,8 @@
filename = "janitor"
filedesc = "Custodial Supplies Locator"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program is used by custodial staff to keep track of work-related supplies."
program_icon_state = "ops"
usage_flags = PROGRAM_ALL_REGULAR
size = 4
required_access_run = access_janitor
@@ -3,7 +3,8 @@
/datum/computer_file/program/account_db
filename = "accdb"
filedesc = "Account Database"
program_icon_state = "command"
program_icon_state = "employment_record"
program_key_icon_state = "lightblue_key"
extended_desc = "Access transaction logs, account data and all kinds of other financial records."
requires_ntnet = TRUE
available_on_ntnet = FALSE
@@ -2,7 +2,8 @@
filename = "cardmod"
filedesc = "ID Card Modification Program"
nanomodule_path = /datum/nano_module/program/card_mod
program_icon_state = "command"
program_icon_state = "id"
program_key_icon_state = "lightblue_key"
extended_desc = "Program for programming employee ID cards to access parts of the station."
required_access_run = access_change_ids
required_access_download = access_change_ids
@@ -219,4 +220,4 @@
id_card.access -= get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM)
/datum/computer_file/program/card_mod/proc/apply_access(var/obj/item/card/id/id_card, var/list/accesses)
id_card.access |= accesses
id_card.access |= accesses
@@ -7,7 +7,8 @@
/datum/computer_file/program/comm
filename = "comm"
filedesc = "Command and Communications Program"
program_icon_state = "command"
program_icon_state = "comm"
program_key_icon_state = "lightblue_key"
nanomodule_path = /datum/nano_module/program/comm
extended_desc = "Used to command and control the station. Can relay long-range communications."
required_access_run = access_heads
@@ -2,7 +2,8 @@
filename = "teleporter"
filedesc = "Teleporter Control"
extended_desc = "A NanoTrasen command remote teleportation hub controller."
program_icon_state = "command"
program_icon_state = "teleport"
program_key_icon_state = "lightblue_key"
color = LIGHT_COLOR_BLUE
size = 8
requires_ntnet = TRUE
@@ -4,7 +4,8 @@
filename = "powermonitor"
filedesc = "Power Monitoring"
nanomodule_path = /datum/nano_module/power_monitor
program_icon_state = "engi"
program_icon_state = "power_monitor"
program_key_icon_state = "yellow_key"
extended_desc = "This program connects to sensors around the station to provide information about electrical systems"
ui_header = "power_norm.gif"
required_access_run = access_engine
@@ -21,13 +22,13 @@
var/datum/nano_module/power_monitor/NMA = NM
if(istype(NMA) && NMA.has_alarm())
if(!has_alert)
program_icon_state = "engi_alarm_on"
program_icon_state = "power_monitor_warn"
ui_header = "power_warn.gif"
update_computer_icon()
has_alert = TRUE
else
if(has_alert)
program_icon_state = "engi"
program_icon_state = "power_monitor"
ui_header = "power_norm.gif"
update_computer_icon()
has_alert = FALSE
@@ -37,7 +38,7 @@
filedesc = "Alarm Monitoring"
nanomodule_path = /datum/nano_module/alarm_monitor/engineering
ui_header = "alarm_green.gif"
program_icon_state = "engi_alarm_off"
program_icon_state = "alert:0"
extended_desc = "This program provides visual interface for station's alarm system."
requires_ntnet = TRUE
network_destination = "alarm monitoring network"
@@ -51,13 +52,13 @@
var/datum/nano_module/alarm_monitor/NMA = NM
if(istype(NMA) && NMA.has_major_alarms())
if(!has_alert)
program_icon_state = "engi_alarm_on"
program_icon_state = "alert:2"
ui_header = "alarm_red.gif"
update_computer_icon()
has_alert = TRUE
else
if(has_alert)
program_icon_state = "engi_alarm_off"
program_icon_state = "alert:0"
ui_header = "alarm_green.gif"
update_computer_icon()
has_alert = FALSE
@@ -67,7 +68,8 @@
filename = "atmoscontrol"
filedesc = "Atmosphere Control"
nanomodule_path = /datum/nano_module/atmos_control
program_icon_state = "engi"
program_icon_state = "atmos_control"
program_key_icon_state = "cyan_key"
extended_desc = "This program allows remote control of air alarms around the station. This program can not be run on tablet computers."
required_access_run = access_atmospherics
required_access_download = access_ce
@@ -82,7 +84,8 @@
filename = "rcon"
filedesc = "RCON Remote Control"
nanomodule_path = /datum/nano_module/rcon
program_icon_state = "engi"
program_icon_state = "power"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows remote control of power distribution systems around the station. This program can not be run on tablet computers."
required_access_run = access_engine
required_access_download = access_ce
@@ -91,14 +94,15 @@
requires_ntnet_feature = NTNET_SYSTEMCONTROL
usage_flags = PROGRAM_CONSOLE | PROGRAM_STATIONBOUND
size = 19
color = LIGHT_COLOR_GREEN
color = LIGHT_COLOR_YELLOW
// Night-Mode Toggle for CE
/datum/computer_file/program/lighting_control
filename = "lightctrl"
filedesc = "Lighting Controller"
nanomodule_path = /datum/nano_module/lighting_ctrl
program_icon_state = "engi"
program_icon_state = "power"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows mass-control of the station's lighting systems. This program cannot be run on tablet computers."
required_access_run = access_heads
required_access_download = access_ce
@@ -107,4 +111,4 @@
requires_ntnet_feature = NTNET_SYSTEMCONTROL
usage_flags = PROGRAM_CONSOLE | PROGRAM_STATIONBOUND
size = 9
color = LIGHT_COLOR_GREEN
color = LIGHT_COLOR_GREEN
@@ -5,7 +5,8 @@
/datum/computer_file/program/game/arcade
filename = "arcadec" // File name, as shown in the file browser program.
filedesc = "Unknown Game" // User-Friendly name. In this case, we will generate a random name in constructor.
program_icon_state = "generic" // Icon state of this program's screen.
program_icon_state = "game" // Icon state of this program's screen.
program_key_icon_state = "black_key"
extended_desc = "Fun for the whole family! Probably not an AAA title, but at least you can download it on the corporate network.." // A nice description.
size = 2 // Size in GQ. Integers only. Smaller sizes should be used for utility/low use programs (like this one), while large sizes are for important programs.
requires_ntnet = FALSE // This particular program does not require NTNet network conectivity...
@@ -148,4 +149,4 @@
player_mana += regen
enemy_play()
check_gameover()
return TRUE
return TRUE
@@ -1,7 +1,8 @@
/datum/computer_file/program/game/sudoku
filename = "sudoku" // File name, as shown in the file browser program.
filedesc = "Sudoku" // User-Friendly name. In this case, we will generate a random name in constructor.
program_icon_state = "generic" // Icon state of this program's screen.
program_icon_state = "sudoku" // Icon state of this program's screen.
program_key_icon_state = "black_key"
extended_desc = "A game of numbers, logic, and deduction. Popular for centuries to keep the mind sharp." // A nice description.
size = 2 // Size in GQ. Integers only. Smaller sizes should be used for utility/low use programs (like this one), while large sizes are for important programs.
requires_ntnet = FALSE // This particular program does not require NTNet network conectivity...
@@ -207,4 +208,4 @@
tile["highlight"] = 0
if(full)
cheated = FALSE
won_game = FALSE
won_game = FALSE
@@ -1,7 +1,8 @@
/datum/computer_file/program/atmos
filename = "atmos"
filedesc = "Atmosphere Sensor"
program_icon_state = "engi"
program_icon_state = "tank"
program_key_icon_state = "cyan_key"
extended_desc = "This program is for viewing local atmospheric data."
size = 2
@@ -1,7 +1,8 @@
/datum/computer_file/program/manifest
filename = "manifest"
filedesc = "Crew Manifest"
program_icon_state = "generic"
program_icon_state = "menu"
program_key_icon_state = "black_key"
extended_desc = "This program is used for viewing the crew manifest."
usage_flags = PROGRAM_ALL
size = 3
@@ -2,7 +2,8 @@
filename = "newsbrowser"
filedesc = "News Browser"
extended_desc = "This program may be used to view and download news articles from the network."
program_icon_state = "generic"
program_icon_state = "menu"
program_key_icon_state = "black_key"
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_TABLET | PROGRAM_STATIONBOUND | PROGRAM_WRISTBOUND
size = 2
requires_ntnet = TRUE
@@ -127,4 +128,4 @@
ui = new(user, src, ui_key, "news_browser.tmpl", "NTNet/ExoNet News Browser", 575, 700, state = state)
ui.auto_update_layout = TRUE
ui.set_initial_data(data)
ui.open()
ui.open()
@@ -1,7 +1,8 @@
/datum/computer_file/program/chat_client
filename = "ntnrc_client"
filedesc = "Chat Client"
program_icon_state = "generic"
program_icon_state = "command"
program_key_icon_state = "green_key"
extended_desc = "This program allows communication over the NTRC network."
size = 2
requires_ntnet = FALSE
@@ -3,6 +3,7 @@
filedesc = "NTSL2++ Interpreter"
extended_desc = "This program is used to run NTSL2++ scripts."
program_icon_state = "generic"
program_key_icon_state = "green_key"
usage_flags = PROGRAM_ALL
size = 8
requires_ntnet = TRUE
@@ -40,7 +41,7 @@
var/datum/computer_file/script/F = HDD.find_file_by_name(href_list["execute_file"])
if(istype(F))
var/code = F.code
if(istype(running))
running.execute(code, usr)
is_running = TRUE
@@ -90,7 +91,7 @@
if(istype(running))
running.handle_topic(href_list["terminal_topic"])
. = TRUE
if(.)
SSvueui.check_uis_for_change(src)
return FALSE
@@ -115,7 +116,7 @@
. = data
var/obj/item/computer_hardware/hard_drive/hdd = computer?.hard_drive
if(is_running && istype(running))
data["mode"] = "program"
data["terminal"] = running.buffer
@@ -126,7 +127,7 @@
else
VUEUI_SET_CHECK(data["mode"], "list", ., data)
data["files"] = list()
for(var/datum/computer_file/script/F in hdd?.stored_files)
if(F.filetype == "NTS" && !F.password)
@@ -136,7 +137,7 @@
"size" = F.size,
"undeletable" = F.undeletable
))
/datum/computer_file/program/ntsl2_interpreter/proc/buffer_callback_handler()
SSvueui.check_uis_for_change(src)
SSvueui.check_uis_for_change(src)
@@ -4,7 +4,8 @@ var/global/nttransfer_uid = 0
filename = "nttransfer"
filedesc = "NTNet P2P Transfer Client"
extended_desc = "This program allows for simple file transfer via direct peer to peer connection."
program_icon_state = "generic"
program_icon_state = "comm_logs"
program_key_icon_state = "green_key"
size = 7
requires_ntnet = TRUE
requires_ntnet_feature = NTNET_PEERTOPEER
@@ -192,4 +193,4 @@ var/global/nttransfer_uid = 0
return TRUE
if(href_list["PRG_uploadmenu"])
upload_menu = TRUE
return FALSE
return FALSE
@@ -3,13 +3,14 @@
filedesc = "Records"
extended_desc = "Used to view, edit and maintain records."
program_icon_state = "command"
program_icon_state = "generic"
program_key_icon_state = "green_key"
color = LIGHT_COLOR_BLUE
available_on_ntnet = FALSE
size = 6
requires_ntnet = TRUE
requires_ntnet_feature = NTNET_SYSTEMCONTROL
requires_ntnet_feature = "NTNET_SYSTEMCONTROL"
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
requires_access_to_download = PROGRAM_ACCESS_LIST_ONE
usage_flags = PROGRAM_ALL_REGULAR | PROGRAM_STATIONBOUND
@@ -45,7 +46,8 @@
records_type = RECORD_MEDICAL | RECORD_VIRUS
edit_type = RECORD_MEDICAL
default_screen = "medical"
program_icon_state = "med"
program_icon_state = "medical_record"
program_key_icon_state = "teal_key"
color = LIGHT_COLOR_CYAN
/datum/computer_file/program/records/security
@@ -61,8 +63,9 @@
records_type = RECORD_SECURITY
edit_type = RECORD_SECURITY
default_screen = "security"
program_icon_state = "sec"
color = LIGHT_COLOR_RED
program_icon_state = "security_record"
program_key_icon_state = "yellow_key"
color = LIGHT_COLOR_YELLOW
/datum/computer_file/program/records/employment
filename = "emprec"
@@ -77,7 +80,8 @@
records_type = RECORD_GENERAL | RECORD_SECURITY
edit_type = RECORD_GENERAL
program_icon_state = "command"
program_icon_state = "employment_record"
program_key_icon_state = "lightblue_key"
color = LIGHT_COLOR_BLUE
/datum/computer_file/program/records/pai
@@ -2,6 +2,7 @@
filename = "signaler"
filedesc = "Remote Signaller"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program can be used to send wide-range signals of various frequencies."
size = 2
available_on_ntnet = TRUE
@@ -1,7 +1,8 @@
/datum/computer_file/program/suit_sensors
filename = "sensormonitor"
filedesc = "Suit Sensors Monitoring"
program_icon_state = "med"
program_icon_state = "crew"
program_key_icon_state = "teal_key"
extended_desc = "This program connects to life signs monitoring system to provide basic information on crew health."
required_access_run = access_medical
required_access_download = access_cmo
@@ -57,4 +58,4 @@
var/mob/living/silicon/ai/AI = usr
var/mob/living/carbon/human/H = locate(href_list["track"]) in mob_list
if(hassensorlevel(H, SUIT_SENSOR_TRACKING))
AI.ai_actual_track(H)
AI.ai_actual_track(H)
@@ -2,6 +2,7 @@
filename = "pai_directives"
filedesc = "pAI Directives"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program is for viewing currently assigned directives."
size = 0
@@ -2,6 +2,7 @@
filename = "doorjack"
filedesc = "Door Jack"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program is used to access standard-issue pAI door jack systems."
size = 12
@@ -35,7 +36,7 @@
if(headerdata)
data["_PC"] = headerdata
. = data
if(!istype(computer, /obj/item/modular_computer/silicon))
return
var/obj/item/modular_computer/silicon/true_computer = computer
@@ -48,7 +49,7 @@
VUEUI_SET_CHECK(data["ishacking"], !!host.hackdoor, ., data)
VUEUI_SET_CHECK(data["progress"], host.hackprogress, ., data)
VUEUI_SET_CHECK(data["aborted"], host.hack_aborted, ., data)
/datum/computer_file/program/pai_doorjack/Topic(href, href_list)
. = ..()
@@ -58,7 +59,7 @@
if(!istype(true_computer.computer_host, /mob/living/silicon/pai))
return
var/mob/living/silicon/pai/host = true_computer.computer_host
if(href_list["hack"])
if(host.cable && host.cable.machine)
host.hackdoor = host.cable.machine
@@ -2,6 +2,7 @@
filename = "pai_radio"
filedesc = "Radio Configuration"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program is used to configure the integrated pAI radio."
size = 0
@@ -25,7 +26,7 @@
var/headerdata = get_header_data(data["_PC"])
if(headerdata)
data["_PC"] = headerdata
if(!istype(computer, /obj/item/modular_computer/silicon))
return
var/obj/item/modular_computer/silicon/true_computer = computer
@@ -1,7 +1,8 @@
/datum/computer_file/program/aidiag
filename = "aidiag"
filedesc = "AI Maintenance Utility"
program_icon_state = "generic"
program_icon_state = "ai-fixer"
program_key_icon_state = "purple_key"
extended_desc = "This program is capable of reconstructing damaged AI systems. It can also be used to upload basic laws to the AI. Requires direct AI connection via intellicard slot."
size = 12
requires_ntnet = FALSE
@@ -115,4 +116,4 @@
ui.auto_update_layout = TRUE
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(1)
ui.set_auto_update(1)
@@ -1,7 +1,8 @@
/datum/computer_file/program/chemistry_codex
filename = "chemcodex"
filedesc = "Chemistry Codex"
program_icon_state = "med"
program_icon_state = "medcomp"
program_key_icon_state = "teal_key"
extended_desc = "Useful program to view chemical reactions and how to make them."
size = 14
requires_access_to_run = PROGRAM_ACCESS_LIST_ONE
@@ -32,4 +33,4 @@
// Here goes listification
if(data["reactions"] == null)
. = data
data["reactions"] = SSchemistry.codex_data
data["reactions"] = SSchemistry.codex_data
@@ -1,7 +1,8 @@
/datum/computer_file/program/ntnetmonitor
filename = "ntmonitor"
filedesc = "NTNet Diagnostics and Monitoring"
program_icon_state = "sci"
program_icon_state = "comm_monitor"
program_key_icon_state = "green_key"
extended_desc = "This program monitors stationwide NTNet network, provides access to logging systems, and allows for configuration changes"
size = 12
requires_ntnet = TRUE
@@ -31,7 +31,8 @@
filename = "cammon"
filedesc = "Camera Monitoring"
nanomodule_path = /datum/nano_module/camera_monitor
program_icon_state = "sec_alarm"
program_icon_state = "cameras"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows remote access to station's camera system. Some camera networks may have additional access requirements."
size = 12
available_on_ntnet = TRUE
@@ -2,7 +2,8 @@
filename = "digitalwarrant"
filedesc = "Warrant Assistant"
extended_desc = "Official NTsec program for creation and handling of warrants."
program_icon_state = "sec"
program_icon_state = "security"
program_key_icon_state = "yellow_key"
color = LIGHT_COLOR_ORANGE
size = 8
requires_ntnet = TRUE
@@ -2,7 +2,8 @@
filename = "guntracker"
filedesc = "Firearm Control"
extended_desc = "Official NTsec program for the tracking and remote control of wireless-enabled firearms."
program_icon_state = "sec"
program_icon_state = "security"
program_key_icon_state = "yellow_key"
color = LIGHT_COLOR_ORANGE
size = 8
requires_ntnet = TRUE
@@ -1,7 +1,8 @@
/datum/computer_file/program/implant_tracker
filename = "implnttrckr"
filedesc = "Remote Implant Tracking"
program_icon_state = "sec"
program_icon_state = "security"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows authorized security personnel to track and remotely interface with active implants."
required_access_run = access_armory
requires_ntnet = TRUE
@@ -1,7 +1,8 @@
/datum/computer_file/program/penal_mechs
filename = "penalrobotics"
filedesc = "Remote Penal Monitoring"
program_icon_state = "sec"
program_icon_state = "security"
program_key_icon_state = "yellow_key"
extended_desc = "This program allows monitoring and control of active penal robotics."
required_access_run = access_armory
required_access_download = access_armory
@@ -173,4 +174,4 @@
var/viewflag = current_camera.check_eye(user)
if(viewflag < 0) //camera doesn't work
reset_current()
return viewflag
return viewflag
@@ -7,6 +7,7 @@
filedesc = "NTOS Client Manager"
extended_desc = "This program allows configuration of the computer's software."
program_icon_state = "generic"
program_key_icon_state = "green_key"
color = LIGHT_COLOR_GREEN
unsendable = TRUE
undeletable = TRUE
@@ -7,6 +7,7 @@
filedesc = "Hardware Configuration Tool"
extended_desc = "This program allows configuration of the computer's hardware."
program_icon_state = "generic"
program_key_icon_state = "green_key"
color = LIGHT_COLOR_GREEN
unsendable = TRUE
undeletable = TRUE
@@ -33,7 +34,7 @@
if(headerdata)
data["_PC"] = headerdata
. = data
if(!computer)
return
@@ -75,4 +76,4 @@
var/watt_usage = H.vars[v] * (CELLRATE / 2)
VUEUI_SET_CHECK(data["hardware"][H.name][v], watt_usage, ., data)
else
VUEUI_SET_CHECK(data["hardware"][H.name][v], H.vars[v], ., data)
VUEUI_SET_CHECK(data["hardware"][H.name][v], H.vars[v], ., data)
@@ -4,6 +4,7 @@
filedesc = "NTOS File Manager"
extended_desc = "This program allows management of files."
program_icon_state = "generic"
program_key_icon_state = "green_key"
color = LIGHT_COLOR_GREEN
size = 2
requires_ntnet = FALSE
@@ -2,6 +2,7 @@
filename = "ntndownloader"
filedesc = "NTNet Software Download Tool"
program_icon_state = "generic"
program_key_icon_state = "green_key"
extended_desc = "This program allows the download of software from official NT repositories."
color = LIGHT_COLOR_GREEN
unsendable = TRUE
@@ -2,7 +2,9 @@
/obj/machinery/computer/ship/engines
name = "engine control console"
icon_screen = "command"
icon_screen = "enginecontrol"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
var/display_state = "status"
/obj/machinery/computer/ship/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
@@ -92,4 +94,4 @@
E.toggle()
return TOPIC_REFRESH
return TOPIC_REFRESH
return TOPIC_NOACTION
return TOPIC_NOACTION
+6 -15
View File
@@ -3,8 +3,9 @@
/obj/machinery/computer/ship/helm
name = "helm control console"
icon_screen = "command"
light_color = "#7faaff"
icon_screen = "helm"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
var/autopilot = 0
var/list/known_sectors = list()
var/dx //desitnation
@@ -252,7 +253,9 @@
/obj/machinery/computer/ship/navigation
name = "navigation console"
icon_screen = "command"
icon_screen = "nav"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
/obj/machinery/computer/ship/navigation/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
if(!connected)
@@ -296,15 +299,3 @@
if (href_list["viewing"])
viewing_overmap(usr) ? unlook(usr) : look(usr)
return TOPIC_REFRESH
/obj/machinery/computer/ship/navigation/telescreen //little hacky but it's only used on one ship so it should be okay
icon_state = "tele_nav"
density = 0
/obj/machinery/computer/ship/navigation/telescreen/update_icon()
if(stat & (NOPOWER|BROKEN))
icon_state = "tele_off"
set_light(0)
else
icon_state = "tele_nav"
set_light(2, 2, "#33FAAA")
@@ -1,7 +1,8 @@
/obj/machinery/computer/ship/sensors
name = "sensors console"
icon_screen = "command"
light_color = "#77fff8"
icon_screen = "sensors"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
extra_view = 4
var/obj/machinery/shipsensors/sensors
circuit = /obj/item/circuitboard/ship/sensors
@@ -6,10 +6,9 @@
/obj/machinery/computer/power_monitor
name = "Power Monitoring Console"
desc = "Computer designed to remotely monitor power levels around the station"
icon = 'icons/obj/computer.dmi'
icon_screen = "engi"
light_color = "#ffcc33"
icon_screen = "power"
icon_keyboard = "yellow_key"
light_color = LIGHT_COLOR_YELLOW
//computer stuff
density = 1
@@ -32,10 +31,10 @@
if(stat & NOPOWER)
icon_screen = null
else if(alerting)
icon_screen = "engi_alarm_on"
icon_screen = "power_alert"
else
icon_screen = "engi"
..()
icon_screen = "power"
. = ..()
// On creation automatically connects to active sensors. This is delayed to ensure sensors already exist.
/obj/machinery/computer/power_monitor/Initialize()
+26 -17
View File
@@ -273,8 +273,8 @@
/obj/machinery/power/solar_control
name = "solar panel control"
desc = "A controller for solar panel arrays."
icon = 'icons/obj/computer.dmi'
icon_state = "computer"
icon = 'icons/obj/modular_console.dmi'
light_color = LIGHT_COLOR_YELLOW
anchored = 1
density = 1
use_power = POWER_USE_IDLE
@@ -348,21 +348,6 @@
if(!connect_to_network()) return
set_panels(cdir)
/obj/machinery/power/solar_control/update_icon()
icon_state = initial(icon_state)
cut_overlays()
if(stat & BROKEN)
icon_state = "computer-broken"
add_overlay("broken")
return
if(stat & NOPOWER)
icon_state = "computer"
return
add_overlay("solar")
if(cdir > -1)
add_overlay(image('icons/obj/computer.dmi', "solcon-o", FLY_LAYER, angle2dir(cdir)))
return
/obj/machinery/power/solar_control/attack_hand(mob/user)
if(!..())
interact(user)
@@ -502,6 +487,10 @@
/obj/machinery/power/solar_control/power_change()
..()
update_icon()
if(stat & NOPOWER)
set_light(0)
else
set_light(2, 1.3, light_color)
/obj/machinery/power/solar_control/proc/broken()
@@ -529,6 +518,8 @@
/obj/machinery/power/solar_control/autostart/Initialize()
. = ..()
power_change()
update_icon()
addtimer(CALLBACK(src, .proc/do_solars), 1800)
/obj/machinery/power/solar_control/autostart/proc/do_solars()
@@ -537,6 +528,24 @@
connected_tracker.modify_angle(sun.angle)
set_panels(cdir)
/obj/machinery/power/solar_control/update_icon()
cut_overlays()
if(stat & NOPOWER)
set_light(0)
return
else
set_light(2, 1.3, light_color)
icon_state = initial(icon_state)
if(stat & BROKEN)
icon_state = "[initial(icon_state)]-broken"
holographic_overlay(src, src.icon, "broken")
add_overlay("red_key")
else
holographic_overlay(src, src.icon, "solar")
add_overlay("yellow_key")
//
// MISC
//
+3 -2
View File
@@ -28,9 +28,10 @@
/obj/machinery/computer/turbine_computer
name = "Gas turbine control computer"
desc = "A computer to remotely control a gas turbine"
icon = 'icons/obj/computer.dmi'
icon_screen = "enginecontrol"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
icon_screen = "command"
circuit = /obj/item/circuitboard/turbine_control
anchored = 1
density = 1
+4 -2
View File
@@ -30,8 +30,10 @@ 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_screen = "sci"
light_color = "#a97faa"
icon_screen = "rdcomp"
icon_keyboard = "purple_key"
light_color = LIGHT_COLOR_PURPLE
circuit = /obj/item/circuitboard/rdconsole
var/datum/research/files //Stores all the collected research data.
var/obj/item/disk/tech_disk/t_disk = null //Stores the technology disk.
+4 -2
View File
@@ -200,8 +200,10 @@
name = "R&D server controller"
desc = "A console use to operate a RnD server, such as locking it, wiping it, or downloading its stored research."
icon_screen = "sci"
light_color = "#a97faa"
icon_screen = "rdcomp"
icon_keyboard = "purple_key"
light_color = LIGHT_COLOR_PURPLE
circuit = /obj/item/circuitboard/rdservercontrol
var/screen = 0
var/obj/machinery/r_n_d/server/temp_server
+2 -2
View File
@@ -1,7 +1,7 @@
/obj/machinery/computer/shuttle_control
name = "shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_screen = "command"
icon_screen = "shuttle"
icon_keyboard = "cyan_key"
light_color = LIGHT_COLOR_CYAN
var/shuttle_tag // Used to coordinate data in shuttle controller.
+1 -4
View File
@@ -59,13 +59,10 @@
/obj/machinery/computer/shuttle_control/lift
name = "lift controller"
ui_template = "shuttle_control_console_lift.tmpl"
icon = 'icons/obj/computer.dmi'
icon_state = "lift"
icon_screen = null
density = FALSE
/obj/machinery/computer/shuttle_control/lift/wall
name = "lift controller"
ui_template = "shuttle_control_console_lift.tmpl"
icon_state = "lift_wall"
icon_screen = null
density = FALSE
+3 -2
View File
@@ -1,8 +1,9 @@
/obj/machinery/computer/telescience
name = "\improper Telepad Control Console"
desc = "Used to create bluespace portals using the telescience telepad."
icon_screen = "sci"
light_color = "#a97faa"
icon_screen = "teleport"
icon_keyboard = "lightblue_key"
light_color = LIGHT_COLOR_BLUE
circuit = /obj/item/circuitboard/telesci_console
var/sending = 1
var/obj/machinery/telepad/telepad = null
+42
View File
@@ -0,0 +1,42 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: Wowzewow (Wezzy)
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- imageadd: "Improves computer sprites."
- imageadd: "Improves lift controller sprites."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB