ID:2722055
 
Resolved
When moving a movable object from a turf into another movable, sometimes the old bounds weren't detected correctly, causing Uncrossed() to often not be called or possibly be called for multiple unrelated turfs.
BYOND Version:514
Operating System:Windows 7 Home Basic 64-bit
Web Browser:Firefox 56.0
Applies to:Dream Daemon
Status: Resolved (514.1569)

This issue has been resolved.
Descriptive Problem Summary:
When you Move() an obj into a non turf atom Uncrossed() is sometimes not called correctly on the things the obj Move()'d off of.

Numbered Steps to Reproduce Problem:
1.Move an obj's that loc is a turf into an obj via Move()
2.Watch as Uncrossed() is only sometimes called properly.


Code Snippet (if applicable) to Reproduce Problem:
https://www.dropbox.com/s/tqwv86shio3mvx8/ uncrossed%20when%20target%20not%20turf.zip?dl=1

1.Compile and run the code.
2.Click on a green apple to Move() it to the turf below the box object on your left.
This calls Uncrossed() as expected.
3.Click on a red apple to Move() it into the box object.
This will only sometimes call Uncrossed() as expected so you may have to click on several red apples.

Expected Results:
When an obj Move()s into another obj, Uncrossed() is called on any atoms the obj was overlapping.

Actual Results:
]obj.Move(obj) will do one of the following (seen during testing)
-Properly call Uncrossed().
-Call Uncrossed() on nearly everything between it an the right edge of the Z level.
-Call Uncrossed() on nearly everything between it and **the bottom right corner of the z level**.
-Not call Uncrossed() at all.

Does the problem occur:
Every time? Or how often?: Fairly often
In other games?: Yes
In other user accounts?: Yes
On other computers?: Yes

When does the problem NOT occur?
When you Move() an obj to a turf.

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.)
I know that this (or something similar) was around in 513 but didn't look deeper to make sure it had the same results.

Workarounds:
Nothing comes to mind.
Lummox JR resolved issue with message:
When moving a movable object from a turf into another movable, sometimes the old bounds weren't detected correctly, causing Uncrossed() to often not be called or possibly be called for multiple unrelated turfs.