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

Increase 57 recoil to reasonable amount #77168

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Maleclypse
Copy link
Member

Summary

None

Purpose of change

Adjust 57 recoil. While the recoil on a P90 is incredibly low it's not so low that subsonic rounds have difficulty cycling the action. Currently in game subsonic rounds cannot cycle the action.

Describe the solution

Increase recoil on base rounds. I didn't find anything suggesting our recoils are set on anything other than vibes so I thought about the recoil from different guns I've shot and assumed the recoil on the 30.06 is correct. Then adjusted 57 rounds upward a small amount that seemed fair.

Describe alternatives you've considered

Testing

Additional context

@RedMisao
Copy link
Contributor

For what I've seen, the recoil value of ammo seems based on the proyectile's muzzle energy in J, the same number where the damage is square-rooted from.
Although, I don't know where the gun's min_cycle_recoil is obtained from. For pistols and smgs, it's usually set at 450, which seems arbitrary to me but then again most of them use 9mm.

@Maleclypse
Copy link
Member Author

For what I've seen, the recoil value of ammo seems based on the proyectile's muzzle energy in J, the same number where the damage is square-rooted from.

Although, I don't know where the gun's min_cycle_recoil is obtained from. For pistols and smgs, it's usually set at 450, which seems arbitrary to me but then again most of them use 9mm.

If you have better numbers you think I should use I fully support any changes you suggest. :)

@github-actions github-actions bot added the [JSON] Changes (can be) made in JSON label Oct 19, 2024
@RedMisao
Copy link
Contributor

I checked where the field was added and related commits (#31485, which is in turn the continuation of #30985 - specifically this post, and #45062 which is the PR adjusting the values accordingly).
Seems that the gun's min_cycle_recoil value was set from 90% of the ammo's recoil for guns that should not cycle with blackpowder, or 75% for the value only if it's known they can cycle with blackpowder ammo (†). This was a deliberate choice according to Kevin's request in #31485.
(†) This is why blackpowder values are always set at 77% of the base ammo.

Now, for where the ammo gets its recoil. Skipping some commit history, it was reworked in #18362, quoting "scaled roughly equal to kinetic energy (J)".
Using wikipedia for reference:

  • 9mm should have a recoil of 350 (FMJ) - 500 (+P+), it has 500 ingame
  • 556 M855A1 should have a recoil of ~1800, it has 1650 ingame
  • 762x51 M80 should have a recoil of ~2500, it has 3000 ingame
  • 762R should have a recoil of ~3600, it has 2650 ingame
  • 545 7N6 should have a recoil of ~1300, it has 1400 ingame

In most cases the ingame recoil is higher than the IRL energy values, except for 556. I'm citing 762R because I personally use it for reference, and it's an outlier, in case anyone knows better.
So, 57 ammo should have a recoil of ~500 (or slightly higher?). But doing so makes the P90 cycle with blackpowder ammo, which I don't know if it's the case IRL. The same applies for the other weapons using 57. Which... may be out of scope for this PR.

PD: I will update the documentation accordingly. min_cycle_recoil has been a mystery for gun modders.

@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 Oct 19, 2024
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 [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.

2 participants