I've created a pretty useful generalized solution for handling checks; the main problem I've been struggling with is how to use this same system to also handle damage. Damage rolls are unique in D&D, in that they're really... uh, weird -- compared to everything else. For starters, they're non-binary (you don't 'fail' or 'succeed').
I've been trying to figure out a way to turn damage rolls into check rolls without relying on things like 'degrees' of success. Then I remembered SecondTalon describing a damage system to me a few years ago in another thread:
You start the game with 20 hit points, so your Save vs Being Injured is at +20. An attack reduces your save by 5 and then makes you save vs. Injury. If you fail, you roll on the Injury table and.. start over. You're back to 20 hit points, but you have a twisted leg (half movement) or whatever. Repeat. Next failure breaks your leg. Next failure severs it, maybe. I dunno, go nuts.
The idea here is that you could potentially survive some pretty serious damage and be A-OK. And then again the first hit might damn near rip your arm off.
I actually think this system would integrate pretty well into my code. There's a lot of things I like about it:
- It reduces damage values to integers rather than ranges (a warhammer could do 10 damage, rather than 1d10).
- It creates a separation between 'hitpoints' (effectively your resistance to harm) and 'injuries' (long-term damage you've suffered).
- It handles 'degrees' of injuries via a simple saving throw mechanic (every time you fail, the injury becomes one degree worse, and you need to roll again).
- It allows for weapons that have no damage value (only inflicting injuries if your hitpoints are too low to make a save).
I'm struggling a little with the reset
mechanic, though. I'm also trying to think of some ways to make this more streamlined and easier to digest.EDIT:
So, like, I'm attacking you with my warhammer. I roll to hit; I succeed. When you get hit, you need to roll a save against damage (1d20 + resilience; DC = 10 + damage). You have a 'Resilience' of 3; my warhammer does 5 damage. So it's 1d20+3 to beat a DC of 15.
You roll 6. That's 6+3; 9. You fail your save, granting you a minor injury. Now you need to roll again -- you roll a 12. That's 11+3; 14. You fail again! It's now a moderate injury. Roll again; 12. That's 12+3; 15. You succeed, walking away with a moderate injury (which grants you -2 on all future
rolls until it's addressed).
(Injuries and their penalties are cumulative; six minor injuries means -6 to all
your rolls, including your future saves against damage. Also, damage is neither accumulated nor recorded; there are no hitpoints under this system)
That feels more streamlined and simplified -- but it doesn't address how massive damage can take you down pretty fast. You've still got a 5% chance to roll a 20, but any attack that's doing, like, 15 more damage than your 'resilience' score (or whatever score you use for the save) is probably just going to flat-out kill you.EDIT-EDIT:
Oh! Though maybe not, because -- the only way to flat-out die is to receive a mortal
injury, and each tier of injury between minor and mortal is another chance to succeed on your roll (and get that 5%).
So, if there are four tiers before 'mortal', that's four chances to roll a 20; if that's not enough, I can just add another tier to make the game more survivable (and if it's too many, I can just take one tier out). I think this should work? I think I can even integrate armor into it (adding a bonus to your resilience score). Vulnerabilities and resistances just double/half the damage value (my warhammer of fiery doom does 4 blunt and 6 fire; when I hit a water elemental with it, it's treated as a 16 damage weapon -- when I hit a fire elemental with it, it's treated as a 7 damage weapon).