From 63314ff0585de825f9b27abd1840b6af554a2db1 Mon Sep 17 00:00:00 2001 From: Hockaa <69127651+Hockaa@users.noreply.github.com> Date: Thu, 19 Nov 2020 22:00:26 +0000 Subject: [PATCH] ChemMasters now eject beakers and pill bottles to the user's hand (#10569) --- code/modules/reagents/Chemistry-Machinery.dm | 20 +++++++++++++------- html/changelogs/hockaa-chemmaster.yml | 6 ++++++ 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 html/changelogs/hockaa-chemmaster.yml 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 = "