Well, here's how I think it should go, as an avid player of "HL2RP" (or rather, I used to be)
On this, which technically had a health system, but was rarely ever actually used, because actual fistfights were typed out, you were expected to RP your damage (IE, if you get hit in the leg by a bullet, you are expected to RP the damage as such) This, was called painRp. That is a way to 'track' damage, and though it places a lot of trust into the actual players of the game, t is much easier and simpler, and with people who actually play it right, I think it can be much more fun.
Now, let's talk about rolls.
I'm taking this from my old HL2RP server as well, and though it may be a straight win/loose scenario, what exactly happens can be determined by who is attacking, and who is being attacked.
you roll out of a hundred, and if you roll above 25, you win if that was an easy action, 50 if it was a mediocre action, 75 if it was a hard action. (50 being the most common)
Here's a quick example
*Cop1 tries to kick down the door*
[Roll] Cop1 rolls: 99
**The door goes flying outward in a flurry of wooden splinters**
*badguy1 opens fire on the cop*
[roll] badguy1 rolls 76
**The bullet flies forward, straight into the cop**
((25 being an anti-crit, up to 90 being a normal hit and above that being a critical.))
[roll] Badguy rolls 92
**the 7.62mm bullet tumbles right into the officer's brain, killing him before he hits the ground**
Though this system may be rather easily abused, I honestly think it is easy to keep track of, and allows much, much more flexibility
(For example, plate armor , which makes you virtually immune to cutting attacks, would be poorly represented by a simple shield stat)
Plus, this also places more of a focus on actual RP than a simple text-based game. which, honestly, I prefer.