Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stash #1054

Closed
wants to merge 9 commits into from
Closed

Stash #1054

wants to merge 9 commits into from

Conversation

qndel
Copy link
Member

@qndel qndel commented Feb 25, 2021

image

Atm turned on/off using X
All characters see the same stash

Issues:
Item placement somehow seems different than in inventory - you have to aim carefully to put item in the slot you want (Thanks @FluffyQuack ;))

TODO:
Add item descriptions
Add more tabs
Put the stash to some npc or an actual chest in town
Close the stash when you leave the game

@qndel qndel added the enhancement New feature or request label Feb 25, 2021
@sheepo99
Copy link

Again, I suggest the stash should be accessed by talking to Ogden.

@sheepo99
Copy link

For reference, this is how Beelzebub mod handled tab design.

Diablo-1-HD-06

@joewis
Copy link
Contributor

joewis commented Feb 26, 2021

This is awesome. Just hoping for this to be added to 1.2.0 milestone :)
I lol'd a bit at the filename.

Would it be possible to use the Questlog background instead of the Inventory background, so there won't be the half head at the top?

@FitzRoyX
Copy link

Would it be possible to use the Questlog background instead of the Inventory background, so there won't be the half head at the top?

Pretty sure it's going to be covered up by tabs anyway.

@qndel
Copy link
Member Author

qndel commented Feb 26, 2021

This is awesome. Just hoping for this to be added to 1.2.0 milestone :)
I lol'd a bit at the filename.

Would it be possible to use the Questlog background instead of the Inventory background, so there won't be the half head at the top?

Quest background's width is 1 pixel different than inventory so frames won't match

@sheepo99
Copy link

@qndel what about using a custom graphics frame?

@qndel
Copy link
Member Author

qndel commented Feb 26, 2021

@qndel what about using a custom graphics frame?

I don't have one atm

@galaxyhaxz
Copy link
Member

Credits must be given UwU

inv

@qndel
Copy link
Member Author

qndel commented Feb 26, 2021

ye because grid was what I'm missing ;)

@sheepo99
Copy link

@qndel apparently there's someone making custom UI stuff for the mobile ports on #493. Maybe you can ask that person for help?

@FitzRoyX
Copy link

@qndel apparently there's someone making custom UI stuff for the mobile ports on #493. Maybe you can ask that person for help?

There's probably a way to do it with the existing graphics assets, which is preferable.

@galaxyhaxz
Copy link
Member

galaxyhaxz commented Feb 26, 2021

Excuse my MS Paint skills :P (EDIT: this was made all from existing graphics, using the battle.net background as the concrete base)
test

@sheepo99
Copy link

This is lovely, but we might actually need a smaller grid, because we need to make room for a close window button, along with the tabs.

@qndel
Copy link
Member Author

qndel commented Feb 26, 2021

This is lovely, but we might actually need a smaller grid, because we need to make room for a close window button, along with the tabs.

close window? wtf

@sheepo99
Copy link

Oh wait, you're right, we can turn it off just by pressing the Inv button.

@galaxyhaxz
Copy link
Member

Yeah, or escape. D2 had manual close buttons for everything, personally i'm not a fan of them.

@sheepo99
Copy link

Tbh, close buttons might still be needed for widescreen mode though. I'd assume it's a bit more comfortable not having to scroll your mouse all the way down.

@FitzRoyX
Copy link

Close buttons don't have to be large or graphical, look at what beelzebub does for message windows, it's just an overlaid x.

@galaxyhaxz
Copy link
Member

Close buttons don't have to be large or graphical, look at what beelzebub does for message windows, it's just an overlaid x.

Yeah, I think they'd be required for a D2 like interface for vendors, since you don't have a button to close out of it.


tbuff = tmp;
CopyInt(tbuff, &_pNumStash);
LoadItems(NUM_STASH_GRID_ELEM, StashList);
Copy link
Member

@AJenbo AJenbo Feb 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to set gbIsHellfireSavegame before loading item data.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't it set already?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It gets set to different values depending on what operation is about to be done. So you need to set it to the appropriate value before calling any of the loading routines to be safe.

reading hellfire save = true
reading diablo save = false
networking diablo mode = false
networking hellfire mode = true
cornerstone = true

Suggested change
LoadItems(NUM_STASH_GRID_ELEM, StashList);
gbIsHellfireSaveGame = gbIsHellfire;
LoadItems(NUM_STASH_GRID_ELEM, StashList);

