ID:138853
 
Code:
mob/Move(loc, dir, forced=0)
if(forced)
return ..()
moveTicks++
if(moveTicks >= 1000)
moveTicks= 0
..()
//Connect edges of the map
if(z in WRAP_PLANETS_LIST_NUMBERS)
if(x == world.maxx)
x= 2
if(y == world.maxy)
y= 2
if(x == 1)
x= world.maxx-1
if(y == 1)
y= world.maxy-1


Problem description:
I use this code to move characters. I added the extra parameter "forced" for when I want to manually move a character through code. Ever since I added it, the regular movement (using arrow keys) is all jerky, instead of sliding when a key is tapped, it jumps/teleports you to the next square.

Is the extra parameter not calling the proper Move() proc or something for the arrow keys anymore?

EDIT: Everything is doing this, even objects... How would the mob/Move() effect objects too?
You are trying to program it so the player does not move 1 tile? You can do that using Native Pixel Movement~~~

http://www.byond.com/members/ BYOND?command=view_post&post=117967
In response to Avainer1
No, that is just to add a delay to player movement.. So they can only move after so many ticks have passed
My guess is that the Move() proc now takes more than two arguments to support pixel movement. When you call ..(), it passes the same arguments that were passed to Move(). Your version of Move() understands that the third argument tells you if the move should be forced or not, but when you call ..() it interprets the third argument to be the change to step_x.

Try changing ..() to ..(loc, dir)
In response to Forum_account
Yes that was the problem, thanks very much.