From a9c6ace33672d1d619442aed45516a2a19d8f813 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Tue, 16 Aug 2016 15:02:35 +0100 Subject: [PATCH 1/3] Fixes ID recursive storage survival --- code/modules/pda/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index fafa27a24f7..6ab07790ba0 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -455,7 +455,7 @@ var/global/list/obj/item/device/pda/PDAs = list() PDAs -= src var/T = get_turf(loc) if(id) - id.forceMove(T) + qdel(id) if(pai) pai.forceMove(T) current_app = null From c8c67c13cb574322ffc260b60b0b333778b55f30 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Tue, 16 Aug 2016 20:58:57 +0100 Subject: [PATCH 2/3] Actually fixes ID survival --- code/game/machinery/cryopod.dm | 6 ++++++ code/modules/pda/PDA.dm | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 33d07914529..5cd1b2840b8 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -303,6 +303,12 @@ preserve = 1 break + if(istype(W,/obj/item/device/pda)) + var/obj/item/device/pda/P = W + if(P.id) + qdel(P.id) + qdel(P) + if(!preserve) qdel(W) else diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 6ab07790ba0..fafa27a24f7 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -455,7 +455,7 @@ var/global/list/obj/item/device/pda/PDAs = list() PDAs -= src var/T = get_turf(loc) if(id) - qdel(id) + id.forceMove(T) if(pai) pai.forceMove(T) current_app = null From c63215b4d24bb3c8ed7ace64d4f60103cb976fd5 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Thu, 18 Aug 2016 01:40:01 +0100 Subject: [PATCH 3/3] Adds P.id = null to ensure nullspace sanity --- code/game/machinery/cryopod.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 5cd1b2840b8..38ac85621db 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -307,6 +307,7 @@ var/obj/item/device/pda/P = W if(P.id) qdel(P.id) + P.id = null qdel(P) if(!preserve)