Compiler bug. Performing an addition "1 + (1 == 1)" on the result of a comparison (equality, "<", &c.) causes alternately that statement to not be processed or the constant side of the addition to be ignored.
Only occurs if the constant is on the LEFT-HAND side of the addition. Appears to apply only to addition as far as I can tell in a few quick tests.
Code Snippet (if applicable) to Reproduce Problem:
/client/New()
..()
src << "A: [4 + (1 == 1)]"
var/b = 4 + (1 == 1)
src << "B: [b]"
Expected Results:
A: 5
B: 5
Actual Results:
B: 1
Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes, in a test project.
In other user accounts? Unknown.
On other computers? Unknown.
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.)
New in 512.1436
Workarounds:
Don't put constants on the LHS of additions which involve comparisons.