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

More sizes of canning recipes, for all tin can types #60632

Merged

Conversation

RenechCDDA
Copy link
Member

@RenechCDDA RenechCDDA commented Aug 31, 2022

Summary

Balance "Many canning(cooking) values standardized, alternate craft sizes added"

Purpose of change

Partially addresses #60625

Describe the solution

Add recipes for all the tin can sizes that don't already have recipes, if the results can fit in them. At least add a large tin can recipe to anything with an existing tin canning recipe, since NO recipes had large tin options previously.

Describe alternatives you've considered

A sharp object, three new recipes, and an abjectly poor idea to saw larger tins down to size by reducing their height...

Testing

As of submitting this PR, has not been tested and badly needs testing.
This could still use some playtesting, but all of the recipes have been spot checked ingame now. Several errors were found and corrected.

Additional context

Some working assumptions.

-The container's volume should be 100% occupied by the preserved food item. Aim to prevent weird exploits like 'compressing' 0.5L of input into 0.25L of output and then taking it back out of the sealed container to store more efficiently/densely elsewhere.

-Water usage values/return standardized using the most common value as a base. (11 in, 10 out for 0.5L. 16 in, 10 out for 3L.)
--Kompot also uses water during the production process so its values are simply the uncanned kompot production (1 water per 0.25L kompot) + what would be used for canning (11/16 for jars)
---A number of the crafts "double-dip" on cooking/addition of water during the canning process, which results in an enormous amount of headaches trying to track values. If a value is changed, and it's irregular, that's probably why. In accordance with the prevailing existing crafts, non-canned forms of the crafts have been checked to account for water usage. They have NOT been checked for heating/energy usage.

-Canned liver is kept separate from canned offal craft because it is used as a component of other dishes. Moved to canned.json for organization's sake.

-When adding alt versions of existing crafts, the following conversions/scaling were used:
Cooking heat/energy cost: Linear per volume (some existing small crafts were scaled down, tin cans should require 5/10/60 charges)
Processing times: Step down size -~20%, step up size +~100%. Sanity check as necessary (whole lotta arbitrary values, roughly 20/24/48m for tin cans)
Scrap metal cost: 1/1/6 for small/medium/large
Water: No change for tins, always use 1 unit craft regardless of size (see first assumption). I've actually got no idea why the water cost is included for tins in the first place, but we're keeping it around.

-Dog food did not receive a small tin can variant because it's already 0.5L. But it did get a big one, just in case you wanted to tame a LOT of dogs. Cat food got medium AND big sizes. Why not. Cats are awesome.

-Similarly some soups have a volume of 500L so no small sizes for them. This also applies to beans

-Need to see if there is some way to break the 500mL items down into crafts of 250mL without breaking everything? Vegetable soup seems to suggest there is, since its derfault craft size (without canning) is 250mL despite the base item having a volume of 500mL. TODO This affects such a limited number of items that I did not go to the effort of resolving this.

-The existing offal craft was bugged, input 0.5L offals and output 0.25L of canned offals. Although with nutrient transfer this isn't immediately a big issue, we want to avoid any weird edge cases so this was fixed up. If we assume the offal is suspended in water/brine then each individual unit can just be the offal with the brine, as a liquid food.
--canned kompot was 'cheating' somewhat, and has to be adjusted so as not to be more dense when in jar-canned form. TODO
---Canned tomatos are compressed, becoming more calorie-dense and shoving 0.76L of tomato into each 0.25L of space. As the existing recipe is already 'small' size, and messing with the output units will affect literally everything made with canned tomato, I made the decision to leave this balance anomaly as-is and make available the same craft ratio into medium and large sizes of tin cans.

-Some of the small tin can crafts had the option to substitute canisters (or aluminum cans...). These were retained where existing, but new crafts in the small category do not use them. As I understand, such crafts will convert containers between types, which is undesirable.

-This needs some playtesting before merging. In particular I'm concerned about result_mult, as recipe.cpp indicates it does not work properly with some types of items. Need to check kompot, soups, etc... Anything that might come in portions or with charges. This could still use some playtesting, but all of the recipes have been spot checked ingame now. Several errors were found and corrected.

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Game: Balance Balancing of (existing) in-game features. astyled astyled PR, label is assigned by github actions labels Aug 31, 2022
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Aug 31, 2022
@RenechCDDA RenechCDDA marked this pull request as ready for review September 1, 2022 22:43
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Sep 2, 2022
@bombasticSlacks bombasticSlacks merged commit ac2884c into CleverRaven:master Sep 5, 2022
@RenechCDDA RenechCDDA deleted the Can-Can-but-it's-not-a-bunny branch September 22, 2022 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants