All code edits added in 1.7 are listed here if anyone wants to edit these in future.
Code:
Eth item reqs:
D2Common
-------------------------
00059916 74 06 JE SHORT 0005991E
00059918 83EF 0A SUB EDI,0A ; Change SUB to ADD (0A = Value to increase/decrease by)
0005991B 83ED 0A SUB EBP,0A ; Change SUB to ADD (0A = Value to increase/decrease by)
D2Client:
--------------------------
0004337D 74 06 JE SHORT 00043385
0004337F 83EB 0A SUB EBX,0A ; As above
00043382 83ED 0A SUB EBP,0A ; As above
Code:
Barb find potion item list table.
D2Game 00110548 in raw .dll Item table:
--------------------------------------------------------------------------
00110548 70 00 00 00 00 00 00 00 68 70 32 20 6D 70 32 20 p.......hp2 mp2
00110558 72 76 73 20 68 70 33 20 6D 70 33 20 72 76 73 20 rvs hp3 mp3 rvs
00110568 68 70 33 20 6D 70 33 20 72 76 73 20 68 70 34 20 hp3 mp3 rvs hp4
00110578 6D 70 34 20 72 76 6C 20 68 70 34 20 6D 70 34 20 mp4 rvl hp4 mp4
00110588 72 76 6C 20 68 70 34 20 6D 70 34 20 72 76 6C 20 rvl hp4 mp4 rvl
00110598 68 70 34 20 6D 70 35 20 72 76 6C 20 68 70 35 20 hp4 mp5 rvl hp5
001105A8 6D 70 35 20 72 76 6C 20 68 70 35 20 6D 70 35 20 mp5 rvl hp5 mp5
001105B8 72 76 6C 20 68 70 35 20 6D 70 35 20 72 76 6C 20 rvl hp5 mp5 rvl
001105C8 68 70 35 20 6D 70 35 20 72 76 6C 20 68 70 35 20 hp5 mp5 rvl hp5
001105D8 6D 70 35 20 72 76 6C 20 68 70 35 20 6D 70 35 20 mp5 rvl hp5 mp5
001105E8 72 76 6C 20 68 70 35 20 6D 70 35 20 72 76 6C 20 rvl hp5 mp5 rvl
001105F8 68 70 35 20 6D 70 35 20 72 76 6C 20 0F 00 00 00 hp5 mp5 rvl ...
00110608 43 3A 5C 70 72 6F 6A 65 63 74 73 5C 44 32 5C 68 C:\projects\D2\h
00110618 65 61 64 5C 44 69 61 62 6C 6F 32 5C 53 6F 75 72 ead\Diablo2\Sour
00110628 63 65 5C 44 32 47 61 6D 65 5C 53 4B 49 4C 4C 53 ce\D2Game\SKILLS
00110638 5C 53 6B 69 6C 6C 42 61 72 2E 63 70 70 00 00 00 \SkillBar.cpp...
Health pot + mana pot + rejuv type, per act pe defficulty (15 combinations total)
----------------------------------------------------------------------------
Code:
Merc clientside resist cap: D2Client
-----------------------------------------------------
0004DFC4 83C7 32 ADD EDI,32 50% before max res
0004DFC7 83FF 42 CMP EDI,42 66% after max res
0004DFCA 7C 05 JL SHORT 0004DFD1
0004DFCC BF 42000000 MOV EDI,42 66% after max res
==================================================
Code:
Remove the randomiser for number of additional items spawned at vendors:
-----------------------------------------------------
0009739A 33C0 XOR EAX,EAX
0009739C 8A41 03 MOV AL,BYTE PTR DS:[ECX+3]
0009739F 03C2 ADD EAX,EDX ; NOP to remove additional 1-3 items of same type
000973A1 33D2 XOR EDX,EDX
000973A3 8A51 02 MOV DL,BYTE PTR DS:[ECX+2]
000973A6 8BCA MOV ECX,EDX
000973A8 3BC1 CMP EAX,ECX
====================================================
Code:
Increase max ilvl for vendrs to sell whites
--------------------------------------------
000971F8 83FF 19 CMP EDI,19 ; ilvl to force magic
000971FB 7D 63 JGE SHORT 00097260
00097368 83FF 19 CMP EDI,19 ; ilvl to force magic
0009736B BA 01000000 MOV EDX,1
00097370 7C 22 JL SHORT 00097394
=====================================================
Code:
Adjust max ilvl of items sold by vendors in normal (NM/Hell already set to 99)
------------------------------------------------------------------------------
00097171 85C0 TEST EAX,EAX
00097173 74 3E JE SHORT 000971B3
00097175 8A40 22 MOV AL,BYTE PTR DS:[EAX+22]
00097178 C74424 44 0C0000>MOV DWORD PTR SS:[ESP+44],0C ; Act 1 max ilvl
00097180 3C 05 CMP AL,5
00097182 C74424 48 140000>MOV DWORD PTR SS:[ESP+48],14 ; Act 2 max ilvl
0009718A C74424 4C 1C0000>MOV DWORD PTR SS:[ESP+4C],1C ; Act 3 "" ""
00097192 C74424 50 240000>MOV DWORD PTR SS:[ESP+50],24 ; Act 4 "" ""
0009719A C74424 54 2D0000>MOV DWORD PTR SS:[ESP+54],2D ; Act 5 "" ""
000971A2 73 0F JNB SHORT 000971B3
000971A4 25 FF000000 AND EAX,0FF
========================================================
Code:
Changing A5Q2 Rune reward from Tal, Ral, Ort to Gul, Vex, Ohm
----------------------------------------------------------------------------
0008239B 8B0C9D 78CDD36F MOV ECX,DWORD PTR DS:[EBX*4+6FD3CD78] ; Rune Reward Pointer
6FD3CD78-6FC30000 Base:
10CD78 in unloaded Hex:
0010CD78 72 30 37 20 72 30 38 20 72 30 39 20 72 30 31 20 r07 r08 r09 r01
0010CD88 72 30 32 20 72 30 33 20 72 30 34 20 72 30 35 20 r02 r03 r04 r05
0010CD98 72 30 36 20 72 30 37 20 72 30 38 20 72 30 39 20 r06 r07 r08 r09
0010CDA8 72 31 30 20 72 31 31 20 72 31 32 20 72 31 33 20 r10 r11 r12 r13
0010CDB8 72 31 34 20 72 31 35 20 72 31 36 20 72 31 37 20 r14 r15 r16 r17
0010CDC8 72 31 38 20 72 31 39 20 72 32 30 20 72 32 31 20 r18 r19 r20 r21
0010CDD8 72 32 32 20 72 32 33 20 72 32 34 20 72 32 35 20 r22 r23 r24 r25
0010CDE8 72 32 36 20 72 32 37 20 72 32 38 20 72 32 39 20 r26 r27 r28 r29
0010CDF8 72 33 30 20 72 33 31 20 r30 r31
First 12 bytes = rune codes for A5Q2. 4 bytes per rune.
========================================================
Code:
Enabled Physical Pierce:
Passive Phys Pierce:
D2Game Hex: 10F098 - Changed FF FF FF FF to 78 01 00 00 (New Stat ID)
Change PLR so it is pierced by its own stat rather than pois pierce:
Passive PLR Pierce:
D2Game Hex: 10F1D0 - Changed 50 01 00 00 (Pois Pierce ID) to 79 01 00 00 (New Stat ID)
=========================================================
Code:
Ormus ring reward changed to difficulty dependant item that allows access to each level challenge
================================================================================================
Original:
000796FF 68 72696E20 PUSH 206E6972 ; PUSH RING CODE
Changed to:
000796FF E9 BFD30700 JMP 000F6AC3 ; JUMP TO FREE SPACE
New reward code:
000F6AC3 33C0 XOR EAX,EAX
000F6AC5 8A41 6D MOV AL,BYTE PTR DS:[ECX+6D] ; get difficulty
000F6AC8 48 DEC EAX ; -1
000F6AC9 74 0D JE SHORT 000F6AD8 ; jump if even (NM is equal)
000F6ACB 48 DEC EAX ; -1
000F6ACC 75 14 JNZ SHORT 000F6AE2 ;jump if not zero (normal is not zero)
000F6ACE 68 6F726D33 PUSH 336D726F ; push hell item (orm3)
000F6AD3 ^E9 2C2CF8FF JMP 00079704 ;jump back to original function
000F6AD8 68 6F726D32 PUSH 326D726F ; push nm item (orm2)
000F6ADD ^E9 222CF8FF JMP 00079704 ; jump back to original function
000F6AE2 68 6F726D31 PUSH 316D726F ; push normal item (orm1)
000F6AE7 ^E9 182CF8FF JMP 00079704 ; jump back to original function
000F6AEC C2 0400 RETN 4
=======================================================
Code:
Change Fire Enchanted MonUMod missile Server Side: both in raw .dll
=======================================================================
D2Game.dll:
0003C7C6 6A 01 PUSH 1
0003C7C8 51 PUSH ECX
0003C7C9 52 PUSH EDX
0003C7CA 6A 00 PUSH 0
0003C7CC 6A 00 PUSH 0
0003C7CE 6A 01 PUSH 1
0003C7D0 6A 00 PUSH 0
0003C7D2 53 PUSH EBX
0003C7D3 BA 74030000 MOV EDX,374 ; missile ID 884
0003C7D8 8BCE MOV ECX,ESI
0003C7DA E8 414C0A00 CALL 000E1420
D2Client:
000A53F2 6A 01 PUSH 1
000A53F4 48 DEC EAX
000A53F5 6A 00 PUSH 0
000A53F7 57 PUSH EDI
000A53F8 50 PUSH EAX
000A53F9 894424 24 MOV DWORD PTR SS:[ESP+24],EAX
000A53FD E8 EE96FFFF CALL 0009EAF0
000A5402 BA 74030000 MOV EDX,374 ;missile ID 884
000A5407 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
--------------------------------------------------------
========================================================
Code:
Changing auraenchanted 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 EF010000 - skill ID 495
00000000 00000000 01000000 04000000 F0010000 - skill ID 496
00000000 00000000 01000000 04000000 F1010000 - skill ID 497
00000000 00000000 01000000 04000000 F2010000 - skill ID 498
00000000 00000000 01000000 04000000 F3010000 - skill ID 499
00000000 00000000 01000000 04000000 F4010000 - skill ID 500
00000000 00000000 01000000 04000000 F5010000 - skill ID 501
00000000 00000000 01000000 04000000 F6010000 - skill ID 502
############################################
============================================
Code:
Changing moncurse table to new IDs
D2Game in XVI32:
############################################
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 E9 01 00 00
F97A4 EA 01 00 00
F97A8 EB 01 00 00
F97AC EC 01 00 00
F97B0 ED 01 00 00
F97B4 EE 01 00 00
############################################
===========================================
Code:
Change max resist cap to 50%
D2Game:
-------------------------------------------
0008FC20 83C0 32 ADD EAX,32 ; 50%
D2Client:
------------------------------------------
00030C87 83C5 32 ADD EBP,32 ; 50%
===========================================
Code:
Ring reward from akara made unique and difficulty dependant:
D2game:
-----------------------------------------
Original push changed to jump:
0006B49C E9 F5B50800 JMP 000F6A96
New Code:
000F6A96 33C9 XOR ECX,ECX
000F6A98 8A4D 6D MOV CL,BYTE PTR SS:[EBP+6D]
000F6A9B 49 DEC ECX
000F6A9C 74 0D JE SHORT 000F6AAB
000F6A9E 49 DEC ECX
000F6A9F 75 14 JNZ SHORT 000F6AB5
000F6AA1 68 72696E33 PUSH 336E6972 ;rin3 in hell
000F6AA6 ^E9 F649F7FF JMP 0006B4A1
000F6AAB 68 72696E32 PUSH 326E6972 ;rin2 in NM
000F6AB0 ^E9 EC49F7FF JMP 0006B4A1
000F6AB5 68 72696E31 PUSH 316E6972 ;rin1 in norm
000F6ABA ^E9 E249F7FF JMP 0006B4A1 ; return to original code
000F6ABF C2 0400 RETN 4
=========================================
Code:
Fixing manaburn:
D2Game:
----------------------------------------
0008EF09 C1E3 08 SHL EBX,8 ; changed to 2
0008EF0C 83FB 08 CMP EBX,8 ; changed to 2
0008EF0F 7D 0C JGE SHORT 0008EF1D
0008EF11 33C9 XOR ECX,ECX
0008EF13 85ED TEST EBP,EBP
0008EF15 0F9CC1 SETL CL
0008EF18 49 DEC ECX
0008EF19 23CD AND ECX,EBP
0008EF1B EB 1E JMP SHORT 0008EF3B
0008EF1D 6A 00 PUSH 0
0008EF1F 6A 3E PUSH 3E
0008EF21 56 PUSH ESI
0008EF22 E8 6BC70500 CALL 000EB692
0008EF27 C1E0 08 SHL EAX,8 ; changed to 2
0008EF2A 55 PUSH EBP
=========================================================
Code:
Change resistance bonus granted by fire/cold/light/pois chanted manaburn and mag resist to 33%
D2Game:
--------------------------------------------
Fire Enchanted:
0003B787 83F9 09 CMP ECX,9 ; MonUMod ID 9 (fire enchanted)
0003B78A 75 18 JNZ SHORT 0003B7A4
0003B78C 83C7 4B ADD EDI,4B ; 75% resistance, changed to 21 (33%)
0003B78F 6A 00 PUSH 0
0003B791 57 PUSH EDI
0003B792 6A 27 PUSH 27 ; Fire resist stat ID
0003B794 56 PUSH ESI
0003B795 E8 0E010B00 CALL 000EB8A8
0003B79A 5F POP EDI
0003B79B 5E POP ESI
0003B79C 5D POP EBP
0003B79D 5B POP EBX
0003B79E 83C4 0C ADD ESP,0C
0003B7A1 C2 0400 RETN 4
Cold Enchanted:
0003B7A4 83F9 12 CMP ECX,12 ; MonUMod 18 (cold enchanted)
0003B7A7 75 18 JNZ SHORT 0003B7C1
0003B7A9 83C3 4B ADD EBX,4B ; 75% resistance (changed to 21, 33%)
0003B7AC 6A 00 PUSH 0
0003B7AE 53 PUSH EBX
0003B7AF 6A 2B PUSH 2B ; cold resistance stat
0003B7B1 56 PUSH ESI
0003B7B2 E8 F1000B00 CALL 000EB8A8
0003B7B7 5F POP EDI
0003B7B8 5E POP ESI
0003B7B9 5D POP EBP
0003B7BA 5B POP EBX
0003B7BB 83C4 0C ADD ESP,0C
0003B7BE C2 0400 RETN 4
Lightning Enchanted
0003B7C1 83F9 11 CMP ECX,11 ; MonUMod 17 (lightning chanted)
0003B7C4 75 1C JNZ SHORT 0003B7E2
0003B7C6 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
0003B7CA 6A 00 PUSH 0
0003B7CC 83C0 4B ADD EAX,4B ; 75% resistance, changed to 21 (33%)
0003B7CF 50 PUSH EAX
0003B7D0 6A 29 PUSH 29 ; lightning resist stat ID
0003B7D2 56 PUSH ESI
0003B7D3 E8 D0000B00 CALL 000EB8A8
0003B7D8 5F POP EDI
0003B7D9 5E POP ESI
0003B7DA 5D POP EBP
0003B7DB 5B POP EBX
0003B7DC 83C4 0C ADD ESP,0C
0003B7DF C2 0400 RETN 4
Poison Enchanted
0003B7E2 83F9 17 CMP ECX,17 ; MonUMod 23, poison enchanted
0003B7E5 75 18 JNZ SHORT 0003B7FF
0003B7E7 83C5 4B ADD EBP,4B ; 75% resistance, changed to 21 (33%)
0003B7EA 6A 00 PUSH 0
0003B7EC 55 PUSH EBP
0003B7ED 6A 2D PUSH 2D ; poison resist stat ID
0003B7EF 56 PUSH ESI
0003B7F0 E8 B3000B00 CALL 000EB8A8
0003B7F5 5F POP EDI
0003B7F6 5E POP ESI
0003B7F7 5D POP EBP
0003B7F8 5B POP EBX
0003B7F9 83C4 0C ADD ESP,0C
0003B7FC C2 0400 RETN 4
Mana Burn:
0003B7FF 83F9 19 CMP ECX,19 ; MonUMod 25, manaburn
0003B802 75 18 JNZ SHORT 0003B81C
0003B804 83C0 14 ADD EAX,14 ; 20% resistance, left alone for now
0003B807 6A 00 PUSH 0
0003B809 50 PUSH EAX
0003B80A 6A 25 PUSH 25 ; magic resist stat
0003B80C 56 PUSH ESI
0003B80D E8 96000B00 CALL 000EB8A8
0003B812 5F POP EDI
0003B813 5E POP ESI
0003B814 5D POP EBP
0003B815 5B POP EBX
0003B816 83C4 0C ADD ESP,0C
0003B819 C2 0400 RETN 4
Spectral Hit:
0003B81C 83F9 1B CMP ECX,1B ; MonUMod 27 Spectral Hit
0003B81F 75 75 JNZ SHORT 0003B896
0003B821 83FB 4B CMP EBX,4B ; compare resistance to 75%
0003B824 7D 17 JGE SHORT 0003B83D ; skip adding resistance if resistance is > 75
0003B826 83C3 14 ADD EBX,14 ; 20% resist left alone for now
0003B829 6A 00 PUSH 0
0003B82B 53 PUSH EBX
0003B82C 6A 2B PUSH 2B ; cold resist stat ID
0003B82E 56 PUSH ESI
0003B82F E8 74000B00 CALL 000EB8A8
0003B834 83FB 64 CMP EBX,64
0003B837 7C 04 JL SHORT 0003B83D
0003B839 FF4424 20 INC DWORD PTR SS:[ESP+20]
0003B83D 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
0003B842 7D 65 JGE SHORT 0003B8A9
0003B844 83FF 4B CMP EDI,4B ;compare resistance to 75%
0003B847 7D 17 JGE SHORT 0003B860 ; skip if resist is >75%
0003B849 83C7 14 ADD EDI,14 ; 20% resist left alone for now
0003B84C 6A 00 PUSH 0
0003B84E 57 PUSH EDI
0003B84F 6A 27 PUSH 27 ; fire resist stat
0003B851 56 PUSH ESI
0003B852 E8 51000B00 CALL 000EB8A8
0003B857 83FF 64 CMP EDI,64
0003B85A 7C 04 JL SHORT 0003B860
0003B85C FF4424 20 INC DWORD PTR SS:[ESP+20]
0003B860 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
0003B865 7D 42 JGE SHORT 0003B8A9
0003B867 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
0003B86B 83FF 4B CMP EDI,4B ; compare resistance to 75
0003B86E 7D 39 JGE SHORT 0003B8A9 ; skip if resist is > 75%
0003B870 83C7 14 ADD EDI,14 ; 20% resist left alone for now
0003B873 6A 00 PUSH 0
0003B875 57 PUSH EDI
0003B876 6A 29 PUSH 29 ; lightning resist
0003B878 56 PUSH ESI
0003B879 E8 2A000B00 CALL 000EB8A8
0003B87E 83FF 64 CMP EDI,64
0003B881 7C 26 JL SHORT 0003B8A9
0003B883 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
0003B887 5F POP EDI
0003B888 40 INC EAX
0003B889 5E POP ESI
0003B88A 5D POP EBP
0003B88B 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
0003B88F 5B POP EBX
0003B890 83C4 0C ADD ESP,0C
0003B893 C2 0400 RETN 4
Stoneskin
0003B896 83F9 1C CMP ECX,1C ; monumod 28, stoneskin
0003B899 75 0E JNZ SHORT 0003B8A9
0003B89B 83C2 32 ADD EDX,32 ; 50% resistance, changed to 21, (33%)
0003B89E 6A 00 PUSH 0
0003B8A0 52 PUSH EDX
0003B8A1 6A 24 PUSH 24 ; damageresist stat
0003B8A3 56 PUSH ESI
0003B8A4 E8 FFFF0A00 CALL 000EB8A8
0003B8A9 5F POP EDI
0003B8AA 5E POP ESI
0003B8AB 5D POP EBP
0003B8AC 5B POP EBX
0003B8AD 83C4 0C ADD ESP,0C
0003B8B0 C2 0400 RETN 4
Magic Resistant
0003B6F9 83F9 08 CMP ECX,8 ; MonUMod 8, magic resist
0003B6FC 0F85 85000000 JNZ 0003B787
0003B702 83FB 64 CMP EBX,64 ;compare to 100% resist
0003B705 7D 17 JGE SHORT 0003B71E ; skip if monster has 100% resist already
0003B707 83C3 28 ADD EBX,28 ; 40% resist changed to 21, (33%)
0003B70A 6A 00 PUSH 0
0003B70C 53 PUSH EBX
0003B70D 6A 2B PUSH 2B ; cold res stat
0003B70F 56 PUSH ESI
0003B710 E8 93010B00 CALL 000EB8A8
0003B715 83FB 64 CMP EBX,64
0003B718 7C 04 JL SHORT 0003B71E
0003B71A FF4424 20 INC DWORD PTR SS:[ESP+20]
0003B71E 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
0003B723 0F8D 80010000 JGE 0003B8A9
0003B729 83FF 64 CMP EDI,64 ; compare to 100% resist
0003B72C 7D 17 JGE SHORT 0003B745 ; skip if monster is already immune
0003B72E 83C7 28 ADD EDI,28 ; 40% resist changed to 21 (33%)
0003B731 6A 00 PUSH 0
0003B733 57 PUSH EDI
0003B734 6A 27 PUSH 27 ; fire resist stat
0003B736 56 PUSH ESI
0003B737 E8 6C010B00 CALL 000EB8A8
0003B73C 83FF 64 CMP EDI,64
0003B73F 7C 04 JL SHORT 0003B745
0003B741 FF4424 20 INC DWORD PTR SS:[ESP+20]
0003B745 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
0003B74A 0F8D 59010000 JGE 0003B8A9
0003B750 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
0003B754 83FF 64 CMP EDI,64 ; compare to 100% resist
0003B757 0F8D 4C010000 JGE 0003B8A9 ; skip if monster is immune
0003B75D 83C7 28 ADD EDI,28 ; 40% resist changed to 21 (33%)
0003B760 6A 00 PUSH 0
0003B762 57 PUSH EDI
0003B763 6A 29 PUSH 29 ; lightning resist
0003B765 56 PUSH ESI
0003B766 E8 3D010B00 CALL 000EB8A8
0003B76B 83FF 64 CMP EDI,64
0003B76E 0F8C 35010000 JL 0003B8A9
0003B774 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
0003B778 5F POP EDI
0003B779 40 INC EAX
0003B77A 5E POP ESI
0003B77B 5D POP EBP
0003B77C 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
0003B780 5B POP EBX
0003B781 83C4 0C ADD ESP,0C
0003B784 C2 0400 RETN 4
-----------------------------------------------
Code:
D2Client edit for monster res from UMod: (required so the client is updated with the correct values of the UMod)
--------------
Fire Enchanted:
000A5014 83F9 09 CMP ECX,9 ; monUmod 9 fire chanted
000A5017 75 18 JNZ SHORT 000A5031
000A5019 83C7 4B ADD EDI,4B ; 75% resist bonus, changed to 21 (33%)
000A501C 6A 00 PUSH 0
000A501E 57 PUSH EDI
000A501F 6A 27 PUSH 27 ; fire resist stat
000A5021 56 PUSH ESI
000A5022 E8 E3590200 CALL 000CAA0A
000A5027 5F POP EDI
000A5028 5E POP ESI
000A5029 5D POP EBP
000A502A 5B POP EBX
000A502B 83C4 0C ADD ESP,0C
000A502E C2 0400 RETN 4
Cold Enchanted:
000A5031 83F9 12 CMP ECX,12 ; MonUMod 18, cold chanted
000A5034 75 18 JNZ SHORT 000A504E
000A5036 83C3 4B ADD EBX,4B ; 75% resistance bonus changed to 21 (33%)
000A5039 6A 00 PUSH 0
000A503B 53 PUSH EBX
000A503C 6A 2B PUSH 2B ; cold resist stat
000A503E 56 PUSH ESI
000A503F E8 C6590200 CALL 000CAA0A
000A5044 5F POP EDI
000A5045 5E POP ESI
000A5046 5D POP EBP
000A5047 5B POP EBX
000A5048 83C4 0C ADD ESP,0C
000A504B C2 0400 RETN 4
Lightning Enchanted:
000A504E 83F9 11 CMP ECX,11 ;MonUMod 17, light chanted
000A5051 75 1C JNZ SHORT 000A506F
000A5053 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
000A5057 6A 00 PUSH 0
000A5059 83C0 4B ADD EAX,4B ; 75% resistance bonus, changed to 21 (33%)
000A505C 50 PUSH EAX
000A505D 6A 29 PUSH 29 ; light resist stat
000A505F 56 PUSH ESI
000A5060 E8 A5590200 CALL 000CAA0A
000A5065 5F POP EDI
000A5066 5E POP ESI
000A5067 5D POP EBP
000A5068 5B POP EBX
000A5069 83C4 0C ADD ESP,0C
000A506C C2 0400 RETN 4
Poison Enchanted:
000A506F 83F9 17 CMP ECX,17 ; MonUMod 23, pois chanted
000A5072 75 18 JNZ SHORT 000A508C
000A5074 83C5 4B ADD EBP,4B ; 75% resistance bonus, changed to 21 (33%)
000A5077 6A 00 PUSH 0
000A5079 55 PUSH EBP
000A507A 6A 2D PUSH 2D ; pois resist stat
000A507C 56 PUSH ESI
000A507D E8 88590200 CALL 000CAA0A
000A5082 5F POP EDI
000A5083 5E POP ESI
000A5084 5D POP EBP
000A5085 5B POP EBX
000A5086 83C4 0C ADD ESP,0C
000A5089 C2 0400 RETN 4
Mana Burn:
000A508C 83F9 19 CMP ECX,19 ; MonUMod 25, mana burn
000A508F 75 18 JNZ SHORT 000A50A9
000A5091 83C0 14 ADD EAX,14 ; 20% resist bonus, left alone for now
000A5094 6A 00 PUSH 0
000A5096 50 PUSH EAX
000A5097 6A 25 PUSH 25 ; magic resist stat
000A5099 56 PUSH ESI
000A509A E8 6B590200 CALL 000CAA0A
000A509F 5F POP EDI
000A50A0 5E POP ESI
000A50A1 5D POP EBP
000A50A2 5B POP EBX
000A50A3 83C4 0C ADD ESP,0C
000A50A6 C2 0400 RETN 4
Spectral Hit:
000A50A9 83F9 1B CMP ECX,1B ; MonUMod 27, spectral Hit
000A50AC 75 75 JNZ SHORT 000A5123
000A50AE 83FB 4B CMP EBX,4B ; compare resistance to 100
000A50B1 7D 17 JGE SHORT 000A50CA ; skip if monster is already immune
000A50B3 83C3 14 ADD EBX,14 ; 20% resistance bonus left alone for now
000A50B6 6A 00 PUSH 0
000A50B8 53 PUSH EBX
000A50B9 6A 2B PUSH 2B ; cold resist stat
000A50BB 56 PUSH ESI
000A50BC E8 49590200 CALL 000CAA0A
000A50C1 83FB 64 CMP EBX,64
000A50C4 7C 04 JL SHORT 000A50CA
000A50C6 FF4424 20 INC DWORD PTR SS:[ESP+20]
000A50CA 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
000A50CF 7D 65 JGE SHORT 000A5136
000A50D1 83FF 4B CMP EDI,4B ; compare resistance to 100
000A50D4 7D 17 JGE SHORT 000A50ED ; skip if already immune
000A50D6 83C7 14 ADD EDI,14 ; 20% resistance, left alone for now
000A50D9 6A 00 PUSH 0
000A50DB 57 PUSH EDI
000A50DC 6A 27 PUSH 27 ; fire resist stat
000A50DE 56 PUSH ESI
000A50DF E8 26590200 CALL 000CAA0A
000A50E4 83FF 64 CMP EDI,64
000A50E7 7C 04 JL SHORT 000A50ED
000A50E9 FF4424 20 INC DWORD PTR SS:[ESP+20]
000A50ED 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
000A50F2 7D 42 JGE SHORT 000A5136
000A50F4 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
000A50F8 83FF 4B CMP EDI,4B ; compare resistance to 100
000A50FB 7D 39 JGE SHORT 000A5136 ; skip if already immune
000A50FD 83C7 14 ADD EDI,14 ; 20% resistance, left alone for now
000A5100 6A 00 PUSH 0
000A5102 57 PUSH EDI
000A5103 6A 29 PUSH 29 ; lightning resist stat
000A5105 56 PUSH ESI
000A5106 E8 FF580200 CALL 000CAA0A
000A510B 83FF 64 CMP EDI,64
000A510E 7C 26 JL SHORT 000A5136
000A5110 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
000A5114 5F POP EDI
000A5115 40 INC EAX
000A5116 5E POP ESI
000A5117 5D POP EBP
000A5118 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
000A511C 5B POP EBX
000A511D 83C4 0C ADD ESP,0C
000A5120 C2 0400 RETN 4
Stoneskin:
000A5123 83F9 1C CMP ECX,1C ; MonUMod 28, stoneskin
000A5126 75 0E JNZ SHORT 000A5136
000A5128 83C2 32 ADD EDX,32 ; 50% resist bonus, changed to 21 (33%)
000A512B 6A 00 PUSH 0
000A512D 52 PUSH EDX
000A512E 6A 24 PUSH 24 ; damage resist stat
000A5130 56 PUSH ESI
000A5131 E8 D4580200 CALL 000CAA0A
000A5136 5F POP EDI
000A5137 5E POP ESI
000A5138 5D POP EBP
000A5139 5B POP EBX
000A513A 83C4 0C ADD ESP,0C
000A513D C2 0400 RETN 4
Magic Resist:
000A4F86 83F9 08 CMP ECX,8 ;MonUMod 8, magic resistant
000A4F89 0F85 85000000 JNZ 000A5014
000A4F8F 83FB 64 CMP EBX,64 ; compare resist to 100
000A4F92 7D 17 JGE SHORT 000A4FAB ; skip if already immune
000A4F94 83C3 28 ADD EBX,28 ; 40% res bonus, changed to 21 (33%)
000A4F97 6A 00 PUSH 0
000A4F99 53 PUSH EBX
000A4F9A 6A 2B PUSH 2B ; cold resist stat
000A4F9C 56 PUSH ESI
000A4F9D E8 685A0200 CALL 000CAA0A
000A4FA2 83FB 64 CMP EBX,64
000A4FA5 7C 04 JL SHORT 000A4FAB
000A4FA7 FF4424 20 INC DWORD PTR SS:[ESP+20]
000A4FAB 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
000A4FB0 0F8D 80010000 JGE 000A5136
000A4FB6 83FF 64 CMP EDI,64 ; compare resist to 100
000A4FB9 7D 17 JGE SHORT 000A4FD2 ; skip if already immune
000A4FBB 83C7 28 ADD EDI,28 ; 40% res bonus, changed to 21 (33%)
000A4FBE 6A 00 PUSH 0
000A4FC0 57 PUSH EDI
000A4FC1 6A 27 PUSH 27 ; fire res stat
000A4FC3 56 PUSH ESI
000A4FC4 E8 415A0200 CALL 000CAA0A
000A4FC9 83FF 64 CMP EDI,64
000A4FCC 7C 04 JL SHORT 000A4FD2
000A4FCE FF4424 20 INC DWORD PTR SS:[ESP+20]
000A4FD2 837C24 20 02 CMP DWORD PTR SS:[ESP+20],2
000A4FD7 0F8D 59010000 JGE 000A5136
000A4FDD 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
000A4FE1 83FF 64 CMP EDI,64 ; compare resist to 100
000A4FE4 0F8D 4C010000 JGE 000A5136 ; skip if already immune
000A4FEA 83C7 28 ADD EDI,28 ; 40% res bonus, changed to 21 (33%)
000A4FED 6A 00 PUSH 0
000A4FEF 57 PUSH EDI
000A4FF0 6A 29 PUSH 29 ; lightning res stat
000A4FF2 56 PUSH ESI
000A4FF3 E8 125A0200 CALL 000CAA0A
000A4FF8 83FF 64 CMP EDI,64
000A4FFB 0F8C 35010000 JL 000A5136
000A5001 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
000A5005 5F POP EDI
000A5006 40 INC EAX
000A5007 5E POP ESI
000A5008 5D POP EBP
000A5009 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
000A500D 5B POP EBX
000A500E 83C4 0C ADD ESP,0C
000A5011 C2 0400 RETN 4
=========================================================
Code:
Change block chance cap to 66%
D2Common:
--------------------------------------------
00080CFE 83FD 4B CMP EBP,4B ; change to 42 (66% in hex)
00080D01 7D 08 JGE SHORT 00080D0B
00080D03 5F POP EDI
00080D04 8BC5 MOV EAX,EBP
00080D06 5E POP ESI
00080D07 5D POP EBP
00080D08 C2 0800 RETN 8
00080D0B 5F POP EDI
00080D0C 5E POP ESI
00080D0D B8 4B000000 MOV EAX,4B ; change to 42 (66% in hex)
===============================================
Code:
Change def per dex from 0.25 to 1
D2Common:
----------------------------------------------
000808BB 6A 00 PUSH 0
000808BD 6A 1F PUSH 1F ; AC stat
000808BF 53 PUSH EBX
000808C0 E8 6B73FFFF CALL 00077C30
000808C5 6A 00 PUSH 0
000808C7 6A 02 PUSH 2 ; Dex stat
000808C9 53 PUSH EBX ;ptunit
000808CA 8BF0 MOV ESI,EAX ; ESI = Base Def
000808CC E8 5F73FFFF CALL 00077C30
000808D1 99 CDQ
000808D2 83E2 03 AND EDX,3 ; Makes EDX = 0
000808D5 6A 00 PUSH 0
000808D7 03C2 ADD EAX,EDX ; Dex + 0
000808D9 68 AB000000 PUSH 0AB ; Def% stat
000808DE C1F8 02 SAR EAX,2 ; Divide dex by 2, twice (dex/4) < nopped to stop the division by 4
000808E1 53 PUSH EBX ; ptunit
000808E2 03F0 ADD ESI,EAX ; Base def + (dex/4) < if nopped above, then def + dex = total def
000808E4 E8 4775FFFF CALL 00077E30
==============================================================
Code:
Change crafts level req penalty from 10+3/affix to 0 +1/affix:
D2Common.dll
------------------------------------------------------------
0005A119 83C5 03 ADD EBP,3 ;req per affix, changed to 1
0005A11C 85C0 TEST EAX,EAX
0005A11E 74 03 JE SHORT 0005A123
0005A120 83C5 03 ADD EBP,3 ;req per affix, changed to 1
===========================================================================
0005A054 BD 0A000000 MOV EBP,0A ; base req +10, changed to 1
============================================================================
Code:
Unlock Ancient AI, defaults to WW AI type:
Original Switch: (D2Game.dll)
-------------------------
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
=========================================================
See this topic for monstats params related to this AI:http://forum.arimyth.com/viewtopic.php?f=25&t=13933
Code:
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
================================================================