When you turn a generator object into a string it returns something that, at a first glance, looks like it accurately represents the arguments passed to the generator() proc. That would be pretty handy for stuff like serialization of particle effects. However, at a second glance it is clear that the actual output is very different and it seems like this might not be intentional. If it is intentional I apologize.
EDIT: Seems like at least some of these issues might be applicable only to some generator types.
Numbered Steps to Reproduce Problem:
1.) Create a generator object with some arguments
2.) Turn it into a string and observe the strange output
Code Snippet (if applicable) to Reproduce Problem:
var/x = generator("circle", list(10, 10), 5, NORMAL_RAND)
world.log << "[x]"
Expected Results:
Presumably something like:
generator("circle", list(10, 10), 5, NORMAL_RAND)
Actual Results:
generator(338, GAUSS\_RAND, 0, 5
The arguments are in different order. GAUSS_RAND is not even a macro in DM. There is no closing parenthesis. The vector has been replaced by a 0. The "circle" has been replaced by 338.
Does the problem occur:
Every time? Or how often? Every time
In other games? Yes
In other user accounts? Yes
On other computers? Yes
When does the problem NOT occur?
N/A
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.)
In 514.1566 it seems that NORMAL_RAND instead displays as UNIFORM_RAND, other issues remain.
Workarounds:
In case you want to extract information about the generator again track it in a separate list whenever generator() gets called.