ID:1923131
 
BYOND Version:508
Operating System:Windows 7 Home Basic
Web Browser:Chrome 44.0.2403.157
Applies to:Dream Daemon
Status: Unverified

Thus far we've been unable to verify or reproduce this bug. Or, it has been observed but it cannot be triggered with a reliable test case. You can help us out by editing your report or adding a comment with more information.
Descriptive Problem Summary:
Locate doesn't seem to find atoms in contents after being re-loaded.
Numbered Steps to Reproduce Problem:
Create an object. Manually set it's tag. Save the object in contents.
Reload the save file and try to grab the object by what should be it's tag.
(Doesn't work.)

Code Snippet (if applicable) to Reproduce Problem:
var/obj/Skill/S=locate(wh) in src.contents
if(S)
world<<"Found"


Expected Results:
Upon creating a new item and setting it's tag it works, only seems to happen to saved atoms that have been stored in a save file then loaded.
Actual Results:
The atom isn't located by it's tag.
Does the problem occur:
Every time? Or how often?
Has been occurring for a while now even before I switched to 508
In other games?
Yes.
In other user accounts?
Yes.
On other computers?
Yes.
When does the problem NOT occur?
The code works as expected with new objects. Even after "prepping" the saved objects by making sure the tag is the corect value, searching an object in contents doesn't seem to work.

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

Workarounds:
Loop through the list and directly compare the value of the tag(works fine.)
As seen below
for(var/obj/Skill/S in src.contents)
if(S.tag==.)
S.Use(src)
break

I've moved this to Bug Reports since it isn't beta-specific. I've also changed the "Applies To" field because this is a server bug, not a bug in the code editor or compiler.
Ah ok my apologies for the mistakes.
I tried a simple test to reproduce this and I could not see the problem in action. I almost suspect the real issue you're having is that you have multiple objects with the same tag, which doesn't work with locate().
Lummox JR changed status to 'Unverified'
In response to Lummox JR
Hmm.None of the objects have the same tag.
Each skill has a different text value associated with it,I checked via output and looping through the objects.

This problem has persisted for a couple of months now (for me and a few of the players in a couple of my games)

While it's not a huge deal to just loop through the objects and get the same effect, locate would in effect be slightly faster so it's not really a huge deal. (Hence me just now making a post about it)
If you can get a demo to show this, it would help a lot. I tried something simple like saving an object with a tag, hard-deleting the object, then reloading it. locate() worked just peachy with the tag.
In response to Lummox JR
I can whip something up. I'll do it a bit later.