mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Ports SSnetworks killings (#22104)
* Ports SSnetworks killings * Update names.dm * Removes my debug message and fixes instances it caught
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/ai
|
||||
filename = "DEBUG"
|
||||
filedesc = "DEBUG"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
program_icon_state = "power_monitor"
|
||||
extended_desc = "This program connects to a local AI network to allow for administrative access"
|
||||
ui_header = "power_norm.gif"
|
||||
|
||||
@@ -3,7 +3,7 @@ GLOBAL_LIST_EMPTY(PDABombCodes)
|
||||
/datum/computer_file/program/bomberman
|
||||
filename = "bomberman"
|
||||
filedesc = "BomberMan"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "hostile"
|
||||
extended_desc = "A new-age version of the classic 'Detomatix' program run on legacy PDAs. Can be used to attempt detonation of any PDA on the messaging list."
|
||||
size = 5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/contract_uplink
|
||||
filename = "contractor uplink"
|
||||
filedesc = "Syndicate Contractor Uplink"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "assign"
|
||||
extended_desc = "A standard, Syndicate issued system for handling important contracts while on the field."
|
||||
size = 10
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/ntnet_dos
|
||||
filename = "ntn_dos"
|
||||
filedesc = "DoS Traffic Generator"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "hostile"
|
||||
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
|
||||
@@ -46,7 +46,7 @@
|
||||
computer.play_interact_sound()
|
||||
switch(action)
|
||||
if("PRG_target_relay")
|
||||
for(var/obj/machinery/ntnet_relay/R in SSnetworks.station_network.relays)
|
||||
for(var/obj/machinery/ntnet_relay/R as anything in SSmachines.get_machines_by_type(/obj/machinery/ntnet_relay))
|
||||
if(R.uid == text2num(params["targid"]))
|
||||
target = R
|
||||
break
|
||||
@@ -62,14 +62,14 @@
|
||||
if(target)
|
||||
executed = TRUE
|
||||
target.dos_sources.Add(src)
|
||||
if(SSnetworks.station_network.intrusion_detection_enabled)
|
||||
if(SSmodular_computers.intrusion_detection_enabled)
|
||||
var/obj/item/computer_hardware/network_card/network_card = computer.all_components[MC_NET]
|
||||
SSnetworks.station_network.add_log("IDS WARNING - Excess traffic flood targeting relay [target.uid] detected from device: [network_card.get_network_tag()]")
|
||||
SSnetworks.station_network.intrusion_detection_alarm = TRUE
|
||||
SSmodular_computers.add_log("IDS WARNING - Excess traffic flood targeting relay [target.uid] detected from device: [network_card.get_network_tag()]")
|
||||
SSmodular_computers.intrusion_detection_alarm = TRUE
|
||||
return TRUE
|
||||
|
||||
/datum/computer_file/program/ntnet_dos/ui_data(mob/user)
|
||||
if(!SSnetworks.station_network)
|
||||
if(!SSmodular_computers)
|
||||
return
|
||||
|
||||
var/list/data = get_header_data()
|
||||
@@ -84,7 +84,7 @@
|
||||
else
|
||||
data["target"] = FALSE
|
||||
data["relays"] = list()
|
||||
for(var/obj/machinery/ntnet_relay/R in SSnetworks.station_network.relays)
|
||||
for(var/obj/machinery/ntnet_relay/R as anything in SSmachines.get_machines_by_type(/obj/machinery/ntnet_relay))
|
||||
data["relays"] += list(list("id" = R.uid))
|
||||
data["focus"] = target ? target.uid : null
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ GLOBAL_LIST_EMPTY(PDAFrameCodes)
|
||||
/datum/computer_file/program/frame
|
||||
filename = "frame"
|
||||
filedesc = "F.R.A.M.E."
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "hostile"
|
||||
extended_desc = "A new-age version of the classic 'F.R.A.M.E.' program run on legacy PDAs. Can be used to silently open an uplink on any PDA on the messaging list."
|
||||
size = 5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/revelation
|
||||
filename = "revelation"
|
||||
filedesc = "Revelation"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "hostile"
|
||||
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
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
size = 6
|
||||
tgui_id = "NtosArcade"
|
||||
program_icon = "gamepad"
|
||||
category = PROGRAM_CATEGORY_GAMES
|
||||
|
||||
var/game_active = TRUE //Checks to see if a game is in progress.
|
||||
var/pause_state = FALSE //This disables buttons in order to prevent multiple actions before the opponent's actions.
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
program_icon_state = "arcade"
|
||||
extended_desc = "Nanotrasen does not permit anyone under the age of 21 to partake in gambling. Requires an NTNet connection."
|
||||
requires_ntnet = TRUE
|
||||
category = PROGRAM_CATEGORY_GAMES
|
||||
network_destination = "arcade network"
|
||||
size = 4
|
||||
tgui_id = "NtosBlackjack"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/budget_monitor
|
||||
filename = "budgetmonitor"
|
||||
filedesc = "Budget Monitor"
|
||||
category = PROGRAM_CATEGORY_CMD
|
||||
category = PROGRAM_CATEGORY_SUPPLY
|
||||
program_icon_state = "id"
|
||||
extended_desc = "This program will allow you to view the financial status of your department(s)."
|
||||
transfer_access = ACCESS_HEADS
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/datum/computer_file/program/card_mod
|
||||
filename = "cardmod"
|
||||
filedesc = "ID Card Modification"
|
||||
category = PROGRAM_CATEGORY_CMD
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "id"
|
||||
extended_desc = "Program for programming employee ID cards to access parts of the station."
|
||||
transfer_access = ACCESS_HEADS
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/crew_manifest
|
||||
filename = "crewmani"
|
||||
filedesc = "Crew Manifest"
|
||||
category = PROGRAM_CATEGORY_CMD
|
||||
category = PROGRAM_CATEGORY_SECURITY
|
||||
program_icon_state = "id"
|
||||
extended_desc = "Program for viewing and printing the current crew manifest."
|
||||
requires_ntnet = FALSE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/job_management
|
||||
filename = "job_manage"
|
||||
filedesc = "Job Manager"
|
||||
category = PROGRAM_CATEGORY_CMD
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "id"
|
||||
extended_desc = "Program for viewing and changing job slot availability."
|
||||
transfer_access = ACCESS_HEADS
|
||||
|
||||
@@ -9,7 +9,7 @@ GLOBAL_LIST_INIT(granted_synthetic_access, list())
|
||||
/datum/computer_file/program/synth_requester
|
||||
filename = "synth_req"
|
||||
filedesc = "Synthetic Manager"
|
||||
category = PROGRAM_CATEGORY_CMD
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "id"
|
||||
extended_desc = "Program for requesting synthetic assistance and granting departmental access."
|
||||
transfer_access = ACCESS_HEADS
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/alarm_monitor
|
||||
filename = "alarmmonitor"
|
||||
filedesc = "Alarm Monitor"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
ui_header = "alarm_green.gif"
|
||||
program_icon_state = "alert-green"
|
||||
extended_desc = "This program provides visual interface for station's alarm system."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/atmosscan
|
||||
filename = "atmosscan"
|
||||
filedesc = "Atmospheric Scanner"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
program_icon_state = "air"
|
||||
extended_desc = "A small built-in sensor reads out the atmospheric conditions around the device."
|
||||
network_destination = "atmos scan"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/datum/computer_file/program/energy_harvester_control
|
||||
filename = "energy_harvester_control"
|
||||
filedesc = "Energy Harvester Control"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
ui_header = "energy_harvester_null.gif"
|
||||
program_icon_state = "energy_harvester_null"
|
||||
extended_desc = "This program connects remotely to the onboard energy harvester, allowing a chief engineer to control the input rates and check for cashflow."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/ntnetmonitor
|
||||
filename = "ntmonitor"
|
||||
filedesc = "NTNet Diagnostics and Monitoring"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
program_icon_state = "comm_monitor"
|
||||
extended_desc = "This program monitors stationwide NTNet network, provides access to logging systems, and allows for configuration changes."
|
||||
size = 12
|
||||
@@ -18,60 +18,41 @@
|
||||
computer.play_interact_sound()
|
||||
switch(action)
|
||||
if("resetIDS")
|
||||
if(SSnetworks.station_network)
|
||||
SSnetworks.station_network.resetIDS()
|
||||
SSmodular_computers.intrusion_detection_alarm = FALSE
|
||||
return TRUE
|
||||
if("toggleIDS")
|
||||
if(SSnetworks.station_network)
|
||||
SSnetworks.station_network.toggleIDS()
|
||||
return TRUE
|
||||
if("toggleWireless")
|
||||
if(!SSnetworks.station_network)
|
||||
return
|
||||
|
||||
// NTNet is disabled. Enabling can be done without user prompt
|
||||
if(SSnetworks.station_network.setting_disabled)
|
||||
SSnetworks.station_network.setting_disabled = FALSE
|
||||
return TRUE
|
||||
|
||||
SSnetworks.station_network.setting_disabled = TRUE
|
||||
SSmodular_computers.intrusion_detection_enabled = !SSmodular_computers.intrusion_detection_enabled
|
||||
return TRUE
|
||||
if("purgelogs")
|
||||
if(SSnetworks.station_network)
|
||||
SSnetworks.station_network.purge_logs()
|
||||
return TRUE
|
||||
if("updatemaxlogs")
|
||||
var/logcount = params["new_number"]
|
||||
if(SSnetworks.station_network)
|
||||
SSnetworks.station_network.update_max_log_count(logcount)
|
||||
SSmodular_computers.purge_logs()
|
||||
return TRUE
|
||||
if("toggle_function")
|
||||
if(!SSnetworks.station_network)
|
||||
return
|
||||
SSnetworks.station_network.toggle_function(text2num(params["id"]))
|
||||
SSmodular_computers.toggle_function(text2num(params["id"]))
|
||||
return TRUE
|
||||
|
||||
/datum/computer_file/program/ntnetmonitor/ui_data(mob/user)
|
||||
if(!SSnetworks.station_network)
|
||||
if(!SSmodular_computers)
|
||||
return
|
||||
var/list/data = get_header_data()
|
||||
|
||||
data["ntnetstatus"] = SSnetworks.station_network.check_function()
|
||||
data["ntnetrelays"] = SSnetworks.station_network.relays.len
|
||||
data["idsstatus"] = SSnetworks.station_network.intrusion_detection_enabled
|
||||
data["idsalarm"] = SSnetworks.station_network.intrusion_detection_alarm
|
||||
data["ntnetstatus"] = SSmodular_computers.check_function()
|
||||
data["idsstatus"] = SSmodular_computers.intrusion_detection_enabled
|
||||
data["idsalarm"] = SSmodular_computers.intrusion_detection_alarm
|
||||
|
||||
data["config_softwaredownload"] = SSnetworks.station_network.setting_softwaredownload
|
||||
data["config_peertopeer"] = SSnetworks.station_network.setting_peertopeer
|
||||
data["config_communication"] = SSnetworks.station_network.setting_communication
|
||||
data["config_systemcontrol"] = SSnetworks.station_network.setting_systemcontrol
|
||||
data["ntnetrelays"] = list()
|
||||
for(var/obj/machinery/ntnet_relay/relays as anything in SSmachines.get_machines_by_type(/obj/machinery/ntnet_relay))
|
||||
var/list/relay_data = list()
|
||||
relay_data["is_operational"] = relays.is_operational()
|
||||
relay_data["name"] = relays.name
|
||||
relay_data["ref"] = REF(relays)
|
||||
|
||||
data["ntnetrelays"] += list(relay_data)
|
||||
|
||||
data["config_softwaredownload"] = SSmodular_computers.setting_softwaredownload
|
||||
data["config_communication"] = SSmodular_computers.setting_communication
|
||||
|
||||
data["ntnetlogs"] = list()
|
||||
data["minlogs"] = MIN_NTNET_LOGS
|
||||
data["maxlogs"] = MAX_NTNET_LOGS
|
||||
|
||||
for(var/i in SSnetworks.station_network.logs)
|
||||
for(var/i in SSmodular_computers.modpc_logs)
|
||||
data["ntnetlogs"] += list(list("entry" = i))
|
||||
data["ntnetmaxlogs"] = SSnetworks.station_network.setting_maxlogcount
|
||||
|
||||
return data
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/datum/computer_file/program/power_monitor
|
||||
filename = "powermonitor"
|
||||
filedesc = "Power Monitor"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
program_icon_state = "power_monitor"
|
||||
extended_desc = "This program connects to sensors around the station to provide information about electrical systems."
|
||||
ui_header = "power_norm.gif"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/datum/computer_file/program/nuclear_monitor
|
||||
filename = "agcnrmonitor"
|
||||
filedesc = "Nuclear Reactor Monitoring"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
ui_header = "smmon_0.gif"
|
||||
program_icon_state = "smmon_0"
|
||||
extended_desc = "This program connects to specially calibrated sensors to provide information on the status of nuclear reactors."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/supermatter_monitor
|
||||
filename = "smmonitor"
|
||||
filedesc = "Supermatter Monitoring"
|
||||
category = PROGRAM_CATEGORY_ENGI
|
||||
category = PROGRAM_CATEGORY_ENGINEERING
|
||||
ui_header = "smmon_0.gif"
|
||||
program_icon_state = "smmon_0"
|
||||
extended_desc = "This program connects to specially calibrated supermatter sensors to provide information on the status of supermatter-based engines."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/chemscan
|
||||
filename = "chemscan"
|
||||
filedesc = "Chemical Scanner"
|
||||
category = PROGRAM_CATEGORY_MED
|
||||
category = PROGRAM_CATEGORY_DEVICE
|
||||
program_icon_state = "air"
|
||||
extended_desc = "A small built-in sensor reads out the chemicals in an item."
|
||||
network_destination = "chem scan"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
filename = "crewmon"
|
||||
filedesc = "Crew Suit Sensor Monitor"
|
||||
extended_desc = "This program allows for viewing of crew members vitals via their suit sensors."
|
||||
category = PROGRAM_CATEGORY_MED
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
ui_header = "health_green.gif"
|
||||
program_icon_state = "crew"
|
||||
requires_ntnet = FALSE
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
program_icon_state = "arcade"
|
||||
extended_desc = "A port of the classic game 'Minesweeper', redesigned to run on tablets."
|
||||
requires_ntnet = FALSE
|
||||
category = PROGRAM_CATEGORY_GAMES
|
||||
network_destination = "arcade network"
|
||||
size = 6
|
||||
tgui_id = "NtosMinesweeper"
|
||||
|
||||
@@ -21,25 +21,18 @@
|
||||
var/downloaderror = ""
|
||||
var/obj/item/modular_computer/my_computer = null
|
||||
var/emagged = FALSE
|
||||
var/list/main_repo
|
||||
var/list/antag_repo
|
||||
|
||||
var/list/show_categories = list(
|
||||
PROGRAM_CATEGORY_CMD,
|
||||
PROGRAM_CATEGORY_SEC,
|
||||
PROGRAM_CATEGORY_ENGI,
|
||||
PROGRAM_CATEGORY_SCI,
|
||||
PROGRAM_CATEGORY_MED,
|
||||
PROGRAM_CATEGORY_SUPL,
|
||||
PROGRAM_CATEGORY_MISC,
|
||||
///The list of categories to display in the UI, in order of which they appear.
|
||||
var/static/list/show_categories = list(
|
||||
PROGRAM_CATEGORY_DEVICE,
|
||||
PROGRAM_CATEGORY_EQUIPMENT,
|
||||
PROGRAM_CATEGORY_GAMES,
|
||||
PROGRAM_CATEGORY_SECURITY,
|
||||
PROGRAM_CATEGORY_ENGINEERING,
|
||||
PROGRAM_CATEGORY_SUPPLY,
|
||||
PROGRAM_CATEGORY_SCIENCE,
|
||||
)
|
||||
|
||||
|
||||
/datum/computer_file/program/ntnetdownload/run_program()
|
||||
. = ..()
|
||||
main_repo = SSnetworks.station_network.available_station_software
|
||||
antag_repo = SSnetworks.station_network.available_antag_software
|
||||
|
||||
/datum/computer_file/program/ntnetdownload/run_emag()
|
||||
if(emagged)
|
||||
return FALSE
|
||||
@@ -49,7 +42,7 @@
|
||||
if(downloaded_file)
|
||||
return FALSE
|
||||
|
||||
var/datum/computer_file/program/PRG = SSnetworks.station_network.find_ntnet_file_by_name(filename)
|
||||
var/datum/computer_file/program/PRG = SSmodular_computers.find_ntnet_file_by_name(filename)
|
||||
|
||||
if(!PRG || !istype(PRG))
|
||||
return FALSE
|
||||
@@ -65,10 +58,10 @@
|
||||
|
||||
ui_header = "downloader_running.gif"
|
||||
|
||||
if(PRG in main_repo)
|
||||
if(PRG in SSmodular_computers.available_station_software)
|
||||
generate_network_log("Began downloading file [PRG.filename].[PRG.filetype] from NTNet Software Repository.")
|
||||
hacked_download = FALSE
|
||||
else if(PRG in antag_repo)
|
||||
else if(PRG in SSmodular_computers.available_antag_software)
|
||||
generate_network_log("Began downloading file **ENCRYPTED**.[PRG.filetype] from unspecified server.")
|
||||
hacked_download = TRUE
|
||||
else
|
||||
@@ -123,7 +116,7 @@
|
||||
if(ntnet_status != 3) // Ethernet unaffected by distance
|
||||
var/dist = 100
|
||||
// Loop through every ntnet relay, find the closest one and use that
|
||||
for(var/obj/machinery/ntnet_relay/n in SSnetworks.station_network.relays)
|
||||
for(var/obj/machinery/ntnet_relay/n as anything in SSmachines.get_machines_by_type(/obj/machinery/ntnet_relay))
|
||||
var/cur_dist = get_dist_euclidian(n, computer)
|
||||
if(n.is_operational() && cur_dist <= dist)
|
||||
dist = cur_dist
|
||||
@@ -151,15 +144,14 @@
|
||||
return FALSE
|
||||
|
||||
/datum/computer_file/program/ntnetdownload/ui_data(mob/user)
|
||||
var/list/data = get_header_data()
|
||||
my_computer = computer
|
||||
|
||||
if(!istype(my_computer))
|
||||
return
|
||||
return data
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD]
|
||||
var/list/access = card_slot?.GetAccess()
|
||||
|
||||
var/list/data = get_header_data()
|
||||
|
||||
data["downloading"] = !!downloaded_file
|
||||
data["error"] = downloaderror || FALSE
|
||||
|
||||
@@ -176,34 +168,31 @@
|
||||
data["disk_used"] = hard_drive.used_capacity
|
||||
data["emagged"] = emagged
|
||||
|
||||
var/list/repo = antag_repo | main_repo
|
||||
var/list/program_categories = list()
|
||||
var/list/repo = SSmodular_computers.available_antag_software | SSmodular_computers.available_station_software
|
||||
|
||||
for(var/I in repo)
|
||||
var/datum/computer_file/program/P = I
|
||||
if(!(P.category in program_categories))
|
||||
program_categories.Add(P.category)
|
||||
data["programs"] = list()
|
||||
for(var/datum/computer_file/program/programs as anything in repo)
|
||||
data["programs"] += list(list(
|
||||
"icon" = P.program_icon,
|
||||
"filename" = P.filename,
|
||||
"filedesc" = P.filedesc,
|
||||
"fileinfo" = P.extended_desc,
|
||||
"category" = P.category,
|
||||
"installed" = !!hard_drive.find_file_by_name(P.filename),
|
||||
"compatible" = check_compatibility(P),
|
||||
"size" = P.size,
|
||||
"access" = emagged ? TRUE : P.can_run(user,transfer = 1, access = access),
|
||||
"verifiedsource" = P.available_on_ntnet,
|
||||
"icon" = programs.program_icon,
|
||||
"filename" = programs.filename,
|
||||
"filedesc" = programs.filedesc,
|
||||
"fileinfo" = programs.extended_desc,
|
||||
"category" = programs.category,
|
||||
"installed" = !!hard_drive.find_file_by_name(programs.filename),
|
||||
"compatible" = check_compatibility(programs),
|
||||
"size" = programs.size,
|
||||
"access" = programs.can_run(user, transfer = TRUE, access = access),
|
||||
"verifiedsource" = programs.available_on_ntnet,
|
||||
))
|
||||
|
||||
data["categories"] = show_categories & program_categories
|
||||
data["categories"] = show_categories
|
||||
|
||||
return data
|
||||
|
||||
/datum/computer_file/program/ntnetdownload/proc/check_compatibility(datum/computer_file/program/P)
|
||||
var/hardflag = computer.hardware_flag
|
||||
|
||||
if(P && P.is_supported_by_hardware(hardflag,0))
|
||||
if(P && P.is_supported_by_hardware(hardflag, 0))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -230,8 +219,3 @@
|
||||
ui_header = "downloader_finished.gif"
|
||||
tgui_id = "NtosNetDownloader"
|
||||
emagged = TRUE
|
||||
|
||||
/datum/computer_file/program/ntnetdownload/syndicate/run_program()
|
||||
. = ..()
|
||||
main_repo = SSnetworks.station_network.available_antag_software
|
||||
antag_repo = null
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/chatclient
|
||||
filename = "ntnrc_client"
|
||||
filedesc = "Chat Client"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_DEVICE
|
||||
program_icon_state = "command"
|
||||
extended_desc = "This program allows communication over NTNRC network"
|
||||
size = 8
|
||||
@@ -27,7 +27,7 @@
|
||||
if(..())
|
||||
return
|
||||
|
||||
var/datum/ntnet_conversation/channel = SSnetworks.station_network.get_chat_channel_by_id(active_channel)
|
||||
var/datum/ntnet_conversation/channel = SSmodular_computers.get_chat_channel_by_id(active_channel)
|
||||
var/authed = FALSE
|
||||
computer.play_interact_sound()
|
||||
if(channel && ((channel.operator == src) || netadmin_mode))
|
||||
@@ -69,7 +69,7 @@
|
||||
return TRUE
|
||||
|
||||
active_channel = new_target
|
||||
channel = SSnetworks.station_network.get_chat_channel_by_id(new_target)
|
||||
channel = SSmodular_computers.get_chat_channel_by_id(new_target)
|
||||
if(!(src in channel.clients) && !channel.password)
|
||||
channel.add_client(src)
|
||||
return TRUE
|
||||
@@ -107,7 +107,7 @@
|
||||
return TRUE
|
||||
var/mob/living/user = usr
|
||||
if(can_run(user, TRUE, ACCESS_NETWORK))
|
||||
for(var/C in SSnetworks.station_network.chat_channels)
|
||||
for(var/C in SSmodular_computers.chat_channels)
|
||||
var/datum/ntnet_conversation/chan = C
|
||||
chan.remove_client(src)
|
||||
netadmin_mode = TRUE
|
||||
@@ -127,7 +127,7 @@
|
||||
log_say(log_message)
|
||||
return
|
||||
//yogs end
|
||||
for(var/C in SSnetworks.station_network.chat_channels)
|
||||
for(var/C in SSmodular_computers.chat_channels)
|
||||
var/datum/ntnet_conversation/chan = C
|
||||
if(src in chan.clients)
|
||||
chan.add_status_message("[username] is now known as [newname].")
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
/datum/computer_file/program/chatclient/process_tick()
|
||||
. = ..()
|
||||
var/datum/ntnet_conversation/channel = SSnetworks.station_network.get_chat_channel_by_id(active_channel)
|
||||
var/datum/ntnet_conversation/channel = SSmodular_computers.get_chat_channel_by_id(active_channel)
|
||||
if(program_state != PROGRAM_STATE_KILLED)
|
||||
ui_header = "ntnrc_idle.gif"
|
||||
if(channel)
|
||||
@@ -221,7 +221,7 @@
|
||||
ui_header = "ntnrc_idle.gif"
|
||||
|
||||
/datum/computer_file/program/chatclient/kill_program(forced = FALSE)
|
||||
for(var/C in SSnetworks.station_network.chat_channels)
|
||||
for(var/C in SSmodular_computers.chat_channels)
|
||||
var/datum/ntnet_conversation/channel = C
|
||||
channel.remove_client(src)
|
||||
..()
|
||||
@@ -232,7 +232,7 @@
|
||||
return data
|
||||
|
||||
/datum/computer_file/program/chatclient/ui_data(mob/user)
|
||||
if(!SSnetworks.station_network || !SSnetworks.station_network.chat_channels)
|
||||
if(!SSmodular_computers || !SSmodular_computers.chat_channels)
|
||||
return list()
|
||||
|
||||
var/list/data = list()
|
||||
@@ -240,7 +240,7 @@
|
||||
data = get_header_data()
|
||||
|
||||
var/list/all_channels = list()
|
||||
for(var/C in SSnetworks.station_network.chat_channels)
|
||||
for(var/C in SSmodular_computers.chat_channels)
|
||||
var/datum/ntnet_conversation/conv = C
|
||||
if(conv && conv.title)
|
||||
all_channels.Add(list(list(
|
||||
@@ -252,7 +252,7 @@
|
||||
data["active_channel"] = active_channel
|
||||
data["username"] = username
|
||||
data["adminmode"] = netadmin_mode
|
||||
var/datum/ntnet_conversation/channel = SSnetworks.station_network.get_chat_channel_by_id(active_channel)
|
||||
var/datum/ntnet_conversation/channel = SSmodular_computers.get_chat_channel_by_id(active_channel)
|
||||
if(channel)
|
||||
data["title"] = channel.title
|
||||
var/authed = FALSE
|
||||
|
||||
@@ -7,7 +7,7 @@ GLOBAL_LIST_EMPTY(NTPDAMessages)
|
||||
/datum/computer_file/program/pdamessager
|
||||
filename = "pda_client"
|
||||
filedesc = "PDA Messaging"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_DEVICE
|
||||
program_icon_state = "command"
|
||||
extended_desc = "This program allows for direct messaging with other modular computers"
|
||||
size = 3
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/datum/computer_file/program/paperwork_printer
|
||||
filename = "ppwrkprnt"
|
||||
filedesc = "Paperwork Printing"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "id"
|
||||
extended_desc = "Program for dispensing paperwork."
|
||||
requires_ntnet = FALSE
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
extended_desc = "This program connects to a Spinward Sector community art site for viewing and printing art."
|
||||
transfer_access = ACCESS_LIBRARY
|
||||
usage_flags = PROGRAM_CONSOLE | PROGRAM_TELESCREEN
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
requires_ntnet = TRUE
|
||||
size = 9
|
||||
tgui_id = "NtosPortraitPrinter"
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
requires_ntnet = FALSE //Tracking should not require NTNET, as sensors are not on the network at all, and the program is downloaded locally.
|
||||
transfer_access = ACCESS_MEDICAL
|
||||
available_on_ntnet = TRUE
|
||||
category = PROGRAM_CATEGORY_MED
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon = "street-view"
|
||||
|
||||
/datum/computer_file/program/radar/lifeline/find_atom()
|
||||
@@ -275,7 +275,7 @@
|
||||
/datum/computer_file/program/radar/fission360
|
||||
filename = "Fission360"
|
||||
filedesc = "Fission360"
|
||||
category = PROGRAM_CATEGORY_MISC
|
||||
category = PROGRAM_CATEGORY_EQUIPMENT
|
||||
program_icon_state = "radarsyndicate"
|
||||
extended_desc = "This program allows for tracking of nuclear authorization disks and warheads."
|
||||
requires_ntnet = FALSE
|
||||
@@ -321,7 +321,7 @@
|
||||
/datum/computer_file/program/radar/implant
|
||||
filename = "implanttracker"
|
||||
filedesc = "Implant Tracker"
|
||||
category = PROGRAM_CATEGORY_SEC
|
||||
category = PROGRAM_CATEGORY_SECURITY
|
||||
extended_desc = "This program allows for tracking those implanted with tracking implants."
|
||||
requires_ntnet = FALSE //Same as Lifeline.
|
||||
transfer_access = ACCESS_BRIG
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
extended_desc = "A built-in app for cyborg self-management and diagnostics."
|
||||
ui_header = "robotact.gif" //DEBUG -- new icon before PR
|
||||
program_icon_state = "command"
|
||||
category = PROGRAM_CATEGORY_SCIENCE
|
||||
requires_ntnet = FALSE
|
||||
transfer_access = null
|
||||
available_on_ntnet = FALSE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/aidiag
|
||||
filename = "aidiag"
|
||||
filedesc = "AI Integrity Restorer"
|
||||
category = PROGRAM_CATEGORY_SCI
|
||||
category = PROGRAM_CATEGORY_SCIENCE
|
||||
program_icon_state = "generic"
|
||||
extended_desc = "This program is capable of reconstructing damaged AI systems. Requires direct AI connection via intellicard slot."
|
||||
size = 12
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/borg_monitor
|
||||
filename = "cyborgmonitor"
|
||||
filedesc = "Cyborg Remote Monitoring"
|
||||
category = PROGRAM_CATEGORY_SCI
|
||||
category = PROGRAM_CATEGORY_SCIENCE
|
||||
ui_header = "borg_mon.gif"
|
||||
program_icon_state = "generic"
|
||||
extended_desc = "This program allows for remote monitoring of station cyborgs."
|
||||
@@ -166,7 +166,7 @@
|
||||
/datum/computer_file/program/borg_monitor/syndicate
|
||||
filename = "scyborgmonitor"
|
||||
filedesc = "Mission-Specific Cyborg Remote Monitoring"
|
||||
category = PROGRAM_CATEGORY_SCI
|
||||
category = PROGRAM_CATEGORY_SCIENCE
|
||||
ui_header = "borg_mon.gif"
|
||||
program_icon_state = "generic"
|
||||
extended_desc = "This program allows for remote monitoring of mission-assigned cyborgs."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/datum/computer_file/program/robocontrol
|
||||
filename = "robocontrol"
|
||||
filedesc = "Bot Remote Controller"
|
||||
category = PROGRAM_CATEGORY_SCI
|
||||
category = PROGRAM_CATEGORY_SCIENCE
|
||||
program_icon_state = "robot"
|
||||
extended_desc = "A remote controller used for giving basic commands to non-sentient robots."
|
||||
requires_ntnet = TRUE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/datum/computer_file/program/secureye
|
||||
filename = "secureye"
|
||||
filedesc = "SecurEye"
|
||||
category = PROGRAM_CATEGORY_SEC
|
||||
category = PROGRAM_CATEGORY_SECURITY
|
||||
ui_header = "borg_mon.gif"
|
||||
program_icon_state = "generic"
|
||||
extended_desc = "This program allows access to standard security camera networks."
|
||||
@@ -186,7 +186,7 @@
|
||||
/datum/computer_file/program/secureye/mining
|
||||
filename = "overwatch"
|
||||
filedesc = "OverWatch"
|
||||
category = PROGRAM_CATEGORY_SUPL
|
||||
category = PROGRAM_CATEGORY_SUPPLY
|
||||
extended_desc = "This program allows access to the mining base camera network."
|
||||
transfer_access = ACCESS_MINING
|
||||
size = 5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/bounty_board
|
||||
filename = "bountyboard"
|
||||
filedesc = "Bounty Board Request Network"
|
||||
category = PROGRAM_CATEGORY_SUPL
|
||||
category = PROGRAM_CATEGORY_SUPPLY
|
||||
program_icon_state = "bountyboard"
|
||||
extended_desc = "A multi-platform network for placing requests across the station, with payment across the network being possible."
|
||||
requires_ntnet = TRUE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/budgetorders
|
||||
filename = "orderapp"
|
||||
filedesc = "NT IRN"
|
||||
category = PROGRAM_CATEGORY_SUPL
|
||||
category = PROGRAM_CATEGORY_SUPPLY
|
||||
program_icon_state = "bountyboard"
|
||||
extended_desc = "Nanotrasen Internal Requisition Network interface for supply purchasing using a department budget account."
|
||||
requires_ntnet = TRUE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/computer_file/program/cargobounty
|
||||
filename = "bounty"
|
||||
filedesc = "Nanotrasen Bounty Hunter"
|
||||
category = PROGRAM_CATEGORY_SUPL
|
||||
category = PROGRAM_CATEGORY_SUPPLY
|
||||
program_icon_state = "bountyboard"
|
||||
extended_desc = "A basic interface for supply personnel to check and claim bounties."
|
||||
requires_ntnet = TRUE
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
size = 2
|
||||
available_on_ntnet = TRUE
|
||||
requires_ntnet = FALSE
|
||||
category = PROGRAM_CATEGORY_DEVICE
|
||||
tgui_id = "NtosThemeConfigure"
|
||||
program_icon="paint-roller"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user