You might think so. But this is not how it is calculated. A 10% chance to dodge means you get a 10% chance to dodge out of ALL attacks, not just the ones which didn't miss, weren't parried etc.
What happens is more like this:
(pseudo code)
float x = random(1 to 100)
if x < 10 parry()
elsif x < 20 dodge()
elsif x < 30 missed()
elsif x < 40 block();
elsif x < 95 hit();
else crit();
You can verify this quite easily by checking that parry, dodge and block chances do actually correspond to the listed values over all attacks for a same level mob.
If you really did get a chance to be missed first, and then a chance to dodge on remaining attacks and then a chance to parry on remaining attacks and so on; you would see a bias against parry being applied because it is applied to less attacks than earlier checks. But I have never observed any bias in any of dodge block and parry.
What happens is more like this:
(pseudo code)
float x = random(1 to 100)
if x < 10 parry()
elsif x < 20 dodge()
elsif x < 30 missed()
elsif x < 40 block();
elsif x < 95 hit();
else crit();
You can verify this quite easily by checking that parry, dodge and block chances do actually correspond to the listed values over all attacks for a same level mob.
If you really did get a chance to be missed first, and then a chance to dodge on remaining attacks and then a chance to parry on remaining attacks and so on; you would see a bias against parry being applied because it is applied to less attacks than earlier checks. But I have never observed any bias in any of dodge block and parry.