Static vars in procs are now shared with children, where before they were not.
This has always been the case with static vars in datums, but not static vars local to procs.
Code Snippet (if applicable) to Reproduce Problem:
/datum/proc/test()
var/static/v
if(!v)
v = "parent"
world.log << v
/datum/sub/test()
var/static/v
if(!v)
v = "child"
world.log << v
/world/New()
var/datum/D = new()
var/datum/sub/S = new()
D.test()
S.test()
Expected Results:
parent
child
Actual Results:
parent
parent
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.)
This did not occur in 512.1448, but I haven't tested 1449-1451.
Workarounds:
Use different names for static vars in child procs.
If I'm right though, it means you definitely won't find this issue in any build prior to 1452.