Talk:Dodge
From WoWWiki
Contents |
Upcoming Changes for 3.0 and/or Wrath
I was just checking on the PTR with my Night Elf druid, and got the following numbers. I have no dodge rating, and no defense rating was involved on the gear I was experimenting with.
I used the macro from Talk:Formulas:Dodge to get more exact dodge chance numbers than the tooltip gives.
42.860145568848 dodge at 741 agi
35.747329711914 dodge at 602 agi
22.829992294312 dodge at 350 agi
From this, I can calculate that I'm getting something like 19.52 dodge per agi (might be some slight rounding error). Nerf bat sucks, huh? -_-
I didn't dig for any changes to the base dodge value.
Hrocdol (talk) 05:06, 17 September 2008 (UTC)
Dodge Rating
Should it be explained more clearly how does Dodge rating affect the % chance to Dodge? I couldn't find the explanation. Tinunduil (talk) 07:56, 26 September 2008 (UTC)
Patience
I've worked out all the math to update the formulas. However it takes me some time to convert this into readible prose & TeX (the math stuff) so have some patience. I outlined the high level formula first - I'll slowly add the details for dodge from agi, diminishing returns, un-maxxed defense skill, characters below level 80, and more examples hopefully this weekend.
I figure since this article hadn't been updated much since classic wow, this was better than what was there before.
Howbizr(t·c) 2:23 PM, 7 Jun 2009 (EDT)
- If a math person can help me troubleshoot, I'm a little bit off somewhere. Somehow I lost a negative, and I also am missing enough significant digits (I think it's d that's the problem there). I'm looking to solve Rd to 52.08333 instead of -51.6991. Thanks in advance...
Howbizr(t·c) 5:28 PM, 8 Jun 2009 (EDT)
|
For characters who are not maximum level, you will need to calculate the rate of dodge per agility. |
- I've also got this too if it helps... It's from the RatingBuster library (don't worry, LGPL v3 license).
Howbizr(t·c) 6:06 PM, 9 Jun 2009 (EDT)
- I've also got this too if it helps... It's from the RatingBuster library (don't worry, LGPL v3 license).
--[[
Name: LibStatLogic-1.1
Description: A Library for stat conversion, calculation and summarization.
Revision: $Revision: 49 $
Author: Whitetooth
Email: hotdogee [at] gmail [dot] com
Last Update: $Date: 2009-04-14 17:41:40 +0000 (Tue, 14 Apr 2009) $
Website:
Documentation:
SVN: $URL $
Dependencies: UTF8
License: LGPL v3
Features:
StatConversion -
Ratings -> Effect
Str -> AP, Block
Agi -> Crit, Dodge, AP, RAP, Armor
Sta -> Health, SpellDmg(Talent)
Int -> Mana, SpellCrit
Spi -> MP5, HP5
and more!
StatMods - Get stat mods from talents and buffs for every class
BaseStats - for all classes and levels
ItemStatParser - Fast multi level indexing algorithm instead of calling strfind for every stat
]]
--[[---------------------------------
:GetDodgePerAgi()
-------------------------------------
Arguments:
None
Returns:
; dodge : number - Dodge percentage per agility
; statid : string - "DODGE"
Notes:
* Formula by Whitetooth (hotdogee [at] gmail [dot] com)
* Calculates the dodge percentage per agility for your current class and level.
* Only works for your currect class and current level, does not support class and level args.
* Calculations got a bit more complicated with the introduction of the avoidance DR in WotLK, 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=Dodge unaffected by DR (BaseDodge + Dodge from talent/buffs + Lower then normal defense correction)
** 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 value we are going to calculate.
# 1 1 k
# --- = --- + ---
# x' c x
# x'=D'-D_b-A_b*d
# x=A_g*d+D_r
# 1/(D'-D_b-A_b*d)=1/C_d+k/(A_g*d+D_r)=(A_g*d+D_r+C_d*k)/(C_d*A_g*d+C_d*D_r)
# 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=(-b-(b^2-4ac)^0.5)/(2a)
Example:
local dodge, statid = StatLogic:GetDodgePerAgi()
-----------------------------------]]
function StatLogic:GetDodgePerAgi()
local class = ClassNameToID[playerClass]
-- Collect data
local D_dr = GetDodgeChance()
local dodgeFromDodgeRating = self:GetEffectFromRating(GetCombatRating(CR_DODGE), CR_DODGE, UnitLevel("player"))
local baseDefense, modDefense = UnitDefense("player")
local dodgeFromModDefense = modDefense * 0.04
local D_r = dodgeFromDodgeRating + dodgeFromModDefense
local D_b = BaseDodge[class] + self:GetStatMod("ADD_DODGE") + (baseDefense - UnitLevel("player") * 5) * 0.04
local stat, effectiveStat, posBuff, negBuff = UnitStat("player", 2) -- 2 = Agility
local A = effectiveStat
local A_b = stat - posBuff - negBuff
local A_g = A - A_b
local C = C_d[class]
local k = K[class]
-- Solve a*x^2+b*x+c
local a = -A_g*A_b
local b = A_g*(D_dr-D_b)-A_b*(D_r+C*k)-C*A_g
local c = (D_dr-D_b)*(D_r+C*k)-C*D_r
--RatingBuster:Print(a, b, c, D_b, D_r, A_b, A_g, C, k)
local dodgePerAgi = (-b-(b^2-4*a*c)^0.5)/(2*a)
if a == 0 then
dodgePerAgi = -c / b
end
return floor(dodgePerAgi*10000+0.5)/10000, "DODGE"
end
- Since I can't fix this problem, I'm removing the {{construction}} tag. If anyone has some tips, ping me on my talk page, or just update the section. For the most part, I don't think people care about how much dodgePerAgi is given before level 80, so it's probably alright.
Howbizr(t·c) 7:59 PM, 19 Jul 2009 (EDT)
- Since I can't fix this problem, I'm removing the {{construction}} tag. If anyone has some tips, ping me on my talk page, or just update the section. For the most part, I don't think people care about how much dodgePerAgi is given before level 80, so it's probably alright.
Cap
Should it be explained more clearly how does Dodge affect the level and which (base) Cap it gives? I couldn't find any explanation. For small example, which dodge I've (or pet) as lvl 80 against lvl 73 npc, is there a cap? --Olliminatore (talk) 17:55, 8 June 2009 (UTC)
- I'm working on upgrading this article. It was severely out of date just a few days ago. Check out melee diminishing returns, melee mitigation, the combat rating system, and RatingBuster in the mean time. It may take me a while to get this article where I want it to be.
Howbizr(t·c) 5:31 PM, 8 Jun 2009 (EDT)
- Hey thanks man and many thanks in advance, if you do so. --Olliminatore (talk) 14:33, 9 June 2009 (UTC)




































