Ported some modular computer stuff from baystation

This commit is contained in:
ItsSelis
2022-06-30 20:46:25 +02:00
parent 7da0085b4c
commit 7d2bfaa7f8
41 changed files with 458 additions and 103 deletions
@@ -7,8 +7,8 @@
program_menu_icon = "zoomin"
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 system administrator may notice this."
size = 73 // Very large, a price for bypassing ID checks completely.
available_on_ntnet = 0
available_on_syndinet = 1
available_on_ntnet = FALSE
available_on_syndinet = TRUE
/datum/computer_file/program/camera_monitor/hacked/process_tick()
..()
@@ -7,5 +7,6 @@
program_menu_icon = "key"
extended_desc = "Program for programming crew ID cards."
required_access = access_change_ids
requires_ntnet = 0
requires_ntnet = FALSE
size = 8
category = PROG_COMMAND
@@ -12,10 +12,11 @@
tguimodule_path = /datum/tgui_module/communications/ntos
extended_desc = "Used to command and control. Can relay long-range communications. This program can not be run on tablet computers."
required_access = access_heads
requires_ntnet = 1
requires_ntnet = TRUE
size = 12
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
network_destination = "long-range communication array"
category = PROG_COMMAND
var/datum/comm_message_listener/message_core = new
/datum/computer_file/program/comm/clone()
@@ -8,9 +8,10 @@
program_menu_icon = "alert"
extended_desc = "This program provides visual interface for the engineering alarm system."
required_access = access_engine
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "alarm monitoring network"
size = 5
category = PROG_MONITOR
var/has_alert = 0
/datum/computer_file/program/alarm_monitor/process_tick()
@@ -7,8 +7,9 @@
program_menu_icon = "shuffle"
extended_desc = "This program allows remote control of air alarms. This program can not be run on tablet computers."
required_access = access_atmospherics
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "atmospheric control system"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
usage_flags = PROGRAM_LAPTOP | PROGRAM_CONSOLE
category = PROG_ENG
size = 17
@@ -8,9 +8,10 @@
extended_desc = "This program connects to sensors to provide information about electrical systems"
ui_header = "power_norm.gif"
required_access = access_engine
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "power monitoring system"
size = 9
category = PROG_ENG
var/has_alert = 0
/datum/computer_file/program/power_monitor/process_tick()
@@ -7,8 +7,9 @@
program_menu_icon = "power"
extended_desc = "This program allows remote control of power distribution systems. This program can not be run on tablet computers."
required_access = access_engine
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "RCON remote control system"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
usage_flags = PROGRAM_LAPTOP | PROGRAM_CONSOLE
size = 19
category = PROG_ENG
@@ -7,7 +7,8 @@
program_menu_icon = "wrench"
extended_desc = "This program allows for remote monitoring and control of emergency shutoff valves."
required_access = access_engine
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "shutoff valve control computer"
size = 5
category = PROG_ENG
var/has_alert = 0
@@ -8,9 +8,10 @@
extended_desc = "This program connects to specially calibrated supermatter sensors to provide information on the status of supermatter-based engines."
ui_header = "smmon_0.gif"
required_access = access_engine
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "supermatter monitoring system"
size = 5
category = PROG_ENG
var/last_status = 0
/datum/computer_file/program/supermatter_monitor/process_tick()
@@ -40,6 +40,7 @@
size = 12
available_on_ntnet = 1
requires_ntnet = 1
category = PROG_MONITOR
// ERT Variant of the program
/datum/computer_file/program/camera_monitor/ert
@@ -12,6 +12,8 @@
unsendable = 1
undeletable = 1
size = 4
available_on_ntnet = 0
requires_ntnet = 0
available_on_ntnet = FALSE
requires_ntnet = FALSE
tguimodule_path = /datum/tgui_module/computer_configurator
usage_flags = PROGRAM_ALL
category = PROG_UTIL
@@ -6,10 +6,12 @@
program_key_state = "generic_key"
program_menu_icon = "mail-closed"
size = 7
requires_ntnet = 1
available_on_ntnet = 1
requires_ntnet = TRUE
available_on_ntnet = TRUE
var/stored_login = ""
var/stored_password = ""
usage_flags = PROGRAM_ALL
category = PROG_OFFICE
tguimodule_path = /datum/tgui_module/email_client
@@ -13,6 +13,8 @@
var/open_file
var/error
usage_flags = PROGRAM_ALL
category = PROG_UTIL
/datum/computer_file/program/filemanager/tgui_act(action, list/params, datum/tgui/ui)
if(..())
@@ -26,6 +26,8 @@
///Determines which boss image to use on the UI.
var/boss_id = 1
usage_flags = PROGRAM_ALL
// This is the primary game loop, which handles the logic of being defeated or winning.
/datum/computer_file/program/game/proc/game_check(mob/user)
sleep(5)
@@ -8,7 +8,7 @@
size = 4
requires_ntnet = TRUE
available_on_ntnet = TRUE
usage_flags = PROGRAM_ALL
tgui_id = "NtosNewsBrowser"
var/datum/computer_file/data/news_article/loaded_article
@@ -118,4 +118,3 @@
if("PRG_toggle_archived")
. = TRUE
show_archived = !show_archived
@@ -16,12 +16,19 @@
var/datum/computer_file/program/downloaded_file = null
var/hacked_download = 0
var/download_completion = 0 //GQ of downloaded data.
///GQ of downloaded data.
var/download_completion = 0
var/download_netspeed = 0
var/downloaderror = ""
var/obj/item/modular_computer/my_computer = null
var/list/downloads_queue[0]
var/file_info
var/server
usage_flags = PROGRAM_ALL
category = PROG_UTIL
var/obj/item/modular_computer/my_computer = null
/datum/computer_file/program/ntnetdownload/kill_program()
..()
abort_file_download()
@@ -12,12 +12,16 @@
ui_header = "ntnrc_idle.gif"
available_on_ntnet = 1
tgui_id = "NtosNetChat"
var/last_message // Used to generate the toolbar icon
/// Used to generate the toolbar icon
var/last_message
var/username
var/active_channel
var/list/channel_history = list()
var/operator_mode = FALSE // Channel operator mode
var/netadmin_mode = FALSE // Administrator mode (invisible to other users + bypasses passwords)
/// Channel operator mode
var/operator_mode = FALSE
/// Administrator mode (invisible to other users + bypasses passwords)
var/netadmin_mode = FALSE
usage_flags = PROGRAM_ALL
/datum/computer_file/program/chatclient/New()
username = "DefaultUser[rand(100, 999)]"
@@ -169,7 +173,7 @@
var/list/data = list()
data["can_admin"] = can_run(user, FALSE, access_network)
return data
/datum/computer_file/program/chatclient/tgui_data(mob/user)
if(!ntnet_global || !ntnet_global.chat_channels)
return list()
@@ -223,4 +227,4 @@
data["authed"] = FALSE
data["messages"] = list()
return data
return data
@@ -8,11 +8,12 @@ var/global/nttransfer_uid = 0
program_key_state = "generic_key"
program_menu_icon = "transferthick-e-w"
size = 7
requires_ntnet = 1
requires_ntnet = TRUE
requires_ntnet_feature = NTNET_PEERTOPEER
network_destination = "other device via P2P tunnel"
available_on_ntnet = 1
available_on_ntnet = TRUE
tgui_id = "NtosNetTransfer"
category = PROG_UTIL
var/error = "" // Error screen
var/server_password = "" // Optional password to download the file.
@@ -23,7 +24,7 @@ var/global/nttransfer_uid = 0
var/download_completion = 0 // Download progress in GQ
var/actual_netspeed = 0 // Displayed in the UI, this is the actual transfer speed.
var/unique_token // UID of this program
var/upload_menu = 0 // Whether we show the program list and upload menu
var/upload_menu = FALSE // Whether we show the program list and upload menu
/datum/computer_file/program/nttransfer/New()
unique_token = nttransfer_uid
@@ -86,14 +87,14 @@ var/global/nttransfer_uid = 0
data["download_progress"] = download_completion
data["download_netspeed"] = actual_netspeed
data["download_name"] = "[downloaded_file.filename].[downloaded_file.filetype]"
data["uploading"] = !!provided_file
if(provided_file)
data["upload_uid"] = unique_token
data["upload_clients"] = connected_clients.len
data["upload_haspassword"] = server_password ? 1 : 0
data["upload_filename"] = "[provided_file.filename].[provided_file.filetype]"
data["upload_filelist"] = list()
if(upload_menu)
var/list/all_files = list()
@@ -104,7 +105,7 @@ var/global/nttransfer_uid = 0
"size" = F.size
)))
data["upload_filelist"] = all_files
data["servers"] = list()
if(!(downloaded_file || provided_file || upload_menu))
var/list/all_servers = list()
@@ -9,12 +9,15 @@
available_on_ntnet = TRUE
tgui_id = "NtosWordProcessor"
var/browsing
var/browsing = FALSE
var/open_file
var/loaded_data
var/error
var/is_edited
usage_flags = PROGRAM_ALL
category = PROG_OFFICE
/datum/computer_file/program/wordprocessor/proc/get_file(var/filename)
var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive
if(!HDD)
@@ -7,6 +7,7 @@
program_menu_icon = "heart"
extended_desc = "This program connects to life signs monitoring system to provide basic information on crew health."
required_access = access_medical
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "crew lifesigns monitoring system"
size = 11
category = PROG_MONITOR
@@ -6,10 +6,11 @@
program_key_state = "generic_key"
program_menu_icon = "mail-open"
size = 12
requires_ntnet = 1
available_on_ntnet = 1
requires_ntnet = TRUE
available_on_ntnet = TRUE
tgui_id = "NtosEmailAdministration"
required_access = access_network
category = PROG_ADMIN
var/datum/computer_file/data/email_account/current_account = null
var/datum/computer_file/data/email_message/current_message = null
@@ -10,6 +10,7 @@
required_access = access_network
available_on_ntnet = TRUE
tgui_id = "NtosNetMonitor"
category = PROG_ADMIN
/datum/computer_file/program/ntnetmonitor/tgui_data(mob/user)
if(!ntnet_global)
@@ -90,4 +91,4 @@
var/nid = tgui_input_number(usr,"Enter NID of device which you want to unblock from the network:", "Enter NID")
if(nid && tgui_status(usr, state) == STATUS_INTERACTIVE)
ntnet_global.banned_nids -= nid
return TRUE
return TRUE
@@ -17,11 +17,12 @@ var/warrant_uid = 0
program_icon_state = "warrant"
program_key_state = "security_key"
program_menu_icon = "star"
requires_ntnet = 1
available_on_ntnet = 1
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access = access_security
usage_flags = PROGRAM_ALL
tgui_id = "NtosDigitalWarrant"
category = PROG_SEC
var/datum/data/record/warrant/activewarrant
@@ -7,6 +7,6 @@
program_menu_icon = "pin-s"
extended_desc = "Displays a ship's location in the sector."
required_access = null
requires_ntnet = 1
requires_ntnet = TRUE
network_destination = "ship position sensors"
size = 4