jojobear13 / shinpokered

Mostly-vanilla hack of Pokémon Red/Blue focused on bugfixes and trainer ai
219 stars 43 forks source link

Request: Improvements to bag management. #342

Open Starlightbotanist opened 6 months ago

Starlightbotanist commented 6 months ago

Is your feature request related to bug or a functional problem? Not a bug, just a result of the way the double bag is currently implemented.

Is your feature Within-Scope of the project? I feel it's within the scope of the project. A second 20 slot bag has already been added, this request is for some changes to that which make it easier to use/manage.

Is your feature request related to a game-play problem? Yes. The current 2x 20 bags can create inventory management issues. For example, if you have a repel in bag 1, but you pick up another repel while bag 2 is selected, you end up with two stacks of repels. One stack in each bag. The only way I can find to resolve this is to do bag management at the PC. This can get tedious. It can get worse when you have duplicate stacks of multiple items in both bags.

Describe the feature you would like I understand the 2x 20 bag was created to keep compatibility with pokemon stadium, while still allowing for more space. Perhaps for people who don't want to use it stadium, there could be a settings toggle to select either 2x 20 bag, or a 1x 30 or 1x 40 bag? This could allow those who don't care about stadium to have a single, larger, unified bag, but still keeping compatibility with stadium for those who need it.

Describe alternatives you've considered

  1. A system where the game checks both bags before adding items. Perhaps if you have a repel in bag 1, but have bag 2 selected, it could check both bags on pickup and add the item to an existing stack, regardless of which bag it's in.

  2. Add the ability to move items between bags without being at the PC (for example, when pressing select on an item to move it up and down, maybe pressing left and right could move between bags).

  3. Have a visible tag showing bag 1 and bag 2 so it's easier to keep up with which bag you are in.

  4. When removing items from the PC, have it ask if you wanted it in bag 1 or bag 2, instead of just using the currently active bag.

  5. Have a single 1x 30 or 1x 40 bag, but all items below the 20th item isn't visible in stadium. Maybe add a dividing line to make it clear where the first 20 stop.

Thanks for your time and consideration!

M5tern commented 6 months ago

The way I've been handling inventory management is by reserving the 2nd bag exclusively for key items. Personally that's how I would like the behavior to be by default, with picked up key items automatically going into bag 2 and consumables to bag 1.

jojobear13 commented 6 months ago

I'm going to leave this up, but this suggestion would be pretty hard to implement at the moment. As it stands, the 2nd bag is pretty ghetto-rigged in the code and makes use of a chunk of unused event flag space that is in no way contiguous with the default bag memory. All the systems in place for menus simply weren't engineered with pockets in mind until gen 2 rolled around.