diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 3f70b082d67..34b628897b7 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -77,7 +77,10 @@ if (href_list["ejectp"]) if(loaded_pill_bottle) - loaded_pill_bottle.forceMove(src.loc) + if(Adjacent(usr)) + usr.put_in_hands(loaded_pill_bottle) + else + loaded_pill_bottle.forceMove(get_turf(src)) loaded_pill_bottle = null else if(href_list["close"]) usr << browse(null, "window=chemmaster") @@ -146,7 +149,10 @@ return else if (href_list["eject"]) if(beaker) - beaker:loc = src.loc + if(Adjacent(usr)) + usr.put_in_hands(beaker) + else + beaker:loc = get_turf(src) beaker = null reagents.clear_reagents() icon_state = "mixer0" @@ -171,7 +177,7 @@ if(reagents.total_volume/count < 1) //Sanity checking. return while (count-- && count >= 0) - var/obj/item/reagent_containers/pill/P = new/obj/item/reagent_containers/pill(src.loc) + var/obj/item/reagent_containers/pill/P = new/obj/item/reagent_containers/pill(get_turf(src)) if(!name) name = reagents.get_master_reagent_name() P.name = "[name] pill" P.pixel_x = rand(-7, 7) //random position @@ -184,7 +190,7 @@ else if (href_list["createbottle"]) if(!condi) var/name = sanitizeSafe(input(usr,"Name:","Name your bottle!",reagents.get_master_reagent_name()), MAX_NAME_LEN) - var/obj/item/reagent_containers/glass/bottle/P = new/obj/item/reagent_containers/glass/bottle(src.loc) + var/obj/item/reagent_containers/glass/bottle/P = new/obj/item/reagent_containers/glass/bottle(get_turf(src)) if(!name) name = reagents.get_master_reagent_name() P.name = "[name] bottle" P.pixel_x = rand(-7, 7) //random position @@ -193,7 +199,7 @@ reagents.trans_to_obj(P,60) P.update_icon() else - var/obj/item/reagent_containers/food/condiment/P = new/obj/item/reagent_containers/food/condiment(src.loc) + var/obj/item/reagent_containers/food/condiment/P = new/obj/item/reagent_containers/food/condiment(get_turf(src)) reagents.trans_to_obj(P,50) else if(href_list["change_pill"]) var/dat = "" @@ -458,7 +464,7 @@ return if (!beaker) return - beaker.forceMove(src.loc) + beaker.forceMove(get_turf(src)) beaker = null update_icon() @@ -470,7 +476,7 @@ return for(var/obj/item/O in holdingitems) - O.forceMove(src.loc) + O.forceMove(get_turf(src)) holdingitems -= O holdingitems.Cut() diff --git a/html/changelogs/hockaa-chemmaster.yml b/html/changelogs/hockaa-chemmaster.yml new file mode 100644 index 00000000000..958e50cb13e --- /dev/null +++ b/html/changelogs/hockaa-chemmaster.yml @@ -0,0 +1,6 @@ +author: Hocka + +delete-after: True + +changes: + - tweak: "ChemMasters now dispense pill bottles and beakers to the hand directly." \ No newline at end of file