mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-06 07:23:16 +00:00
Allow multiple SStranscore databases (#10450)
* Allow multiple SStranscore databases * Add key to backup implanter too * Key passing tweak * Fix issue Leshana spotted * Add optimization Leshana spotted * Fixxy more multitranscore bugs
This commit is contained in:
committed by
Chompstation Bot
parent
1c3e965b5c
commit
9134933442
@@ -25,11 +25,17 @@
|
||||
var/obj/machinery/transhuman/synthprinter/selected_printer
|
||||
var/obj/machinery/transhuman/resleever/selected_sleever
|
||||
|
||||
// Resleeving database this machine interacts with. Blank for default database
|
||||
// Needs a matching /datum/transcore_db with key defined in code
|
||||
var/db_key
|
||||
var/datum/transcore_db/our_db // These persist all round and are never destroyed, just keep a hard ref
|
||||
|
||||
/obj/machinery/computer/transhuman/resleeving/Initialize()
|
||||
. = ..()
|
||||
pods = list()
|
||||
spods = list()
|
||||
sleevers = list()
|
||||
our_db = SStranscore.db_by_key(db_key)
|
||||
updatemodules()
|
||||
|
||||
/obj/machinery/computer/transhuman/resleeving/Destroy()
|
||||
@@ -82,7 +88,7 @@
|
||||
P.connected = src
|
||||
P.name = "[initial(P.name)] #[pods.len]"
|
||||
to_chat(user, "<span class='notice'>You connect [P] to [src].</span>")
|
||||
else if(istype(W, /obj/item/weapon/disk/transcore) && SStranscore && !SStranscore.core_dumped)
|
||||
else if(istype(W, /obj/item/weapon/disk/transcore) && !our_db.core_dumped)
|
||||
user.unEquip(W)
|
||||
disk = W
|
||||
disk.forceMove(src)
|
||||
@@ -172,7 +178,7 @@
|
||||
data["sleevers"] = temppods.Copy()
|
||||
temppods.Cut()
|
||||
|
||||
data["coredumped"] = SStranscore.core_dumped
|
||||
data["coredumped"] = our_db.core_dumped
|
||||
data["emergency"] = disk
|
||||
data["temp"] = temp
|
||||
data["selected_pod"] = "\ref[selected_pod]"
|
||||
@@ -180,14 +186,14 @@
|
||||
data["selected_sleever"] = "\ref[selected_sleever]"
|
||||
|
||||
var/bodyrecords_list_ui[0]
|
||||
for(var/N in SStranscore.body_scans)
|
||||
var/datum/transhuman/body_record/BR = SStranscore.body_scans[N]
|
||||
for(var/N in our_db.body_scans)
|
||||
var/datum/transhuman/body_record/BR = our_db.body_scans[N]
|
||||
bodyrecords_list_ui[++bodyrecords_list_ui.len] = list("name" = N, "recref" = "\ref[BR]")
|
||||
data["bodyrecords"] = bodyrecords_list_ui
|
||||
|
||||
var/mindrecords_list_ui[0]
|
||||
for(var/N in SStranscore.backed_up)
|
||||
var/datum/transhuman/mind_record/MR = SStranscore.backed_up[N]
|
||||
for(var/N in our_db.backed_up)
|
||||
var/datum/transhuman/mind_record/MR = our_db.backed_up[N]
|
||||
mindrecords_list_ui[++mindrecords_list_ui.len] = list("name" = N, "recref" = "\ref[MR]")
|
||||
data["mindrecords"] = mindrecords_list_ui
|
||||
|
||||
@@ -251,7 +257,7 @@
|
||||
set_temp("Error: Record missing.", "danger")
|
||||
if("coredump")
|
||||
if(disk)
|
||||
SStranscore.core_dump(disk)
|
||||
our_db.core_dump(disk)
|
||||
sleep(5)
|
||||
visible_message("<span class='warning'>\The [src] spits out \the [disk].</span>")
|
||||
disk.forceMove(get_turf(src))
|
||||
@@ -407,7 +413,7 @@
|
||||
return TRUE
|
||||
|
||||
//They were dead, or otherwise available.
|
||||
sleever.putmind(active_mr,mode,override)
|
||||
sleever.putmind(active_mr,mode,override,db_key = db_key)
|
||||
set_temp("Initiating resleeving...")
|
||||
tgui_modal_clear(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user