diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 6158bd87105..a6644112d13 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -142,16 +142,16 @@ user.drop_item() if(I) - if(istype(I, /obj/item/holder/micro)) - log_and_message_admins("placed [I.name] inside \the [src]", user) + if(istype(I, /obj/item/holder)) + var/obj/item/holder/holder = I + var/mob/victim = holder.held_mob + if(ishuman(victim) || victim.client) + log_and_message_admins("placed [victim] inside \the [src]", user) + victim.forceMove(src) + I.forceMove(src) - to_chat(user, "You place \the [I] into the [src].") - for(var/mob/M in viewers(src)) - if(M == user) - continue - M.show_message("[user.name] places \the [I] into the [src].", 3) - + user.visible_message("[user] places \the [I] into the [src].", "You place \the [I] into the [src].","Ca-Clunk") update() // mouse drop another mob or self @@ -539,32 +539,18 @@ . = ..() if(istype(AM, /obj/item) && !istype(AM, /obj/item/projectile)) if(prob(75)) - if(istype(AM, /obj/item/holder/micro)) - log_and_message_admins("[AM] was thrown into \the [src]", null) AM.forceMove(src) visible_message("\The [AM] lands in \the [src].") else visible_message("\The [AM] bounces off of \the [src]'s rim!") -/obj/machinery/disposal/CanPass(atom/movable/mover, turf/target) - if(istype(mover, /obj/item/projectile)) - return 1 - if (istype(mover,/obj/item) && mover.throwing) - var/obj/item/I = mover - if(istype(I, /obj/item/projectile)) - return + if(istype(AM,/mob/living)) if(prob(75)) - I.forceMove(src) - if(istype(I, /obj/item/holder/micro)) - log_and_message_admins("[I.name] was thrown into \the [src]", null) - for(var/mob/M in viewers(src)) - M.show_message("\The [I] lands in \the [src].", 3) - else - for(var/mob/M in viewers(src)) - M.show_message("\The [I] bounces off of \the [src]'s rim!", 3) - return 0 - else - return ..(mover, target) + var/mob/living/to_be_dunked = AM + if(ishuman(AM) ||to_be_dunked.client) + log_and_message_admins("[AM] was thrown into \the [src]", null) + AM.forceMove(src) + visible_message("\The [AM] lands in \the [src].") /obj/machinery/disposal/wall name = "inset disposal unit"