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
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