ID:91470
 
Resolved
About half of the /client type's vars did not appear in the client.vars list, although they were accessible via client.vars[varname].
BYOND Version:462
Operating System:Windows 7 Home Premium
Web Browser:Chrome 4.0.249.78
Applies to:DM Language
Status: Resolved (480)

This issue has been resolved.
Descriptive Problem Summary:
Some of a /client type's variables (seemingly the read-only ones) can be retrieved via its vars list, but are not found using vars.Find(). This is annoying because it makes it impossible to tell whether built in types (assuming this isn't limited to just /client) have a given variable.


Code Snippet (if applicable) to Reproduce Problem:
/client/verb/Test()
src<<"My key: [src.vars["key"]]"
src<<"My key exists (Find): [src.vars.Find("key")]"
src<<"My key exists (in): ["key" in src.vars]"


Expected Results:
The second line above displays the key variable's index in the vars list and the third returns 1.

Actual Results:
0 is displayed on both lines.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.

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.)
Not sure.

Workarounds:
Hard code all of the variables that can not be found and hope that nothing changes in later versions.
Any chance of looking at this again? It would be still helpful if it could be fixed.