diff --git a/code/game/turfs/walls/walls.dm b/code/game/turfs/walls/walls.dm index 411ff8182661..3599d5bb980b 100644 --- a/code/game/turfs/walls/walls.dm +++ b/code/game/turfs/walls/walls.dm @@ -98,11 +98,15 @@ qdel(found_nest) //nests are built on walls, no walls, no nest /turf/closed/wall/MouseDrop_T(mob/current_mob, mob/user) + if(!ismob(current_mob)) + return + if(acided_hole) if(current_mob == user && isxeno(user)) acided_hole.use_wall_hole(user) return - if(isxeno(user)) + + if(isxeno(user) && istype(user.get_active_hand(), /obj/item/grab)) var/mob/living/carbon/xenomorph/user_as_xenomorph = user user_as_xenomorph.do_nesting_host(current_mob, src) ..() diff --git a/code/modules/cm_aliens/weeds.dm b/code/modules/cm_aliens/weeds.dm index 080bb2cf2d5a..218fc0fdebd9 100644 --- a/code/modules/cm_aliens/weeds.dm +++ b/code/modules/cm_aliens/weeds.dm @@ -418,7 +418,11 @@ /obj/effect/alien/weeds/weedwall/MouseDrop_T(mob/current_mob, mob/user) . = ..() - if(isxeno(user)) + + if(!ismob(current_mob)) + return + + if(isxeno(user) && istype(user.get_active_hand(), /obj/item/grab)) var/mob/living/carbon/xenomorph/user_as_xenomorph = user user_as_xenomorph.do_nesting_host(current_mob, src)