+ Reply to Thread
Results 1 to 8 of 8

Thread: Beyond the basic attack table

  1. #1
    Join Date
    Jan 2010
    Posts
    14

    Beyond the basic attack table

    The basic attack table goes something like: miss -> dodge -> parry -> block -> crit -> crush -> hit.

    But, what happens when a Prot Paladin with a shield, protected by a Power Word: Shield, and a Shadow Protection buff partially blocks a physical attack that deals shadow damage, say some form of Shadow Bite.

    Which of those forms of potential partial resistance is consulted first?

    Is it: block, any leftover damage is passed to the PW: Shield, if the PW: Shield doesn't completely absorb the damage, any remaining damage is checked against the shadow resistance, and then any remaining damage is dealt to the player? Or is resistance checked before the PW: Shield absorb is checked?

    Also, when it comes to damage shields, is there a priority list for those, or does it depend on when they were applied? For example, if a DK has a Blood Shield, Divine Aegis and PW: Shield protecting him and he takes incoming damage, which shield is depleted first?

  2. #2
    Join Date
    Jan 2009
    Location
    Karlsruhe/Germany
    Posts
    4,007
    It used to be armor/resistance before block before absorb shields. Actually you used not to be able to block elemental damage at all back in the pre tbc days.

    Now that Block is a percentage reduction it doesn't matter which way you turn it, so long as shields come last. 1x2x3 = 6, 3x2x1= 6 2x3x1 = 6 etc, doesn't matter which way you turn it around.

    As for absorb shields, if I am not mistaken the biggest shield gets depleted first, then the second biggest, then the third biggest etc.

  3. #3
    Join Date
    Jan 2010
    Posts
    14
    Quote Originally Posted by Pyrea View Post
    As for absorb shields, if I am not mistaken the biggest shield gets depleted first, then the second biggest, then the third biggest etc.
    Biggest by remaining value, or biggest by initial value?

  4. #4
    Join Date
    Oct 2008
    Posts
    4,930
    Quote Originally Posted by immerc View Post
    The basic attack table goes something like: miss -> dodge -> parry -> block -> crit -> crush -> hit.
    Yes, but you can drop Crush unless the target is 4+ levels above you (not at the level cap).

    Quote Originally Posted by immerc View Post
    But, what happens when a Prot Paladin with a shield, protected by a Power Word: Shield, and a Shadow Protection buff partially blocks a physical attack that deals shadow damage, say some form of Shadow Bite.
    First: roll for if the hit connects (i.e. miss/dodge/parry or block, or hit).
    Second: calculate damage value => damage caused (factored by the attacker's stats) less flat mitigation (armor, stance, and block, resistance for magic), then the absorbs.

    So, in the case of an attack that uses a physical hit, and adds shadow damage, like what you're talking about, the shadow damage is usually linked hard to the physical damage as a flat %. The avoid vs block vs hit will determine if the damage calculation is needed. The physical damage is determined through mitigation then reduced by absorbs, and the shadow damage will be calculated from the post mitigation value before shields. *If* the shadow damage can be reduced by resistance (don't assume they all can with attacks like this), that will be reduced while the physical damage is reduced by armor/etc.

    Quote Originally Posted by immerc View Post
    Also, when it comes to damage shields, is there a priority list for those, or does it depend on when they were applied? For example, if a DK has a Blood Shield, Divine Aegis and PW: Shield protecting him and he takes incoming damage, which shield is depleted first?
    Order does not appear to be fixed. It is hard to tell. There are a couple theoretical models:
    1.) First applied first consumed (whichever bubble you got first will be eaten first)
    2.) Last hired first fired (whichever bubble you got last will be eaten first)
    3.) Some hierarchal structure of which shields are absorbed in a set order

    I can't say for sure, don't think anyone can, which it is, but if anything I would assume it would be #1 or 2. It is also likely a non-issue as you will rarely have multiple shields and not consume them all in such a way that it matters which absorbed when.

    I would be surprised if it did any sort of assessment or re-assessment based on the size of the shield, but if it does it at all, it will do it first and only once, so it would be the biggest/smallest on application, and you would eat through that shield until it was done.


    It is helpful to think about it as a programmer. An important part of writing clean software is to minimize unnecessary processes. So re-checking the size of the bubbles is one more thing the program has to do, one more notch of memory/time/processor time consumed.
    The (Old) Book on Death Knight Tanking
    The New Testament on Death Knight Tanking
    -----------------------------------------
    Quote Originally Posted by Horacio View Post
    Who f-ing divided by zero?!?

  5. #5
    Join Date
    Jan 2010
    Posts
    14
    Quote Originally Posted by Satorri View Post
    Yes, but you can drop Crush unless the target is 4+ levels above you (not at the level cap).
    Sure, and you can drop crit if you have the right talents, and I dropped glancing blows because I'm looking at it from a mob vs. tank PoV.

    Quote Originally Posted by Satorri View Post
    First: roll for if the hit connects (i.e. miss/dodge/parry or block, or hit).
    In theory, because of absorbs and full resists, the hit can connect, but do no damage, right? It can be fully avoided (miss, dodge, parry), or not (glance, block, crit, crush). If it isn't fully avoided, you have to calculate how much, if any, damage gets through.

    Quote Originally Posted by Satorri View Post
    The physical damage is determined through mitigation then reduced by absorbs, and the shadow damage will be calculated from the post mitigation value before shields. *If* the shadow damage can be reduced by resistance (don't assume they all can with attacks like this), that will be reduced while the physical damage is reduced by armor/etc.
    Ah, ok. So shields (PW:S, Blood Shield, not armor shields) are considered at the very end, post resistance, post any kind of DR calculation.

    Quote Originally Posted by Satorri View Post
    I can't say for sure, don't think anyone can, which it is, but if anything I would assume it would be #1 or 2. It is also likely a non-issue as you will rarely have multiple shields and not consume them all in such a way that it matters which absorbed when.
    It mostly doesn't matter, but I was curious. Offhand, the only time I think it might show up is if a disc priest and blood DK are raiding together. You might want the DKs blood shield to be depleted first so that by the time the PW:S is depleted, the weakened soul debuff is gone.

    Quote Originally Posted by Satorri View Post
    It is helpful to think about it as a programmer. An important part of writing clean software is to minimize unnecessary processes. So re-checking the size of the bubbles is one more thing the program has to do, one more notch of memory/time/processor time consumed.
    Meh, I dunno. There's a lot about the way WoW does things that seems iffy to me from a programming PoV. I started wondering about this when I was seeing combat events. If you take no damage you get a "miss" event, with the first parameter being the miss type, (parry, miss, dodge), but that "miss" event also fires for fully absorbed attacks which (according to the combat table) are actually hits. What makes this even more confusing is that say the combat table roll is "crit" but due to resistance 3/4 of the damage is resisted then the remaining is absorbed, you get a miss event (or maybe multiple miss events?), but if even 1 damage gets through, you get a damage event with parameters for resisted, absorbed, and hit values, and the "crit" flag set. This is also confusing in itself because "crit" and "crush" are flags in the damage event, but for miss events you get a miss_type parameter.

    Sorry... bit of a rant there. :P

  6. #6
    Join Date
    Oct 2008
    Posts
    4,930
    Quote Originally Posted by immerc View Post
    In theory, because of absorbs and full resists, the hit can connect, but do no damage, right? It can be fully avoided (miss, dodge, parry), or not (glance, block, crit, crush). If it isn't fully avoided, you have to calculate how much, if any, damage gets through.
    Yup.

    Quote Originally Posted by immerc View Post
    Ah, ok. So shields (PW:S, Blood Shield, not armor shields) are considered at the very end, post resistance, post any kind of DR calculation.
    Yes, so they have a positive interaction with other avoidance stats. If the order were reversed the bubbles would actually give less value as they would soak from the initial and then the % would be applied to a smaller amount (and absorbs would never fully soak something they couldn't soak unmitigated on their own).

    Quote Originally Posted by immerc View Post
    It mostly doesn't matter, but I was curious. Offhand, the only time I think it might show up is if a disc priest and blood DK are raiding together. You might want the DKs blood shield to be depleted first so that by the time the PW:S is depleted, the weakened soul debuff is gone.
    We're moving in a direction where we may be able to finally figure this out. Bear in mind that before 4.0.1 no absorbs were enumerated for what was absorbing or for how much. Now PW:S as an example actually tells you how big the bubble is and the combat log can track when it is responsible for absorbing something. Blood Shield is still in the pre-4.0.1 style though where it is not being tracked for absorbs. Perhaps in 4.0.3 that will be touched up and we'll be able to construct some experiments to satisfy curiosity. =)

    Quote Originally Posted by immerc View Post
    Meh, I dunno. There's a lot about the way WoW does things that seems iffy to me from a programming PoV. I started wondering about this when I was seeing combat events. If you take no damage you get a "miss" event, with the first parameter being the miss type, (parry, miss, dodge), but that "miss" event also fires for fully absorbed attacks which (according to the combat table) are actually hits. What makes this even more confusing is that say the combat table roll is "crit" but due to resistance 3/4 of the damage is resisted then the remaining is absorbed, you get a miss event (or maybe multiple miss events?), but if even 1 damage gets through, you get a damage event with parameters for resisted, absorbed, and hit values, and the "crit" flag set. This is also confusing in itself because "crit" and "crush" are flags in the damage event, but for miss events you get a miss_type parameter.
    You lost me, what "miss event" are you talking about when something is fully absorbed?
    The (Old) Book on Death Knight Tanking
    The New Testament on Death Knight Tanking
    -----------------------------------------
    Quote Originally Posted by Horacio View Post
    Who f-ing divided by zero?!?

  7. #7
    Join Date
    Jan 2010
    Posts
    14
    Quote Originally Posted by Satorri View Post
    You lost me, what "miss event" are you talking about when something is fully absorbed?
    I'm talking about WoW API events. Last night I did some testing with a level 80 priest and the level 7ish wolves / bears outside Ironforge. I let the wolves attack me and kept track of what events were generated from each of their attacks.

    http://www.wowpedia.org/COMBAT_LOG_EVENT_UNFILTERED

    As I expected, if I dodged their attack or it missed, the event type was SWING_MISS with the additional missType parameter being set to DODGE or MISS. When I was hit I got a SWING_DAMAGE event type. What was a bit confusing was when my PW:S fully absorbed an attack, the event type I got was SWING_MISS with missType being set to SWING_MISS, and not a SWING_DAMAGE event with the damage amount set to 0, and the absorbed amount set to some amount of damage. AFAIK these should correspond to what shows up in the combat log chat panel, but it could be that they're doing something different there.

    The end result is that for miss, dodge and parry combat table roll results, you'll get a SWING_MISS event with the missType set appropriately. For glance, crush, hit, crit or block combat table roll results, you'll get a SWING_DAMAGE event with the flags set appropriately, and/or damage values filled in appropriately *unless* a shield mitigates all damage in which case you'll get a SWING_MISS with the missType set to "absorbed". At least, that's how things seemed to be working late last night.

  8. #8
    Join Date
    Oct 2008
    Posts
    4,930
    Ah.

    It could just be a funny thing with the combat log and the nature of how the server relates to the client. There are plenty of things involved here which very specifically happen on the server not the client (thus tamper-proofing), so it could just be what it tells the client log. Or some way of categorizing. None of this is particularly meaningful, but it is an interesting thing to find. =)
    The (Old) Book on Death Knight Tanking
    The New Testament on Death Knight Tanking
    -----------------------------------------
    Quote Originally Posted by Horacio View Post
    Who f-ing divided by zero?!?

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts