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

Arrows/Bolts are Extremely Brittle and Have Very Low Chance of Recovery #74655

Closed
Alm999 opened this issue Jun 18, 2024 · 2 comments · Fixed by #74667
Closed

Arrows/Bolts are Extremely Brittle and Have Very Low Chance of Recovery #74655

Alm999 opened this issue Jun 18, 2024 · 2 comments · Fixed by #74667
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics (S2 - Confirmed) Bug that's been confirmed to exist

Comments

@Alm999
Copy link
Contributor

Alm999 commented Jun 18, 2024

Describe the bug

Due to some recent changes to game mechanic (some speculate due to this: #73931 but I lack the skills needed to tell heads from tails in the code) reclaimable projectiles (arrows/bolts) are extremely unlikely to survive a shot, which leads to bows/crossbows being unusable.

Attach save file

Addie-trimmed.tar.gz

Steps to reproduce

Here is a test.

  1. A character has the weakest bow in the game (survival bow) so arrow breaking another arrow is extremely unlikely and 20 wooden broadhead arrows (one of the sturdiest types of arrows, having a "decent" chance of remaining intact)
    fl001
  2. First, let's try shooting an imaginary target (as far as I can understand, the practice target is not material and an arrow actually can not collide with it).
    fl002
    3)After 20 shots only 3 arrows remained!
    fl003
  3. Now, with another 20 arrows let's try a "living" target…
    fl004
  4. One dummy "dead" and another one "wounded" (alas, could not get an arrow to embed into them) the result is marginally better. Only 5 arrows remain.
    fl005

Expected behavior

I expect arrows to be as sturdy as they were before the changes: roughly 18-19 wooden broadhead arrows remaining intact out of 20 shot.

Screenshots

No response

Versions and configuration

  • OS: Linux
    • OS Version:
  • Game Version: cdda-experimental-2024-06-18-0730 d3ae4fd [64-bit]
  • Graphics Version: Tiles
  • Game Language: English [en]
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Portal Storms Ignore NPCs [personal_portal_storms],
    Slowdown Fungal Growth [no_fungal_growth]
    ]

Additional context

No response

@Alm999 Alm999 added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label Jun 18, 2024
@PatrikLundell
Copy link
Contributor

/Confirmed

I have noted the very low survivability of arrows as well. The weird thing is that when I started (a week or so ago) starting carbon fiber arrows usually survived the impact, as the wooden broadheads I found also survived with a reasonable frequency (about the same as in earlier sessions), but then I started to shoot enemies at point blank, resulting in critical hits, and they (the arrows, not the enemies) started to disappear on impact most of the time. I'm very occasionally able to recover a second tier arrow (crude-> makeshift?), but currently I'm expecting them all to be lost on impact, so they have to count. Half the day fighting, and the other half making new arrows.

@github-actions github-actions bot added (S2 - Confirmed) Bug that's been confirmed to exist and removed (S1 - Need confirmation) Report waiting on confirmation of reproducibility labels Jun 18, 2024
@NetSysFire NetSysFire added [C++] Changes (can be) made in C++. Previously named `Code` Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics labels Jun 18, 2024
@kevingranade
Copy link
Member

Yes it looks like #73931 is the culprit, this is the pertinent change.

- !one_in( n.value() );
+ x_in_y( ammo->recovery_chance, 100 );

which is a lot easier to understand, but the chance values needs updating.
The "worst" recovery chance previously was "2", which means 2 - 1 / 2, i.e. 50%, now "recovery_chance: 2" means 2%, which is clearly much worse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics (S2 - Confirmed) Bug that's been confirmed to exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants