ID:147787
 
The following code will always flick the death state, subtract the life and perform the requested operations in the UpdateLives() proc, but the rest of it only works intermittently. There is one player1spawn per room, and client.eye is set to the middle of the room.
mob/proc
Death()
flick("die",src)
src.lives -= 1
src.UpdateLives()
for(var/turf/player1spawn/Q in view(src))
src.loc = Q
src.invincible = 1
src.overlays += /obj/invincible1
src.nomovingdamnit = 1
walk(src,4,2)
sleep(11)
walk(src,0)
src.nomovingdamnit = 0
sleep(40)
src.overlays -= /obj/invincible1
src.overlays += /obj/invincible2
sleep(25)
src.overlays -= /obj/invincible2
src.invincible = 0
src is the mob, not the eye.
In response to Garthor (#1)
Ahhh...thanks. I always miss little things like this...