Following is some research about the melee hit table which contains calculations, figures, math-related information and so on. From the attack table you can see clearly every melee swing done by players, pets and mobs. Each attack completed would produce an internal roll on the server, which is very similar to a roll one hundred. The items in the list would be showed in certain sequence for the sake of precedence which means the former ones will occur before latter ones. Under this theory, the server will first analyze your opportunity to miss, then dodge, parry and so on until it reaches the bottom of the list.
Besides each result is against any other result which means you are unable to get a blocked critical hit, nor a glancing one. A hit is going to either be blocked, glancing or a crit. It is easy for you to find cases in which a specific result can be set to zero. Attacks from players and pets can do glancing blows while an NPC is unable to cause a glancing blow. Only NPCs can do crushing blow, whereas players and pets have no such a function. Mobs are unable to do parry or block attacks occurred behind them while players will never dodge, parry or block attacks from behind them. There is half yard polite distance to see whether an attacker comes from behind a target or not.
Disabled targets have no ability of dodge, parry or block attacks.
As discussed above, when an attack roll is completed, the combination will be compared to each possible outcome on the list. The list of possibilities will go on until it comes to one hundred percent, after which all other possibilities will not be considered. Normally, this only happens when facing tanks.