diff --git a/code/_helpers/global_lists_ch.dm b/code/_helpers/global_lists_ch.dm index 8f96b700fc..5bd21c42dd 100644 --- a/code/_helpers/global_lists_ch.dm +++ b/code/_helpers/global_lists_ch.dm @@ -24,3 +24,16 @@ var/global/list/edible_tech = list(/obj/item/weapon/cell, /obj/item/broken_device, /obj/item/brokenbug, ) + +var/global/list/item_digestion_blacklist = list( + /obj/item/weapon/hand_tele, + /obj/item/weapon/card/id, + /obj/item/weapon/gun, + /obj/item/weapon/pinpointer, + /obj/item/clothing/shoes/magboots, + /obj/item/areaeditor/blueprints, + /obj/item/weapon/disk/nuclear, + /obj/item/device/perfect_tele_beacon, + /obj/item/organ/internal/brain/slime, + /obj/item/device/mmi/digital/posibrain, + /obj/item/weapon/rig/protean) \ No newline at end of file diff --git a/modular_chomp/code/modules/recycling/v_garbosystem.dm b/modular_chomp/code/modules/recycling/v_garbosystem.dm index 10b3e45205..db431641e9 100644 --- a/modular_chomp/code/modules/recycling/v_garbosystem.dm +++ b/modular_chomp/code/modules/recycling/v_garbosystem.dm @@ -2,7 +2,7 @@ icon = 'modular_chomp/icons/obj/machines/other.dmi' icon_state = "cronchy_off" name = "garbage grinder" - desc = "Mind your fingers." + desc = "Mind your fingers. Filter access hatch can be opened with crowbar to release trapped contents within." plane = TURF_PLANE layer = ABOVE_TURF_LAYER anchored = TRUE @@ -58,7 +58,7 @@ if(istype(A, /obj/effect/decal/cleanable)) qdel(A) if(!A.anchored) - if(A.loc == src.loc) // prevents the object from being affected if it's not currently here. + if(A.loc == src.loc) if(isliving(A)) var/mob/living/L = A if(!emagged && ishuman(L) && L.mind) @@ -83,7 +83,8 @@ spawn(15) if(A.loc == loc) A.forceMove(src) - crusher.take_item(A) //Force feed the poor bastard. + if(!is_type_in_list(I,item_digestion_blacklist)) + crusher.take_item(A) //Force feed the poor bastard. items_taken++ else A.SpinAnimation(5,3) @@ -100,4 +101,15 @@ /obj/machinery/v_garbosystem/emag_act(var/remaining_charges, var/mob/user, var/emag_source) emagged = !emagged - update() \ No newline at end of file + update() + +/obj/machinery/v_garbosystem/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(W.is_crowbar()) + if(!operating) + to_chat(user, "You crowbar the filter hatch open, releasing the items trapped within.") + for(var/atom/movable/A in contents) + A.forceMove(loc) + return + else + to_chat(user, "Unable to empty filter while the machine is running.") + return ..() \ No newline at end of file