diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 36e102be72..d92f969b0a 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -139,9 +139,12 @@ /obj/machinery/computer/pandemic/proc/eject_beaker() if(beaker) + var/obj/item/reagent_containers/B = beaker beaker.forceMove(drop_location()) beaker = null update_icon() + return B + return null /obj/machinery/computer/pandemic/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -237,14 +240,17 @@ . = TRUE //no afterattack if(stat & (NOPOWER|BROKEN)) return + var/obj/item/reagent_containers/B if(beaker) - to_chat(user, "A container is already loaded into [src]!") - return + B = eject_beaker() //now with 100% more swapping if(!user.transferItemToLoc(I, src)) return - + if(B) + if(user && Adjacent(user) && user.can_hold_items()) + user.put_in_hands(B) beaker = I - to_chat(user, "You insert [I] into [src].") + if(B) to_chat(user, "You remove [B] and insert [I] into [src].") + else to_chat(user, "You insert [I] into [src].") update_icon() else return ..()