diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 28f3387097..06d2b3efda 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -205,6 +205,11 @@ popup.set_content(dat) popup.open() +/obj/machinery/biogenerator/AltClick(mob/living/user) + . = ..() + if(istype(user) && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) + detach(user) + /obj/machinery/biogenerator/proc/activate() if (usr.stat != CONSCIOUS) return @@ -293,9 +298,9 @@ update_icon() return . -/obj/machinery/biogenerator/proc/detach() +/obj/machinery/biogenerator/proc/detach(mob/living/user) if(beaker) - beaker.forceMove(drop_location()) + user.put_in_hands(beaker) beaker = null update_icon() @@ -310,7 +315,7 @@ updateUsrDialog() else if(href_list["detach"]) - detach() + detach(usr) updateUsrDialog() else if(href_list["create"]) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 75848f89b9..a53c57a3e7 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -213,6 +213,11 @@ for(var/datum/reagent/R in beaker.reagents.reagent_list) . += "- [R.volume] units of [R.name]." +/obj/machinery/reagentgrinder/AltClick(mob/user) + . = ..() + if(istype(user) && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) + replace_beaker(user) + /obj/machinery/reagentgrinder/proc/eject(mob/user) for(var/i in holdingitems) var/obj/item/O = i