From abf2e8af69e14df6b4ed5a9bd3c21cd7bf17c338 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Mon, 6 Mar 2017 14:22:11 -0500 Subject: [PATCH] Resleeving tweaks, fix compile warning Resleeving console now lists people in alphabetical order, and removes bodies when the person cryos (as long as they were really in that body, you can't cryo someone's printed body w/o resleeving and have it remove them) --- code/game/machinery/cryopod.dm | 10 +++++++--- .../integrated_electronics/subtypes/reagents.dm | 2 +- code/modules/resleeving/infocore.dm | 7 +++++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index e232f8a24d6..5068c3ee56b 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -440,9 +440,13 @@ qdel(O) //VOREStation Edit - Resleeving. - if(to_despawn.mind && (to_despawn.mind.name in transcore.backed_up)) - var/datum/transhuman/mind_record/MR = transcore.backed_up[to_despawn.mind.name] - transcore.stop_backup(MR) + if(to_despawn.mind) + if(to_despawn.mind.name in transcore.backed_up) + var/datum/transhuman/mind_record/MR = transcore.backed_up[to_despawn.mind.name] + transcore.stop_backup(MR) + if(to_despawn.mind.name in transcore.body_scans) //This uses mind names to avoid people cryo'ing a printed body to delete body scans. + var/datum/transhuman/body_record/BR = transcore.body_scans[to_despawn.mind.name] + transcore.remove_body(BR) //VOREStation Edit End - Resleeving. //Handle job slot/tater cleanup. diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index 62cf9819346..e4bd5c15a38 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -73,7 +73,7 @@ return var/contained = reagents.get_reagents() var/trans = reagents.trans_to_mob(target, inject_amount(), CHEM_BLOOD) - //message_admins("[src] injected \the [AM] with [trans]u of [contained].") //VOREStation Edit - I don't care THAT much. + log_debug("[src] injected \the [AM] with [trans]u of [contained].") //VOREStation Edit - I don't care THAT much. to_chat(AM, "You feel a tiny prick!") visible_message("[src] injects [AM]!") else diff --git a/code/modules/resleeving/infocore.dm b/code/modules/resleeving/infocore.dm index 396dfbd4b9f..e764734a897 100644 --- a/code/modules/resleeving/infocore.dm +++ b/code/modules/resleeving/infocore.dm @@ -64,6 +64,7 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore /datum/transhuman/infocore/proc/add_backup(var/datum/transhuman/mind_record/MR) ASSERT(MR) backed_up[MR.mindname] = MR + backed_up = sortAssoc(backed_up) log_debug("Added [MR.mindname] to transcore DB.") /datum/transhuman/infocore/proc/stop_backup(var/datum/transhuman/mind_record/MR) @@ -76,8 +77,14 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore /datum/transhuman/infocore/proc/add_body(var/datum/transhuman/body_record/BR) ASSERT(BR) body_scans[BR.mydna.name] = BR + body_scans = sortAssoc(body_scans) log_debug("Added [BR.mydna.name] to transcore body DB.") +/datum/transhuman/infocore/proc/remove_body(var/datum/transhuman/body_record/BR) + ASSERT(BR) + body_scans.Remove("[BR.mydna.name]") + log_debug("Removed [BR.mydna.name] from transcore body DB.") + /datum/transhuman/infocore/proc/core_dump(var/obj/item/weapon/disk/transcore/disk) ASSERT(disk) var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null)