WoW: LF stats percent value (decimals)

API Discussion
Hello guys.
Usually I can solve this kind of problem by myself but this time, I guess I need you.
After several research on the forums (maybe wrong keywords, but my research is not really simple to explain in two words), I didnt find anything.

I'm developing a World of Warcraft Tools to give to people the possibility to make a "build" on a specific class and specialization. By adding items in the virtual Armory, stats are calculated and updated automaticly, but I have to calculate the %percent amount as well.

To make an example (fictive):

In case of 100 points of mastery is equal to 5% of mastery: 20 points of mastery is equal to 1%.

So I can calculated that easily. But in reality there is decimals; and 20 points of mastery don't make 1% but it equal to something like 0.9864%. (rounded ingame)

I would like to have all of the exact value and then I can round directly in my app, but start to work with the most precise value is something really important for me.
Where I can find the exact value of each stat, depending of each classes and specs?

Thanks guys,
I've submitted this to the development team for feedback. I'll post more when I have updated information.
It would definitely be nice to have an API to get some of these "constants" from the game that aren't "secret" -- things that you need to calculate and display a character's stats properly. I think the OP is looking for what we call "mastery coefficients", though note that some classes have more than 1 because mastery has 2 effects, e.g. a prot warrior's block, AP bonus, and critical block all scale off mastery at different rates.

These are the mastery coefficients right now (let me know if anyone spots an error, we updated them recently though):
{
"DeathKnightBlood": "2",
"DeathKnightFrost": "2",
"DeathKnightUnholy": "2.5",
"DruidBalance": "2.5",
"DruidFeral": "3.125",
"DruidGuardian": "1.5",
"DruidRestoration": "1.25",
"HunterBeastMastery": "2.25",
"HunterMarksmanship": "0.5",
"HunterSurvival": "1.19",
"MageArcane": "1.88",
"MageFire": "1.5",
"MageFrost": "2.26",
"MonkBrewmaster": "0.625",
"MonkMistweaver": "1.25",
"MonkWindwalker": "2.5",
"PaladinHoly": "1.25",
"PaladinProtection": "1",
"PaladinRetribution": "2.115",
"PriestDiscipline": "1.625",
"PriestHoly": "1.25",
"PriestShadow": "3.125",
"RogueAssassination": "3.5",
"RogueCombat": "2.2",
"RogueSubtlety": "2.76",
"ShamanElemental": "4.5",
"ShamanEnhancement": "2",
"ShamanRestoration": "3",
"WarlockAffliction": "3.125",
"WarlockDemonology": "1.25",
"WarlockDestruction": "1",
"WarriorArms": "5.2",
"WarriorFury": "1.4",
"WarriorProtection": "1.5"
}

Mastery is just a number, and everyone has 8 mastery with no gear. Multiply by this number to get the % that shows on the character sheet for the "main" effect.

- The warrior number is for crit block chance, for block chance it is 0.5.
- All tanks have a 1 to 1 ratio for AP, e.g. 1 mastery gives 1% AP boost (so with no gear all tanks have an 8% AP boost).

A few other "constants" that would be really cool to see an API for would be:

- rating conversion (i.e. how much haste rating gives 1% haste, given a character's level?)
- base stats (e.g. how much base Strength does a warrior have, given his character level?)
- race stat modifiers (e.g. if I am a Goblin, how does that modify my base Strength?)

The above are needed for any kind of "character sheet"-like display on a website.

The following are not really needed for character display, but are very fundamental to figuring out how much damage an ability will do. They are very hard to determine in-game, and rarely (if ever) change over the course of an expansion, so would be really cool to just be "told" what they are so that we could use them in calculations, displays, etc.

- armor diminishing returns constant, given a player's level: this is used in the formula that determines how much physical damage you will deal
- related, how much armor do raid bosses have? (At some point I think different bosses had different amounts of armor, but I believe this is just standardized based on the target's level now?)
I choose mastery for example because it's the stat that each class use for specific boost (healing stuff for healers, damage stuff for dps, passive boost or spell boost).
But basically,yeah, it would be nice to know how the game/classes execute all the stats.

11/11/2015 11:37 AMPosted by Andanion
I've submitted this to the development team for feedback. I'll post more when I have updated information.


Thank you for reporting this to devteam. Looking forward to have maybe an API Call with of this precious informations.
Yeah -- mastery is just one example. I put that there for reference and as a concrete example of the kinds of things we would want to see. Mentioned in my thread are the other "important" constants that one would need to display a character properly and calculate stats:

- "mastery coefficients"
- rating conversions (by player level)
- base stats by class
- base stat modifiers by race

And for doing any kind of calculation of physical damage:

- armor DR constants by attacker level
- typical target armor for an enemy npc that is equal level, +1, +2, +3 (boss)

There are of course other things you need to know to properly calculate a character's stats... but those constants above are the "fundamentals" that are more difficult or tedious to figure out manually, but very easy to code up once and spit out into an API for an entire expansion. (I think the haste rating conversion and some of the minor stat conversions changed once in all of WoD.)

To be complete, as we are on AskMrRobot, you really need to know a lot of other stuff that I don't see being feasible in an API...

- spec-specific stat buffs and modifiers, passive effects, etc.
- talent-related modifiers

These things are far more heterogeneous and subject to frequent change than the aforementioned constants, and would represent a much higher level of effort on Blizzard's end to make available to us.

So to be clear, I would be very happy with an API for fundamental game "constants", but unfortunately I don't think it would be very easy for Blizzard to give you everything that you need, Manaberry. Though who knows, maybe that stuff is easier to get at than I think!
11/12/2015 08:30 PMPosted by Yellowfive

So to be clear, I would be very happy with an API for fundamental game "constants", but unfortunately I don't think it would be very easy for Blizzard to give you everything that you need, Manaberry. Though who knows, maybe that stuff is easier to get at than I think!


Yeah It's not going to be easy but, honestly, having this kind of constants and informations can help the whole Bnet API's community to create better and more interesting project; create community tool to the next level. I'm sure Blizzard people know this and I'm quite sure as well they want to they more and more awesome stuff from API users.

Fingers crossed :D
Any update from official dev buddy? :D
I'll post an update when I have new information to share. Currently, I have nothing new.
11/30/2015 09:53 AMPosted by Andanion
I'll post an update when I have new information to share. Currently, I have nothing new.


Good copy Andanion *chinese salute*

EDIT:

Thank you so much Yellowfive by the way for the json of mastery value for each spec! Really appreciated
◕ ◡ ◕

Join the Conversation

Return to Forum