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

Working draft of blacksmithing. #4672

Draft
wants to merge 9 commits into
base: dev
Choose a base branch
from

Conversation

MistakeNot4892
Copy link
Contributor

@MistakeNot4892 MistakeNot4892 commented Dec 22, 2024

Description of changes

This is a partial implementation of blacksmithy and metalworking to bracket the existing low-tech crafting systems like casting.

TODO

  • Coarse implementation of actions and steps.
  • Getting the billets/bars up to temperature for forging and having them cool.
  • Moving billets and bars around via tongs, anvil and forge fire.
  • Find a solution to the glow effect making everything cool to dark grey irrespective of base color.
  • Slap in Doe's awesome icons to replace the older placeholders.
  • Implement barrel crafting.
  • Implement shield crafting.
  • Implement uses for nails.
  • Find icons for armor, helmet, blade blanks.
  • Update the forging steps and products to reflect what can actually be made in game currently.
  • Move metal crafting recipes off stacks and onto either the autolathe, forging or both.
  • Add chipping a boulder into a shitty anvil.
  • Add some kind of spaceman shitty anvil.
  • Add anvil forging (ingots on an anvil instead of a billet?)
  • Add anvil durability.
  • Find a nicer clang sound effect for forging.
  • Punch up the forging strings and messages to be less brusque.

Longer-term TODO (not in this PR)

  • Update bladed weapons to be crafted like tools, by combining handle and blade blank.
  • Implement quenching/hardening and grinding/polishing as final steps after producing the blanks.
  • Implement barrel, chest and armour fittings.

Why and what will this PR improve

  • Implements a metalworking minigame to replace using psychic powers and spaceman bare hands to turn ingots into things.
  • Clang clang clang clang.

Authorship

Code is mine, icons and a lot of the design work belong to @PlayerDeer.

Changelog

🆑
tweak: Many stack crafting recipes for metal items now require a fabricator (like the autolathe), or forging on an anvil.
feature: Added blacksmithing!
/:cl:

@MistakeNot4892 MistakeNot4892 added the work in progress This PR is under development and shouldn't be merged. label Dec 22, 2024
@MistakeNot4892 MistakeNot4892 force-pushed the feature/blacksmithy branch 3 times, most recently from 974c8dc to cce8d61 Compare December 22, 2024 14:44
code/game/objects/objs.dm Outdated Show resolved Hide resolved
// Put the bar onto the anvil (need to do this to avoid repairs in ..())
if(istype(used_item, /obj/item/stack/material/bar))
var/obj/item/stack/material/bar/bar = used_item
if(bar.get_amount() == 1 && current_health >= get_max_health())
Copy link
Member

Choose a reason for hiding this comment

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

this means the moment it takes any damage from use you stop being able to place a bar on it...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. Because otherwise you cannot repair an anvil.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added a material check and removed the amount check. If you want to put a single iron bar onto a damaged iron anvil you will need to use throw-place but that seems like a niche enough problem to not matter.

@MistakeNot4892 MistakeNot4892 force-pushed the feature/blacksmithy branch 5 times, most recently from 8bdccc7 to 496142b Compare January 1, 2025 13:15
@out-of-phaze out-of-phaze dismissed their stale review January 3, 2025 05:15

premature review

@MistakeNot4892 MistakeNot4892 added the has dependencies This PR should not be merged prior to any PRs linked in body or comments. label Jan 9, 2025
@MistakeNot4892
Copy link
Contributor Author

MistakeNot4892 commented Jan 9, 2025

Breaking this up a bit for ease of workflow/review:
#4709, #4710, #4711, #4712, #4713

@MistakeNot4892 MistakeNot4892 force-pushed the feature/blacksmithy branch 3 times, most recently from a265917 to fdc5618 Compare January 9, 2025 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has dependencies This PR should not be merged prior to any PRs linked in body or comments. work in progress This PR is under development and shouldn't be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants