diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 258237f0ddd..57a57ef8e0a 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -184,6 +184,8 @@ if(href_list["ejectBeaker"]) if(beaker) beaker.forceMove(loc) + if(Adjacent(usr) && !issilicon(usr)) + usr.put_in_hands(beaker) beaker = null overlays.Cut() diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 848c1ca4ecd..5f5bd8de2d4 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -38,9 +38,11 @@ if(state_change) SSnanoui.update_uis(src) -/obj/machinery/chem_heater/proc/eject_beaker() +/obj/machinery/chem_heater/proc/eject_beaker(mob/user) if(beaker) beaker.forceMove(get_turf(src)) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(beaker) beaker = null icon_state = "mixer0b" on = FALSE @@ -118,7 +120,7 @@ . = 1 if(href_list["eject_beaker"]) - eject_beaker() + eject_beaker(usr) . = 0 //updated in eject_beaker() already /obj/machinery/chem_heater/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index ffd3ae57bd5..e10cd5c9203 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -229,6 +229,8 @@ else if(href_list["eject"]) if(beaker) beaker.forceMove(get_turf(src)) + if(Adjacent(usr) && !issilicon(usr)) + usr.put_in_hands(beaker) beaker = null reagents.clear_reagents() update_icon()