ID:141735
 
Code:
mob/proc
Begin_wave()
var/obj/Enemy/A = new()
spawn(5)
A.Start()
var/obj/Enemy/B = new()
spawn(5)
B.Start()
var/obj/Enemy/C = new()
spawn(5)
C.Start()
var/obj/Enemy/D = new()
spawn(5)
D.Start()
var/obj/Enemy/E = new()
spawn(5)
E.Start()
var/obj/Enemy/F = new()
spawn(5)
F.Start()
var/obj/Enemy/G = new()
spawn(5)
G.Start()
A.HP += 5 * src.wave
B.HP += 5 * src.wave
C.HP += 5 * src.wave
D.HP += 5 * src.wave
E.HP += 5 * src.wave
F.HP += 5 * src.wave
G.HP += 5 * src.wave
src.wave += 1
obj/proc/Start()
sleep(5)
world<<"J"
src.Move(locate(1,5,1))
step(src,EAST)
sleep(5)
step(src,EAST)
sleep(5)
step(src,EAST)
sleep(5)
step(src,EAST)
sleep(5)
step(src,EAST)
sleep(5)
//... and on and on


Problem description:
I'm trying to make it smooth like. One spawns, one second later another spawns so it's a trail of them intead of one big glob of obj's. So why does spawn make them all move at the same time to the destination? I've even set it to send a message to see if more than one spawned, and all of them did. They were just all in one place.
Maybe you should use sleep() instead of spawn().
In response to Kaiochao
I tried that and got the same results
In response to Choka
mob/proc
Begin_wave()
for(wave,wave<=7,wave++) //Creates 7 waves, 5 milliseconds apart.
var/obj/Enemy/f=new
f.Start()
f.HP += 5*wave
sleep(10) //One second delay between loop iteration
obj/proc/Start()
Move(locate(1,5,1))
spawn //Put the spawn in here or set background=1 to make this proc work in the background.
while(1) //Infinite loop, apparently?
step(src,EAST)
sleep(5)

Loops make things less repetitive.
In response to Kaiochao
Oh, for start there's more to it it's just a long path. (7 Easts,3 Norths,12 Easts)
In response to Choka
for(var/easts=7,easts,easts--)
step(src,EAST)
sleep(5)
for(var/norths=3,norths,norths--)
step(src,NORTH)
sleep(5)
for(var/easts=12,easts,easts--)
step(src,EAST)
sleep(5)

Same concept, really.