Seems fairly obvious that it is proc/multiple rolls instead of a table because of it being the simplest programing method and that using a table would require recalculating the table between every attack.
Hit roll -> Crit Roll -> Block Roll -> Parry Roll -> Damage Roll if a Physical Attack
Hit Roll -> Crit Roll -> Elemental Resist Roll -> Damage Roll if a Magical Attack