Skip to content
Maintankadin

Block cap + Pure avoidance macro

Magnusharkov
Fri Nov 28, 2008 12:29 am

Block cap + Pure avoidance macro

I've noticed that my old pre 3.0 macro's for checking 'uncrushability' and pure avoidance no longer work properly due to the changes to anticipation plus lvl 80. Does anyone know of a macro for the following:

1) Block Cap
Block% + Holy shield30% + parry% + dodge% +miss%(inc 5% base miss)

2) Pure avoidance

parry% +dodge% +miss%(inc 5%base miss)
Conaan!
Fri Nov 28, 2008 4:31 am

Re: Block cap + Pure avoidance macro

Magnusharkov wrote:I've noticed that my old pre 3.0 macro's for checking 'uncrushability' and pure avoidance no longer work properly due to the changes to anticipation plus lvl 80. Does anyone know of a macro for the following:

1) Block Cap
Block% + Holy shield30% + parry% + dodge% +miss%(inc 5% base miss)

2) Pure avoidance

parry% +dodge% +miss%(inc 5%base miss)



Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04,1,0.5,0)


should work
majiben
Fri Nov 28, 2008 4:56 am
The diminishing returns on miss are punishing. You'll lose about 1.5-2% miss just getting to 540 defense skill.
Lave
Fri Nov 28, 2008 10:09 am

Re: Block cap + Pure avoidance macro

Conaan! wrote:
Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04,1,0.5,0)


should work


is this with or without diminishing returns?
Snake-Aes
Fri Nov 28, 2008 1:08 pm

Re: Block cap + Pure avoidance macro

Lave wrote:
Conaan! wrote:
Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04,1,0.5,0)


should work


is this with or without diminishing returns?
With DR. It takes the values shown on the sheet, which are already diminished. To get the non diminished numbers, refer to what shows on the mouseover tooltip of those stats.
majiben
Fri Nov 28, 2008 1:11 pm
I don't believe this macro gets the DR for miss. For parry and dodge it is accurate.
Anubelle
Sat Nov 29, 2008 6:47 pm
... +GetParryChance()+5+(GetCombatRating ...


Why is that +5 there? I'm probably missing something very simple, so feel free to bonk me.

I'm assuming it's base miss chance. However, I'm at 541 defense skill now, and when I issue:

Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage((GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04)


I get 11.74%, rather than 5.64% as I would expect it to for the +5 base miss chance to make sense.

Are you sure this calculation of added miss chance from defense skill is still valid now?
Anubelle
Sat Nov 29, 2008 6:57 pm
Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage((GetCombatRatingBonus(CR_DEFENSE_SKILL)+UnitDefense("Player")-5*UnitLevel("Player"))*0.04)


This seems to give me the right number for the added miss chance from defense skill, 5.65% (I assume the difference from the 5.64% the game shows is due to rounding).
Conaan!
Sat Nov 29, 2008 7:58 pm
Anubelle wrote:
... +GetParryChance()+5+(GetCombatRating ...


Why is that +5 there? I'm probably missing something very simple, so feel free to bonk me.

I'm assuming it's base miss chance. However, I'm at 541 defense skill now, and when I issue:

Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage((GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04)


I get 11.74%, rather than 5.64% as I would expect it to for the +5 base miss chance to make sense.

Are you sure this calculation of added miss chance from defense skill is still valid now?


this is just a copy of the usual avoidance macro taking out the +20 defense, the +5 might be from the parry talent, dont really know

and your getting 11.74 because of base miss being added more than likely
majiben
Sat Nov 29, 2008 9:32 pm
Your actual miss from defense will be under 5% most likely. Miss DR is just brutal.
Anubelle
Sun Nov 30, 2008 1:32 am
Majiben wrote:Your actual miss from defense will be under 5% most likely. Miss DR is just brutal.

Yes, that's quite understandable since this is a simple and direct calculation of the amount of miss chance you get from defense, rather than a function call that asks the game for the calculated value (which is after DR).

I think the calculation with the 150/355 is just not right anymore, probably the numbers have something to do with level 70.

But anyway, this macro is what I'm using now and it gives much more "sane" results, although again, you have to take into account that this is higher than what your avoidance/avoidance+block really is due to the added miss chance from defense not having the DR taken into account:

Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRatingBonus(CR_DEFENSE_SKILL)+UnitDefense("Player")-5*UnitLevel("Player"))*0.04,1,0.5,0)
mgkeeper
Wed Dec 10, 2008 8:05 am
Good morning,i 've been seaching for the new version of the Block Cap Macro (formerly known as Uncrushable | 102.4) but i got messed up in my head, can u plz show me if u happen to know. I have seen the previous posts here but i got confused with those diff versions of it. Plz note that i have parry 5/5. Thanks in advance guys and sorry if i frustrated you with another "Block Cap" macro question..

p.s. i am also def capped if that counts :)
Soranthalas
Fri Jan 09, 2009 5:59 pm

Re: Block cap + Pure avoidance macro

Conaan! wrote:
Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)*150/355)*0.04,1,0.5,0)




The 150/355 ~= 1/2.36. That part of the equation changes your defense rating into your actual defense bonus. The conversion rate was 2.36 at level 70, its about 4.92 at level 80. So this is my update of the script for level 80 (does not include DR on the miss)...

Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)/4.92)*0.04,1,0.5,0)


And the +5 in the equation is the base miss rate. Since there's no function call to get the miss rate, you have to start with the base of 5% and add the contribution from your defense rating.
Morpheren
Fri Jan 16, 2009 1:19 am

Re: Block cap + Pure avoidance macro

Soranthalas wrote:The 150/355 ~= 1/2.36. That part of the equation changes your defense rating into your actual defense bonus. The conversion rate was 2.36 at level 70, its about 4.92 at level 80. So this is my update of the script for level 80 (does not include DR on the miss)...

Code: Select all
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combined avoidance. Currently at:",0.8,0.8,1)
/script DEFAULT_CHAT_FRAME:AddMessage(GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)/4.92)*0.04,1,0.5,0)


And the +5 in the equation is the base miss rate. Since there's no function call to get the miss rate, you have to start with the base of 5% and add the contribution from your defense rating.


Taking this into account, I edited my "pretty" macro. Feel free to correct my if i got anythign wrong, but this will clean up the output a little bit and round off the numbers two 2 places.

Code: Select all
/script avoidance = GetDodgeChance()+GetBlockChance()+GetParryChance()+5+(GetCombatRating(CR_DEFENSE_SKILL)/4.92)*0.04;
/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4% avoidance, currently at ".. string.format("%.2f", avoidance).."%",1,1,1);
Jonesy
Fri Jan 16, 2009 3:20 pm
Apologies for the crossposting. Here's the prettified macro including DR on miss:

Code: Select all
/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)))


Exactly 255 characters so you'll probably need to obfuscate to change it more.