Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Food rebalance: Revenge of the soup #35433

Merged
merged 16 commits into from
Nov 23, 2019

Conversation

Davi-DeGanne
Copy link
Contributor

Summary

SUMMARY: Content "Make canning recipes more consistent, and add 500 mL can"

Purpose of change

Soups had a lot of consistency issues among their various canning recipes. My educated guess is that they were mainly caused by:

  1. There wasn't enough ingredient granularity to really support crafting some soups in 250 mL increments, so canning those soups into 250 mL cans resulted in odd ratios, i.e. meat soup:
    250 mL broth + 250 mL meat + 250 mL other = 250 mL (tin can)
    500 mL broth + 250 mL meat + 250 mL other = 500 mL (otherwise)
  2. People adding items to some recipes, but not others (i.e. lentils as an ingredient in normal soups, but not allowed in canned/jarred soups)

One of the potential solutions to [1] was to add a new 500 mL steel can, and transfer soup canning recipes to these new cans. This made me realize that…

  1. …a lot of foods currently spawn in oddly small cans.

Describe the solution

  1. Added new 500 mL cans (about the size of a typical baked beans can) and made soup canning recipes use that, instead of old 250 mL can (about the size of a tuna fish can).
  2. Adjust all soup recipes to be consistent with their respective canned versions, using new "using" lists to help avoid future deviation.
  3. Where it made sense, made canned goods spawn in 500 mL can instead of old 250 mL can.

Describe alternatives you've considered

There is a slight cosmetic oddity due to the way that "using" works that canning components (i.e. glass jar and 10 water) for the various soup recipes now appear at the bottom of the ingredient list. I wanted to fix this but couldn't find a good solution. One of the attempted solutions was implementing "using" lists for canning, and listing them before the food ingredients. It worked, but also resulted in recipes with water listed twice:

> water (10) or clean water (10)
...
> water (12) or clean water (12)

instead of

> water (22) or clean water (22)

This resulted in weird behavior where the recipe could be started with only 12 water, but a prompt would immediately stop you saying that you needed 10 more water to continue crafting. I didn't like this behavior so I rolled back the changes.

Testing

Additional context

I realize this PR is a bit sprawling. If I need to split it please let me know.

The only can in the game is 250mL, which is quite small, many cans are
twice that size.
Previously 1 charge was 1.5 SPAM slices. I adjusted the calories,
weight, charges, and volume to match 1 SPAM slice for more granularity.
Canned chicken was in a weird place; one charge was 1/4 the weight,
calories, and volume of a chunk of meat, but only 2 charges were subbed
in per chunk of meat in recipes. I quadrupled the charge size of canned
chicken so that the comparison with meat is more intuitive.
Evaporated milk was far too light, and had too few calories. Adjusted
calories to match evaporated skim milk as reported by USDA.
Canned corn had "copy-from": "corn" which didn't make a lot of sense,
since cans of corn aren't exactly one ear of corn. I removed it, and
reworked the item based on USDA data.
Condensed milk was listed twice, in drink.json and dairy.json, I elected
to keep the one in dairy.json.
Mushroom soup had all sorts of problems. It was way too dense, the
recipes used 8 cups of ingredient per cup of soup, and there was no
recipe for 3L canning. These were all fixed, and the soup now defaults
to 500mL cans when spawned by mapgen.
Broth recipes were inconsistent, and there was no recipe for canning in
metal cans. These were fixed, and broth now spawns in 500 mL cans.
Vegetable soup ingredients were incredibly inconsistent. Fixed them, and
veggy soup now spawns in 500 mL cans.
Meat soup ingredients were completely inconsistent, partially due to
being restricted to 250 mL cans. They were redone to be consistent, and
meat soup now spawns in 500 mL cans.
The canned fish soup recipe had a minor inconsistency due to being
restricted to 250 mL cans. Fixed by putting fish soup in 500 mL cans.
Woods soup ingredients were inconsistent across its various recipes.
Also, input volume was slightly too high for the output volume:
Was (500 mL meat) + (500 mL broth) + (500 mL veggies) = 500 mL soup
Now (250 mL meat) + (500 mL broth) + (500 mL veggies) = 500 mL soup
Still seems a bit high, but it is now more consistent with other soups.
Human soup ingredients were inconsistent, partially due to being
restricted to 250 mL tin cans.
All the changes made a couple recipes' calories not match their
components' calories closely enough.
@curstwist curstwist added Items: Food / Vitamins Comestibles and drinks Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON labels Nov 13, 2019
@aoae23
Copy link
Contributor

aoae23 commented Nov 15, 2019

On a related note. Would soup ever spawn in large tin cans?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game: Balance Balancing of (existing) in-game features. Items: Food / Vitamins Comestibles and drinks [JSON] Changes (can be) made in JSON
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants