Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Public Discussion » Public Discussion

Reply
 
LinkBack Thread Tools
Old 09/26/08, 4:51 AM   #271
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
I copied 8 premades to 2 accounts, and was able to gather data for 8 classes at level 80.
The death knight dodge/agi values I had were strange and seemed wrong, so I did some more tests and found that the K value used in calculating parry and dodge for death knights were not the same.
Only DKs seem to behave this way, I double checked warriors/paladins and K values were the same for dodge and parry.

Here are the results:
 K_pC_p1/C_pK_dC_d1/C_dLv80 Dodge/AgiLv80 Agi/1%DodgeBase Dodge
Warrior0.95647.0035250.0212750.95688.1290210.0113470.013673.52943.4636
Paladin0.95647.0035250.0212750.95688.1290210.0113470.019252.08333.2685
Hunter0.988145.5604080.0068700.988145.5604080.0068700.013375.1880-5.4500
Rogue0.988145.5604080.0068700.988145.5604080.0068700.024141.4938-0.5900
Priest0000.983150.3759400.0066500.019252.08333.1830
Deathknight0.993560546.1041950.0216900.95688.1290210.0113470.013673.52940.7580
Shaman0000.988145.5604080.0068700.019252.08331.6750
Mage0000.983150.3759400.0066500.019551.28213.4575
Warlock0000.983150.3759400.0066500.019252.08332.0350
Druid0000.972116.8907070.0085550.024041.66674.9510


Edit: I got a 3ed account, calculating hunter/rogue stats now.
Edit2: Added new Hunter and Rogue data.

Last edited by Whitetooth : 09/26/08 at 3:00 PM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/26/08, 11:42 AM   #272
Endoscient
King Hippo
 
Goblin Shaman
 
Illidan
Originally Posted by Whitetooth View Post
How did I get defense gear with a premade? I took the portal from Dalaran to Shat and bought +4 defense gems from Scryers or Aldor vendors.
Thats a good idea, I totally forgot about those vendor gems. I tried the AH but could only find Agi pieces. So you still need paladin data with defense/dodge/parry?


Offline
Reply With Quote
Old 09/26/08, 11:51 AM   #273
 frmorrison
Protector
 
frmorrison's Avatar
 
Ashstrike
Human Paladin
 
No WoW Account
Originally Posted by Endoscient View Post
Thats a good idea, I totally forgot about those vendor gems. I tried the AH but could only find Agi pieces. So you still need paladin data with defense/dodge/parry?

He wrote "8 classes done, 2 to go: Hunters and Rogues" so I think he is good to go with Paladins .


However, you only get 4 transfers per account, so that is why he is missing two classes.

United States Offline
Reply With Quote
Old 09/26/08, 11:55 AM   #274
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
Originally Posted by Endoscient View Post
Thats a good idea, I totally forgot about those vendor gems. I tried the AH but could only find Agi pieces. So you still need paladin data with defense/dodge/parry?
I'm good with paladin data now, thanks, do you have any transfers left for hunter or rogue?

Edit: nvm, I borrowed a 3ed account, doing the last 2 classes now

Last edited by Whitetooth : 09/26/08 at 12:41 PM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/26/08, 3:16 PM   #275
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
First post updated with final(hopefully) results for all classes.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/26/08, 4:33 PM   #276
Mijae
Don Flamenco
 
Tauren Druid
 
Tichondrius
Just to verify, does the Base Dodge listed in your first table include dodge from racial agility? If so, are stat gains on base agility from modifiers like Blessing of Kings affected by DR.

So the pre-DR formula would be:

defense * 0.04 + (totalAgility - raceAgility) * dodgePerAgi + dodgeRating * dodgePerRating


Offline
Reply With Quote
Old 09/26/08, 4:45 PM   #277
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
Now I have everything I need, its time to implement the DR formula into RatingBuster.

But things aren't that straight forward though, RatingBuster was built to work for all levels for all classes, not just level 80s. The problem is we don't have the Dodge/Agi (before DR) value for all levels, so the only way is to calculate it in game.

What RatingBuster can get from the WoW API is very limited, these are the values we know or can be calculated easily:
D'=Total Dodge% after DR
D_r=Dodge from Defense and Dodge Rating before DR
D_b=Base dodge (This is what you have with 0 Agility, independent of level, can be looked up in my first post)
A=Total Agility
A_b=Base Agility (This is what you have with no gear on)
A_g=Total Agility - Base Agility

Let d be the Dodge/Agi (before DR) value we are going to calculate(this value is constant for a given level and class).

