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

Fix being unable to split trunks with stone/copper axes, allow adzes #22933

Closed
wants to merge 3 commits into from

Conversation

Projects
None yet
6 participants
@smolbird
Copy link
Contributor

commented Feb 13, 2018

  • Makes the required quality for splitting trunks the same as the minimum to cut trees down in the first place.
  • Allows use of adzes for splitting tree trunks as well.

Closes #22931

Reasoning: Being unable to split tree trunks with a stone or similar axe makes the act of cutting the tree down utterly pointless without access to civilization, in turn making stone and copper axes utterly worthless. No logs innawoods also stops a lot of crafting and constructing dead unless you can bootstrap forging (which you'd have to prioritize over building the house you now can't get materials for) or raiding cities.

It's both bad gameplay and unrealistic that, as I put it, you magically forget the ability to hack at a tree trunk just because it fell over.

Smolbord
Make woodcutting tools and processes sane and consistent
* Makes makeshift axes have the same woodcutting quality as stone and copper axes.
* Makes battleaxes have a lower quality than wood axes, as they're supposed to be worse at woodcutting than wood axes.
* Makes the required quality for splitting trunks the same as the minumum to cut trees down in the first place.
@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

Some additional questions to ask:

  • Should hand axes (More Survival Tools, essentially stone axe blades without handles) be able to chop down trees? Before @Night-Pryanik's PR, they were usable for splitting logs but not for cutting down trees.
  • Should cutting tree trunk into planks use the same qualities as cutting them into logs? Since sticks are usable for 90% of innawoods things you can use 2x4s for, it might be acceptable to make splitting into logs require woodcutting or sawing 1, and make cutting into planks require woodcutting or sawing 2. This would allow allow the option of removing the axe quality from hand axes, resolving the situation outlined above.
  • If the second point is acted on, the older "saw logs into planks" use action is still tied to axe quality, which makes it an inconsistency no matter what. An alternative might be to have both tree-trunk splitting recipes require axe or saw quality of 1, and explicitly give hand axes (or stone adzes) the split-logs-into-2x4s action.

Any of the above outcomes might be fit for a later PR.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Feb 13, 2018

The previous change seems to have been focused on keeping the qualities in the range of 1-3, allowing higher numbers should make adressing these issues easier.
There should be a progression where stone axes < makeshift axes < battleaxes <= wood axes < chainsaws.
Hand axes sound utterly useless, but I really don't care what you do since they're mod only. As such there's no inconsistency with respect to mainline content, I have no interest in changing how core items work because a mod doesn't match.

The underlying code probably needs to be changed if the numbers get inflated. Also note they don't have to be consecutive numbers, e.g. a wood axe could be 4 and a chainsaw 10 if that makes the times come out better.

@@ -482,7 +482,7 @@
"material": [ "steel", "wood" ],
"symbol": "/",
"color": "light_gray",
"qualities": [ [ "AXE", 2 ] ],
"qualities": [ [ "AXE", 1 ] ],

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Feb 13, 2018

Member

You think that a specialized, sharp weapon is on par with the crude makeshift tools with uneven and not particulary sharp cutting edge in terms of woodcutting? The same for inferior version.

This comment has been minimized.

Copy link
@smolbird

smolbird Feb 13, 2018

Author Contributor

There is a reason that battle axes are not used for wood cutting. The blade is generally much lighter and thinner than on a splitting axe, and even on most hatchets. Either way I at least went for consistency. Note that "battle axe is equal to stone axe" was how it was to begin with.

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

There should be a progression where stone axes < makeshift axes < battleaxes <= wood axes < chainsaws.

Stone axes should be on par with makeshift axes, as makeshift axes are basically a hammered chunk of scrap. It's meant to be functionally the stone axe recipe with a different resource expended.

Copper axes however could likely be on par with battleaxes, in between stone/makeshift axes and wood axes. More work is put into making copper axes, while on the flipside a battleaxe blade is NOT designed for cutting down trees. You have a better edge but a much thinner one.

In that case I'll look into rebalancing from the source side to, but take note that both makeshift axes AND hand axes are mod items.

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

That said, 4 cutting quality is more than enough for a chainsaw, and adds enough room for the following tiers:

