Accepted
The current JsonSpellImporter only maps basic spell properties (Name, Level, School, etc.). It ignores critical combat data such as:
- Attack Rolls (
spellAttack) - Saving Throws (
savingThrow) - Damage (
damageInflict,damage) - Area of Effect
Without this data, imported spells cannot be used in the combat resolution system.
We will update SpellDto and JsonSpellImporter to map these fields from the 5e.tools JSON format.
- RequiresAttackRoll: True if
spellAttackarray exists and contains "M" (Melee) or "R" (Ranged). - SaveAbility: Mapped from the first entry in
savingThrowarray (e.g., "dex" ->Ability.Dexterity). - DamageType: Mapped from the first entry in
damageInflictarray. - DamageDice: Extracted from the
damagearray (e.g.,[["8d6"]]-> "8d6").
- Usability: Imported spells will now function correctly in combat.
- Maintenance: The importer becomes more coupled to the specific 5e.tools JSON structure, which may change.
- Complexity: Parsing logic increases slightly.