Apparently, the 64-bit and the 32-bit builds of the game are showing different numbers in talent descriptions. For example, Duelist / Dual Weapon Mastery, at talent level 2, is showing 28% in the 64-bit build, but 29% in the 32-bit build, all other things being equal (same character etc). Assassination / Terrorize shows a 3,3,4,5,5 scaling in the 64-bit version, but 3,4,5,5,6 in the 32-bit one. These are just two examples, pretty much every talent is potentially affected.
Some screenshots:
32bit https://i.imgur.com/BqXNDVn.png
64bit https://i.imgur.com/TN4FTAU.png
As far as I have been able to gather, this is purely a display issue, the actual behavior of the game *seems* to be identical across both builds.
To marrow down the issue, I have tried placing the following code into game/loader/init.lua (it's a copy of combatTalentLimit, as used by dual weapon mastery at level 2):
Code: Select all
limit,low,high=1,0.6,0.80
x_low, x_high = 1,5
tl=2.6
p = limit*(x_high-x_low)
m = x_high*high - x_low*low
ah = (limit*(x_high*low-x_low*high)+ high*low*(x_low-x_high))/(high - low)
res=(limit*tl + ah)/(tl + (p-m)/(high - low))*100
print (([[DEBUG p=%f, m=%f, ah=%f, res=%f]]):format(p,m,ah,res))
print (([[DEBUG DISPLAYED RESULT IS %d]]):format(100-res))
Code: Select all
game-64bit:
DEBUG p=4.000000, m=3.400000, ah=1.400000, res=71.428571
DEBUG DISPLAYED RESULT IS 28
game-32bit:
DEBUG p=4.000000, m=3.400000, ah=1.400000, res=71.428571
DEBUG DISPLAYED RESULT IS 29
For weapon damage, this is a minor issue - whether the actual value is 110% or 111% doesn't really matter. For turn-count scaling, however, the issue becomes significant - oftentimes, the talent desc would tell you that +1 level will get you +1 turn of some effect, when in reality, it would not (or vice versa).
Curiously, I have attempted to execute the above lua code in plain lua-5.1 interpreters (64bit and 32bit), and both are giving identical results (28). It seems that the string:format function in the game's lua build is somehow modified, and the modification only affects 32bit builds - which practically means the majority of users, as the windows version is only available in 32bit.
I haven't tested older versions, so I do not know whether they are affected as well.