[1.10] ILvl Caps

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

Post Reply
User avatar
Necrolis
Site Admin
Throne
Posts: 9090
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

[1.10] ILvl Caps

Post by Necrolis » Sat Aug 25, 2007 4:31 pm

i'l think i've managed to track down the ilvl caps in 1.10, so far i've only confirmed that 2 of them are used, but anyways here they are:

Code: Select all

D2Game 1.10

Unk 1
6FC52A7E   B8 01000000      MOV EAX,1
6FC52A83   894424 10        MOV DWORD PTR SS:[ESP+10],EAX
6FC52A87   EB 13            JMP SHORT D2Game.6FC52A9C
6FC52A89   83F8 63          CMP EAX,63
6FC52A8C   7D 06            JGE SHORT D2Game.6FC52A94
6FC52A8E   894424 10        MOV DWORD PTR SS:[ESP+10],EAX
6FC52A92   EB 08            JMP SHORT D2Game.6FC52A9C
6FC52A94   C74424 10 630000>MOV DWORD PTR SS:[ESP+10],63
6FC52A9C   8B4424 18        MOV EAX,DWORD PTR SS:[ESP+18]

Unk 2 (Breakpoint Trips When a TC is dropped or a vendor Inv is Built, also Seems to Affect the Cube)
6FC52DA5   83FE 63          CMP ESI,63
6FC52DA8   7D 06            JGE SHORT D2Game.6FC52DB0
6FC52DAA   897424 28        MOV DWORD PTR SS:[ESP+28],ESI
6FC52DAE   EB 08            JMP SHORT D2Game.6FC52DB8
6FC52DB0   C74424 28 630000>MOV DWORD PTR SS:[ESP+28],63

Unk 3
6FC6BA30   83F8 63          CMP EAX,63
6FC6BA33   7C 05            JL SHORT D2Game.6FC6BA3A
6FC6BA35   B8 63000000      MOV EAX,63

Gamble Code
6FCCAAC5   E8 C80B0500      CALL <JMP.&D2Common.#10519>
6FCCAACA   8BCD             MOV ECX,EBP
6FCCAACC   894424 24        MOV DWORD PTR SS:[ESP+24],EAX
6FCCAAD0   E8 DB1D0000      CALL D2Game.6FCCC8B0
6FCCAAD5   8BD8             MOV EBX,EAX
6FCCAAD7   C74424 14 000000>MOV DWORD PTR SS:[ESP+14],0
6FCCAADF   8B03             MOV EAX,DWORD PTR DS:[EBX]
6FCCAAE1   B9 C590C66A      MOV ECX,6AC690C5
6FCCAAE6   F7E1             MUL ECX
6FCCAAE8   8BF2             MOV ESI,EDX
6FCCAAEA   8B53 04          MOV EDX,DWORD PTR DS:[EBX+4]
6FCCAAED   8BC8             MOV ECX,EAX
6FCCAAEF   33C0             XOR EAX,EAX
6FCCAAF1   03CA             ADD ECX,EDX
6FCCAAF3   BF 0A000000      MOV EDI,0A
6FCCAAF8   13F0             ADC ESI,EAX
6FCCAAFA   8BC1             MOV EAX,ECX
6FCCAAFC   33D2             XOR EDX,EDX
6FCCAAFE   8973 04          MOV DWORD PTR DS:[EBX+4],ESI
6FCCAB01   F7F7             DIV EDI
6FCCAB03   8B4424 24        MOV EAX,DWORD PTR SS:[ESP+24]
6FCCAB07   890B             MOV DWORD PTR DS:[EBX],ECX
6FCCAB09   8D4410 FB        LEA EAX,DWORD PTR DS:[EAX+EDX-5]
6FCCAB0D   83F8 05          CMP EAX,5
6FCCAB10   7F 0B            JG SHORT D2Game.6FCCAB1D
6FCCAB12   B8 05000000      MOV EAX,5
6FCCAB17   894424 4C        MOV DWORD PTR SS:[ESP+4C],EAX
6FCCAB1B   EB 13            JMP SHORT D2Game.6FCCAB30
6FCCAB1D   83F8 63          CMP EAX,63
6FCCAB20   7D 06            JGE SHORT D2Game.6FCCAB28
6FCCAB22   894424 4C        MOV DWORD PTR SS:[ESP+4C],EAX
6FCCAB26   EB 08            JMP SHORT D2Game.6FCCAB30
6FCCAB28   C74424 4C 630000>MOV DWORD PTR SS:[ESP+4C],63
6FCCAB30   8B5424 4C        MOV EDX,DWORD PTR SS:[ESP+4C]
6FCCAB34   8B4424 18        MOV EAX,DWORD PTR SS:[ESP+18]
6FCCAB38   8B7C90 08        MOV EDI,DWORD PTR DS:[EAX+EDX*4+8]
6FCCAB3C   85FF             TEST EDI,EDI
6FCCAB3E   7F 04            JG SHORT D2Game.6FCCAB44
6FCCAB40   33C0             XOR EAX,EAX
6FCCAB42   EB 2D            JMP SHORT D2Game.6FCCAB71
6FCCAB44   8D57 FF          LEA EDX,DWORD PTR DS:[EDI-1]
6FCCAB47   85D7             TEST EDI,EDX
6FCCAB49   74 1C            JE SHORT D2Game.6FCCAB67
6FCCAB4B   8BC1             MOV EAX,ECX
6FCCAB4D   B9 C590C66A      MOV ECX,6AC690C5

