vagabond-rpg-foundryvtt/packs/_source/classes/vanguard.json
Cal Corum bcbf8338ff Fix compendium IDs to be exactly 16 alphanumeric characters
Foundry VTT v13 requires all _id values to be exactly 16 characters.
Previous IDs ranged from 17-25+ characters and caused validation errors.

Changes:
- Use 7-char prefix per type (vgbdAnc, vgbdCls, vgbdPrk, etc.)
- Append 9-char name derived from filename with padding
- Handle collisions with numeric suffixes (e.g., vgbdPrkheighten1)

Files updated across all compendiums:
- Ancestries: 7 files
- Classes: 18 files
- Perks: 103 files (3 collision fixes)
- Spells: 58 files
- Weapons: 43 files
- Armor: 5 files
- Equipment: ~300 files (25 collision fixes)
- Bestiary: ~70 files (8 collision fixes)
- Statuses: ~15 files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 11:04:10 -06:00

155 lines
4.1 KiB
JSON
Executable File

{
"_id": "vgbdClsvanguard0",
"_key": "!items!vgbdClsvanguard0",
"name": "Vanguard",
"type": "class",
"img": "icons/svg/shield.svg",
"system": {
"description": "<p>Terrifying sentinels of heavy metal armor that use shields to devastate Enemies. Vanguards are mobile bastions of fortitude and might.</p>",
"keyStat": "might",
"actionStyle": "attack",
"zone": "frontline",
"weaponTraining": ["melee"],
"skillTraining": [
{
"type": "fixed",
"skills": ["brawl"],
"count": 1
},
{
"type": "choice",
"skills": ["detect", "leadership", "medicine", "survival"],
"count": 3
}
],
"trainedSkills": [],
"startingPack": "<p>Sentinel</p>",
"isCaster": false,
"progression": [
{
"level": 1,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Stalwart", "Guard"]
},
{
"level": 2,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Rampant Charge"]
},
{
"level": 3,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Perk"]
},
{
"level": 4,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Wall"]
},
{
"level": 5,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Perk"]
},
{
"level": 6,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Unstoppable"]
},
{
"level": 7,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Perk"]
},
{
"level": 8,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Wall II"]
},
{
"level": 9,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Perk"]
},
{
"level": 10,
"mana": 0,
"castingMax": 0,
"spellsKnown": 0,
"features": ["Indestructible"]
}
],
"features": [
{
"name": "Stalwart",
"level": 1,
"description": "<p>You gain the <strong>Protector Perk</strong> and, when you take the Hold Action, you can use the held Action or Move as late as the end of your next Turn.</p>",
"passive": true,
"changes": []
},
{
"name": "Guard",
"level": 1,
"description": "<p>Once per Round, you can try to Shove a Close Target (no Action) when they become Close to you, or if you successfully Block their Attack.</p>",
"passive": true,
"changes": []
},
{
"name": "Rampant Charge",
"level": 2,
"description": "<p>You can push Targets you Shove ahead of you while you Move during the same Turn, shoving it Prone when you stop or push it into an occupied space. If you push it into an occupied space, it deals your weapon's damage to the Target and whatever occupied the space.</p>",
"passive": true,
"changes": []
},
{
"name": "Wall",
"level": 4,
"description": "<p>You are considered Large for Shoves.</p>",
"passive": true,
"changes": []
},
{
"name": "Unstoppable",
"level": 6,
"description": "<p>If you use Rampant Charge and push a Being into another Being, you can make another shove attempt to push the additional Being ahead of you as well.</p>",
"passive": true,
"changes": []
},
{
"name": "Wall II",
"level": 8,
"description": "<p>You are now considered Huge for Shoves.</p>",
"passive": true,
"changes": []
},
{
"name": "Indestructible",
"level": 10,
"description": "<p>While you aren't Incapacitated and have an Armor Rating of 1 or more, you are Immune to Physical damage.</p>",
"passive": true,
"changes": []
}
],
"customResource": {}
},
"reviewed": true
}