Post 13 lip 2015, o 14:45

[1.13c] Aktywna kolumna 'gamble cost'

Aktywna kolumna Gamble Cost!

Kolumna 'gamble cost' odpowiedzialna jest za stała cenę przedmiotów w hazardzie. Przedmioty takie jak pierścienie oraz amulety mają ustaloną stałą cenę która jest wpisana w tą kolumnę. Niestety ale nie da się ustawić żadnym innym przedmiotom tej ceny bez wprowadzenia zmiany w kodzie gry.


Zmiana dotyczy pliku D2Common.dll.

Odszukujemy taki oto fragment kodu:


  Kod:
Address   Hex dump          Command                                  Comments
6FD748B1  |.  53            PUSH EBX
6FD748B2  |.  57            PUSH EDI
6FD748B3  |.  33DB          XOR EBX,EBX
6FD748B5  |.  33FF          XOR EDI,EDI
6FD748B7  |.  3D 72696E20   CMP EAX,206E6972
6FD748BC  |.  895424 14     MOV DWORD PTR SS:[LOCAL.3],EDX
6FD748C0  |.  896C24 10     MOV DWORD PTR SS:[LOCAL.4],EBP
6FD748C4  |.  0F84 76010000 JE 6FD74A40
6FD748CA  |.  3D 616D7520   CMP EAX,20756D61
6FD748CF  |.  0F84 6B010000 JE 6FD74A40
6FD748D5  |.  8B96 E4000000 MOV EDX,DWORD PTR DS:[ESI+0E4]
6FD748DB  |.  8B86 E8000000 MOV EAX,DWORD PTR DS:[ESI+0E8]
6FD748E1  |.  03C2          ADD EAX,EDX
6FD748E3  |.  99            CDQ
6FD748E4  |.  2BC2          SUB EAX,EDX
6FD748E6  |.  D1F8          SAR EAX,1
6FD748E8  |.  83F8 01       CMP EAX,1
6FD748EB  |.  7D 05         JGE SHORT 6FD748F2
6FD748ED  |.  B8 01000000   MOV EAX,1
6FD748F2  |>  8B96 E0000000 MOV EDX,DWORD PTR DS:[ESI+0E0]
6FD748F8  |.  0FAFD0        IMUL EDX,EAX
6FD748FB  |.  85C9          TEST ECX,ECX

Następnie funkcję JE 6FD74A40 zmieniamy na JMP 6FD74A40 czyli 0F84 76010000 zastępujemy E96C 01000090.
Motto:
Spoiler:

Grupa

Alchemic