mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge pull request #10898 from Heroman3003/incorporeal-fires
Makes incorporeal things properly immune to bonfires and lava (and tram and elevator...)
This commit is contained in:
committed by
Chompstation Bot
parent
b40f14fc6b
commit
e9cb44d9ca
@@ -190,6 +190,7 @@
|
|||||||
O.fire_act(null, 1000, 500)
|
O.fire_act(null, 1000, 500)
|
||||||
else if(isliving(A) && get_fuel_amount() > 4)
|
else if(isliving(A) && get_fuel_amount() > 4)
|
||||||
var/mob/living/L = A
|
var/mob/living/L = A
|
||||||
|
if(!(L.is_incorporeal()))
|
||||||
L.adjust_fire_stacks(get_fuel_amount() / 4)
|
L.adjust_fire_stacks(get_fuel_amount() / 4)
|
||||||
L.IgniteMob()
|
L.IgniteMob()
|
||||||
|
|
||||||
|
|||||||
@@ -77,14 +77,14 @@
|
|||||||
for(var/thing in thing_to_check)
|
for(var/thing in thing_to_check)
|
||||||
if(isobj(thing))
|
if(isobj(thing))
|
||||||
var/obj/O = thing
|
var/obj/O = thing
|
||||||
if(O.throwing)
|
if(O.throwing || O.is_incorporeal())
|
||||||
continue
|
continue
|
||||||
. = TRUE
|
. = TRUE
|
||||||
O.lava_act()
|
O.lava_act()
|
||||||
|
|
||||||
else if(isliving(thing))
|
else if(isliving(thing))
|
||||||
var/mob/living/L = 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
|
continue
|
||||||
. = TRUE
|
. = TRUE
|
||||||
L.lava_act()
|
L.lava_act()
|
||||||
|
|||||||
@@ -192,12 +192,12 @@
|
|||||||
|
|
||||||
for(var/turf/T in destination)
|
for(var/turf/T in destination)
|
||||||
for(var/atom/movable/AM in T)
|
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
|
var/mob/living/M = AM
|
||||||
M.gib()
|
M.gib()
|
||||||
else if(istype(AM, /mob/zshadow))
|
else if(istype(AM, /mob/zshadow))
|
||||||
AM.Destroy() //prevent deleting shadow without deleting shadow's shadows
|
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)
|
qdel(AM)
|
||||||
|
|
||||||
origin.move_contents_to(destination)
|
origin.move_contents_to(destination)
|
||||||
|
|||||||
@@ -170,7 +170,7 @@
|
|||||||
|
|
||||||
// Walking on maglev tracks will shock you! Horray!
|
// Walking on maglev tracks will shock you! Horray!
|
||||||
/turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc)
|
/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)
|
track_zap(AM)
|
||||||
/turf/simulated/floor/maglev/attack_hand(var/mob/user)
|
/turf/simulated/floor/maglev/attack_hand(var/mob/user)
|
||||||
if(prob(75))
|
if(prob(75))
|
||||||
|
|||||||
Reference in New Issue
Block a user