Unbreaking computers (#3779)

Made programs that can't run in current hardware to not show up in download list
 Adjusted some program computer compatibility flags
 Reworded laptop vendor buttons to be more consistent and more accurate on what you get
 Added description to tablets
This is balance and bug-fix PR, so it should bypass development.
This commit is contained in:
Karolis
2017-11-03 11:45:21 +02:00
committed by Erki
parent fc9640e27d
commit 04256797d2
13 changed files with 23 additions and 12 deletions
@@ -209,4 +209,4 @@
new/datum/computer_file/program/chatclient(),
new /datum/computer_file/program/merchant()
)
return _prg_list
return _prg_list
@@ -7,6 +7,7 @@
available_on_ntnet = 1
required_access_download = access_hop
required_access_run = access_cargo
usage_flags = PROGRAM_CONSOLE | PROGRAM_TELESCREEN
nanomodule_path = /datum/nano_module/program/civilian/cargocontrol/
/datum/nano_module/program/civilian/cargocontrol/
@@ -5,6 +5,7 @@
size = 10
requires_ntnet = 1
available_on_ntnet = 1
usage_flags = PROGRAM_LAPTOP | PROGRAM_TELESCREEN | PROGRAM_CONSOLE
nanomodule_path = /datum/nano_module/program/civilian/cargoorder/
/datum/nano_module/program/civilian/cargoorder/
@@ -6,7 +6,7 @@
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
usage_flags = PROGRAM_CONSOLE
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
requires_ntnet = 0
size = 8
color = LIGHT_COLOR_BLUE
@@ -13,7 +13,7 @@
required_access_download = access_heads
requires_ntnet = 1
size = 12
usage_flags = PROGRAM_CONSOLE
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
network_destination = "station long-range communication array"
var/datum/comm_message_listener/message_core = new
var/intercept = 0
@@ -72,12 +72,12 @@
requires_ntnet = 1
network_destination = "atmospheric control system"
requires_ntnet_feature = NTNET_SYSTEMCONTROL
usage_flags = PROGRAM_CONSOLE
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
size = 17
color = LIGHT_COLOR_CYAN
/datum/computer_file/program/rcon_console
filename = "rconconsole"
filename = "rcon"
filedesc = "RCON Remote Control"
nanomodule_path = /datum/nano_module/rcon
program_icon_state = "generic"
@@ -9,5 +9,5 @@
requires_ntnet = 1
network_destination = "crew lifesigns monitoring system"
size = 11
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
usage_flags = PROGRAM_LAPTOP | PROGRAM_TELESCREEN | PROGRAM_CONSOLE
color = LIGHT_COLOR_CYAN
@@ -11,6 +11,7 @@
nanomodule_path = /datum/nano_module/program/computer_aidiag/
var/restoring = 0
color = LIGHT_COLOR_PURPLE
usage_flags = PROGRAM_CONSOLE
/datum/computer_file/program/aidiag/proc/get_ai()
if(computer && computer.ai_slot && computer.ai_slot.check_functionality() && computer.ai_slot.enabled && computer.ai_slot.stored_card && computer.ai_slot.stored_card.carded_ai)
@@ -19,7 +19,6 @@ var/warrant_uid = 0
available_on_ntnet = 1
required_access_download = access_hos
required_access_run = access_security
usage_flags = PROGRAM_ALL
nanomodule_path = /datum/nano_module/program/digitalwarrant/
/datum/nano_module/program/digitalwarrant/
@@ -189,6 +189,7 @@
var/list/all_entries[0]
var/datum/computer_file/program/ntnetdownload/prog = program
var/list/data = list()
data["hackedavailable"] = 0
for(var/datum/computer_file/program/P in ntnet_global.available_station_software)
var/installed = 0
for(var/datum/computer_file/program/Q in program.holder.stored_files)
@@ -200,6 +201,9 @@
// Only those programs our user can run will show in the list
if(!P.can_download(user) && P.requires_access_to_download)
continue
if(!P.is_supported_by_hardware(program.computer.hardware_flag))
continue
all_entries.Add(list(list(
"filename" = P.filename,
@@ -207,7 +211,6 @@
"fileinfo" = P.extended_desc,
"size" = P.size
)))
data["hackedavailable"] = 0
if(prog.computer_emagged) // If we are running on emagged computer we have access to some "bonus" software
var/list/hacked_programs[0]