From f8aebd6853693ebd3c7cc82d3ef00f414bbd3340 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 23 Aug 2014 15:15:22 +0200 Subject: [PATCH] Improved cryo object-recovery. Cryo object-recovery now offers a list of items to recover, when one wish to recover a single object, instead of directly disgorging the first item it finds. --- code/game/machinery/cryopod.dm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index fe569e23647..88d2ad641b9 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -41,6 +41,7 @@ var/global/list/frozen_items = list() dat += "

Cryogenic Oversight Control
" dat += "Welcome, [user.real_name].


" dat += "View storage log.
" + dat += "View objects.
" dat += "Recover object.
" dat += "Recover all objects.
" @@ -65,16 +66,27 @@ var/global/list/frozen_items = list() user << browse(dat, "window=cryolog") + if(href_list["view"]) + + var/dat = "Recently stored objects


" + for(var/obj/item/I in frozen_items) + dat += "[I.name]
" + dat += "
" + + user << browse(dat, "window=cryoitems") + else if(href_list["item"]) if(frozen_items.len == 0) user << "\blue There is nothing to recover from storage." return - var/obj/item/I = input(usr, "Please choose which object to retrieve.","Object recovery",null) as obj in frozen_items + var/obj/item/I = input(usr, "Please choose which object to retrieve.","Object recovery",null) as null|anything in frozen_items + if(!I) + return - if(!I || frozen_items.len == 0) - user << "\blue There is nothing to recover from storage." + if(!(I in frozen_items)) + user << "\blue \The [I] is no longer in storage." return visible_message("\blue The console beeps happily as it disgorges \the [I].", 3) @@ -173,7 +185,6 @@ var/global/list/frozen_items = list() //Lifted from Unity stasis.dm and refactored. ~Zuhayr /obj/machinery/cryopod/process() if(occupant) - //Allow a ten minute gap between entering the pod and actually despawning. if(world.time - time_entered < time_till_despawn) return