If you define a variable that's a number, and you don't explicitly make it into a float, it is capped at INT_MAX. This is very unintuitive unless you know BYOND's DM compiler has cursed internals.
Numbered Steps to Reproduce Problem:
run the code
Code Snippet (if applicable) to Reproduce Problem:
/world/New()
..()
var/obj/a/my = new
world.log << my.happy
world.log << my.sad
eval("")
shutdown()
/obj/a
var/happy = 6000000000000.0
var/sad = 6000000000000
Expected Results:
6e+12
6e+12
Actual Results:
6e+12
2.14748e+09
When does the problem NOT occur?
idk bro
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Happens in 514 also
Workarounds:
explicit float