Which does not have to be tied into combat event resolution.
Let me just ask you one question on the pseudo-code you presented. In these three statements:
are all three "RNG" the one and the same random number? Or do they represent drawing 3 different random numbers?Code:If RNG < Crit THEN If RNG < Block and Position = Front THEN If RNG < Parry and Position = Front THEN
If you draw one random number, then you have been talking about the one-roll attack table model all the time. And if you re-draw a new random number when you check for each of Crit/Block/Parry, then you are talking about a multi-roll model.
The point I'm trying to make, is that having multiple procs and drops from the same combat action do not necessarily dictate that the different outcomes of the same combat action must be multi-roll.
A multi-roll system will mean that every 1% rate increase of stats for a higher-priority outcome will diminish the value of 1% rate increase of stats for a lower-priority outcome.
For example, suppose 15% miss > 5% crit > 20% block > 10% parry > remainder being regular hit. Suppose that is the probabilities you end up with your gear. We don't know these probabilities, but we know the amount of stats we have. Taking in-game data, we will see:Now increase block from 20% to 30%, and again taking in-game data, we will see:
- in a multi-roll system, 0.85*0.95*0.8*0.1=0.0646=6.46% of the swings end up being parry;
- in a single-roll system, 10% of the swings end up being parry.
Hence in a multi-roll system, you want to maximize stats that contribute to a higher priority mitigation outcome (in this case, Block is more valuable than Parry), unless the mitigation from a lower priority outcome is extremely strong (for example if parry was 50% mitigation, then you would want to exchange as much of your block rate as possible for as much parry as possible). In a single-roll system, all mitigation outcomes grow independent of each other until you have enough of the high-priority outcomes to push the low-priority ones off the attack table.
- in a multi-roll system, 0.85*0.95*0.7*0.1=0.056525=5.65% of the swings end up being parry;
- in a single-roll system, still 10% of the swings end up being parry.
(As an aside, that's what tanks in World of Warcraft once was able to do: to push regular hits off the attack table so that 100% of all hits are mitigated.)
This is why it is important to investigate the combat resolution system. It will change the relative values of the defensive stats and how you gear your tank.