-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[WIP] Naive first draft beginning bowyery overhaul #39239
Conversation
* Add crafting components "bowstring" and "makeshift bowstring" used for bow manufacture. - The former has two recipes with different sources of heat to seal thread knots. It is not auto-learned, but can be found in any archery book, most survival books, and Bowyer's Buddy. - The latter is auto-learned at the game's start, and not much more resource-intensive than previous recipes. * Rename "self bow" to "makeshift shortbow" * Add new weapon and corresponding recipe "makeshift longbow". - Stats are placeholders, but meant to reflect an improvement over the makeshift shortbow, and increased bulk/awkwardness over the standard longbow. In terms of gameplay, this bow is meant to help archery players survive until they're able to find a bowstring or a recipe thereto. - The book-learning Survival gate for the bowstring recipe is meant to reflect my own ignorance of the topic, despite having consumed more than my share of "survival media". - I don't know if there's a way to have the self-learning requirement for an item to be higher than the requirement to simply craft it, but if it's possible, Survival 3 may be appropriate to self-learn this recipe * Change recipes of craftable bows to use new item rather than cordage - Makeshift bows use makeshift bowstrings. All other bows use standard bowstrings. * Change longbow recipe to strictly use long sticks. No planks allowed. This is temporary anyway, until implementation of staves and seasoning. * Change NPC inventories to carry new makeshift bows rather than self bow to appease runtime barks
I've done my best to comply with the style guides - both for the PR and the code itself. Judging by the amount of failed tests, this was less than successful. I'll be working on fixing those presently. |
Remove square brackets around "Content" in first line of PR description, that should do the trick. |
appease clang
This is looking good to me as a first PR, and as a start to making bow crafting more reasonable. It's not a complete rework yet but this is good infrastructure for when bow crafting is more fully reworked. |
appease clang
Update bowstring recipe to use this Update 'waterproofing' requirement to use this
Player may not have made a 'previous attempt'.
base 'mixed fabric' stats on cotton, but prohibit disassembly apply material to new bowstring items
appease clang
new name "shortbow_makeshift"
appease cryptic compiler errors also rename "makeshift longbow" to "makeshift flatbow"
for god's sake
electric boogaloo
forgot to update longbow recipe to reflect flatbow name
"tools": [ [ [ "fire", -1 ] ], [ [ "candle", 12 ] ] ], | ||
"qualities": [ { "id": "CUT", "level": 1 } ], | ||
"components": [ | ||
[ [ "cordage_36", 3 ], [ "sinew", 900 ] ], | ||
[ [ "wax_product", 1, "LIST" ] ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Candle would be listed twice - through wax_product
requirement and tools
section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's by design. You or may not be able to use the same candle that you're effectively disassembling and using for wax as a makeshift lighter -- and it doesn't appear that it's possible to use candle charges as a component, given that candles (unlike matches) aren't stored in a stack of charges. I'm not sure how best to represent this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure why do we need exactly the candle (as a tool).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still learning about a lot of this stuff, which is why this is marked both by [WIP] and "Naive first draft". I don't think it should be actually pulled into the game until I've had time to internalize some of the expertise of my consultants and implement a lot more infrastructure. Everything so everything so far reflects my very narrow understanding.
In said narrow understanding, you need a small flame specifically in order to seal the knots reinforcing the bowstring's attachment points and the one over which the arrow is held without burning and thereby weakening the bowstring's cord itself. I have difficulty visualizing how this could be done safely/reliably with something as large as a campfire. This assumption may be incorrect, and is one of the many, many things I intend to run past the people who know about this stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is one of these cases where we could use abstraction. I.e. survivor is able to properly "apply" large fire from a campfire even for fine works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I've gotten massively distracted by other projects. I need to review this PR to make sure it's in line with archery nerfs and update screenshots. Re: this specific input, I'm still inclined to disagree but I'll cave to seniority for now and make this change in the morning unless someone else pipes up.
remove redundant field from makeshift shortbow recipe capitalize Mixed Fabric
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered. |
This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it |
Summary
SUMMARY: Content "Beginning bowyery overhaul by adding new 'bowstring' items and changing extant archery-bow recipes to use them."
Purpose of change
To begin laying the groundwork for more in-depth bow crafting and rebalance of archery.
Describe the solution
Primarily replaces cordage requirements for bows with the new 'bowstring' and 'makeshift bowstring' components, as a start to requiring more tools and character knowledge for bow manufacture.
Describe alternatives you've considered
None. The author was told to just do something and PR it for review rather than agonizing over details. This is his attempt to comply.
Testing
Continually tested ability to craft new items with debug characters of various skill levels, and availability of different books.
Additional context
The author's first PR. He's not bent on any of these changes, just wants to get familiar with the process here.
Commit log/details:
Add new crafting components "bowstring" and "makeshift bowstring".
"Makeshift bowstring" is known by all characters, and requires 3 long strings or any equivalent cordage.
"Bowstring" requires Archery and Survival both at level 2, and is not auto-learned. It can be learned from most survival books, any archery book, and Bowyer's Buddy, with a Survival requirement of 1 (to know what 'tallow' is).
Recipe is 12 sources of small flame/heat (lit fire+candle charges, or matches/lighter/soldering iron charges), a tool with Cutting 1, 3 Long Strings equivalent of cordage from plant or animal sources, and 1 of tallow(any source), [bees]wax, or a candle.
This has two recipes with different sources of heat to seal its thread knots.
The book-learning gate for the bowstring recipes is meant to reflect the author's own ignorance of the topic, despite having consumed more than his share of "survival media".
If there's a way to have the self-learning requirement for an item to be higher than the requirement to simply craft it, Survival 3 may be appropriate to auto-learn these recipes.
%%
This better lines up with existing conventions, and helps draw a clear line between "makeshift" (unskilled, shoddy materials and supplies) and properly-crafted bows.
TODO: rename item id in backend to reflect this. Shoving this problem forward to a future branch pending author's ability to decode mysterious compiler complaints.
%%
Change "self bow->makeshift short bow" description to be more concise and [hopefully] in line with the rest of the game's humor.
Change "longbow" -> "flatbow" in-game, per Discord discussion. Update description.
%%
%%
Screenshots of new items/recipes below, as well as a screenshot of updated longbow recipe for reference.
bowstring 1
![image](https://user-images.githubusercontent.com/63127974/78425013-cbeb7380-762e-11ea-97eb-5b23b7a91ab1.png)
bowstring 2
![image](https://user-images.githubusercontent.com/63127974/78425041-06551080-762f-11ea-88e4-3d590a3a3759.png)
makeshift bowstring
![image](https://user-images.githubusercontent.com/63127974/78425032-f3dad700-762e-11ea-9de5-b61862bfc5b4.png)
makeshift shortbow
![image](https://user-images.githubusercontent.com/63127974/78425054-2553a280-762f-11ea-9bc0-19b1924f35ac.png)
makeshift longbow
![image](https://user-images.githubusercontent.com/63127974/78425080-63e95d00-762f-11ea-84e8-b746fd5299a7.png)
reference longbow
![image](https://user-images.githubusercontent.com/63127974/78425107-9c893680-762f-11ea-871c-520326a650bf.png)