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

feat(content, port): bog iron #3506

Merged
merged 2 commits into from
Oct 28, 2023

Conversation

chaosvolt
Copy link
Member

@chaosvolt chaosvolt commented Oct 26, 2023

Summary

SUMMARY: Content "Port over iron ore and bog iron from Innawoods and Mining Mods"

Purpose of change

The continued saga of doing literally anything but work on #3419 due to how convoluted it's looking to be, this time I figured I'd tackle a misc feature on my todo list pertaining to innawoods metalworking.

Takes aspects from both DDA's Innawoods mod and DN's old Mining Mod.

Describe the solution

  1. Added generic iron ore items. Could be hematite, could be magnetite, could be a mess of iron-eating bacteria infested mud (currently the latter's the main source so), gods forbid it better not be limonite. Volume and weight leans more on the side of Mining Mod's interpretation of hematite, scaled down to an amount that fits for being processed into a single lump of steel.
  2. Added terrain entry for bog iron, based off of the Innawoods mod version, plus relevant craterization change to its bash entry and a tweaked description. Also a looks-like entry that points to a fellow terrain, not furniture.
  3. Added construction entry for digging up chunks of iron ore from bog iron. Scaled massively down from the Innawoods version because we aren't going to be hilariously wasteful about it, as seen below. Requires slightly more skill than the basic constructions, 2 survival in this case, on the basis that sifting through and picking out bits of exposed magnetite or finding that delicious iron-bacteria-infested mud the Primitive Technology channel makes use of so much takes a bit of knowledge.
  4. Added recipe for smelting iron ore into lumps of steel. Two big things here are it's based more on Mining Mod's crucible steel recipe (because building a bloomery is unneeded fluff if you're just gonna have it be a generic tool and not process large amounts of iron in bulk like a charcoal kiln), and more importantly it has an actually sensible yield. 62 kilograms and 9 hours of work to make 3 kg of metal? Under 5% yield when real-life bloomeries have a 10-20% yield rate? Jesus. I went with what is just a hair over 25% yield, so way more than Innawood's yield, a bit more than a bloomery method (fair since we're using a more modern technique), but less than Mining Mod's yield rate (based off industrial yields far as I can tell). Includes added charcoal (for carburization, player may be using an electric forge) and limestone for flux as in the Mining Mod version, lil more generous rates since these are making single lumps at a time.
  5. Added bog iron to regional map settings for swamp terrain, increasing the weights of other terrain accordingly to make it not be super-common, as Innawoods mod does.
  6. Added iron ore to relevant itemgroups.

Describe alternatives you've considered

Just saying "fuck it" and porting over DN's Mining Mod wholesale. I do have plans to mainline some bits of it someday, but probably will entail more C++ stuff.

Testing

Checked affected files for syntax and lint errors.

Additional context

Relevant PRs/repos:

  1. Innawoods mod PR, by @Light-Wave: New Innawood mod CleverRaven/Cataclysm-DDA#53960
  2. Mining Mod repo, by @DangerNoodle: https://github.com/DangerNoodle/mining-mod

See also, a shirtless guy in Australia who makes (among other things) iron out of mud: https://www.youtube.com/watch?v=DyGLE0usN_I

Misc related plans:

  1. I want to implement Mining Mod's mineral veins in some form or another someday. First obvious application would be to make it so mines can generate them. Likely by way of migrating the forbidden doggo finale that now gets placed in all the generic bonus dead-ends into a dedicated mine type like the other types, and using all those false start finales to place multiple exposed mineral veins instead.
  2. Individual clusters of mineral in other areas could be implemented in one of several other methods. Either via Mining Mod's method of specials that have surface indicators above it, making it so that random empty rock can just spawn with veins in them via some method (map extra, completely buried overmap specials, regional groundcover fuckery, who knows), via inventing hills and mountains someday, dunno.
  3. Adding a map extra in swamps that places an elevated amount of bog iron, like with clay deposits in forests?

chaosvolt and others added 2 commits October 26, 2023 18:32
Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com>
Co-Authored-By: DangerNoodle <DangerNoodle@users.noreply.github.com>
Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com>
@github-actions github-actions bot added the JSON related to game datas in JSON format. label Oct 26, 2023
@Light-Wave
Copy link
Contributor

Light-Wave commented Oct 27, 2023

Cool. Always nice to see things moved from Innawood to mainline.

If you haven't already, you might want to take a look at CleverRaven/Cataclysm-DDA#32450 for a deeper discussion on bog iron balance.

Some relevant parts include:

Based on modern experimental archaeology, it's possible to collect 10kg of bog iron in an hour.

150lbs of ore yields on average 8-10lbs of meidium to high carbon steel using a bloomery and around 200lbs of hard wood charcoal. Process takes (not including making the charcoal and if needing it, crushing the ore into small pieces the size of an american dime) roughly 9 hours and has to be manually tended to. The bloom as its called then requires around 30 minutes of heavy hammer work to initially compress

I don't know how trustworthy the second quote is, but it's what I used as a basis for bog iron in Innawood.

Either way, feel free to remove bog iron item and processing from Innawood in this PR as well. Maybe Innawood should have higher spawn rates of the stuff than vanilla does since in modern New England, most easily available bog iron is already harvested, which would not be the case in the mod.

@scarf005 scarf005 changed the title Implement bog iron feat(content, port): bog iron Oct 27, 2023
@chaosvolt
Copy link
Member Author

Could be worth a look, true. I'd need to hunt down my sources on what the yield for bloomery iron should be, though since we're basing it off a more modern process I'd need to hunt down better results for that. Industrial yields it seems would be much closer to the 50-odd percent Mining Mod if I recall, but not sure what a realistic yield for a crucible process done using nonindustrial methods would be. I would reasonably expect it to be between that of the bloomery method and modern industrial yields though.

In this case iron yield from digging was scaled down to be more in line with how lumps worth was being dug up in Innawoods moreso than a perfectly realistic figure. Probably for the best to go lower over realistic since how many rounds of digging you get out of each tile is random, and how much might logically be in each iron deposit wouldn't be consistent either, so favoring balance might be better in this case.

As for Innawoods itself, BN doesn't actually have the mod itself currently, since the current branching-off point was updated to be just before nested containers was updated, but porting over elements of it into mainline where suitable seems reasonable whenever time and energy might allow. Or porting over the mod itself for its stated aim of making innawoods gameplay mandatory, but would depend on how desirable that'd be over other approaches. Limiting it to a simple "make zero city dize actually look right by blacklisting remaining urban overmap specials" and having all the desired QoL recipes be in mainline might wind up being the preferred approach, who knows.

@Light-Wave
Copy link
Contributor

Ah my bad, I thought this was the CDDA repo. In that case, carry on 😄

@scarf005 scarf005 self-assigned this Oct 28, 2023
Copy link
Member

@scarf005 scarf005 left a comment

Choose a reason for hiding this comment

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

image
image
image

LGTM

@scarf005 scarf005 added this pull request to the merge queue Oct 28, 2023
Merged via the queue into cataclysmbnteam:upload with commit 0ce4698 Oct 28, 2023
14 checks passed
@chaosvolt chaosvolt deleted the diggy-diggy-hole branch October 28, 2023 04:11
olanti-p pushed a commit to olanti-p/Cataclysm-BN that referenced this pull request Oct 30, 2023
* Implement bog iron

Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com>
Co-Authored-By: DangerNoodle <DangerNoodle@users.noreply.github.com>

* Also this bit whoops

Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com>

---------

Co-authored-by: Light-Wave <66904273+light-wave@users.noreply.github.com>
Co-authored-by: DangerNoodle <DangerNoodle@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JSON related to game datas in JSON format.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants