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

Quenching recipe consistency #77813

Merged

Conversation

Kribylet
Copy link
Contributor

@Kribylet Kribylet commented Nov 13, 2024

Summary

Bugfixes "Make Quenching/Tempered Steel recipes more consistent"

Purpose of change

I noticed an inconsistency with quenching recipes sometimes using only water, and other times permitting water and water_clean. Looking more closely, I noticed a few more inconsistencies with tool usage across sizes for some items and some items not requiring any water or quenching basin at all. Some recipes required the quenching proficiency but didn't involve tempering anything. This pull request aims to resolve some of those inconsistencies.

Describe the solution

Changed JSON entries that only permitted unsafe water to also accept clean water as an alternative for quenching purposes when crafting tempered armor.
Changed JSON entries that required the quenching proficiency, but did not involve tempering anything (eg. making chainmail out of tempered parts). Those recipes no longer involve the quenching proficiency.
Changed JSON entries that required the quenching proficiency, involved tempering, but did not require water or a quenching basin at all. Those recipes now require a metal_tank and water or water_clean.
Changed JSON entries for arm guards where the normal size variant required a swage and die set, but XL and XS variants did not. All those recipe size variants now require the tool.

Describe alternatives you've considered

I did not attempt to tackle inconsistencies with regards to tool use between recipes:
Some recipes require the swage and die set for armor parts that seem similar to other armor parts that don't.
Some helmets use a (clay/regular) crucible, but not a hot cut, while almost all other tempered steel recipes requires a hot cut.

The Tempered steel Battleaxe allows to substitute a hot cut with a drift, but no other tempered steel recipe permits this.

The Tempered steel mace does not require a hot cut, nor any substitute special tool, but I'm not familiar with blacksmithing and it seemed too close to reasonable that forging a tempered metal mass on a stick might not require a special tool beyond the quenching basin.

Several tempered armor sets offer a normal size and XL size variant, but no XS size variant. I'm not sure what the underlying reason might be or if it is merely an oversight, it seems reasonable enough that somebody could craft a small version of metal armor if they wanted to. In any case, I didn't feel comfortable trying to create new items with this pull request.

Testing

Started the world and checked recipes in the craft menu in a debug world. Checked that if the quenching proficiency was required, a water basin and water was also required. Checked that both water and clean water was permitted to be used.
Checked that recipes that create tempered equipment but does not actually temper anything during its crafting step does not require the quenching proficiency, eg. chainmail linking of tempered parts.

Additional context

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Items: Armor / Clothing Armor and clothing <Bugfix> This is a fix for a bug (or closes open issue) labels Nov 13, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

[JSON & C++ formatters](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/DEVELOPER_TOOLING.md)

[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "swage", -1 ] ], [ [ "hotcut_any", 1, "LIST" ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ]


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "polisher", -1 ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "polisher", -1 ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "polisher", -1 ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],


[JSON & C++ formatters] reported by reviewdog 🐶

"tools": [ [ [ "hotcut_any", 1, "LIST" ], [ "drift", -1 ] ], [ [ "metal_tank", -1 ] ], [ [ "water", -120 ], [ "water_clean", -120 ] ] ],

@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Nov 13, 2024
Kribylet and others added 2 commits November 13, 2024 18:51
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Nov 13, 2024
@Procyonae
Copy link
Contributor

Is there some issue with just using some "type": "requirement" to cut out all the repetition here? (We also have any_fresh_water/any_water at the very least rather than just adding clean water to all the entries)

@Kribylet
Copy link
Contributor Author

Kribylet commented Nov 15, 2024

Is there some issue with just using some "type": "requirement" to cut out all the repetition here? (We also have any_fresh_water/any_water at the very least rather than just adding clean water to all the entries)

Not at all. The only reason I didn't was because I modified things using the context clues from the other entries for tempered crafts (lack of experience with the JSON structure CDDA uses). I'll try to find entries that are expressed more cleanly and try to condense things sensibly according to that.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 25, 2024
@Night-Pryanik Night-Pryanik merged commit 9edfa14 into CleverRaven:master Nov 27, 2024
20 of 26 checks passed
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 <Bugfix> This is a fix for a bug (or closes open issue) Items: Armor / Clothing Armor and clothing [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.

3 participants