Tier 1: crudely cold-hammered axes (stone, makeshift, probably copper).
Tier 2: Actual forged axes that aren't designed for woodcutting (battle axes, fire axes and hatchets MIGHT go here).
Tier 3: Actual proper woodcutting axes (fire axe may or may not go here instead?), possibly combat chainsaw.
Tier 4: Actual non-weaponized chainsaws.

Does this seem adequate? The only ones I'm really on the fence about placement would be fire axes, hatchets, and combat chainsaws. Copper axes are still probably fine at tier 1, so long as the "magically forget how to hack at a trunk because it fell over" issue to resolved.

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

Also, further question. Should you be able to split tree trunks with an adze (sawing quality 1), or only be able to use wood saws for that purpose?

@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Feb 13, 2018

Should you be able to split tree trunks with an adze

I'd say yes. Isn't that what it's for, cutting and shaping big pieces of wood?

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

Very well then.

Smolbird
Additional changes
* Removed woodcutting quality from hand axe. Retention of wood sawing
quality however.
* Increased battle axe (normal and inferior) quality to 2.
* Increased wood axe quality to 3.
* Increased chainsaw (gasoline and electric) quality to 4.
* Increased fire axe quality to 3, for now.
* Changed splitting of tree trunks to allow stone adzes or hand axes.
@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2018

Okay, I didn't really think about the source math that hard during my last commit, and I think I will need to alter it. The status quo seems to be made mainly with "above-average strength + stone axe = 60 minutes" and "above-average strength + wood axe = 30 minutes" in mind.

I'd guessed that the solution is to multiple, divide, or otherwise alter the equation to make 1 and 3 quality divide the time by the same amount as 1 and 2 does now. It wasnt until after I woke up in the morning that I realized all my initial ideas involved altering both sides of the equation (base time, quality division) which wouuld've canceled out into the same result as if no changes were made.

Yes, it only took me until after getting some sleep to figure out that "make 3 equal 2" would require the alterations to be asymetrical. I came up with something like this:

moves = MINUTES( ( 70 - p->str_cur ) * 2 ) / ( it->get_quality( AXE ) + 1 ) * 100;

Not sure of the correct formatting. The base time is doubled but the qualities are automatically incremented by 1.

A simpler way would be to just do the "bump the quality up by 1" on the item side rather than the source side, having 2 woodcutting go back to being the default lowest quality used. In theory, this also means that if I gave hand axes wood quality 1 again, you could take about 2 hours to cut down a tree with it, versus 1 hour for an actual stone axe.

@Night-Pryanik

This comment has been minimized.

Copy link
Member

commented Feb 14, 2018

You forgot about the gasoline chainsaw.

I think most of the changes are unnecessary. Just lower the requirements for chopping trunks from axe 2 to axe 1, and it'll suffice.

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 14, 2018

Alright. That was my main goal admittedly, rebalancing can be done afterward.

Smolbird

@smolbird smolbird changed the title Make woodcutting tools and processes sane and consistent Fix being unable to split trunks with stone/copper axes, allow adzes Feb 14, 2018

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 14, 2018

Is it still acceptable to allow using adzes for this too?

@smolbird

This comment has been minimized.

Copy link
Contributor Author

commented Feb 14, 2018

Error fetching remote repo 'origin' again.

@BorkBorkGoesTheCode

This comment has been minimized.

Copy link
Contributor

commented Feb 16, 2018

Jenkins, rebuild please.

@BorkBorkGoesTheCode

This comment has been minimized.

Copy link
Contributor

commented Feb 16, 2018

@narc0tiq what's up with gorgon and Jenkins command?

@Night-Pryanik

This comment has been minimized.

Copy link
Member

commented Feb 16, 2018

Should be changed or closed after #22939 has been merged.

@smolbird smolbird closed this Feb 16, 2018

@smolbird smolbird deleted the smolbird:patch-2 branch Feb 16, 2018

@narc0tiq

This comment has been minimized.

Copy link
Contributor

commented Feb 16, 2018

@BorkBorkGoesTheCode

@narc0tiq what's up with gorgon and Jenkins command?

Turns out the host's DNS resolution got broken -- some time ago, it seems; I just plugged in Google's DNS as the final alternative, which seems to have sorted it. I also had Github redeliver the latest push notification to gorgon's webhook, which also got a build going. Everything should return to normal now.

Thanks for the @, wouldn't have likely seen it otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.