Dif - disabled exp loosing after death [GAME 2019]:
Code:
This difference file is created by IDA Pro game 0003BF7D: E8 B8
Dif - changed MIN 8% exp loosing to 6% [GAME 2019]:
Code:
This difference file has been created by IDA Pro game 0003C0ED: 00 C0 0003C0EE: 35 27 0003C0EF: 0C 09
I will now explain how to create your % exp loosing. 00 35 0C in game = 0C 35 00 in normal hex (bytes reversing) = 800000 in dec - there are standard 8%. I set it to 6%, so in Windows calc I wrote in dec: 600000 and changed mode to hex. It showed 9 27 C0, looks like not full byte, yes? When you have situation like this, you must add 0 in the beggining. So now we've got 09 27 C0, the rule of bytes reversing says that we must reverse them, now we have C0 27 09 and in that structure we write it to game =)
Dif - disabled exp loosing after death [GAME 1875]:
Code:
This difference file has been created by IDA Pro game 0003B097: E8 B8
Dif - changed MIN 8% exp loosing to 6% [GAME 1875]:
Code:
This difference file has been created by IDA Pro game 0003B21E: 00 C0 0003B21F: 35 27 0003B220: 0C 09
Dif - disabled exp loosing after death [GAME 2089]:
Code:
This difference file has been created by IDA Pro game 0003C0DD: E8 B8
Dif - changed MIN 8% exp loosing to 6% [GAME 2089]:
Code:
This difference file has been created by IDA Pro game 0003C24D: 00 C0 0003C24E: 35 27 0003C24F: 0C 09
Source:
PHP Code:
v7 = CHARACTER::GetNextExp(a1);
v8 = *(_DWORD *)&aiExpLossPercents[4 * MINMAX(1, *(_BYTE *)(a1 + 1290), 99)] * v7 / 0x64u;
if ( (unsigned __int8)LC_IsYMIR() )
{
if ( (signed int)*(_BYTE *)(a1 + 1290) > 99 )
v8 = MIN(500000, v8);
else
v8 = MIN(200000, v8);
}
else
{
if ( (unsigned __int8)LC_IsEurope() )
v8 = MIN(800000, v8);
}







