Gates of Arimyth http://forum.arimyth.com/ |
|
1.7 Code Changes (Moved) http://forum.arimyth.com/viewtopic.php?f=25&t=13914 |
Page 1 of 1 |
Author: | PureRage-DoD [ Fri Feb 12, 2016 10:45 pm ] |
Post subject: | 1.7 Code Changes (Moved) |
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 ================================================================ |
Author: | Brevan [ Sat Feb 13, 2016 8:32 pm ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
I'm having trouble configuring the FireEnchanted missile, and noticed in the code above that you've got a different number for D2Client (884) and D2Game.dll (886). Does D2Game.dll include the file header (and maybe an extra row)? The problem is that I can't give the missiles damage (but they have graphics), and replacing the spawning missile (884) yields no effects (lose graphics, still no damage). There's no rush on a fix though, since it's failing in a safe way (no deaths). I've tried the following with min/max damage (phys and elem(fire) both filled) = 50 hitshift = 8: 1) Missile 884 and all sub missiles (884-890) (even just graphical ones) given damage 2) Replace 884 with a copy-pasted row from "coldunique" (the FNova when CEnchanted monster dies), renumbered and renamed as "colduniquefe", given damage 3) Replaced 884 with a FireNova (new skill clone of other Novas, and confirmed to work well) clone 4) Tried both FireNova and original meteorSwarm where damage was not a flat number (my typical mlvl-based formula) 5) Tried (4) with only elemental or physical damage. If I replace the meteorSwarm missile with something else, then nothing seems to happen when a monster dies, which I don't mind, since it looks very good (however no flame graphics appear on the ground, which the original meteorSwarm missile has). If we run out of ideas for things to try, then I don't really mind it doing no damage (It was bugged originally anyways, but at least no one dies now), at least it looks scary as hell. |
Author: | PureRage-DoD [ Sat Feb 13, 2016 9:35 pm ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
Yep my mistake, 1 sec and I'll fix that. ID 884 is the correct missile. I'd edited D2Game first, then realized that missiles.txt ID's were out of order so I corrected the ID's and forgot to update d2game.dll. Missile ID 884 is correct. Here's a Fixed D2Game.dll to remedy that. https://dl.dropboxusercontent.com/u/15324396/D2Game.rar Updated the code in the OP too |
Author: | Brevan [ Sun Feb 14, 2016 1:17 am ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
The correction works, but a while of testing revealed surprising limitations that I believe are caused by the missile not being launched by a skill (my guess is the skill functions cause more behaviours than I expected). The meteorShower produced no visible flames, although they were able to cause damage (I've removed this flame-patch submissile for now). I tried to create a variety of Nova-style explosions (FireNova, PheonixStrike's ChaosIce style of nova, etc), and I'm so confident that FOrb's nova would work that I didn't bother testing it because it wasn't interesting. All other nova experiments failed (launches a single missile (i.e. a tiny slice of a Nova) towards the bottom right) I'm currently quite pleased with the visual effect of MeteorShower (I normally reserve this spell for Baal and Marilith on-Death monprop) when the flames are removed and the radius is reduced to 6 yards (roughly 25 meteors fall). Testing with zero DR/MDR implies that a character could get hit between 5-20 times depending on where in the radius they're standing. This is definitely a monprop to keep an eye on in testing for whether it is too strong or just right. Currently I think it looks good, gives plenty of warning, but could potentially kill people (pretty much exactly what I'm aiming for). If testers agree, then I'd be open to reducing the number of meteors by 30% (down to 15), or increasing the radius by 2 yards (should reduce the number of meteors hitting you by 1/2 on average, but of course increases the AoEffect), whichever feels right to folks. |
Author: | PureRage-DoD [ Sun Feb 14, 2016 9:56 am ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
If you would like to make a nova, the method I would use would be to clone the missile "advlighttrailingjav". This is an unused missile with a hit function that releases a nova. Simply give it a range of 1 and always explode set to 1. Set the dofunc entries to 1. The hitparams control how many missiles are released and if the submissiles should use a random path like a charged bolt or not. End result is a insta exploding missile that produces your nova effect. Those sub missiles could then use frozen orbs dofunc to create a flame patch every 1 or 2 frames to create an expanding burning circle on the ground that lasts for a set duration. I do like the shower effect though as it gives the player a warning to move rather than just auto dealing damage. |
Author: | PureRage-DoD [ Tue Feb 16, 2016 2:37 pm ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
Updated OP with completed ormus' quest reward code. |
Author: | PureRage-DoD [ Wed Apr 13, 2016 1:39 am ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
Updated OP with the following: A5Q2 Rune Reward Max ilvl for vendors in each act Max ilvl to sell whites Edit: Also added removal of additional vendor items |
Author: | PureRage-DoD [ Tue Jul 19, 2016 5:00 am ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
Updated to add merc resistance clientside display |
Author: | PureRage-DoD [ Mon Dec 26, 2016 5:17 pm ] |
Post subject: | Re: Code Changes (The actual code incase revisions are neede |
Updated with find item table and eth requirements stuff. |
Author: | ocarinas [ Tue Dec 27, 2016 10:54 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Hello, I have a question about the "Increase max ilvl for vendrs to sell whites" codes. If I understand it right, these codes can force vendors to only sell white items by changing the 19 to a high number value like 63 (99), is that right? I tried the above and also removed 1 from xxxMagicMin. Max and set xxxMagicLvl to 255 but magic items still appear. (Tried with Charsi in Normal) Could you guide me through this please? Thanks in advance! |
Author: | Brevan [ Tue Dec 27, 2016 11:07 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Note that there were other hard coded changes relevant to vendors spawning magic items. For example, there is a hard-coded "feature" where vendors spawn additional magic items (randomly 0-3 or similar). The details to changing that are in PureRage's post. Aside from that, consider experimenting with the numbers you used in the files. For example, you mentioned setting Charsi's MagicLvl to 255. I know PhrozenKeep mentions VendorMagicLvl to be the maximum affix level for that vendor, but I haven't noticed that in my tests (seems to behave more like a minimum level, in which case yours is set to a very high level (or maybe 255 is treated special, I haven't run that test yet)). |
Author: | ocarinas [ Tue Dec 27, 2016 11:14 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Brevan wrote: Note that there were other hard coded changes relevant to vendors spawning magic items. For example, there is a hard-coded "feature" where vendors spawn additional magic items (randomly 0-3 or similar). The details to changing that are in PureRage's post. Thanks for the info, time to change it now... I just search the keep for related topic and found this http://d2mods.info/forum/viewtopic.php?t=5277&highlight=Death http://d2mods.info/forum/viewtopic.php?f=8&t=8131&view=next someone posted the offsets but It's for 1.09... |
Author: | PureRage-DoD [ Tue Dec 27, 2016 11:20 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
That edit is the level the game forces whites to become magic. There can be magi versions along side the whites (extra blue if over the max ilvl). To prevent blues, you need to stop the game adding a magic version along side the whites. Try the "Remove the randomiser for number of additional items spawned at vendors:" edit in tandem with your current edit maybe. |
Author: | ocarinas [ Tue Dec 27, 2016 11:24 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
I'll try that. Thanks both of you for the tip. |
Author: | PureRage-DoD [ Tue Dec 27, 2016 11:29 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
If that doesn't work, try searching in and around that function as that is the npc item generation stuff. |
Author: | PureRage-DoD [ Tue Dec 27, 2016 11:45 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Using that topic you linked, I just quickly searched around the location related to NPC selling items, so from the OP: Code: 000971F8 83FF 19 CMP EDI,19 ; ilvl to force magic Is related to generating items at NPC Simply scrolling down looking out for a PUSH 4 instruction as indicated in the PK thread (Code for magic, being pushed as the secondary type to spawn at vendor.) I found this: Code: 00097409 6A 04 PUSH 4 Setting to 6 forces all non whites to spawn as rare. Setting to 2 forces all to be white. Setting to 3 sets all to superior. 5 would be set and 7 unique. |
Author: | ocarinas [ Wed Dec 28, 2016 12:10 am ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
PureRage-DoD wrote: Using that topic you linked, I just quickly searched around the location related to NPC selling items, so from the OP: Code: 000971F8 83FF 19 CMP EDI,19 ; ilvl to force magic Is related to generating items at NPC Simply scrolling down looking out for a PUSH 4 instruction as indicated in the PK thread (Code for magic, being pushed as the secondary type to spawn at vendor.) I found this: Code: 00097409 6A 04 PUSH 4 Setting to 6 forces all non whites to spawn as rare. Setting to 2 forces all to be white. Setting to 3 sets all to superior. 5 would be set and 7 unique. Wow, thanks for taking your time to search for me!! Actually tried setting PermStoreItem to 1 also do the trick too. EDIT: Work like a charm |
Author: | ocarinas [ Mon May 08, 2017 7:26 pm ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Hello, I got a question related to CE. I want to make a skill that when used will check if player has 2-handed weapon equipped if yes then changes the weapon token to claymore (clm). It's basically a Holy Shield clone that changes player's weapon token instead of shield. According to the link below, I need to find where it do SH directory check and change it to RA. I've been staring at the codes almost a week now but still can't find the offsets. http://d2mods.info/forum/viewtopic.php?f=8&t=25318 Can anyone here guide me through this? I've replied to the thread, and have also made a thread at snej, almost a week has passed and no one has replied so I get impatient. That's why I post here just in case hoping someone could shred some light on me. |
Author: | Gobo [ Fri Dec 20, 2019 11:30 am ] |
Post subject: | Re: 1.7 Code Changes (Moved) |
Code edits in 2.3. Will post actual code changes when I get time Charms to only work in charm zone (bottom 4 rows of inventory) WW procs CTC on hit Potion of Life grants 100 life instead of 20 Act3 Tome quests grants 10 stats Monsters in normal spawn based off level in levels.txt, instead of monstats.txt, like Nightmare and Hell Champions/Uniques in nightmare/hell fixed to choose from umon rows, like normal, instead of pulling from nmon rows. Prefix/Suffix on magic/rares bugged fixed to properly spawn mods based off ilvl, instead of rlvl+mlvl. Max level column now properly working |
Page 1 of 1 | All times are UTC - 5 hours |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |