CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.66k stars 4.18k forks source link

Ruminant mutation does not function (can't eat underbrush) #28034

Closed carteale closed 5 years ago

carteale commented 5 years ago

Describe the bug
The description of mutations says "you can eat underbrush, stand over you target and press E to eat" but there is no option to eat the underbrush

To Reproduce
1) give your dude the Ruminant mutation in debug 2) stand over or adjacent to an underbrush tile and press E to consume 3) see that nothing happens

Expected behavior
I tested on top and adjacent to underbrush tiles, I tested empty and 'full' underbrush tiles and I tested it in good lighting so I could "see" the underbrush. not sure why it isn't working.

Screenshots
If applicable, add screenshots to help explain your problem.

nexusmrsep commented 5 years ago

Tested - ruminant and grazer are active mutations, they don't work until activated (in case you don't want to eat plants). Works properly when activated.

I've noticed however that RUMINANT can't eat shrubs and GRAZER can't eat newly added tall and long grass. I'll propose a fix for that.

ThinkInvis commented 5 years ago

Actually, it doesn't work entirely properly when activated. In code, all the checks match up if you're standing over (full) underbrush... but there's some unintuitive behavior if you're too full to eat. You get the message "You're too full to eat the underbrush.", but it doesn't stop the Eat action there. It instead goes on to check whether you have anything else to eat. Seems like the bug is that it doesn't behave consistently with normal eating; i.e., you can eat normal food items while full and get the "You can't finish it all!" message, but you can't do this with the Ruminant/Grazer traits.

nexusmrsep commented 5 years ago

What would you see as a desired effect then? Displaying other items seems quite fine to me as long as you get the message about not eating the underbrush/grass as a result of being full. This is I believe to allow eating something else like medicine if you so wish to. Would you like it to bail out at this stage, and do not display the menu at all?

ThinkInvis commented 5 years ago

At the very least it should be changed to more closely match behavior for eating other things -- if you're full and attempt to use the Ruminant/Grazer trait on something, it should display the "eat anyways?" prompt displayed for normal food items in the same case. This should also probably involve compatibility with the Gourmand active trait. Eating underbrush could also be displayed as an option in the consume menu, like how bionic fuel sources (batteries, internal furnace) are already, but that could negatively affect player workflow (requires an extra keypress).

kevingranade commented 5 years ago

Fixed by #28040