ID:2959655
 
Resolved
The change to pixloc to include bounds wasn't working when reading atom.pixloc for movables. Additionally, setting atom.loc to a pixloc directly didn't work correctly with bounds.
BYOND Version:516.1649
Operating System:Windows 11 Home 64-bit
Web Browser:Firefox 133.0
Applies to:Dream Daemon
Status: Resolved (516.1650)

This issue has been resolved.
Descriptive Problem Summary:Movement breaks when setting bound_x/y while using pixlocs/vectors with Move(). Setting bound_x/y will have the mob ignore the correct input and beeline along the relevant axis opposite the value set to bound_x/y. (bound_x = 8; the player will beeline towards the left no matter the input).

This can be circumvented if instead of doing Move(pixloc + vector()) you do Move(bound_pixloc(src, SOUTHWEST) + vector()).

Test Case: https://discord.com/channels/725444629172060262/ 725458744711839873/1326555427110125588

Expected Results: Normal movement.

Actual Results: Broken movement.

When does the problem NOT occur? When using bound_pixloc(src, SOUTHWEST) instead of src.pixloc inside of Move()



I also have this issue. I also believe that step(src,vector,speed) is broken in that similarly to this example it seems to ignore the speed variable in certain inconsistent situations. It is fixed by simply setting step_size = speed but I can confirm its a new bug with 1649.
Lummox JR resolved issue with message:
The change to pixloc to include bounds wasn't working when reading atom.pixloc for movables. Additionally, setting atom.loc to a pixloc directly didn't work correctly with bounds.
My issue with step I acknowledge I need to more fully understand and do a test case for but am at work currently. If its unrelated I'll submit a separate bug report.

Login to reply.