diff --git a/main.js b/main.js index e69de29..ff8fc6d 100644 --- a/main.js +++ b/main.js @@ -0,0 +1,51 @@ + +Hooks.once("init", async function() { + + CONFIG.DND5E.spellcasting.blood = { + label: "Blood", + type: "single", + cantrips: true, + prepares: true, + order: 50, + progression: { + blood: { + label: "Blood", + divisor: 1, + roundUp: true + } + }, + table: { + 1: { slots: 1, level: 1 }, + 2: { slots: 2, level: 1 }, + 3: { slots: 3, level: 1 }, + 4: { slots: 4, level: 1 }, + 5: { slots: 5, level: 1 }, + 6: { slots: 6, level: 1 }, + 7: { slots: 7, level: 1 }, + 8: { slots: 8, level: 1 }, + 9: { slots: 9, level: 1 }, + 10: { slots: 10, level: 1 }, + 11: { slots: 11, level: 1 }, + 12: { slots: 12, level: 1 }, + 13: { slots: 13, level: 1 }, + 14: { slots: 14, level: 1 }, + 15: { slots: 15, level: 1 }, + 16: { slots: 16, level: 1 }, + 17: { slots: 17, level: 1 }, + 18: { slots: 18, level: 1 }, + 19: { slots: 19, level: 1 }, + 20: { slots: 20, level: 1 }, + } + }; + CONFIG.DND5E.restTypes.short.recoverSpellSlotTypes.add("blood"); + CONFIG.DND5E.restTypes.long.recoverSpellSlotTypes.add("blood"); + + class BloodSpellcasting extends dnd5e.dataModels.spellcasting.SingleLevelSpellcasting { + /** @override */ + static get TYPE() { + return "blood"; + } + } + + dnd5e.dataModels.spellcasting.SpellcastingModel.TYPES.blood = BloodSpellcasting; +}); \ No newline at end of file diff --git a/module.json b/module.json index 022ee58..b98aed9 100644 --- a/module.json +++ b/module.json @@ -140,11 +140,11 @@ "sorting": "m", "color": "#9b12db", "packs": [ - "caws-classes", - "caws-subclasses", - "caws-feats", - "caws-species", - "caws-backgrounds" + "caws-classes", + "caws-subclasses", + "caws-feats", + "caws-species", + "caws-backgrounds" ] }, {