File information

Last updated

Original upload

Created by

Qd0t

Uploaded by

qd0t

Virus scan

Safe to use

Tags for this mod

About this mod

Stackable runes/gems
- -Label Options (Symbols and Frames)
- - Light Beam option
- - Full tooltip info
- -Bulk Upgrades

Requirements
Permissions and credits
Changelogs
Stackit - by qd0t      PORTED TO D2RMM ---- stand alone version here


Update 2.8:
2.82: better bug fix for 'override' option
2.81: bug fix for 'override' option


-2 modes of fast de-stacking for PGems (can be turned OFF):

    Default: More straight forward:

         stack of [i] -> stack[i-2] + active + active
         stack of 3 -> 3x active
    Optimized for charm re-rolling:
     stack of [30, 24, ..., 6] -> stack -6 + stack of 3 + stack of 3
     stack of 3 -> 3x active
Optimized? How?
Spoiler:  
Show
This variation takes advantage of the 'ctr-click' move not stacking items in inventory- you can de-stack everything into stacks of 3, then convert those into 3 gems at once and roll your charms- unfortunately you have to move the charm from cube each time you do the stack of 3 conversion.

-handles errors related to conflicts with loot filters
-options to turn-off or force label formatting:
   >forcing uses backup.json files, feel free to customize those labels

Why not use the magic/charm recipe with stacks
Spoiler:  
Show
I tried many things and none have worked. You either run into issues with quantity checks for input or ilvl for charms created. The documentation for cubemain.txt is incorrect as 'output b/c' ilvl field uses 'input 1' and not 'input 2/3' as stated. Suggestions are welcome if you find some trick.

Update 2.7
added options:
select for HR + MidRunes
Frame for HR
red ¥ for MidRunes
red ¥ for P gems/skulls
light beam for HR:

inspired by Light Pillarby seunggil, and since I didn't actually use any seunggils code, but every other mod keeps passing the following message in their code I feel obligated to post it here:
"entity_vfx_gousemyideaandshareyourfilthymods" - seunggil, 2021


fixed:
colors should apply properly for all languages
now

Update 2.6


- Added option to start the game with the Horadric Cube (default is ON)
- Minor bug fix for HR bulk upgrade recipes
- The cubemain.txt now correctly terminates with *eol header value of 0. This does not affect the game, but some editors will not display the row if this value is missing.

Update 2.2

Added useful info to the tooltip (screenshot added):
Stackables display the same info as socketable counterparts + tier # and gem required for upgrades (HR)

I placed English strings for all other languages- I haven't tested other languages but it should work(it being in English).
If you would like to translate this, there is a file with the strings in downloads.

Please note, I parsed this from existing lists in Excel, and changed formatting to be closer to in game format but it's not identical. Please report any discrepancies as I haven't checked it all for accuracy.

Thanks to olegbl for the idea to use spdescstr column! I was tired of guessing what item does what!

UPDATE DETAILS:

-adds bulk upgrade recipes:
30 gems -> 10 gems of next tier
9runes-> 3 Runes of next tier
9runes plus "active" gem (1 tier up of stock recipe) -> 3 runes of next tier
6 HR plus "active" gem (1 tier up of stock recipe) -> 3 runes of next tier

If you want to unstack a full stack instead of upgrading add a key!
Full list in the archive.
New stack limits: gems=30, runes=9(prev 10), keys=30(prev 50).

