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

weapon datasheet 'max' and 'min' damage are meaningless due to API quirks #44

Open
EllyArd opened this issue Apr 4, 2021 · 2 comments

Comments

@EllyArd
Copy link

EllyArd commented Apr 4, 2021

Apologies, I'm too rusty to fix this myself, though I can find the right values. Take this as a suggestion/warning to others trying to use this for damage calculation tools as much as a bug.

Important: This may only apply to infantry weapons, as I haven't looked past that.

Introduction:

Lets say we're looking at the NS-11A. The weapon datasheet from auraxium yields this snippet:
damage=143 damage_min=75 damage_max=225

That can't be right.

Lets look at the ps2 wiki query for the NS11-A's page

The damage ranges have the same quirk. still 143, 75, 225. This is the same across all the infantry weapons I've looked at. Reddit knows the API way better than I do, most of my knowledge of it is from stumbling through them.

Correct values

But when we look under firemodes, each firemode does have the correct values

"max_damage": "143",
"max_damage_range": "10",
"min_damage": "125",
"min_damage_range": "65",

The weapons with different damage per firemode (underbarrel grenade launcher, godsaw, etc) will be edge cases, this can likely be preëmpted by using the description field, and only grabbing semi-auto

Proposed directions:

Ideally, fixing these as the default, or at least making a flag for it.

In my experience, the non-recoil stats most important for comparing weapons on paper are:
max_damage
max_damage_range
min_damage
min_damage_range
fire_rate_ms (time per bullet, not bullet per time as the wiki goes)

Having a method that just outputs these, would help a lot for people new to programming to be able to make tools to compare infantry weapons on paper, instead of the spreadsheets they currently use.

Thanks again for making this! The API is labrynthine and I know everyone is busy, this serves as much as a heads up as an issue.

@EllyArd EllyArd changed the title weapon datasheet 'max' and 'min' damage are wrong due to API quirks weapon datasheet 'max' and 'min' damage are meaningless due to API quirks Apr 4, 2021
@EllyArd
Copy link
Author

EllyArd commented Apr 4, 2021

I realize in retrospect that this is technically under #18, but I think the fact that the datasheet itself is formatted badly (and also where most people would first look? Unless I'm missing some docs that expose the structure of this much more than I've found)

Maybe this is an issue of naming though -- When I saw datasheet, I expected a summary, which daybreak has filled wrong, and isn't the app's 'fault', but it might be good to have a similar summary thing that spits out comparison-relevant statistics.

@leonhard-s
Copy link
Owner

Hey, thanks for the report!

There is not much to add to your elaboration I think - that table has been flaky for years though, so adding a big "warning: this could be nonsense" banner to the docs would be helpful.

I generally avoid hard-coding my own data types around the API's since this makes the app's code API version specific (and DBG seems to have abandoned versioning the API, unfortunately). It also risks cutting out some weird edge case where you need a specific API key that only works correctly for some entries.
Maybe we also just misunderstand that key's purpose; maybe this is a certain minimum damage amount that cannot be further reduced by armour?

Either way, I agree that reports are the best solution for this. Auraxium can provide a few stock ones (including a replacement for the unreliable weapon datasheets), and users can then use the report system to add custom ones if their app needs them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants