When instantiating a subtype of /image, if an argument is passed, the variables on the /image subtype will be reset to the values of variables declared on /image. This does not occur if no argument is passed.
Numbered Steps To Reproduce Problem:
1. Create an /image subtype, overriding an existing variable with a new, distinct, value. I.e. alpha = 100
2. Create a new instance of this subtype, passing a dummy argument to it.
3. Observe that the values of the variables of the subtype instance do not match the overriden variables on the subtype definition.
Code Snippet To Reproduce Problem:
/image/subtype
alpha = 100
/proc/main()
var/image/subtype/a = new /image/subtype
var/image/subtype/b = new /image/subtype("test_arg")
world.log << a.alpha
world.log << b.alpha
Expected Results:
For the initial values of the variables of the subtype to match the overriden values as declared on the subtype definition.
Actual Results:
The initial values of the variables of the subtype do not match the overriden values as declared on the subtype definition.
Does the problem occur:
Every time? Or how often? Every time.
In other games? Unknown.
In other user accounts? Unknown.
On other computers? Unknown.
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?
Unknown.
Workarounds:
Any logic performed in New() could be instead performed by a constructor proc for the image subtype.