r/3d6 • u/shutternomad • 6h ago
D&D 5e Revised/2024 DPRcalc's Dice Calculator 2.0 is live + engine is open source! You can now model dependent damage riders, conditional damage, bouncing attacks and more
Hey all, it has been a while since I posted here!
A bunch of you liked the old DPRcalc dice calculator because it let you model out DPR without needing a DDB character sheet, but it didn't let you model things like "smite on crit" or bouncing attacks, or more complex builds.
So… I spent a few months rewriting the engine with a few goals:
- Accurately represent any and all legal D&D rounds. Previously it was just the basics.
- Make the interface faster and easier to enter data, streamlining the common use cases.
- Make all features in DPRcalc use the same engine. Previously the analyzer had a bunch of bespoke functionality not present in the dice library or exposed on the dice calculator page
- Make the underlying dice library open source and easy to use.
Try it at https://dprcalc.com/dice, it's ad-free and free to use as always.
Here is what is new in the 2.0 engine:
- Drastically Simplified UI: The minimum amount of data entry required has been heavily reduced. Infrequently used options are now hidden by default to declutter the workspace, and the system handles things like auto-dice-doubling for critical hits automatically.
- Menu-Driven Scaling: Instead of manually entering damage dice and modifiers, you can now add attacks, spells, and damage riders directly from a dropdown menu. These come with sensible defaults that automatically scale with your character level.
- Targeted Damage Riders: You can specify exactly how and when riders apply. For example, you can set Sneak Attack to only apply if a hit actually lands, and you can explicitly check boxes to dictate which specific attacks (e.g., Dagger Attacks but not the Flurry of Blows) can trigger it.
- Advanced Conditional Effects: It is now trivial to model optimization staples like "Smite on crit", attacks that explode on a max roll (Sorcerous Burst) or bounce to a new target on a matching roll (Chaos Bolt or the updated Chromatic Orb).
- Action Dependencies: What happens if that "Smite on crit" doesn't trigger? You can now model dependencies, such as setting up a different Bonus Action attack to only occur if the first condition fails.
- Attack Frequency: Similar to the analyze page, you can now specify certain attacks to only happen a specific percentage of the time (perfect for modeling Great Weapon Master's Cleave, Hew, or an average Attack of Opportunity rate).
- Complex Pre-Built Examples: The update includes numerous examples showing exactly how to model mechanics like Bless, Hunter's Mark, Graze, and even an absurd Rogue/Paladin/Monk/Ranger multiclass that combines and tracks a massive stack of separate features in a single round.
You can read the a breakdown of the engine rewrite on Patreon if that's your thing. For the developers and coding-inclined optimizers out there, the underlying dice library running the math is completely open source so you can use it for your own projects.
Drop any bugs, feedback, or feature requests in the comments - or come over to our Discord to hang out and chat with other theory crafters and optimizers!
Oh and if you like data visualization or math, here is a little thing I made showing how the math all works: https://yipe.github.io/dice