Login | Register


All times are UTC - 5 hours


It is currently Thu Mar 28, 2024 9:05 am




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: Arcane sanctuary quest help
PostPosted: Sun Jan 31, 2016 9:08 pm 

Joined: Tue Sep 01, 2009 9:19 pm
Posts: 622
Location: Reno NV
I've been working on a side project based around HU on and off for a while now, and finally getting interest to work on it more, but unfortunately the arcane sanctuary quest is bugged(says cannot complete after opening journal). I just can't seem to pinpoint the problem, as I've edited a ton of shit on this mod including dlls(though I've tested these with original files to verify they aren't causing it). D2txtanaylzer doesn't show any game breaking problems. I've checked the arcane chamber ds1 and it appears to be the original that came with 1.3f. I've scoured phrozen keep for an answer to no avail.

Anyway this is mostly a crapshoot, but figured it was worth a shot to ask Kev and the big boy modders if they can think of a problem that would cause this. I can provide the text files by request if anyone is interested in helping.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Mon Feb 01, 2016 10:43 am 
Game Server Host
User avatar

Joined: Mon Aug 31, 2009 12:33 am
Posts: 4291
The quest is hardcoded to the level ID of the original arcane sanctuary. The small map that has the book has to have the right level ID. I ran into that problem and a few others when I rebuilt/arranged existing levels.

It's an easy fix:

Remove level ID check on horazons journal quest:
=====================================================================================
D2Game.dll
00073C07 75 57 JNZ SHORT 00073C60 ;NOP
-------------------------------------------------------------------------------------------------------------

Here's an old list of offsets i kept for random stuff in case you need it. 'Scuse the formatting :P






Code:
===================================================================================
Decrease boss damage to summons: Base Address 6FC31000
===================================================================================
D2Game: 6FCBF939     ADD ESI,190 (400%)    ;changed to  :ADD ESI,12C (300%)

===================================================================================
Decrease max resist:Base Address 6FC31000
===================================================================================
D2Game: 6FCBFC20    ADD EAX,4B         ;changed 4B (75) to 32 (50)

-----------------------------------------------------------------------------------

D2 Client: 6FAD0C87     Add EDP, 4B     ;Changed 4B (75) to 32 (50)
Base Address: 6FAA1000

===================================================================================


Quest Stuff
===================================================================================
akaras ring reward chnged to new item and difficulty dependant
===================================================================================
AKARA: RING REWARD             charm codes zz34, zz35, zz36  Base Address 6FC31000
===================================================================================

Jump:
6FC9B49C   E9 A9B50800      JMP D2Game.6FD26A4A

New Code:
6FD26A4A   33C9             XOR ECX,ECX
6FD26A4C   8A4D 6D          MOV CL,BYTE PTR SS:[EBP+6D]        ; Get Difficulty
6FD26A4F   49               DEC ECX                ; -1
6FD26A50   74 0D            JE SHORT D2Game.6FD26A5F        ; Jump if equal (nightmare is equal)
6FD26A52   49               DEC ECX                ; -1
6FD26A53   75 14            JNZ SHORT D2Game.6FD26A69        ; Jump if not zero (normal is not zero)
6FD26A55   68 7A7A3336      PUSH 36337A7A            ; Hell Item Code (reversed)
6FD26A5A  ^E9 424AF7FF      JMP D2Game.6FC9B4A1            ; Jump back to regular code
6FD26A5F   68 7A7A3335      PUSH 35337A7A            ; Nightmare Item Code (reversed)
6FD26A64  ^E9 384AF7FF      JMP D2Game.6FC9B4A1            ; Jump back to regular code
6FD26A69   68 7A7A3334      PUSH 34337A7A            ; Normal Item Code (reversed)
6FD26A6E  ^E9 2E4AF7FF      JMP D2Game.6FC9B4A1            ; Jump back to regular code

====================================================================================
ormus ring reward changed to new difficulty dependant item
====================================================================================

ORMUS: RING REWARD     Ormus Jewels, zz43 zz45 zz46   (Custom Code) Base Address 6FC31000
====================================================================================

New Code:           
6FD26A73   33C0             XOR EAX,EAX               
6FD26A75   8A41 6D          MOV AL,BYTE PTR DS:[ECX+6D]        ; Get Difficulty
6FD26A78   48               DEC EAX                ; -1
6FD26A79   74 0D            JE SHORT D2Game.6FD26A88        ; Jump if equal (nightmare is equal)
6FD26A7B   48               DEC EAX                ; -1
6FD26A7C   75 14            JNZ SHORT D2Game.6FD26A92        ; Jump if not zero (normal is not zero)
6FD26A7E   68 7A7A3436      PUSH 36347A7A            ; Hell Item Code (reversed)
6FD26A83  ^E9 7C2CF8FF      JMP D2Game.6FCA9704            ; Jump back to regular code
6FD26A88   68 7A7A3435      PUSH 35347A7A            ; Nightmare Item Code (reversed)
6FD26A8D  ^E9 722CF8FF      JMP D2Game.6FCA9704            ; Jump back to regualr code
6FD26A92   68 7A7A3433      PUSH 33347A7A            ; Normal Item Code (reversed)
6FD26A97  ^E9 682CF8FF      JMP D2Game.6FCA9704            ; Jump back to regular code

