ID:175028
 
I have this code, for running through the effect radius of a explosion and doing the explody things in a sequence so that the explosion builds out. It doesn't work though. (can't run procs on everything in a list at the same time)
Is there any way anybody could think of that I could use to run each bit of the radius at the same time? For loops are too slow, they result in a effect where the explosion spirals.

This is my code:
for(var/i=1 , i<=a,i++)
turfs=getring(x,y,z,i)
turfs.overlays+=/obj/explosion
turfs.Explode(power)
dealtwith.Add(turfs)
power--
turfs=list()

I know it produces bugs, but I don't know any other way I could use to run everything at the same time.
Your main problem is that the for() loop you originally had wasn't too slow at all; you just forgot to spawn() your call to Explode(), which obviously has a sleep() delay in it.

Lummox JR
In response to Lummox JR
Thanks, Lummox. That worked. :)