l2-unlegits/docs/exp_percent.txt
alexey.min 043d61633e Docs
2012-02-06 09:14:22 +00:00

24 lines
1.3 KiB
Plaintext

exp_table: array[0..85] of integer =
(
0, // level 0
1, 69, 364, 1169, 2885, 6039, 11288, 19424, 31379, 48230, //level 10
71203, 101678, 141194, 191455, 254331, 331868, 426289, 540001, 675597, 835863, //level 20
1023785, 1242547, 1495544, 1786380, 2118877, 2497078, 2925251, 3407898, 3949755, 4555797, //level 30
5231247, 5981577, 6812514, 7730045, 8740423, 9850167, 11066073, 12395216, 13844952, 15422930, //level 40
17137088, 18995666, 21007204, 23180551, 25524869, 28049636, 30764655, 33680053, 36806290, 40154163, //level 50
45525134, 51262491, 57383989, 63907912, 70853090, 80700832, 91162655, 102265882, 114038596, 126509653, //level 60
146308200, 167244337, 189364894, 212717908, 237352644, 271975263, 308443198, 346827154, 387199547, 429634523, //level 70
474207979, 532694979, 606322775, 696381369, 800225364, 900275364, 1000571463, 1100482881, 1200687304, 1300321654, //level 80
1400123456, 1550789123, 1680156789, 1850164821, 2099305232 //level 85
);
function PercentExp(lvl, Exp:integer):double;
var
Result:double;
begin
Result:=0;
if((lvl>=1)AND(lvl<=85))then Result:= (Exp-exp_table[lvl])/(exp_table[lvl+1]-exp_table[lvl])*100;
if(Result<0)then Result:=0;
PercentExp:=Result;
end;