diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index fb32991b42b..74dbf4c4d93 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -142,7 +142,7 @@ SUBSYSTEM_DEF(throwing) /datum/thrownthing/proc/hitcheck() for(var/thing in get_turf(thrownthing)) var/atom/movable/AM = thing - if(AM == thrownthing) + if(AM == thrownthing || AM == thrower) continue if(AM.density && !(AM.pass_flags & LETPASSTHROW) && !(AM.flags & ON_BORDER)) finalize(hit = TRUE, target = AM) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 47909a5d0b9..b75aa7ff691 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -2,7 +2,7 @@ if(height==0) return 1 if(istype(mover, /obj/item/projectile) || mover.throwing) - return (!density || lying) + return (mover.throwing.thrower == src || !density || lying) if(mover.checkpass(PASSMOB)) return 1 if(buckled == mover)