diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index 637f069df0..5610d41d5f 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -190,8 +190,9 @@ O.fire_act(null, 1000, 500) else if(isliving(A) && get_fuel_amount() > 4) var/mob/living/L = A - L.adjust_fire_stacks(get_fuel_amount() / 4) - L.IgniteMob() + if(!(L.is_incorporeal())) + L.adjust_fire_stacks(get_fuel_amount() / 4) + L.IgniteMob() /obj/structure/bonfire/update_icon() cut_overlays() diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index 67524c05ef..f2902abdfe 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -77,14 +77,14 @@ for(var/thing in thing_to_check) if(isobj(thing)) var/obj/O = thing - if(O.throwing) + if(O.throwing || O.is_incorporeal()) continue . = TRUE O.lava_act() else if(isliving(thing)) var/mob/living/L = thing - if(L.hovering || L.throwing) // Flying over the lava. We're just gonna pretend convection doesn't exist. + if(L.hovering || L.throwing || L.is_incorporeal()) // Flying over the lava. We're just gonna pretend convection doesn't exist. continue . = TRUE L.lava_act() diff --git a/code/modules/turbolift/turbolift.dm b/code/modules/turbolift/turbolift.dm index 9468179122..5ea1fd683c 100644 --- a/code/modules/turbolift/turbolift.dm +++ b/code/modules/turbolift/turbolift.dm @@ -192,12 +192,12 @@ for(var/turf/T in destination) for(var/atom/movable/AM in T) - if(istype(AM, /mob/living)) + if(istype(AM, /mob/living) && !(AM.is_incorporeal())) var/mob/living/M = AM M.gib() else if(istype(AM, /mob/zshadow)) AM.Destroy() //prevent deleting shadow without deleting shadow's shadows - else if(AM.simulated && !(istype(AM, /mob/observer))) + else if(AM.simulated && !(istype(AM, /mob/observer)) && !(AM.is_incorporeal())) qdel(AM) origin.move_contents_to(destination) diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm index ee66571fb7..3f80124daf 100644 --- a/maps/tether/tether_things.dm +++ b/maps/tether/tether_things.dm @@ -170,7 +170,7 @@ // Walking on maglev tracks will shock you! Horray! /turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc) - if(isliving(AM) && prob(50)) + if(isliving(AM) && !(AM.is_incorporeal()) && prob(50)) track_zap(AM) /turf/simulated/floor/maglev/attack_hand(var/mob/user) if(prob(75))