diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 6be998dea09..387cc0d557e 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -16,6 +16,12 @@ apply(target, user) return ITEM_INTERACT_COMPLETE +/obj/item/reagent_containers/patch/activate_self(mob/user) + if(..()) + return FINISH_ATTACK + + apply(user, user) + /obj/item/reagent_containers/patch/proc/apply(mob/living/carbon/C, mob/user) if(!istype(C)) return diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 4475085c51d..912bd0993c6 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -18,6 +18,12 @@ if(!icon_state) icon_state = "pill[rand(1, 20)]" +/obj/item/reagent_containers/pill/activate_self(mob/user) + if(..()) + return FINISH_ATTACK + + apply(user, user) + /obj/item/reagent_containers/pill/proc/apply(mob/living/carbon/C, mob/user) if(!istype(C)) return FALSE 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 e6c396cf0b3..6e100c45549 100644 --- a/code/tests/attack_chain/test_attack_chain_reagent_containers.dm +++ b/code/tests/attack_chain/test_attack_chain_reagent_containers.dm @@ -204,6 +204,9 @@ pill = player.spawn_obj_in_hand(/obj/item/reagent_containers/pill/salicylic) player.click_on(beaker) TEST_ASSERT_LAST_CHATLOG(player, "You dissolve [pill] in [beaker].") + pill = player.spawn_obj_in_hand(/obj/item/reagent_containers/pill/salicylic) + player.use_item_in_hand() + TEST_ASSERT_LAST_CHATLOG(player, "You swallow [pill].") // Patches var/obj/item/reagent_containers/patch/patch = player.spawn_obj_in_hand(/obj/item/reagent_containers/patch/silver_sulf)