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 e232f8a24d..5068c3ee56 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 62cf981934..e4bd5c15a3 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 396dfbd4b9..e764734a89 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)