=====================================================================================
=====================================================================================

Qual-Khek's Rune Reward: Base Address 6FC31000
=====================================================================================
6FCB2357   PUSH 6
6FCB2359   PUSH 24
6FCB235B   PUSH EBP
6FCB235C   MOV DWORD PTR SS:[ESP+20],3              ;  number of runes granted
6FCB2364   CALL <JMP.&D2Common.#11107>
6FCB2369   TEST EAX,EAX
6FCB236B   JE SHORT D2Game.6FCB2377
6FCB236D   MOV DWORD PTR SS:[ESP+14],2
6FCB2375   JMP SHORT D2Game.6FCB238D
6FCB2377   PUSH 7
6FCB2379   PUSH 24
6FCB237B   PUSH EBP
6FCB237C   CALL <JMP.&D2Common.#11107>
6FCB2381   TEST EAX,EAX
6FCB2383   JE SHORT D2Game.6FCB238D
6FCB2385   MOV DWORD PTR SS:[ESP+14],1
6FCB238D   MOV EAX,DWORD PTR SS:[ESP+14]
6FCB2391   XOR EBX,EBX
6FCB2393   TEST EAX,EAX
6FCB2395   JLE D2Game.6FCB2448
6FCB239B   /MOV ECX,DWORD PTR DS:[EBX*4+6FD3CD78]   ;  reward rune list pointer
6FCB23A2   |MOV EDX,DWORD PTR DS:[EDI+C]
6FCB23A5   |PUSH 1                                  ; /Arg4 = 00000001
6FCB23A7   |PUSH 2                                  ; |Arg3 = 00000002
6FCB23A9   |PUSH 0                                  ; |Arg2 = 00000000
6FCB23AB   |PUSH ECX                                ; |Arg1
6FCB23AC   |MOV ECX,DWORD PTR DS:[EDI]              ; |
6FCB23AE   |CALL D2Game.6FC95DF0                    ; \D2Game.6FC95DF0
6FCB23B3   |TEST EAX,EAX
6FCB23B5   |JE SHORT D2Game.6FCB23BC
6FCB23B7   |MOV BYTE PTR SS:[ESP+13],1
6FCB23BC   |MOV EAX,DWORD PTR SS:[ESP+14]
6FCB23C0   |INC EBX
6FCB23C1   |CMP EBX,EAX
6FCB23C3   \JL SHORT D2Game.6FCB239B

======================================================================================

Rune Drop Table:Base Address 6FC31000
======================================================================================
6FD3CD78 72 30 37 20 72 30 38 20 72 30 39 20      r07 r08 r09   ; Changed to runeslabs
======================================================================================
======================================================================================

Lam-Essen's Tome increased to 15 stats:Base Address 6FC31000
======================================================================================
6FCA74C4   |.  6A 00                     PUSH 0
6FCA74C6   |.  6A 05                     PUSH 5            ; Changed to 15
6FCA74C8   |.  6A 04                     PUSH 4
6FCA74CA   |.  56                        PUSH ESI
6FCA74CB   |.  E8 EA430700               CALL <JMP.&D2Common.#10518>

======================================================================================
======================================================================================

Potion of Life Increased to 100 life:Base Address 6FC31000
======================================================================================
6FC48356   6A 00            PUSH 0
6FC48358   68 00140000      PUSH 1400        ;Changed to 6400 (from 20 hp to 100)
6FC4835D   6A 07            PUSH 7
6FC4835F   56               PUSH ESI
6FC48360   E8 55350D00      CALL <JMP.&D2Common.#10518>

======================================================================================
======================================================================================

Charsi Imbue:Base Address 6FC31000
======================================================================================
6FCCA295      BB 06000000   MOV EBX,6    ; changed to 7 (unique)
======================================================================================
======================================================================================

Cow King killed but can still open portal:Base Address 6FC31000
======================================================================================
6FC9C5D9   |.  6A 0A                     PUSH 0A
6FC9C5DB   |.  6A 04                     PUSH 4
6FC9C5DD   |.  8B4488 10                 MOV EAX,DWORD PTR DS:[EAX+ECX*4+10]
6FC9C5E7   |.  85C0                      TEST EAX,EAX
6FC9C5E9   |.  0F85 D5000000             JNZ D2Game.6FC9C6C4    ; NOP'd to remove check
               
======================================================================================
Changing the Aura Enchanted Table to new Skill ID's
======================================================================================
Hardcoded aura enchanted table:
6FD2EF68 (FEF68 in hex editor (XVI32))
############################################
00000000 00000000 01000000 06000000 62000000
00000000 00000000 01000000 06000000 66000000
00000000 00000000 01000000 05000000 6C000000
00000000 00000000 01000000 07000000 72000000
00000000 00000000 01000000 08000000 7B000000
00000000 00000000 01000000 08000000 7A000000
14000000 00000000 01000000 08000000 76000000
E7030000 00000000 00000000 01000000 67000000
############################################

