ID:141102
 
Code:
obj/cero
var
DAMAGE
shooter
cerodamage
list/BEAM=list()

icon='cero.dmi'
density=1

cero
icon_state="cero"
cerodamage=500
New(usr.loc)
src.dir = usr.dir
src.shooter = usr.name
src.DAMAGE = (usr.rei / rand(2,5)) + cerodamage
if(DAMAGE <= 0) DAMAGE=1
walk(src, usr.dir, 1)
spawn(30)
del(src)
for(var/obj/O in src.BEAM)
del(O)

cero_tail
icon_state="cerotail"
density=1

Bump(mob/Target)
if(istype(Target,/mob))
del(src)
view(src.shooter) << "[Target.name] was hit by [src.shooter]'s [src.name] for [src.DAMAGE] health!"
Target.hp -= DAMAGE
Target.DeathCheck(usr)
..()

Move()
if(istype(src,/obj/cero/cero))
var/obj/Body = new/obj/cero/cero_tail(src.loc)
src.BEAM.Add(Body)
Body.dir = src.dir
if(!src)
for(var/obj/O in src.BEAM)
del(O)
..()


Problem description:

The head deletes after 3 seconds, but the tail stays forever...any help?

Thanks!
-Nick
Delete src AFTER doing anything else. It kills teh proc when you del(src).
In response to Kaiochao
I see. Thanks! :)