Block cap + Pure avoidance macros
Don't know if it has been posted yet but here goes:
Code:
/script dr=function(x)return 1/(1/16+0.9560/x)end;DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combat table coverage. Currently at: "..string.format("%.2f", GetDodgeChance()+GetBlockChance()+GetParryChance()+5+dr(GetCombatRating(CR_DEFENSE_SKILL)/122.962)))
source: Maintankadin :: View topic - Block cap + Pure avoidance macro
Edit by Satrina
Here are a few variations on that. Note that all of these, including the original one above, use Whitetooth's new work on finding the diminishing returns cap for miss (from here: Elitist Jerks - The Miss Cap). That means the numbers here "should" be pretty much bang on.
1) Unhittable (paladins, warriors). This is the same one as above, slightly reworked - includes dodge + parry + miss + block. Should spit out the same numbers as the one above.
Code:
/run ChatFrame1:AddMessage(format("Unhittable at 102.4%% - you have %.2f%%", GetDodgeChance() + GetBlockChance() + GetParryChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
2) Just avoidance (paladins, warriors, deathknights). This gives you dodge + parry + miss only.
Code:
/run ChatFrame1:AddMessage(format("Total avoidance: %.2f%%", GetDodgeChance() + GetParryChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
3) Bear Avoidance (druids). This gives you dodge + miss only.
Tauren:
Code:
/run ChatFrame1:AddMessage(format("Total avoidance: %.2f%%", GetDodgeChance() + 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
Night Elf:
Code:
/run ChatFrame1:AddMessage(format("Total avoidance: %.2f%%", GetDodgeChance() + 7 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
4) Just miss. This gives you your diminished miss chance by itself.
Code:
/run ChatFrame1:AddMessage(format("Chance to be missed: %.2f%%", 5 + 1/(0.0625 + 0.956/(GetCombatRating(CR_DEFENSE_SKILL)/4.91850*0.04))))
5) Super special (paladin, warrior). Props to Astemus for the idea. Gives you unhittable, avoidance, and how far above/below 540 defense you are.
Code:
/run local b,d,p,r,a=GetBlockChance(),GetDodgeChance(),GetParryChance(),GetCombatRating(CR_DEFENSE_SKILL) a=1/(.0625+.956/(r/122.9625)) ChatFrame1:AddMessage(format("Unhittable: %.2f%% Avoidance: %.2f%% Defense %+.0f rating",b+d+p+5+a,d+p+5+a,r-689))
6) Deathknights with Stoneskin Gargoyle. Props to Liudeath for starting to get this figured. If you have the 3% from talents, change the 6 to a 9. If you're a night elf, add 1 more to that (so it's 7 or 10):
Code:
/run ChatFrame1:AddMessage(format("Avoidance with Stoneskin Gargoyle: %.2f%%", GetDodgeChance() + GetParryChance() + 6 + 1/(0.0625 + 0.956/(floor(GetCombatRatingBonus(CR_DEFENSE_SKILL))*0.04))))
If you're a night elf, add on another 2% from your racial Quickness (base chance to be missed of 7% instead of 5%). There isn't enough room in a macro do make that determination, so you'll have to do it yourself.
If you're a druid or deathknight using macros that include block and parry chance, those will return as zero for you - the reported chances will be correct.