Whats WoW doing when you swing your weapon?
When you attack someone and swing your weapon, a lot of things can happen. In most cases you'll just land a normal hit, but sometimes you'll crit. Or you miss. Or maybe the opponent dodges or parries. If you want to decide what gear is best in a given situation, it helps if you know how WoW decides what's gonna happen to a swing.
While I have no insight to the actual implementation, the result comes down to this: The game is rolling a virtual dice and using the result to identify one of the entries in a big table (which is usually called the hit-table). And there it will be able to read what's gonna happen with this swing.
To say it a bit more technical: There is a random number generated. The range of possible numbers is devided into "areas" that map to one of the possible results of the roll like miss, crit, dodge, hit etc.
To keep it simple let's say we roll with a 100 sided dice. (/random 100)
If you have a 20% crit chance, 20 possible rolls will be a crit. If you have a 5% miss chance, 5 of the possible rolls will be a miss. The same is done for dodge, parry and block. The remaining possible rolls will map to a normal hit.
As hit-chance is not really a fixed chance, the line "Improves your chance to hit by X%" actually means "Reduces your chance to miss by X%".
Example:
These are the parameters:
Your miss chance = 5%
Your crit chance = 20%
The enemy's chance to dodge = 5%
The enemy's chance to parry = 5%
The enemy's chance to block = 10%
For every attack the server generates ONE SINGLE roll to see if the attack lands or not. As I said, to keep it simple let's just say the roll is random from 1 to 100.
If the roll lands between:
1 to 20 you crit
21 to 25 the foe dodges
26 to 30 the foe parrys
31 to 40 the foe blocks
41 to 45 you miss
46 to 100 you score a normal hit
This means that unlike common believe WoW does not determine first if you hit and then if the hit is a crit. If you have a 20% crit chance this means an average of 20 out of 100 swings (attacks) will crit and not only 20 out of 100 hits.
That does mean that crits can't miss, which in turn means that the amount of crits you do out of an amount of swings does NOT depend on your miss rate or any other variable except your crit rate.
This above rule of thumb suffices for everything except the most exotic situations: Situations where so many special things (meaning everything else than a normal hit) can happen that the chances add up to more than 100% which means they can't be placed in the hit table all at once. In that case certain things take priority over others and sadly all disadvantages take priority over the nice stuff like crit and hit.
If you have trouble to understand that, let me depict it like this: Imagine the dice the game is gonna roll for you. On each of its sides is written what's gonna happen to your swing. When the game sets up the hit table, its like preparing the dice by writing possible outcomes of a swing on its sides. At first on every side you can read "HIT". Then the game will start to fill in the other stuff: If you have 10% miss chance, then 10% of the dice's sides will get the "HIT" removed and "MISS" written on them (if it's a dice with 20 sides like pen&paper roleplayers use them, then "MISS" would be writen to two of the 20 sides). After filling in your miss chance the game will continue with other things that can happen: Dodge, Block, Glancing maybe... and in the very end it will come to your crit rate. If there are not enough sides left with the initial word "HIT" written on it, the game can't add "CRIT" tags anymore. In that case (and only in that case) you'll end up with less sides reading "CRIT" than you should get and that means you crit less than you deserve. Luckily for us rogues only in the most exotic situations (like when fighting Loatheb) there won't be enough free sides on the dice (or entries in the hit table if you want to be more technical), so you end up losing crit chance.
I hope this information helps!
While I have no insight to the actual implementation, the result comes down to this: The game is rolling a virtual dice and using the result to identify one of the entries in a big table (which is usually called the hit-table). And there it will be able to read what's gonna happen with this swing.
To say it a bit more technical: There is a random number generated. The range of possible numbers is devided into "areas" that map to one of the possible results of the roll like miss, crit, dodge, hit etc.
To keep it simple let's say we roll with a 100 sided dice. (/random 100)
If you have a 20% crit chance, 20 possible rolls will be a crit. If you have a 5% miss chance, 5 of the possible rolls will be a miss. The same is done for dodge, parry and block. The remaining possible rolls will map to a normal hit.
As hit-chance is not really a fixed chance, the line "Improves your chance to hit by X%" actually means "Reduces your chance to miss by X%".
Example:
These are the parameters:
Your miss chance = 5%
Your crit chance = 20%
The enemy's chance to dodge = 5%
The enemy's chance to parry = 5%
The enemy's chance to block = 10%
For every attack the server generates ONE SINGLE roll to see if the attack lands or not. As I said, to keep it simple let's just say the roll is random from 1 to 100.
If the roll lands between:
1 to 20 you crit
21 to 25 the foe dodges
26 to 30 the foe parrys
31 to 40 the foe blocks
41 to 45 you miss
46 to 100 you score a normal hit
This means that unlike common believe WoW does not determine first if you hit and then if the hit is a crit. If you have a 20% crit chance this means an average of 20 out of 100 swings (attacks) will crit and not only 20 out of 100 hits.
That does mean that crits can't miss, which in turn means that the amount of crits you do out of an amount of swings does NOT depend on your miss rate or any other variable except your crit rate.
This above rule of thumb suffices for everything except the most exotic situations: Situations where so many special things (meaning everything else than a normal hit) can happen that the chances add up to more than 100% which means they can't be placed in the hit table all at once. In that case certain things take priority over others and sadly all disadvantages take priority over the nice stuff like crit and hit.
If you have trouble to understand that, let me depict it like this: Imagine the dice the game is gonna roll for you. On each of its sides is written what's gonna happen to your swing. When the game sets up the hit table, its like preparing the dice by writing possible outcomes of a swing on its sides. At first on every side you can read "HIT". Then the game will start to fill in the other stuff: If you have 10% miss chance, then 10% of the dice's sides will get the "HIT" removed and "MISS" written on them (if it's a dice with 20 sides like pen&paper roleplayers use them, then "MISS" would be writen to two of the 20 sides). After filling in your miss chance the game will continue with other things that can happen: Dodge, Block, Glancing maybe... and in the very end it will come to your crit rate. If there are not enough sides left with the initial word "HIT" written on it, the game can't add "CRIT" tags anymore. In that case (and only in that case) you'll end up with less sides reading "CRIT" than you should get and that means you crit less than you deserve. Luckily for us rogues only in the most exotic situations (like when fighting Loatheb) there won't be enough free sides on the dice (or entries in the hit table if you want to be more technical), so you end up losing crit chance.
I hope this information helps!