[MIRROR] The Spectre-Meter App, also a bootleg data disk item for the black market. [MDB IGNORE] (#25717)

The Spectre-Meter App, also a bootleg data disk item for the black market.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-12-24 23:25:23 +00:00
committed by GitHub
co-authored by Ghom Gandalf
parent 67436cd148
commit cbaee82e73
14 changed files with 262 additions and 9 deletions
@@ -640,9 +640,9 @@
return SSmodular_computers.add_log("[src]: [text]")
/obj/item/modular_computer/proc/close_all_programs()
active_program = null
active_program?.kill_program()
for(var/datum/computer_file/program/idle as anything in idle_threads)
idle_threads.Remove(idle)
idle.kill_program()
/obj/item/modular_computer/proc/shutdown_computer(loud = TRUE)
close_all_programs()
@@ -14,6 +14,14 @@
/obj/item/computer_disk/maintenance/modsuit_control
starting_programs = list(/datum/computer_file/program/maintenance/modsuit_control)
///Returns A 'spookiness' value based on the number of ghastly creature and hauntium and their distance from the PC.
/obj/item/computer_disk/maintenance/spectre_meter
starting_programs = list(/datum/computer_file/program/maintenance/spectre_meter)
///A version of the arcade program with less HP/MP for the enemy and more for the player
/obj/item/computer_disk/maintenance/arcade
starting_programs = list(/datum/computer_file/program/arcade/eazy)
/obj/item/computer_disk/maintenance/theme/Initialize(mapload)
starting_programs = list(pick(subtypesof(/datum/computer_file/program/maintenance/theme)))
return ..()
@@ -9,3 +9,30 @@
/obj/item/computer_disk/syndicate/contractor
starting_programs = list(/datum/computer_file/program/contract_uplink)
/obj/item/computer_disk/black_market
desc = "Removable disk used to store data. This one has a smudged piece of paper glued to it, reading \"PC softwarez\"."
/obj/item/computer_disk/black_market/Initialize(mapload)
icon_state = "datadisk[rand(0, 10)]"
//Populated with programs not found in the verified downloader app or that require access to download (but not to run).
var/list/potential_programs = list(
/datum/computer_file/program/arcade/eazy,
/datum/computer_file/program/radar/lifeline,
/datum/computer_file/program/radar/custodial_locator,
/datum/computer_file/program/supermatter_monitor,
/datum/computer_file/program/newscaster,
/datum/computer_file/program/secureye,
/datum/computer_file/program/crew_manifest,
/datum/computer_file/program/status,
)
potential_programs += subtypesof(/datum/computer_file/program/maintenance) - /datum/computer_file/program/maintenance/theme
var/total_programs_size = 0
for(var/i in 1 to rand(2, 4))
var/datum/computer_file/program/to_add = pick_n_take(potential_programs)
total_programs_size += initial(to_add.size)
starting_programs += to_add
///Make sure the disk has enough space for all the programs
max_capacity = max(total_programs_size, max_capacity)
return ..()