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

Update the long pole #75762

Merged
merged 32 commits into from
Dec 3, 2024
Merged

Conversation

bloodbowel
Copy link
Contributor

Summary

Features "Updates the long pole"

Purpose of change

I noticed the recipe for the long pole is similar to the spear shaft in some ways. You could cut the period where the player watches oil soak into the wood. I also updated it's to-hit calculation and made it's construction more realistic using a long wooden post rather than a complete wooden beam.

Describe the solution

  1. In Finishing the spear shaft recipe #75640 I removed 4 hours from construction time by adding a soaking period. I did the same thing for the long pole here because the recipe is similar. Now those 4 hours are spent soaking while the player can go do something else.
  2. I noticed that the long pole uses the old "to-hit: -1" to derive it's to-hit value. I updated this to use the modern grip/length/surface/balance calculation.
  3. I noticed this item is created from the wooden beam which is way to thick for it. It now uses a long wooden post which is much thinner but not too thin. I increased it's recipe time to 2 hours and 40 minutes to reflect all the time needed to cut it into shape. That means to create this now takes 2 hours and 40 minutes in construction and 4 hours in a soaking state. So 6 hours and 40 minutes total.

Describe alternatives you've considered

Leave the long pole alone. Maybe adopt some of these changes and leave others.

Testing

Tested on my computer in debug mode.

Additional context

Screenshot

long pole -> soaking long pole
time 1 hr 40 m -> 2 hr 40 m
wooden beam -> long wooden post
@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling <Enhancement / Feature> New features, or enhancements on existing labels Aug 17, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Aug 17, 2024
@Maleclypse
Copy link
Member

./tests/item_test.cpp:757: FAILED:
(~[slow] [.],starting_items)=> REQUIRE( msg_prune.empty() )
(
[slow] [.],starting_items)=> with expansion:
Error: (
[slow] [.],starting_items)=> false
(
[slow] [.],starting_items)=> with messages:
(
[slow] [.],starting_items)=> msg_enforce := ""
(
[slow] [.],starting_items)=> msg_prune := "
(
[slow] [.],starting_items)=> [
(
[slow] [.],starting_items)=> "long_pole"
(
[slow] [.],starting_items)=> ]
(
[slow] [.],starting_items)=> The item(s) above should be removed from the blacklist at /data/mods/
(
[slow] ~[.],starting_items)=> TEST_DATA/legacy_to_hit.json."

And soaking long pole is a weapon but wasn't added to the expected dps test

@github-actions github-actions bot added the Code: Tests Measurement, self-control, statistics, balancing. label Oct 6, 2024
@Maleclypse
Copy link
Member

../tests/effective_dps_test.cpp:294: FAILED:
(~[slow] [.],starting_items)=> CHECK( calc_expected_dps( weap.first ) == weap.second )
(
[slow] [.],starting_items)=> with expansion:
Error: (
[slow] [.],starting_items)=> Approx( 6.514137581 ) == 7.4
(
[slow] [.],starting_items)=> with message:
(
[slow] [.],starting_items)=> soaking_long_pole's dps changed, if it's intended replace the value in the
(
[slow] ~[.],starting_items)=> respective file in data/mods/TEST_DATA/expected_dps_data.

@bloodbowel
Copy link
Contributor Author

What are the stats of the character for the test? I'm supposed to estimate an average dps but I'm not sure how.

@Night-Pryanik
Copy link
Contributor

What are the stats of the character for the test?

It's 10/10/10/10 guy with 4 in all melee skills.

test_guy.str_max = 10;
test_guy.dex_max = 10;
test_guy.int_max = 10;
test_guy.per_max = 10;
test_guy.set_str_bonus( 0 );
test_guy.set_dex_bonus( 0 );
test_guy.set_int_bonus( 0 );
test_guy.set_per_bonus( 0 );
test_guy.reset_bonuses();
test_guy.set_speed_base( 100 );
test_guy.set_speed_bonus( 0 );
test_guy.set_body();
test_guy.set_all_parts_hp_to_max();
test_guy.set_skill_level( skill_bashing, 4 );
test_guy.set_skill_level( skill_cutting, 4 );
test_guy.set_skill_level( skill_stabbing, 4 );
test_guy.set_skill_level( skill_unarmed, 4 );
test_guy.set_skill_level( skill_melee, 4 );

@github-actions github-actions bot added BasicBuildPassed This PR builds correctly, label assigned by github actions and removed BasicBuildPassed This PR builds correctly, label assigned by github actions labels Dec 2, 2024
@bloodbowel
Copy link
Contributor Author

So that's what that value meant. I feel like an idiot. Oh well, now it passed. I was testing it in debug mode and looking at the item description for the dps, but it was incorrect even with the character set to be like the debug man.

But now I am getting this error:
Mods-(~[slow] [.],starting_items)=> ../tests/vehicle_fake_part_test.cpp:363: FAILED:
Mods-(
[slow] [.],starting_items)=> CHECK( !you.sees( you.pos_bub() + point( 10, 10 ) ) )
Mods-(
[slow] [.],starting_items)=> with expansion:
Error: Mods-(
[slow] ~[.],starting_items)=> false

What is that? I didn't mess with any vehicle parts.

@Night-Pryanik
Copy link
Contributor

This error isn't related to your PR.

@Night-Pryanik Night-Pryanik merged commit 7e0339c into CleverRaven:master Dec 3, 2024
17 of 23 checks passed
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Dec 3, 2024
@bloodbowel bloodbowel deleted the update-long-pole branch December 4, 2024 01:30
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 Code: Tests Measurement, self-control, statistics, balancing. Crafting / Construction / Recipes Includes: Uncrafting / Disassembling <Enhancement / Feature> New features, or enhancements on existing [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.

4 participants