diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index e895e2f3ad2..69753a3252c 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -191,21 +191,14 @@ qdel(src) return - direction_loop: - for(var/dirn in cardinal) - var/turf/T = get_step(src, dirn) + if(!linked_node || get_dist(linked_node, src) > linked_node.node_range) + return - if (!istype(T) || T.density || locate(/obj/structure/alien/weeds) in T || istype(T, /turf/space)) - continue + for(var/turf/T in U.GetAtmosAdjacentTurfs()) + if(locate(/obj/structure/alien/weeds) in T || istype(T, /turf/space)) + continue - if(!linked_node || get_dist(linked_node, src) > linked_node.node_range) - return - - for(var/obj/O in T) - if(O.density) - continue direction_loop - - new /obj/structure/alien/weeds(T, linked_node) + new /obj/structure/alien/weeds(T, linked_node) /obj/structure/alien/weeds/ex_act(severity) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index a6dff1764df..a2a7cbc706a 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -393,6 +393,13 @@ var/global/list/rockTurfEdgeCache gets_drilled() ..() +/turf/simulated/mineral/attack_alien(var/mob/living/carbon/alien/M) + M << "You start digging into the rock..." + playsound(src, 'sound/effects/break_stone.ogg', 50, 1) + if(do_after(M, 40, target = src)) + M << "You tunnel into the rock." + gets_drilled() + /turf/simulated/mineral/Bumped(AM as mob|obj) . = ..() if(istype(AM,/mob/living/carbon/human))