PDA

View Full Version : The Combat Table



Satrina
10-05-2007, 03:54 PM
Note: Here we're talking about the attack table in terms of tanking. That is, when a mob attacks you. The game works differently when a player attacks a mob or another player. You can find some information about that at wowwiki: Attack table - WoWWiki (http://www.wowwiki.com/Attack_table)

How Does It All Work?
Hitting, missing and critting is a pretty important aspect of the warrior, most would agree. How does it all work, though? There's a common belief amongst players that when a mob attacks you, a series of checks takes place:



- Random to see if your attack misses
- Random to see if your attack is dodged
- Random to see if your attack is parried
- Random to see if your attack is blocked
- Random to see if your attack is a critical hit
- If you get here, your attack is a normal hit

This is a short-circuit evaluation - you run down the possibilities, and jump out at the first point that one of the conditions comes true. In this case, you jump out when a generated random number is less than or equal to the chance to miss/dodge/parry/block/crit, and if you get past crit, you have made a regular hit. When you first consider it, this is the idea that makes sense right away. It can't possibly be what actually happens, though, for two reasons. The first is mathematical, and ties into this statement from Blizzard:

The way WoW calculates crit rate is over ALL attacks. Crit rate is not based on hits only. In other words, if you have a 5% crit rate, that 5% chance includes misses.
(from here: WoW-Europe.com Forums -> 08/06/05 Info on crit and hit chances (http://forums.wow-europe.com/thread.html?topicId=14551513&sid=1) Read it all, we'll refer to it later).

If we determined the result of an attack using the above method, then the dodge, parry, block, and critical hit numbers would be wrong - you would not get your 5% critical hit rate over all swings - and so the above statement would be false. The proof of that is here: http://www.tankspot.com/forums/f111/33098-combat-table-analysis.html. That's the real showstopper.

The second reason is technical. Consider this: How many attacks are being made every second on the server, when you count all players and mobs in combat at a given time? Thousands, certainly. The calculation power needed for thousands of simultaneous players adds up quickly, and if you throw in five random number calculations (six for mobs with crushing blows) for every combat action, you will very quickly bog down the server by sheer number of calculations. You definitely need a better, faster, way.

What's The Answer Then?
Table based combat - the stalwart mainstay of pen and paper games. EverQuest uses it, and so does every other MMO so far as we know, including WoW. How do we know for sure? Well, Blizzard confirmed it eventually, but the above Blizzard quote (and others made over the years) were an implicit confirmation of tables. We also have shown (if you read it) (http://www.tankspot.com/forums/f111/33098-combat-table-analysis.html) that it is mathematically impossible for it to be short-circuit evaluation.

In a table based combat system, every possible outcome for an attack is, well, put in a table. Each entry in the table is assigned a numeric range. Now when you make an attack, a single random number is generated and the result is looked up on the table. It's definitely less costly for the server to generate tables as needed before combat starts, and tables are likely kept around for a period of time for efficiency before being deleted. A table might look like this:


- 000-049 = Miss (5%)
- 050-149 = Dodge (10%)
- 150-249 = Parry (10%)
- 250-349 = Block (10%)
- 350-499 = Critical Hit (15%)
- 500-999 = Hit (50%)

WoWWiki has a good article on the combat table - here (http://www.wowwiki.com/Attack_table).
For this table we generate a single random number between 0 and 999 and look up what happens. If it's not a miss, dodge, or parry, then generate the damage done. If it was a block, subtract the block value from it. If it is a critical hit, double it. And so on.

+ToHit +Crit
Since you read the blue post linked above, you know that when you add +1% to hit, you lose 1% to miss. Similarly, adding 1% to critical hit will remove 1% to hit - we know this because it's the only place it can come off. You aren't going to reduce the chance to dodge, block, or parry, so it leaves only your chance to hit to take it out of. Fair trade. Let's add 1% to hit and see what happens:


- 000-039 = Miss (4%)
- 040-139 = Dodge (10%)
- 140-239 = Parry (10%)
- 240-339 = Block (10%)
- 340-489 = Critical Hit (15%)
- 490-999 = Hit (51%)

Or, 1% critical hit chance:


- 000-049 = Miss (5%)
- 050-149 = Dodge (10%)
- 150-249 = Parry (10%)
- 250-349 = Block (10%)
- 350-509 = Critical Hit (16%)
- 510-999 = Hit (49%)

How about both:


- 000-039 = Miss (4%)
- 040-139 = Dodge (10%)
- 140-239 = Parry (10%)
- 240-339 = Block (10%)
- 340-499 = Critical Hit (16%)
- 500-999 = Hit (50%)

Adding items with +dodge, +parry, and +block will similarly affect the table when it is generated.

Precedence
The entries on the table have an order of precedence in terms of what gets knocked off before something else. The order is:


- Miss
- Dodge
- Parry
- Block
- Critical Hit
- Crushing Blow (mobs 4 levels or more higher than you, generally)
- Hit
What this tells you is when you do something to alter the combat table, like activate your Shield Block ability, the stuff that gets knocked off to make room for the 100% block chance you gained starts at the bottom and works upwards. For example, using the last table above, if you activate Shield Block, we end up with:


- 000-039 = Miss (4%)
- 040-139 = Dodge (10%)
- 140-239 = Parry (10%)
- 240-999 = Block (76%)

In this case we see that while Shield Block is active, the only possible results you can see from an attack are miss, dodge, parry, or block. We could have gained up to 100% block chance, but only 66% was needed to clear the table of chance to hit and crit - the rest is discarded. This precedence order has been tested and re-tested to confirm that miss, dodge, and parry are not removed in favour of block (and that miss is not removed in favour of dodge, etc.) The fact that you can do in-game testing to confirm this precedence order is, in and of itself, another proof of the combat table.

So what's this 102.4% thing?
That's the point where you have removed hits, critical hits (and crushing blows) frm the combat table. 100%, but 102.4%, yep. Just as each level that the mob is above you increases its chance to crit by 0.2%, it also reduces its chance to miss by 0.2%, and your chance to dodge, parry, and block by 0.2%, or a total of 0.8% per level. For a mob +3 levels, that's 2.4% worth of extra hit chance the mob has that you need to make up for on the combat table, so you need 102.4% worth of dodge+block+parry+miss so that you are left with 100% combined on the combat table. We used to call that uncrushable, but since crushing blows are no longer something we generally need to worry about (http://www.tankspot.com/forums/f63/40759-crushing-blows.html), we just call it unhittable now.

Overpower And Other Special Cases
Overpower is a pretty special case. It can't be dodged, blocked, or parried - it can only miss, crit, or hit. With talents, you can get an additional 50% chance to critically hit. Overpower will have its own special table. Let's assume we still have a base 15% chance to crit:


- 000-049 = Miss (5%)
- 050-699 = Critical Hit (65%)
- 700-999 = Hit (30%)

If we had a 45% chance to crit as well as the overpower talents, the table would be either miss or critical hit...

Blocks and Critical Hits
Read about it here: (Go read about blocking (http://www.tankspot.com/forums/f63/41527-blocking.html))

Conclusion
We've shown (http://www.tankspot.com/forums/f111/33098-combat-table-analysis.html) that WoW cannot be using a short-circuit evaluation, even though we already knew that. What does that give to you? Not much, really =) It doesn't change the way the game plays for you, but hey, you have learned a bit more about how the game works! More seriously, you've got a clearer idea of what happens when you put on a piece of gear with +crit or +hit.

Shiika
05-31-2009, 12:22 AM
Hi ! (Just excuse my english which isn't my mother tongue xd)

I really didn't know where to post that and because you've already answered me quick and nice on another subject, I've decided to post it here =)

So, Iv'e been doing some test with my Enhance Sham on the lvl 83 Dummy.
Only autoattacking, I just wanted to check if all % I should have on the combat table were correct.

Here are information about my Char (reading those from the char sheet) :
322 Hit Rating (+6% Dual spe talent, +1% Draenei) -> 16,82% (Melee)
21/21 Expertise -> 5.25%
27,52% Crit.

And here is what I got :

Test N1 (Autoattack from behind, just the hast totem dropped) :
Melee : 1003 (100%)
Hit : 393 (39,2%)
Glancing : 265 (26,4%)
Crit : 226 (22,5%)
Miss : 107 (10,7%)
Dodge : 12 (1,2%)

Test N2 (Same setup) :
Melee : 1796 (100%)
Hit : 764 (42,5%)
Glancing : 431 (24%)
Crit : 403 (22,4%)
Miss : 185 (10,3%)
Dodge : 13 (0,7%)

I've done a third test but I don't have the values right now.
I am at 400/400 with each weapon.

There's something I must be missing because I'm like missing... 5% crit in each test :(

If you could help me find the answer cause I must admit I really don't understand.

Thank you.

Shiika
06-05-2009, 11:13 PM
Hi again !

I'm sorry for the double post but I think it'll be clearer than editing the first one.

I've just run another test but using 2 different addons at the same time (Recount and Combatstats) this time.

Here are some pics.

My char :

http://www.tankspot.com/photoplog/images/26398/large/1_Char.JPG

As you can see I've made some changes in my gear since my last post but whatever.


Combatstats detailled stats for the test :

http://www.tankspot.com/photoplog/images/26398/large/1_combatstats.JPG

The red % is the Percent of Attack's hits that are critical hits.


Recount detailled stats for the same test :

http://www.tankspot.com/photoplog/images/26398/large/1_Recount.JPG



As you can see again, there must be something wrong or I am missing something.

If you can help me, I'll be glad =)

zztuf
07-10-2009, 05:07 AM
The way WoW calculates crit rate is over ALL attacks. Crit rate is not based on hits only. In other words, if you have a 5% crit rate, that 5% chance includes misses.

Recount is showing you your % crits on your attacks that actually landed.
So, you loose 5% crits in the miss and dodge.

Shiika
07-22-2009, 10:55 PM
Actually, Recount, unlike Combatstat, isn't showing the %crit of landed attacks but the overall %crit.

Just sum all of the % and you'll get to 100%.

Plus, if it would actually show the %crit of landed attacks, the %crit would have been higher than the one on my character sheet, which is the opposite.
(And the %miss and %dodge are exactly what they should be.)

I haven't run any new tests recently but i'll do it and post results here again to see if there's any differences.

Shiika.

Shiika
07-23-2009, 12:50 AM
Double post again :p

Here is a screen of the new test :

Autoattack only, Melee Hast totem and Bloodlust used when up.

http://www.tankspot.com/photoplog/images/26398/1_WoWScrnShot_072309_084542.JPG

As you can see, I'm still far away from the 29,29% crit I should have.

I just don't have a clue about this. If anyone could run some tests to see if it's like a display issue with my char sheet or what...

Thanks for your answers ;)

Shiika.

Satrina
07-23-2009, 08:40 AM
The combat table refers to a mob's chance to hit you as a tank. It works somewhat differently for players hitting mobs and other players.

Shiika
07-23-2009, 05:46 PM
Oh ! I didn't get that when I read all of your explanation about the Combat table (must have missed something sorry ^^).

So where I can find the way the combat table works for players hitting mobs / other players ? If there is such thing somewhere ^^

Thanks for your answer and your great "Evil Empire Guide" by the way ;)

Shiika.

Satrina
07-24-2009, 09:22 AM
After all this time, I never actually have made that clear in the article... fixed!

You can get some info on player attacks at wowwiki: Attack table - WoWWiki - Your guide to the World of Warcraft (http://www.wowwiki.com/Attack_table) (will also refer you to EJ)

("Evil Empire" was the guild we originally formed in WoW. I initially hosted all of these guides at evilempireguild.org, so people started calling them the evil empire guides =)

Cyms
01-01-2010, 01:09 PM
Hello. I was curious as to how you determine a mobs chance to hit you, and the mobs chance to critically hit you.

Also, do all mobs have an the chance of missing despite a level difference? That is to say, does a level 80 mob have a 5% chance to miss a level 75 player?

Lastly, does a level 83 caster mob have a different table against a tank? And if so, how many tables are there? (Other than Attack Table and Combat Table.)

Thank you. :)