Change Qual-Kehk reward with difficulty level

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
strafano
Posts: 92
Joined: Mon Feb 19, 2018 12:43 am
Italy

Change Qual-Kehk reward with difficulty level

Post by strafano » Tue Dec 18, 2018 12:17 pm

Hi all,
Iknow it is possible to change quantity/quality of the runes obtained by Qual-Kehk quest. However, is it also possible to change the reward with the difficulty level?

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: Change Qual-Kehk reward with difficulty level

Post by devurandom » Wed Dec 19, 2018 3:04 am

Would be pretty easy to change reward. Reward per difficulty with pure asm would be easy too except that you need to make a long jump to slack space, do a check for difficulty (pGame+0x70), change lookup value, then make long jump back. Problem is .reloc will turn your long jumps into garbage as soon as the game loads, unless you add new entries to .reloc


Reference for 1.10:
viewtopic.php?t=25037

[1.13c]

Code: Select all

6FC7CB0C  |> \6A 06         PUSH 6                                  ; /Arg3 = 6
6FC7CB0E  |.  6A 24         PUSH 24                                 ; |Arg2 = 24
6FC7CB10  |.  57            PUSH EDI                                ; |Arg1
6FC7CB11  |.  C74424 20 030 MOV DWORD PTR SS:[ESP+20],3             ; |
6FC7CB19  |.  E8 4ADAFAFF   CALL <JMP.&D2Common.#10174>             ; \D2Common.#10174
6FC7CB1E  |.  85C0          TEST EAX,EAX
6FC7CB20  |.  74 0A         JZ SHORT 6FC7CB2C
6FC7CB22  |.  C74424 14 020 MOV DWORD PTR SS:[ESP+14],2
6FC7CB2A  |.  EB 16         JMP SHORT 6FC7CB42
6FC7CB2C  |>  6A 07         PUSH 7                                  ; /Arg3 = 7
6FC7CB2E  |.  6A 24         PUSH 24                                 ; |Arg2 = 24
6FC7CB30  |.  57            PUSH EDI                                ; |Arg1
6FC7CB31  |.  E8 32DAFAFF   CALL <JMP.&D2Common.#10174>             ; \D2Common.#10174
6FC7CB36  |.  85C0          TEST EAX,EAX
6FC7CB38  |.  74 08         JZ SHORT 6FC7CB42
6FC7CB3A  |.  C74424 14 010 MOV DWORD PTR SS:[ESP+14],1
6FC7CB42  |>  8B4424 14     MOV EAX,DWORD PTR SS:[ESP+14]
6FC7CB46  |.  33DB          XOR EBX,EBX
6FC7CB48  |.  85C0          TEST EAX,EAX
6FC7CB4A  |.  0F8E C5000000 JLE 6FC7CC15
6FC7CB50  |>  8B45 00       /MOV EAX,DWORD PTR SS:[EBP]  
6FC7CB53  |.  8B0C9D 38BCD2 |MOV ECX,DWORD PTR DS:[EBX*4+6FD2BC38]  ; ASCII 72,"07 r08 r09 r01 r02 r03 r04 r05 r06 r07 r08 r09 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26"
6FC7CB5A  |.  8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+0C]
6FC7CB5D  |.  6A 01         |PUSH 1                                 ; /Arg3 = 1
6FC7CB5F  |.  6A 02         |PUSH 2                                 ; |Arg2 = 2
6FC7CB61  |.  50            |PUSH EAX                               ; |Arg1 => [ARG.EDX]
6FC7CB62  |.  33C0          |XOR EAX,EAX                            ; |
6FC7CB64  |.  E8 0799FDFF   |CALL 6FC56470                          ; \D2Game.6FC56470
6FC7CB69  |.  85C0          |TEST EAX,EAX
6FC7CB6B  |.  74 05         |JZ SHORT 6FC7CB72
6FC7CB6D  |.  C64424 13 01  |MOV BYTE PTR SS:[ESP+13],1
6FC7CB72  |>  8B4424 14     |MOV EAX,DWORD PTR SS:[ESP+14]
6FC7CB76  |.  43            |INC EBX
6FC7CB77  |.  3BD8          |CMP EBX,EAX
6FC7CB79  |.^ 7C D5         \JL SHORT 6FC7CB50

A5Q2 Rune Table
6FD2BC38  72 30 37 20|72 30 38 20|72 30 39 20|72 30 31 20| r07 r08 r09 r01
6FD2BC48  72 30 32 20|72 30 33 20|72 30 34 20|72 30 35 20| r02 r03 r04 r05
6FD2BC58  72 30 36 20|72 30 37 20|72 30 38 20|72 30 39 20| r06 r07 r08 r09
6FD2BC68  72 31 30 20|72 31 31 20|72 31 32 20|72 31 33 20| r10 r11 r12 r13
6FD2BC78  72 31 34 20|72 31 35 20|72 31 36 20|72 31 37 20| r14 r15 r16 r17
6FD2BC88  72 31 38 20|72 31 39 20|72 32 30 20|72 32 31 20| r18 r19 r20 r21
6FD2BC98  72 32 32 20|72 32 33 20|72 32 34 20|72 32 35 20| r22 r23 r24 r25
6FD2BCA8  72 32 36 20|72 32 37 20|72 32 38 20|72 32 39 20| r26 r27 r28 r29
6FD2BCB8  72 33 30 20|72 33 31 20|                         r30 r31
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

Post Reply

Return to “Code Editing”