[Bug] Hit tables

#1 - May 28, 2019, 11:40 p.m.
Blizzard Post

Conventional wisdom about vanilla hit table mechanics includes the following:

  1. Mobs and players of equal level (more precisely, equal weapon skill and defense) have a base 5% chance to dodge, parry, block, miss (non- dual wielding).

  2. Mobs have (5 * Level) weapon skill and defense values.

  3. Each point of difference between defense and weapon skill changes those percentages by 0.04% per point (except miss, see below). For example, a player hitting a +3 mob (such as a raid boss) from the front without dual wielding will experience 5.6% chance for their attacks to be dodged, parried, and blocked by the mob. For the purposes of this discussion let’s stick to white attacks.

A guide on the old Evil Empire site claimed the source of the knowledge about 0.04% per point of difference between weapon skill and defense, and other information, came from the following three blue posts:




Unfortunately these are no longer accessible, at least not that I could find so I can’t see the wording.

A few of us from one of the classic warrior discords have been doing some testing on beta to verify the hit tables and other mechanics work the way we think. The testing is slow going but we have some preliminary results. Good news is certain things like glancing blow chance and penalties seem to be consistent with previous understanding, at least for +5 wep skill and +0 wep skill. Some testing will need to wait until later beta stages (presuming level cap is raised).

However we have found some strange results for other parts of the hit tables. For each result we also report 95% confidence intervals. Admittedly sample size is lower than we would like but testing is tedious and time consuming to do manually. However, even at these sample sizes some important information can be gleaned.

  1. Parry appears to be much too high (13.61% +/- 1.18%) for +3 mobs (no extra weapon skill) and is more consistent with parry values from later expansions. This conflicts with the 0.04% from old blue posts.

  2. Dodge (6.73% +/- 0.86%) appears to match later expansion values (wrath, see below). This conflicts with the 0.04% from old blue posts.

  3. Block (4.52% +/- 0.71%) appears slightly lower than expected. This conflicts with the 0.04% from old blue posts.

  4. Miss (8.41% +/- 0.95%) unfortunately isn’t enough samples to resolve between three prevailing theories on base miss chance for +3 mobs (8%, 8.6%, and 9%), but it’s encouraging that there isn’t a huge surprise here.

  5. Based on the base crit (4.49%) for the “Antlered Courser” test, there appears to be an additional crit suppression happening for +3 mobs beyond the expected 0.04% factor. For that test we are seeing a crit of 1.34% +/- 0.6%. Similar results were obtained for the Giant Yeti test, though slightly different due to different paper doll crit. ~3% crit suppression for +3 I believe was a feature of later expansions but was apparently not seen in vanilla according to any old sources.

Combat logs and summaries can be found here:


Additional references:

This site claimed parry was changed to 14% for +3 in cata pre-patch:


This site claimed dodge of 6.5% for +3 mobs (wrath):


This site claimed 5.6% for dodge/parry/block/miss for +3 (5% for +0), perhaps based on the blue posts linked above


All of this leads us to the following questions:

Is it possible that the creation of the 1.13 client led to some accidental setting of parameters from later expansions?

Would it be possible to verify that the beta is behaving as intended, or misbehaving, by devs comparing to their 1.12 reference client?

Forum Avatar
Quality Assurance Lead
#2 - May 29, 2019, 1:25 a.m.
Blizzard Post

Hi Mirayne,

First off, the QA team wanted to thank you for the exceptionally detailed report. This is a great example of a professional report that utilizes data to support a hypothesis. Well done!

Regarding the potential issue itself, the team is going to take a look at this tomorrow in the reference client and verify that the current functionality is consistent with 1.12. Thanks again for the diligent, detailed analysis!

Forum Avatar
Quality Assurance Lead
#12 - May 30, 2019, 12:33 a.m.
Blizzard Post

As I suggested in my first reply, we did a deep dive on this one to compare combat table values directly between our Reference client and WoW Classic. Apologies for the data dump, but because your observations were so detailed, we wanted to be equally detailed in our reply!

We created Troll Warriors in both games and watched the combat table values for auto-attacks.

  • We checked three player levels – Levels 15, 40, and 60.
  • At each level, our weapon skill was maxed, and we used the same weapon for all tests.
  • All attacks were against enemy creatures, not other players, to remove any additional variables.
  • We tested attacking creatures at -5, +0, +1, +2, +3, +5, and +15 levels relative to our level (so for the level 15 test, we attacked level 10, 15, 16, 17, 18, 20, and 35 mobs).
    • For our level 60 test, there were no normal mobs available at higher levels. We instead attacked elite raid creatures at +1, +2, and +3 levels.
  • The exact same creature IDs were tested against on both clients.

In all cases, the Reference client combat table values matched the Classic combat table values:

  • Creatures that are 3 levels above the player have a 14% Parry chance in our Reference client. This holds true for our Classic client as well.
  • Creatures at your level have a 5% chance to Dodge your attacks. Each additional level the target has over the player grants them 0.5% additional chance to dodge. This is observed in Reference client and in Classic.
  • Players have an 8% chance to miss a creature that is 3 levels above them in our Reference client. This holds true for our Classic client as well.
  • Critical Strike chance is reduced by 1% per each additional level the target has over the player. (So if you have a 4% chance to crit an at-level target, you have a 1% chance to crit a +3-level target, in both clients.)

A briefer look at having non-maxed weapon skills also showed identical values between the Reference client and Classic. We also ran several tests while dual wielding, and the results from those tests was also identical between Reference and Classic.

Based on these results, we are confident that the combat behavior in Classic properly reflects the combat behavior of 1.12 WoW. However, we’re always grateful for players looking out for discrepancies, so keep your feedback coming!

Forum Avatar
Quality Assurance Lead
#33 - June 4, 2019, 2:41 a.m.
Blizzard Post

There are a lot of questions seeking additional clarification in this thread, and while we’re not going to dig too deep into everything asked here, we did want to take a quick moment to highlight this comment and our findings around it in particular. In the days following our original post, we did an even deeper deep dive into combat, focusing on max level characters with various races, classes, talents and gear added to the equation. In doing so we discovered something very interesting:

There is some code in 1.12 that explicitly adds a modifier that causes the first 1% of +hit gained from talents or gear to be ignored against monsters with more than 10 Defense Skill above the attacking player’s Weapon Skill.

This means that the so-called “hit cap” is in effect 9% rather than 8% for a player with 300 Weapon Skill fighting a level 63 monster with a Defense Skill of 315. With a Weapon Skill of 305, such as from Sword Specialization (Humans) or Axe Specialization (Orcs), this hit modifier is no longer in place against +3 level monsters, provided that you are using the appropriate weapon type to gain the passive bonus. Needless to say, this makes +Weapon Skill very good against raid-level monsters.

This code is already fully present in the WoW Classic client, and this will continue to function exactly as it did in the original game.

Thanks everyone in this thread for their interest in this topic. It’s this kind of discussion and attention to detail that makes this project so incredibly fun to be a part of :slight_smile: