UranusBytes / foundry-die-hard

MIT License
3 stars 4 forks source link

Incompatibility with BetterRolls5e #6

Open UranusBytes opened 2 years ago

UranusBytes commented 2 years ago

Problem Summary

The DieHard module currently has an incompatibility with Better Rolls for 5e that I have not been able to find a workaround.

BR5e replaces the 5e system rolls (Item Roll, Item Attack Roll, Item Tool Check, Actor Skill Roll, Actor Ability Test, Actor Ability Save). This isn't just a small shim or low-touch change, but a dull replacement. For example, with Actor Ability Save, BR5e will first do the original roll (with all that entails up to the point of presenting the results to the users), but then it will follow up with its own custom roll where it does each part of the original roll AGAIN (but rendering into the individual components). The real problem is that it seems to ignore the "result" of this original roll, and rely only on the BR5e roll.

What this means is that each "roll" starts with two rolls (the original and then the BR5e). If you modify the BR5e roll after the fact (re-roll, make dis/adv, etc...) each of these changes is only to the original BR5e roll.

The problem comes in with how Die Hard is fudging/karma dice. Because DH is adjusting the lower level objects (either the roll total or the raw dice roll), I can't figure out a way to determine during those initial two rolls (the original and the BR5e) which is which. So when a user does that initial roll, DH only fudge/karma the first roll (which is ignored). If the fudge is endless, it will fudge both the original and the BR5e roll, so the end outcome is correctly fudged, but the GM will get 2x whispers.

At this time, I cannot figure out a way within DH to detect the difference. Even with adjustments to BR5e and how it requests the rolls, because they are abstracted out in the lower level, it would require significant code changes with BR5e to support DH awareness.

WORKAROUND

At this time, the only workaround I can offer is the following:

Fudge Only use 'Persistent' fudges such that DH will fudge both the original and BR5e roll (and then quickly disable the fudge, even globally disabling). Ignore the first fudge message, only watching the second one. 😞

Karma Understand that the karma stats that influence adjusting the rolls will be influenced by the ignored roll, or that the ignored roll could be influenced.