TL;DR: Instead of a simple armor rating, each piece of armor gets a Max/Min damage based on type, where weak hits are ignored, but hits damage above a certain threshold is transferred directly to the wearer.
The idea is the simple stat given to armor doesn't quite work for the different types of damage: blunt, piercing, cutting - but to have a different armor stat for each category would be over-complicating thing. Instead, having a MAX and MIN damage stat could represent all of the different kinds of armor or clothing that's in the game. And for each damage type, there would be a different calculation.
Cloth like linen or sackcloth would have a very low minimum damage and a max only a point or two above it, like 2/3 (2 MIN / 3 MAX) so a blow that deals 30 damage would do 27 damage to the wearer. However, something like plate mail would have a very high Minimum, like 50, so any blow that did less than 50 would do no damage at all. A gambeson is a thick quilted layer of cloth or leather, so it would have the same minimum damage as clothing (2 to 5 for linen, 3 to 7 for wool, 6 to 15 for suede), but being thicker, it would have a much higher maximum damage. Chainmail with a gambeson underneath would have a higher min/max, like 40/60. A plate cuirass would have a high minimum but the maximum would not be much higher because it is a relatively thin layer with low shock absorbancy, say 100/102.
BLUNT
* Below the armor's minimum, no damage to HP is done.
* Above the minimum but below max, damage = (Blunt Hit DMG - Armor Minimum) / (Max-Min difference x Scaling Factor). This means thick stuff will absorb blows better since it will have a high Min/Max difference. For example, a hit of 15 on a 5/20 armor will be (15 - 5) / (15 x 0.2) = 10 / 3 = 3 damage to HP.
* Above Max Damage: Same calculation as Medium damage: so 25 on 5/20 will be (25 - 5) / (15 x 0.2) = 20 / 3 = 7 damage to HP. But on thin armor, like a leather vest, it might be something more like: 25 on 10/15, so (25 - 10) / (5 x 0.2) = 15 / 1 = 15 damage to HP as a thin strip of leather is less shock-absorbent than a quilted gambeson. A hit of 80 Blunt on 40/60 padded chainmail will do 40 / 4 = 10 HP damage.
CUT
* Below the armor's minimum, no damage to HP is done.
* Above min, below max: Damage is calculated the same as blunt damage, because it did not penetrate the armor. (In a more complex system, it would do damage to the armor, but that's just too much detail for this game).
* Above max damage: Damage = Hit - Max Damage of armor, so a Hit of 80 Cut on 40/60 padded chainmail will do 20 HP damage.
PIERCE
* Below armor's minimum, no damage to HP is done.
* Above min, below max: Damage calculated the same as Blunt.
* Above Max damage: Damage = Hit - Max/Min Difference, which means a Hit of 80 Pierce on 40/60 padded chainmail will do 60 HP damage.
The idea is the simple stat given to armor doesn't quite work for the different types of damage: blunt, piercing, cutting - but to have a different armor stat for each category would be over-complicating thing. Instead, having a MAX and MIN damage stat could represent all of the different kinds of armor or clothing that's in the game. And for each damage type, there would be a different calculation.
Cloth like linen or sackcloth would have a very low minimum damage and a max only a point or two above it, like 2/3 (2 MIN / 3 MAX) so a blow that deals 30 damage would do 27 damage to the wearer. However, something like plate mail would have a very high Minimum, like 50, so any blow that did less than 50 would do no damage at all. A gambeson is a thick quilted layer of cloth or leather, so it would have the same minimum damage as clothing (2 to 5 for linen, 3 to 7 for wool, 6 to 15 for suede), but being thicker, it would have a much higher maximum damage. Chainmail with a gambeson underneath would have a higher min/max, like 40/60. A plate cuirass would have a high minimum but the maximum would not be much higher because it is a relatively thin layer with low shock absorbancy, say 100/102.
BLUNT
* Below the armor's minimum, no damage to HP is done.
* Above the minimum but below max, damage = (Blunt Hit DMG - Armor Minimum) / (Max-Min difference x Scaling Factor). This means thick stuff will absorb blows better since it will have a high Min/Max difference. For example, a hit of 15 on a 5/20 armor will be (15 - 5) / (15 x 0.2) = 10 / 3 = 3 damage to HP.
* Above Max Damage: Same calculation as Medium damage: so 25 on 5/20 will be (25 - 5) / (15 x 0.2) = 20 / 3 = 7 damage to HP. But on thin armor, like a leather vest, it might be something more like: 25 on 10/15, so (25 - 10) / (5 x 0.2) = 15 / 1 = 15 damage to HP as a thin strip of leather is less shock-absorbent than a quilted gambeson. A hit of 80 Blunt on 40/60 padded chainmail will do 40 / 4 = 10 HP damage.
CUT
* Below the armor's minimum, no damage to HP is done.
* Above min, below max: Damage is calculated the same as blunt damage, because it did not penetrate the armor. (In a more complex system, it would do damage to the armor, but that's just too much detail for this game).
* Above max damage: Damage = Hit - Max Damage of armor, so a Hit of 80 Cut on 40/60 padded chainmail will do 20 HP damage.
PIERCE
* Below armor's minimum, no damage to HP is done.
* Above min, below max: Damage calculated the same as Blunt.
* Above Max damage: Damage = Hit - Max/Min Difference, which means a Hit of 80 Pierce on 40/60 padded chainmail will do 60 HP damage.

