03-03-2003, 06:55 PM
Ruvanal,Feb 27 2003, 11:06 PM Wrote:A disscussion can be found here.Don't have time to read all that thread, plus not having a calculator here.
http://www.theamazonbasin.com/d2/forums/in...=35&t=19053&hl=
It appears that the bug will happen when the base_life*(1+Life_Bonus)>32767. The base_life is the amount adjusted by the player count in the game and the Life_Bonus is the total from all sources (Golem Mastery, Battle Orders, Oak Sage, Valkyrie inherent skill bonus, etc.). I was able to achieve the bug effect in a test mod game by just using a highly effective Battle Orders and a 2-player base life Clay Golem with Golem Mastery. Duplicated it again with a Valkyrie with a modded high +life bonus. But I did not try to pin down the exact point that this starts to happen.
For all practical purposes, the values of life and damage is stored in signed 4 byte values. Remember though to multiply the values by 256 for exatra precision.
Many calcs (like taking a percentage) will work by multiplying by 100 and then dividing. The problem with Static Filed was exactly due to that. To get ammount to reduce, it took the life (allready multiplied by 256), multiplied it by a further 100 before dividing by 33 (or whatever the percentage was) to get the ammount of life to remove. Those multiplications then drow the value above the 2^31 value seting the sign bit (or even rolling over even more into a low positive value). If it is that, the ammount should be the 32k multiplied by about 2.6 so arround 72k or so. No idea if that is the actual value though. But in 8 player games it certainly is much easier to get there.
Will come back and do some more calcs and read that other thread if needed :)
There are three types of people in the world. Those who can count and those who can't.