diff --git a/code/game/machinery/clonepod.dm b/code/game/machinery/clonepod.dm index d9cdc6277ef..d37ecc93787 100644 --- a/code/game/machinery/clonepod.dm +++ b/code/game/machinery/clonepod.dm @@ -562,7 +562,7 @@ /obj/machinery/clonepod/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(used.is_open_container()) - return ITEM_INTERACT_SKIP_TO_AFTER_ATTACK + return ..() if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda)) if(!allowed(user)) diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 4816dac3ff8..3e3b7c39141 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -85,6 +85,7 @@ var/trans = reagents.trans_to(target, amount_per_transfer_from_this) to_chat(user, "You transfer [trans] unit\s of the solution to [target].") + return else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) diff --git a/code/tests/attack_chain/test_attack_chain_reagent_containers.dm b/code/tests/attack_chain/test_attack_chain_reagent_containers.dm index 6e100c45549..3b6b9024697 100644 --- a/code/tests/attack_chain/test_attack_chain_reagent_containers.dm +++ b/code/tests/attack_chain/test_attack_chain_reagent_containers.dm @@ -219,6 +219,10 @@ // Beakers beaker = player.spawn_obj_in_hand(/obj/item/reagent_containers/glass/beaker) + var/obj/machinery/clonepod/clonepod = player.spawn_obj_nearby(/obj/machinery/clonepod) + beaker.reagents.add_reagent("sanguine_reagent", 10) + player.click_on(clonepod) + TEST_ASSERT_LAST_CHATLOG(player, "You transfer 10 units of the solution to [clonepod].") var/obj/structure/table/table = player.spawn_obj_nearby(/obj/structure/table) player.click_on(table) TEST_ASSERT(beaker in get_turf(table), "beaker not placed on table")