Graceful Doom is an experiment to see if I could recreate the dynamics produced by pain chance in Doom without relying on random chance. Instead, a system similar to Poise in Dark Souls is used, allowing for a more "fair" and consistent experience than vanilla Doom. Depending on how tough they are, enemies will consistently resist weak hits, but can be reliably stunned by taking a large amount of damage all at once or overwhelmed by successive rapid fire attacks.
Pain chance is an aspect of Doom that is widely celebrated (it was mentioned in this video that has been making the rounds recently, for example) for serving as a novel way to differentiate enemy types and create unique relationships between certain weapons and enemies. However, I'm sure I'm not the only one who finds it a little frustrating that my success is at least partially determined by my ability to win a die roll rather than a pure measure of my skill. On the other hand, alternative solutions used by Doom's contemporaries such as Marathon, which had enemies get stunned every time they were hit, don't replicate the beneficial components of pain chance, so a more nuanced solution is necessary. Graceful Doom is my attempt to eliminate the randomness while preserving everything else.
The intent is to mimic the balance created in aggregate by the use of random chance in the original game as closely as possible. Each enemy type has a "Poise" value roughly based on their original pain chance and carefully tweaked to reflect the behavior expected of them and the tactics afforded by it - for example the Cacodemon's poise is just low enough for it to be reliably stunlocked by the chaingun or chainsaw, while the Baron of Hell can take a lot more punishment, but not so much that a well timed SSG shot won't interrupt its attack.
Due to limitations in the scripting system, poise damage is a direct conversion of the actual damage dealt to an enemy rather than a custom value for each weapon. As a result of this I've had to modify the damage dealt by each player weapon to make it do a consistent amount of damage based on the mean value of what it used to do. Otherwise stuns would still be somewhat unpredictable due to random damage variance. Honestly this seems like it's in the spirit of the rest of the mod anyway, so I don't think it's too big of a deal, if one at all.
I'm mostly done with it, but I'd like to get it out in the wild to make sure there aren't any bugs or other glaring flaws before I call it 1.0. Once I'm satisfied that no further changes need to be made I'll package it up with a proper readme and include instructions on how to easily integrate poise into your own monsters. Done!
I'm particularly interested in general impressions. When trying to recreate a system coming from a different angle, there's going to be some things that don't quite fit together the same way, so compromises must be made. I've thought hard about how to err on the "right" side in every case, but there's always something lost on the other side, so if you see anything that feels "wrong" or otherwise runs contrary to your expectations I want to hear about it!
Changelog:
Spoiler: