- 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>
96 lines
3.8 KiB
JSON
Executable File
96 lines
3.8 KiB
JSON
Executable File
{
|
||
"_id": "vagabondClsRevela",
|
||
"_key": "!items!vagabondClsRevela",
|
||
"name": "Revelator",
|
||
"type": "class",
|
||
"img": "icons/svg/holy-shield.svg",
|
||
"system": {
|
||
"description": "<p>Revelators are holy warriors who combine martial prowess with divine magic. Their ability to smite evil and protect allies makes them formidable frontline paladins.</p>",
|
||
"keyStat": "might",
|
||
"actionStyle": "leadership",
|
||
"zone": "frontline",
|
||
"trainedSkills": ["leadership", "brawl", "influence", "mysticism"],
|
||
"startingPack": "<p>Knight or Devout</p>",
|
||
"isCaster": true,
|
||
"progression": [
|
||
{
|
||
"level": 1,
|
||
"mana": 2,
|
||
"castingMax": 0,
|
||
"spellsKnown": 2,
|
||
"features": ["Divine Sense", "Lay on Hands"]
|
||
},
|
||
{ "level": 2, "mana": 2, "castingMax": 0, "spellsKnown": 0, "features": ["Divine Smite"] },
|
||
{ "level": 3, "mana": 2, "castingMax": 0, "spellsKnown": 1, "features": ["Perk"] },
|
||
{
|
||
"level": 4,
|
||
"mana": 2,
|
||
"castingMax": 0,
|
||
"spellsKnown": 0,
|
||
"features": ["Aura of Protection"]
|
||
},
|
||
{ "level": 5, "mana": 2, "castingMax": 0, "spellsKnown": 1, "features": ["Perk"] },
|
||
{ "level": 6, "mana": 2, "castingMax": 0, "spellsKnown": 0, "features": ["Aura of Courage"] },
|
||
{ "level": 7, "mana": 2, "castingMax": 0, "spellsKnown": 1, "features": ["Perk"] },
|
||
{ "level": 8, "mana": 2, "castingMax": 0, "spellsKnown": 0, "features": ["Improved Smite"] },
|
||
{ "level": 9, "mana": 2, "castingMax": 0, "spellsKnown": 1, "features": ["Perk"] },
|
||
{ "level": 10, "mana": 2, "castingMax": 0, "spellsKnown": 0, "features": ["Holy Champion"] }
|
||
],
|
||
"features": [
|
||
{
|
||
"name": "Divine Sense",
|
||
"level": 1,
|
||
"description": "<p>You can Cast Spells using Leadership. <strong>Spells:</strong> You learn 2 Spells. You learn 1 other Spell every 2 Levels in this Class hereafter. <strong>Mana:</strong> Your Maximum Mana is equal to (2 × your Revelator Level). You regain spent Mana when you Rest.</p>",
|
||
"passive": true,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Lay on Hands",
|
||
"level": 1,
|
||
"description": "<p>You have a pool of healing power equal to (5 × your Revelator Level). As an Action, you can touch a Being and restore HP from this pool. You can also spend 5 HP from this pool to cure one disease or neutralize one poison.</p>",
|
||
"passive": false,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Divine Smite",
|
||
"level": 2,
|
||
"description": "<p>When you hit with a Melee attack, you can spend Mana to deal extra Radiant damage: 2d8 for 1 Mana, +1d8 for each additional Mana spent (max 5d8).</p>",
|
||
"passive": false,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Aura of Protection",
|
||
"level": 4,
|
||
"description": "<p>You and Allies within 10 feet gain a bonus to Saves equal to your Presence (minimum +1).</p>",
|
||
"passive": true,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Aura of Courage",
|
||
"level": 6,
|
||
"description": "<p>You and Allies within 10 feet cannot be Frightened while you are conscious.</p>",
|
||
"passive": true,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Improved Smite",
|
||
"level": 8,
|
||
"description": "<p>All your Melee attacks deal an extra 1d8 Radiant damage.</p>",
|
||
"passive": true,
|
||
"changes": []
|
||
},
|
||
{
|
||
"name": "Holy Champion",
|
||
"level": 10,
|
||
"description": "<p>When you are reduced to 0 HP and not killed outright, you can choose to drop to 1 HP instead. Once you use this feature, you can't use it again until you Rest.</p>",
|
||
"passive": false,
|
||
"changes": []
|
||
}
|
||
],
|
||
"customResource": {
|
||
"name": "Lay on Hands Pool",
|
||
"max": "5 * @classes.revelator.level"
|
||
}
|
||
}
|
||
}
|