@AJenbo AJenbo added this to the 1.2.0 milestone Feb 28, 2021
@NikoVP
Copy link
Contributor

NikoVP commented Mar 2, 2021

Hi, A useful feature of the stash would be to have withdraw button for gold. A dialog for splitting gold piles would be used to enter the amount desired to be taken, some checks should be in place such as available space in the inventory. Also another feature like automatic movement and placement of gold in the first tab where gold pile has been detected, this will keep inventory easier to organize. And logic to move gold to next available tab when last gold pile goes past the limit. I know this complicates the logic but will save time for gold management, which could become a problem in the long run when dealing with big stash. Also buying items with gold from the stash would also be a time saver. Cheers!

In resume potential and useful stash features could be:
-Withdraw button with dialog for desired gold amount input.
-Automatic gold movement and stacking on dropping gold in stash.
-Automatic detection of available space in player inventory when withdrawing gold so no gold is lost.
-An off switch for smart features of stash for control freaks or just don't implement them ;)
-Buying directly items from vendors with gold in the stash
-Option to shift+click to move items between inventory and stash would be a bonus!

@AJenbo
Copy link
Member

AJenbo commented Mar 2, 2021

could just hold gold as a combined total and not have any piles, isnt that how the stash worked in d2?

@NikoVP
Copy link
Contributor

NikoVP commented Mar 2, 2021

In that case what would a reasonable maximum for stashed gold be, before abusers fill it cloned/hacked gold?

@AJenbo
Copy link
Member

AJenbo commented Mar 2, 2021

1,250,000, but this wont stop people from cheating if they know how to hack

@qndel
Copy link
Member Author

qndel commented Mar 2, 2021

I'm not going to handle gold in any special way ;)

@FitzRoyX
Copy link

FitzRoyX commented Mar 2, 2021

Going fullblown D2 with gold seems unnecessary. Beelzebub just raised the 5000 cap to 1,000,000 and it was fine. All the best items are found anyway, accumulating massive amounts of gold doesn't really break anything. All it does is keep gold piles from completely taking over the inventory over actual loot.

@galaxyhaxz
Copy link
Member

galaxyhaxz commented Mar 3, 2021

could just hold gold as a combined total and not have any piles, isnt that how the stash worked in d2?

Maybe have it work in a way similar to Darkstone instead. In Darkstone, there is a bank teller in town and you can talk to him and see how much gold you have in your account. You can deposit all the gold, or withdraw and it automatically creates the piles in inventory. Gold is still useful in D1, and I didn't like having to drop piles all over town for when Griswold had a good item in stock.

Let's be Frank, and Frank is a pretty cool guy except being turned evil from Neural transmitters. Once gold goes into the stash there is literally never any reason to take it out, except giving to another player.

DIABLO_20210303_035148

@FitzRoyX
Copy link

FitzRoyX commented Mar 5, 2021

The question is, is it any faster? Moving a giant pile of gold to and from your stash is pretty fast. That's probably why bub never bothered to have separate banking options.

@galaxyhaxz
Copy link
Member

It was just an idea tossed out there, either method works ^^

@Tremain84
Copy link

Tremain84 commented Mar 6, 2021

Sorry for the question. How can I open the stash Ingame ? I tried the "x" button and many more. Or is this a feature not implemented yet?

PS: I also think stacking gold and holding the mouse key to attack is not changing the game experience but enhancing it.
I would also suggest to implement the stash feature via Odgen/Tavern, because it doesn't change the appearance of the town and makes lorewise the most sense.

@AJenbo
Copy link
Member

AJenbo commented Mar 6, 2021

Sorry for the question. How can I open the stash Ingame ? I tried the "x" button and many more. Or is this a feature not implemented yet?

PS: I also think stacking gold and holding the mouse key to attack is not changing the game experience but enhancing it.

What version are you testing?

See #895 for the status on holding the mouse to attack.

@qndel
Copy link
Member Author

qndel commented Mar 6, 2021

as you can see, this pull request is not merged yet, means you'd have to compile it to use the stash but I expect it to make it to 1.2.0 version

@Tremain84
Copy link

Tremain84 commented Mar 6, 2021

Sorry for the question. How can I open the stash Ingame ? I tried the "x" button and many more. Or is this a feature not implemented yet?
PS: I also think stacking gold and holding the mouse key to attack is not changing the game experience but enhancing it.

What version are you testing?

See #895 for the status on holding the mouse to attack.

I am running the latest deviloutionX release 1.1.0.
Alright, so if I want more quality of life features I need to install additional patches like the compiled QOL Patches on top of the 1.1.0 base version.

