Is your feature request related to a problem? Please describe.
Well, you ate something, and still hungry and you have to scroll down through this again just to find that one loaf of bread you have laying on the ground?
Isn't that frustrating? Sure, you can just press / to filter out the food you need, but that's almost as bad as scrolling through the list.
Describe the solution you'd like
Why not add a simple 'Eat last eaten/consumed food' key? Which is obviously as similar as 'Craft last item' key!
Describe alternatives you've considered
Honestly I have no other alternatives, other ideas are welcomed though!
Additional context
Thank you again for reading and making the Favorites/Recent tab a thing, using it a lot! c:
The alternative would be to be able to mark a stack of consumables as "eat or drink this automatically whenever hungry or thirsty"
Throwing mode ideas: when eating from a stack of items a prompt could be used to ask if you want to eat a single portion of that stack or as many until satiated. I'm not sure how this or the "last eaten hotkey" would behave when having multiple stacks of the same food though.
Or keep Consume item window open until Esc pressed.
The auto-eating one/marking food one is...so-so. I do like the 'Eat until full' though and the keeping your selection on the consume menu!
Or keep Consume item window open until Esc pressed.
Keeping the window open should work just fine - Good thinking!
Or keep Consume item window open until Esc pressed.
This solves the problem without adding additional features (like new shortcuts or new interfaces or prompts to player), keeping it simple and being expected.
I think it's a very elegant solution, although all suggestions were good too.
Or move the last eaten item to the top of the list.
I simply divide stacks of food for stuff I plan to eat soon and the rest. Basic supply management works fine enough for me.
The “leave consumables menu open” bit would be nice, it could make it easier to eat a “balanced” meal. It’s always a little frustrating to break open an MRE and have to sift through the menus to eat all the different foodstuffs. Same goes for assorted veggies from farms. The current system encourages me to just eat stacks of unleavened flatbread and meat 3 meals a day.
I would honestly much prefer an alternative option: A coded selectable option that is designed to feed your character food and water when needed with the best available food. Obv. it would need to be made so that bleach, vinegar, and other horrible things are not stuffed down your throat. I understand the realism in the game and that some people like selecting their food. I do not, however, find joy in navigating menus to feed my character or any number of more than 1 keypress. This game is already very jam-packed with features and crazy things. Playing the menu mini-game to feed my character just sinks my joy every time.
Since eating and drinking is a large and important part of this game, I really think it could use more attention in the QOL area of improvements. I'm not saying the system is bad, don't get me wrong, I'm sure there was a ton of work to get it to where it is now. I just would really really like a much simpler and easier, less frustrating way to eat.
As always, thank you all for such hard work on a free game!
doesn't seem anyone is on this issue sadly
Yeah. But at least there's labels!
Or keep Consume item window open until Esc pressed.
I really want this to be a thing.
Leaving the menu open would be highly desired. I'm always trying to eat the thing that is spoiling first and it's always midway down the list.
Shouldn't be too hard to do...but I suck at coding.
Maybe the way the bionic window works could be transferred to the consumption.cpp.
@kevingranade - @mlangsdorf - @jbytheway - @ZhilkinSerg - @OzoneH3 ...
I apologize if I broke any etiquette by shouting out.
Is this an easy thing or does it take a lot of effort?
Could someone point us in the right direction?
Regarding keeping the menu open, I think it would be middling difficulty.
I think the current UI infrastructure around which the eat menu is built has no provision for dynamically updating as items change, and retrofitting that could be hard. It would take some experimentation with different approaches to see what works well.
(Compare for example the clothing ordering menu; when you take off clothing from that menu it resets the UI, because it's hard to retain state through an action like that. There will be similar issues with the eat menu.)
I do hope to look into making eating more convenient at some point. I have no idea when I'll get to it, though.
One thing I had been considering trying it to add a new mode to the advanced inventory screen that shows the same info as the eat menu and allow you to eat from there. That has the advantage that the advanced inventory screen is already set up to cope with updates and retaining state through actions. The downside is that the advanced inventory code is kind of gnarly (or so I've heard). But if someone wants to look into this, that's a thing they could try.
Thanks for taking a look at this!
There's always more to things than meets the eye.
This is way out of my league but i'm really grateful for your perspective.
Maybe someone will pick up a thought or two.
Happy Holidays!
I tried to make an attempt at keeping the last eaten item's pointer memorized and reselecting it when re-opening the (E)at menu. Short story: My approach failed. I don't think it is possible without introducing a major specialization in the comestible_inventory_preset and possibly also the inventory_pick_selector.
To me it seems like a bad idea trying to go that route.
I had an idea in mind but no chance to test it out because real life keeps getting in the way. I thought about adding a new action to reopen the eat menu and saving the item_location
of the last item eaten to select when automatically reopening the menu. This item_location should have a reference to the item stack that can be compared when building the item list to find the specific stack for the item that was eaten or an item of the same type in case the previous stack is now gone (last piece of a stack, last sip of water in a bottle, etc). Optionally this could be used when manually opening the eat menu to pre-select the last eaten item.
That approach should be more robust than trying to save the previous location (i.e. column and row position) but as you said it involves changing the way the selectors and presets are implemented.
Most helpful comment
Or keep Consume item window open until Esc pressed.