runtime error: undefined proc or verb /list/Enter().
I have two environments: one uses pixel movement, the other uses tile movement, but both use the same hooks for atom/movable/Move() handling (with minor editing for pixel vs. tile movement).
Here's the problem section of code:
. = (moving_flags & MOVE_FLAG_FORCE) ? (args) : (can_move(newloc, dir) && on_move(newloc, dir))
if(.)
// using this line produces the run-time error posted above,
// but ONLY in ONE project.
. = ..(arglist(.))
// using this line poses no problems
//. = ..(.[1], .[2])
if(.)
on_moved(oloc, odir, move_source)
In my project that uses pixel movement, no run-time error is produced using the above setup. However, the tile movement project produces the error consistently.
Important to note though, it doesn't matter, pixel or tile movement, as I was able to reproduce the issue in a fresh environment using both pixel and tile movement.
In short, I don't know what the problem is exactly, only that there is some inconsistent behavior present here that's beyond the soft-code.
What I do know, though, is that arglist() is supposed to work with Move() according to the reference, as the latter accepts named arguments.
You can find a fresh demo here.
Expected Results: For Move() to return successfully without producing a run-time error despite parameters being valid.
Actual Results: Move() produces the run-time error posted above.
When does the problem NOT occur? Avoid using arglist() and instead directly input the arguments.
Workarounds:
http://www.byond.com/forum/?post=2185731