Fixes objects using walk_to() not being able to be garbage collected.

* Okay evidently walk_to(A, B) doesn't stop when A reaches B, but keeps running in the background forever until it is manually canceled!  Therefore in order to be garbage collected, we must cancel walking on any object that might have initiated it.
* Fixes this on chemsmoke, spiders, and aiholos.
* The same story applies to walk_towards; fixed for dust, meteors and immovablerod, and also to walk_away; fixed for flashbangs.
* Also fixed chemsmoke actually getting qdeled at the right time.
This commit is contained in:
Leshana
2017-06-15 18:46:39 -04:00
parent 43bf8e7d88
commit f60c024b2a
8 changed files with 29 additions and 6 deletions
+4 -2
View File
@@ -179,8 +179,10 @@ steam.start() -- spawns the effect
/obj/effect/effect/smoke/New()
..()
spawn (time_to_live)
qdel(src)
if(time_to_live)
spawn (time_to_live)
if(!QDELETED(src))
qdel(src)
/obj/effect/effect/smoke/Crossed(mob/living/carbon/M as mob )
..()