Column 1 (level the monster has to be)
column 2 unknown
column 3 is aura enabled? (1=yes 0=no)
column 4 skill level factor (lower number = higher level)
column 5 SkillID in skills.txt

Changed to:
############################################
00000000 00000000 01000000 04000000 06020000 - skill ID 518
00000000 00000000 01000000 04000000 07020000 - skill ID 519
00000000 00000000 01000000 04000000 08020000 - skill ID 520
00000000 00000000 01000000 04000000 09020000 - skill ID 521
00000000 00000000 01000000 04000000 0A020000 - skill ID 522
00000000 00000000 01000000 04000000 0B020000 - skill ID 523
00000000 00000000 01000000 04000000 0C020000 - skill ID 524
00000000 00000000 01000000 04000000 OD020000 - skill ID 525
############################################
========================================================================
======================================================================
Changing the skill ID's of moncurse D2Game.dll (F97A0  in XVI32)
======================================================================
Moncurse Table:
############################################
F97A0  42 00 00 00 Amp
F97A4  48 00 00 00 Weaken
F97A8  4C 00 00 00 IM
F97AC  52 00 00 00 Life Tap
F97B0  57 00 00 00 Decrepify
F97B4  5B 00 00 00 Lower Resist
############################################
changed to:
############################################
F97A0  0E 02 00 00
F97A4  0F 02 00 00
F97A8  10 02 00 00
F97AC  11 02 00 00
F97B0  12 02 00 00
F97B4  13 02 00 00
############################################

=======================================================================

Change Fire Enchanted MonUMod missile Server Side: D2Game base address 6FC30000
=======================================================================
D2Game.dll:
6FC6C7C6                                                              .  6A 01                      PUSH 1
6FC6C7C8                                                              .  51                         PUSH ECX
6FC6C7C9                                                              .  52                         PUSH EDX
6FC6C7CA                                                              .  6A 00                      PUSH 0
6FC6C7CC                                                              .  6A 00                      PUSH 0
6FC6C7CE                                                              .  6A 01                      PUSH 1
6FC6C7D0                                                              .  6A 00                      PUSH 0
6FC6C7D2                                                              .  53                         PUSH EBX
6FC6C7D3                                                              .  BA 75000000                MOV EDX,75         ; Changed to missile 3AF
6FC6C7D8                                                              .  8BCE                       MOV ECX,ESI

=======================================================================

