diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 0e3f0568fe5..b5525814fec 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -154,16 +154,23 @@ . = ..() if(!in_range(A, user)) return + if(!isobj(A)) return - var/obj/target = A + var/obj/target = A if(is_type_in_list(target, no_wrap)) return + + if(istype(target, /obj/item/stack/packageWrap) && user.a_intent != INTENT_HARM) + return + if(is_type_in_list(A.loc, list(/obj/item/smallDelivery, /obj/structure/bigDelivery))) return + if(target.anchored) return + if(target in user) return @@ -171,6 +178,7 @@ var/obj/item/O = target if(!use(1)) return FALSE + var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc)) //Aaannd wrap it up! if(!isturf(O.loc)) if(user.client) @@ -198,9 +206,11 @@ return FALSE D.init_welded = C.welded C.welded = TRUE + else if(target.GetComponent(/datum/component/two_handed)) to_chat(user, "[target] is too unwieldy to wrap effectively.") return FALSE + else to_chat(user, "The object you are trying to wrap is unsuitable for the sorting machinery.") return FALSE