From 9239c1eb52efa09cee982b15c763ea7dd3c1b920 Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Mon, 5 Apr 2021 23:06:35 -0700 Subject: [PATCH] Beaker swapping for Pandemic machine --- .../reagents/chemistry/machinery/pandemic.dm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 ..()