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