Skip to content

Fix reprinted subclass spell list merging and qualifiers#860

Merged
ebullient merged 1 commit into
mainfrom
claude/inspiring-bouman
Mar 25, 2026
Merged

Fix reprinted subclass spell list merging and qualifiers#860
ebullient merged 1 commit into
mainfrom
claude/inspiring-bouman

Conversation

@ebullient
Copy link
Copy Markdown
Owner

Changes

  • SpellIndex.java: Skip reprinted (aliased) spell references to avoid duplicate entries. Only process canonical versions of reprinted spells by checking if the key differs from its resolved alias.

  • SpellEntry.java: Add getMostSpecificReference() method that returns the most specific spell reference, preferring constraint-bearing references (with classLevel/spellLevel/asLevel) over generic ones.

  • Json2QuteSpellIndex.java: Use the new getMostSpecificReference() method to get accurate spell qualifiers instead of always using the generic reference, and only append qualifier text if present.

Fixes

…olves #859

- Skip old reprinted entries in processClassRefs/processSubclassRefs
  (spell source lookup): when a class/subclass key resolves to a
  different canonical key via getAliasOrDefault, skip the old entry so
  its spells are not merged into the new edition's spell list.
- Add SpellEntry.getMostSpecificReference to prefer specific
  (constraint-bearing) references over non-specific ones.
- Use per-spell getMostSpecificReference in createOtherList instead of
  reusing the first spell's reference for all spells in the list; fixes
  incorrect "at class level X" qualifiers being applied to every spell.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ebullient ebullient merged commit a1ef38c into main Mar 25, 2026
6 checks passed
@ebullient ebullient deleted the claude/inspiring-bouman branch March 25, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 Spell lists of reprinted subclasses merge the lists from 5e & 5.5e

1 participant