ID:2709970
 
Resolved
An earlier fix to TILE_MOVEMENT_MODE and TILE_MOVER that prevented incorrect sliding behavior also accidentally caused all moves over 1 tile to be jumps for tile movers, even if that move was within step_size.
BYOND Version:514.1561
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 92.0.4515.159
Applies to:Dream Daemon
Status: Resolved (514.1562)

This issue has been resolved.
Been meaning to actually report this for a while. Sorry for being so slow.

Descriptive Problem Summary:
In TILE_MOVEMENT_MODE or for any atom with TILE_MOVER, all movement greater than a tile, even if less than or equal to step_size, is considered a jump.

Numbered Steps to Reproduce Problem:
1. Set a world to TILE_MOVEMENT_MODE.
2. Set an object/mob's step_size to two tiles.
3. Place an object it can't move past on a tile beside it.
4. Step it toward that object.
5. Watch it go right through.
6. Repeat but with the world on any other movement_mode and with the moving atom given TILE_MOVER.

Alternatively, place the object two tiles away and try to step onto it and watch the movement completely fail.

Expected Results:
If an atom moves by less than or equal to its step_size, the movement is considered a slide.

Actual Results:
It's considered a jump if it's more than one tile.

When does the problem NOT occur?
If the world is not on TILE_MOVEMENT_MODE and the moving object does not have TILE_MOVER.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
For TILE_MOVEMENT_MODE, this started in 514.1559, though there was a different bug related to TILE_MOVEMENT_MODE and slides/jumps before that.
I seem to recall something about it happening before that in the case of TILE_MOVER but I'm far from certain.

Workarounds:
Use LEGACY_MOVEMENT_MODE or PIXEL_MOVEMENT_MODE and manually ensure movement is tile-locked.
Do you have a test project for this? It'll be a lot easier to work with that so we're on the same page.
I have a garbage one at the moment. I'll try to throw together something usable tomorrow.
In response to Lummox JR
Lummox JR resolved issue with message:
An earlier fix to TILE_MOVEMENT_MODE and TILE_MOVER that prevented incorrect sliding behavior also accidentally caused all moves over 1 tile to be jumps for tile movers, even if that move was within step_size.