@qndel Thank you so much for the project and your work. I am a die hard D1 + D2 fan. I played both games upon release till today (not a hellfire fan). Love the new widescreen!
Ok, then I wait for the 1.2.0 version in order to experience a stash and higher gold stack, which are besides the hold mouse to attack the most important QOL features to add in my opinion.

@qndel
Copy link
Member Author

qndel commented Mar 6, 2021

https://discord.gg/9eCtSCz244
Feel free to join our discord server, I could probably cook you up an exe with all the cool features on monday ;)

@AJenbo
Copy link
Member

AJenbo commented Mar 6, 2021

Ok, then I wait for the 1.2.0 version in order to experience a stash and higher gold stack

There are no plans for higher gold stacks in 1.2.0

@Tremain84
Copy link

Tremain84 commented Mar 6, 2021

https://discord.gg/9eCtSCz244
Feel free to join our discord server, I could probably cook you up an exe with all the cool features on monday ;)

Thanks, I just joined the discord channel (Tremain84).
Ok that would be really amazing. I would love to have some QOL changes but still keep it very vanilla, like:

Shareable stash between the characters.
Increased gold count stack.
Hold mousebutton to attack.
Saving hotkeys.
Highlight items on the ground when hitting alt (finding rings can otherwise be a pain :D

Not needed but nice to also have included:
Player experience bar.
Item values shown when mouse is over an item in inventory
Auto gold pick up

Future projects ?
Adding floating damage numbers.
Moving Wirt closer to town, so trying to gamble the kings sword of haste/speed doesn't take ages ;)
A drag and drop buy/sell window while at a vendor (I know this is a big one).
After killing Diablo being able to pick up the loot dropped.
Including the high framerate mod (increases the fps from 25 to 60 fps.)

PS: maybe offtopic, but is there a support/donation button at gitgub? Or is there any other way I can support this project?

@AJenbo
Copy link
Member

AJenbo commented Mar 6, 2021

Not needed but nice to also have included:
Player experience bar.
Auto gold pick up

Already part of the betas.

Including the high framerate mod (increases the fps from 25 to 60 fps.)

D2 is 25, D1 is 20. We already render at monitor refresh rate (so 60+), but positions are still updated at just 20fps (or whatever you set the game speed to).

PS: maybe offtopic, but is there a support/donation button at gitgub? Or is there any other way I can support this project?

The topic you are writing in is about Stack, everything else is off-topic.

We do not accept donations. Play the game, have fun, spread the word be nice.

@Tremain84
Copy link

Tremain84 commented Mar 6, 2021

Not needed but nice to also have included:
Player experience bar.
Auto gold pick up

Already part of the betas.

Including the high framerate mod (increases the fps from 25 to 60 fps.)

D2 is 25, D1 is 20. We already render at monitor refresh rate (so 60+), but positions are still updated at just 20fps (or whatever you set the game speed to).

PS: maybe offtopic, but is there a support/donation button at gitgub? Or is there any other way I can support this project?

The topic you are writing in is about Stack, everything else is off-topic.

We do not accept donations. Play the game, have fun, spread the word be nice.

Ok :) Thank you very much.

@qndel If you can manage to create that exe including the QOL changes I would be super happy :)
Keep up the great work and I will be on here a lot more, just need to get used to the github layout.

@qndel
Copy link
Member Author

qndel commented Mar 8, 2021

@Josegto1 I'd appreciate if you stopped "approving" random PRs without having 0 clue about what's going on - you reviewed 33 PRs in random repos today and all of them had literally 0 value, everything ok with your head?

@Tremain84
Copy link

Ok, then I wait for the 1.2.0 version in order to experience a stash and higher gold stack

There are no plans for higher gold stacks in 1.2.0

Well you are right, if we have a stash in version 1.2.0 then a higher gold stack is not required, because we can store gold in the stash. That makes sense :)
atm I have to throw a lot of gold away at the end of each session, because I can't carry all of it.

@qndel qndel closed this Mar 12, 2021
@AJenbo AJenbo modified the milestones: 1.2.0, 1.3.0 Apr 2, 2021
@ikonomov
Copy link
Contributor

ikonomov commented Dec 14, 2021

I really hope town-only accessible stashes eventually make it into the game, two separate ones for multi and single player.
EDIT: With an option to disable each separately in the config file.

@qndel
Copy link
Member Author

qndel commented Dec 14, 2021

Please keep your hopes away from old PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants