ID:152368
 
Is the value returned from initial() a constant or evaluated value? What I mean is, when building the DMB for something like this:
mob
var/blah = 5
proc/Blah() return initial(blah)

Would it store the value for blah (5) as the value in the return statement, as if Blah() were defined to return 5, or does DreamSeeker have to evaluate that at run-time and ultimately arrive at the value 5.

I lean towards thinking that it is stored and constant, which is good---that would really keep things speedy---and makes sense (objects of course wouldn't be created at compile-time and therefore couldn't have initial() values, but types could have initial definitions), but then again we've all pretty much figured out that some things with the system are, well, weird, and I'd like to know exactly how this function operates.

Hiead
It's definitely evaluated at runtime. To make it a constant it would have to know the value at compile-time, even if it hasn't gotten to that object to compile it yet.

Lummox JR