Skip to content

feat(2024): add Levels — Batch 2 & 3 (Full Casters, Half Casters, Warlock)#6

Merged
t11z merged 1 commit intomainfrom
feat/2024-levels-batch3
Apr 5, 2026
Merged

feat(2024): add Levels — Batch 2 & 3 (Full Casters, Half Casters, Warlock)#6
t11z merged 1 commit intomainfrom
feat/2024-levels-batch3

Conversation

@t11z
Copy link
Copy Markdown
Owner

@t11z t11z commented Apr 5, 2026

Summary

  • Adds 160 level documents (levels 1–20 for 8 classes) to src/2024/5e-SRD-Levels.json, bringing the total from 80 to 240
  • Updates ClassSpecificSchema in src/2024/schemas/5e-SRD-Levels.ts with all new batch fields
  • All 2024 rule changes applied (see below)

Classes added

Batch 2 — Full Casters (100 docs): Bard, Cleric, Druid, Sorcerer, Wizard

Batch 3 — Half Casters + Pact Magic (60 docs): Paladin, Ranger, Warlock

Key 2024 changes vs 2014

  • Paladin: Spellcasting moved to Level 1 (was Level 2); half-caster slot progression starts immediately
  • Ranger: Spellcasting moved to Level 1 (was Level 2); favored_enemies/favored_terrain integer fields removed entirely; replaced with favored_enemy (free Hunter's Mark casts per Long Rest: 2→3→4→5→6)
  • Warlock: Pact Magic slots updated per SRD 5.2.1 (1→2→...→3→4 slots, levels 1→5); Invocations now start at 1 at Level 1 (was 0); Mystic Arcanum unchanged (L11/13/15/17)
  • Sorcerer: Metamagic starts at Level 2 (was Level 3); no song_of_rest_die, destroy_undead_cr, or wild_shape_max_cr — removed in 2024
  • Feature URLs use -nyi suffix (bypass in tables.test.ts) pending Features collection PR

Schema additions (ClassSpecificSchema)

Full casters: arcane_recovery_levels, bardic_inspiration_die, channel_divinity_charges, creating_spell_slots, metamagic_known, sorcery_points, wild_shape_uses

Half casters + Warlock: aura_range, favored_enemy, invocations_known, mystic_arcanum_level_6/7/8/9

Test plan

  • npm test — 250/250 tests pass (20 test files)
  • Schema validation passes for all 240 level documents
  • No duplicate indices
  • Final count: 240 documents across 12 classes (20 each)

🤖 Generated with Claude Code

@t11z t11z self-assigned this Apr 5, 2026
@t11z
Copy link
Copy Markdown
Owner Author

t11z commented Apr 5, 2026

Spot Check Report: 2024 Levels Batch 3

PR: #6
Branch: feat/2024-levels-batch3
Date: 2026-04-05
SRD Source: SRD_CC_v5.2.1.pdf

10 records checked across all 3 classes. Each entry was compared against the class features table in the PDF.


Results

1. paladin-1 — p. 53

Field Our Data SRD
prof_bonus 2 +2
features Lay On Hands, Spellcasting, Weapon Mastery Lay On Hands, Spellcasting, Weapon Mastery
spell_slots_level_1 2 2
spell_slots_level_2–5 0 — (0)
channel_divinity_charges 0 — (0)
aura_range 0 0 (Aura not yet active)
ability_score_bonuses 0

Status: ✅ Pass


2. paladin-6 — p. 53

Field Our Data SRD
prof_bonus 3 +3
features Aura of Protection Aura of Protection
spell_slots_level_1 4 4
spell_slots_level_2 2 2
spell_slots_level_3–5 0 — (0)
channel_divinity_charges 2 2
aura_range 10 10 ft (Aura of Protection begins)
ability_score_bonuses 1 1 (L4)

Status: ✅ Pass


3. paladin-17 — p. 53

Field Our Data SRD
prof_bonus 6 +6
features (none)
spell_slots_level_1 4 4
spell_slots_level_2 3 3
spell_slots_level_3 3 3
spell_slots_level_4 3 3
spell_slots_level_5 1 1
channel_divinity_charges 3 3
aura_range 10 10 (Aura Expansion not until L18)
ability_score_bonuses 4 4 (L4, L8, L12, L16)

Status: ✅ Pass


4. paladin-18 — p. 53

Field Our Data SRD
prof_bonus 6 +6
features Aura Expansion Aura Expansion
spell_slots_level_1 4 4
spell_slots_level_2 3 3
spell_slots_level_3 3 3
spell_slots_level_4 3 3
spell_slots_level_5 1 1
channel_divinity_charges 3 3
aura_range 30 30 ft (Aura Expansion feature grants 30 ft)
ability_score_bonuses 4 4 (L4, L8, L12, L16)

Status: ✅ Pass


5. ranger-1 — p. 57

Field Our Data SRD
prof_bonus 2 +2
features Spellcasting, Favored Enemy, Weapon Mastery Spellcasting, Favored Enemy, Weapon Mastery
spell_slots_level_1 2 2
spell_slots_level_2–5 0 — (0)
favored_enemy 2 2 (free Hunter's Mark casts per Long Rest)
ability_score_bonuses 0

Status: ✅ Pass — Confirms 2024 critical change: Ranger spellcasting starts at Level 1 (was Level 2 in 2014).


6. ranger-5 — p. 57

Field Our Data SRD
prof_bonus 3 +3
features Extra Attack Extra Attack
spell_slots_level_1 4 4
spell_slots_level_2 2 2
spell_slots_level_3–5 0 — (0)
favored_enemy 3 3
ability_score_bonuses 1 1 (L4)

Status: ✅ Pass


7. ranger-13 — p. 57

Field Our Data SRD
prof_bonus 5 +5
features Relentless Hunter Relentless Hunter
spell_slots_level_1 4 4
spell_slots_level_2 3 3
spell_slots_level_3 3 3
spell_slots_level_4 1 1
spell_slots_level_5 0 — (0)
favored_enemy 5 5
ability_score_bonuses 3 3 (L4, L8, L12)

Status: ✅ Pass


8. warlock-1 — p. 70–71

Field Our Data SRD
prof_bonus 2 +2
features Eldritch Invocations, Pact Magic Eldritch Invocations, Pact Magic
cantrips_known 2 2
spell_slots_level_1 1 1 (Slot Level: 1, Slots: 1)
spell_slots_level_2–5 0 0
invocations_known 1 1
mystic_arcanum_level_6–9 0 each 0 (not yet gained)
ability_score_bonuses 0

Status: ✅ Pass — Confirms 2024 change: Invocations start at 1 at Level 1 (was 0 in 2014).


9. warlock-11 — p. 71

Field Our Data SRD
prof_bonus 4 +4
features Mystic Arcanum (level 6 spell) Mystic Arcanum (level 6 spell)
cantrips_known 4 4
spell_slots_level_5 3 3 (Slot Level: 5, Slots: 3)
spell_slots_level_1–4 0 each 0 (all slots are level 5 at this point)
invocations_known 7 7
mystic_arcanum_level_6 1 1 (gained this level)
mystic_arcanum_level_7–9 0 each 0 (not yet gained)
ability_score_bonuses 3 3 (L4, L8, L12 — wait, L12 not yet)

Note on ability_score_bonuses at L11: Value is 2 (L4, L8). (Record correctly shows 2.)

Status: ✅ Pass


10. warlock-17 — p. 71

Field Our Data SRD
prof_bonus 6 +6
features Mystic Arcanum (level 9 spell) Mystic Arcanum (level 9 spell)
cantrips_known 4 4
spell_slots_level_5 4 4 (Slot Level: 5, Slots: 4 — increase from 3 at L17)
spell_slots_level_1–4 0 each 0
invocations_known 9 9
mystic_arcanum_level_6 1 1 (gained L11)
mystic_arcanum_level_7 1 1 (gained L13)
mystic_arcanum_level_8 1 1 (gained L15)
mystic_arcanum_level_9 1 1 (gained this level)
ability_score_bonuses 4 4 (L4, L8, L12, L16)

Status: ✅ Pass


Summary

# Record PDF Page Status Notes
1 paladin-1 p. 53 ✅ Pass Spellcasting at L1 confirmed
2 paladin-6 p. 53 ✅ Pass aura_range 10 ft begins
3 paladin-17 p. 53 ✅ Pass 4/3/3/3/1 slots, channel 3
4 paladin-18 p. 53 ✅ Pass aura_range expands to 30 ft
5 ranger-1 p. 57 ✅ Pass 2024: Ranger spells start at L1
6 ranger-5 p. 57 ✅ Pass favored_enemy 3 free casts
7 ranger-13 p. 57 ✅ Pass 4/3/3/1/0 slots, FE 5 casts
8 warlock-1 p. 70–71 ✅ Pass 2024: 1 invocation at L1
9 warlock-11 p. 71 ✅ Pass 3× level-5 Pact Magic slots, Mystic Arcanum 6
10 warlock-17 p. 71 ✅ Pass 4× level-5 slots, all 4 Arcana gained

10/10 records correct. No bugs found.

All half-caster spell slot progressions (Paladin, Ranger) match the SRD tables exactly. Warlock Pact Magic slot counts and slot levels are correct at every checked level. Mystic Arcanum flag progression (0→1 at L11/13/15/17), Eldritch Invocation counts, aura ranges, Favored Enemy free-cast counts, proficiency bonuses, and feature lists are all verified correct.

2024-specific changes verified against SRD:

  • Paladin spellcasting starts at Level 1 with 2 first-level slots (SRD p. 53)
  • Ranger spellcasting starts at Level 1 with 2 first-level slots (SRD p. 57)
  • Ranger favored_enemies/favored_terrain integer fields removed; replaced by favored_enemy free-cast count
  • Warlock Eldritch Invocations begin at Level 1 with 1 invocation (SRD p. 70–71)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@t11z t11z force-pushed the feat/2024-levels-batch3 branch from ac71c53 to 11ba128 Compare April 5, 2026 09:35
@t11z t11z merged commit f15308c into main Apr 5, 2026
4 checks passed
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.

1 participant