Change Fire Enchanted MonUMod missile Client side: D2Client base address 6FAA0000
=======================================================================
D2Client.dll:
6FB45300   8B4424 04        MOV EAX,DWORD PTR SS:[ESP+4]
6FB45304   83EC 10          SUB ESP,10
6FB45307   56               PUSH ESI
6FB45308   57               PUSH EDI
6FB45309   33FF             XOR EDI,EDI
6FB4530B   8BF1             MOV ESI,ECX
6FB4530D   3BC7             CMP EAX,EDI
6FB4530F   0F84 7D010000    JE d2client.6FB45492
6FB45315   8D4424 14        LEA EAX,DWORD PTR SS:[ESP+14]
6FB45319   8D4C24 10        LEA ECX,DWORD PTR SS:[ESP+10]
6FB4531D   50               PUSH EAX
6FB4531E   51               PUSH ECX
6FB4531F   56               PUSH ESI
6FB45320   E8 235B0200      CALL <JMP.&D2Common.#10379>
6FB45325   3BF7             CMP ESI,EDI
6FB45327   74 09            JE SHORT d2client.6FB45332
6FB45329   397E 10          CMP DWORD PTR DS:[ESI+10],EDI
6FB4532C   0F85 60010000    JNZ d2client.6FB45492
6FB45332   837C24 10 04     CMP DWORD PTR SS:[ESP+10],4
6FB45337   0F85 55010000    JNZ d2client.6FB45492
6FB4533D   8B06             MOV EAX,DWORD PTR DS:[ESI]
6FB4533F   83F8 02          CMP EAX,2
6FB45342   74 1F            JE SHORT d2client.6FB45363
6FB45344   83F8 03          CMP EAX,3
6FB45347   7E 05            JLE SHORT d2client.6FB4534E
6FB45349   83F8 05          CMP EAX,5
6FB4534C   7E 15            JLE SHORT d2client.6FB45363
6FB4534E   8B46 2C          MOV EAX,DWORD PTR DS:[ESI+2C]
6FB45351   3BC7             CMP EAX,EDI
6FB45353   74 08            JE SHORT d2client.6FB4535D
6FB45355   50               PUSH EAX
6FB45356   E8 CB550200      CALL <JMP.&D2Common.#10162>
6FB4535B   EB 0C            JMP SHORT d2client.6FB45369
6FB4535D   897C24 08        MOV DWORD PTR SS:[ESP+8],EDI
6FB45361   EB 0A            JMP SHORT d2client.6FB4536D
6FB45363   8B56 2C          MOV EDX,DWORD PTR DS:[ESI+2C]
6FB45366   8B42 0C          MOV EAX,DWORD PTR DS:[EDX+C]
6FB45369   894424 08        MOV DWORD PTR SS:[ESP+8],EAX
6FB4536D   8B06             MOV EAX,DWORD PTR DS:[ESI]
6FB4536F   53               PUSH EBX
6FB45370   83F8 02          CMP EAX,2
6FB45373   55               PUSH EBP
6FB45374   74 25            JE SHORT d2client.6FB4539B
6FB45376   83F8 03          CMP EAX,3
6FB45379   7E 05            JLE SHORT d2client.6FB45380
6FB4537B   83F8 05          CMP EAX,5
6FB4537E   7E 1B            JLE SHORT d2client.6FB4539B
6FB45380   8B46 2C          MOV EAX,DWORD PTR DS:[ESI+2C]
6FB45383   3BC7             CMP EAX,EDI
6FB45385   74 0E            JE SHORT d2client.6FB45395
6FB45387   50               PUSH EAX
6FB45388   E8 93550200      CALL <JMP.&D2Common.#10163>
6FB4538D   8BE8             MOV EBP,EAX
6FB4538F   896C24 24        MOV DWORD PTR SS:[ESP+24],EBP
6FB45393   EB 14            JMP SHORT d2client.6FB453A9
6FB45395   897C24 24        MOV DWORD PTR SS:[ESP+24],EDI
6FB45399   EB 0A            JMP SHORT d2client.6FB453A5
6FB4539B   8B4E 2C          MOV ECX,DWORD PTR DS:[ESI+2C]
6FB4539E   8B51 10          MOV EDX,DWORD PTR DS:[ECX+10]
6FB453A1   895424 24        MOV DWORD PTR SS:[ESP+24],EDX
6FB453A5   8B6C24 24        MOV EBP,DWORD PTR SS:[ESP+24]
6FB453A9   8B5C24 10        MOV EBX,DWORD PTR SS:[ESP+10]
6FB453AD   6A 01            PUSH 1
6FB453AF   57               PUSH EDI
6FB453B0   55               PUSH EBP
6FB453B1   53               PUSH EBX
6FB453B2   BA 75000000      MOV EDX,75                               ; CE missile
6FB453B7   8BCE             MOV ECX,ESI
6FB453B9   E8 3297FFFF      CALL d2client.6FB3EAF0
6FB453BE   8D7D 01          LEA EDI,DWORD PTR SS:[EBP+1]
6FB453C1   43               INC EBX
6FB453C2   6A 01            PUSH 1
6FB453C4   6A 00            PUSH 0
6FB453C6   57               PUSH EDI
6FB453C7   53               PUSH EBX
6FB453C8   BA 75000000      MOV EDX,75                               ; CE missile
6FB453CD   8BCE             MOV ECX,ESI
6FB453CF   E8 1C97FFFF      CALL d2client.6FB3EAF0
6FB453D4   4D               DEC EBP
6FB453D5   BA 75000000      MOV EDX,75                               ; CE missile
6FB453DA   6A 01            PUSH 1
6FB453DC   6A 00            PUSH 0
6FB453DE   55               PUSH EBP
6FB453DF   53               PUSH EBX
6FB453E0   8BCE             MOV ECX,ESI
6FB453E2   E8 0997FFFF      CALL d2client.6FB3EAF0
6FB453E7   BA 75000000      MOV EDX,75                               ; CE missile
6FB453EC   8BCE             MOV ECX,ESI
6FB453EE   8B4424 10        MOV EAX,DWORD PTR SS:[ESP+10]
6FB453F2   6A 01            PUSH 1
6FB453F4   48               DEC EAX
6FB453F5   6A 00            PUSH 0
6FB453F7   57               PUSH EDI
6FB453F8   50               PUSH EAX
6FB453F9   894424 24        MOV DWORD PTR SS:[ESP+24],EAX
6FB453FD   E8 EE96FFFF      CALL d2client.6FB3EAF0
6FB45402   BA AF030000      MOV EDX,3AF                              ; New Missile ID +3
6FB45407   8B4C24 14        MOV ECX,DWORD PTR SS:[ESP+14]
6FB4540B   6A 01            PUSH 1
6FB4540D   6A 00            PUSH 0
6FB4540F   55               PUSH EBP
6FB45410   51               PUSH ECX
6FB45411   8BCE             MOV ECX,ESI
6FB45413   E8 D896FFFF      CALL d2client.6FB3EAF0
========================================================================================
=======================================================================
Allow multiple instances without loader
=======================================================================
d2gfx.dll at 0x446A

change 74 to EB
=======================================================================

D2Game.dll Hex Offset: 21F6D
Original: 0F 8D AC 00 00 00
New : 90 90 90 90 90 90
================================================================================

Adding a limit for stats assigned by shift click:
================================================================================
D2Client:
Jump:
000315D3   E9 F9620000      JMP 000F624B          ;jump
000315D8   BE 01000000      MOV ESI,1
000315DD   EB 04            JMP SHORT 000315E3
000315DF   85F6             TEST ESI,ESI
000315E1   74 36            JE SHORT 00031619

