Add complete spells compendium (58 spells)
- Create all 58 spell JSON files with correct data model structure - Validate all spells against NoteDiscovery source content - Include damage types, effects, crit effects, delivery types, duration types - Add validation script for future compendium verification - All spells marked as reviewed after human approval Spells by damage type: - Fire: Apoplex, Burn, Erupt, Light - Cold: Fog, Freeze, Frostburn, Moon - Shock: Disintegrate, Zap - Acid: Enflesh, Goop, Rust - Poison: Gas, Leech - Blunt: Kinesis, Terraform - None: 41 utility/buff/control spells 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
fa71f3b985
commit
18df9e4395
@ -766,7 +766,7 @@
|
||||
"id": "6.2",
|
||||
"name": "Populate Ancestries compendium",
|
||||
"description": "Human, Dwarf, Elf, Halfling, Draken, Goblin, Orc with full traits",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "high",
|
||||
"dependencies": ["6.1", "1.7"]
|
||||
@ -775,7 +775,7 @@
|
||||
"id": "6.3",
|
||||
"name": "Populate Classes compendium",
|
||||
"description": "All 18 classes with complete progression tables and features",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "high",
|
||||
"dependencies": ["6.1", "1.8"]
|
||||
@ -845,37 +845,41 @@
|
||||
"id": "7.1",
|
||||
"name": "Create Skill Check dialog",
|
||||
"description": "Select skill, show difficulty/crit threshold, favor/hinder toggles, situational modifier input",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "critical",
|
||||
"dependencies": ["2.5"]
|
||||
"dependencies": ["2.5"],
|
||||
"notes": "skill-check-dialog.mjs and templates/chat/skill-roll.hbs exist"
|
||||
},
|
||||
{
|
||||
"id": "7.2",
|
||||
"name": "Create Attack Roll dialog",
|
||||
"description": "Weapon selection, attack skill, favor/hinder, show crit threshold, target selection",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "critical",
|
||||
"dependencies": ["2.6"]
|
||||
"dependencies": ["2.6"],
|
||||
"notes": "attack-roll-dialog.mjs and templates/chat/attack-roll.hbs exist"
|
||||
},
|
||||
{
|
||||
"id": "7.3",
|
||||
"name": "Create Save Roll dialog",
|
||||
"description": "Save type selection (or auto from context), Block/Dodge choice for defense, favor/hinder",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "critical",
|
||||
"dependencies": ["2.7"]
|
||||
"dependencies": ["2.7"],
|
||||
"notes": "save-roll-dialog.mjs and templates/chat/save-roll.hbs exist"
|
||||
},
|
||||
{
|
||||
"id": "7.4",
|
||||
"name": "Create Spell Cast dialog",
|
||||
"description": "Damage dice selector (+Mana), delivery type dropdown with cost display, duration selector, total mana cost, cast skill",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "critical",
|
||||
"dependencies": ["2.8"]
|
||||
"dependencies": ["2.8"],
|
||||
"notes": "spell-cast-dialog.mjs and templates/chat/spell-cast.hbs exist"
|
||||
},
|
||||
{
|
||||
"id": "7.5",
|
||||
@ -890,19 +894,21 @@
|
||||
"id": "7.6",
|
||||
"name": "Create roll result chat cards",
|
||||
"description": "Rich chat output: roll formula, result, success/fail/crit indicator, damage if applicable",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "high",
|
||||
"dependencies": ["2.4"]
|
||||
"dependencies": ["2.4"],
|
||||
"notes": "Chat card templates exist for all roll types"
|
||||
},
|
||||
{
|
||||
"id": "7.7",
|
||||
"name": "Create spell cast chat cards",
|
||||
"description": "Spell name, effect description, mana spent, damage if applicable, duration/focus indicator",
|
||||
"completed": false,
|
||||
"completed": true,
|
||||
"tested": false,
|
||||
"priority": "high",
|
||||
"dependencies": ["2.8", "7.6"]
|
||||
"dependencies": ["2.8", "7.6"],
|
||||
"notes": "templates/chat/spell-cast.hbs exists"
|
||||
},
|
||||
{
|
||||
"id": "7.8",
|
||||
@ -1257,7 +1263,7 @@
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"total_tasks": 116,
|
||||
"total_tasks": 124,
|
||||
"phases": 12,
|
||||
"critical_path": [
|
||||
"0.1 -> 1.1 -> 2.1 -> 2.2 -> 3.1 -> 3.2 -> 7.1 -> 9.2",
|
||||
|
||||
35
packs/_source/spells/amplify.json
Normal file
35
packs/_source/spells/amplify.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellAmplify",
|
||||
"_key": "!items!vagabondSpellAmplify",
|
||||
"name": "Amplify",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Any sound from the Target is amplified tenfold for the duration. During this time, Targets can't surprise others and all Checks to find them based on the sounds they make are Favored.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Any sound from the Target is amplified tenfold for the duration. During this time, Targets can't surprise others and all Checks to find them based on the sounds they make are Favored.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/animate.json
Normal file
35
packs/_source/spells/animate.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellAnimate",
|
||||
"_key": "!items!vagabondSpellAnimate",
|
||||
"name": "Animate",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You animate an Item that occupies no more than 1 Slot in the Area or carried by the Target. For the duration, the Item gains a Speed of 30' (Fly), and uses the Object Armor & HP rules for its Stats. It obeys your commands, which you can issue when you Focus on this Spell. If it is a Weapon, it can make Attacks using your Cast Skill.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You animate an Item that occupies no more than 1 Slot in the Area or carried by the Target. For the duration, the Item gains a Speed of 30' (Fly), and uses the Object Armor & HP rules for its Stats. It obeys your commands, which you can issue when you Focus on this Spell. If it is a Weapon, it can make Attacks using your Cast Skill.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/apoplex.json
Normal file
35
packs/_source/spells/apoplex.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellApoplex",
|
||||
"_key": "!items!vagabondSpellApoplex",
|
||||
"name": "Apoplex",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Berserked for the duration.</p>",
|
||||
"damageType": "fire",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Berserked for the duration.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/aqua.json
Normal file
35
packs/_source/spells/aqua.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellAqua",
|
||||
"_key": "!items!vagabondSpellAqua",
|
||||
"name": "Aqua",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>This Spell can create and destroy fresh water in the following ways:</p><ul><li><strong>Area:</strong> The space within is emptied or filled with water. If the Area is occupied by a Being, this requires a Cast Check. You choose if this water remains or dries up after the duration.</li><li><strong>Target:</strong> This can push an Item that occupies 1 or less Slots, or a Being with Level or HD 1 or lower. You can increase this number by spending additional Mana on the Cast, increasing it by 1 per Mana spent to do so.</li><li><strong>Distance:</strong> This pushes the Target 5', and you can increase the distance pushed by spending Mana, increasing the distance by 5' per Mana spent to do so.</li></ul>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>This Spell can create and destroy fresh water in the following ways:</p><ul><li><strong>Area:</strong> The space within is emptied or filled with water. If the Area is occupied by a Being, this requires a Cast Check. You choose if this water remains or dries up after the duration.</li><li><strong>Target:</strong> This can push an Item that occupies 1 or less Slots, or a Being with Level or HD 1 or lower. You can increase this number by spending additional Mana on the Cast, increasing it by 1 per Mana spent to do so.</li><li><strong>Distance:</strong> This pushes the Target 5', and you can increase the distance pushed by spending Mana, increasing the distance by 5' per Mana spent to do so.</li></ul>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/babble.json
Normal file
35
packs/_source/spells/babble.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellBabble",
|
||||
"_key": "!items!vagabondSpellBabble",
|
||||
"name": "Babble",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>When the Check passes, and each time you Focus on the Cast for the duration, you can cause the Target to loudly and coherently repeat everything you mentally command them to. They are otherwise mute.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>When the Check passes, and each time you Focus on the Cast for the duration, you can cause the Target to loudly and coherently repeat everything you mentally command them to. They are otherwise mute.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/beast.json
Normal file
35
packs/_source/spells/beast.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellBeast",
|
||||
"_key": "!items!vagabondSpellBeast",
|
||||
"name": "Beast",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You call forth a Beast or Beasts that can fit in the Area or nearest open space to the Target. They remain for the duration and can have a cumulative HD total count no higher than half your Level (minimum 1).</p><p>You must spend 1 Mana each Turn you Focus on this Spell after the Casting. You can choose to let the Beasts act independently, or to command them when you Focus. They use your Cast Skill for any Check they make.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You call forth a Beast or Beasts that can fit in the Area or nearest open space to the Target. They remain for the duration and can have a cumulative HD total count no higher than half your Level (minimum 1).</p><p>You must spend 1 Mana each Turn you Focus on this Spell after the Casting. You can choose to let the Beasts act independently, or to command them when you Focus. They use your Cast Skill for any Check they make.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/bless.json
Normal file
35
packs/_source/spells/bless.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellBless",
|
||||
"_key": "!items!vagabondSpellBless",
|
||||
"name": "Bless",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>For the duration, Targeted Objects count as Silvered, and Targeted Beings of your choice have a d4 bonus to Saves.</p><p>Further, if the Target is freestanding water, it permanently becomes holy water.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>For the duration, Targeted Objects count as Silvered, and Targeted Beings of your choice have a d4 bonus to Saves.</p><p>Further, if the Target is freestanding water, it permanently becomes holy water.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/blink.json
Normal file
35
packs/_source/spells/blink.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellBlink",
|
||||
"_key": "!items!vagabondSpellBlink",
|
||||
"name": "Blink",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target can skip their Move to teleport to an empty space they can see within Near. They can teleport through space occupied by other Beings, but can't teleport through spaces they couldn't otherwise Move through.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target can skip their Move to teleport to an empty space they can see within Near. They can teleport through space occupied by other Beings, but can't teleport through spaces they couldn't otherwise Move through.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/burn.json
Normal file
35
packs/_source/spells/burn.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellBurn",
|
||||
"_key": "!items!vagabondSpellBurn",
|
||||
"name": "Burn",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Target isn't immune to Fire, they are Burning (Cd4, or until it is doused). This Burning Status does not require Focus.</p>",
|
||||
"damageType": "fire",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Target isn't immune to Fire, they are Burning (Cd4, or until it is doused). This Burning Status does not require Focus.</p>",
|
||||
"critEffect": "<p>The Cd4 instead starts at a Cd6.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/charm.json
Normal file
35
packs/_source/spells/charm.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellCharm",
|
||||
"_key": "!items!vagabondSpellCharm",
|
||||
"name": "Charm",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Enthrallment keeps the Target Charmed for the duration, ending early if it takes damage or if you Cast this Spell again.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Enthrallment keeps the Target Charmed for the duration, ending early if it takes damage or if you Cast this Spell again.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/color.json
Normal file
35
packs/_source/spells/color.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellColor",
|
||||
"_key": "!items!vagabondSpellColor",
|
||||
"name": "Color",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>For the duration, Targeted Beings are Blinded and Objects are changed in color.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>For the duration, Targeted Beings are Blinded and Objects are changed in color.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/confuse.json
Normal file
35
packs/_source/spells/confuse.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellConfuse",
|
||||
"_key": "!items!vagabondSpellConfuse",
|
||||
"name": "Confuse",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Confused for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Confused for the duration.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/control.json
Normal file
35
packs/_source/spells/control.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellControl",
|
||||
"_key": "!items!vagabondSpellControl",
|
||||
"name": "Control",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Targeted Objects can be manipulated in small ways, such as flipping a lever or tipping a glass over. This magic can't lift an Object.</p><p>Targeted Beings become Charmed and obey your commands for the duration. This Spell automatically fails if the Target's Level or HD are equal to or higher than your Level, and it automatically ends if you command it to cause harm to itself.</p><p>You can spend Mana to increase your effective Level for the Casting by 1 per Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Targeted Objects can be manipulated in small ways, such as flipping a lever or tipping a glass over. This magic can't lift an Object.</p><p>Targeted Beings become Charmed and obey your commands for the duration. This Spell automatically fails if the Target's Level or HD are equal to or higher than your Level, and it automatically ends if you command it to cause harm to itself.</p><p>You can spend Mana to increase your effective Level for the Casting by 1 per Mana spent to do so.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/cure.json
Normal file
35
packs/_source/spells/cure.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellCure",
|
||||
"_key": "!items!vagabondSpellCure",
|
||||
"name": "Cure",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Target is Blinded or Sickened, the Status ends and they are immune to these Statuses for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Target is Blinded or Sickened, the Status ends and they are immune to these Statuses for the duration.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/disintegrate.json
Normal file
35
packs/_source/spells/disintegrate.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellDisintegrate",
|
||||
"_key": "!items!vagabondSpellDisintegrate",
|
||||
"name": "Disintegrate",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>A nonmagical, non-metal Target of 1 or fewer Slots is destroyed. The Slots of the Target can increase by spending Mana, increasing by 1 per Mana spent to do so. Any Target that is reduced to 0 HP or destroyed by this Spell is reduced to ash.</p>",
|
||||
"damageType": "shock",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>A nonmagical, non-metal Target of 1 or fewer Slots is destroyed. The Slots of the Target can increase by spending Mana, increasing by 1 per Mana spent to do so. Any Target that is reduced to 0 HP or destroyed by this Spell is reduced to ash.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/dispel.json
Normal file
35
packs/_source/spells/dispel.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellDispel",
|
||||
"_key": "!items!vagabondSpellDispel",
|
||||
"name": "Dispel",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You suspend a magic effect for the duration, treating it as an unwilling Target.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You suspend a magic effect for the duration, treating it as an unwilling Target.</p>",
|
||||
"critEffect": "<p>The effect is completely dispelled if it is not a Relic's Power.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/enchant.json
Normal file
35
packs/_source/spells/enchant.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellEnchant",
|
||||
"_key": "!items!vagabondSpellEnchant",
|
||||
"name": "Enchant",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>An Item that is a Target or equipped by the Target is considered a Relic for the duration. Additionally, you can grant the Item the Relic Power of Bonus for this time by spending additional Mana per Item granted this Power when you Cast this Spell:</p><ul><li>+1 Bonus: 5 Mana</li><li>+2 Bonus: 10 Mana</li><li>+3 Bonus: 15 Mana</li></ul>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>An Item that is a Target or equipped by the Target is considered a Relic for the duration. Additionally, you can grant the Item the Relic Power of Bonus for this time by spending additional Mana per Item granted this Power when you Cast this Spell:</p><ul><li>+1 Bonus: 5 Mana</li><li>+2 Bonus: 10 Mana</li><li>+3 Bonus: 15 Mana</li></ul>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/enflesh.json
Normal file
35
packs/_source/spells/enflesh.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellEnflesh",
|
||||
"_key": "!items!vagabondSpellEnflesh",
|
||||
"name": "Enflesh",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Targeted, non-Relic fabric, stone, metal, or wood is turned to hair, tissue, and bone for the duration. Alternatively, if the Target is turned to stone through a curse or magic, the effect ends.</p>",
|
||||
"damageType": "acid",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Targeted, non-Relic fabric, stone, metal, or wood is turned to hair, tissue, and bone for the duration. Alternatively, if the Target is turned to stone through a curse or magic, the effect ends.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/erupt.json
Normal file
35
packs/_source/spells/erupt.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellErupt",
|
||||
"_key": "!items!vagabondSpellErupt",
|
||||
"name": "Erupt",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Magma coats the nearest surface to the Target for the duration (minimum 5-foot square), causing it to be Difficult Terrain that deals d6 first time a Being enters the Area on a Turn and when it ends its Turn in the Area.</p>",
|
||||
"damageType": "fire",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Magma coats the nearest surface to the Target for the duration (minimum 5-foot square), causing it to be Difficult Terrain that deals d6 first time a Being enters the Area on a Turn and when it ends its Turn in the Area.</p>",
|
||||
"critEffect": "<p>Targets Burning (Cd4 while in the Area).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/exalt.json
Normal file
35
packs/_source/spells/exalt.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellExalt",
|
||||
"_key": "!items!vagabondSpellExalt",
|
||||
"name": "Exalt",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Targets gain a +1 bonus to each damage die they deal and to Will Saves against Frightened. This bonus is doubled if a Hellspawn or Undead is the attack's Target or the one forcing the Save.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Targets gain a +1 bonus to each damage die they deal and to Will Saves against Frightened. This bonus is doubled if a Hellspawn or Undead is the attack's Target or the one forcing the Save.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/fade.json
Normal file
35
packs/_source/spells/fade.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellFade",
|
||||
"_key": "!items!vagabondSpellFade",
|
||||
"name": "Fade",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Invisible for the duration, ending early if they use an Action.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Invisible for the duration, ending early if they use an Action.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/fear.json
Normal file
35
packs/_source/spells/fear.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellFear",
|
||||
"_key": "!items!vagabondSpellFear",
|
||||
"name": "Fear",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Frightened of another visible Target you choose for the duration, ending early if you Cast this Spell again.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Frightened of another visible Target you choose for the duration, ending early if you Cast this Spell again.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/fog.json
Normal file
35
packs/_source/spells/fog.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellFog",
|
||||
"_key": "!items!vagabondSpellFog",
|
||||
"name": "Fog",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Caster creates a cloud that obscures an Area equal to the size of the delivery (minimum 5-foot cube). It Hinders Checks relying on sight of a Target within the fog and as if Vulnerable if they are Attack Checks or Saves.</p>",
|
||||
"damageType": "cold",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Caster creates a cloud that obscures an Area equal to the size of the delivery (minimum 5-foot cube). It Hinders Checks relying on sight of a Target within the fog and as if Vulnerable if they are Attack Checks or Saves.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/forge.json
Normal file
35
packs/_source/spells/forge.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellForge",
|
||||
"_key": "!items!vagabondSpellForge",
|
||||
"name": "Forge",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You materialize an Item of 1 Slot or less worth no more than 1g either in an unoccupied space near the Target, worn by the Target, or one Item per 5-foot-cube within the Target area. This magic can create a solid Item made of either copper, iron, glass, stone, or wood. For example, this could create an iron flagon, but not a flagon of ale. If you Target yourself with this Spell, you can Equip the Item when it is created (no Action). Doing so can't cause an Equipped Item to become unequipped. The Item is usable as a physical copy for the duration, then disappears.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You materialize an Item of 1 Slot or less worth no more than 1g either in an unoccupied space near the Target, worn by the Target, or one Item per 5-foot-cube within the Target area. This magic can create a solid Item made of either copper, iron, glass, stone, or wood. For example, this could create an iron flagon, but not a flagon of ale. If you Target yourself with this Spell, you can Equip the Item when it is created (no Action). Doing so can't cause an Equipped Item to become unequipped. The Item is usable as a physical copy for the duration, then disappears.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/freeze.json
Normal file
35
packs/_source/spells/freeze.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellFreeze",
|
||||
"_key": "!items!vagabondSpellFreeze",
|
||||
"name": "Freeze",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Any freestanding water in the Area is frozen. If the Target is a Being, its Speed is reduced by 10'. Alternatively, you can create an Object made of ice that can fit within the Area, and is of a shape of your choice (such as an icicle dagger or a block of ice). If needed, the Object has HD: 1 (4 HP) and is Weak: Fire.</p><p>Any of these effects last for the duration.</p>",
|
||||
"damageType": "cold",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Any freestanding water in the Area is frozen. If the Target is a Being, its Speed is reduced by 10'. Alternatively, you can create an Object made of ice that can fit within the Area, and is of a shape of your choice (such as an icicle dagger or a block of ice). If needed, the Object has HD: 1 (4 HP) and is Weak: Fire.</p><p>Any of these effects last for the duration.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/frostburn.json
Normal file
35
packs/_source/spells/frostburn.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellFrostburn",
|
||||
"_key": "!items!vagabondSpellFrostburn",
|
||||
"name": "Frostburn",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Target isn't Immune to Cold, they are Burning (d4, Speed reduced by 10') for the duration, ending early if they take damage from fire or heat.</p>",
|
||||
"damageType": "cold",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Target isn't Immune to Cold, they are Burning (d4, Speed reduced by 10') for the duration, ending early if they take damage from fire or heat.</p>",
|
||||
"critEffect": "<p>Target is instead Burning (d6).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/gas.json
Normal file
35
packs/_source/spells/gas.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellGas",
|
||||
"_key": "!items!vagabondSpellGas",
|
||||
"name": "Gas",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You create a cloud of gas in an Area equal to the size of the delivery (minimum 5-foot cube). Targets act as Sickened (Vulnerable) while in the Area.</p>",
|
||||
"damageType": "poison",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You create a cloud of gas in an Area equal to the size of the delivery (minimum 5-foot cube). Targets act as Sickened (Vulnerable) while in the Area.</p>",
|
||||
"critEffect": "<p>The effect lasts 1 Hour, but can be dispersed by strong winds.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/goop.json
Normal file
35
packs/_source/spells/goop.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellGoop",
|
||||
"_key": "!items!vagabondSpellGoop",
|
||||
"name": "Goop",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>A glob of sticky, acidic sludge coats the nearest surface to the Target (minimum 5-foot square) for the duration, causing it to be Difficult Terrain.</p><p>If also Cast to deal damage, the caustic acid causes those in the Area to be Burning (d6).</p>",
|
||||
"damageType": "acid",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>A glob of sticky, acidic sludge coats the nearest surface to the Target (minimum 5-foot square) for the duration, causing it to be Difficult Terrain.</p><p>If also Cast to deal damage, the caustic acid causes those in the Area to be Burning (d6).</p>",
|
||||
"critEffect": "<p>Targets in the Area are also Restrained.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/guide.json
Normal file
35
packs/_source/spells/guide.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellGuide",
|
||||
"_key": "!items!vagabondSpellGuide",
|
||||
"name": "Guide",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Checks that rely on sight made against the Target have Favor for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Checks that rely on sight made against the Target have Favor for the duration.</p>",
|
||||
"critEffect": "<p>Duration is 1 minute (no Focus required).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/gust.json
Normal file
35
packs/_source/spells/gust.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellGust",
|
||||
"_key": "!items!vagabondSpellGust",
|
||||
"name": "Gust",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is blasted with a wind shear in the following ways:</p><ul><li><strong>Feather:</strong> If Cast on a falling Target, this blast can slow the descent of a falling Medium or smaller Target to a safe Speed for the duration.</li><li><strong>Target:</strong> This can push an Item that occupies 1 or less Slots, or a Being with Level or HD 1 or lower. You can increase this number by spending additional Mana on the Cast, increasing it by 1 per Mana spent to do so.</li><li><strong>Distance:</strong> This pushes the Target 5', and you can increase the distance pushed by spending Mana, increasing the distance by 5' per Mana spent to do so.</li></ul>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is blasted with a wind shear in the following ways:</p><ul><li><strong>Feather:</strong> If Cast on a falling Target, this blast can slow the descent of a falling Medium or smaller Target to a safe Speed for the duration.</li><li><strong>Target:</strong> This can push an Item that occupies 1 or less Slots, or a Being with Level or HD 1 or lower. You can increase this number by spending additional Mana on the Cast, increasing it by 1 per Mana spent to do so.</li><li><strong>Distance:</strong> This pushes the Target 5', and you can increase the distance pushed by spending Mana, increasing the distance by 5' per Mana spent to do so.</li></ul>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/hold.json
Normal file
35
packs/_source/spells/hold.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellHold",
|
||||
"_key": "!items!vagabondSpellHold",
|
||||
"name": "Hold",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Paralyzed for the duration if its HD or Level is equal to or lower than your Level. You can spend Mana to increase your Level for the purposes of this casting by 1 per Mana spent to do so.</p><p>If the Target is an Object, it becomes secured and effectively locked if it is a door, chest, or other means of preventing entry. You must pass a Cast Check any time an attempt is made to manipulate the secured Object to maintain the Focus.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Paralyzed for the duration if its HD or Level is equal to or lower than your Level. You can spend Mana to increase your Level for the purposes of this casting by 1 per Mana spent to do so.</p><p>If the Target is an Object, it becomes secured and effectively locked if it is a door, chest, or other means of preventing entry. You must pass a Cast Check any time an attempt is made to manipulate the secured Object to maintain the Focus.</p>",
|
||||
"critEffect": "<p>Duration is 1 minute (no Focus required).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/hymn.json
Normal file
35
packs/_source/spells/hymn.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellHymn",
|
||||
"_key": "!items!vagabondSpellHymn",
|
||||
"name": "Hymn",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Target is Berserk, Charmed, Confused, or Frightened, the Status ends and they are Immune to these Statuses for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Target is Berserk, Charmed, Confused, or Frightened, the Status ends and they are Immune to these Statuses for the duration.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/junk.json
Normal file
35
packs/_source/spells/junk.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellJunk",
|
||||
"_key": "!items!vagabondSpellJunk",
|
||||
"name": "Junk",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You create an Item worth no more than 5s and of 1 Slot or less that fits in the Area of the delivery, in a willing Target's hand, or in the nearest open space to the Target. This Item lacks fine detail and specificity. For example, it could create a key but not the key for a jail cell you are in.</p><p>This Spell does not require Focus to keep the Item materialized, but the Item disappears when you Cast this Spell again, or dismiss it (no Action required). You can spend additional Mana during the Cast to increase the number of Items created by one per additional Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You create an Item worth no more than 5s and of 1 Slot or less that fits in the Area of the delivery, in a willing Target's hand, or in the nearest open space to the Target. This Item lacks fine detail and specificity. For example, it could create a key but not the key for a jail cell you are in.</p><p>This Spell does not require Focus to keep the Item materialized, but the Item disappears when you Cast this Spell again, or dismiss it (no Action required). You can spend additional Mana during the Cast to increase the number of Items created by one per additional Mana spent to do so.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/kinesis.json
Normal file
35
packs/_source/spells/kinesis.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellKinesis",
|
||||
"_key": "!items!vagabondSpellKinesis",
|
||||
"name": "Kinesis",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You shoot an unsecured Target of 1 or less HD or Slots at a Target you can see within Near. If it strikes a Target, it hits them harmlessly unless this is Cast to deal damage.</p><p>You can spend Mana to increase the Targetable HD or Slots by 1 per Mana spent to do so for that Casting.</p>",
|
||||
"damageType": "blunt",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You shoot an unsecured Target of 1 or less HD or Slots at a Target you can see within Near. If it strikes a Target, it hits them harmlessly unless this is Cast to deal damage.</p><p>You can spend Mana to increase the Targetable HD or Slots by 1 per Mana spent to do so for that Casting.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/knock.json
Normal file
35
packs/_source/spells/knock.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellKnock",
|
||||
"_key": "!items!vagabondSpellKnock",
|
||||
"name": "Knock",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Opens barred, locked, or stuck chests, doors, and gates that you can sense. It does so with an audible knock that can be heard out to 300 feet. This affects secret and magic locks and doors, but you must be aware of them to affect them.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Opens barred, locked, or stuck chests, doors, and gates that you can sense. It does so with an audible knock that can be heard out to 300 feet. This affects secret and magic locks and doors, but you must be aware of them to affect them.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/leech.json
Normal file
35
packs/_source/spells/leech.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellLeech",
|
||||
"_key": "!items!vagabondSpellLeech",
|
||||
"name": "Leech",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Sickened for the duration. While Sickened this way, any healing that affects it instead heals you. Any subsequent Castings of this Spell that damage the Sickened Target also heals you for the damage dealt.</p>",
|
||||
"damageType": "poison",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Sickened for the duration. While Sickened this way, any healing that affects it instead heals you. Any subsequent Castings of this Spell that damage the Sickened Target also heals you for the damage dealt.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/levitate.json
Normal file
35
packs/_source/spells/levitate.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellLevitate",
|
||||
"_key": "!items!vagabondSpellLevitate",
|
||||
"name": "Levitate",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target flutters up to 1 foot in the air if they have solid ground below them for the duration. The Target can still Move in the air as if walking. If the Target is a secured Object or an Item that occupies more than 2 Slots, it is unaffected.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target flutters up to 1 foot in the air if they have solid ground below them for the duration. The Target can still Move in the air as if walking. If the Target is a secured Object or an Item that occupies more than 2 Slots, it is unaffected.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/life.json
Normal file
35
packs/_source/spells/life.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellLife",
|
||||
"_key": "!items!vagabondSpellLife",
|
||||
"name": "Life",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You revive a Target that died from damage in the last Round, restoring it with 1 HP and giving it 1 Fatigue. This Spell does not regenerate missing body parts.</p><p>In addition, you can spend Mana with this Spell to heal a Target for d6 HP per Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You revive a Target that died from damage in the last Round, restoring it with 1 HP and giving it 1 Fatigue. This Spell does not regenerate missing body parts.</p><p>In addition, you can spend Mana with this Spell to heal a Target for d6 HP per Mana spent to do so.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/light.json
Normal file
35
packs/_source/spells/light.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellLight",
|
||||
"_key": "!items!vagabondSpellLight",
|
||||
"name": "Light",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target sheds Light out to Near for the duration. You can choose to do so by creating a floating mote of light that follows the Target.</p>",
|
||||
"damageType": "fire",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target sheds Light out to Near for the duration. You can choose to do so by creating a floating mote of light that follows the Target.</p>",
|
||||
"critEffect": "<p>Beings of your choice within the Light when you Cast the Spell are Blinded (Cd4).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/mend.json
Normal file
35
packs/_source/spells/mend.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellMend",
|
||||
"_key": "!items!vagabondSpellMend",
|
||||
"name": "Mend",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Targeted non-Relic Objects in the Area are repaired on your Turns for the duration, if you can provide 5s of Material per d8 HP or 1 Slot of Items repaired. This Spell can reassemble a broken Item if the pieces of it are held together during the Casting. This Spell also functions as a Life Spell, but only for Artificials.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Targeted non-Relic Objects in the Area are repaired on your Turns for the duration, if you can provide 5s of Material per d8 HP or 1 Slot of Items repaired. This Spell can reassemble a broken Item if the pieces of it are held together during the Casting. This Spell also functions as a Life Spell, but only for Artificials.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/mirage.json
Normal file
35
packs/_source/spells/mirage.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellMirage",
|
||||
"_key": "!items!vagabondSpellMirage",
|
||||
"name": "Mirage",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You create an illusionary Object or effect which fits either within the Area, or on the Target for the duration. The Object isn't tangible form and can't deal damage. However, its appearance, movement, and sound it produces are up to you. If any action is taken to investigate the Object, make a Cast Check to determine the outcome. When you Focus on it, you can change any of these aspects of the illusion.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You create an illusionary Object or effect which fits either within the Area, or on the Target for the duration. The Object isn't tangible form and can't deal damage. However, its appearance, movement, and sound it produces are up to you. If any action is taken to investigate the Object, make a Cast Check to determine the outcome. When you Focus on it, you can change any of these aspects of the illusion.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/moon.json
Normal file
35
packs/_source/spells/moon.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellMoon",
|
||||
"_key": "!items!vagabondSpellMoon",
|
||||
"name": "Moon",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target sheds Moonlight out to Near for the duration. Shapechangers are Burning (d6) while illuminated by this Moonlight.</p>",
|
||||
"damageType": "cold",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target sheds Moonlight out to Near for the duration. Shapechangers are Burning (d6) while illuminated by this Moonlight.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/morph.json
Normal file
35
packs/_source/spells/morph.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellMorph",
|
||||
"_key": "!items!vagabondSpellMorph",
|
||||
"name": "Morph",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>For the duration, the Target's body is altered in an illusionary manner. This magic is powerful enough to make them seem like a Being of the same Size and Being Type that has the same configuration of limbs and appendages (such as a Human appearing as a Dwarf, but not a horse).</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>For the duration, the Target's body is altered in an illusionary manner. This magic is powerful enough to make them seem like a Being of the same Size and Being Type that has the same configuration of limbs and appendages (such as a Human appearing as a Dwarf, but not a horse).</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/mute.json
Normal file
35
packs/_source/spells/mute.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellMute",
|
||||
"_key": "!items!vagabondSpellMute",
|
||||
"name": "Mute",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Sound can't be heard from the Target for the duration, ending early if you Cast this again.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Sound can't be heard from the Target for the duration, ending early if you Cast this again.</p>",
|
||||
"critEffect": "<p>Duration is continual.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/polymorph.json
Normal file
35
packs/_source/spells/polymorph.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellPolymorph",
|
||||
"_key": "!items!vagabondSpellPolymorph",
|
||||
"name": "Polymorph",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target becomes a Beast of your choice with HD no higher than your Level for the duration. If the Target is unwilling and its HD are higher than your Level, the Spell fails. During this time, the Target uses:</p><ul><li>The Beast's Speed, Passives, Senses, Armor, Immune, Weak, Actions, and Abilities.</li><li>The Target's HP and, if possible, its Actions and Abilities.</li></ul><p>You must spend 1 Mana on your Turns to Focus on this Spell, even for willing Targets.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target becomes a Beast of your choice with HD no higher than your Level for the duration. If the Target is unwilling and its HD are higher than your Level, the Spell fails. During this time, the Target uses:</p><ul><li>The Beast's Speed, Passives, Senses, Armor, Immune, Weak, Actions, and Abilities.</li><li>The Target's HP and, if possible, its Actions and Abilities.</li></ul><p>You must spend 1 Mana on your Turns to Focus on this Spell, even for willing Targets.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/portal.json
Normal file
35
packs/_source/spells/portal.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellPortal",
|
||||
"_key": "!items!vagabondSpellPortal",
|
||||
"name": "Portal",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You create a portal on a surface that fits within the Area (minimum 5-foot square), and a second portal of the same size on a surface Near that portal. The portals remain for the duration and can teleport anything smaller than it to an open Close space at the other portal's location. Unsecured Objects don't cost Mana to teleport, but Beings cost 1 Mana. If the Being is unwilling, it also requires a passed Cast Check to teleport it.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You create a portal on a surface that fits within the Area (minimum 5-foot square), and a second portal of the same size on a surface Near that portal. The portals remain for the duration and can teleport anything smaller than it to an open Close space at the other portal's location. Unsecured Objects don't cost Mana to teleport, but Beings cost 1 Mana. If the Being is unwilling, it also requires a passed Cast Check to teleport it.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/raise.json
Normal file
35
packs/_source/spells/raise.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellRaise",
|
||||
"_key": "!items!vagabondSpellRaise",
|
||||
"name": "Raise",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Corpses in the Area of non-Artificial or Undead Beings with cumulative HD no higher than your Level rise as an Undead under your control for the duration. Afterward, any Undead you raised this way die and can't be raised by this Spell again. You can command your raised Undead when you Focus on this Cast, using your Cast Skill for Checks they make. The Undead you raise this way use their original statblock with the following changes:</p><ul><li>It is an Undead</li><li>It has Darksight, is Immune to Poison, Weak to Silvered Weapons, and can't be Sickened.</li></ul>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Corpses in the Area of non-Artificial or Undead Beings with cumulative HD no higher than your Level rise as an Undead under your control for the duration. Afterward, any Undead you raised this way die and can't be raised by this Spell again. You can command your raised Undead when you Focus on this Cast, using your Cast Skill for Checks they make. The Undead you raise this way use their original statblock with the following changes:</p><ul><li>It is an Undead</li><li>It has Darksight, is Immune to Poison, Weak to Silvered Weapons, and can't be Sickened.</li></ul>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/rust.json
Normal file
35
packs/_source/spells/rust.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellRust",
|
||||
"_key": "!items!vagabondSpellRust",
|
||||
"name": "Rust",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>Non-Relic metal Objects within the Area rust for the duration. Each Turn when you Focus on this Spell, roll a d6 for each Item. On a roll of 1, the Item breaks. If the Item that breaks is larger than Medium, this creates a 1-foot square hole that is 1-foot deep in it.</p>",
|
||||
"damageType": "acid",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>Non-Relic metal Objects within the Area rust for the duration. Each Turn when you Focus on this Spell, roll a d6 for each Item. On a roll of 1, the Item breaks. If the Item that breaks is larger than Medium, this creates a 1-foot square hole that is 1-foot deep in it.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/shade.json
Normal file
35
packs/_source/spells/shade.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellShade",
|
||||
"_key": "!items!vagabondSpellShade",
|
||||
"name": "Shade",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is surrounded by magic darkness out to Close for the duration, which snuffs out nonmagic lights.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is surrounded by magic darkness out to Close for the duration, which snuffs out nonmagic lights.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/shrink.json
Normal file
35
packs/_source/spells/shrink.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellShrink",
|
||||
"_key": "!items!vagabondSpellShrink",
|
||||
"name": "Shrink",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target's size and damage dice are reduced by one size for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target's size and damage dice are reduced by one size for the duration.</p>",
|
||||
"critEffect": "<p>Duration is 1 minute (no Focus required).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/sleep.json
Normal file
35
packs/_source/spells/sleep.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellSleep",
|
||||
"_key": "!items!vagabondSpellSleep",
|
||||
"name": "Sleep",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Targets have a cumulative HD total equal to (1 + your Level) or lower, they are knocked Unconscious for the duration, ending early if they take damage or are shaken awake.</p><p>You can spend Mana to increase your effective Level for the Casting by 1 per Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Targets have a cumulative HD total equal to (1 + your Level) or lower, they are knocked Unconscious for the duration, ending early if they take damage or are shaken awake.</p><p>You can spend Mana to increase your effective Level for the Casting by 1 per Mana spent to do so.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/speak.json
Normal file
35
packs/_source/spells/speak.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellSpeak",
|
||||
"_key": "!items!vagabondSpellSpeak",
|
||||
"name": "Speak",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is able to speak, understand, and be understood by you. If the Target was not previously capable of speech before gaining the ability to from this Spell, it can't speak through this Spell again after the Cast ends.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is able to speak, understand, and be understood by you. If the Target was not previously capable of speech before gaining the ability to from this Spell, it can't speak through this Spell again after the Cast ends.</p>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/sprout.json
Normal file
35
packs/_source/spells/sprout.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellSprout",
|
||||
"_key": "!items!vagabondSpellSprout",
|
||||
"name": "Sprout",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You create growing plants on the Target, causing Difficult Terrain out to Close from it. Alternatively, you can cause up to a 5-foot-square patch of plants or fungus to magically grow to optimal harvesting and foraging.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You create growing plants on the Target, causing Difficult Terrain out to Close from it. Alternatively, you can cause up to a 5-foot-square patch of plants or fungus to magically grow to optimal harvesting and foraging.</p>",
|
||||
"critEffect": "<p>The Target is Restrained.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/tempo.json
Normal file
35
packs/_source/spells/tempo.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellTempo",
|
||||
"_key": "!items!vagabondSpellTempo",
|
||||
"name": "Tempo",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target's Speed increases or decreases by 5 feet for the duration. The Caster can increase or decrease this amount by 5 feet by spending additional Mana on the Cast for every 1 Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target's Speed increases or decreases by 5 feet for the duration. The Caster can increase or decrease this amount by 5 feet by spending additional Mana on the Cast for every 1 Mana spent to do so.</p>",
|
||||
"critEffect": "<p>Duration is 1 minute (no Focus required).</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/terraform.json
Normal file
35
packs/_source/spells/terraform.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellTerraform",
|
||||
"_key": "!items!vagabondSpellTerraform",
|
||||
"name": "Terraform",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>You manipulate the loose earth or stone around the Target in the following ways:</p><ul><li><strong>Area:</strong> You can manipulate terrain in the Area, either causing it to be Difficult Terrain or a Structure that can fit within the area of effect of the Cast for the duration. This magic can't move any terrain that supports an Object.</li><li><strong>Being or Object:</strong> Close earth or stone is Difficult Terrain for the duration.</li></ul>",
|
||||
"damageType": "blunt",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>You manipulate the loose earth or stone around the Target in the following ways:</p><ul><li><strong>Area:</strong> You can manipulate terrain in the Area, either causing it to be Difficult Terrain or a Structure that can fit within the area of effect of the Cast for the duration. This magic can't move any terrain that supports an Object.</li><li><strong>Being or Object:</strong> Close earth or stone is Difficult Terrain for the duration.</li></ul>",
|
||||
"critEffect": "",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/truth.json
Normal file
35
packs/_source/spells/truth.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellTruth",
|
||||
"_key": "!items!vagabondSpellTruth",
|
||||
"name": "Truth",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target can't lie for the duration.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target can't lie for the duration.</p>",
|
||||
"critEffect": "<p>The Target is compelled to answer any questions when asked.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/ward.json
Normal file
35
packs/_source/spells/ward.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellWard",
|
||||
"_key": "!items!vagabondSpellWard",
|
||||
"name": "Ward",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>If the Target takes damage, make a Cast Check. On a pass, you reduce that damage by d6, and you can spend Mana to reduce it by an additional d6 per Mana spent to do so.</p>",
|
||||
"damageType": "",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>If the Target takes damage, make a Cast Check. On a pass, you reduce that damage by d6, and you can spend Mana to reduce it by an additional d6 per Mana spent to do so.</p>",
|
||||
"critEffect": "<p>The Target takes no damage.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
35
packs/_source/spells/zap.json
Normal file
35
packs/_source/spells/zap.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"_id": "vagabondSpellZap",
|
||||
"_key": "!items!vagabondSpellZap",
|
||||
"name": "Zap",
|
||||
"type": "spell",
|
||||
"img": "icons/svg/lightning.svg",
|
||||
"system": {
|
||||
"description": "<p>The Target is Dazed for the duration if it can be damaged by shocks.</p>",
|
||||
"damageType": "shock",
|
||||
"damageBase": "d6",
|
||||
"maxDice": 0,
|
||||
"effect": "<p>The Target is Dazed for the duration if it can be damaged by shocks.</p>",
|
||||
"critEffect": "<p>The Target is Paralyzed, rather than Dazed, for the duration.</p>",
|
||||
"deliveryTypes": {
|
||||
"touch": true,
|
||||
"remote": true,
|
||||
"imbue": true,
|
||||
"cube": true,
|
||||
"aura": true,
|
||||
"cone": true,
|
||||
"glyph": true,
|
||||
"line": true,
|
||||
"sphere": true
|
||||
},
|
||||
"durationTypes": {
|
||||
"instant": true,
|
||||
"focus": true,
|
||||
"continual": true
|
||||
},
|
||||
"castingSkill": "",
|
||||
"focusing": false,
|
||||
"tags": []
|
||||
},
|
||||
"reviewed": true
|
||||
}
|
||||
203
scripts/validate_spells.py
Normal file
203
scripts/validate_spells.py
Normal file
@ -0,0 +1,203 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Validate generated spell JSONs against NoteDiscovery source."""
|
||||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
def get_source_content():
|
||||
"""Fetch spell source from NoteDiscovery."""
|
||||
result = subprocess.run(
|
||||
['python', 'client.py', 'read', 'gaming/vagabond-rpg/spells-full-text.md'],
|
||||
cwd=os.path.expanduser('~/.claude/skills/notediscovery'),
|
||||
capture_output=True,
|
||||
text=True
|
||||
)
|
||||
data = json.loads(result.stdout)
|
||||
return data['content']
|
||||
|
||||
def parse_source_spells(text):
|
||||
"""Parse source spell data into a dictionary."""
|
||||
spells = {}
|
||||
current_spell = None
|
||||
current_damage = None
|
||||
effect_lines = []
|
||||
crit_lines = []
|
||||
in_crit = False
|
||||
|
||||
for line in text.strip().split('\n'):
|
||||
line = line.rstrip()
|
||||
|
||||
# New spell header
|
||||
if line.startswith('## '):
|
||||
# Save previous spell
|
||||
if current_spell:
|
||||
effect = '\n'.join(effect_lines).strip()
|
||||
crit = '\n'.join(crit_lines).strip()
|
||||
spells[current_spell.lower()] = {
|
||||
'name': current_spell,
|
||||
'damage': current_damage,
|
||||
'effect': effect,
|
||||
'crit': crit
|
||||
}
|
||||
|
||||
current_spell = line[3:].strip()
|
||||
current_damage = None
|
||||
effect_lines = []
|
||||
crit_lines = []
|
||||
in_crit = False
|
||||
|
||||
elif line.startswith('**Damage Base:**'):
|
||||
damage = line.replace('**Damage Base:**', '').strip()
|
||||
current_damage = '' if damage == '-' else damage.lower()
|
||||
|
||||
elif line.startswith('**Crit:**'):
|
||||
in_crit = True
|
||||
crit_text = line.replace('**Crit:**', '').strip()
|
||||
if crit_text:
|
||||
crit_lines.append(crit_text)
|
||||
|
||||
elif current_spell and line and not line.startswith('---'):
|
||||
if in_crit:
|
||||
crit_lines.append(line)
|
||||
else:
|
||||
effect_lines.append(line)
|
||||
|
||||
# Save last spell
|
||||
if current_spell:
|
||||
effect = '\n'.join(effect_lines).strip()
|
||||
crit = '\n'.join(crit_lines).strip()
|
||||
spells[current_spell.lower()] = {
|
||||
'name': current_spell,
|
||||
'damage': current_damage,
|
||||
'effect': effect,
|
||||
'crit': crit
|
||||
}
|
||||
|
||||
return spells
|
||||
|
||||
def normalize_text(text):
|
||||
"""Normalize text for comparison - strip HTML, normalize whitespace."""
|
||||
if not text:
|
||||
return ''
|
||||
# Remove HTML tags
|
||||
text = re.sub(r'<[^>]+>', '', text)
|
||||
# Normalize whitespace
|
||||
text = ' '.join(text.split())
|
||||
# Normalize quotes and apostrophes
|
||||
text = text.replace('\u2019', "'").replace('\u201c', '"').replace('\u201d', '"')
|
||||
return text.strip()
|
||||
|
||||
def compare_spells(source, spells_dir):
|
||||
"""Compare generated spells against source."""
|
||||
discrepancies = []
|
||||
|
||||
for filename in sorted(os.listdir(spells_dir)):
|
||||
if not filename.endswith('.json'):
|
||||
continue
|
||||
|
||||
filepath = os.path.join(spells_dir, filename)
|
||||
with open(filepath, 'r') as f:
|
||||
generated = json.load(f)
|
||||
|
||||
spell_name = generated['name']
|
||||
spell_key = spell_name.lower()
|
||||
|
||||
if spell_key not in source:
|
||||
discrepancies.append({
|
||||
'spell': spell_name,
|
||||
'file': filename,
|
||||
'issue': 'NOT IN SOURCE - spell not found in source data'
|
||||
})
|
||||
continue
|
||||
|
||||
src = source[spell_key]
|
||||
gen_system = generated.get('system', {})
|
||||
|
||||
issues = []
|
||||
|
||||
# Check damage type
|
||||
gen_damage = gen_system.get('damageType', '')
|
||||
if gen_damage != src['damage']:
|
||||
issues.append(f"DAMAGE: source='{src['damage']}' vs generated='{gen_damage}'")
|
||||
|
||||
# Check effect text
|
||||
src_effect = normalize_text(src['effect'])
|
||||
gen_effect = normalize_text(gen_system.get('effect', ''))
|
||||
|
||||
if src_effect != gen_effect:
|
||||
# Find the difference
|
||||
issues.append(f"EFFECT MISMATCH")
|
||||
issues.append(f" SOURCE: {src_effect[:200]}...")
|
||||
issues.append(f" GENERATED: {gen_effect[:200]}...")
|
||||
|
||||
# Check crit effect
|
||||
src_crit = normalize_text(src['crit'])
|
||||
gen_crit = normalize_text(gen_system.get('critEffect', ''))
|
||||
|
||||
if src_crit != gen_crit:
|
||||
issues.append(f"CRIT MISMATCH")
|
||||
issues.append(f" SOURCE: '{src_crit}'")
|
||||
issues.append(f" GENERATED: '{gen_crit}'")
|
||||
|
||||
if issues:
|
||||
discrepancies.append({
|
||||
'spell': spell_name,
|
||||
'file': filename,
|
||||
'issues': issues
|
||||
})
|
||||
|
||||
# Check for missing spells in generated
|
||||
generated_names = set()
|
||||
for filename in os.listdir(spells_dir):
|
||||
if filename.endswith('.json'):
|
||||
with open(os.path.join(spells_dir, filename), 'r') as f:
|
||||
data = json.load(f)
|
||||
generated_names.add(data['name'].lower())
|
||||
|
||||
for spell_key in source:
|
||||
if spell_key not in generated_names:
|
||||
discrepancies.append({
|
||||
'spell': source[spell_key]['name'],
|
||||
'file': 'MISSING',
|
||||
'issue': 'MISSING - no generated file for this spell'
|
||||
})
|
||||
|
||||
return discrepancies
|
||||
|
||||
def main():
|
||||
print("Fetching source content from NoteDiscovery...")
|
||||
source_content = get_source_content()
|
||||
|
||||
print("Parsing source spells...")
|
||||
source = parse_source_spells(source_content)
|
||||
print(f"Found {len(source)} spells in source\n")
|
||||
|
||||
spells_dir = 'packs/_source/spells'
|
||||
spell_files = [f for f in os.listdir(spells_dir) if f.endswith('.json')]
|
||||
print(f"Found {len(spell_files)} generated spell files\n")
|
||||
|
||||
print("Comparing spells...")
|
||||
discrepancies = compare_spells(source, spells_dir)
|
||||
|
||||
if not discrepancies:
|
||||
print("\n" + "="*60)
|
||||
print("NO DISCREPANCIES FOUND")
|
||||
print(f"All {len(spell_files)} spells match source exactly!")
|
||||
print("="*60)
|
||||
else:
|
||||
print("\n" + "="*60)
|
||||
print(f"FOUND {len(discrepancies)} SPELL(S) WITH DISCREPANCIES")
|
||||
print("="*60 + "\n")
|
||||
for d in discrepancies:
|
||||
print(f"### {d['spell']} ({d.get('file', 'N/A')})")
|
||||
if 'issue' in d:
|
||||
print(f" - {d['issue']}")
|
||||
if 'issues' in d:
|
||||
for issue in d['issues']:
|
||||
print(f" - {issue}")
|
||||
print()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Loading…
Reference in New Issue
Block a user