As a player and someone who has done some game design my recommendation would be to split the DR system into two parts. The first part is the 'Base' DR being the damage absorbed and the second part being a 'Percentage' I think the most effective way DR would operate is that any attack would have the damage placed against the Base and Percentages separately and which ever gave the lower result would be the effective damage taken. This would have Plate armor with say 30 DR and 50% to be highly effective against weak mobs and useful one stronger threats and at the same time Cloth and Leather sets would have a matching effectiveness for their type. I've seen most cloth sets sit round 8-10 DR and 6-8% damage in most cases. Leathers running the 13-18 DR and 14-25% and now plate with 25 DR not around 50% effective. Combat wise a 30 point attack on a plate wearer would do about 5 points where a 100 point would do around 50. On a cloth wearing player the same attacks would be 20 points and 92 points. Leather of course then being 12-18 damage for the low attack and 75- 86 for the 100 point one. Throw in chain mail sets between Leather and Plate since they would fall in the range between the Leather and plate and you have a more functional combat effect that would be more accurate for the expected protections. Give a DR amount then saying that you only get 50% of that DR value is more than a little non-intuitive. Placing a functional percentage of the DR score make all the armor types flawed shifting combat systems to avoidance numbers now so dodge in light armor sets will be the 'new' tanking system. After all if I can get 80% change to avoid an attack that I take OR I get at best only half my DR rating I'd be better served with the avoidance since it has the higher change at mitigating the damage. Yes one hit would be more impactful but the chance of being hit would be unlikely compared to the plate wearing person. 80% avoidance to with luck 15%. Let's not forget as well as mentioned by others the inability to resist magic/poisons. Now if the Dev's can make this sort of split function is something in programming systems but it would most likely be the best balance in my opinion.