New Code:
000F624B   85F6             TEST ESI,ESI
000F624D  ^0F84 C6B3F3FF    JE 00031619
000F6253   66:85C0          TEST AX,AX
000F6256   7C 0A            JL SHORT 000F6262
000F6258   BE 01000000      MOV ESI,1
000F625D  ^E9 81B3F3FF      JMP 000315E3
000F6262   83FE 06          CMP ESI,6
000F6265  ^0F8D 78B3F3FF    JLE 000315E3
000F626B   BE 06000000      MOV ESI,6
000F6270  ^E9 6EB3F3FF      JMP 000315E3
======================================================

Adding a Skill to necropet AI - d2Game base 6FC30000
======================
Original Code:
-----------------
6FD0CE4C   2D 6B010000      SUB EAX,16B ; Unit_id - 363 (skeleton warrior ID)
6FD0CE51   74 55            JE SHORT D2Game.6FD0CEA8 ; if unit_id = skeleton warrior id jump to skeleton_mastery effect
6FD0CE53   48               DEC EAX ; decrease unit_id with 1
6FD0CE54   0F85 FF000000    JNZ D2Game.6FD0CF59 ; if not zero jump, no skill added to pet
------------------

New Code:
------------
6FD0CE4C   3D 6B010000      CMP EAX,16B ; compare if unit_id 363 (skeleton warrior)
6FD0CE51   74 55            JE SHORT D2Game.6FD0CEA8 ; jump to add skeleton_mastery effect and skip to add skill to skeleton warriro
6FD0CE53   E9 969E0100      JMP D2Game.6FD26CEE ; jump to custom code
6FD0CE58   90               NOP
6FD0CE59   90               NOP
-----------------------------------------------------
Custom Code:
-----------------
6FD26CEE   3D 6C010000      CMP EAX,16C              ; Check if Necromage_id
6FD26CF3   74 0C            JE SHORT D2Game.6FD26D01 ; jump to add skill to unit
6FD26CF5   3D 79030000      CMP EAX,3CC              ; custom pet_id
6FD26CFA   74 05            JE SHORT D2Game.6FD26D01 ; jump to add skill to unit
6FD26CFC  ^E9 5862FEFF      JMP D2Game.6FD0CF59 ; jump to end
6FD26D01  ^E9 5461FEFF      JMP D2Game.6FD0CE5A ; skip adding skeleton_mastery effect and adding skill
===========================================================================================

Disable andariel and tyraels quest portals:
-------------------------------------------------
Andys TP:
6FC9EE34   6A 00            PUSH 0
6FC9EE36   6A 3B            PUSH 3B
6FC9EE38   6A 00            PUSH 0
6FC9EE3A   6A 01            PUSH 1
6FC9EE3C   51               PUSH ECX
6FC9EE3D   52               PUSH EDX
6FC9EE3E   57               PUSH EDI
6FC9EE3F   8BD6             MOV EDX,ESI
6FC9EE41   8BCB             MOV ECX,EBX
6FC9EE43   E8 A84F0700      CALL D2Game.6FD13DF0

Duri TP (tyrael)
6FCA4F85   6A 00            PUSH 0
6FCA4F87   6A 3B            PUSH 3B
6FCA4F89   6A 00            PUSH 0
6FCA4F8B   6A 28            PUSH 28
6FCA4F8D   52               PUSH EDX
6FCA4F8E   50               PUSH EAX
6FCA4F8F   8B46 0C          MOV EAX,DWORD PTR DS:[ESI+C]
6FCA4F92   50               PUSH EAX
6FCA4F93   E8 12670700      CALL 6FCA4F98   8B56 0C          MOV EDX,DWORD PTR DS:[ESI+C]
6FCA4F9B   8B4F 04          MOV ECX,DWORD PTR DS:[EDI+4]
6FCA4F9E   50               PUSH EAX
6FCA4F9F   E8 4CEE0600      CALL D2Game.6FD13DF0

