But alas, it didn't work. :/
I want to make it so if the mob attempts to step NORTHEAST, they step east and then north.
=/ Is there a way to get something similar to this working?

Since you did not provide what the output was, I'm assuming that if a mob tries to move NORTHEAST, they move EAST then NORTHEAST. A simple fix that comes to mind almost immediately would be like:

mob/Move(l,d) // Thanks for using good var names XDvar/remain_d = dif((d&NORTH||d&SOUTH)&&l in oview(1,src))if(d&EAST){step(src,EAST);remain_d-=EAST} // Remember: EAST is really an integerelseif(d&WEST){step(src,WEST);remain_d-=WEST} step(src,remain_d)elsereturn ..()

Granted I just thought that up out of nowhere, so it may need some testing/debugging and whatnot. I hope it helps, at least some(especially since nobody else wanted to touch a piece of Ol' Yeller's code XD)

Post back any problems and such.

Hiead

[EDIT]
Also, you would probably want to throw in some checks and such. Consider:

X|---
|

Assume that X is a mob, and everything else is dense turfs/objs. If you tried to move NORTHEAST, and it was set to move EAST, then NORTH, You would only move NORTH, when you would probably want the mob to step NORTH, then EAST to make it around the corner.