mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
R&D Rework PT1 - The network refactor (#26420)
* R&D Rework PT1 * Give robotics access too * Run prettier * More lints * This is INCREDIBLY ironic * Re-add blacklisting * Oops * Review changes * Some fixes * Fix outstanding issues * Warriorstar fixes * Tiny tweak
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
SUBSYSTEM_DEF(research)
|
||||
name = "Research"
|
||||
flags = SS_NO_INIT
|
||||
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY // ALL THE THINGS
|
||||
wait = 60 SECONDS
|
||||
cpu_display = SS_CPUDISPLAY_LOW
|
||||
offline_implications = "Ingame R&D will no longer have an OOC backup. No immediate action is needed."
|
||||
/// List of R&D backups - Key = datum ID, value = /datum/rnd_backup
|
||||
var/list/backups = list()
|
||||
|
||||
/datum/controller/subsystem/research/get_stat_details()
|
||||
return "C:[length(backups)]"
|
||||
|
||||
/datum/controller/subsystem/research/fire()
|
||||
for(var/obj/machinery/computer/rnd_network_controller/RNC in GLOB.rnd_network_managers)
|
||||
var/rnc_uid = RNC.UID()
|
||||
if(!(rnc_uid in backups))
|
||||
backups[rnc_uid] = new /datum/rnd_backup
|
||||
|
||||
var/datum/rnd_backup/B = backups[rnc_uid]
|
||||
B.last_name = RNC.network_name
|
||||
B.last_timestamp = time2text(ROUND_TIME, "hh:mm:ss")
|
||||
B.levels.Cut()
|
||||
for(var/tech_id in RNC.research_files.known_tech)
|
||||
var/datum/tech/T = RNC.research_files.known_tech[tech_id]
|
||||
B.levels[tech_id] = T.level
|
||||
|
||||
/datum/rnd_backup
|
||||
/// Name of last network
|
||||
var/last_name
|
||||
/// Timestamp of last backup
|
||||
var/last_timestamp
|
||||
/// List of levels
|
||||
var/list/levels = list()
|
||||
|
||||
/datum/rnd_backup/proc/to_backup_disk(turf/T)
|
||||
var/obj/item/disk/rnd_backup_disk/D = new(T)
|
||||
D.stored_tech_assoc = levels
|
||||
D.last_backup_time = last_timestamp
|
||||
Reference in New Issue
Block a user