Minor/Major misc interface improvements

I’m certain much of this has been suggested or considered at some point, but lets have a monolithic topic of all these related things.

Now, the game works just fine without these, technically. Cata isn’t as bad as, say, Dwarf Fortress in regards to user-interface disasters. However, I am biased having used the current systems for so long, just as I fly through Dwarf Fortress regardless of interface. But I shouldn’t have to even put any reasoning here on why these are needed.

I’m also certain some of these are planned, but I’d like to know and see just how comprehensive said plans are. I just wanted to have a topic of these floating around, at the least. Here’s everything I could think of:

[size=10pt]Auto-stashing[/size]

This I think is sorely needed. A minor AI for the player character, that he’s JUST smart enough to drop similar objects together.
-Possibly requires manual designation of a container or map tile to use with auto-sort AI
-Possibly requires manual pathing designation such that he’ll pass desired containers (IE a zig-zag through designated “auto-stash” tiles/containers)
-Hopefully auto pathfinding instead of above, but I realize that’s probably difficult to implement
-Optionally requires you to place objects before he’ll start placing duplicates with it
-Minor options file for auto-sorting based on item types and tags when there’s empty containers (IE you could make a profile for an auto-stash when it’s just got a bunch of unused “auto-sort” containers) (IE it only puts ammo in some tiles and only food in others)

Enter basement of shelves and cabinets
Initiate auto-stash of [select items from inventory]
AI walks through storeroom
A place for everything and everything in it’s place.

[size=10pt]Container-search[/size]

Like the “list all items you can see” item filter, but for surrounding containers you can interact with.
For example:

Surrounded by vehicle trunks
Where the fuck is that widget
Initiate container check for “widget”
Opens grab dialogue scrolled to widget(s)

Also needs integration with auto-stash AI:

Enter player store-room
Where the fuck is that widget
Initiate auto-stash AI container check for “widget”
AI runs past “auto-stash” containers on designated (or pathfinding-found) path
Stops at container with widget
Opens grab dialogue scrolled to widget(s)


Now the rest of these I’m pretty certain are already planned:

[size=10pt]Auto-list-sorting[/size]

Currently only the player inventory is displayed in item-type categories. This should also be available to:
-examine/grab listing
-container inventory listing
-list all items in sight
Probably just on some toggle while said menus are open.

[size=10pt]Container-stacking[/size]

Duplicate items stack in list menus for:
-examine/grab listing
-container inventory listing
-list all items in sight
Seriously, scrolling 10 pages of “plastic bottle” and “rag” gets real old real fast

[size=10pt]Scrolling inventory loops[/size]

Arrow-key scrolling in inventory needs to loop like any other item list.
I know I’ve posted this one before, but I’m mentioning it again.
This is driving me nuts.


…anyone one have any other ideas?

Auto-stash is a good idea, and yea, remote interaction with containers has been suggested and is desireable.

The way I see auto-stash working is assigning a key to “drop on similar items” or “drop where it’s supposed to go”, say S for illustration. You’d just hit S, and if there’s a matching item in range, it automatically drops it there. There’s no need to worry about pathing and such, I think just assigning a little extra cost for interacting with things at a distance is accurate enough. Attaching it to furniture is an interesting idea, but has some technical issues related to how we handle furniture and terrain. Basically we don’t store any information about a piece of furniture except for what kind it is, so we don’t have anywhere to track the labels an organization system would use. Actually, we could maybe abuse grafiti for that, or add something, it’s not a dealbreaker, just complicates things.

The problematic thing about containers is that they’re explicitly supposed to block vision, so unless you’re adjacent to them, it’s not terribly reasonable to be able to interact with their contents. There’s a in combat/out of combat dichotomy we have to deal with, where when in combat time spent is really critical, but out of combat we could easily be more lax about tracking. It’d be reasonable to just have a greatly inflated inventory interface when out of combat, so you can use items from anywhere in the room, especially if it’s YOUR workshop, but toggling between an interface that’s reasonable in combat and one that’s not is tricky.

sorting/stacking/scrolling - This is basically all the same problem, any and all interactions with items should be routed through the same inventory interface so they would have the same features, but most of the menus are ad-hoc things with minimal features instead. As a blocker to this, the inventory system itself is a kind of terrible pile of hacks, so it really needs to be cleaned out and replaced before we start using it everywhere.

If we don’t worry about patching it’s got a bit of a problem where if there is a horde of zombies/traps between me and the storage unit I can still somehow store things without needing to worry about going through them.

Hence the in combat/out of combat dichotomy, you shouldn’t be able to do anything at a distance when in combat (e.g. advanced inventory), but I can see relaxing it a bit out of combat for easier stuff management. The problem is how to draw that line. We could trivially check that the player has a safe path to the target square, I just mean not futzing around with actually scooting the player around on the map.

For some reason this conversation makes me feel I HAVE to mention this: http://www.it-he.org/sshock.htm#hackerexplained

There’s an inventory feature I wanted to add that’s kind of related and would like some feedback on. One annoyance I found after my character’s been alive for a while is the growing number of items I always carry around, such as a lighter, knife, ammo, etc. These are items which I never want to drop or consume in crafting, but unlike equipped clothes, they can’t be “hidden” away from the screens like Advanced Inventory or excluded from crafting.

I’d like to add an option to the item details screen to mark any item as “equipped” or something equivalent, that makes the game interface treat them like equipped clothes. They will then not clutter the advanced inventory screen, making it easier to deal with transitionary items and they won’t accidentally get consumed in a crafting recipe.

I would like to see something along the lines of some kind of “Automatic Eat/Drink Key”.

Basically it finds all of the “edible” substances in your inventory or in a 3X3 area around the player and displays them in a list, Selecting the item would eat it, however there could be other keys to pick up/drop.

Basically an automated advanced inventory menu, that shows all food/drink reachable and displays it in an easy/convenient list, it also has the ability to immediately eat food from said menu, rather than backing out of it, opening your Eat menu, and searching through a list of letters and such to accidentally drink draino.

Example,
You arrive at the base after a rather long haul of food and such, you drop all of your food and drink into piles and such.
After freeing up some space in your inventory you resume work on your deathmobile or whatever.
After a while you need to eat/drink, rather than jump through menu’s and all that jazz, you simply press the “extended-eat” key and the game displays all of the food you have stockpiled in a 3X3 radius, you eat the food and get back to work simply and easily.

Nest that Category view somewhere within Filter key call, and kindly I ask, please add “,” to be Advanced Inventory Management so we can move all the items from one Category with one keypress (the current binding for Select All).

Feel free, sounds totally reasonable. I think the hard bit will be indicating what it’s for clearly :slight_smile: