diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm index b20a5649a65..6d2b21a400d 100644 --- a/code/datums/elements/food/food_trash.dm +++ b/code/datums/elements/food/food_trash.dm @@ -30,7 +30,15 @@ /datum/element/food_trash/Detach(datum/target) . = ..() - UnregisterSignal(target, COMSIG_FOOD_CONSUMED) + UnregisterSignal(target, list( + COMSIG_FOOD_CONSUMED, + COMSIG_ITEM_ATTACK_SELF, + COMSIG_FOOD_CROSSED, + COMSIG_ITEM_ON_GRIND, + COMSIG_ITEM_ON_JUICE, + COMSIG_ITEM_USED_AS_INGREDIENT, + COMSIG_ITEM_ON_COMPOSTED, + COMSIG_ITEM_SOLD_TO_CUSTOMER,)) /datum/element/food_trash/proc/generate_trash(datum/source, mob/living/eater, mob/living/feeder) SIGNAL_HANDLER @@ -48,6 +56,8 @@ food_holding_mob.dropItemToGround(edible_object) food_holding_mob.put_in_hands(trash_item) + Detach(source) + /datum/element/food_trash/proc/food_crossed(datum/source, mob/crosser, bitecount) SIGNAL_HANDLER