Thursday, March 18, 2010

Cataclysm Parry: Part I

One of the most interesting changes coming in Cataclysm is the new Parry mechanic. Currently, a Parry prevents 100% of the damage on the current swing and speeds up your next swing. In Cataclysm, a Parry will prevent 50% damage on the current swing, and 50% of the damage on the next swing, and will not speed your weapon.

What's amusing about this change is that it changes the way you have to analyze tanking. Boss swings are no longer independent. The damage you take on the current swing depends on if the previous swing was a parry or not. Incoming damage becomes a Markov chain, and you need to play around with matrices instead of simple probability.

There are two possible interpretations of how the second swing after a Parry works, and Blizzard has not seen fit to enlighten us yet. The first interpretation is that the second swing always hits for 50% damage, and cannot be dodged or blocked or re-parried. The other interpretation is that you can still miss/dodge/block/parry the second swing, but damage on a parry or block is reduced even further.

In this post, I'll look at the first Parry version. Here is a graph that shows how damage is reduced as you increase Dodge, Parry, or Block (assumes starting values of 5% Miss, 5% Dodge, 5% Parry, 5% Block):

As you can see, Dodge is the best stat of the three. One percentage point of Dodge reduces damage by significantly more than Parry or Block. Intuitively, this makes sense. After all, Dodge completely negates the attack, while you still take 70% damage on a Block. If you had 100% Dodge, you'd take 0% damage. 100% Block would be 70% damage. As for Parry, if you had 100% Parry, you would be taking 50% damage all the time.

However, in this scenario Parry behaves slightly differently than Dodge or Block. Dodge and Block are linear, and each percentage point of Dodge or Block will reduce damage by a equal amount. Parry, on the other hand, is almost as good as Dodge early on, when you have low amounts of Parry, but becomes less and less effective as you add more Parry.

(Please note that I am discussing raw Dodge and Parry, not Dodge Rating or Parry Rating. The amount of Rating per percentage point will make a big impact.)

In the next post, I'll look at the second Parry scenario. My initial instinct is that Parry will be much better under those rules. After all, in the second scenario, 100% parry would translate to 25% damage all the time.


  1. Sounds like a step in the right direction for reducing spike damage.

  2. I don't think it will be a stacking % decrease. I think what you've modeled here is what we'll be seeing.

    However don't forget that this is the *baseline* damage reduction for a parry. It's very likely that we'll see talents that increase that percentage. Same for the static 30% on blocks - I wouldn't be at all surprised if we found that Prot paladins and warriors get talents to increase that 30% significantly, and it may be that it ends up being a mastery stat.

  3. If I were implementing this system, I would do it in a way that differs from either possibility you have mentioned. For the first boss swing, first check dodge, then if not dodged, parry, if not parried, check block.

    On the second swing after a parry, I would check dodge, and if not dodged, the attack would be automatically parried as it was following the initial parry, and so neither a parry nor a block roll would be made.

    I am not predicting that Blizzard will use a system close to what I have outlined here, I am merely saying what I think makes the most sense while making the point that there are way more than two possibilities for them to choose between. With dodge, parry, block, hit, and miss as possible results, and with the options of stacking or not stacking, additive or multiplicative relationships between the probabilities--not to mention the basically infinite additional possibilities for additional wrinkles they could add in if they so choose--i believe you could construct hundreds of models using just the already mentioned elements.

  4. There is also a possibility for "parry bank", similarly to the fire mages "ignite bank".

    Every parry makes 2 more swings half. If you parry 5 times in a row, than the first 10 hits will be 50%.

    This case the damage reduction will be almost linear and equal to dodge until 50% and caps there.

  5. Has your model taken account of the fact that as parry increases the value of dodge/block decreases because (if you assume the second attack always hits) then there are fewer incoming hits that can be dodged?

    It's for this reason that I think the second hit will be able to be avoided, and I think GC hinted as much in a blue post.

  6. Could you please elaborate on the part about the Markov model?
    Because atm I can't see a difference between Parry as hastening your following attack versus giving a bonus to the next swing - just the latter affects the one parrying and the former the one being parried - just on the other side of the pointy stick :P

  7. Blizzard has said that the parry works like the markov model, where if the second attack hits it is reduced by 50%.

    And parries/blocks don't combine either.

    So basically you can model the parry effect as giving you a 100% parry chance on the next attack and assume that parry comes after miss and dodge on the attack table, so that the only possible results on the next attack are dodge, parry and miss.

    Oh yeah - and if the second attack is dodged or miss, the parry chance still goes away.

  8. Kalon, do you have a source for that? I haven't seen anything that explicitly says you can Dodge/Miss the second attack.

    Gevlon, while a Parry Bank (Parry = the next normal hit is reduced by 50%) would work, it is probably excessively complicated. Especially when there are simpler models.

    Armagon, the new Parry doesn't affect your swings at all. It affects two of enemy's attacks.

  9. That's what I wanted to say, actually.

    With Parry Haste: you parry, next enemy swing is faster. So this is definitely a change to your TTL - for the worse.

    With new Parry: you parry, and parry the next. This also definitely a change to your TTL - just for the better.

    But nevermind, I was too involved with Hidden Markov Models lately, mixed that up with the "usual" basic Markov chain model.

  10. With Parry Haste: you parry, next enemy swing is faster. So this is definitely a change to your TTL - for the worse.

    No, no. You parry, *your* next swing is faster. Current Parry has an offensive effect, but no extra effect on TTL.

    That's why you don't want people attacking the boss from the front. Extra attacks for the boss to parry, extra chances for the boss to speed up.

  11. I will refrain from posting while confused. Of course you are right, and I'd really love to know what I thought there. Uhm... *hides*

  12. Regarding your last line, wouldn't it be an iteratively lower amount of damage till the amount of damage becomes utterly negligible over time?

  13. Bronte, no, because each Parry only lasts 2 attacks. Assuming you can "reparry", 100% parry would look like:

    Atk 0 - Parry1 - 50%
    Atk 1 - Parry1,Parry2 - 25%
    Atk 2 - Parry2,Parry3 - 25%
    Atk 3 - Parry3,Parry4 - 25%

    See the pattern. Each Parry Effect only lasts two attacks, so there are only 2 stacked at any one time, for effective 25% damage.

  14. Hi Rohan,
    I probably misread the article (or just missed reading a relevant section altogether). But is there a possibility that parry is additive rather than multiplicative? So 100% parry is the same as 100% dodge?
    I am looking at the following chain of events if parry = 100%
    Attack 0 - Parry - 50% damage
    Attach 1 - Parry - 50% damage from previous parry - 50% damage from current attack
    and so forth..
    The point being that at the extremes, parry is the same as dodge. In the intermediate points, 10% parry can get you the same effect as 10% dodge (in the absence of any block) - but the variability of damage is lower for parry.

  15. I'll try to find it again, Rohan - but it was in one of the cataclysm preview threads done by a blue poster, and the example given was fairly clear in the wording that the next non-dodged/missed attack would be parried. Presumably that 'extra' parry wouldn't trigger another chain of parries. From a coding standpoint this is fairly trivial to achieve, and it makes sense from the current hit table as well (no need to stack parry and block, etc).

    The long and short of it is that this makes parry weaker because of how much dodge you have. GC has confirmed this in another blue post too (when he debated about whether parry or dodge was going to be 'the stat') but at the end of the day, every 1% of dodge or miss you have will reduce your value of parry due to that second parry being dodged/missed.

  16. This change to parry definitely didn't go live; 20 seconds of testing will debunk it. Parries still fully avoid attacks, and do nothing to the following swing.