diff --git a/code/modules/modular_computers/computers/subtypes/dev_tablet.dm b/code/modules/modular_computers/computers/subtypes/dev_tablet.dm index 6c7789a71b0..d2b8839a3bf 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_tablet.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_tablet.dm @@ -1,5 +1,6 @@ /obj/item/modular_computer/tablet name = "tablet computer" + desc = "A portable device for your needs on the go." icon = 'icons/obj/modular_tablet.dmi' icon_state = "tablet" icon_state_unpowered = "tablet" diff --git a/code/modules/modular_computers/file_system/programs/app_presets.dm b/code/modules/modular_computers/file_system/programs/app_presets.dm index d74f990668c..f772035c93d 100644 --- a/code/modules/modular_computers/file_system/programs/app_presets.dm +++ b/code/modules/modular_computers/file_system/programs/app_presets.dm @@ -209,4 +209,4 @@ new/datum/computer_file/program/chatclient(), new /datum/computer_file/program/merchant() ) - return _prg_list + return _prg_list \ No newline at end of file diff --git a/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm b/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm index 8972e08674f..f4a91a58cc5 100644 --- a/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm +++ b/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm @@ -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/ diff --git a/code/modules/modular_computers/file_system/programs/civilian/cargo_order.dm b/code/modules/modular_computers/file_system/programs/civilian/cargo_order.dm index 3e8d213581d..c4925b40beb 100644 --- a/code/modules/modular_computers/file_system/programs/civilian/cargo_order.dm +++ b/code/modules/modular_computers/file_system/programs/civilian/cargo_order.dm @@ -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/ diff --git a/code/modules/modular_computers/file_system/programs/command/card.dm b/code/modules/modular_computers/file_system/programs/command/card.dm index d75b547d9e7..37364ede63d 100644 --- a/code/modules/modular_computers/file_system/programs/command/card.dm +++ b/code/modules/modular_computers/file_system/programs/command/card.dm @@ -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 diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm index a34d7c5d5ba..4fa02f418e5 100644 --- a/code/modules/modular_computers/file_system/programs/command/comm.dm +++ b/code/modules/modular_computers/file_system/programs/command/comm.dm @@ -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 diff --git a/code/modules/modular_computers/file_system/programs/engineering/_engineering.dm b/code/modules/modular_computers/file_system/programs/engineering/_engineering.dm index a27b7e4157d..af3f21d8395 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/_engineering.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/_engineering.dm @@ -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" diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm index 3ff9e8e9bbc..8709930a304 100644 --- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm +++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm @@ -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 diff --git a/code/modules/modular_computers/file_system/programs/research/ai_restorer.dm b/code/modules/modular_computers/file_system/programs/research/ai_restorer.dm index e876f12d4a0..6ea1da656c4 100644 --- a/code/modules/modular_computers/file_system/programs/research/ai_restorer.dm +++ b/code/modules/modular_computers/file_system/programs/research/ai_restorer.dm @@ -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) diff --git a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm index 20ad0fc3b3c..f1ef264f63b 100644 --- a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm +++ b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm @@ -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/ diff --git a/code/modules/modular_computers/file_system/programs/system/ntdownloader.dm b/code/modules/modular_computers/file_system/programs/system/ntdownloader.dm index 046f729ea2a..52b4a7c2db2 100644 --- a/code/modules/modular_computers/file_system/programs/system/ntdownloader.dm +++ b/code/modules/modular_computers/file_system/programs/system/ntdownloader.dm @@ -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] diff --git a/html/changelogs/Karolis2011-balanceModularComputers.yml b/html/changelogs/Karolis2011-balanceModularComputers.yml new file mode 100644 index 00000000000..dedc76c643b --- /dev/null +++ b/html/changelogs/Karolis2011-balanceModularComputers.yml @@ -0,0 +1,5 @@ +author: Karolis2011 +delete-after: True + +changes: + - bugfix: "Modular computers can no longer download programs that can't actually run on them." \ No newline at end of file diff --git a/nano/templates/computer_fabricator.tmpl b/nano/templates/computer_fabricator.tmpl index 56226921d87..028788a7bcd 100644 --- a/nano/templates/computer_fabricator.tmpl +++ b/nano/templates/computer_fabricator.tmpl @@ -15,13 +15,13 @@