diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs index 6b1819bf..9e5d6ac9 100644 --- a/module/applications/sheets/api/application-mixin.mjs +++ b/module/applications/sheets/api/application-mixin.mjs @@ -130,7 +130,7 @@ export default function DHApplicationMixin(Base) { docs.push(doc); } - docs.filter(doc => doc).map(doc => (doc.apps[this.id] = this)); + docs.filter(doc => doc).forEach(doc => (doc.apps[this.id] = this)); if (!!this.options.contextMenus.length) this._createContextMenus(); } diff --git a/module/applications/sheets/items/class.mjs b/module/applications/sheets/items/class.mjs index 192555a8..f858b2c5 100644 --- a/module/applications/sheets/items/class.mjs +++ b/module/applications/sheets/items/class.mjs @@ -80,10 +80,17 @@ export default class ClassSheet extends DHBaseItemSheet { 'inventory.choiceB' ]; - paths.forEach(path => { - const docs = [].concat(foundry.utils.getProperty(this.document, `system.${path}`) ?? []); - docs.forEach(doc => (doc.apps[this.id] = this)); - }); + for (let path of paths) { + const docDatas = [].concat(foundry.utils.getProperty(this.document, `system.${path}`) ?? []); + + const docs = []; + for (var docData of docDatas) { + const doc = await foundry.utils.fromUuid(docData.uuid); + docs.push(doc); + } + + docs.filter(doc => doc).forEach(doc => (doc.apps[this.id] = this)); + } } /**@inheritdoc */ diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 93723c70..a924f956 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -290,7 +290,10 @@ export default class DhCharacter extends BaseDataActor { */ flipMinDiceValue: new fields.BooleanField({ intial: false }) }), - runeWard: new fields.BooleanField({ initial: false }) + runeWard: new fields.BooleanField({ initial: false }), + burden: new fields.SchemaField({ + ignore: new fields.BooleanField() + }) }) }; } diff --git a/src/packs/classes/class_Warrior_xCUWwJz4WSthvLfy.json b/src/packs/classes/class_Warrior_xCUWwJz4WSthvLfy.json new file mode 100644 index 00000000..090193ac --- /dev/null +++ b/src/packs/classes/class_Warrior_xCUWwJz4WSthvLfy.json @@ -0,0 +1,83 @@ +{ + "name": "Warrior", + "type": "class", + "_id": "xCUWwJz4WSthvLfy", + "img": "icons/weapons/swords/sword-broad-crystal-paired.webp", + "system": { + "description": "

Becoming a warrior requires years, often a lifetime, of training and dedication to the mastery of weapons and violence. While many who seek to fight hone only their strength, warriors understand the importance of an agile body and mind, making them some of the most sought-after fighters across the realms. Frequently, warriors find employment within an army, a band of mercenaries, or even a royal guard, but their potential is wasted in any position where they cannot continue to improve and expand their skills. Warriors are known to have a favored weapon; to come between them and their blade would be a grievous mistake.

", + "domains": [ + "blade", + "bone" + ], + "classItems": [], + "hitPoints": 6, + "evasion": 11, + "features": [ + { + "type": "hope", + "item": "Compendium.daggerheart.classes.Item.njj2C3tMDeCHHOoh" + }, + { + "type": "class", + "item": "Compendium.daggerheart.classes.Item.3hNVqD1c0VIw2Nj5" + }, + { + "type": "class", + "item": "Compendium.daggerheart.classes.Item.eoSmuAJmgHUyULtp" + } + ], + "subclasses": [ + "Compendium.daggerheart.subclasses.Item.NAFU9roaVG7f3RNJ", + "Compendium.daggerheart.subclasses.Item.bcNe5qP3o6CKadhK" + ], + "inventory": { + "take": [ + "Compendium.daggerheart.classes.Item.zqeXrJTd1geX73Pw", + "Compendium.daggerheart.classes.Item.hMST9iizQP1yz0MG", + "Compendium.daggerheart.classes.Item.uoG5iq09mxJPXfmk" + ], + "choiceA": [ + "Compendium.daggerheart.consumables.Item.tPfKtKRRjv8qdSqy", + "Compendium.daggerheart.consumables.Item.b6vGSPFWOlzZZDLO" + ], + "choiceB": [ + "Compendium.daggerheart.classes.Item.KuPuEAbUK4VKpS2O", + "Compendium.daggerheart.classes.Item.LoQH7wpfyKsuMJ5l" + ] + }, + "characterGuide": { + "suggestedTraits": { + "agility": 2, + "strength": 1, + "finesse": 0, + "instinct": 1, + "presence": -1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": "Compendium.daggerheart.weapons.Item.Iv8BZM1R24QMT72M", + "suggestedSecondaryWeapon": null, + "suggestedArmor": "Compendium.daggerheart.armors.Item.haULhuEg37zUUvhb" + }, + "isMulticlass": false + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754255776706, + "modifiedTime": 1754257586001, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!xCUWwJz4WSthvLfy" +} diff --git a/src/packs/classes/feature_Attack_Of_Opportunity_3hNVqD1c0VIw2Nj5.json b/src/packs/classes/feature_Attack_Of_Opportunity_3hNVqD1c0VIw2Nj5.json new file mode 100644 index 00000000..4fc8f904 --- /dev/null +++ b/src/packs/classes/feature_Attack_Of_Opportunity_3hNVqD1c0VIw2Nj5.json @@ -0,0 +1,33 @@ +{ + "folder": "A7yYfCMQ8NMwDLX1", + "name": "Attack Of Opportunity", + "type": "feature", + "_id": "3hNVqD1c0VIw2Nj5", + "img": "icons/skills/melee/strike-sword-slashing-red.webp", + "system": { + "description": "

If an adversary within Melee range attempts to leave that range, make a reaction roll using a trait of your choice against their Difficulty. Choose one effect on a success, or two if you critically succeed:

", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754257407143, + "modifiedTime": 1754257470399, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!3hNVqD1c0VIw2Nj5" +} diff --git a/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json new file mode 100644 index 00000000..83121c84 --- /dev/null +++ b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json @@ -0,0 +1,91 @@ +{ + "folder": "A7yYfCMQ8NMwDLX1", + "name": "Combat Training", + "type": "feature", + "_id": "eoSmuAJmgHUyULtp", + "img": "icons/skills/melee/hand-grip-sword-red.webp", + "system": { + "description": "

You ignore burden when equipping weapons. When you deal physical damage, you gain a bonus to your damage roll equal to your level.

", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [ + { + "name": "Combat Training", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "_id": "Y7sTM0tw0VpgU6pC", + "img": "icons/skills/melee/spear-tips-quintuple-orange.webp", + "changes": [ + { + "key": "system.bonuses.damage.physical.bonus", + "mode": 2, + "value": "@system.levelData.level.current", + "priority": null + }, + { + "key": "system.rules.burden.ignore", + "mode": 5, + "value": "1", + "priority": null + } + ], + "disabled": false, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "

You ignore burden when equipping weapons. When you deal physical damage, you gain a bonus to your damage roll equal to your level.

", + "origin": null, + "tint": "#ffffff", + "transfer": true, + "statuses": [], + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754257517884, + "modifiedTime": 1754257790010, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items.effects!eoSmuAJmgHUyULtp.Y7sTM0tw0VpgU6pC" + } + ], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754257489875, + "modifiedTime": 1754257512503, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!eoSmuAJmgHUyULtp" +} diff --git a/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json b/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json new file mode 100644 index 00000000..fd65ec54 --- /dev/null +++ b/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json @@ -0,0 +1,123 @@ +{ + "folder": "A7yYfCMQ8NMwDLX1", + "name": "No Mercy", + "type": "feature", + "_id": "njj2C3tMDeCHHOoh", + "img": "icons/skills/melee/blade-tip-chipped-blood-red.webp", + "system": { + "description": "

Spend 3 Hope to gain a +1 bonus to your attack rolls until your next rest.

", + "resource": null, + "actions": { + "Kwav1cV1xvVO13sR": { + "type": "effect", + "_id": "Kwav1cV1xvVO13sR", + "systemPath": "actions", + "description": "

Spend 3 Hope to gain a +1 bonus to your attack rolls until your next rest.

", + "chatDisplay": true, + "actionType": "action", + "cost": [ + { + "scalable": false, + "key": "hope", + "value": 3, + "keyIsID": false, + "step": null, + "consumeOnSuccess": false + } + ], + "uses": { + "value": null, + "max": "", + "recovery": null, + "consumeOnSuccess": false + }, + "effects": [ + { + "_id": "XK4cCcz9sRGDJr0q", + "onSave": false + } + ], + "target": { + "type": "any", + "amount": null + }, + "name": "Spend Hope", + "img": "icons/magic/holy/barrier-shield-winged-blue.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [ + { + "name": "No Mercy", + "img": "icons/skills/melee/blade-tip-chipped-blood-red.webp", + "origin": "Compendium.daggerheart.classes.Item.njj2C3tMDeCHHOoh", + "transfer": false, + "_id": "XK4cCcz9sRGDJr0q", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "changes": [ + { + "key": "system.bonuses.roll.attack.bonus", + "mode": 2, + "value": "1", + "priority": null + } + ], + "disabled": false, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "

Gain a +1 bonus to your attack rolls until your next rest.

", + "tint": "#ffffff", + "statuses": [], + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754257373200, + "modifiedTime": 1754257387570, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items.effects!njj2C3tMDeCHHOoh.XK4cCcz9sRGDJr0q" + } + ], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754257270096, + "modifiedTime": 1754257373211, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!njj2C3tMDeCHHOoh" +} diff --git a/src/packs/classes/folders_Warrior_A7yYfCMQ8NMwDLX1.json b/src/packs/classes/folders_Warrior_A7yYfCMQ8NMwDLX1.json new file mode 100644 index 00000000..7ae1b5df --- /dev/null +++ b/src/packs/classes/folders_Warrior_A7yYfCMQ8NMwDLX1.json @@ -0,0 +1,21 @@ +{ + "type": "Item", + "folder": "S4dTxJcuo1VW8o1E", + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "A7yYfCMQ8NMwDLX1", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!folders!A7yYfCMQ8NMwDLX1" +} diff --git a/src/packs/classes/folders_Warrior_RAxu4Kr7NzexDJVb.json b/src/packs/classes/folders_Warrior_RAxu4Kr7NzexDJVb.json new file mode 100644 index 00000000..3e1ce17b --- /dev/null +++ b/src/packs/classes/folders_Warrior_RAxu4Kr7NzexDJVb.json @@ -0,0 +1,21 @@ +{ + "type": "Item", + "folder": "7v4rk8aUOc9l81kD", + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "RAxu4Kr7NzexDJVb", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!folders!RAxu4Kr7NzexDJVb" +} diff --git a/src/packs/classes/loot_A_Sharpening_Stone_LoQH7wpfyKsuMJ5l.json b/src/packs/classes/loot_A_Sharpening_Stone_LoQH7wpfyKsuMJ5l.json new file mode 100644 index 00000000..c98abbb1 --- /dev/null +++ b/src/packs/classes/loot_A_Sharpening_Stone_LoQH7wpfyKsuMJ5l.json @@ -0,0 +1,31 @@ +{ + "folder": "RAxu4Kr7NzexDJVb", + "name": "A Sharpening Stone", + "type": "loot", + "_id": "LoQH7wpfyKsuMJ5l", + "img": "icons/commodities/metal/ingot-steel.webp", + "system": { + "description": "", + "quantity": 1, + "actions": {} + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754255987604, + "modifiedTime": 1754256035640, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!LoQH7wpfyKsuMJ5l" +} diff --git a/src/packs/classes/loot_Drawing_Of_A_Lover_KuPuEAbUK4VKpS2O.json b/src/packs/classes/loot_Drawing_Of_A_Lover_KuPuEAbUK4VKpS2O.json new file mode 100644 index 00000000..7ebf8be6 --- /dev/null +++ b/src/packs/classes/loot_Drawing_Of_A_Lover_KuPuEAbUK4VKpS2O.json @@ -0,0 +1,31 @@ +{ + "folder": "RAxu4Kr7NzexDJVb", + "name": "Drawing Of A Lover", + "type": "loot", + "_id": "KuPuEAbUK4VKpS2O", + "img": "icons/tools/hand/brush-paint-pink.webp", + "system": { + "description": "", + "quantity": 1, + "actions": {} + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754255948731, + "modifiedTime": 1754255971356, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!KuPuEAbUK4VKpS2O" +} diff --git a/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json b/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json new file mode 100644 index 00000000..1ebf58ca --- /dev/null +++ b/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json @@ -0,0 +1,127 @@ +{ + "folder": "mmCmlh5x1cE4EbhN", + "name": "Battle Ritual", + "type": "feature", + "_id": "qqb5acyUSl1sCpWW", + "img": "icons/weapons/swords/sword-gold-holy.webp", + "system": { + "description": "

Once per long rest, before you attempt something incredibly dangerous or face off against a foe who clearly outmatches you, describe what ritual you perform or preparations you make. When you do, clear 2 Stress and gain 2 Hope.

", + "resource": null, + "actions": { + "UdZx74Vcz6ip4Plh": { + "type": "healing", + "_id": "UdZx74Vcz6ip4Plh", + "systemPath": "actions", + "description": "

Once per long rest, before you attempt something incredibly dangerous or face off against a foe who clearly outmatches you, describe what ritual you perform or preparations you make. When you do, clear 2 Stress and gain 2 Hope.

", + "chatDisplay": true, + "actionType": "action", + "cost": [], + "uses": { + "value": null, + "max": "1", + "recovery": "longRest", + "consumeOnSuccess": false + }, + "damage": { + "parts": [ + { + "value": { + "custom": { + "enabled": true, + "formula": "2" + }, + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "bonus": null + }, + "applyTo": "stress", + "base": false, + "resultBased": false, + "valueAlt": { + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "bonus": null, + "custom": { + "enabled": false + } + }, + "type": [] + }, + { + "value": { + "custom": { + "enabled": true, + "formula": "2" + }, + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "bonus": null + }, + "applyTo": "hope", + "base": false, + "resultBased": false, + "valueAlt": { + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "bonus": null, + "custom": { + "enabled": false + } + }, + "type": [] + } + ], + "includeBase": false + }, + "target": { + "type": "self", + "amount": null + }, + "effects": [], + "roll": { + "type": null, + "trait": null, + "difficulty": null, + "bonus": null, + "advState": "neutral", + "diceRolling": { + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "compare": null, + "treshold": null + }, + "useDefault": false + }, + "name": "Prepare", + "img": "icons/weapons/swords/sword-gold-holy.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256232412, + "modifiedTime": 1754256309647, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!qqb5acyUSl1sCpWW" +} diff --git a/src/packs/subclasses/feature_Comaraderie_dArl2cxKIEGTicXU.json b/src/packs/subclasses/feature_Comaraderie_dArl2cxKIEGTicXU.json new file mode 100644 index 00000000..61ce367d --- /dev/null +++ b/src/packs/subclasses/feature_Comaraderie_dArl2cxKIEGTicXU.json @@ -0,0 +1,57 @@ +{ + "folder": "2lqz1Vao2brbVfIH", + "name": "Comaraderie", + "type": "feature", + "_id": "dArl2cxKIEGTicXU", + "img": "icons/skills/social/diplomacy-handshake-yellow.webp", + "system": { + "description": "

Your unwavering bravery is a rallying point for your allies. You can initiate a Tag Team Roll one additional time per session. Additionally, when an ally initiates a Tag Team Roll with you, they only need to spend 2 Hope to do so.

", + "resource": null, + "actions": { + "eBSXC0l2IrRb1F8f": { + "type": "effect", + "_id": "eBSXC0l2IrRb1F8f", + "systemPath": "actions", + "description": "

You can initiate a Tag Team Roll one additional time per session.

", + "chatDisplay": true, + "actionType": "action", + "cost": [], + "uses": { + "value": null, + "max": "1", + "recovery": "session", + "consumeOnSuccess": false + }, + "effects": [], + "target": { + "type": "self", + "amount": null + }, + "name": "Comaraderie", + "img": "icons/skills/social/diplomacy-handshake-yellow.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256748303, + "modifiedTime": 1754256845527, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!dArl2cxKIEGTicXU" +} diff --git a/src/packs/subclasses/feature_Courage_o5j2vjXU8NicYlXx.json b/src/packs/subclasses/feature_Courage_o5j2vjXU8NicYlXx.json new file mode 100644 index 00000000..108f4571 --- /dev/null +++ b/src/packs/subclasses/feature_Courage_o5j2vjXU8NicYlXx.json @@ -0,0 +1,33 @@ +{ + "folder": "mmCmlh5x1cE4EbhN", + "name": "Courage", + "type": "feature", + "_id": "o5j2vjXU8NicYlXx", + "img": "icons/magic/control/silhouette-hold-change-blue.webp", + "system": { + "description": "

When you fail a roll with Fear, you gain a Hope.

", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256184552, + "modifiedTime": 1754256222832, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!o5j2vjXU8NicYlXx" +} diff --git a/src/packs/subclasses/feature_Martial_Preparation_dHgAnbt9m1KsQFmp.json b/src/packs/subclasses/feature_Martial_Preparation_dHgAnbt9m1KsQFmp.json new file mode 100644 index 00000000..49117c74 --- /dev/null +++ b/src/packs/subclasses/feature_Martial_Preparation_dHgAnbt9m1KsQFmp.json @@ -0,0 +1,33 @@ +{ + "folder": "2lqz1Vao2brbVfIH", + "name": "Martial Preparation", + "type": "feature", + "_id": "dHgAnbt9m1KsQFmp", + "img": "icons/skills/melee/sword-winged-holy-orange.webp", + "system": { + "description": "

You’re an inspirational warrior to all who travel with you. Your party gains access to the Martial Preparation downtime move. To use this move during a rest, describe how you instruct and train with your party. You and each ally who chooses this downtime move gain a d6 Slayer Die. A PC with a Slayer Die can spend it to roll the die and add the result to an attack or damage roll of their choice.

", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256861952, + "modifiedTime": 1754256903587, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!dHgAnbt9m1KsQFmp" +} diff --git a/src/packs/subclasses/feature_Rise_to_the_Challenge_dcutk8RVOJ2sEkO1.json b/src/packs/subclasses/feature_Rise_to_the_Challenge_dcutk8RVOJ2sEkO1.json new file mode 100644 index 00000000..7e4ef685 --- /dev/null +++ b/src/packs/subclasses/feature_Rise_to_the_Challenge_dcutk8RVOJ2sEkO1.json @@ -0,0 +1,33 @@ +{ + "folder": "yMp2Hj8av6IWJahF", + "name": "Rise to the Challenge", + "type": "feature", + "_id": "dcutk8RVOJ2sEkO1", + "img": "icons/magic/control/debuff-energy-hold-levitate-yellow.webp", + "system": { + "description": "

You are vigilant in the face of mounting danger. While you have 2 or fewer Hit Points unmarked, you can roll a d20 as your Hope Die.

", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256466148, + "modifiedTime": 1754256510431, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!dcutk8RVOJ2sEkO1" +} diff --git a/src/packs/subclasses/feature_Slayer_1hF5KGKQc2VKT5O8.json b/src/packs/subclasses/feature_Slayer_1hF5KGKQc2VKT5O8.json new file mode 100644 index 00000000..ef813ae1 --- /dev/null +++ b/src/packs/subclasses/feature_Slayer_1hF5KGKQc2VKT5O8.json @@ -0,0 +1,38 @@ +{ + "folder": "mmCmlh5x1cE4EbhN", + "name": "Slayer", + "type": "feature", + "_id": "1hF5KGKQc2VKT5O8", + "img": "icons/skills/melee/strike-axe-red.webp", + "system": { + "description": "

You gain a pool of dice called Slayer Dice. On a roll with Hope, you can place a d6 on this card instead of gaining a Hope, adding the die to the pool. You can store a number of Slayer Dice equal to your Proficiency. When you make an attack roll or damage roll, you can spend any number of these Slayer Dice, rolling them and adding their result to the roll. At the end of each session, clear any unspent Slayer Dice on this card and gain a Hope per die cleared.

", + "resource": { + "type": "simple", + "value": 0, + "max": "@system.proficiency", + "icon": "fa-solid fa-skull" + }, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256326320, + "modifiedTime": 1754256425506, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!1hF5KGKQc2VKT5O8" +} diff --git a/src/packs/subclasses/feature_Weapon_Specialist_HAqtoKUTrk8Mip1n.json b/src/packs/subclasses/feature_Weapon_Specialist_HAqtoKUTrk8Mip1n.json new file mode 100644 index 00000000..a4937457 --- /dev/null +++ b/src/packs/subclasses/feature_Weapon_Specialist_HAqtoKUTrk8Mip1n.json @@ -0,0 +1,89 @@ +{ + "folder": "yMp2Hj8av6IWJahF", + "name": "Weapon Specialist", + "type": "feature", + "_id": "HAqtoKUTrk8Mip1n", + "img": "icons/weapons/axes/axe-double-short-orange.webp", + "system": { + "description": "

You can wield multiple weapons with dangerous ease. When you succeed on an attack, you can spend a Hope to add one of the damage dice from your secondary weapon to the damage roll. Additionally, once per long rest when you roll your Slayer Dice, reroll any 1s.

", + "resource": null, + "actions": { + "vay9rVXJS3iksaVR": { + "type": "effect", + "_id": "vay9rVXJS3iksaVR", + "systemPath": "actions", + "description": "

You can wield multiple weapons with dangerous ease. When you succeed on an attack, you can spend a Hope to add one of the damage dice from your secondary weapon to the damage roll.

", + "chatDisplay": true, + "actionType": "action", + "cost": [ + { + "keyIsID": false, + "key": "hope", + "value": 1, + "scalable": false, + "step": null, + "consumeOnSuccess": false + } + ], + "uses": { + "value": null, + "max": "", + "recovery": null, + "consumeOnSuccess": false + }, + "effects": [], + "target": { + "type": "self", + "amount": null + }, + "name": "Spend Hope", + "img": "icons/magic/holy/barrier-shield-winged-blue.webp", + "range": "" + }, + "1bBFfxmywJpx5tfk": { + "type": "effect", + "_id": "1bBFfxmywJpx5tfk", + "systemPath": "actions", + "description": "

Additionally, once per long rest when you roll your Slayer Dice, reroll any 1s.

", + "chatDisplay": true, + "actionType": "action", + "cost": [], + "uses": { + "value": null, + "max": "1", + "recovery": "longRest", + "consumeOnSuccess": false + }, + "effects": [], + "target": { + "type": "self", + "amount": null + }, + "name": "Reroll", + "img": "icons/commodities/currency/emblem-skull-steel-purple.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256525016, + "modifiedTime": 1754256712476, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!HAqtoKUTrk8Mip1n" +} diff --git a/src/packs/subclasses/folders_Warrior_2lqz1Vao2brbVfIH.json b/src/packs/subclasses/folders_Warrior_2lqz1Vao2brbVfIH.json new file mode 100644 index 00000000..2b1d0037 --- /dev/null +++ b/src/packs/subclasses/folders_Warrior_2lqz1Vao2brbVfIH.json @@ -0,0 +1,21 @@ +{ + "type": "Item", + "folder": "37B1HLu8gv8sSDNI", + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "2lqz1Vao2brbVfIH", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!folders!2lqz1Vao2brbVfIH" +} diff --git a/src/packs/subclasses/folders_Warrior_aTyhcJgENR9uI7u4.json b/src/packs/subclasses/folders_Warrior_aTyhcJgENR9uI7u4.json new file mode 100644 index 00000000..e91c90ef --- /dev/null +++ b/src/packs/subclasses/folders_Warrior_aTyhcJgENR9uI7u4.json @@ -0,0 +1,23 @@ +{ + "type": "Item", + "folder": null, + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "aTyhcJgENR9uI7u4", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256060634, + "modifiedTime": 1754256060634, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!folders!aTyhcJgENR9uI7u4" +} diff --git a/src/packs/subclasses/folders_Warrior_mmCmlh5x1cE4EbhN.json b/src/packs/subclasses/folders_Warrior_mmCmlh5x1cE4EbhN.json new file mode 100644 index 00000000..cd19cd9f --- /dev/null +++ b/src/packs/subclasses/folders_Warrior_mmCmlh5x1cE4EbhN.json @@ -0,0 +1,21 @@ +{ + "type": "Item", + "folder": "QBeb6IqRnhTXzRtd", + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "mmCmlh5x1cE4EbhN", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!folders!mmCmlh5x1cE4EbhN" +} diff --git a/src/packs/subclasses/folders_Warrior_yMp2Hj8av6IWJahF.json b/src/packs/subclasses/folders_Warrior_yMp2Hj8av6IWJahF.json new file mode 100644 index 00000000..dd7a38da --- /dev/null +++ b/src/packs/subclasses/folders_Warrior_yMp2Hj8av6IWJahF.json @@ -0,0 +1,21 @@ +{ + "type": "Item", + "folder": "Br5kHZnnjGzz4RJ9", + "name": "Warrior", + "color": null, + "sorting": "a", + "_id": "yMp2Hj8av6IWJahF", + "description": "", + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!folders!yMp2Hj8av6IWJahF" +} diff --git a/src/packs/subclasses/subclass_Call_Of_The_Brave_NAFU9roaVG7f3RNJ.json b/src/packs/subclasses/subclass_Call_Of_The_Brave_NAFU9roaVG7f3RNJ.json new file mode 100644 index 00000000..51718237 --- /dev/null +++ b/src/packs/subclasses/subclass_Call_Of_The_Brave_NAFU9roaVG7f3RNJ.json @@ -0,0 +1,50 @@ +{ + "folder": "aTyhcJgENR9uI7u4", + "name": "Call Of The Brave", + "type": "subclass", + "_id": "NAFU9roaVG7f3RNJ", + "img": "icons/magic/life/heart-cross-strong-flame-purple-orange.webp", + "system": { + "description": "

Play the Call of the Brave if you want to use the might of your enemies to fuel your own power.

", + "spellcastingTrait": null, + "features": [ + { + "type": "foundation", + "item": "Compendium.daggerheart.subclasses.Item.o5j2vjXU8NicYlXx" + }, + { + "type": "foundation", + "item": "Compendium.daggerheart.subclasses.Item.qqb5acyUSl1sCpWW" + }, + { + "type": "specialization", + "item": "Compendium.daggerheart.subclasses.Item.dcutk8RVOJ2sEkO1" + }, + { + "type": "mastery", + "item": "Compendium.daggerheart.subclasses.Item.dArl2cxKIEGTicXU" + } + ], + "featureState": 1, + "isMulticlass": false + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256077777, + "modifiedTime": 1754256954656, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!NAFU9roaVG7f3RNJ" +} diff --git a/src/packs/subclasses/subclass_Call_Of_The_Slayer_bcNe5qP3o6CKadhK.json b/src/packs/subclasses/subclass_Call_Of_The_Slayer_bcNe5qP3o6CKadhK.json new file mode 100644 index 00000000..ab0419d8 --- /dev/null +++ b/src/packs/subclasses/subclass_Call_Of_The_Slayer_bcNe5qP3o6CKadhK.json @@ -0,0 +1,46 @@ +{ + "folder": "aTyhcJgENR9uI7u4", + "name": "Call Of The Slayer", + "type": "subclass", + "_id": "bcNe5qP3o6CKadhK", + "img": "icons/skills/melee/weapons-crossed-swords-yellow.webp", + "system": { + "description": "

Play the Call of the Slayer if you want to strike down adversaries with immense force.

", + "spellcastingTrait": null, + "features": [ + { + "type": "foundation", + "item": "Compendium.daggerheart.subclasses.Item.1hF5KGKQc2VKT5O8" + }, + { + "type": "specialization", + "item": "Compendium.daggerheart.subclasses.Item.HAqtoKUTrk8Mip1n" + }, + { + "type": "mastery", + "item": "Compendium.daggerheart.subclasses.Item.dHgAnbt9m1KsQFmp" + } + ], + "featureState": 1, + "isMulticlass": false + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "MQSznptE5yLT7kj8": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754256112978, + "modifiedTime": 1754256959532, + "lastModifiedBy": "MQSznptE5yLT7kj8" + }, + "_key": "!items!bcNe5qP3o6CKadhK" +}