-drop filter was added?? to highlight gems...  (not sure if it was there b4 but it's here now)

-It was possible to sell one stackable and buy full stack back.The fix removes the option to buy stackable runes and gems back from NPCs.

some (or more) Java code used from:
Stackable Runes for D2RMM
Stackable Gems for D2RMM
recommended if you want larger stacks, as mine won't be allowing more than what it has ATM.

both were based on Stackit so I Frankenstein this out of it all. Thanks to olegbl for D2RMM! It was fun refreshing my Java lol

What does it do that diddy didn't do?

Makes the gems and runes stackable, indirectly but stackable! 
Its fully functional!

Gem max stack=30, Rune max stack=10, Key max stack=50
Auto-stack on pickup is ON! Yeah baby!



What is changed?
For each gem and rune there is a new inactive (dummy) alternative item added that is stackable, it is not socketable nor upgradable, and gem shrines will not upgrade these.
For gem shrine to work, you will have to have the vanilla 'charged/socketable' gem in your inventory to work. 
If you care enough about gem shrines you can carry an active/charged/socketable gem you want to upgrade with the shrine, or stop before hitting a shrine, 
use the cube on the inactive gem, etc, you get it. If not you will always get a chipped gem from a shrine.


The vanilla gems and runes are not touched function-wise, some had their hd inventory graphics changed to represent them being 'activated/charged' by the cube, but other than that there is nothing changed so all rune words, socket effects etc work just fine!
The vanilla activated(socketable) gems/runes no longer drop, only their inactive counterparts that will auto stack in your inventory on pickup.
You might still encounter a vanilla gem drop that has been hard coded in, like in shrines.

There is no changes to legacy graphics, the new items share all legacy graphics with vanilla items.
The orange color for rune drops is only applied to USen, if requested I can provide a patch with all languages.

How to use?

After you load the game with the mod, you should see the gems are unchanged and the runes are glowing. These are your vanilla socket able not stackable ones. to convert them to stackable counterpart simply put each (one at a time) into a cube and transmute. you will see it fade (gems) or stop glowing (runes) and these are you deactivated stackable ones.

After you have a stack of lets say 7 Lem runes, you put them in a cube and transmute them into stack of 6 + stack of 1 (single inactive), 
then  you ctr+click the stack of 6, transmute again and you have a charged socketable Lem rune. If you want to deactivate it, just click the transmute again.
Yes, you can finally unstack your keys! (q<=30)

This means that for a new character, the gems and runes will not be usable till you get the cube in act 2! So its best to use the mod after that, or just hold off with your gems...

Cube recipes are:
1 active rune/gem (any) -> stack of 1 of that gem/rune
 stack of 1 gem (any) -> 1 active rune/gem of that type

stack of x gems/runes -> stack of "x-1" + stack of 1 of that gem

vanilla upgrade recipes are unaltered, meaning you have to use the activated socketable gems/runes, stack of 3 will simply use the above formula.

Why this way?
If you would make the runes and gems simply stack you will run into problems with socketing them. Socketing a quant=1 stack of socketable item 
will produce a weird item behavior that on every load will increase the added stats (to a limit). Anyway, we don't want that, at least I don't.  

using it with other mods:
If you are using custom loot filter/color mode, please keep in mind that data/local/lng/strings/item-runes.json was altered to make the dummy runes have orange font color.
This mod added a lot of entries to misc.txt and items.json, with codes 1**, so please keep this in mind for any potential conflicts.
The items.json entries are weaved into the vanilla ones in the middle, vanilla runes use new _mod sprites, while the stackable runes use stock sprites.
Also there is over 150, yes 150+ new recipes in the cubemain. I could not find any elegant way of doing this that was working without any bugs. Good news is there is no line limit to that file.

Customizing it:
You can mix and match the sprite files all you want so feel free to do that.
If you want to make maximum stack higher you should also edit the cubemain.txt and add new lines at the bottom. 
I advise against using a direct quantity function in the cubemain This results in unstable stacks and even rolling over 
and breaking your stack, making it stuck at quant=511
The dummy items use vanilla strings and 3D models. 
Installation:
Extract the chosen archive version to D2R main directory. 
Note: the mod is always called “stackit”, the archive name is only to distinguish the versions!
Create a new shortcut for D2R.exe, with these flags added at the end of target field: " -mod stackit -txt"
Usually: "C:\Games\Diablo II Resurrected\D2R.exe" -mod stackit -txt
To change between the artwork, simply extract the other version over the old one overwriting it.

Saves:  
Because we are adding new items saves will have a separate directory for this mod, located usually here:
C:\Users\*User_Name*\Saved Games\Diablo II Resurrected\mods\stackit
Using existing save files:
Just copy (don't move, it will serve you as a back up) them into the above mentioned folder.

uninstalling:
remove(convert) all dummy/inactive/stackable items from your stack/inventory, and make sure you don't have key in quantity over 12! 
then move the save files from the mod sub dir and remove the mod. 
Your saves should work fine!

Tools used:
paint.net - its freeware just google it, not sure if I can link this stuff here
D2RM_SpriteEditor - from d2rmodding.com
D2Excel - The Phrozen Keep, great modding resource! (i prefer this one over d2excel plus, but both work)
D2EXCELLPLUS
D2RMM