[1.14d] Unlimited Respecs

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

Post Reply

0
No votes
 
Total votes: 0

FearedBliss
Posts: 82
Joined: Sat Oct 16, 2010 4:29 pm
United States of America

[1.14d] Unlimited Respecs

Post by FearedBliss » Sat Sep 30, 2017 7:15 pm

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.

Post Reply

Return to “Code Editing”