ID:847291
 
(See the best response by Kaiochao.)
Code:
mob
proc
gravity()
for()
if(!jump)
fall = 1
var/atom/x = get_step(src,SOUTH)

if(x.density)
fall = 0
walk(src,0)
if(fall)
y-=1


sleep(1)

var/jump
var/fall


Problem description:

How do I make a fall proc that doesn't change the mobs dir.
Seems like move,step,y-1 all change their dir to SOUTH
Best response
Basically, you can store the direction before the move and reset the direction to it after.

Or, you can use Move() like this:
Move(get_step(src, SOUTH), dir)

Passing 'dir' to Move() sets your dir to that, regardless of where you've moved to.

Also, walk(src, 0) only stops previous calls to walk() or walk_to/towards(). It doesn't stop anything else.