String arguments can't be parsed as number literals in scripts
This causes some scripts of Illuminated Order not to work due to their setscale "0.3" calls. Such syntax is legal because Morrowind's and TESCS' compiler doesn't differentiate between numerical and string arguments.
A quick and dirty solution is to make expression parser's parseName understand the numerical arguments by trying to convert strings into numbers. Since the locale is guaranteed to be C locale and TESCS doesn't care about what comes after the number (it probably uses some kind of atof operation), std::stof can be used to do the conversion. If it throws an exception, great, the argument is most likely not a number at all and we can happily stop executing a clearly broken script. If not, after a successful conversion to a floating point number, the parser can just push a float literal (using pushFloatLiteral()) into the code. And hopefully argument parsing will be able to make sense of it.
Fixing this will make a lot of scripts in Illuminated Order work. Albeit it'll still be horribly broken. But hey, one stp at a time.