diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 87b9d38d63b..77ee16063ef 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -153,16 +153,17 @@ /obj/effect/meteor/proc/ram_turf(var/turf/T) //first bust whatever is in the turf for(var/atom/A in T) - if(A != src) - A.ex_act(hitpwr) + if(A == src) // Don't hit ourselves. + continue + if(isturf(A)) // Don't hit floors. We'll deal with walls later. + continue + A.ex_act(hitpwr) //then, ram the turf if it still exists if(T) if(istype(T, /turf/simulated/wall)) var/turf/simulated/wall/W = T W.take_damage(wall_power) // Stronger walls can halt asteroids. - else - T.ex_act(hitpwr) // Floors and other things lack fancy health. //process getting 'hit' by colliding with a dense object