\frac{1}{x'} = \frac{1}{C_d}+\frac{k}{x}}

x'=D'-D_b-A_b*d
x=A_g*d+D_r

\Rightarrow \frac{1}{D'-D_b-A_b*d}=\frac{1}{C_d}+\frac{k}{A_g*d+D_r}=\frac{A_g*d+D_r+C_d*k}{C_d*A_g*d+C_d*D_r}

\Rightarrow C_d*A_g*d+C_d*D_r=[(D'-D_b)-A_b*d]*[Ag*d+(D_r+C_d*k)]

After rearranging the terms, we get an equation of type a*d^2+b*d+c where
a=-A_g*A_b
b=A_g(D'-D_b)-A_b(D_r+C_d*k)-C_dA_g
c=(D'-D_b)(D_r+C_d*k)-C_d*D_r

Dodge/Agi=\frac{-b-\sqrt{b^2-4ac}}{2a}

Last edited by Whitetooth : 09/29/08 at 1:32 AM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/26/08, 4:49 PM   #278
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
Originally Posted by Mijae View Post
Just to verify, does the Base Dodge listed in your first table include dodge from racial agility?
No, BaseDodge is the amount of dodge you have with 0 agility, this value is needed by RatingBuster to calculate the dodge/agi for you, no matter what level you are.

Originally Posted by Mijae View Post
If so, are stat gains on base agility from modifiers like Blessing of Kings affected by DR.
I haven't tested this so I don't know.

Edit: I just tested Kings and its affected by DR.

Originally Posted by Mijae View Post
So the pre-DR formula would be:
defense * 0.04 + (totalAgility - raceAgility) * dodgePerAgi + dodgeRating * dodgePerRating
This seems correct to me.

Last edited by Whitetooth : 09/26/08 at 5:13 PM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/26/08, 4:50 PM   #279
 frmorrison
Protector
 
frmorrison's Avatar
 
Ashstrike
Human Paladin
 
No WoW Account
Interesting, that Dodge/Agi formula you have there the general formula to solve the quadratic equation, except the first part is - b then + or - the square root.

United States Offline
Reply With Quote
Old 09/27/08, 4:47 AM   #280
drumbum
King Hippo
 
Human Rogue
 
Sargeras
Originally Posted by frmorrison View Post
Interesting, that Dodge/Agi formula you have there the general formula to solve the quadratic equation, except the first part is - b then + or - the square root.
That's because he was solving a quadratic equation that he derived (because the diminishing returns that Blizzard implemented has been found to follow a 2nd order polynomial). And the 2nd solution is thrown out because it is extraneous (gives a negative value).

Last edited by drumbum : 09/27/08 at 5:07 AM.

Offline
Reply With Quote
Old 09/27/08, 8:43 AM   #281
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
The DK values for parry didn't seem right, so I did more testing and found that my original assumption that parry rating from base str are not affect by DR is wrong, it turns out they do.
So when I got this right and redid the calculations, k and c values for parry turned out to be exactly the same was warriors and paladins.
First post updated again.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/27/08, 11:47 PM   #282
landsoul
Myrmidon Champion
 
landsoul's Avatar
 
Worgen Warrior
 
Alterac Mountains
so what is little "d" stand for?

Offline
Reply With Quote
Old 09/28/08, 5:06 AM   #283
koaschten
In the rear with the gear!
 
koaschten's Avatar
 
Troll Rogue
 
Khaz'goroth (EU)
Originally Posted by landsoul View Post
so what is little "d" stand for?
Let d be the Dodge/Agi value we are going to calculate.
Should read a bit more thoroughly.

How to get an Android Authenticator on your PC. (updated feb'11)

Germany Online
Reply With Quote
Old 09/28/08, 3:19 PM   #284
landsoul
Myrmidon Champion
 
landsoul's Avatar
 
Worgen Warrior
 
Alterac Mountains
Sorry I missed it, so basically dodge%(from agility) = agility * f(x)

where f(x) = [-b-sqrt(b^2-4ac)]/2a and is a representation of how much other dodge you have.

f(x) gets smaller at some rate f'(x) ???

This concept can also be applied to other stats such as dodge rating, which has a different formula probably? I would hope that dodge talents and base dodge aren't affected by the recalculation? Do they increase the cap that diminished dodge approaches? How hard would it be to find total dodge% given from a for example 30 agility at x, y, z dodge levels?

Basically what people would like to see are plug and chug conversion formulas. Something that people can use without having to be an upper level math major to understand. Write a program what inputs for what you want to calculate an increase of (30 agility to dodge, 20 parry rating to parry, etc), the player's class, and avoidance levels, and outputs the total gain for the prompted stat.

Offline
Reply With Quote
Old 09/28/08, 4:02 PM   #285
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
I've implemented the final results into StatLogicLib r82109, this is RatingBuster's core, where all major math calculations are done.

* baseDodge = StatLogic:GetBaseDodge([class]) added new values for wotlk

* dodgePerAgi = StatLogic:GetDodgePerAgi() now implements the formula derived in post #277 for wotlk

* modDodgeBeforeDR, drFreeDodge = StatLogic:GetDodgeChanceBeforeDR()
Calculates your current Dodge%(modDodgeBeforeDR + drFreeDodge) before diminishing returns.

* modParryBeforeDR, drFreeParry = StatLogic:GetParryChanceBeforeDR()
Calculates your current Parry%(modParryBeforeDR + drFreeParry) before diminishing returns.

* avoidanceAfterDR = StatLogic:GetAvoidanceAfterDR(avoidanceType, avoidanceBeforeDR[, class])
Calculates the avoidance you get after diminishing returns.

* gainAfterDR = StatLogic:GetAvoidanceGainAfterDR(gainBeforeDR)
Calculates the avoidance gain after diminishing returns for gainBeforeDR with player's current stats.



As for RatingBuster itself, r82110 has DR support for Dodge% and Parry% differance values in StatSummary, and an option to turn DR calculations off, only works in wow 3.0.1 or above.

Last edited by Whitetooth : 09/30/08 at 4:56 AM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Public Discussion » Public Discussion

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Warrior]Ratings Equivalence Opposite Class Mechanics 7 04/23/07 8:21 PM
Rogue - Dodge vs. Parry Talents, One Roll Combat Theory, Combat Sword Spec Questions tok3n Class Mechanics 30 04/12/07 1:15 PM
Ratings Necrotoid Public Discussion 37 03/07/07 2:08 PM
Ratings: what did they accomplish? Hamlet Public Discussion 39 11/30/06 7:00 AM
BWL boss ratings Anglakel Public Discussion 29 09/16/05 11:12 PM