teh fix(by Myhrginoc for 1.09b/d)
6FCB831D  |.  8B7424 18                  |MOV ESI,DWORD PTR SS:[ESP+18]
6FCB8321  |.  8B16                       |MOV EDX,DWORD PTR DS:[ESI]
6FCB8323  |.  8BE8                       |MOV EBP,EAX
6FCB8325  |.  83F8 05                    |CMP EAX,5
6FCB8328  |.  7D 07                      |JGE SHORT D2Game.6FCB8331
6FCB832A  |.  BD 05000000                |MOV EBP,5
6FCB832F  |.  EB 08                      |JMP SHORT D2Game.6FCB8339
6FCB8331  |>  83F8 63                    |CMP EAX,63
6FCB8334  |.  7D 0B                      |JGE SHORT D2Game.6FCB8341
6FCB8336  |.  90                         |NOP
6FCB8337  |.  90                         |NOP
6FCB8338  |.  90                         |NOP 

Unk 4
6FD0493F   EB 0A            JMP SHORT D2Game.6FD0494B
6FD04941   83F9 63          CMP ECX,63
6FD04944   7C 05            JL SHORT D2Game.6FD0494B
6FD04946   B9 63000000      MOV ECX,63
also i think PlugY might have a cap on its ilvl display(did some testing and it apears so...)
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12062
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U

Hand-picked

Re: [1.10] ILvl Caps

Post by Myhrginoc » Wed Aug 29, 2007 3:52 pm

You have the right idea. There are more than two caps, but I haven't looked to see how many more. There is an old thread or two about ilvl caps somewhere in this forum. Also, as the ilvl itself is stored in seven bits, the largest cap is 127 unless you also figure out the code that controls how ilvl is used in the game (including client-server communication) and how it is saved in the .d2s file.
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
Necrolis
Site Admin
Throne
Posts: 9090
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Post by Necrolis » Wed Aug 29, 2007 4:05 pm

that old thread is what originally have me the idea to track them down for 1.10, and if i remember correctly the storage is 7 bits but at item generation it can go higher than that. as the other 4 locations there, i couldn't get a breakpoint to trip no matter how i spawned items... i also checked d2 common for any caps there, but i didn't find anything(or i missed it)
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12062
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U

Hand-picked

Re: [1.10] ILvl Caps

Post by Myhrginoc » Tue Sep 04, 2007 11:08 pm

Did you check breakpoints during game open or game close? Also, while you can boost the bit limit during item generation, you might break common values between client and server portions (if that is even significant). And if you make a recipe that requires higher ilvl, it will work during the current session but fail the same item after starting a new game since the d2s copy will see only the last seven bits.
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: [1.10] ILvl Caps

Post by Nefarius » Fri Sep 07, 2007 1:21 am

Be aware that there are likely bitwise limitations burried in the depths of Fog.dll as well. The same kind of limitations make it corrupt save games when you try to make Tampered items save affixes.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

Post Reply

Return to “Code Editing”