[1.13c] Unique Items No Limit

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

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

[1.13c] Unique Items No Limit

Post by devurandom » Wed Aug 02, 2017 1:38 pm

Unique Item No Limit

Bypass Unique Item Limit 1 drop per game.
Easily done with txt edit (fill nolimit column with 1's), but if you have some reason to bypass this check.

Code: Select all

Unique Item Bypass Limit
====================
[1.13c] - D2Game.0xEE19

change

0132EE19    75 40         JNZ SHORT 0132EE5B

to

0132EE19    EB 40         JMP SHORT 0132EE5B
EDIT:
Tested in Cube, Item Drops & Gamble Screen.
Last edited by devurandom on Sun Aug 06, 2017 11:03 am, edited 4 times in total.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Unique Items No Limit

Post by kidpaddle94 » Sat Aug 05, 2017 1:29 am

There's more than one edit to apply to get rid of this. Don't remember how many exactly as I've got rid of all of them, but you basically need to get rid of every checks done on pGame+0x1B24
This is an array of 512 bytes. The game uses one bit for every unique item, resulting in 4096 available bits (this is one of the 2 things that limits unique items to 4096 records. The other limiting factor is in the savefile's read/write code)

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: [1.13c] Unique Items No Limit

Post by devurandom » Sat Aug 05, 2017 8:46 pm

This works with a single edit.
Test in cube.. made 3 frostwinds and 3 heavenly garbs - no rares.

Backported from another version because 1.13c misbehaves on memory breaks to this code.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Unique Items No Limit

Post by kidpaddle94 » Sun Aug 06, 2017 12:38 am

devurandom" wrote:This works with a single edit.
Test in cube.. made 3 frostwinds and 3 heavenly garbs - no rares.

Backported from another version because 1.13c misbehaves on memory breaks to this code.
This means you have patched the code in the cube outputs generation. Going from memory, there's another one in the code for drops, gambling perhaps, etc.
Also, if you're going to get rid of this feature, you might as well get rid of all the code that uses pGame+0x1B24. This will give you 512 bytes of repurposable data in pGame, which is pretty nice.
If you want to keep the feature, get the extra space AND get rid of the limit on unique items, you can convert pGame+0x1B24 into a pointer to an array. The size of this array would be allocated based on number of records in uniqueitems.txt

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: [1.13c] Unique Items No Limit

Post by devurandom » Sun Aug 06, 2017 7:17 am

kidpaddle94" wrote: This means you have patched the code in the cube outputs generation. Going from memory, there's another one in the code for drops, gambling perhaps, etc.
Also, if you're going to get rid of this feature, you might as well get rid of all the code that uses pGame+0x1B24. This will give you 512 bytes of repurposable data in pGame, which is pretty nice.
If you want to keep the feature, get the extra space AND get rid of the limit on unique items, you can convert pGame+0x1B24 into a pointer to an array. The size of this array would be allocated based on number of records in uniqueitems.txt
Means I have more testing to do ... :mrgreen:
thanks

Edit:

-Tested Item Drops
2 skull splitters
2 manald heals
2 dark clan crusher cudgels
2 steelgoad voulge

-Tested Gamble screen
3 shadowfangs from Elzix

It works..

I can see your point of replacing all references to free up some space in pGame.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

Return to “Code Editing”