6FC9EE34  till  6FC9EE43   for andy  (NOP)   (0x0
6FCA4F85  till   6FCA4FA3  for dury (NOP)   (0x074f85) - in raw .dll
=========================================================================================

Tyreals level id for act 2 quest 6:
-------------------------------------------

00075336   EB 04            JMP SHORT 0007533C   ; Changed from JE Short

=========================================================================================

Fix Book of Lore Plugin "area" column functionality:  (BOL.dll base 00000000)
-------------------------------------------------------------------------------------------------------------------------------------
00000F26   75 09            JNZ SHORT 00000F31      ; change to JE to force towns column restrictions to work outside of town (untested)

00000995  ^72 AF            JB SHORT 00000946       ; change to JNZ to force area column
-------------------------------------------------------------------------------------------------------------------

Remove level ID check on horazons journal quest:
=====================================================================================
D2Game.dll
00073C07   75 57            JNZ     SHORT 00073C60            ;NOP
--------------------------------------------------------------------------------------------------------------------

Remove Monster HP Rollover Cap:
---------------------------------------------

6FC607C9  CMP EDI,800000
6FC607CF  JL SHORT 6FC607D6    ; Change to JB
6FC607D1  MOV EDI,7FFFFF
==================================================================

Making WW ancient AI work for all units:
=============================================
Original Switch:
-------------------------
6FCEFBC0   . 85D2           TEST EDX,EDX
6FCEFBC2   . 75 05          JNZ SHORT D2Game.6FCEFBC9
6FCEFBC4   . 83C8 FF        OR EAX,FFFFFFFF
6FCEFBC7   . EB 03          JMP SHORT D2Game.6FCEFBCC
6FCEFBC9   > 8B42 04        MOV EAX,DWORD PTR DS:[EDX+4]
6FCEFBCC   > 2D 1C020000    SUB EAX,21C                              ;  Switch (cases 21C..21E)
6FCEFBD1     74 10          JE SHORT D2Game.6FCEFBE3
6FCEFBD3   . 48             DEC EAX
6FCEFBD4   . 74 08          JE SHORT D2Game.6FCEFBDE
6FCEFBD6   . 48             DEC EAX
6FCEFBD7     75 12          JNZ SHORT D2Game.6FCEFBE8                ;  Any unit other than ancients
6FCEFBD9   .^E9 32FEFFFF    JMP D2Game.6FCEFA10                      ;  Case 21E of switch 6FCEFBCC
6FCEFBDE   >^E9 BDFBFFFF    JMP D2Game.6FCEF7A0                      ;  Case 21D of switch 6FCEFBCC
6FCEFBE3   >^E9 08F8FFFF    JMP D2Game.6FCEF3F0                      ;  Case 21C of switch 6FCEFBCC
6FCEFBE8   > C2 0400        RETN 4                                   ;  Default case of switch 6FCEFBCC



---------------------------
Switch
-----------------------------------------------------------------------
6FCEFBC0   . 85D2           TEST EDX,EDX
6FCEFBC2   . 75 05          JNZ SHORT D2Game.6FCEFBC9
6FCEFBC4   . 83C8 FF        OR EAX,FFFFFFFF
6FCEFBC7   . EB 03          JMP SHORT D2Game.6FCEFBCC
6FCEFBC9   > 8B42 04        MOV EAX,DWORD PTR DS:[EDX+4]
6FCEFBCC   > 2D 1C020000    SUB EAX,21C                              ;  Switch (cases 21C..21E)
6FCEFBD1     74 10          JE SHORT D2Game.6FCEFBE3
6FCEFBD3   . 48             DEC EAX
6FCEFBD4   . 74 08          JE SHORT D2Game.6FCEFBDE
6FCEFBD6   . 48             DEC EAX
6FCEFBD7     75 12          JNZ SHORT D2Game.6FCEFBEB                ;any unit other than ancients jump further
6FCEFBD9   .^E9 32FEFFFF    JMP D2Game.6FCEFA10                      ;  Case 21E of switch 6FCEFBCC
6FCEFBDE   >^E9 BDFBFFFF    JMP D2Game.6FCEF7A0                      ;  Case 21D of switch 6FCEFBCC
6FCEFBE3   >^E9 08F8FFFF    JMP D2Game.6FCEF3F0                      ;  Case 21C of switch 6FCEFBCC
6FCEFBE8   > C2 0400        RETN 4                                   ;  Default case of switch 6FCEFBCC
6FCEFBEB    ^EB F6          JMP SHORT D2Game.6FCEFBE3                ; default to CAse 21c if not an ancient

================================================================================================================
Ancient AI Questlock:
-------------------------

6FCEFA2B      85C0          TEST EAX,EAX                 ;NOP
6FCEFA2D      0F85 72010000 JNZ D2Game.6FCEFBA5          ;NOP

6FCEF40F      85C0          TEST EAX,EAX                 ;NOP
6FCEF411      0F85 F5020000 JNZ D2Game.6FCEF70C          ;NOP

6FCEF7B9     /74 15         JE SHORT D2Game.6FCEF7D0     ; Change to JMP

================================================================

Change Palshift on entry .DC6:
=====================================
D2Client.dll 000000base

00081EDB   890D E8A1BB6F    MOV DWORD PTR DS:[6FBBA1E8],ECX
00081EE1   A1 F040B76F      MOV EAX,DWORD PTR DS:[6FB740F0]
00081EE6   6A 08            PUSH 1             ;   Pal shift index,  Changed to PUSH 8
00081EE8   99               CDQ
======================================

Change the color of tempered items names from green to purple:
-----------------------------------------------------------

D2Client
In inventory/stash:
6FAE36A3  |> C74424 18 0A00>MOV DWORD PTR SS:[ESP+18],0A        ; Changed to 0B (purple)

On ground:
6FB20795   EB 53            JMP SHORT D2Client.6FB207EA
6FB20797   BB 0A000000      MOV EBX,0A                 ;  Changed to 0B (Purple)
================================================================================

Changing monster resist cap to 95%:
================================================================================
D2 Client:
000815D3   83F8 64          CMP EAX,64            ; changed to 5f (95)
000815D6   7C 69            JL SHORT 00081641

D2Game:
0008FCA1   83FF 64          CMP EDI,64            ; changed to 5f (95)
0008FCA4   7C 05            JL SHORT 0008FCAB
0008FCA6   BF 64000000      MOV EDI,64            ; changed to 5f (95)
======================================================

Moving Stamina Bar
=============================
While using statfix.dll, moving it via d2client wont work so edits are made in statfix.dll
--------------------------------------------

Statfix.dll
------------------------------------------------------------------------
Height and Start Point:
Original
052A10B5  |. 6A 12          PUSH 12                                     ; height
052A10B7  |. 8B30           MOV ESI,DWORD PTR DS:[EAX]
052A10B9  |. A1 38202A05    MOV EAX,DWORD PTR DS:[<&d2client.#10009>>
052A10BE  |. D1FE           SAR ESI,1
052A10C0  |. 8B38           MOV EDI,DWORD PTR DS:[EAX]
052A10C2  |. 58             POP EAX
052A10C3  |. 99             CDQ
052A10C4  |. F73D 4C462A05  IDIV DWORD PTR DS:[52A464C]
052A10CA     83EE 5F        SUB ESI,5F                                  ;Y COORD
052A10CD     83EF 1B        SUB EDI,1B                                  ;X COORD
052A10D0     83C3 05        ADD EBX,5
052A10D3     8945 F4        MOV DWORD PTR SS:[EBP-C],EAX


Changed to (not enough space for coords so jump)
052A10B5  |. 6A 08          PUSH 8                                      ; Height
052A10B7  |. 8B30           MOV ESI,DWORD PTR DS:[EAX]
052A10B9  |. A1 38202A05    MOV EAX,DWORD PTR DS:[<&d2client.#10009>>
052A10BE  |. D1FE           SAR ESI,1
052A10C0  |. 8B38           MOV EDI,DWORD PTR DS:[EAX]
052A10C2  |. 58             POP EAX
052A10C3  |. 99             CDQ
052A10C4  |. F73D 4C462A05  IDIV DWORD PTR DS:[52A464C]
052A10CA     E9 B0050000    JMP StatFix.052A167F                     ;  jump down to coords
052A10CF     90             NOP                                     
052A10D0     83C3 05        ADD EBX,5
052A10D3     8945 F4        MOV DWORD PTR SS:[EBP-C],EAX
-----------------------------------------------------------------------

New Code for position:
052A167F   . 81EE 89000000  SUB ESI,89                               ; X COORD
052A1685   . 83EF 3B        SUB EDI,3B                               ; YCOORD
052A1688   . 83C3 05        ADD EBX,5
052A168B   .^E9 43FAFFFF    JMP StatFix.052A10D3                     ; JUMP BACK

------------------------------------------------------------------------



Mouseover and transparency:
--------------------------------------------------------------------------
053B11AD  |. 6A 02          |PUSH 2                     ; TRANSPARENCY
053B11AF  |. 894D C8        |MOV DWORD PTR SS:[EBP-38],ECX
053B11B2  |. FF75 E8        |PUSH DWORD PTR SS:[EBP-18]
053B11B5  |. 8D0C3A         |LEA ECX,DWORD PTR DS:[EDX+EDI]
053B11B8  |. 894D D4        |MOV DWORD PTR SS:[EBP-2C],ECX
053B11BB  |. 894D CC        |MOV DWORD PTR SS:[EBP-34],ECX
053B11BE  |. 52             |PUSH EDX
053B11BF  |. 50             |PUSH EAX
053B11C0  |. 8BD7           |MOV EDX,EDI
053B11C2  |. 8BCE           |MOV ECX,ESI
053B11C4  |. 8975 C0        |MOV DWORD PTR SS:[EBP-40],ESI           ; nopped to remove mouse over
053B11C7  |. 897D C4        |MOV DWORD PTR SS:[EBP-3C],EDI           ; nopped to remove mouse over
053B11CA  |. FF15 3C203B05  |CALL DWORD PTR DS:[<&d2client.#10005>]  ;  D2Client.6FB5B0F0
--------------------------------------------------------------------------

--------------------------------------------------------------------------
Length Original (not enough space for increase)
0540116A     6A 66          PUSH 66                                  ;  length
0540116C     FF75 F0        PUSH DWORD PTR SS:[EBP-10]
0540116F     FF75 EC        |PUSH DWORD PTR SS:[EBP-14]
05401172  |. E8 49030000    |CALL StatFix.054014C0
05401177  |. FF75 E0        |PUSH DWORD PTR SS:[EBP-20]
0540117A  |. FF75 DC        |PUSH DWORD PTR SS:[EBP-24]
0540117D  |. 52             |PUSH EDX
0540117E  |. 50             |PUSH EAX
0540117F  |. E8 8C020000    |CALL StatFix.05401410
05401184  |. 85C0           |TEST EAX,EAX                            ;
05401186  |. 7F 0A          |JG SHORT StatFix.05401192
05401188  |> 8B45 F4        |MOV EAX,DWORD PTR SS:[EBP-C]
0540118B  |. 03F8           |ADD EDI,EAX
0540118D  |. E9 D9000000    |JMP StatFix.0540126B
05401192     83F8 66        CMP EAX,66                               ;  length
05401195     7E 05          JLE SHORT StatFix.0540119C
05401197     6A 66          PUSH 66
----------------------------------------------------------------------------

Changed to:
0540116A     E9 DC040000    JMP StatFix.0540164B                     ;  jump to new code
0540116F     FF75 EC        |PUSH DWORD PTR SS:[EBP-14]
05401172  |. E8 49030000    |CALL StatFix.054014C0
05401177  |. FF75 E0        |PUSH DWORD PTR SS:[EBP-20]
0540117A  |. FF75 DC        |PUSH DWORD PTR SS:[EBP-24]
0540117D  |. 52             |PUSH EDX
0540117E  |. 50             |PUSH EAX
0540117F  |. E8 8C020000    |CALL StatFix.05401410
05401184  |. 85C0           |TEST EAX,EAX
05401186  |. 7F 0A          |JG SHORT StatFix.05401192               ;  jump back from new code
05401188  |> 8B45 F4        |MOV EAX,DWORD PTR SS:[EBP-C]
0540118B  |. 03F8           |ADD EDI,EAX
0540118D  |. E9 D9000000    |JMP StatFix.0540126B
05401192     E9 D5040000    JMP StatFix.0540166C                     ;  jump to new code
05401197     6A 66          PUSH 66
05401199  |. 58             |POP EAX                                 ;  jump back here
0540119A  |. EB 0B          |JMP SHORT StatFix.054011A7
----------------------------------------------------------------------------

New Code:
0540164B     68 26010000    PUSH 126                                 ;  jump in (length)
05401650     FF75 F0        PUSH DWORD PTR SS:[EBP-10]
05401653    ^E9 17FBFFFF    JMP StatFix.0540116F                     ;  jump back up and continue
05401658     FF75 E0        PUSH DWORD PTR SS:[EBP-20]
0540165B     FF75 DC        PUSH DWORD PTR SS:[EBP-24]
0540165E     52             PUSH EDX
0540165F     50             PUSH EAX
05401660     E8 ABFDFFFF    CALL StatFix.05401410
05401665     85C0           TEST EAX,EAX
05401667    ^E9 1AFBFFFF    JMP StatFix.05401186
0540166C     3D 26010000    CMP EAX,126                              ;  length
05401671    ^0F8E 25FBFFFF  JLE StatFix.0540119C
05401677     6A 66          PUSH 66
05401679    ^E9 1BFBFFFF    JMP StatFix.05401199
=============================================

Increase max size of health and mana bubbles
-----------------------------------------------------------------
D2Client
Mana:
6FAFFB8B   BB 50000000      MOV EBX,50                               ; Mana DC6 size

Health
6FAFF9F9   BB 50000000      MOV EBX,50                               ; Health DC6 size

_________________
Bron wrote:
There's no cure for being a cunt.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Fri Feb 05, 2016 6:45 pm 

Joined: Tue Sep 01, 2009 9:19 pm
Posts: 622
Location: Reno NV
Removing the ID check worked like a charm. Thank you good sir.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Sat Feb 06, 2016 5:45 pm 

Joined: Tue Sep 01, 2009 9:19 pm
Posts: 622
Location: Reno NV
Any chance you know the address of allowing elemental pierce to break immunities? I came across this feature in a D2Mod dll, but unfortunately it conflicts with other stuff I have going. Now that I think of it, it may have been custom code to get that working and not an easy dll edit. I'm sure you know better than me, lemme know man.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Sat Feb 06, 2016 7:21 pm 
Game Server Host
User avatar

Joined: Mon Aug 31, 2009 12:33 am
Posts: 4291
Yep

=========================
Pierce through immunities.
D2Game:
---------------------------------
0008FB8D 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
0008FB90 83F8 FF CMP EAX,-1
0008FB93 74 1E JE SHORT 0008FBB3
0008FB95 83FF 64 CMP EDI,64 ;check if monster is immune
0008FB98 7C 07 JL SHORT 0008FBA1 ; change to JMP
0008FB9A 8B4B 14 MOV ECX,DWORD PTR DS:[EBX+14]
0008FB9D 85C9 TEST ECX,ECX
0008FB9F 75 12 JNZ SHORT 0008FBB3

_________________
Bron wrote:
There's no cure for being a cunt.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Sun Feb 07, 2016 5:00 pm 

Joined: Sun Oct 27, 2013 5:12 am
Posts: 204
drrod wrote:
I've been working on a side project based around HU on and off for a while now, and finally getting interest to work on it more


lets get a link? :D


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Sun Feb 07, 2016 6:30 pm 

Joined: Tue Sep 01, 2009 9:19 pm
Posts: 622
Location: Reno NV
Pm'd

btw thanks again kev for the offsets. You da man.


Top
 Offline Profile  
Reply with quote  
 Post subject: Re: Arcane sanctuary quest help
PostPosted: Sun Feb 07, 2016 6:53 pm 
Game Server Host
User avatar

Joined: Mon Aug 31, 2009 12:33 am
Posts: 4291
I'll have to take a look too when I get some time :D.

I been keeping track of more offsets for code edits, I've been doing for 1.7 so let me know if you need anything else.

_________________
Bron wrote:
There's no cure for being a cunt.


Top
 Offline Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron