diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 8ca9b7f91a5..57d0c9edf10 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -36,17 +36,21 @@
if (nutriment_amt)
reagents.add_reagent(nutriment_type, nutriment_amt, nutriment_desc)
-/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume(var/mob/M)
+/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume(var/mob/eater, var/mob/feeder = null)
if(!reagents.total_volume)
- M.visible_message("[M] finishes eating \the [src].","You finish eating \the [src].")
- M.drop_from_inventory(src) //so icons update :[
+ eater.visible_message("[eater] finishes eating \the [src].","You finish eating \the [src].")
+
+ if (!feeder)
+ feeder = eater
+
+ feeder.drop_from_inventory(src) //so icons update :[
if(trash)
if(ispath(trash,/obj/item))
- var/obj/item/TrashItem = new trash(M)
- M.put_in_hands(TrashItem)
+ var/obj/item/TrashItem = new trash(feeder)
+ feeder.put_in_hands(TrashItem)
else if(istype(trash,/obj/item))
- M.put_in_hands(trash)
+ feeder.put_in_hands(trash)
qdel(src)
return
@@ -114,7 +118,7 @@
else
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
bitecount++
- On_Consume(M)
+ On_Consume(M, user)
return 1
else if (isanimal(M))
@@ -144,7 +148,7 @@
user.visible_message("[user] feeds [M] a tiny bit of [src]. It looks full.")
if (!istype(M.loc, /turf))
M << "[user] feeds you a tiny bit of [src]. You feel pretty full!"
- On_Consume(M)
+ On_Consume(M, user)
return 1
else
user << "[M.name] can't stomach anymore food!"