API: GetParryChance() and GetBlockChance() yield same value? (Classic)

Is there something fundamental I don’t understand about Parry versus Block such that I expect them to not have precisely the same value?

A simple macro script:

/run local p,b=GetParryChance(),GetBlockChance() print(format("parry %.2f, block %.2f",p,b))

Same values…I assume it’s me since I can’t seem to find anything to explain it.

Anyone able to enlighten me on this? If they are the same, why do you always hear or see “dodge, block, parry” instead of “dodge, block” or “dodge, parry”?

Is it something specific to Classic?

A good question. A corollary question is what is the difference between a block and a parry? My assumption is that a parry is a block immediately followed by a counter attack. A block, by contrast, is just that, a defensive move that mitigates all or some of the incoming damage. But I don’t really know, and would like to know what are the formal semantics for block and parry in the Blizz API.

Thanks for asking the question.

It’s the percentage chance the effect will be applied which would depend on class/stats. etc.

My 22 Rogue: 4.92, 0.0
My 21 Mage: 0.0, 0.0

I think in classic they are both based on your defense skill. So they’ll be the same unless you have gear that increases one directly. Your dodge chance will be different because it’s increased by agility as well as defense.

Block uses your shield and reduces the damage of an attack by a flat amount (the “block value” of your shield)

Parry avoids all damage from an attack (like dodge). I think it also slightly increases the speed of your next auto attack, but I’m not sure about that.

On my level 10 warrior on classic they report differing values

> GetParryChance(), GetBlockChance() => 4.8000001907349, 5.7999997138977

Do you have one talent point in shield specialization which increases block chance by 1%?

Well yes, that would probably be it