ID:2814722
 
BYOND Version:514
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 104.0.0.0
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
Augmented paths (not sure what to call them) do not return 1 when ispath is called on them.

Numbered Steps to Reproduce Problem:
See code below.

Code Snippet (if applicable) to Reproduce Problem:

Case 1:
var/list/object_list = list(
/obj,
/obj{name="joe"},
/obj
)


for(var/k in object_list)
world.log << "path: [ispath(k)]"
world.log << "obj path: [ispath(k,/obj/)]"


Case 2:
var/list/object_list = list(
/obj,
/obj{name="joe"},
/obj
)


for(var/obj/k in object_list)
world.log << "path: [ispath(k)]"
world.log << "type: [istype(k)]"


Expected Results:
Case 1 and 2: The obj with the name "joe" will still be considered a path.

Actual Results:
Case 1: Index 1 and 3 returns 1 in both instances, while Index 2 returns 0 in both instances.

Case 2: Nothing is printed to log.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Seems core with BYOND.
In other user accounts? Yes.
On other computers? Yes.

When does the problem NOT occur?
When the augments are removed.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? Tried it in 513. Has the same result.

Workarounds:

None that I discovered.
These are actually "pops" and they're a special entity. I'm not sure if it's appropriate for ispath() to return true for them, although in general I think probably it should. However, getting a string representation is not going to be very doable unless that gets saved in the .dmb somehow.
Bless for the quick reply. I'll try to find a workaround for what I'm doing in the meantime.