cataclysmbnteam / Cataclysm-BN

Cataclysm: Bright Nights, A fork/variant of Cataclysm:DDA by CleverRaven.
https://docs.cataclysmbn.org
Other
672 stars 265 forks source link

Eating wielded food being reheated by a heat source consumes the whole stack #5439

Open SolsticeTheTechMarine opened 4 days ago

SolsticeTheTechMarine commented 4 days ago

Describe the bug

When eating vegetable pizza and while equipped in hand, the whole stack is removed.

Steps To Reproduce

1: Craft or spawn in a stackable food item 2: Wield said food item 3: Eat 100 pounds of pizza in one bite.

Screenshots

image image image

Versions and configuration

Additional context

Woodland Survivor_v2.zip

RoyalFox2140 commented 4 days ago

image

SolsticeTheTechMarine commented 3 days ago

I tested this with cake and other items, It might just be Vegetable Pizza.

RoyalFox2140 commented 3 days ago

This might be Windows specific because I don't get this on Bazzite Are you on MSVC or non MSVC image

SolsticeTheTechMarine commented 3 days ago

How do I tell? I have been downloading the game via Catapult launcher, so it automatically handles such things usually.

RoyalFox2140 commented 3 days ago

I don't recommend using launchers, in this case since I have no experience with any launcher for Cataclysm I can't tell you. If you can reproduce on one specific compiler and not the other it would narrow down the bug, you can tell based on which zip file you downloaded.

SolsticeTheTechMarine commented 3 days ago

Tested both releases to see no difference in behavior. Trouble appears to be Windows related.

chaosvolt commented 3 days ago

Tested in 64-bit MSVC build, version 2024-09-25 and uh. ???

image

Lemme test if it was specifically the oven re-heating the pizza that did it?

RoyalFox2140 commented 3 days ago

By the way @SolsticeTheTechMarine Please test on latest if you don't mind. I'm sorry to ask. image

RoyalFox2140 commented 3 days ago

image image

RoyalFox2140 commented 3 days ago

Did I just eat 1000 slices? Yeah it's reheating.

chaosvolt commented 3 days ago

OKAY SHIT image

Yeah, it triggers when when you eat a wielded comestible and let an oven or the like heat the food up for you. Doesn't affect items in containers like tea, so just uncontained stacks.

chaosvolt commented 3 days ago

Bonus: it didn't trigger when heating the food from an item hotplate, just the oven: image

This is almost certainly caused by whatever also caused https://github.com/cataclysmbnteam/Cataclysm-BN/issues/3754, item identity or some other code change has royally screwed up the behavior of pseudo tools from furniture.

scarf005 commented 3 days ago

image

tested in linux (kinoite fedora 40) @ main.

  1. spawned in 100 vegetable pizza and wielded it.
  2. installed grid storage battery and plutonium generator and waited until oven was online.
  3. debug reduced body calories to 1600kcal and ate pizza.
  4. only 1 charge is consumed.
  5. seems to be windows specific issue.
  6. ewww pizza without cheese
RoyalFox2140 commented 3 days ago

I can reproduce though. Bazzite linux. Were you wielding your pizza? Message log doesn't say so.

chaosvolt commented 3 days ago

Sidebar says Scarf's pizza is wielded so uh. Ew, not just an item identity issue but one that doesn't trigger on all OSes?

SolsticeTheTechMarine commented 2 days ago

I would never have considered that it might have been the heat up from the oven that caused the issue.

SolsticeTheTechMarine commented 2 days ago

Testing with the 2024-09-28 release. Testing was done with the provided save file from the first post. Testing was done with the 64 bit versions.

Non-MSVC:

WIELDED Heated: Complete stack loss, single unit consumed. Unheated: Retains stack, single unit lost. OUT OF INVENTORY Heated: Retains stack, single unit lost. Unheated: Retains stack, single unit lost. IN INVENTORY Heated: Retains stack, single unit lost. Unheated: Retains stack, single unit lost.

MSVC:

WIELDED Heated: Complete stack loss, single unit consumed. Unheated: Retains stack, single unit lost. OUT OF INVENTORY Heated: Retains stack, single unit lost. Unheated: Retains stack, single unit lost. IN INVENTORY Heated: Retains stack, single unit lost. Unheated: Retains stack, single unit lost.

It appears to be specific to wielding the object AND heating.