diff --git a/module/data/item/subclass.mjs b/module/data/item/subclass.mjs index 5ecd152c..0a6685ab 100644 --- a/module/data/item/subclass.mjs +++ b/module/data/item/subclass.mjs @@ -42,6 +42,7 @@ export default class DHSubclass extends BaseDataItem { async _preCreate(data, options, user) { if (this.actor?.type === 'character') { + const dataUuid = data.uuid ?? data._stats?.compendiumSource ?? `Item.${data._id}`; if (this.actor.system.class.subclass) { if (this.actor.system.multiclass.subclass) { ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassesAlreadyPresent')); @@ -53,7 +54,7 @@ export default class DHSubclass extends BaseDataItem { return false; } - if (multiclass.system.subclasses.every(x => x.uuid !== (data.uuid ?? `Item.${data._id}`))) { + if (multiclass.system.subclasses.every(x => x.uuid !== dataUuid)) { ui.notifications.error( game.i18n.localize('DAGGERHEART.UI.Notifications.subclassNotInMulticlass') ); @@ -68,7 +69,7 @@ export default class DHSubclass extends BaseDataItem { ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.missingClass')); return false; } - if (actorClass.system.subclasses.every(x => x.uuid !== (data.uuid ?? `Item.${data._id}`))) { + if (actorClass.system.subclasses.every(x => x.uuid !== dataUuid)) { ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassNotInClass')); return false; } diff --git a/src/packs/classes/class_Sorcerer_DchOzHcWIJE9FKcR.json b/src/packs/classes/class_Sorcerer_DchOzHcWIJE9FKcR.json new file mode 100644 index 00000000..15e9bcce --- /dev/null +++ b/src/packs/classes/class_Sorcerer_DchOzHcWIJE9FKcR.json @@ -0,0 +1,87 @@ +{ + "name": "Sorcerer", + "type": "class", + "_id": "DchOzHcWIJE9FKcR", + "img": "icons/magic/symbols/rune-sigil-horned-white-purple.webp", + "system": { + "description": "
Not all innate magic users choose to hone their craft, but those who do can become powerful sorcerers. The gifts of these wielders are passed down through families, even if the family is unaware of or reluctant to practice them. A sorcerer’s abilities can range from the elemental to the illusionary and beyond, and many practitioners band together into collectives based on their talents. The act of becoming a formidable sorcerer is not the practice of acquiring power, but learning to cultivate and control the power one already possesses. The magic of a misguided or undisciplined sorcerer is a dangerous
force indeed.
", + "domains": [ + "arcana", + "midnight" + ], + "classItems": [], + "hitPoints": 6, + "evasion": 10, + "features": [ + { + "type": "hope", + "item": "Compendium.daggerheart.classes.Item.ieiQlD0joWSqt53D" + }, + { + "type": "class", + "item": "Compendium.daggerheart.classes.Item.CHK32dfCTTyuxV1A" + }, + { + "type": "class", + "item": "Compendium.daggerheart.classes.Item.cshTYdtz9yoXYYB3" + }, + { + "type": "class", + "item": "Compendium.daggerheart.classes.Item.P02cbN50LIoD662z" + } + ], + "subclasses": [ + "Compendium.daggerheart.subclasses.Item.wg1H0hROc2acHwZh", + "Compendium.daggerheart.subclasses.Item.GLpRVxnY5E82khxH" + ], + "inventory": { + "take": [ + "Compendium.daggerheart.classes.Item.hMST9iizQP1yz0MG", + "Compendium.daggerheart.classes.Item.uoG5iq09mxJPXfmk", + "Compendium.daggerheart.classes.Item.zqeXrJTd1geX73Pw" + ], + "choiceA": [ + "Compendium.daggerheart.consumables.Item.tPfKtKRRjv8qdSqy", + "Compendium.daggerheart.consumables.Item.b6vGSPFWOlzZZDLO" + ], + "choiceB": [ + "Compendium.daggerheart.classes.Item.Yum0uBtnEtTBcpax", + "Compendium.daggerheart.classes.Item.9AM1YsPeuWSysdDo" + ] + }, + "characterGuide": { + "suggestedTraits": { + "agility": 0, + "strength": -1, + "finesse": 1, + "instinct": 2, + "presence": 1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": "Compendium.daggerheart.weapons.Item.j8cdNeIUYxxzFVji", + "suggestedSecondaryWeapon": null, + "suggestedArmor": "Compendium.daggerheart.armors.Item.yJFp1bfpecDcStVK" + }, + "isMulticlass": false + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349743129, + "modifiedTime": 1754350005553, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!DchOzHcWIJE9FKcR" +} diff --git a/src/packs/classes/feature_Arcane_Sense_CHK32dfCTTyuxV1A.json b/src/packs/classes/feature_Arcane_Sense_CHK32dfCTTyuxV1A.json new file mode 100644 index 00000000..493a5336 --- /dev/null +++ b/src/packs/classes/feature_Arcane_Sense_CHK32dfCTTyuxV1A.json @@ -0,0 +1,33 @@ +{ + "folder": "oNhnBt8HZ2oaSnSn", + "name": "Arcane Sense", + "type": "feature", + "_id": "CHK32dfCTTyuxV1A", + "img": "icons/magic/perception/third-eye-blue-red.webp", + "system": { + "description": "You can sense the presence of magical people and objects within Close range.
", + "resource": null, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349703843, + "modifiedTime": 1754349703843, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!CHK32dfCTTyuxV1A" +} diff --git a/src/packs/classes/feature_Channel_Raw_Power_P02cbN50LIoD662z.json b/src/packs/classes/feature_Channel_Raw_Power_P02cbN50LIoD662z.json new file mode 100644 index 00000000..b4f79450 --- /dev/null +++ b/src/packs/classes/feature_Channel_Raw_Power_P02cbN50LIoD662z.json @@ -0,0 +1,74 @@ +{ + "folder": "oNhnBt8HZ2oaSnSn", + "name": "Channel Raw Power", + "type": "feature", + "_id": "P02cbN50LIoD662z", + "img": "icons/magic/unholy/strike-body-explode-disintegrate.webp", + "system": { + "description": "Once per long rest, you can place a domain card from your loadout into your vault and choose to either:
Gain Hope equal to the level of the card.
Enhance a spell that deals damage, gaining a bonus to your damage roll equal to twice the level of the card.
Once per long rest, you can place a domain card from your loadout into your vault and choose to either:
Gain Hope equal to the level of the card.
Enhance a spell that deals damage, gaining a bonus to your damage roll equal to twice the level of the card.
Make a Spellcast Roll (10). On a success, you create a minor visual illusion no larger than yourself within Close range. This illusion is convincing to anyone at Close range or farther.
", + "resource": null, + "actions": { + "gLjqQ6KgxVeJljRt": { + "type": "attack", + "_id": "gLjqQ6KgxVeJljRt", + "systemPath": "actions", + "description": "", + "chatDisplay": true, + "actionType": "action", + "cost": [], + "uses": { + "value": null, + "max": "", + "recovery": null, + "consumeOnSuccess": false + }, + "damage": { + "parts": [], + "includeBase": false + }, + "target": { + "type": "any", + "amount": null + }, + "effects": [], + "roll": { + "type": "spellcast", + "trait": null, + "difficulty": 10, + "bonus": null, + "advState": "neutral", + "diceRolling": { + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "compare": null, + "treshold": null + }, + "useDefault": false + }, + "save": { + "trait": null, + "difficulty": null, + "damageMod": "none" + }, + "name": "Cast", + "img": "icons/magic/unholy/hands-cloud-light-pink.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349703843, + "modifiedTime": 1754349703843, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!cshTYdtz9yoXYYB3" +} diff --git a/src/packs/classes/feature_Volatile_Magic_ieiQlD0joWSqt53D.json b/src/packs/classes/feature_Volatile_Magic_ieiQlD0joWSqt53D.json new file mode 100644 index 00000000..b6994b72 --- /dev/null +++ b/src/packs/classes/feature_Volatile_Magic_ieiQlD0joWSqt53D.json @@ -0,0 +1,66 @@ +{ + "name": "Volatile Magic", + "type": "feature", + "_id": "ieiQlD0joWSqt53D", + "img": "icons/magic/lightning/barrier-shield-orb-pink.webp", + "system": { + "description": "Spend 3 Hope to reroll any number of your damage dice on an attack that deals magic damage.
", + "resource": null, + "actions": { + "JQPMlMLYMs84rWIy": { + "type": "effect", + "_id": "JQPMlMLYMs84rWIy", + "systemPath": "actions", + "description": "Spend 3 Hope to reroll any number of your damage dice on an attack that deals magic damage.
", + "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": [], + "target": { + "type": "any", + "amount": null + }, + "name": "Spend 3 Hope", + "img": "icons/commodities/gems/gem-faceted-octagon-yellow.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "folder": "oNhnBt8HZ2oaSnSn", + "sort": 100000, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349703843, + "modifiedTime": 1754349703843, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!ieiQlD0joWSqt53D" +} diff --git a/src/packs/classes/folders_Sorcerer_ZTh1tNA9cAwDhaJD.json b/src/packs/classes/folders_Sorcerer_ZTh1tNA9cAwDhaJD.json new file mode 100644 index 00000000..452dce69 --- /dev/null +++ b/src/packs/classes/folders_Sorcerer_ZTh1tNA9cAwDhaJD.json @@ -0,0 +1,22 @@ +{ + "type": "Item", + "folder": "7v4rk8aUOc9l81kD", + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "ZTh1tNA9cAwDhaJD", + "description": "", + "sort": 700000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": "Q9NoTaEarn3VMS6Z", + "modifiedTime": 1754349932509 + }, + "_key": "!folders!ZTh1tNA9cAwDhaJD" +} diff --git a/src/packs/classes/folders_Sorcerer_oNhnBt8HZ2oaSnSn.json b/src/packs/classes/folders_Sorcerer_oNhnBt8HZ2oaSnSn.json new file mode 100644 index 00000000..bef9e910 --- /dev/null +++ b/src/packs/classes/folders_Sorcerer_oNhnBt8HZ2oaSnSn.json @@ -0,0 +1,22 @@ +{ + "type": "Item", + "folder": "S4dTxJcuo1VW8o1E", + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "oNhnBt8HZ2oaSnSn", + "description": "", + "sort": 500000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": "Q9NoTaEarn3VMS6Z", + "modifiedTime": 1754349706650 + }, + "_key": "!folders!oNhnBt8HZ2oaSnSn" +} diff --git a/src/packs/classes/loot_Family_Heirloom_Yum0uBtnEtTBcpax.json b/src/packs/classes/loot_Family_Heirloom_Yum0uBtnEtTBcpax.json new file mode 100644 index 00000000..e9c05457 --- /dev/null +++ b/src/packs/classes/loot_Family_Heirloom_Yum0uBtnEtTBcpax.json @@ -0,0 +1,31 @@ +{ + "folder": "ZTh1tNA9cAwDhaJD", + "name": "Family Heirloom", + "type": "loot", + "_id": "Yum0uBtnEtTBcpax", + "img": "icons/commodities/treasure/trinket-totem-bone-green.webp", + "system": { + "description": "", + "quantity": 1, + "actions": {} + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349932502, + "modifiedTime": 1754349932502, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!Yum0uBtnEtTBcpax" +} diff --git a/src/packs/classes/loot_Whispering_Orb_9AM1YsPeuWSysdDo.json b/src/packs/classes/loot_Whispering_Orb_9AM1YsPeuWSysdDo.json new file mode 100644 index 00000000..5d513f5e --- /dev/null +++ b/src/packs/classes/loot_Whispering_Orb_9AM1YsPeuWSysdDo.json @@ -0,0 +1,31 @@ +{ + "folder": "ZTh1tNA9cAwDhaJD", + "name": "Whispering Orb", + "type": "loot", + "_id": "9AM1YsPeuWSysdDo", + "img": "icons/magic/unholy/orb-glowing-yellow-purple.webp", + "system": { + "description": "", + "quantity": 1, + "actions": {} + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349932502, + "modifiedTime": 1754349932502, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!9AM1YsPeuWSysdDo" +} diff --git a/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json new file mode 100644 index 00000000..59dfea8f --- /dev/null +++ b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json @@ -0,0 +1,91 @@ +{ + "folder": "G0anvImB7zZBUe8a", + "name": "Arcane Charge", + "type": "feature", + "_id": "yA4MKQ1tbKFiJoDB", + "img": "icons/magic/unholy/barrier-fire-pink.webp", + "system": { + "description": "You can gather magical energy to enhance your capabilities. When you take magic damage, you become Charged. Alternatively, you can spend 2 Hope to become Charged. When you successfully make an attack that deals magic damage while Charged, you can clear your Charge to either gain a +10 bonus to the damage roll or gain a +3 bonus to the Difficulty of a reaction roll the spell causes the target to make. You stop being Charged at your next long rest.
", + "resource": { + "type": "simple", + "value": 0, + "max": "", + "icon": "", + "recovery": null, + "diceStates": {}, + "dieFaces": "d4" + }, + "actions": {}, + "originItemType": null, + "originId": null + }, + "effects": [ + { + "name": "Charged", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "_id": "z49V45ir45HGHOBB", + "img": "icons/magic/unholy/strike-hand-glow-pink.webp", + "changes": [ + { + "key": "system.bonuses.damage.magical.bonus", + "mode": 2, + "value": "+10", + "priority": null + } + ], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "When you successfully make an attack that deals magic damage while Charged, you can clear your Charge to either gain a +10 bonus to the damage roll or gain a +3 bonus to the Difficulty of a reaction roll the spell causes the target to make. You stop being Charged at your next long rest.
", + "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", + "lastModifiedBy": null + }, + "_key": "!items.effects!yA4MKQ1tbKFiJoDB.z49V45ir45HGHOBB" + } + ], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349515898, + "modifiedTime": 1754349515898, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!yA4MKQ1tbKFiJoDB" +} diff --git a/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json new file mode 100644 index 00000000..b282d4fb --- /dev/null +++ b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json @@ -0,0 +1,213 @@ +{ + "folder": "sRNZtEniwaOIQ2rY", + "name": "Elementalist", + "type": "feature", + "_id": "dPcqKN5NeDkjB1HW", + "img": "icons/magic/fire/flame-burning-hand-white.webp", + "system": { + "description": "Choose one of the following elements at character creation: air, earth, fire, lightning, water.
You can shape this element into harmless effects. Additionally, spend a Hope and describe how your control over this element helps an action roll you’re about to make, then either gain a +2 bonus to the roll or a +3 bonus to the roll’s damage.
", + "resource": null, + "actions": { + "rxuFLfHP1FILDpds": { + "type": "effect", + "_id": "rxuFLfHP1FILDpds", + "systemPath": "actions", + "description": "Spend a Hope and describe how your control over this element helps an action roll you’re about to make, gain a +2 bonus to the 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": [ + { + "_id": "EY87mY6ULfIt3XC8", + "onSave": false + } + ], + "target": { + "type": "any", + "amount": null + }, + "name": "Bonus to Roll", + "img": "icons/sundries/gaming/dice-runed-tan.webp", + "range": "" + }, + "S7HvFD3qIR3ifJRL": { + "type": "effect", + "_id": "S7HvFD3qIR3ifJRL", + "systemPath": "actions", + "description": "Spend a Hope and describe how your control over this element helps an action roll you’re about to make, gain a +3 bonus to the roll’s damage.
", + "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": [ + { + "_id": "WwibpgaO6Kkks7aZ", + "onSave": false + } + ], + "target": { + "type": "any", + "amount": null + }, + "name": "Bonus to Damage", + "img": "icons/sundries/gaming/dice-runed-tan.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [ + { + "name": "Bonus to Roll", + "img": "icons/magic/fire/flame-burning-hand-white.webp", + "origin": "Compendium.daggerheart.subclasses.Item.dPcqKN5NeDkjB1HW", + "transfer": false, + "_id": "EY87mY6ULfIt3XC8", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "changes": [ + { + "key": "system.bonuses.roll.action.bonus", + "mode": 2, + "value": "+2", + "priority": null + } + ], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "+2 to an action roll
", + "tint": "#ffffff", + "statuses": [], + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!items.effects!dPcqKN5NeDkjB1HW.EY87mY6ULfIt3XC8" + }, + { + "name": "Bonus to Damage", + "img": "icons/magic/fire/flame-burning-hand-white.webp", + "origin": "Compendium.daggerheart.subclasses.Item.dPcqKN5NeDkjB1HW", + "transfer": false, + "_id": "WwibpgaO6Kkks7aZ", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "changes": [ + { + "key": "system.bonuses.damage.magical.bonus", + "mode": 2, + "value": "+3", + "priority": null + }, + { + "key": "system.bonuses.damage.physical.bonus", + "mode": 2, + "value": "+3", + "priority": null + } + ], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "+3 to damage
", + "tint": "#ffffff", + "statuses": [], + "sort": 0, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": null + }, + "_key": "!items.effects!dPcqKN5NeDkjB1HW.WwibpgaO6Kkks7aZ" + } + ], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349507020, + "modifiedTime": 1754349507020, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!dPcqKN5NeDkjB1HW" +} diff --git a/src/packs/subclasses/feature_Enchanted_Aid_4pVBN8cuKePI423V.json b/src/packs/subclasses/feature_Enchanted_Aid_4pVBN8cuKePI423V.json new file mode 100644 index 00000000..756a21cc --- /dev/null +++ b/src/packs/subclasses/feature_Enchanted_Aid_4pVBN8cuKePI423V.json @@ -0,0 +1,57 @@ +{ + "folder": "3PV3wn7IGmusnf4p", + "name": "Enchanted Aid", + "type": "feature", + "_id": "4pVBN8cuKePI423V", + "img": "icons/magic/movement/trail-streak-zigzag-teal.webp", + "system": { + "description": "You can enhance the magic of others with your essence. When you Help an Ally with a Spellcast Roll, you can roll a d8 as your advantage die. Once per long rest, after an ally has made a Spellcast Roll with your help, you can swap the results of their Duality Dice.
", + "resource": null, + "actions": { + "n8wSqR967o0pZDLR": { + "type": "effect", + "_id": "n8wSqR967o0pZDLR", + "systemPath": "actions", + "description": "Once per long rest, after an ally has made a Spellcast Roll with your help, you can swap the results of their Duality Dice.
", + "chatDisplay": true, + "actionType": "action", + "cost": [], + "uses": { + "value": null, + "max": "1", + "recovery": "longRest", + "consumeOnSuccess": false + }, + "effects": [], + "target": { + "type": "any", + "amount": null + }, + "name": "Swap Dice Results", + "img": "icons/sundries/gaming/dice-pair-white-green.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349511084, + "modifiedTime": 1754349511084, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!4pVBN8cuKePI423V" +} diff --git a/src/packs/subclasses/feature_Manipulate_Magic_UNg4eyNfEQrMdD7G.json b/src/packs/subclasses/feature_Manipulate_Magic_UNg4eyNfEQrMdD7G.json new file mode 100644 index 00000000..df35ffdf --- /dev/null +++ b/src/packs/subclasses/feature_Manipulate_Magic_UNg4eyNfEQrMdD7G.json @@ -0,0 +1,66 @@ +{ + "folder": "sRNZtEniwaOIQ2rY", + "name": "Manipulate Magic", + "type": "feature", + "_id": "UNg4eyNfEQrMdD7G", + "img": "icons/magic/unholy/orb-hands-pink.webp", + "system": { + "description": "Your primal origin allows you to modify the essence of magic itself. After you cast a spell or make an attack using a weapon that deals magic damage, you can mark a Stress to do one of the following:
Extend the spell or attack’s reach by one range
Gain a +2 bonus to the action roll’s result
Double a damage die of your choice
Hit an additional target within range
Your primal origin allows you to modify the essence of magic itself. After you cast a spell or make an attack using a weapon that deals magic damage, you can mark a Stress to do one of the following:
Extend the spell or attack’s reach by one range
Gain a +2 bonus to the action roll’s result
Double a damage die of your choice
Hit an additional target within range
You can call forth your element to protect you from harm. When an attack roll against you succeeds, you can mark a Stress and describe how you use your element to defend you. When you do, roll a d6 and add its result to your Evasion against the attack.
", + "resource": null, + "actions": { + "amJMKDdSgJHsOsOB": { + "type": "attack", + "_id": "amJMKDdSgJHsOsOB", + "systemPath": "actions", + "description": "You can call forth your element to protect you from harm. When an attack roll against you succeeds, you can mark a Stress and describe how you use your element to defend you. When you do, roll a d6 and add its result to your Evasion against the attack.
", + "chatDisplay": false, + "actionType": "action", + "cost": [ + { + "scalable": false, + "key": "stress", + "value": 1, + "keyIsID": false, + "step": null, + "consumeOnSuccess": false + } + ], + "uses": { + "value": null, + "max": "", + "recovery": null, + "consumeOnSuccess": false + }, + "damage": { + "parts": [], + "includeBase": false + }, + "target": { + "type": "any", + "amount": null + }, + "effects": [], + "roll": { + "type": "diceSet", + "trait": null, + "difficulty": null, + "bonus": null, + "advState": "neutral", + "diceRolling": { + "multiplier": "flat", + "flatMultiplier": 1, + "dice": "d6", + "compare": null, + "treshold": null + }, + "useDefault": false + }, + "save": { + "trait": null, + "difficulty": null, + "damageMod": "none" + }, + "name": "Evade", + "img": "icons/magic/movement/trail-streak-impact-blue.webp", + "range": "" + } + }, + "originItemType": null, + "originId": null + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349511084, + "modifiedTime": 1754349511084, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!TnuLBtHQGbqyzn82" +} diff --git a/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json new file mode 100644 index 00000000..cffaba38 --- /dev/null +++ b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json @@ -0,0 +1,257 @@ +{ + "folder": "G0anvImB7zZBUe8a", + "name": "Transcendence", + "type": "feature", + "_id": "th6HZwEFnVBjUtqm", + "img": "icons/magic/fire/elemental-fire-flying.webp", + "system": { + "description": "Once per long rest, you can transform into a physical manifestation of your element. When you do, describe your transformation and choose two of the following benefits to gain until your next rest:
+4 bonus to your Severe threshold
+1 bonus to a character trait of your choice
+1 bonus to your Proficiency
+2 bonus to your Evasion
Once per long rest, you can transform into a physical manifestation of your element. When you do, describe your transformation and choose two of the following benefits to gain until your next rest:
+4 bonus to your Severe threshold
+1 bonus to a character trait of your choice
+1 bonus to your Proficiency
+2 bonus to your Evasion
+4 bonus to your Severe threshold
", + "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", + "lastModifiedBy": null + }, + "_key": "!items.effects!th6HZwEFnVBjUtqm.zFOpzO3tBJPcZcRc" + }, + { + "name": "Bonus to Trait", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "_id": "cTgSmxkTi89y6sbc", + "img": "icons/magic/fire/elemental-fire-flying.webp", + "changes": [], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "+1 bonus to a character trait of your choice
", + "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", + "lastModifiedBy": null + }, + "_key": "!items.effects!th6HZwEFnVBjUtqm.cTgSmxkTi89y6sbc" + }, + { + "name": "Bonus to Proficiency", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "_id": "oWf3iXf4dawdbmzd", + "img": "icons/magic/fire/elemental-fire-flying.webp", + "changes": [ + { + "key": "system.proficiency", + "mode": 2, + "value": "+1", + "priority": null + } + ], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "+1 bonus to your Proficiency
", + "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", + "lastModifiedBy": null + }, + "_key": "!items.effects!th6HZwEFnVBjUtqm.oWf3iXf4dawdbmzd" + }, + { + "name": "Bonus to Evasion", + "type": "base", + "system": { + "rangeDependence": { + "enabled": false, + "type": "withinRange", + "target": "hostile", + "range": "melee" + } + }, + "_id": "2LCF6lSnWFqNiPs5", + "img": "icons/magic/fire/elemental-fire-flying.webp", + "changes": [], + "disabled": true, + "duration": { + "startTime": null, + "combat": null, + "seconds": null, + "rounds": null, + "turns": null, + "startRound": null, + "startTurn": null + }, + "description": "+2 bonus to your Evasion
", + "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", + "lastModifiedBy": null + }, + "_key": "!items.effects!th6HZwEFnVBjUtqm.2LCF6lSnWFqNiPs5" + } + ], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349515898, + "modifiedTime": 1754349515898, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!th6HZwEFnVBjUtqm" +} diff --git a/src/packs/subclasses/folders_Sorcerer_3PV3wn7IGmusnf4p.json b/src/packs/subclasses/folders_Sorcerer_3PV3wn7IGmusnf4p.json new file mode 100644 index 00000000..be3de2fa --- /dev/null +++ b/src/packs/subclasses/folders_Sorcerer_3PV3wn7IGmusnf4p.json @@ -0,0 +1,22 @@ +{ + "type": "Item", + "folder": "Br5kHZnnjGzz4RJ9", + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "3PV3wn7IGmusnf4p", + "description": "", + "sort": 500000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": "Q9NoTaEarn3VMS6Z", + "modifiedTime": 1754349511092 + }, + "_key": "!folders!3PV3wn7IGmusnf4p" +} diff --git a/src/packs/subclasses/folders_Sorcerer_F0mW5ofdyyfE2hHo.json b/src/packs/subclasses/folders_Sorcerer_F0mW5ofdyyfE2hHo.json new file mode 100644 index 00000000..8358cbaf --- /dev/null +++ b/src/packs/subclasses/folders_Sorcerer_F0mW5ofdyyfE2hHo.json @@ -0,0 +1,23 @@ +{ + "type": "Item", + "folder": null, + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "F0mW5ofdyyfE2hHo", + "description": "", + "sort": 800000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349604935, + "modifiedTime": 1754349604956, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!folders!F0mW5ofdyyfE2hHo" +} diff --git a/src/packs/subclasses/folders_Sorcerer_G0anvImB7zZBUe8a.json b/src/packs/subclasses/folders_Sorcerer_G0anvImB7zZBUe8a.json new file mode 100644 index 00000000..f1b1a630 --- /dev/null +++ b/src/packs/subclasses/folders_Sorcerer_G0anvImB7zZBUe8a.json @@ -0,0 +1,22 @@ +{ + "type": "Item", + "folder": "37B1HLu8gv8sSDNI", + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "G0anvImB7zZBUe8a", + "description": "", + "sort": 100000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": "Q9NoTaEarn3VMS6Z", + "modifiedTime": 1754349520222 + }, + "_key": "!folders!G0anvImB7zZBUe8a" +} diff --git a/src/packs/subclasses/folders_Sorcerer_sRNZtEniwaOIQ2rY.json b/src/packs/subclasses/folders_Sorcerer_sRNZtEniwaOIQ2rY.json new file mode 100644 index 00000000..c15c5e66 --- /dev/null +++ b/src/packs/subclasses/folders_Sorcerer_sRNZtEniwaOIQ2rY.json @@ -0,0 +1,22 @@ +{ + "type": "Item", + "folder": "QBeb6IqRnhTXzRtd", + "name": "Sorcerer", + "color": null, + "sorting": "a", + "_id": "sRNZtEniwaOIQ2rY", + "description": "", + "sort": 500000, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "lastModifiedBy": "Q9NoTaEarn3VMS6Z", + "modifiedTime": 1754349507044 + }, + "_key": "!folders!sRNZtEniwaOIQ2rY" +} diff --git a/src/packs/subclasses/subclass_Elemental_Origin_wg1H0hROc2acHwZh.json b/src/packs/subclasses/subclass_Elemental_Origin_wg1H0hROc2acHwZh.json new file mode 100644 index 00000000..b1e5f67e --- /dev/null +++ b/src/packs/subclasses/subclass_Elemental_Origin_wg1H0hROc2acHwZh.json @@ -0,0 +1,46 @@ +{ + "folder": "F0mW5ofdyyfE2hHo", + "name": "Elemental Origin", + "type": "subclass", + "_id": "wg1H0hROc2acHwZh", + "img": "icons/magic/water/orb-water-ice-pink.webp", + "system": { + "description": "Play the Elemental Origin if you want to channel raw magic to
take the shape of a particular element
", + "spellcastingTrait": "instinct", + "features": [ + { + "type": "foundation", + "item": "Compendium.daggerheart.subclasses.Item.dPcqKN5NeDkjB1HW" + }, + { + "type": "specialization", + "item": "Compendium.daggerheart.subclasses.Item.TnuLBtHQGbqyzn82" + }, + { + "type": "mastery", + "item": "Compendium.daggerheart.subclasses.Item.th6HZwEFnVBjUtqm" + } + ], + "featureState": 1, + "isMulticlass": false + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349604941, + "modifiedTime": 1754349648910, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!wg1H0hROc2acHwZh" +} diff --git a/src/packs/subclasses/subclass_Primal_Origin_GLpRVxnY5E82khxH.json b/src/packs/subclasses/subclass_Primal_Origin_GLpRVxnY5E82khxH.json new file mode 100644 index 00000000..e3f38604 --- /dev/null +++ b/src/packs/subclasses/subclass_Primal_Origin_GLpRVxnY5E82khxH.json @@ -0,0 +1,46 @@ +{ + "folder": "F0mW5ofdyyfE2hHo", + "name": "Primal Origin", + "type": "subclass", + "_id": "GLpRVxnY5E82khxH", + "img": "icons/magic/fire/flame-burning-hand-purple.webp", + "system": { + "description": "Play the Primal Origin if you want to extend the versatility of your spells in powerful ways.
", + "spellcastingTrait": "instinct", + "features": [ + { + "type": "mastery", + "item": "Compendium.daggerheart.subclasses.Item.yA4MKQ1tbKFiJoDB" + }, + { + "type": "specialization", + "item": "Compendium.daggerheart.subclasses.Item.4pVBN8cuKePI423V" + }, + { + "type": "foundation", + "item": "Compendium.daggerheart.subclasses.Item.UNg4eyNfEQrMdD7G" + } + ], + "featureState": 1, + "isMulticlass": false + }, + "effects": [], + "sort": 0, + "ownership": { + "default": 0, + "Q9NoTaEarn3VMS6Z": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.346", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1754349604941, + "modifiedTime": 1754349673276, + "lastModifiedBy": "Q9NoTaEarn3VMS6Z" + }, + "_key": "!items!GLpRVxnY5E82khxH" +}