Post 13 lip 2015, o 14:41

[1.13c] Anya zawsze po rozmowie otwiera Portal

Anya otwiera Portal za każdym razem jak z nią porozmawiamy!

Aby Anya otwierała portal za każdym razem po rozmowie musimy wprowadzić dwie zmiany w kodzie.

Zmiany dotyczą pliku D2Game.dll.

Najpierw odszukujemy w kodzie takie oto miejsce:


  Kod:
Address   Hex dump          Command                                  Comments
6FC7D56A  |.  8B5424 10     MOV EDX,DWORD PTR SS:[LOCAL.0]
6FC7D56E  |.  5F            POP EDI
6FC7D56F  |.  5B            POP EBX
6FC7D570  |.  C685 86000000 MOV BYTE PTR SS:[EBP+86],0
6FC7D577  |>  8A85 87000000 MOV AL,BYTE PTR SS:[EBP+87]
6FC7D57D  |.  84C0          TEST AL,AL
6FC7D57F  |.  74 13         JZ SHORT 6FC7D594
6FC7D581  |.  8A85 88000000 MOV AL,BYTE PTR SS:[EBP+88]
6FC7D587  |.  84C0          TEST AL,AL
6FC7D589  |.  75 09         JNZ SHORT 6FC7D594
6FC7D58B  |.  8B42 08       MOV EAX,DWORD PTR DS:[EDX+8]
6FC7D58E  |.  56            PUSH ESI                                 ; /Arg1
6FC7D58F  |.  E8 ECFDFFFF   CALL 6FC7D380                            ; \D2Game.6FC7D380
6FC7D594  |>  5D            POP EBP
6FC7D595  |>  5E            POP ESI
6FC7D596  |.  59            POP ECX
6FC7D597  |.  C3            RETN
6FC7D598  |>  68 B8050000   PUSH 5B8
6FC7D59D  |.  E8 38CDFAFF   CALL <JMP.&Fog.#10265>                   ; Jump to Fog.#10265
6FC7D5A2  |.  50            PUSH EAX
6FC7D5A3  |.  68 F99FD16F   PUSH OFFSET 6FD19FF9
6FC7D5A8  |.  E8 15CDFAFF   CALL <JMP.&Fog.#10024>                   ; Jump to Fog.#10024
6FC7D5AD  |.  83C4 0C       ADD ESP,0C
6FC7D5B0  |.  6A FF         PUSH -1
6FC7D5B2  \.  E8 8554FAFF   CALL 6FC22A3C

Jest to moment w którym klikamy na Anyę w celu rozmowy.

Musimy tutaj wartości 74 13 oraz 75 09, zmienić na 90 90.


Następnie odszukujemy taki oto fragment kodu:


  Kod:
Address   Hex dump          Command                                  Comments
6FC7AE39  |.  E8 82F6FAFF   CALL <JMP.&D2Common.#10920>              ; \D2Common.#10920
6FC7AE3E  |.  0FB64E 6D     MOVZX ECX,BYTE PTR DS:[ESI+6D]
6FC7AE42  |.  8B7488 1C     MOV ESI,DWORD PTR DS:[ECX*4+EAX+1C]
6FC7AE46  |.  8D5424 08     LEA EDX,[LOCAL.0]
6FC7AE4A  |.  52            PUSH EDX                                 ; Arg2 => OFFSET LOCAL.0
6FC7AE4B      6A 7B         PUSH 7B
6FC7AE4D  |.  E8 B0FCFAFF   CALL <JMP.&D2Common.#10436>              ; Jump to D2Common.#10436
6FC7AE52  |.  85C0          TEST EAX,EAX
6FC7AE54  |.  0F84 D2000000 JZ 6FC7AF2C
6FC7AE5A  |.  8B4424 08     MOV EAX,DWORD PTR SS:[LOCAL.0]
6FC7AE5E  |.  50            PUSH EAX                                 ; /Arg2 => ARG.ECX
6FC7AE5F  |.  56            PUSH ESI                                 ; |Arg1

W tym miejscu sprawdzane jest czy mamy zaznaczony punkt przed Nihlathakiem. Trzeba tu wprowadzić zmianę aby brak punktu nie powodował bugów. Inaczej możemy mieć dwa Portale w grze jednocześnie kiedy Anya otworzy po rozmowie.

Zmieniamy tutaj wartość 7B na 00.
Motto:
Spoiler:

Grupa

Alchemic