vagabond-rpg-foundryvtt/packs/_source/classes/revelator.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

96 lines
3.8 KiB
JSON
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_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"
}
}
}