RedReign / FoundryVTT-BetterRolls5e

A module for modifying certain sheet functions on Foundry VTT Character sheets for D&D 5th Edition.
GNU General Public License v3.0
37 stars 67 forks source link

Incompatibility with module "Magic Items" #355

Open SirZeel opened 2 years ago

SirZeel commented 2 years ago

The "Better Rolls" module prevents the "Magic Items" module from correctly applying the upcasting on spells inside the magic item. For example, a level 4 Cure Wounds will still only heal 1d8+mod.

https://i.imgur.com/G3oPunp.png

As you can see, spell is casted at level 4 but still only heals 1d8+mod. Once I deactivate Better Rolls, everything works fine.

https://gitlab.com/riccisi/foundryvtt-magic-items/-/issues/94

CarlosFdez commented 2 years ago

I am no longer maintaining Better Rolls (having switched entirely to pf2e), and we've tried to pass it on, but there have been no takers yet. But I feel for anyone down the line, I should add the context.

The core problem is that 5e doesn't allow you to specify a cast level. 5e casting > damage is split up, which means that they work by editing the spell itself. Magic Items Module for example make a copy of the spell, with the spell level overriden when it is cast. This item does not preserve the original level, making it impossible for BR to detect that its upcast.

The two solutions that come to mind are: 1) Update core to allow a cast level when the card is made, rather than editing the item. Have magic items make use of that param and not edit the item. 2) Have magic items not override the level in the copy's source data. Instead create an exact copy and change the copy's prepared level data. That way BR can try to compare against source data.

SirZeel commented 2 years ago

I am no longer maintaining Better Rolls (having switched entirely to pf2e), and we've tried to pass it on, but there have been no takers yet. But I feel for anyone down the line, I should add the context.

The core problem is that 5e doesn't allow you to specify a cast level. 5e casting > damage is split up, which means that they work by editing the spell itself. Magic Items Module for example make a copy of the spell, with the spell level overriden when it is cast. This item does not preserve the original level, making it impossible for BR to detect that its upcast.

The two solutions that come to mind are:

  1. Update core to allow a cast level when the card is made, rather than editing the item. Have magic items make use of that param and not edit the item.
  2. Have magic items not override the level in the copy's source data. Instead create an exact copy and change the copy's prepared level data. That way BR can try to compare against source data.

Well, thank you for taking the time to answer that. :)