vagabond-rpg-foundryvtt/packs/_source/ancestries/elf.json
Cal Corum a7862bedd5 Implement class level-up system with Active Effects
- 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>
2025-12-16 12:14:08 -06:00

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>"
}
]
}
}