- Add level-up dialog (ApplicationV2) showing features gained per level - Class features with `changes` arrays auto-create Active Effects - Valor I/II/III on Fighter reduces crit threshold cumulatively (-1/-2/-3) - Perk selection UI in dialog (awaits perk compendium content) - Fix duplicate item creation bug (was double drop handling) - Configure proper dragDrop in ActorSheetV2 DEFAULT_OPTIONS - Add ancestries and classes compendium packs with LevelDB format - Docker compose PUID/PGID for proper file permissions Key patterns established: - Class progression stored in item.system.progression[] - Features with changes[] become ActiveEffects on level-up - applyClassFeatures() is idempotent (checks existing effects) - updateClassFeatures() handles level changes incrementally 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 lines
842 B
JSON
Executable File
27 lines
842 B
JSON
Executable File
{
|
|
"_id": "vagabondAnceElf00",
|
|
"_key": "!items!vagabondAnceElf00",
|
|
"name": "Elf",
|
|
"type": "ancestry",
|
|
"img": "icons/svg/mystery-man.svg",
|
|
"system": {
|
|
"description": "<p>Elves are graceful fae beings with an innate connection to magic. Their keen senses and natural attunement to the arcane make them exceptional spellcasters and perceptive scouts.</p>",
|
|
"beingType": "fae",
|
|
"size": "medium",
|
|
"traits": [
|
|
{
|
|
"name": "Ascendancy",
|
|
"description": "<p>You are Trained in one Skill of your choice.</p>"
|
|
},
|
|
{
|
|
"name": "Elven Eyes",
|
|
"description": "<p>You gain Favor on sight-based Detect checks.</p>"
|
|
},
|
|
{
|
|
"name": "Naturally Attuned",
|
|
"description": "<p>You know one Spell of your choice (even if you are not a caster).</p>"
|
|
}
|
|
]
|
|
}
|
|
}
|