Code: Select all
1.14d Offset: B4C2C, 17A238, 17A261
*** The following code enables the respec option when the Akara menu is generated. ***
OLD CODE:
004B4C25 | E8 E6 76 1A 00 | CALL <game.sub_65C310> |
004B4C2A | 85 C0 | TEST EAX,EAX |
004B4C2C | 75 67 | JNE game.4B4C95 |
004B4C2E | A1 43 0D 7C 00 | MOV EAX,DWORD PTR DS:[7C0D43] |
004B4C33 | 6A 01 | PUSH 1 |
NEW CODE:
004B4C25 | E8 E6 76 1A 00 | CALL <game.sub_65C310> |
004B4C2A | 85 C0 | TEST EAX,EAX |
004B4C2C | EB 31 | JMP game.4B4C5F |
004B4C2E | A1 43 0D 7C 00 | MOV EAX,DWORD PTR DS:[7C0D43] |
004B4C33 | 6A 01 | PUSH 1 |
WHAT TO DO:
Switch the JNE to JMP game.4B4C5F
*** When the user presses ok in the respec screen, the command should execute ***
OLD CODE:
0057A231 | E8 DA 20 0E 00 | CALL <game.sub_65C310> |
0057A236 | 85 C0 | TEST EAX,EAX |
0057A238 | 0F 84 9D 05 00 00 | JE game.57A7DB |
0057A23E | 8B D6 | MOV EDX,ESI |
0057A240 | 8B CF | MOV ECX,EDI |
NEW CODE:
0057A231 | E8 DA 20 0E 00 | CALL <game.sub_65C310> |
0057A236 | 85 C0 | TEST EAX,EAX |
0057A238 | 90 | NOP |
0057A239 | 90 | NOP |
0057A23A | 90 | NOP |
0057A23B | 90 | NOP |
0057A23C | 90 | NOP |
0057A23D | 90 | NOP |
0057A23E | 8B D6 | MOV EDX,ESI |
0057A240 | 8B CF | MOV ECX,EDI |
WHAT TO DO:
NOP the JE so that we don't skip the respec execution code.
*** The following call is set in order to set the "has respec-ed" bit for this character,
and it will also disable it in the menu for the duration of this game session. ***
OLD CODE:
0057A25D | 8B D6 | MOV EDX,ESI |
0057A25F | 8B CF | MOV ECX,EDI |
0057A261 | E8 EA 5A 01 00 | CALL <game.sub_58FD50> |
0057A266 | E9 70 05 00 00 | JMP game.57A7DB |
0057A26B | 3D FF 01 00 00 | CMP EAX,1FF |
NEW CODE:
0057A25D | 8B D6 | MOV EDX,ESI |
0057A25F | 8B CF | MOV ECX,EDI |
0057A261 | 90 | NOP |
0057A262 | 90 | NOP |
0057A263 | 90 | NOP |
0057A264 | 90 | NOP |
0057A265 | 90 | NOP |
0057A266 | E9 70 05 00 00 | JMP game.57A7DB |
0057A26B | 3D FF 01 00 00 | CMP EAX,1FF |
WHAT TO DO:
NOP the CALL.