proc
jump(dist)
move&=~NORMAL
move|=JUMPING
movedelay-=3
var/t
while(t<dist)
t+=2
pixel_y+=2
for(var/atom/d in get_step(src,dir))
if(t>=height)
world<<d
Move(d,dir,1)
if(pixel_y>dist)pixel_y=dist
sleep(1)
while(t>=0)
t-=2
pixel_y-=2
if(pixel_y<0)pixel_y=0
for(var/atom/d in get_step(src,dir))
if(t>=height)
world<<d
Move(d,dir,1)
sleep(1)
movedelay+=3
move&=~JUMPING
move|=NORMAL
return 1
mob
Move(l,d,t)
if(move&(JUMPING|FROZEN))
if(t)
if(move&JUMPING)return 1
else return ..()
return
if(move&NORMAL)
if(move&MOVING)return
move|=MOVING
..()
sleep(movedelay)
move&=~MOVING
if(move&TURNWALK)
if(dir==d)return ..()
dir=d
Problem description:
=/
It's not really...moving. I just stay there. =/ The only thing I think that may be wrong is me adding an extra arg to Move().
I'm pretty sure it effects everyone, and it's easy to make jump commands like that