locate() in area does not work, returning null
Numbered Steps to Reproduce Problem:
1. attempt to use locate() to find an object in an area
2. receive null
Code Snippet (if applicable) to Reproduce Problem:
/world
maxx = 20
maxy = 20
/world/New()
var/obj/find = new /obj(locate(1,1,1))
var/obj/locatefind1 = locate(/obj) in world
var/obj/locatefind2 = locate(/obj) in find.loc.loc // area
var/obj/locatefind3 = locate(/obj) in find.loc // turf
world.log << "Search object: [find]|[find.type]|\ref[find]"
world.log << "Found object 1: [locatefind1]|[locatefind1 ? locatefind1.type : "*null*"]|\ref[locatefind1]"
world.log << "Found object 2: [locatefind2]|[locatefind2 ? locatefind2.type : "*null*"]|\ref[locatefind2]"
world.log << "Found object 3: [locatefind3]|[locatefind3 ? locatefind3.type : "*null*"]|\ref[locatefind3]"
del(src)
Expected Results:
Search object: the obj|/obj|[ref]
Found object 1: the obj|/obj|[ref]
Found object 2: the obj|/obj|[ref]
Found object 3: the obj|/obj|[ref]
Actual Results:
Search object: the obj|/obj|[0x2000000]
Found object 1: the obj|/obj|[0x2000000]
Found object 2: |*null*|[0x0]
Found object 3: the obj|/obj|[0x2000000]
Does the problem occur:
Every time? Or how often?Every time
In other games? N/A
In other user accounts? Unknown
On other computers? Unknown
When does the problem NOT occur? Unknown
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Working in 509.1305 and earlier
Broken in 509.1306 and on
Workarounds: loop over turfs in the area?