diff --git a/Changelog.md b/Changelog.md index 1c3e5f6..ca5d25b 100644 --- a/Changelog.md +++ b/Changelog.md @@ -17,3 +17,17 @@ - Fixed several AC calculation items - Draconic Resilience feature, Unarmored Defense features + +# 0.2.0 + +- Finished converting over to CE, thanks to MrPrimate + +- Converted to a "behind the scenes" way of storing macro data, this will help with updates in the future. Any old item needs replacing, but that will be the last time its needed. + +- Macro Changes + + - Arcane Sword and Spiritual Weapon now can accept a `texture` as its second argument to give the template a texture + +- Warpgate + + - Added warpgate scripts for Animate Dead, Arcane Eye (with texture option), Arcane Hand (with texture option), Create Undead, Find Steed, Giant Insect and Unseen Servant (with texture option) \ No newline at end of file diff --git a/MidiSRD-macros.js b/MidiSRD-macros.js new file mode 100644 index 0000000..22f95db --- /dev/null +++ b/MidiSRD-macros.js @@ -0,0 +1,2224 @@ +class MidiMacros { + + static targets(args) { + const lastArg = args[args.length - 1]; + let tactor, ttoken; + if (lastArg.tokenId) { + ttoken = canvas.tokens.get(lastArg.tokenId); + tactor = ttoken.actor + } + else tactor = game.actors.get(lastArg.actorId); + return { actor: tactor, token: ttoken, lArgs: lastArg } + } + /** + * + * @param {Object} templateData + * @param {Actor5e} actor + */ + static templateCreation(templateData, actor) { + let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene }) + let template = new game.dnd5e.canvas.AbilityTemplate(doc) + template.actorSheet = actor.sheet; + template.drawPreview() + } + + /** + * + * @param {String} flagName + * @param {Actor5e} actor + */ + static async deleteTemplates(flagName, actor) { + let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags["midi-srd"]?.[flagName]?.ActorId === actor.id); + let templateArray = removeTemplates.map(function (w) { return w.id }) + if (removeTemplates) await canvas.scene.deleteEmbeddedDocuments("MeasuredTemplate", templateArray) + }; + + static async deleteTokens(flagName, actor) { + let removeTokens = canvas.tokens.placeables.filter(i => i.data.flags["midi-srd"]?.[flagName]?.ActorId === actor.id); + let tokenArray = removeTokens.map(function (w) { return w.id }) + if (removeTokens) await canvas.scene.deleteEmbeddedDocuments("Token", tokenArray) + }; + + /** + * + * @param {String} flagName + * @param {Actor5e} actor + */ + static async deleteItems(flagName, actor) { + let items = actor.items.filter(i => i.data.flags["midi-srd"]?.[flagName] === actor.id) + let itemArray = items.map(function (w) { return w.data._id }) + if (itemArray.length > 0) await actor.deleteEmbeddedDocuments("Item", [itemArray]); + } + + /** + * + * @param {String} name + * @param {Actor5e} actor + */ + static async addDfred(name, actor) { + await game.dfreds.effectInterface.addEffect({ effectName: name, uuid: actor.uuid }) + } + + /** + * + * @param {String} name + * @param {Actor5e} actor + */ + static async removeDfred(name, actor) { + await game.dfreds.effectInterface.removeEffect({ effectName: name, uuid: actor.uuid }) + } + + static async warpgateCrosshairs(source, maxRange, name, icon, tokenData, snap) { + const sourceCenter = source.center; + let cachedDistance = 0; + const checkDistance = async (crosshairs) => { + + while (crosshairs.inFlight) { + //wait for initial render + await warpgate.wait(100); + const ray = new Ray(sourceCenter, crosshairs); + const distance = canvas.grid.measureDistances([{ ray }], { gridSpaces: true })[0] + + //only update if the distance has changed + if (cachedDistance !== distance) { + cachedDistance = distance; + if (distance > maxRange) { + crosshairs.icon = 'icons/svg/hazard.svg' + } else { + crosshairs.icon = icon + } + crosshairs.draw() + crosshairs.label = `${distance}/${maxRange} ft` + } + } + + } + const callbacks = { + show: checkDistance + } + const location = await warpgate.crosshairs.show({ size: tokenData.width, icon: source.data.img, label: '0 ft.', interval: snap }, callbacks) + console.log(location) + + if (location.cancelled) return false; + if (cachedDistance > maxRange) { + ui.notifications.error(`${name} has a maximum range of ${maxRange} ft.`) + return false; + } + return location + } + + static async aid(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + let buf = (parseInt(args[1]) - 1) * 5; + let curHP = tactor.data.data.attributes.hp.value; + let curMax = tactor.data.data.attributes.hp.max; + + if (args[0] === "on") { + await actor.update({ "data.attributes.hp.value": curHP + buf }) + } else if (curHP > (curMax)) { + await actor.update({ "data.attributes.hp.value": curMax }) + + } + } + + static async alterSelf(args) { + //DAE Item Macro + const { actor, token, lArgs } = MidiMacros.targets(args) + let DAEitem = actor.items.find(i => i.name === `Unarmed Strike`); // find unarmed strike attack + if (args[0] === "on") { + new Dialog({ + title: "Are you using Natural Weapons", + content: "", + buttons: { + one: { + label: "Yes", + callback: async () => { + if (!DAEitem) { + await ChatMessage.create({ content: "No unarmed strike found" }); // exit out if no unarmed strike + return; + } + let copy_item = duplicate(DAEitem); + await DAE.setFlag(actor, 'AlterSelfSpell', copy_item.data.damage.parts[0][0]); //set flag of previous value + copy_item.data.damage.parts[0][0] = "1d6 +@mod"; //replace with new value + await await actor.updateEmbeddedDocuments("Item", [copy_item]); //update item + await ChatMessage.create({ content: "Unarmed strike is altered" }); + } + }, + two: { + label: "No", + callback: async () => await ChatMessage.create({ content: `Unarmed strike not altered` }) + }, + } + }).render(true); + } + if (args[0] === "off") { + let damage = DAE.getFlag(actor, 'AlterSelfSpell'); // find flag with previous values + if (!DAEitem) return; + let copy_item = duplicate(DAEitem); + copy_item.data.damage.parts[0][0] = damage; //replace with old value + await await actor.updateEmbeddedDocuments("Item", [copy_item]); //update item + await DAE.unsetFlag(actor, 'world', 'AlterSelfSpell',); //remove flag + await ChatMessage.create({ content: `Alter Self expired, unarmed strike returned` }); + } + } + + static async animateDead(args) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + let cycles = 1 + (lArgs.powerLevel - 3) * 2 + const buttonData = { + buttons: [{ + label: 'Zombie', + value: { + token: { name: "Zombie" }, + actor: { name: "Zombie" }, + } + }, { + label: 'Skeleton', + value: { + actor: { name: "Skeleton" }, + token: { name: "Skeleton" }, + } + } + ], title: 'Which type of Undead?' + }; + let pack = game.packs.get('dnd5e.monsters') + await pack.getIndex() + for (let i = 0; i < cycles; i++) { + let dialog = await warpgate.buttonDialog(buttonData); + let index = pack.index.find(i => i.name === dialog.actor.name) + let compendium = await pack.getDocument(index._id) + let updates = { + token: compendium.data.token, + actor: compendium.toObject() + } + await warpgate.spawn("MidiSRD", updates, {}, { controllingActor: actor }); + } + } + + static async arcaneEye(args, texture) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + const sourceItem = await fromUuid(lArgs.origin) + texture = texture || sourceItem.img + let updates = { + token: { "name": "Arcane Eye", "img": texture, "dimVision": 30, scale: 0.4, "flags": { "midi-srd": { "ArcaneEye": { "ActorId": actor.id } } } }, + actor: { "name": "Arcane Eye" } + } + let { x, y } = await MidiMacros.warpgateCrosshairs(token, 30, "Arcane Eye", texture, {}, -1) + + await warpgate.spawnAt({ x, y }, "MidiSRD", updates, { controllingActor: actor },); + } + if (args[0] === "off") { + await MidiMacros.deleteTokens("ArcaneEye", actor) + } + } + + static async arcaneHand(args, texture) { + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + const sourceItem = await fromUuid(lArgs.origin) + texture = texture || sourceItem.img + const summonerDc = actor.data.data.attributes.spelldc; + const summonerAttack = summonerDc - 8; + const summonerMod = getProperty(actor, `data.data.abilities.${getProperty(actor, 'data.data.attributes.spellcasting')}.mod`) + let fistScale = ''; + let graspScale = ''; + if ((lArgs.powerLevel - 5) > 0) { + fistScale = ` + ${((lArgs.powerLevel - 5) * 2)}d8[upcast]`; + } + if ((lArgs.powerLevel - 5) > 0) { + graspScale = ` + ${((lArgs.powerLevel - 5) * 2)}d6[upcast]`; + } + let updates = { + token: { "name": "Arcane Hand", "img": texture, height: 2, width: 2, "flags": { "midi-srd": { "ArcaneHand": { "ActorId": actor.id } } } }, + actor: { + "name": "Arcane Hand", + "data.attributes.hp": { value: actor.data.data.attributes.hp.max, max: actor.data.data.attributes.hp.max }, + }, + embedded: { + Item: { + "Clenched Fist": { + 'data.attackBonus': `- @mod - @prof + ${summonerAttack}`, + 'data.damage.parts': [[`4d8 ${fistScale}`, 'force']], + "type": "weapon" + }, + "Grasping Hand": { + 'data.damage.parts': [[`2d6 ${graspScale} + ${summonerMod}`, 'bludgeoning']], + "type": "weapon" + } + } + } + } + let { x, y } = await MidiMacros.warpgateCrosshairs(token, 120, "Arcane Hand", texture, { height: 2, width: 2 }, 1) + + await warpgate.spawnAt({ x, y }, "MidiSRD", updates, { controllingActor: actor }); + } + if (args[0] === "off") { + await MidiMacros.deleteTokens("ArcaneHand", actor) + } + } + + static async arcaneSword(args, texture) { + //DAE Macro Execute, Effect Value = "Macro Name" @target + const { actor, token, lArgs } = MidiMacros.targets(args) + + let casterToken = canvas.tokens.get(lArgs.tokenId) || token; + const DAEitem = lArgs.efData.flags.dae.itemData + const saveData = DAEitem.data.save + /** + * Create Arcane Sword item in inventory + */ + if (args[0] === "on") { + let image = DAEitem.img; + let range = canvas.scene.createEmbeddedDocuments("MeasuredTemplate", [{ + t: "circle", + user: game.user._id, + x: casterToken.x + canvas.grid.size / 2, + y: casterToken.y + canvas.grid.size / 2, + direction: 0, + distance: 60, + borderColor: "#FF0000", + flags: { DAESRD: { ArcaneSwordRange: { ActorId: actor.id } } } + //fillColor: "#FF3366", + }]); + range.then(result => { + let templateData = { + t: "rect", + user: game.user.id, + distance: 7, + direction: 45, + texture: texture || "", + x: 0, + y: 0, + flags: { DAESRD: { ArcaneSword: { ActorId: actor.id } } }, + fillColor: game.user.color + } + Hooks.once("createMeasuredTemplate", deleteTemplates); + + MidiMacros.templateCreation(templateData, actor) + MidiMacros.deleteTemplates("ArcaneSwordRange", data) + }) + await actor.createEmbeddedDocuments("Item", + [{ + "name": "Summoned Arcane Sword", + "type": "weapon", + "data": { + "quantity": 1, + "activation": { + "type": "action", + "cost": 1, + "condition": "" + }, + "target": { + "value": 1, + "type": "creature" + }, + "range": { + "value": 5, + "long": null, + "units": "" + }, + "ability": DAEitem.data.ability, + "actionType": "msak", + "attackBonus": "0", + "chatFlavor": "", + "critical": null, + "damage": { + "parts": [ + [ + `3d10`, + "force" + ] + ], + "versatile": "" + }, + "weaponType": "simpleM", + "proficient": true, + }, + "flags": { + "midi-srd": { + "ArcaneSword": + actor.id + } + }, + "img": image, + }] + ); + ui.notifications.notify("Arcane Sword created in your inventory") + } + + // Delete Arcane Sword + if (args[0] === "off") { + MidiMacros.deleteItems("ArcaneSword", data) + MidiMacros.deleteTemplates("ArcaneSwordRange", data) + } + } + + static async banishment(args) { + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + //DAE Macro, Effect Value = @target + const { actor, token, lArgs } = MidiMacros.targets(args) + + if (args[0] === "on") { + await token.document.update({ hidden: true }); // hide targeted token + await ChatMessage.create({ content: target.name + " was banished" }); + } + if (args[0] === "off") { + await token.document.update({ hidden: false }); // unhide token + await ChatMessage.create({ content: target.name + " returned" }); + } + } + + static async blindness(args) { + if (!game.modules.get("dfreds-convenient-effects")?.active) { ui.notifications.error("Please enable the CE module"); return; } + const { actor, token, lArgs } = MidiMacros.targets(args) + + if (args[0] === "on") { + new Dialog({ + title: "Choose an Effect", + buttons: { + one: { + label: "Blindness", + callback: async () => { + await DAE.setFlag(actor, "DAEBlind", "blind") + await MidiMacros.addDfred("Blinded", actor) + } + }, + two: { + label: "Deafness", + callback: async () => { + await DAE.setFlag(actor, "DAEBlind", "deaf") + await MidiMacros.addDfred("Deafened", actor) + } + } + }, + }).render(true); + } + if (args[0] === "off") { + let flag = DAE.getFlag(actor, "DAEBlind") + if (flag === "blind") { + await MidiMacros.removeDfred("Blinded", actor) + } else if (flag === "deaf") { + await MidiMacros.removeDfred("Deafened", actor) + } + await DAE.unsetFlag(actor, "DAEBlind") + } + } + + static async callLightning(args, texture) { + //DAE Macro no arguments passed + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEitem = lArgs.efData.flags.dae.itemData + const saveData = DAEitem.data.save + /** + * Create Call Lightning Bolt item in inventory + */ + if (args[0] === "on") { + let templateData = { + t: "circle", + user: game.user._id, + distance: 60, + direction: 0, + x: 0, + y: 0, + texture: texture || "", + flags: { DAESRD: { CallLighting: { ActorId: tactor.id } } }, + fillColor: game.user.color + } + MidiMacros.templateCreation(templateData, actor) + + await tactor.createEmbeddedDocuments("Item", + [{ + "name": "Call Lightning - bolt", + "type": "spell", + "data": { + "description": { + "value": "

A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one.

" + }, + "activation": { + "type": "action" + }, + "target": { + "value": 5, + "width": null, + "units": "ft", + "type": "radius" + }, + "ability": "", + "actionType": "save", + "damage": { + "parts": [ + [ + `${DAEitem.data.level}d10`, + "lightning" + ] + ], + "versatile": "" + }, + "formula": "", + "save": { + "ability": "dex", + "dc": 16, + "scaling": "spell" + }, + "level": 0, + "school": "abj", + "preparation": { + "mode": "prepared", + "prepared": false + }, + "scaling": { + "mode": "none", + "formula": "" + }, + }, + "flags": { "midi-srd": { "CallLighting": { "ActorId": tactor.id } } }, + "img": "systems/dnd5e/icons/spells/lighting-sky-2.jpg", + "effects": [] + }] + ); + } + + // Delete Flame Blade + if (args[0] === "off") { + MidiMacros.deleteItems("CallLighting", actor) + MidiMacros.deleteTemplates("CallLighting", actor) + } + } + + static async confusion(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "each") { + + let confusionRoll = await new Roll("1d10").evaluate({ async: false }).total; + let content; + switch (confusionRoll) { + case 1: + content = "The creature uses all its movement to move in a random direction. To determine the direction, roll a [[d8]] and assign a direction to each die face. The creature doesn't take an action this turn."; + break; + case 2: + content = " The creature doesn't move or take actions this turn."; + break; + case 3: + case 4: + case 5: + case 6: + case 7: + content = "The creature uses its action to make a melee attack against a randomly determined creature within its reach. If there is no creature within its reach, the creature does nothing this turn."; + break; + case 8: + case 9: + case 10: + content = "The creature can act and move normally."; + break; + } + await ChatMessage.create({ content: `Confusion roll for ${actor.name} is ${confusionRoll}:
` + content }); + } + } + + static async contagion(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + const dc = args[1] + + + if (args[0] === "on") { + + // Save the hook data for later access. + await DAE.setFlag(actor, "ContagionSpell", { + count: 0, + }); + } + + if (args[0] === "off") { + // When off, clean up hooks and flags. + + await DAE.unsetFlag(actor, "ContagionSpell",); + } + + if (args[0] === "each") { + let contagion = lArgs.efData; + if (contagion.label === "Contagion") + Contagion() + } + + /** + * Execute contagion effects, update flag counts or remove effect + * + * @param {Actor5e} combatant Current combatant to test against + * @param {Number} save Target DC for save + */ + async function Contagion() { + let flag = DAE.getFlag(actor, "ContagionSpell",); + const flavor = `${CONFIG.DND5E.abilities["con"]} DC${dc} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave("con", { flavor })).total; + + if (saveRoll < dc) { + if (flag.count === 2) { + await ChatMessage.create({ content: `Contagion on ${actor.name} is complete` }); + ContagionMessage(); + return; + } + else { + let contagionCount = (flag.count + 1); + await DAE.setFlag(actor, "ContagionSpell", { + count: contagionCount + }); + console.log(`Contagion increased to ${contagionCount}`); + } + } + else if (saveRoll >= dc) { + await actor.deleteEmbeddedDocuments("ActiveEffect", [lastArg.effectId]); + } + } + + /** + * Generates the GM client dialog for selecting final Effect, updates target effect with name, icon and new DAE effects. + */ + async function ContagionMessage() { + new Dialog({ + title: "Contagion options", + content: "

Select the effect

", + buttons: { + one: { + label: "Blinding Sickness", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.ability.check.wis", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.save.wis", + mode: 5, + priority: 20, + value: "1", + }, + ], + icon: "modules/dfreds-convenient-effects/images/blinded.svg", + label: "Blinding Sickness", + _id: lArgs.effectId + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + }, + }, + two: { + label: "Filth Fever", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.attack.mwak", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.attack.rwak", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.check.str", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.save.str", + mode: 5, + priority: 20, + value: "1", + }, + ], + label: "Filth Fever", + _id: lArgs.effectId, + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + } + }, + three: { + label: "Flesh Rot", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.ability.check.cha", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "data.traits.dv.all", + mode: 0, + priority: 20, + value: "1", + }, + ], + icon: "systems/dnd5e/icons/skills/blood_09.jpg", + label: "Flesh Rot", + _id: lArgs.effectId, + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + }, + }, + four: { + label: "Mindfire", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.ability.check.int", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.save.int", + mode: 5, + priority: 20, + value: "1", + }, + ], + icon: "icons/svg/daze.svg", + label: "Mindfire", + _id: lArgs.effectId, + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + } + }, + five: { + label: "Seizure", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.attack.mwak", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.attack.rwak", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.check.dex", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.save.dex", + mode: 5, + priority: 20, + value: "1", + }, + ], + icon: "icons/svg/paralysis.svg", + label: "Seizure", + _id: lArgs.effectId, + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + } + }, + six: { + label: "Slimy Doom", + callback: async () => { + let data = { + changes: [ + { + key: "flags.midi-qol.disadvantage.ability.check.con", + mode: 5, + priority: 20, + value: "1", + }, + { + key: "flags.midi-qol.disadvantage.ability.save.con", + mode: 5, + priority: 20, + value: "1", + }, + ], + icon: "systems/dnd5e/icons/skills/blood_05.jpg", + label: "Slimy Doom", + _id: lArgs.effecId, + } + await actor.updateEmbeddedDocuments("ActiveEffect", [data]); + } + }, + } + }).render(true); + } + + } + + static async createUndead(args) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + let spelllevel = lArgs.powerLevel + const buttonData = { + buttons: [{ + label: 'Ghouls', + value: { + token: { name: "Ghoul" }, + actor: { name: "Ghoul" }, + cycles: spelllevel - 3 + } + }, + ], title: 'Which type of Undead?' + }; + if (spelllevel > 7) buttonData.buttons.push({ + label: 'Wights', + value: { + actor: { name: "Wight" }, + token: { name: "Wight" }, + cycles: spelllevel - 6 + } + }, { + label: 'Ghasts', + value: { + actor: { name: "Ghast" }, + token: { name: "Ghast" }, + cycles: spelllevel - 6 + } + }) + if (spelllevel > 8) buttonData.buttons.push({ + label: 'Mummies', + value: { + actor: { name: "Mummy" }, + token: { name: "Mummy" }, + cycles: 2 + } + }) + let pack = game.packs.get('dnd5e.monsters') + await pack.getIndex() + let dialog = await warpgate.buttonDialog(buttonData); + let index = pack.index.find(i => i.name === dialog.actor.name) + let compendium = await pack.getDocument(index._id) + + let updates = { + token: compendium.data.token, + actor: compendium.toObject() + } + await warpgate.spawn("MidiSRD", updates, {}, { controllingActor: actor, duplicates: dialog.cycles }); + } + + static async darkness(args) { + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + let templateData = { + t: "circle", + user: game.user._id, + distance: 15, + direction: 0, + x: 0, + y: 0, + fillColor: game.user.color, + flags: { DAESRD: { Darkness: { ActorId: actor.id } } } + }; + + Hooks.once("createMeasuredTemplate", async (template) => { + let radius = canvas.grid.size * (template.data.distance / canvas.grid.grid.options.dimensions.distance) + circleWall(template.data.x, template.data.y, radius) + + await canvas.scene.deleteEmbeddedDocuments("MeasuredTemplate", [template.id]); + }); + MidiMacros.templateCreation(templateData, actor) + + async function circleWall(cx, cy, radius) { + let data = []; + const step = 30; + for (let i = step; i <= 360; i += step) { + let theta0 = Math.toRadians(i - step); + let theta1 = Math.toRadians(i); + + let lastX = Math.floor(radius * Math.cos(theta0) + cx); + let lastY = Math.floor(radius * Math.sin(theta0) + cy); + let newX = Math.floor(radius * Math.cos(theta1) + cx); + let newY = Math.floor(radius * Math.sin(theta1) + cy); + + data.push({ + c: [lastX, lastY, newX, newY], + move: CONST.WALL_MOVEMENT_TYPES.NONE, + sense: CONST.WALL_SENSE_TYPES.NORMAL, + dir: CONST.WALL_DIRECTIONS.BOTH, + door: CONST.WALL_DOOR_TYPES.NONE, + ds: CONST.WALL_DOOR_STATES.CLOSED, + flags: { DAESRD: { Darkness: { ActorId: actor.id } } } + }); + } + await canvas.scene.createEmbeddedDocuments("Wall", data) + } + } + + if (args[0] === "off") { + async function removeWalls() { + let darkWalls = canvas.walls.placeables.filter(w => w.data.flags["midi-srd"]?.Darkness?.ActorId === actor.id) + let wallArray = darkWalls.map(function (w) { + return w.data._id + }) + await canvas.scene.deleteEmbeddedDocuments("Wall", wallArray) + } + removeWalls() + } + } + + static async divineWord(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + + async function DivineWordApply(actor, targetHp) { + if (targetHp <= 20) { + await actor.update({ "data.attributes.hp.value": 0 }); + } else { + if (targetHp <= 30) { + if (!hasStunned) await MidiMacros.addDfred("Stunned", actor); + game.Gametime.doIn({ hours: 1 }, async () => { + await MidiMacros.removeDfred("Stunned", actor); + }); + } + if (targetHp <= 40) { + if (!hasBlinded) await MidiMacros.addDfred("Blinded", actor); + game.Gametime.doIn({ hours: 1 }, async () => { + await MidiMacros.removeDfred("Blinded", actor); + }); + } + if (targetHp <= 50) { + if (!hasDeafened) await MidiMacros.addDfred("Deafened", actor); + game.Gametime.doIn({ hours: 1 }, async () => { + await MidiMacros.removeDfred("Deafened", actor); + }); + } + } + } + if (args[0] === "on") { + DivineWordApply(actor, token.actor.data.data.attributes.hp.value) + } + } + + static async enhanceAbility(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + + if (args[0] === "on") { + new Dialog({ + title: "Choose enhance ability effect for " + actor.name, + buttons: { + one: { + label: "Bear's Endurance", + callback: async () => { + let formula = `2d6`; + let amount = new Roll(formula).roll().total; + await DAE.setFlag(actor, 'enhanceAbility', { + name: "bear", + }); + let effect = actor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.save.con", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + await ChatMessage.create({ content: `${actor.name} gains ${amount} temp Hp` }); + await actor.update({ "data.attributes.hp.temp": amount }); + } + }, + two: { + label: "Bull's Strength", + callback: async () => { + await ChatMessage.create({ content: `${actor.name}'s encumberance is doubled` }); + await DAE.setFlag(actor, 'enhanceAbility', { + name: "bull", + }); + let effect = actor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.check.str", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + await actor.setFlag('dnd5e', 'powerfulBuild', true); + } + }, + three: { + label: "Cat's Grace", + callback: async () => { + await ChatMessage.create({ content: `${actor.name} doesn't take damage from falling 20 feet or less if it isn't incapacitated.` }); + await DAE.setFlag(tactor, 'enhanceAbility', { + name: "cat", + }); + let effect = tactor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.check.dex", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + } + }, + four: { + label: "Eagle's Splendor", + callback: async () => { + await ChatMessage.create({ content: `${tactor.name} has advantage on Charisma checks` }); + await DAE.setFlag(tactor, 'enhanceAbility', { + name: "eagle", + }); + let effect = actor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.check.cha", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + } + }, + five: { + label: "Fox's Cunning", + callback: async () => { + await ChatMessage.create({ content: `${actor.name} has advantage on Intelligence checks` }); + await DAE.setFlag(actor, 'enhanceAbility', { + name: "fox", + }); + let effect = actor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.check.int", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + } + }, + five: { + label: "Owl's Wisdom", + callback: async () => { + await ChatMessage.create({ content: `${actor.name} has advantage on Wisdom checks` }); + await DAE.setFlag(actor, 'enhanceAbility', { + name: "owl", + }); + let effect = actor.effects.find(i => i.data.label === "Enhance Ability"); + let changes = effect.data.changes; + changes[1] = { + key: "flags.midi-qol.advantage.ability.check.wis", + mode: 0, + priority: 20, + value: `1`, + } + await effect.update({ changes }); + } + } + } + }).render(true); + } + + if (args[0] === "off") { + let flag = DAE.getFlag(actor, 'enhanceAbility'); + if (flag.name === "bull") actor.unsetFlag('dnd5e', 'powerfulBuild', false); + await DAE.unsetFlag(actor, 'enhanceAbility'); + await ChatMessage.create({ content: "Enhance Ability has expired" }); + } + } + + static async enlargeReduce(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + let originalSize = token.data.width; + let mwak = actor.data.data.bonuses.mwak.damage; + + if (args[0] === "on") { + new Dialog({ + title: "Enlarge or Reduce", + buttons: { + one: { + label: "Enlarge", + callback: async () => { + let bonus = mwak + "+ 1d4"; + let enlarge = (originalSize + 1); + await actor.update({ "data.bonuses.mwak.damage": bonus }); + await token.document.update({ "width": enlarge, "height": enlarge }); + await DAE.setFlag(actor, 'enlageReduceSpell', { + size: originalSize, + ogMwak: mwak, + }); + await ChatMessage.create({ content: `${token.name} is enlarged` }); + } + }, + two: { + label: "Reduce", + callback: async () => { + let bonus = mwak + " -1d4"; + let size = originalSize; + let newSize = (size > 1) ? (size - 1) : (size - 0.3); + await actor.update({ "data.bonuses.mwak.damage": bonus }); + await token.document.update({ "width": newSize, "height": newSize }); + await DAE.setFlag(actor, 'enlageReduceSpell', { + size: originalSize, + ogMwak: mwak, + }); + await ChatMessage.create({ content: `${token.name} is reduced` }); + } + }, + } + }).render(true); + } + if (args[0] === "off") { + let flag = DAE.getFlag(actor, 'enlageReduceSpell'); + await actor.update({ "data.bonuses.mwak.damage": flag.ogMwak }); + await token.document.update({ "width": flag.size, "height": flag.size }); + await DAE.unsetFlag(actor, 'enlageReduceSpell'); + await ChatMessage.create({ content: `${token.name} is returned to normal size` }); + } + } + + static async eyebite(args) { + if (!game.modules.get("dfreds-convenient-effects")?.active) { ui.notifications.error("Please enable the CE module"); return; } + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + + function EyebiteDialog() { + new Dialog({ + title: "Eyebite options", + content: "

Target a token and select the effect

", + buttons: { + one: { + label: "Asleep", + callback: async () => { + for (let t of game.user.targets) { + const flavor = `${CONFIG.DND5E.abilities["wis"]} DC${DC} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave("wis", { flavor, fastFoward: true })).total; + if (saveRoll < DC) { + await ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` }); + await MidiMacros.addDfred("Unconscious", actor); + } + else { + await ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` }); + } + } + } + }, + two: { + label: "Panicked", + callback: async () => { + for (let t of game.user.targets) { + const flavor = `${CONFIG.DND5E.abilities["wis"]} DC${DC} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave("wis", { flavor, fastFoward: true })).total; + if (saveRoll < DC) { + await ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` }); + await MidiMacros.addDfred("Frightened", actor); + } + else { + await ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` }); + } + } + } + }, + three: { + label: "Sickened", + callback: async () => { + for (let t of game.user.targets) { + const flavor = `${CONFIG.DND5E.abilities["wis"]} DC${DC} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave("wis", { flavor, fastFoward: true })).total; + if (saveRoll < DC) { + await ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` }); + await MidiMacros.addDfred("Poisoned", actor); + } + else { + await ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` }); + } + } + } + }, + } + }).render(true); + } + + if (args[0] === "on") { + EyebiteDialog(); + await ChatMessage.create({ content: `${target.name} is blessed with Eyebite` }); + } + //Cleanup hooks and flags. + if (args[0] === "each") { + EyebiteDialog(); + } + } + + static async findSteed(args) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + const menuData = { + inputs: [{ + label: "Fey", + type: "radio", + options: "group1" + }, + { + label: "Fiend", + type: "radio", + options: "group1" + }, + { + label: "Celestial", + type: "radio", + options: "group1" + } + ], + buttons: [{ + label: 'Warhorse', + value: { + token: { name: "Warhorse" }, + actor: { name: "Warhorse" }, + }, + }, + { + label: 'Pony', + value: { + token: { name: "Pony" }, + actor: { name: "Pony" }, + }, + }, + { + label: 'Camel', + value: { + token: { name: "Camel" }, + actor: { name: "Camel" }, + }, + }, + { + label: 'Elk', + value: { + token: { name: "Elk" }, + actor: { name: "Elk" }, + }, + }, + { + label: 'Mastiff', + value: { + token: { name: "Mastiff" }, + actor: { name: "Mastiff" }, + }, + }, + ], title: 'What type of steed?' + }; + let pack = game.packs.get('dnd5e.monsters') + await pack.getIndex() + let dialog = await warpgate.menu(menuData); + let index = pack.index.find(i => i.name === dialog.buttons.actor.name) + let compendium = await pack.getDocument(index._id) + + let updates = { + token: compendium.data.token, + actor: compendium.toObject() + } + updates.actor.data.details.type.value = dialog.inputs.find(i => !!i).toLowerCase() + await warpgate.spawn("MidiSRD", updates, {}, { controllingActor: actor, }); + } + + static async fireShield(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + new Dialog({ + title: "Warm or Cold Shield", + buttons: { + one: { + label: "Warm", + callback: async () => { + let resistances = duplicate(actor.data.data.traits.dr.value); + resistances.push("cold"); + await actor.update({ "data.traits.dr.value": resistances }); + await DAE.setFlag(actor, 'FireShield', "cold"); + await ChatMessage.create({ content: `${actor.name} gains resistnace to cold` }); + await actor.createEmbeddedDocuments("Item", [{ + "name": "Summoned Fire Shield", + "type": "weapon", + "img": "systems/dnd5e/icons/spells/protect-red-3.jpg", + "data": { + "source": "Fire Shield Spell", + "activation": { + "type": "special", + "cost": 0, + "condition": "whenever a creature within 5 feet of you hits you with a melee Attack" + }, + "actionType": "other", + "damage": { + "parts": [ + [ + "2d8", + "fire" + ] + ] + }, + "weaponType": "natural" + }, + "effects": [] + }]) + } + }, + two: { + label: "Cold", + callback: async () => { + let resistances = duplicate(actor.data.data.traits.dr.value); + resistances.push("fire"); + await actor.update({ "data.traits.dr.value": resistances }); + await DAE.setFlag(actor, 'FireShield', "fire"); + await ChatMessage.create({ content: `${actor.name} gains resistance to fire` }); + await actor.createEmbeddedDocuments("Item", [{ + "name": "Summoned Fire Shield", + "type": "weapon", + "img": "systems/dnd5e/icons/spells/protect-blue-3.jpg", + "data": { + "source": "Fire Shield Spell", + "activation": { + "type": "special", + "cost": 0, + "condition": "whenever a creature within 5 feet of you hits you with a melee Attack" + }, + "actionType": "other", + "damage": { + "parts": [ + [ + "2d8", + "cold" + ] + ] + }, + "weaponType": "natural" + }, + "effects": [] + }]) + } + }, + } + }).render(true); + } + if (args[0] === "off") { + let item = tactor.items.getName("Summoned Fire Shield") + let element = DAE.getFlag(tactor, 'FireShield'); + let resistances = tactor.data.data.traits.dr.value; + const index = resistances.indexOf(element); + resistances.splice(index, 1); + await tactor.update({ "data.traits.dr.value": resistances }); + await ChatMessage.create({ content: "Fire Shield expires on " + target.name }); + await DAE.unsetFlag(tactor, 'FireShield'); + await tactor.deleteEmbeddedDocuments("Item", [item.id]) + + } + } + + static async flameBlade(args) { + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + + if (args[0] === "on") { + let weaponDamge = 2 + Math.floor(DAEItem.data.level / 2); + await actor.createEmbeddedDocuments("Item", + [{ + "name": "Summoned Flame Blade", + "type": "weapon", + "data": { + "quantity": 1, + "activation": { + "type": "action", + "cost": 1, + "condition": "" + }, + "target": { + "value": 1, + "width": null, + "units": "", + "type": "creature" + }, + "range": { + "value": 5, + }, + "ability": "", + "actionType": "msak", + "attackBonus": "0", + "damage": { + "parts": [ + [ + `${weaponDamge}d6`, + "fire" + ] + ], + }, + "weaponType": "simpleM", + "proficient": true, + }, + "flags": { + "midi-srd": { + "FlameBlade": + actor.id + } + }, + "img": DAEItem.img, + "effects": [] + }] + ); + ui.notifications.notify("A Flame Blade appears in your inventory") + } + + // Delete Flame Blade + if (args[0] === "off") { + MidiMacros.deleteItems("FlameBlade", actor) + } + } + + static async fleshToStone(args) { + if (!game.modules.get("dfreds-convenient-effects")?.active) { ui.notifications.error("Please enable the CE module"); return; } + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + const saveData = DAEItem.data.save + let dc = args[1] + + if (args[0] === "on") { + await MidiMacros.addDfred("Restrained", actor) + await DAE.setFlag(tactor, "FleshToStoneSpell", { + successes: 0, + failures: 1 + }); + } + + if (args[0] === "off") { + await DAE.unsetFlag("world", "FleshToStoneSpell"); + await ChatMessage.create({ content: "Flesh to stone ends, if concentration was maintained for the entire duration,the creature is turned to stone until the effect is removed. " }); + } + + if (args[0] === "each") { + let flag = DAE.getFlag(actor, "FleshToStoneSpell"); + if (flag.failures === 3) return; + const flavor = `${CONFIG.DND5E.abilities[saveData.ability]} DC${dc} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave(saveData.ability, { flavor, fastForward: true })).total; + + if (saveRoll < dc) { + if (flag.failures === 2) { + let fleshToStoneFailures = (flag.failures + 1); + await DAE.setFlag(actor, "FleshToStoneSpell", { + failures: fleshToStoneFailures + }); + await ChatMessage.create({ content: `Flesh To Stone on ${actor.name} is complete` }); + FleshToStoneUpdate(); + return; + } + else { + let fleshToStoneFailures = (flag.failures + 1); + await DAE.setFlag(actor, "FleshToStoneSpell", { + failures: fleshToStoneFailures + }); + console.log(`Flesh To Stone failures increments to ${fleshToStoneFailures}`); + } + } + else if (saveRoll >= dc) { + if (flag.successes === 2) { + await ChatMessage.create({ content: `Flesh To Stone on ${actor.name} ends` }); + await actor.deleteEmbeddedDocuments("ActiveEffect", [lArgs.effectId]); + await MidiMacros.addDfred("Restrained", actor) + return; + } + else { + let fleshToStoneSuccesses = (flag.successes + 1); + await DAE.setFlag(actor, "FleshToStoneSpell", { + successes: fleshToStoneSuccesses + }); + console.log(`Flesh To Stone successes to ${fleshToStoneSuccesses}`); + } + } + } + + async function FleshToStoneUpdate() { + let fleshToStone = actor.effects.get(lArgs.effectId); + let icon = fleshToStone.data.icon; + if (game.modules.get("dfreds-convenient-effects").active) icon = "modules/dfreds-convenient-effects/images/petrified.svg"; + else icon = "icons/svg/paralysis.svg" + let label = fleshToStone.data.label; + label = "Flesh to Stone - Petrified"; + let time = fleshToStone.data.duration.seconds + time = 60000000 + await fleshToStone.update({ icon, label, time }); + } + } + + static async giantInsect(args) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + const buttonData = { + buttons: [{ + label: 'Centipedes', + value: { + token: { name: "Giant Centipede" }, + actor: { name: "Giant Centipede" }, + cycles: 10 + } + }, + { + label: 'Spiders', + value: { + token: { name: "Giant Spider" }, + actor: { name: "Giant Spider" }, + cycles: 3 + } + }, { + label: 'Wasps', + value: { + token: { name: "Giant Wasp" }, + actor: { name: "Giant Wasp" }, + cycles: 5 + } + }, { + label: 'Scorpion', + value: { + token: { name: "Giant Scorpion" }, + actor: { name: "Giant Scorpion" }, + cycles: 1 + } + }, + ], title: 'Which type of insect?' + }; + let pack = game.packs.get('dnd5e.monsters') + await pack.getIndex() + let dialog = await warpgate.buttonDialog(buttonData); + let index = pack.index.find(i => i.name === dialog.actor.name) + let compendium = await pack.getDocument(index._id) + + let updates = { + token: compendium.data.token, + actor: compendium.toObject() + } + updates.token.flags["midi-srd"] = { "GiantInsect": { ActorId: actor.id } } + await warpgate.spawn("MidiSRD", updates, {}, { controllingActor: actor, duplicates: dialog.cycles }); + } + if (args[0] === "off") { + MidiMacros.deleteTokens("GiantInsect", actor) + } + } + + static async invisibility(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + await ChatMessage.create({ content: `${token.name} turns invisible`, whisper: [game.user] }); + await token.document.update({ "hidden": true }); + } + if (args[0] === "off") { + await ChatMessage.create({ content: `${token.name} re-appears`, whisper: [game.user] }); + await token.document.update({ "hidden": false }); + } + } + + static async heroism(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + let mod = args[1]; + if (args[0] === "on") { + await ChatMessage.create({ content: `Heroism is applied to ${actor.name}` }) + } + if (args[0] === "off") { + await ChatMessage.create({ content: "Heroism ends" }); + } + if (args[0] === "each") { + let bonus = mod > actor.data.data.attributes.hp.temp ? mod : actor.data.data.attributes.hp.temp + await actor.update({ "data.attributes.hp.temp": mod }); + await ChatMessage.create({ content: "Heroism continues on " + actor.name }) + } + } + + static async laughter(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + const saveData = DAEItem.data.save + + let caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null) + + if (args[0] === "on") { + if (actor.data.data.abilities.int.value < 4) actor.deleteEmbeddedEntity("ActiveEffect", lArgs.efData._id) + RollHideousSave(target) + } + + async function RollHideousSave(target) { + console.log("SetHook") + const hookId = Hooks.on("preUpdateActor", async (actor, update) => { + if (!"actorData.data.attributes.hp" in update) return; + let oldHP = actor.data.data.attributes.hp.value; + let newHP = getProperty(update, "data.attributes.hp.value"); + let hpChange = oldHP - newHP + if (hpChange > 0 && typeof hpChange === "number") { + const flavor = `${CONFIG.DND5E.abilities["wis"]} DC${saveData.dc} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave(saveData.ability, { flavor, fastForward: true, advantage: true })).total; + if (saveRoll < saveData.dc) return; + await actor.deleteEmbeddedDocuments("ActiveEffect", [lArgs.efData._id]) + + } + }) + if (args[0] !== "on") { + const flavor = `${CONFIG.DND5E.abilities["wis"]} DC${saveData.dc} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave(saveData.ability, { flavor })).total; + if (saveRoll >= saveData.dc) { + actor.deleteEmbeddedDocuments("ActiveEffect", [lArgs.efData._id]) + } + } + await DAE.setFlag(actor, "hideousLaughterHook", hookId) + } + + async function RemoveHook() { + let flag = await DAE.getFlag(actor, 'hideousLaughterHook'); + Hooks.off("preUpdateActor", flag); + await DAE.unsetFlag(actor, "hideousLaughterHook"); + if (args[0] === "off") game.cub.addCondition("Prone", actor) + } + + if (args[0] === "off") { + RemoveHook() + } + + if (args[0] === "each") { + await RemoveHook() + await RollHideousSave() + } + } + + static async dance(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + const saveData = DAEItem.data.save + const DC = args[1] + + if (args[0] === "each") { + new Dialog({ + title: "Use action to make a wisdom save to end Irresistible Dance?", + buttons: { + one: { + label: "Yes", + callback: async () => { + const flavor = `${CONFIG.DND5E.abilities[saveData.ability]} DC${DC} ${DAEItem?.name || ""}`; + let saveRoll = (await actor.rollAbilitySave(saveData.ability, { flavor })).total; + + if (saveRoll >= DC) { + await actor.deleteEmbeddedDocuments("ActiveEffect", [lastArg.effectId]); + } + if (saveRoll < DC) { + await ChatMessage.create({ content: `${actor.name} fails the save` }); + } + } + }, + two: { + label: "No", + callback: () => { + } + } + } + }).render(true); + } + } + + static async levitate(args) { + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + await ChatMessage.create({ content: `${token.name} is levitated 20ft` }); + await token.document.update({ "elevation": 20 }); + } + if (args[0] === "off") { + await token.document.update({ "elevation": 0 }); + await ChatMessage.create({ content: `${token.name} is returned to the ground` }); + } + } + + static async magicWeapon(args) { + //DAE Item Macro Execute, arguments = @item.level + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + + let weapons = actor.items.filter(i => i.data.type === `weapon`); + let weapon_content = ``; + + function value_limit(val, min, max) { + return val < min ? min : (val > max ? max : val); + }; + //Filter for weapons + for (let weapon of weapons) { + weapon_content += ``; + } + + /** + * Select for weapon and apply bonus based on spell level + */ + if (args[0] === "on") { + let content = ` +
+
+ ${weapon_content} +
+
+ `; + + new Dialog({ + content, + buttons: + { + Ok: + { + label: `Ok`, + callback: async (html) => { + let itemId = $("input[type='radio'][name='weapon']:checked").val(); + let weaponItem = actor.items.get(itemId); + let copy_item = duplicate(weaponItem); + let spellLevel = Math.floor(DAEItem.data.level / 2); + let bonus = value_limit(spellLevel, 1, 3); + let wpDamage = copy_item.data.damage.parts[0][0]; + let verDamage = copy_item.data.damage.versatile; + await DAE.setFlag(tactor, `magicWeapon`, { + damage: weaponItem.data.data.attackBonus, + weapon: itemId, + weaponDmg: wpDamage, + verDmg: verDamage, + mgc: copy_item.data.properties.mgc + } + ); + if (copy_item.data.attackBonus === "") copy_item.data.attackBonus = "0" + copy_item.data.attackBonus = `${parseInt(copy_item.data.attackBonus) + bonus}`; + copy_item.data.damage.parts[0][0] = (wpDamage + " + " + bonus); + copy_item.data.properties.mgc = true + if (verDamage !== "" && verDamage !== null) copy_item.data.damage.versatile = (verDamage + " + " + bonus); + await actor.updateEmbeddedDocuments("Item", [copy_item]); + } + }, + Cancel: + { + label: `Cancel` + } + } + }).render(true); + } + + //Revert weapon and unset flag. + if (args[0] === "off") { + let { damage, weapon, weaponDmg, verDmg, mgc } = DAE.getFlag(actor, 'magicWeapon'); + let weaponItem = actor.items.get(weapon); + let copy_item = duplicate(weaponItem); + copy_item.data.attackBonus = damage; + copy_item.data.damage.parts[0][0] = weaponDmg; + copy_item.data.properties.mgc = mgc + if (verDmg !== "" && verDmg !== null) copy_item.data.damage.versatile = verDmg; + await actor.updateEmbeddedDocuments("Item", [copy_item]); + await DAE.unsetFlag(actor, `magicWeapon`); + } + } + + static async mistyStep(args) { + //DAE Macro Execute, Effect Value = "Macro Name" @target + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (args[0] === "on") { + let range = canvas.scene.createEmbeddedDocuments("MeasuredTemplate", [{ + t: "circle", + user: game.user._id, + x: token.x + canvas.grid.size / 2, + y: token.y + canvas.grid.size / 2, + direction: 0, + distance: 30, + borderColor: "#FF0000", + flags: { DAESRD: { MistyStep: { ActorId: actor.id } } } + }]); + range.then(result => { + let templateData = { + t: "rect", + user: game.user._id, + distance: 7.5, + direction: 45, + x: 0, + y: 0, + fillColor: game.user.color, + flags: { DAESRD: { MistyStep: { ActorId: actor.id } } } + }; + Hooks.once("createMeasuredTemplate", deleteTemplatesAndMove); + MidiMacros.templateCreation(templateData, actor) + async function deleteTemplatesAndMove(template) { + MidiMacros.deleteTemplates("MistyStep", actor) + await token.update({ x: template.data.x, y: template.data.y }, { animate: false }) + await actor.deleteEmbeddedDocuments("ActiveEffect", [lastArg.effectId]); + }; + }); + } + } + + static async moonbeam(args) { + //DAE Item Macro Execute, Effect Value = @attributes.spelldc + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + const saveData = DAEItem.data.save + const DC = args[1] + + if (args[0] === "on") { + let range = canvas.scene.createEmbeddedDocuments("MeasuredTemplate", [{ + t: "circle", + user: game.user._id, + x: token.x + canvas.grid.size / 2, + y: token.y + canvas.grid.size / 2, + direction: 0, + distance: 60, + borderColor: "#517bc9", + flags: { DAESRD: { MoonbeamRange: { ActorId: actor.id } } } + }]); + range.then(result => { + let templateData = { + t: "circle", + user: game.user._id, + distance: 5, + direction: 0, + x: 0, + y: 0, + flags: { + DAESRD: { Moonbeam: { ActorId: actor.id } } + }, + fillColor: game.user.color + } + Hooks.once("createMeasuredTemplate", MidiMacros.deleteTemplates("MoonbeamRange", actor)); + MidiMacros.templateCreation(templateData, actor) + }) + let damage = DAEItem.data.level; + await actor.createEmbeddedDocuments("Item", + [{ + "name": "Moonbeam repeating", + "type": "spell", + "data": { + "source": "Casting Moonbeam", + "ability": "", + "description": { + "value": "half damage on save" + }, + "actionType": "save", + "attackBonus": 0, + "damage": { + "parts": [[`${damage}d10`, "radiant"]], + }, + "formula": "", + "save": { + "ability": "con", + "dc": saveData.dc, + "scaling": "spell" + }, + "level": 0, + "school": "abj", + "preparation": { + "mode": "prepared", + "prepared": false + }, + + }, + "flags": { "midi-srd": { "Moonbeam": { "ActorId": tactor.id } } }, + "img": DAEItem.img, + "effects": [] + }] + ); + ; + } + if (args[0] === "off") { + MidiMacros.deleteItems("Moonbeam", actor) + MidiMacros.deleteTemplates("Moonbeam", actor) + } + } + + static async protectionFromEnergy(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + let content = ` +
+
+ + + + + +
+
+` + + if (args[0] === "on") { + new Dialog({ + title: 'Choose a damage type', + content: content, + buttons: { + yes: { + icon: '', + label: 'Yes', + callback: async (html) => { + let element = $("input[type='radio'][name='type']:checked").val(); + let resistances = actor.data.data.traits.dr.value; + resistances.push(element); + await actor.update({ "data.traits.dr.value": resistances }); + await DAE.setFlag(actor, 'ProtectionFromEnergy', element); + await ChatMessage.create({ content: `${actor.name} gains resistance to ${element}` }); + } + }, + }, + }).render(true, { width: 400 }); + } + if (args[0] === "off") { + let element = DAE.getFlag(actor, 'ProtectionFromEnergy'); + let resistances = actor.data.data.traits.dr.value; + const index = resistances.indexOf(element); + resistances.splice(index, 1); + await actor.update({ "data.traits.dr.value": resistances }); + await DAE.unsetFlag(actor, 'ProtectionFromEnergy'); + await ChatMessage.create({ content: `${actor.name} loses resistance to ${element}` }); + } + } + + static async rayOfEnfeeblement(args) { + if (!game.modules.get("advanced-macros")?.active) ui.notifications.error("Please enable the Advanced Macros module") + const { actor, token, lArgs } = MidiMacros.targets(args) + let weapons = actor.items.filter(i => i.data.type === `weapon`); + + /** + * For every str weapon, update the damage formulas to half the damage, set flag of original + */ + if (args[0] === "on") { + for (let weapon of weapons) { + if (weapon.abilityMod === "str") { + let newWeaponParts = duplicate(weapon.data.data.damage.parts); + await weapon.setFlag('world', 'RayOfEnfeeblement', newWeaponParts); + for (let part of weapon.data.data.damage.parts) { + part[0] = `floor((${part[0]})/2)`; + } + await weapon.update({ "data.damage.parts": weapon.data.data.damage.parts }); + } + } + } + + // Update weapons to old value + if (args[0] === "off") { + for (let weapon of weapons) { + let parts = weapon.getFlag('world', 'RayOfEnfeeblement'); + await weapon.update({ "data.damage.parts": parts }); + } + } + } + + static async regenerate(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + /** + * Set hooks to fire on combat update and world time update + */ + if (args[0] === "on") { + + // If 6s elapses, update HP by one + const timeHookId = Hooks.on("updateWorldTime", async (currentTime, updateInterval) => { + let effect = actor.effects.find(i => i.data.label === "Regenerate"); + let applyTime = effect.data.duration.startTime; + let expireTime = applyTime + effect.data.duration.seconds; + let healing = roundCount(currentTime, updateInterval, applyTime, expireTime); + await actor.applyDamage(-healing); + await ChatMessage.create({ content: `${actor.name} gains 1 hp` }); + } + ); + + actor.setFlag("world", "Regenerate", { + timeHook: timeHookId + } + ); + } + + if (args[0] === "off") { + async function RegenerateOff() { + let flag = await actor.getFlag('world', 'Regenerate'); + Hooks.off("updateWorldTime", flag.timeHook); + await actor.unsetFlag("world", "Regenerate"); + console.log("Regenerate removed"); + }; + RegenerateOff(); + } + + + /** + * + * @param {Number} currentTime current world time + * @param {Number} updateInterval amount the world time was incremented + * @param {Number} applyTime time the effect was applied + * @param {Number} expireTime time the effect should expire + */ + function roundCount(currentTime, updateInterval, applyTime, expireTime) { + // Don't count time before applyTime + if (currentTime - updateInterval < applyTime) { + let offset = applyTime - (currentTime - updateInterval); + updateInterval -= offset; + } + await + // Don't count time after expireTime + if (currentTime > expireTime) { + let offset = currentTime - expireTime; + currentTime = expireTime; + updateInterval -= offset; + } + + let sTime = currentTime - updateInterval; + let fRound = sTime + 6 - (sTime % 6); // Time of the first round + let lRound = currentTime - (currentTime % 6); // Time of the last round + let roundCount = 0; + if (lRound >= fRound) + roundCount = (lRound - fRound) / 6 + 1; + + return roundCount; + } + } + + static async shillelagh(args) { + const { actor, token, lArgs } = MidiMacros.targets(args) + // we see if the equipped weapons have base weapon set and filter on that, otherwise we just get all weapons + const filteredWeapons = actor.items + .filter((i) => i.data.type === "weapon" && (i.data.data.baseItem === "club" || i.data.data.baseItem === "quarterstaff")); + const weapons = (filteredWeapons.length > 0) + ? filteredWeapons + : actor.items.filter((i) => i.data.type === "weapon"); + + const weapon_content = weapons.map((w) => ``).join(""); + + if (args[0] === "on") { + const content = ` +
+ + +
+ `; + + new Dialog({ + title: "Choose a club or quarterstaff", + content, + buttons: { + Ok: { + label: "Ok", + callback: async (html) => { + const itemId = html.find("[name=weapons]")[0].value; + const weaponItem = actor.getEmbeddedDocument("Item", itemId); + const weaponCopy = duplicate(weaponItem); + await DAE.setFlag(actor, "shillelagh", { + id: itemId, + name: weaponItem.name, + damage: weaponItem.data.data.damage.parts[0][0], + ability: weaponItem.data.data.ability, + magical: getProperty(weaponItem, "data.properties.mgc") || false, + }); + const damage = weaponCopy.data.damage.parts[0][0]; + const targetAbilities = actor.data.data.abilities; + weaponCopy.data.damage.parts[0][0] = damage.replace(/1d(4|6)/g, "1d8"); + if (targetAbilities.wis.value > targetAbilities.str.value) weaponCopy.data.ability = "wis"; + weaponCopy.name = weaponItem.name + " [Shillelagh]"; + setProperty(weaponCopy, "data.properties.mgc", true); + await actor.updateEmbeddedDocuments("Item", [weaponCopy]); + await ChatMessage.create({ + content: weaponCopy.name + " is empowered by Shillelagh", + }); + }, + }, + Cancel: { + label: `Cancel`, + }, + }, + }).render(true); + } + + if (args[0] === "off") { + const flag = DAE.getFlag(target, "shillelagh"); + const weaponItem = target.getEmbeddedDocument("Item", flag.id); + const weaponCopy = duplicate(weaponItem); + weaponCopy.data.damage.parts[0][0] = flag.damage; + weaponCopy.data.ability = flag.ability; + weaponCopy.name = flag.name; + setProperty(weaponCopy, "data.properties.mgc", flag.magical); + await target.updateEmbeddedDocuments("Item", [weaponCopy]); + await DAE.unsetFlag(target, "shillelagh"); + await ChatMessage.create({ content: weaponCopy.name + " returns to normal" }); + } + } + + static async spiritualWeapon(args, texture) { + const { actor, token, lArgs } = MidiMacros.targets(args) + const castingItem = lArgs.efData.flags.dae.itemData + if (args[0] === "on") { + let damage = Math.floor(Math.floor(args[1] / 2)); + let image = castingItem.img; + let range = canvas.scene.createEmbeddedDocuments("MeasuredTemplate", [{ + t: "circle", + user: game.user._id, + x: target.x + canvas.grid.size / 2, + y: target.y + canvas.grid.size / 2, + direction: 0, + distance: 60, + borderColor: "#FF0000", + flags: { DAESRD: { SpiritualWeaponRange: { ActorId: actor.id } } } + }]); + range.then(result => { + let templateData = { + t: "rect", + user: game.user._id, + distance: 7, + direction: 45, + texture: texture || "", + x: 0, + y: 0, + flags: { DAESRD: { SpiritualWeapon: { ActorId: actor.id } } }, + fillColor: game.user.color + } + Hooks.once("createMeasuredTemplate", MidiMacros.deleteTemplates("SpiritualWeaponRange", actor)); + MidiMacros.templateCreation(templateData, actor) + }) + await actor.createEmbeddedDocuments("Item", + [{ + "name": "Summoned Spiritual Weapon", + "type": "weapon", + "data": { + "equipped": true, + "identified": true, + "activation": { + "type": "bonus", + }, + "target": { + "value": 1, + "width": null, + "type": "creature" + }, + "range": { + "value": 5, + "units": "ft" + }, + "ability": args[2], + "actionType": "msak", + "attackBonus": "0", + "chatFlavor": "", + "critical": null, + "damage": { + "parts": [[`${damage}d8+@mod`, "force"]], + }, + "weaponType": "simpleM", + "proficient": true + }, + "flags": { "midi-srd": { "SpiritualWeapon": actor.actor.id } }, + "img": `${image}`, + "effects": [] + }], + ); + ui.notifications.notify("Weapon created in your inventory") + } + if (args[0] === "off") { + MidiMacros.deleteItems("SpiritualWeapon", actor) + MidiMacros.deleteTemplates("SpiritualWeapon", actor) + } + } + + static async unseenServant(args, texture) { + if (!game.modules.get("warpgate")?.active) ui.notifications.error("Please enable the Warp Gate module") + const { actor, token, lArgs } = MidiMacros.targets(args) + if (!game.actors.getName("MidiSRD")) { await Actor.create({ name: "MidiSRD", type: "npc" }) } + texture = texture || lArgs.item.img + let updates = { + token: { + "name": "Unseen Servant", "img": texture + }, + actor: { + "name": "Unseen Servant", + "data.attributes": { "ac.value": 10, "hp.value": 1 }, + "data.abilities.str.value" : 2 + } + } + let { x, y } = await MidiMacros.warpgateCrosshairs(token, 60, "Unseen Servant", texture, {}, -1) + + await warpgate.spawnAt({ x, y }, "MidiSRD", updates, { controllingActor: actor },); + + } + static async wardingBond(args) { + //DAE Macro Execute, Effect Value = "Macro Name" @target @item + const { actor, token, lArgs } = MidiMacros.targets(args) + const DAEItem = lArgs.efData.flags.dae.itemData + let caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null) + if (args[0] === "on") { + await DAE.setFlag(actor, "WardingBondIds", { + tokenID: actor.id, + casterID: caster.actor.id + }) + SetWardingBondHook(token) + } + + async function SetWardingBondHook(token) { + const hookId = Hooks.on("preUpdateActor", async (actor, update) => { + let flag = await DAE.getFlag(actor, "WardingBondIds") + if (flag.tokenID !== actor.id) return + if (!"actorData.data.attributes.hp" in update) return; + let oldHP = actor.data.data.attributes.hp.value; + let newHP = getProperty(update, "data.attributes.hp.value"); + let hpChange = oldHP - newHP + if (hpChange > 0 && typeof hpChange === "number") { + let caster = game.actors.get(flag.casterID).getActiveTokens()[0] + caster.actor.applyDamage(hpChange) + } + }) + await DAE.setFlag(actor, "WardingBondHook", hookId) + } + + async function RemoveHook() { + let flag = await DAE.getFlag(actor, 'WardingBondHook'); + Hooks.off("preUpdateActor", flag); + await DAE.unsetFlag(actor, "WardingBondHook"); + } + + if (args[0] === "off") { + RemoveHook() + await DAE.unsetFlag(tactor, "WardingBondIds"); + console.log("Death Ward removed"); + } + + if (args[0] === "each") { + await RemoveHook() + await SetWardingBondHook() + } + } +} + +window.MidiMacros = MidiMacros \ No newline at end of file diff --git a/midiSRD-style.css b/midiSRD-style.css new file mode 100644 index 0000000..d1a564f --- /dev/null +++ b/midiSRD-style.css @@ -0,0 +1,67 @@ +.magicWeapon .form-group { + display: flex; + flex-wrap: wrap; + width: 100%; + align-items: flex-start; + } + + .magicWeapon .radio-label { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + justify-items: center; + flex: 1 0 25%; + line-height: normal; + } + + .magicWeapon .radio-label input { + display: none; + } + + .magicWeapon img { + border: 0px; + width: 50px; + height: 50px; + flex: 0 0 50px; + cursor: pointer; + } + + /* CHECKED STYLES */ + .magicWeapon [type=radio]:checked + img { + outline: 2px solid #f00; + } + + .protEnergy .form-group { + display: flex; + flex-wrap: wrap; + width: 100%; + align-items: flex-start; + } + + .protEnergy .radio-label { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + justify-items: center; + flex: 1 0 20%; + line-height: normal; + } + + .protEnergy .radio-label input { + display: none; + } + + .protEnergy img { + border: 0px; + width: 50px; + height: 50px; + flex: 0 0 50px; + cursor: pointer; + } + + /* CHECKED STYLES */ + .protEnergy [type=radio]:checked + img { + outline: 2px solid #f00; + } \ No newline at end of file diff --git a/module.json b/module.json index 9652a51..8b308d4 100644 --- a/module.json +++ b/module.json @@ -3,10 +3,12 @@ "title": "Midi SRD", "description": "DnD 5e SRD items, features and spells configured for Dynamic Active Effects and Midi QoL", "author": "Kandashi", - "version": "0.1.00", + "version": "0.2.00", "systems": [ "dnd5e" ], + "scripts" : "MidiSRD-macros.js", + "styles" : "midiSRD-styles.css", "minimumCoreVersion": "0.8.5", "compatibleCoreVersion": "0.8.6", "allowBugReporter": true, diff --git a/packs/spells.db b/packs/spells.db index d44b4c4..d9345ed 100644 --- a/packs/spells.db +++ b/packs/spells.db @@ -1,78 +1,81 @@ -{"_id":"0VzNMJQ7RY99wJGA","name":"Enlarge/Reduce","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

You cause a creature or an object you can see within range to grow larger or smaller for the Duration. Choose either a creature or an object that is neither worn nor carried. If the target is unwilling, it can make a Constitution saving throw. On a success, the spell has no effect.

\n

If the target is a creature, everything it is wearing and carrying changes size with it. Any item dropped by an affected creature returns to normal size at once.

\n

Enlarge. The target’s size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category—from Medium to Large, for example. If there isn’t enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength Checks and Strength Saving Throws. The target’s Weapons also grow to match its new size. While these Weapons are enlarged, the target’s attacks with them deal 1d4 extra damage.

\n

Reduce. The target’s size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category—from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength Checks and Strength Saving Throws. The target’s Weapons also shrink to match its new size. While these Weapons are reduced, the target’s attacks with them deal 1d4 less damage (this can’t reduce the damage below 1).

","chat":"","unidentified":""},"source":"PHB pg. 237","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A pinch of powdered iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"a7fBAHk1NcIg80wi","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Enlarge/Reduce","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"EnlargeReduce @target","mode":"+","targetSpecific":false,"id":1,"itemId":"l3i21wVEWMHVOXyj","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Enlarge/Reduce","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\n/**\n * For each target, the GM will have to choose \n */\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet target = canvas.tokens.get(lastArg.tokenId);\nlet originalSize = target.data.width;\nlet mwak = target.actor.data.data.bonuses.mwak.damage;\n\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Enlarge or Reduce\",\n buttons: {\n one: {\n label: \"Enlarge\",\n callback: () => {\n let bonus = mwak + \"+ 1d4\";\n let enlarge = (originalSize + 1);\n tactor.update({ \"data.bonuses.mwak.damage\": bonus });\n target.update({ \"width\": enlarge, \"height\": enlarge });\n DAE.setFlag(tactor, 'enlageReduceSpell', {\n size: originalSize,\n ogMwak: mwak,\n });\n ChatMessage.create({ content: `${target.name} is enlarged` });\n }\n },\n two: {\n label: \"Reduce\",\n callback: () => {\n let bonus = mwak + \" -1d4\";\n let size = originalSize;\n let newSize = (size > 1) ? (size - 1) : (size - 0.3);\n tactor.update({ \"data.bonuses.mwak.damage\": bonus });\n target.update({ \"width\": newSize, \"height\": newSize });\n DAE.setFlag(tactor, 'enlageReduceSpell', {\n size: originalSize,\n ogMwak: mwak,\n });\n ChatMessage.create({ content: `${target.name} is reduced` });\n }\n },\n }\n }).render(true);\n}\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, 'enlageReduceSpell');\n tactor.update({ \"data.bonuses.mwak.damage\": flag.ogMwak });\n target.update({ \"width\": flag.size, \"height\": flag.size });\n DAE.unsetFlag(tactor, 'enlageReduceSpell');\n ChatMessage.create({ content: `${target.name} is returned to normal size` });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Enlarge/Reduce","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\n/**\n * For each target, the GM will have to choose \n */\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet target = canvas.tokens.get(lastArg.tokenId);\nlet originalSize = target.data.width;\nlet mwak = target.actor.data.data.bonuses.mwak.damage;\n\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Enlarge or Reduce\",\n buttons: {\n one: {\n label: \"Enlarge\",\n callback: () => {\n let bonus = mwak + \"+ 1d4\";\n let enlarge = (originalSize + 1);\n tactor.update({ \"data.bonuses.mwak.damage\": bonus });\n target.update({ \"width\": enlarge, \"height\": enlarge });\n DAE.setFlag(tactor, 'enlageReduceSpell', {\n size: originalSize,\n ogMwak: mwak,\n });\n ChatMessage.create({ content: `${target.name} is enlarged` });\n }\n },\n two: {\n label: \"Reduce\",\n callback: () => {\n let bonus = mwak + \" -1d4\";\n let size = originalSize;\n let newSize = (size > 1) ? (size - 1) : (size - 0.3);\n tactor.update({ \"data.bonuses.mwak.damage\": bonus });\n target.update({ \"width\": newSize, \"height\": newSize });\n DAE.setFlag(tactor, 'enlageReduceSpell', {\n size: originalSize,\n ogMwak: mwak,\n });\n ChatMessage.create({ content: `${target.name} is reduced` });\n }\n },\n }\n }).render(true);\n}\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, 'enlageReduceSpell');\n tactor.update({ \"data.bonuses.mwak.damage\": flag.ogMwak });\n target.update({ \"width\": flag.size, \"height\": flag.size });\n DAE.unsetFlag(tactor, 'enlageReduceSpell');\n ChatMessage.create({ content: `${target.name} is returned to normal size` });\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.0VzNMJQ7RY99wJGA"}}} -{"_id":"1998iBxDW9aRFCYF","name":"Dominate Person","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You attempt to beguile a humanoid that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the target is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell using a 6th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 7th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 8th level or higher, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 235","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"svWQXmnuGuAc72FC","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","label":"Dominate Person","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"gKzO4fpcwMOcAGi7","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.1998iBxDW9aRFCYF"}}} -{"_id":"1X15PXtKKJUD5ePr","name":"Entangle","type":"spell","img":"systems/dnd5e/icons/spells/vines-acid-2.jpg","data":{"description":{"value":"

Grasping weeds and vines sprout from the ground in a 20-foot square starting from a point within range. For the Duration, these Plants turn the ground in the area into difficult terrain.

\n

A creature in the area when you cast the spell must succeed on a Strength saving throw or be Restrained by the entangling Plants until the spell ends. A creature restra⁠ined by the plant⁠s can use its action to make a Stren⁠gth check against your spell save DC. On a success, it frees itself.

\n

When the spell ends, the conjured Plants wilt away.

","chat":"","unidentified":""},"source":"PHB pg. 238","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"square"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":1,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"fL50SYZFFjEbIbgI","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Restrained","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/vines-acid-2.jpg","label":"Entangle","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Restrained","mode":"+","targetSpecific":false,"id":1,"itemId":"SC2lBI48lFJMM3B3","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.1X15PXtKKJUD5ePr"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"26xAryg5qdG9n23b","name":"Enhance Ability","type":"spell","img":"systems/dnd5e/icons/spells/haste-royal-2.jpg","data":{"description":{"value":"

You touch a creature and bestow upon it a magical enhancement. Choose one of the following effects; the target gains that effect until the spell ends.

\n\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

\n

 

","chat":"","unidentified":""},"source":"PHB pg. 237","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Fur or a feather from a beast","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"8uI9aer4rZEihWfG","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-royal-2.jpg","label":"Enhance Ability","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"Enhance Ability\"","mode":"+","targetSpecific":false,"id":1,"itemId":"yZNhz0so7VoYLpZZ","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.26xAryg5qdG9n23b"},"itemacro":{"macro":{"_data":{"name":"Enhance Ability","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" \n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\n\n/**\n * For each target select the effect (GM selection)\n */\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Choose enhance ability effect for \" + tactor.name,\n buttons: {\n one: {\n label: \"Bear's Endurance\",\n callback: () => {\n let formula = `2d6`;\n let amount = new Roll(formula).roll().total;\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"bear\",\n });\n ChatMessage.create({ content: `${tactor.name} gains ${amount} temp Hp` });\n tactor.update({ \"data.attributes.hp.temp\": amount });\n\n }\n },\n two: {\n label: \"Bull's Strength\",\n callback: () => {\n ChatMessage.create({ content: `${tactor.name}'s encumberance is doubled` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"bull\",\n });\n tactor.setFlag('dnd5e', 'powerfulBuild', true);\n }\n },\n three: {\n label: \"Other\",\n callback: () => {\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"other\",\n });\n ChatMessage.create({ content: `A non automated Ability was enhanced for ${tactor.name}`});\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, 'enhanceAbility');\n if (flag.name === \"bull\") tactor.unsetFlag('dnd5e', 'powerfulBuild', false);\n DAE.unsetFlag(tactor, 'enhanceAbility');\n ChatMessage.create({ content: \"Enhance Ability has expired\" });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Enhance Ability","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\n// only works with midi qol and speed roll ability checks\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\n\n/**\n * For each target select the effect (GM selection)\n */\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Choose enhance ability effect for \" + tactor.name,\n buttons: {\n one: {\n label: \"Bear's Endurance\",\n callback: async () => {\n let formula = `2d6`;\n let amount = new Roll(formula).roll().total;\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"bear\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.save.con\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n ChatMessage.create({ content: `${tactor.name} gains ${amount} temp Hp` });\n await tactor.update({ \"data.attributes.hp.temp\": amount });\n }\n },\n two: {\n label: \"Bull's Strength\",\n callback: async () => {\n ChatMessage.create({ content: `${tactor.name}'s encumberance is doubled` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"bull\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.check.str\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n await tactor.setFlag('dnd5e', 'powerfulBuild', true);\n }\n },\n three: {\n label: \"Cat's Grace\",\n callback: async () => {\n ChatMessage.create({ content: `${tactor.name} doesn't take damage from falling 20 feet or less if it isn't incapacitated.` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"cat\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.check.dex\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n }\n },\n four: {\n label: \"Eagle's Splendor\",\n callback: async () => {\n ChatMessage.create({ content: `${tactor.name} has advantage on Charisma checks` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"eagle\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.check.cha\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n }\n },\n five: {\n label: \"Fox's Cunning\",\n callback: async () => {\n ChatMessage.create({ content: `${tactor.name} has advantage on Intelligence checks` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"fox\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.check.int\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n }\n },\n five: {\n label: \"Owl's Wisdom\",\n callback: async () => {\n ChatMessage.create({ content: `${tactor.name} has advantage on Wisdom checks` });\n DAE.setFlag(tactor, 'enhanceAbility', {\n name: \"owl\",\n });\n let effect = tactor.effects.find(i => i.data.label === \"Enhance Ability\");\n let changes = effect.data.changes;\n changes[1] = {\n key: \"flags.midi-qol.advantage.ability.check.wis\",\n mode: 0,\n priority: 20,\n value: `1`,\n }\n await effect.update({ changes });\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, 'enhanceAbility');\n if (flag.name === \"bull\") tactor.unsetFlag('dnd5e', 'powerfulBuild', false);\n DAE.unsetFlag(tactor, 'enhanceAbility');\n ChatMessage.create({ content: \"Enhance Ability has expired\" });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}}}} -{"_id":"28A8EA8xotY1Bwmd","name":"Haste","type":"spell","img":"systems/dnd5e/icons/spells/haste-royal-2.jpg","data":{"description":{"value":"

Choose a willing creature that you can see within range. Until the spell ends, the target’s speed is doubled, it gains a +2 bonus to AC, it has advantage on Dexterity Saving Throws, and it gains an additional action on each of its turns. That action can be used only to take the Attack (one weapon attac⁠k only), Dash, Disengage, Hide, or Use an Object action.

\n

When the spell ends, the target can’t move or take Actions until after its next turn, as a wave of lethargy sweeps over it.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A shaving of licorice root","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""},"attributes":{"spelldc":10}},"effects":[{"_id":"0VoBuTMoLbqIwtJJ","flags":{"dae":{"transfer":false,"stackable":"none","macroRepeat":"none","specialDuration":[]}},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+2","priority":"20"},{"key":"flags.midi-qol.advantage.ability.save.dex","mode":2,"value":"+2","priority":"20"},{"key":"data.attributes.movement.all","mode":0,"value":"*2","priority":"10"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-royal-2.jpg","label":"Haste","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.abilities.cha.dc","data.attributes.movement.all"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.itemMacro","value":"@target","mode":"+","targetSpecific":false,"id":1,"itemId":"n4AhwxY8hCTyI5nb","active":true,"_targets":[]},{"modSpecKey":"data.attributes.ac.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"n4AhwxY8hCTyI5nb","active":true,"_targets":[],"label":"Attributes Armor Class"}]},"itemacro":{"macro":{"data":{"name":"Haste","type":"script","scope":"global","command":"","author":"devnIbfBHb74U9Zv"},"options":{},"apps":{},"compendium":null,"_data":{"name":"Haste","type":"script","scope":"global","command":"","author":"devnIbfBHb74U9Zv"}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.amrbkImxY8OJO528"},"midi-qol":{"onUseMacroName":""},"exportSource":{"world":"testWorld","system":"dnd5e","coreVersion":"0.7.7","systemVersion":"1.1.1"}}} -{"_id":"28KxBq0sSUZf0KJc","name":"Command","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-1.jpg","data":{"description":{"value":"

You speak a one-word command to a creature you can see within range. The target must succeed on a Wisdom saving throw or follow the command on its next turn. The spell has no effect if the target is undead, if it doesn’t understand your language, or if your command is directly harmful to it.

\n

Some typical commands and their effects follow. You might issue a command other than one described here. If you do so, the DM determines how the target behaves. If the target can’t follow your command, the spell ends.

\n

Approach. The target moves toward you by the shortest and most direct route, ending its turn if it moves within 5 feet of you.

\n

Drop. The target drops whatever it is holding and then ends its turn.

\n

Flee. The target spends its turn moving away from you by the fastest available means.

\n

Grovel. The target falls prone and then ends its turn.

\n

Halt. The target doesn’t move and takes no actions. A flying creature stays aloft, provided that it is able to do so. If it must move to stay aloft, it flies the minimum distance needed to remain in the air.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional creature for each slot level above 1st. The creatures must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 223","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"round"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"ReM07pjSJKdkTJFE","changes":[],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-1.jpg","label":"Command","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"Rkamxk5rL0RQpiYv","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.28KxBq0sSUZf0KJc"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"2xOEEH5Ga1S1lfbW","name":"Flesh to Stone","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

You attempt to turn one creature that you can see within range into stone. If the target’s body is made of flesh, the creature must make a Constitution saving throw. On a failed save, it is Restrained as its flesh begins to harden. On a successful save, the creature isn’t affected.

A creature Restrained by this spell must make another Constitution saving throw at the end of each of its turns. If it successfully saves against this spell three times, the spell ends. If it fails its saves three times, it is turned to stone and subjected to the Petrified condition for the Duration. The successes and failures don’t need to be consecutive; keep track of both until the target collects three of a kind.

If the creature is physically broken while Petrified, it suffers from similar deformities if it reverts to its original state.

If you maintain your Concentration on this spell for the entire possible Duration, the creature is turned to stone until the effect is removed.

","chat":"","unidentified":""},"source":"PHB pg. 243","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":6,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A pinch of lime, water, and earth","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"rcvkBwQW0yl4arjK","flags":{"dae":{"stackable":false,"specialDuration":["None"],"macroRepeat":"endEveryTurn","transfer":false}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Flesh to Stone","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Flesh to Stone","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"//DAE Macro, Effect Value = @attributes.spelldc\nif (!game.modules.get(\"advanced-macros\")?.active) { ui.notifications.error(\"Please enable the Advanced Macros module\"); return; }\nif(!game.modules.get(\"dfreds-convenient-effects\")?.active) {ui.notifications.error(\"Please enable the CE module\"); return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\nlet dc = args[1]\n\nif (args[0] === \"on\") {\n await game.dfreds.effectInterface.addEffect(\"Restrained\", tactor.uuid)\n await DAE.setFlag(tactor, \"FleshToStoneSpell\", {\n successes: 0,\n failures: 1\n });\n}\n\nif (args[0] === \"off\") {\n await DAE.unsetFlag(\"world\", \"FleshToStoneSpell\");\n ChatMessage.create({ content: \"Flesh to stone ends, if concentration was maintained for the entire duration,the creature is turned to stone until the effect is removed. \" });\n}\n\nif (args[0] === \"each\") {\n let flag = DAE.getFlag(tactor, \"FleshToStoneSpell\");\n if (flag.failures === 3) return;\n const flavor = `${CONFIG.DND5E.abilities[saveData.ability]} DC${dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor, fastForward : true })).total;\n\n if (saveRoll < dc) {\n if (flag.failures === 2) {\n let fleshToStoneFailures = (flag.failures + 1);\n\n await DAE.setFlag(tactor, \"FleshToStoneSpell\", {\n failures: fleshToStoneFailures\n });\n ChatMessage.create({ content: `Flesh To Stone on ${tactor.name} is complete` });\n FleshToStoneUpdate();\n return;\n }\n else {\n let fleshToStoneFailures = (flag.failures + 1);\n\n await DAE.setFlag(tactor, \"FleshToStoneSpell\", {\n failures: fleshToStoneFailures\n });\n console.log(`Flesh To Stone failures increments to ${fleshToStoneFailures}`);\n\n }\n }\n else if (saveRoll >= dc) {\n if (flag.successes === 2) {\n ChatMessage.create({ content: `Flesh To Stone on ${tactor.name} ends` });\n await tactor.deleteEmbeddedDocuments(\"ActiveEffect\", [lastArg.effectId]);\n await game.dfreds.effectInterface.removeEffect(\"Restrained\", tactor.uuid)\n return;\n }\n else {\n let fleshToStoneSuccesses = (flag.successes + 1);\n await DAE.setFlag(tactor, \"FleshToStoneSpell\", {\n successes: fleshToStoneSuccesses\n });\n console.log(`Flesh To Stone successes to ${fleshToStoneSuccesses}`);\n }\n }\n}\n\n/**\n * Update token with accurate DAE effect\n */\nasync function FleshToStoneUpdate() {\n let fleshToStone = tactor.effects.get(lastArg.effectId);\n let icon = fleshToStone.data.icon;\n if (game.modules.get(\"dfreds-convenient-effects\").active) icon = \"modules/dfreds-convenient-effects/images/petrified.svg\";\n else icon = \"icons/svg/paralysis.svg\"\n let label = fleshToStone.data.label;\n label = \"Flesh to Stone - Petrified\";\n let time = fleshToStone.data.duration.seconds\n time = 60000000\n await fleshToStone.update({ icon, label, time });\n\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.2xOEEH5Ga1S1lfbW"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"4JKnHIctiiJhJifq","name":"Guiding Bolt","type":"spell","img":"systems/dnd5e/icons/spells/fireball-sky-2.jpg","data":{"description":{"value":"

A flash of light streaks toward a creature of your choice within range. Make a ranged spell attack against the target. On a hit, the target takes 4d6 radiant damage, and the next attack roll made against this target before the end of your next turn has advantage, thanks to the mystical dim light glittering on the target until then.

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 248","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"round"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d6","radiant"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d6"}},"effects":[{"_id":"VrcwRw5coeFnTjAp","flags":{"dae":{"stackable":false,"specialDuration":"isAttacked","transfer":false}},"changes":[{"key":"flags.midi-qol.grants.advantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fireball-sky-2.jpg","label":"Guiding Bolt","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.QP2aMr0hangVZX5f"}}} -{"_id":"9HAjPK8SJQeVye9Z","name":"Vicious Mockery","type":"spell","img":"icons/skills/toxins/cup-goblet-poisoned-spilled.webp","data":{"description":{"value":"

You unleash a string of insults laced with subtle enchantments at a creature you can see within range. If the target can hear you (though it need not understand you), it must succeed on a Wisdom saving throw or take 1d4 psychic damage and have disadvantage on the next attack roll it makes before the end of its next turn.

\n

This spell’s damage increases by 1d4 when you reach 5th level (2d4), 11th level (3d4), and 17th level (4d4).

","chat":"","unidentified":""},"source":"PHB pg. 285","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["1d4","psychic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":0,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"cantrip","formula":""}},"effects":[{"_id":"Hx46i1074n2gxUgp","flags":{"dae":{"stackable":false,"transfer":false,"specialDuration":"1Attack"},"ActiveAuras":{"isAura":false,"inactive":false,"hidden":false,"aura":"None","radius":null}},"changes":[{"key":"flags.midi-qol.disadvantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/skills/affliction_24.jpg","label":"Vicious Mockery","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"midi-qol":{"onUseMacroName":""},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.SWWBy4VstTKHf8Cd"}}} -{"_id":"9jAiOoDIA5EdZHin","name":"Hold Person","type":"spell","img":"systems/dnd5e/icons/spells/shielding-eerie-2.jpg","data":{"description":{"value":"

Choose a humanoid that you can see within range. The target must succeed on a Wisdom saving throw or be paralyzed for the duration. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target.

\n

Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional humanoid for each slot level above 2nd. The humanoids must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":2,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small, straight piece of iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"mB6EIRzl7qH08vDu","changes":[{"key":"macro.CUB","mode":0,"value":"Paralyzed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/shielding-eerie-2.jpg","label":"Hold Person","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"macro.CUB"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Paralyzed","mode":"+","targetSpecific":false,"id":1,"itemId":"OG2582mWdvDlpOLo","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.9jAiOoDIA5EdZHin"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"AOchbceeKrPusKst","name":"Ray of Frost","type":"spell","img":"systems/dnd5e/icons/spells/beam-blue-1.jpg","data":{"description":{"value":"

A frigid beam of blue-white light streaks toward a creature within range. Make a ranged spell attack against the target. On a hit, it takes 1d8 cold damage, and its speed is reduced by 10 feet until the start of your next turn.

\n

The spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["1d8","cold"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"cantrip","formula":""}},"effects":[{"_id":"dNFOxJA3UGDHtSmJ","flags":{"dae":{"transfer":false,"stackable":false}},"changes":[{"key":"data.attributes.movement.walk","value":"-10","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-blue-1.jpg","label":"Ray of Frost","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Ray of Frost\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"6Oqiqd9OC1K8G9es","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.FyPDa7dCge2GASdr"}}} -{"_id":"AwMLvifkyNIYzSUh","name":"Divine Word","type":"spell","img":"systems/dnd5e/icons/spells/light-royal-3.jpg","data":{"description":{"value":"

You utter a divine word, imbued with the power that shaped the world at the dawn of Creation. Choose any number of creatures you can see within range. Each creature that can hear you must make a Charisma saving throw. On a failed save, a creature suffers an effect based on its current hit points:

\n\n

Regardless of its current Hit Points, a Celestial, an elemental, a fey, or a fiend that fails its save is forced back to its plane of Origin (if it isn’t there already) and can’t return to your current plane for 24 hours by any means short of a wish spell.

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":0,"width":null,"units":"any","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell","value":""},"level":7,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Myt28nWsdGluTtkO","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"none"}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-royal-3.jpg","label":"Divine Word","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":""},"itemacro":{"macro":{"_data":{"name":"Divine Word","type":"script","scope":"global","command":"////DAE Item Macro, requires CUB and About Time\n\n/**\n * Apply Divine Word to targeted tokens\n * @param {Number} targetHp \n * @param {Boolean} linked \n */\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet target = canvas.tokens.get(args[1]);\n\nasync function DivineWordApply(target, targetHp, linked) {\n switch (targetHP) {\n case (targetHp <= 20): {\n if (linked = true) {\n await tactor.update({ \"data.attributes.hp.value\": 0 });\n } else if (linked = false) {\n await target.update({ \"actorData.data.attributes.hp.value\": 0 })\n }\n }\n break;\n case (targetHp <= 30): {\n await game.cub.addCondition([\"Blinded\", \"Deafened\", \"Stunned\"], target)\n game.Gametime.doIn({ hours: 1 }, async () => {\n game.cub.removeCondition([\"Blinded\", \"Deafened\", \"Stunned\"], target)\n });\n }\n break;\n\n case (targetHp <= 40): {\n await game.cub.addCondition([\"Blinded\", \"Deafened\"], target)\n game.Gametime.doIn({ minutes: 10 }, async () => {\n game.cub.removeCondition([\"Blinded\", \"Deafened\", target])\n });\n }\n break;\n case (targetHp <= 50): {\n await game.cub.addCondition(\"Deafened\", target)\n game.Gametime.doIn({ minutes: 1 }, async () => {\n game.cub.removeCondition(\"Deafened\", target)\n });\n }\n break;\n }\n}\nif (args[0] === \"on\") {\n let targetHp = null;\n let linked = null;\n if (target.data.actorLink == true) {\n targetHp = target.actor.data.data.attributes.hp.value\n linked = true\n } else {\n targetHp = getProperty(target, \"actorData.data.attributes.hp\") || getProperty(target.actor, \"data.data.attributes.hp.value\")\n linked = false\n }\n DivineWordApply(target, targetHp, linked)\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Divine Word","type":"script","scope":"global","command":"////DAE Item Macro \n\n/**\n * Apply Divine Word to targeted tokens\n * @param {Number} targetHp \n * @param {Boolean} linked \n */\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nasync function DivineWordApply(target, targetHp) {\n\n if (targetHp <= 20) {\n await target.actor.update({ \"data.attributes.hp.value\": 0 });\n } else if (targetHp <= 30) {\n await game.cub.addCondition([\"Blinded\", \"Deafened\", \"Stunned\"], target)\n game.Gametime.doIn({ hours: 1 }, async () => {\n game.cub.removeCondition([\"Blinded\", \"Deafened\", \"Stunned\"], target)\n });\n } else if (targetHp <= 40) {\n await game.cub.addCondition([\"Blinded\", \"Deafened\"], target)\n game.Gametime.doIn({ minutes: 10 }, async () => {\n game.cub.removeCondition([\"Blinded\", \"Deafened\", target])\n });\n } else if (targetHp <= 50) {\n await game.cub.addCondition(\"Deafened\", target)\n game.Gametime.doIn({ minutes: 1 }, async () => {\n game.cub.removeCondition(\"Deafened\", target)\n });\n }\n}\nif (args[0] === \"on\") {\n DivineWordApply(target, target.actor.data.data.attributes.hp.value)\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.AwMLvifkyNIYzSUh"}}} -{"_id":"BdJOmZHsRt8GKEV2","name":"Hideous Laughter","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming Incapacitated and unable to stand up for the Duration. A creature with an Intelligence score of 4 or less isn’t affected.

\n

At the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it’s triggered by damage. On a success, the spell ends.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Tiny tarts and a feather that is waved in the air","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"p8nvAwS1VznmoAyq","changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"},{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveDc = @attributes.spelldc, saveAbility = wis, savingThrow=true","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Hideous Laughter","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false},"ActiveAuras":{"isAura":false,"aura":"None","radius":null,"alignment":"","type":"","ignoreSelf":false,"height":false,"hidden":false,"hostile":false,"onlyOnce":false}},"tint":null,"selectedKey":["macro.itemMacro","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Incapacitated","mode":"+","targetSpecific":false,"id":1,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[],"label":"Flags Condition"},{"modSpecKey":"flags.dnd5e.conditions","value":"Prone","mode":"+","targetSpecific":false,"id":2,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.BdJOmZHsRt8GKEV2"},"itemacro":{"macro":{"data":{"_id":null,"name":"Hideous Laughter","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"if (!game.modules.get(\"advanced-macros\")?.active) { ui.notifications.error(\"Please enable the Advanced Macros module\"); return; }\nif(!game.modules.get(\"dfreds-convenient-effects\")?.active) {ui.notifications.error(\"Please enable the CE module\"); return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nif(args[0] === \"on\") {\nawait game.dfreds.effectInterface.addEffect(\"Prone\", tactor.uuid)\nawait game.dfreds.effectInterface.addEffect(\"Incapacitated\", tactor.uuid)\n}\n\nif(args[0] === \"off\") {\nawait game.dfreds.effectInterface.removeEffect(\"Prone\", tactor.uuid)\nawait game.dfreds.effectInterface.removeEffect(\"Incapacitated\", tactor.uuid)\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}}}} -{"_id":"CGIrZkLJSKUZCzaz","name":"Sunbeam","type":"spell","img":"systems/dnd5e/icons/spells/beam-royal-3.jpg","data":{"description":{"value":"

A beam of brilliant light flashes out from your hand in a 5-foot-wide, 60-foot-long line. Each creature in the line must make a Constitution saving throw. On a failed save, a creature takes 6d8 radiant damage and is Blinded until your next turn. On a successful save, it takes half as much damage and isn’t b⁠linded by this spell. Undead and oozes have disadvantage on this saving throw.

\n

You can create a new line of radiance as your action on any turn until the spell ends.

\n

For the Duration, a mote of brilliant radiance shines in your hand. It sheds bright light in a 30-foot radius and dim light for an additional 30 feet. This light is sunlight.

","chat":"","unidentified":""},"source":"PHB pg. 279","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":60,"width":null,"units":"ft","type":"line"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["6d8","radiant"]],"versatile":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":6,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A magnifying glass","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"KHl6jtzrMk0x8ash","flags":{"core":{"statusId":"combat-utility-belt.blinded"},"combat-utility-belt":{"conditionId":"blinded","overlay":false},"dae":{"transfer":false}},"changes":[{"key":"data.abilities.cha.min","value":"","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"modules/combat-utility-belt/icons/blinded.svg","label":"Blinded","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Blinded","mode":"+","targetSpecific":false,"id":1,"itemId":"36XZH7ErzipKvuY8","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.CGIrZkLJSKUZCzaz"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"CPDlGQUUKkLUhU2q","name":"Stoneskin","type":"spell","img":"systems/dnd5e/icons/spells/protect-orange-2.jpg","data":{"description":{"value":"

This spell turns the flesh of a willing creature you touch as hard as stone. Until the spell ends, the target has resistance to nonmagical bludgeoning, piercing, and slashing damage.

","chat":"","unidentified":""},"source":"PHB pg. 278","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Diamond dust worth 100 gp, which the spell consumes","consumed":true,"cost":100,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"fhvmjRblnjrDRxWO","flags":{"dae":{"transfer":false}},"changes":[{"key":"data.traits.dr.value","value":"physical","mode":0,"priority":0}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-orange-2.jpg","label":"Stoneskin","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"data.traits.dr.value","value":"physical","mode":"+","targetSpecific":false,"id":1,"itemId":"ccUx49HUGslLri7o","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.CPDlGQUUKkLUhU2q"}}} -{"_id":"CWojuH0EwSnKPJzf","name":"Aid","type":"spell","img":"systems/dnd5e/icons/spells/heal-sky-1.jpg","data":{"description":{"value":"

Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target's hit point maximum and current hit points increase by 5 for the duration.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, a target's hit points increase by an additional 5 for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 211","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":null,"units":""},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A tiny strip of white cloth.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":true},"scaling":{"mode":"level","formula":""},"attributes":{"spelldc":10}},"effects":[{"_id":"9lafpgID8ffkvJ9q","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"}},"changes":[{"key":"data.attributes.hp.max","value":"5 * (@spellLevel - 1)","mode":2,"priority":20},{"key":"macro.itemMacro","value":"@spellLevel @data.attributes.hp.max","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-sky-1.jpg","label":"Aid","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"NQHxXfbiVgh4JBIs":3},"flags":{"midi-qol":{"onUseMacroName":""},"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.hp.max","value":"5 * @spellLevel + @classes.paladin.levels","mode":"+","targetSpecific":false,"id":1,"itemId":"aAyxEwNPeiB4nsCs","active":true,"_targets":[],"label":"Attributes HP Max"},{"modSpecKey":"data.bonuses.mwak.damage","value":"(ceil(@classes.paladin.levels/2))d6","mode":"+","targetSpecific":false,"id":2,"itemId":"aAyxEwNPeiB4nsCs","active":true,"_targets":[]}]},"favtab":{"isFavourite":true},"dae":{"alwaysActive":false,"activeEquipped":false},"itemacro":{"macro":{"_data":{"name":"Aid","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet buf = (parseInt(args[1])-1) * 5;\nlet curHP = tactor.data.data.attributes.hp.value;\nlet curMax = tactor.data.data.attributes.hp.max;\n\nif (args[0] === \"on\") {\n tactor.update({\"data.attributes.hp.value\": curHP+buf})\n} else {\n if (curHP > (curMax)) {\n tactor.update({\"data.attributes.hp.value\": curMax})\n }\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Aid","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet buf = (parseInt(args[1])-1) * 5;\nlet curHP = tactor.data.data.attributes.hp.value;\nlet curMax = tactor.data.data.attributes.hp.max;\n\nif (args[0] === \"on\") {\n tactor.update({\"data.attributes.hp.value\": curHP+buf})\n} else {\n if (curHP > (curMax)) {\n tactor.update({\"data.attributes.hp.value\": curMax})\n }\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"exportSource":{"world":"testWorld","system":"dnd5e","coreVersion":"0.7.7","systemVersion":"1.1.1"},"core":{"sourceId":"Item.F6gMC9VPMrxfyGGN"},"mess":{"templateTexture":""}}} -{"_id":"Cb8qfKv8PmvasTzm","name":"Protection from Poison","type":"spell","img":"systems/dnd5e/icons/spells/protect-acid-1.jpg","data":{"description":{"value":"

You touch a creature. If it is poisoned, you neutralize the poison. If more than one poison afflicts the target, you neutralize one poison that you know is present, or you neutralize one at random.

\n

For the duration, the target has advantage on saving throws against being poisoned, and it has resistance to poison damage.

","chat":"","unidentified":""},"source":"PHB pg. 270","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"KVURJew2xJb5OH6P","flags":{"dae":{"transfer":false}},"changes":[{"key":"data.traits.dr.value","value":"poison","mode":0,"priority":0}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-acid-1.jpg","label":"Protection from Poison","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.traits.dr.value","value":"poison","mode":"+","targetSpecific":false,"id":1,"itemId":"RfhTb4CznKyRRdrn","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Cb8qfKv8PmvasTzm"}}} -{"_id":"Czam16c0aXlcuPo3","name":"Flame Blade","type":"spell","img":"systems/dnd5e/icons/spells/enchant-orange-2.jpg","data":{"description":{"value":"

You evoke a fiery blade in your free hand. The blade is similar in size and shape to a Scimitar, and it lasts for the Duration. If you let go of the blade, it disappears, but you can evoke the blade again as a Bonus Action.

You can use your action to make a melee spell Attack with the fiery blade. On a hit, the target takes 3d6 fire damage.

The flaming blade sheds bright light in a 10-foot radius and dim light for an additional 10 feet.

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for every two slot levels above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 242","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Leaf of sumac","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"Hbbgg0VPMOMqUVyZ","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"@item.level @attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-orange-2.jpg","label":"Flame Blade","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.0r4QmdC8ZIFaryNp"},"itemacro":{"macro":{"_data":{"name":"Flame Blade","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item.level\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\n/**\n * Create Flame Blade item in inventory\n */\nif (args[0] === \"on\") {\n let weaponDamge = 2 + Math.floor(DAEItem.data.level / 2);\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Flame Blade\",\n \"type\": \"weapon\",\n \"data\": {\n \"quantity\": 1,\n \"activation\": {\n \"type\": \"action\",\n \"cost\": 1,\n \"condition\": \"\"\n },\n \"target\": {\n \"value\": 1,\n \"width\": null,\n \"units\": \"\",\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n },\n \"ability\": \"\",\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"damage\": {\n \"parts\": [\n [\n `${weaponDamge}d6`,\n \"fire\"\n ]\n ],\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true,\n },\n \"img\": DAEItem.img,\n }\n );\n ui.notifications.notify(\"A Flame Blade appears in your inventory\")\n}\n\n// Delete Flame Blade\nif (args[0] === \"off\") {\n let castItem = tactor.data.items.find(i => i.name === \"Summoned Flame Blade\" && i.type === \"weapon\")\n if(castItem) await tactor.deleteOwnedItem(castItem._id)\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Flame Blade","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\nconst lastArg = args[args.length-1]\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\n/**\n * Create Flame Blade item in inventory\n */\nif (args[0] === \"on\") {\n let weaponDamge = 2 + Math.floor(DAEItem.data.level / 2);\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Flame Blade\",\n \"type\": \"weapon\",\n \"data\": {\n \"quantity\": 1,\n \"activation\": {\n \"type\": \"action\",\n \"cost\": 1,\n \"condition\": \"\"\n },\n \"target\": {\n \"value\": 1,\n \"width\": null,\n \"units\": \"\",\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n },\n \"ability\": \"\",\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"damage\": {\n \"parts\": [\n [\n `${weaponDamge}d6`,\n \"fire\"\n ]\n ],\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true,\n },\n \"img\": DAEItem.img,\n \"effects\" : []\n }\n );\n ui.notifications.notify(\"A Flame Blade appears in your inventory\")\n}\n\n// Delete Flame Blade\nif (args[0] === \"off\") {\n let castItem = tactor.data.items.find(i => i.name === \"Summoned Flame Blade\" && i.type === \"weapon\")\n if(castItem) await tactor.deleteOwnedItem(castItem._id)\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}}}} -{"_id":"DMDazH2MsM0gWtt6","name":"Alter Self (macro)","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","data":{"description":{"value":"

You assume a different form. When you cast the spell, choose one of the following options, the effects of which last for the duration of the spell. While the spell lasts, you can end one option as an action to gain the benefits of a different one.

\n

Aquatic Adaptation. You adapt your body to an aquatic environment, sprouting gills and growing webbing between your fingers. You can breathe underwater and gain a swimming speed equal to your walking speed.

\n

Change Appearance. You transform your appearance. You decide what you look like, including your height, weight, facial features, sound of your voice, hair length, coloration, and distinguishing characteristics, if any. You can make yourself appear as a member of another race, though none of your statistics change. You also can't appear as a creature of a different size than you, and your basic shape stays the same; if you're bipedal, you can't use this spell to become quadrupedal, for instance. At any time for the duration of the spell, you can use your action to change your appearance in this way again.

\n

Natural Weapons. You grow claws, fangs, spines, horns, or a different natural weapon of your choice. Your unarmed strikes deal 1d6 bludgeoning, piercing, or slashing damage, as appropriate to the natural weapon you chose, and you are proficient with your unarmed strikes. Finally, the natural weapon is magic and you have a +1 bonus to the attack and damage rolls you make using it.

","chat":"","unidentified":""},"source":"PHB pg. 211","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Z8yRGVFSsBf8lBaq","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":["None"],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","label":"Alter Self","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Alter Self\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"q2oOfBC73oDbRUPo","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Alter Self (macro)","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"//DAE Item Macro \nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet DAEitem = tactor.items.find(i => i.name === `Unarmed Strike`); // find unarmed strike attack\n\n\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Are you using Natural Weapons\",\n content: \"\",\n buttons: {\n one: {\n label: \"Yes\",\n callback: () => {\n if (!DAEitem) {\n ChatMessage.create({ content: \"No unarmed strike found\" }); // exit out if no unarmed strike\n return;\n }\n let copy_item = duplicate(DAEitem);\n DAE.setFlag(tactor, 'AlterSelfSpell', copy_item.data.damage.parts[0][0]); //set flag of previous value\n copy_item.data.damage.parts[0][0] = \"1d6 +@mod\"; //replace with new value\n tactor.updateEmbeddedDocuments(\"Item\", [copy_item]); //update item\n ChatMessage.create({ content: \"Unarmed strike is altered\" });\n }\n },\n two: {\n label: \"No\",\n callback: () => ChatMessage.create({ content: `Unarmed strike not altered` })\n },\n }\n }).render(true);\n}\nif (args[0] === \"off\") {\n let damage = DAE.getFlag(tactor, 'AlterSelfSpell'); // find flag with previous values\n if(!DAEitem)return;\n let copy_item = duplicate(DAEitem);\n copy_item.data.damage.parts[0][0] = damage; //replace with old value\n tactor.updateEmbeddedDocuments(\"Item\", [copy_item]); //update item\n DAE.unsetFlag(tactor, 'world', 'AlterSelfSpell',); //remove flag\n ChatMessage.create({ content: `Alter Self expired, unarmed strike returned` });\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.au0iE8QoEwuoS0Ld"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"EsNIVoGQLOhgp5pA","name":"Spider Climb","type":"spell","img":"systems/dnd5e/icons/spells/shielding-spirit-1.jpg","data":{"description":{"value":"

Until the spell ends, one willing creature you touch gains the ability to move up, down, and across vertical surfaces and upside down along ceilings, while leaving its hands free. The target also gains a climbing speed equal to its walking speed.

","chat":"","unidentified":""},"source":"PHB pg. 277","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of bitumen and a spider","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"B1Ms7nmQEQssY0ZY","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[]},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"alignment":"","type":"","aura":"None","radius":null,"save":"","savedc":null}},"changes":[{"key":"data.attributes.movement.climb","value":"@attributes.movement.walk","mode":4,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/shielding-spirit-1.jpg","label":"Spider Climb","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.speed.special","value":"@attributes.speed.value Climb","mode":"+","targetSpecific":false,"id":1,"itemId":"1RuE9QEAMV24ZiAS","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.EWlYTVbRHdyv5wkw"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"Ffuih3Tpj4DRxh3B","name":"Darkness","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","data":{"description":{"value":"

Magical darkness spreads from a point you choose within range to fill a 15-foot-radius sphere for the duration. The darkness spreads around corners. A creature with darkvision can't see through this darkness, and nonmagical light can't illuminate it.

If the point you choose is on an object you are holding or one that isn't being worn or carried, the darkness emanates from the object and moves with it. Completely covering the source of the darkness with an opaque object, such as a bowl or a helm, blocks the darkness.

If any of this spell's area overlaps with an area of light created by a spell of 2nd level or lower, the spell that created the light is dispelled.

","chat":"","unidentified":""},"source":"PHB pg. 230","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Bat fur and a drop of pitch or piece of coal","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"6URqXYM8cSWbMZ53","flags":{"dae":{"stackable":false,"specialDuration":[],"transfer":false}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","label":"Darkness","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Darkness","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\n\nif (args[0] === \"on\") {\n\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 15,\n direction: 0,\n x: 0,\n y: 0,\n fillColor: game.user.color,\n flags: {\n DAESRD: {\n Darkness: {\n ActorId: tactor.id\n }\n }\n }\n };\n\n Hooks.once(\"createMeasuredTemplate\", async (scene, template) => {\n let radius = canvas.grid.size * (template.distance / canvas.grid.grid.options.dimensions.distance)\n circleWall(template.x, template.y, radius)\n await canvas.templates.deleteMany(template._id);\n });\n\n let template = new game.dnd5e.canvas.AbilityTemplate(templateData);\n template.actorSheet = tactor.sheet;\n template.drawPreview();\n\n async function circleWall(cx, cy, radius) {\n const step = 30;\n for (let i = step; i <= 360; i += step) {\n let theta0 = toRadians(i - step);\n let theta1 = toRadians(i);\n\n let lastX = Math.floor(radius * Math.cos(theta0) + cx);\n let lastY = Math.floor(radius * Math.sin(theta0) + cy);\n let newX = Math.floor(radius * Math.cos(theta1) + cx);\n let newY = Math.floor(radius * Math.sin(theta1) + cy);\n\n await Wall.create({\n c: [lastX, lastY, newX, newY],\n move: CONST.WALL_MOVEMENT_TYPES.NONE,\n sense: CONST.WALL_SENSE_TYPES.NORMAL,\n dir: CONST.WALL_DIRECTIONS.BOTH,\n door: CONST.WALL_DOOR_TYPES.NONE,\n ds: CONST.WALL_DOOR_STATES.CLOSED,\n flags: {\n DAESRD: {\n Darkness: {\n ActorId: tactor.id\n }\n }\n }\n });\n }\n\n }\n\n}\n\nif (args[0] === \"off\") {\n async function removeWalls() {\n let darkWalls = canvas.walls.placeables.filter(w => w.data.flags?.DAESRD?.Darkness?.ActorId === tactor.id)\n let wallArray = darkWalls.map(function (w) {\n return w.data._id\n })\n await canvas.walls.deleteMany(wallArray)\n }\n removeWalls()\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Darkness","type":"script","scope":"global","command":"if (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\n//DAE macro, Effect arguments = @target \nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\n\nif (args[0] === \"on\") {\n\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 15,\n direction: 0,\n x: 0,\n y: 0,\n fillColor: game.user.color,\n flags: {\n DAESRD: {\n Darkness: {\n ActorId: tactor.id\n }\n }\n }\n };\n\n Hooks.once(\"createMeasuredTemplate\", async (template) => {\n let radius = canvas.grid.size * (template.data.distance / canvas.grid.grid.options.dimensions.distance)\n circleWall(template.data.x, template.data.y, radius)\n await canvas.templates.deleteMany(template._id);\n });\n\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc);\n template.actorSheet = tactor.sheet;\n template.drawPreview();\n\n async function circleWall(cx, cy, radius) {\n let data = [];\n const step = 30;\n for (let i = step; i <= 360; i += step) {\n let theta0 = Math.toRadians(i - step);\n let theta1 = Math.toRadians(i);\n\n let lastX = Math.floor(radius * Math.cos(theta0) + cx);\n let lastY = Math.floor(radius * Math.sin(theta0) + cy);\n let newX = Math.floor(radius * Math.cos(theta1) + cx);\n let newY = Math.floor(radius * Math.sin(theta1) + cy);\n\n data.push({\n c: [lastX, lastY, newX, newY],\n move: CONST.WALL_MOVEMENT_TYPES.NONE,\n sense: CONST.WALL_SENSE_TYPES.NORMAL,\n dir: CONST.WALL_DIRECTIONS.BOTH,\n door: CONST.WALL_DOOR_TYPES.NONE,\n ds: CONST.WALL_DOOR_STATES.CLOSED,\n flags: {\n DAESRD: {\n Darkness: {\n ActorId: tactor.id\n }\n }\n }\n });\n }\n canvas.scene.createEmbeddedDocuments(\"Wall\", data)\n }\n\n}\n\nif (args[0] === \"off\") {\n async function removeWalls() {\n let darkWalls = canvas.walls.placeables.filter(w => w.data.flags?.DAESRD?.Darkness?.ActorId === tactor.id)\n let wallArray = darkWalls.map(function (w) {\n return w.data._id\n })\n await canvas.walls.deleteEmbeddedDocuments(wallArray)\n }\n removeWalls()\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Ffuih3Tpj4DRxh3B"}}} -{"_id":"FnLpkm6fkxiunoN0","name":"Arcane Sword","type":"spell","img":"systems/dnd5e/icons/spells/slice-orange-3.jpg","data":{"description":{"value":"

You create a sword-shaped plane of force that hovers within range. It lasts for the Duration.

When the sword appears, you make a melee spell Attack against a target of your choice within 5 feet of the sword. On a hit, the target takes 3d10 force damage. Until the spell ends, you can use a Bonus Action on each of your turns to move the sword up to 20 feet to a spot you can see and repeat this Attack against the same target or a different one.

Until the spell ends, you can use a b⁠onus action on each of your turns to move the sword up to 20 feet to a spot you can see and repeat this Attack against the same target or a different one.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":7,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A miniature platinum sword with a grip and pommel of copper and zinc, worth 250gp","consumed":false,"cost":250,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YlwXERtZ3aqSJD4g","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"@attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/slice-orange-3.jpg","label":"Arcane Sword","origin":"Item.lyClx971FpCZPlbQ","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Arcane Sword","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet casterToken = canvas.tokens.get(lastArg.tokenId) || token;\nconst DAEitem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEitem.data.save\n/**\n * Create Arcane Sword item in inventory\n */\nif (args[0] === \"on\") {\n let image = DAEitem.img;\n let range = MeasuredTemplate.create({\n t: \"circle\",\n user: game.user._id,\n x: casterToken.x + canvas.grid.size / 2,\n y: casterToken.y + canvas.grid.size / 2,\n direction: 0,\n distance: 60,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n ArcaneSwordRange: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n });\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user._id,\n distance: 7,\n direction: 45,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n ArcaneSword: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n Hooks.once(\"createMeasuredTemplate\", deleteTemplates);\n\n let template = new game.dnd5e.canvas.AbilityTemplate(templateData)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n async function deleteTemplates(scene, template) {\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.ArcaneSwordRange?.ActorId === tactor.id);\n await canvas.templates.deleteMany([removeTemplates[0].id]);\n };\n\n })\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Arcane Sword\",\n \"type\": \"weapon\",\n \"data\": {\n \"quantity\": 1,\n \"activation\": {\n \"type\": \"action\",\n \"cost\": 1,\n \"condition\": \"\"\n },\n \"target\": {\n \"value\": 1,\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n \"long\": null,\n \"units\": \"\"\n },\n \"ability\": DAEitem.data.ability,\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"chatFlavor\": \"\",\n \"critical\": null,\n \"damage\": {\n \"parts\": [\n [\n `3d10`,\n \"force\"\n ]\n ],\n \"versatile\": \"\"\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true,\n },\n \"flags\": {\n \"DAESRD\": {\n \"ArcaneSword\":\n tactor.id\n }\n },\n \"img\": image,\n }\n );\n ui.notifications.notify(\"Weapon created in your inventory\")\n}\n\n// Delete Flame Blade\nif (args[0] === \"off\") {\n let sword = tactor.items.find(i => i.data.flags?.DAESRD?.ArcaneSword === tactor.id)\n let template = canvas.templates.placeables.filter(i => i.data.flags.DAESRD.ArcaneSword?.ActorId === tactor.id)\n if(sword) await tactor.deleteOwnedItem(sword.id);\n if(template) await canvas.templates.deleteMany(template[0].id)\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Arcane Sword","type":"script","scope":"global","command":"if(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet casterToken = canvas.tokens.get(lastArg.tokenId) || token;\nconst DAEitem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEitem.data.save\n/**\n * Create Arcane Sword item in inventory\n */\nif (args[0] === \"on\") {\n let image = DAEitem.img;\n let range = canvas.scene.createEmbeddedDocuments(\"MeasuredTemplate\", [{\n t: \"circle\",\n user: game.user._id,\n x: casterToken.x + canvas.grid.size / 2,\n y: casterToken.y + canvas.grid.size / 2,\n direction: 0,\n distance: 60,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n ArcaneSwordRange: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n }]);\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user.id,\n distance: 7,\n direction: 45,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n ArcaneSword: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n Hooks.once(\"createMeasuredTemplate\", deleteTemplates);\n\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n async function deleteTemplates(scene, template) {\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.ArcaneSwordRange?.ActorId === tactor.id);\n await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [removeTemplates[0].id]);\n };\n\n })\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Arcane Sword\",\n \"type\": \"weapon\",\n \"data\": {\n \"quantity\": 1,\n \"activation\": {\n \"type\": \"action\",\n \"cost\": 1,\n \"condition\": \"\"\n },\n \"target\": {\n \"value\": 1,\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n \"long\": null,\n \"units\": \"\"\n },\n \"ability\": DAEitem.data.ability,\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"chatFlavor\": \"\",\n \"critical\": null,\n \"damage\": {\n \"parts\": [\n [\n `3d10`,\n \"force\"\n ]\n ],\n \"versatile\": \"\"\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true,\n },\n \"flags\": {\n \"DAESRD\": {\n \"ArcaneSword\":\n tactor.id\n }\n },\n \"img\": image,\n }\n );\n ui.notifications.notify(\"Weapon created in your inventory\")\n}\n\n// Delete Arcane Sword\nif (args[0] === \"off\") {\n let sword = tactor.items.find(i => i.data.flags?.DAESRD?.ArcaneSword === tactor.id)\n let template = canvas.templates.placeables.find(i => i.data.flags.DAESRD.ArcaneSword?.ActorId === tactor.id)\n if (sword) await tactor.deleteOwnedItem(sword.id);\n if (template) await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [template.id])\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.FnLpkm6fkxiunoN0"}}} -{"_id":"GOSc37tYYeefhVHv","name":"Shield","type":"spell","img":"systems/dnd5e/icons/spells/protect-magenta-1.jpg","data":{"description":{"value":"

An invisible barrier of magical force appears and protects you. Until the start of your next turn, you have a +5 bonus to AC, including against the triggering attack, and you take no damage from magic missile.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"reaction","cost":1,"condition":"Which you take when you are hit by an attack or targeted by the magic missile spell"},"duration":{"value":1,"units":"round"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"hzQdCAC3gFDfLREf","flags":{"dae":{"transfer":false,"stackable":"none","specialDuration":["turnStart"],"macroRepeat":"none"}},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+5","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-magenta-1.jpg","label":"Shield","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.bonus"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"_sheetTab":"description","dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"5","mode":"+","targetSpecific":false,"id":1,"itemId":"sEwmlXP3wXnd41oR","active":true,"_targets":[]}]},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.GOSc37tYYeefhVHv"}}} -{"_id":"Gm518PXVa9c81fdB","name":"Dominate Beast","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-jade-3.jpg","data":{"description":{"value":"

You attempt to beguile a beast that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the beast is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell with a 5th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 6th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 7th level or higher, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KGpubuAbqZYammtI","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-jade-3.jpg","label":"Dominate Beast","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"v1hPfUV2Vn5h2yNH","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Gm518PXVa9c81fdB"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"HGy1nRLnLAv3zHHD","name":"Blindness/Deafness (non-cub)","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","data":{"description":{"value":"

You can blind or deafen a foe. Choose one creature that you can see within range to make a Constitution saving throw. If it fails, the target is either blinded or deafened (your choice) for the duration. At the end of each of its turns, the target can make a Constitution saving throw. On a success, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 219","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"nec","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"ZkjHaogXrbQJ2CFz","flags":{"core":{"statusId":"blind"},"dae":{"stackable":false,"specialDuration":"None","macroRepeat":"none","transfer":false}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"icons/svg/blind.svg","label":"Blind","tint":null,"transfer":false},{"_id":"zUnsyPssbUBMmrOq","flags":{"core":{"statusId":"deaf"},"dae":{"stackable":false,"specialDuration":"None","macroRepeat":"none","transfer":false}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"icons/svg/deaf.svg","label":"Deaf","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"BlindDeaf\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"YzSbwD21Q0oxKmEU","active":true,"_targets":[]}]},"itemacro":{"macro":{"data":{"name":"Blindness/Deafness","type":"script","scope":"global","command":"","author":"XE30TcnpPFgl2g1S"},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.HGy1nRLnLAv3zHHD"}}} -{"_id":"HVWI8wdLs54LkhUX","name":"Fear","type":"spell","img":"systems/dnd5e/icons/spells/horror-eerie-2.jpg","data":{"description":{"value":"

You project a phantasmal image of a creature's worst fears. Each creature in a 30-foot cone must succeed on a Wisdom saving throw or drop whatever it is holding and become Frightened for the duration.

\n

While Frightened by this spell, a creature must take the Dash action and move away from you by the safest available route on each of its turns, unless there is nowhere to move. If the creature ends its turn in a location where it doesn't have line of sight to you, the creature can make a Wisdom saving throw. On a successful save, the spell ends for that creature.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"cone"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A white feather or the heart of a hen.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"8LmJiBql9qC9LlPs","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Frightened","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/horror-eerie-2.jpg","label":"Fear","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Frightened","mode":"+","targetSpecific":false,"id":1,"itemId":"QDrZkRDh3yKlVjlf","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.HVWI8wdLs54LkhUX"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"HVrjXg4ihTFp8c6i","name":"Mage Armor","type":"spell","img":"systems/dnd5e/icons/spells/protect-blue-1.jpg","data":{"description":{"value":"

You touch a willing creature who isn't wearing armor, and a protective magical force surrounds it until the spell ends. The target's base AC becomes 13 + its Dexterity modifier. The spell ends if the target dons armor or if you dismiss the spell as an action.

","chat":"","unidentified":""},"source":"PHB pg. 256","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A piece of cured leather","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"XRkvYT9cV0BX5oJc","flags":{"dae":{"transfer":false,"stackable":"none","macroRepeat":"none","specialDuration":[]}},"changes":[{"key":"data.attributes.ac.base","mode":5,"value":"13","priority":"5"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-blue-1.jpg","label":"Mage Armor","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.base"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"_sheetTab":"details","dynamiceffects":{"effects":[{"modSpecKey":"data.attributes.ac.value","value":"13 + @abilities.dex.mod","mode":"=","targetSpecific":false,"id":1,"itemId":"KWepVspVtjeboJgf","active":true,"_targets":[]}],"alwaysActive":false,"equipActive":true},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.HVrjXg4ihTFp8c6i"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"IMBuVsCM4tEgQT9y","name":"Dominate Monster","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You attempt to beguile a creature that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the creature is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell with a 9th-level spell slot, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 235","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":8,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"CR7P9mfXqQrqRAM1","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","label":"Dominate Monster","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"zjOy4iyroppxddYp","active":true,"_targets":[]}]},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.IMBuVsCM4tEgQT9y"}}} -{"_id":"IsJxWYNAOYYw2apn","name":"Protection from Energy","type":"spell","img":"systems/dnd5e/icons/spells/protect-jade-2.jpg","data":{"description":{"value":"

For the duration, the willing creature you touch has resistance to one damage type of your choice: acid, cold, fire, lightning, or thunder.

","chat":"","unidentified":""},"source":"PHB pg. 270","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"OHrHlzcUFOp2wOBv","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-jade-2.jpg","label":"Protection from Energy","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"ProtectionFromEnergy @target ","mode":"+","targetSpecific":false,"id":1,"itemId":"KKNq69wypjHpwo1b","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Protection from Energy","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\n if (args[0] === \"on\") {\n new Dialog({\n title: 'Choose a damage type',\n content: `\n
\n
\n \n
\n
\n `,\n buttons: {\n yes: {\n icon: '',\n label: 'Yes',\n callback: (html) => {\n let element = html.find('#element').val();\n let resistances = tactor.data.data.traits.dr.value;\n resistances.push(element);\n tactor.update({ \"data.traits.dr.value\": resistances });\n DAE.setFlag(tactor, 'ProtectionFromEnergy', element);\n ChatMessage.create({ content: `${tactor.name} gains resistance to ${element}` });\n }\n },\n },\n }).render(true);\n }\n if (args[0] === \"off\") {\n let element = DAE.getFlag(tactor, 'ProtectionFromEnergy');\n let resistances = tactor.data.data.traits.dr.value;\n const index = resistances.indexOf(element);\n resistances.splice(index, 1);\n tactor.update({ \"data.traits.dr.value\": resistances });\n DAE.unsetFlag(tactor, 'ProtectionFromEnergy');\n ChatMessage.create({ content: `${tactor.name} loses resistance to ${element}`});\n }","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Protection from Energy","type":"script","scope":"global","command":"//DAE Macro, no arguments passed\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet content = `\n\n
\n
\n \n \n \n \n \n
\n
\n`\n\nif (args[0] === \"on\") {\n new Dialog({\n title: 'Choose a damage type',\n content: content,\n buttons: {\n yes: {\n icon: '',\n label: 'Yes',\n callback: async (html) => {\n let element = $(\"input[type='radio'][name='type']:checked\").val();\n let resistances = tactor.data.data.traits.dr.value;\n resistances.push(element);\n await tactor.update({ \"data.traits.dr.value\": resistances });\n await DAE.setFlag(tactor, 'ProtectionFromEnergy', element);\n ChatMessage.create({ content: `${tactor.name} gains resistance to ${element}` });\n }\n },\n },\n }).render(true, {width: 400});\n}\nif (args[0] === \"off\") {\n let element = DAE.getFlag(tactor, 'ProtectionFromEnergy');\n let resistances = tactor.data.data.traits.dr.value;\n const index = resistances.indexOf(element);\n resistances.splice(index, 1);\n await tactor.update({ \"data.traits.dr.value\": resistances });\n await DAE.unsetFlag(tactor, 'ProtectionFromEnergy');\n ChatMessage.create({ content: `${tactor.name} loses resistance to ${element}` });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.IsJxWYNAOYYw2apn"}}} -{"_id":"J7c5kq4xYkx3WiFI","name":"Regenerate","type":"spell","img":"systems/dnd5e/icons/spells/heal-jade-3.jpg","data":{"description":{"value":"

You touch a creature and stimulate its natural Healing ability. The target regains 4d8 + 15 Hit Points. For the Duration of the spell, the target regains 1 hit point at the start of each of its turns (10 h⁠it points each minute).

The target’s severed body members (fingers, legs, tails, and so on), if any, are restored after 2 minutes. If you have the severed part and hold it to the stump, the spell instantaneously causes the limb to knit to the stump.

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"heal","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d8 + 15","healing"]],"versatile":"1"},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":7,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A prayer wheel and holy water","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"gMvUlhgIUWdHEJ6r","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"startEveryTurn"}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-jade-3.jpg","label":"Regenerate","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Regenerate","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @tactor\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\n/**\n * Set hooks to fire on combat update and world time update\n */\nif (args[0] === \"on\") {\n\n // If 6s elapses, update HP by one\n const timeHookId = Hooks.on(\"updateWorldTime\", (currentTime, updateInterval) => {\n if (game.combats === []) return;\n let effect = tactor.effects.find(i => i.data.label === \"Regenerate\");\n let applyTime = effect.data.duration.startTime;\n let expireTime = applyTime + effect.data.duration.seconds;\n let healing = roundCount(currentTime, updateInterval, applyTime, expireTime);\n console.log(`${tactor.name} healed for ${healing}`);\n tactor.applyDamage(-healing);\n }\n );\n\n tactor.setFlag(\"world\", \"Regenerate\", {\n timeHook: timeHookId\n }\n );\n}\n\nif (args[0] === \"each\") {\n tactor.applyDamage(-1);\n ChatMessage.create({ content: `${tactor.name} gains 1 hp` });\n}\n\nif (args[0] === \"off\") {\n async function RegenerateOff() {\n let flag = await tactor.getFlag('world', 'Regenerate');\n Hooks.off(\"updateWorldTime\", flag.timeHook);\n tactor.unsetFlag(\"world\", \"Regenerate\");\n console.log(\"Regenerate removed\");\n };\n RegenerateOff();\n}\n\n\n/**\n * \n * @param {Number} currentTime current world time\n * @param {Number} updateInterval amount the world time was incremented\n * @param {Number} applyTime time the effect was applied\n * @param {Number} expireTime time the effect should expire\n */\nfunction roundCount(currentTime, updateInterval, applyTime, expireTime) {\n // Don't count time before applyTime\n if (currentTime - updateInterval < applyTime) {\n let offset = applyTime - (currentTime - updateInterval);\n updateInterval -= offset;\n }\n\n // Don't count time after expireTime\n if (currentTime > expireTime) {\n let offset = currentTime - expireTime;\n currentTime = expireTime;\n updateInterval -= offset;\n }\n\n let sTime = currentTime - updateInterval;\n let fRound = sTime + 6 - (sTime % 6); // Time of the first round\n let lRound = currentTime - (currentTime % 6); // Time of the last round\n let roundCount = 0;\n if (lRound >= fRound)\n roundCount = (lRound - fRound) / 6 + 1;\n\n return roundCount;\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Regenerate","type":"script","scope":"global","command":"//DAE Macro , no arguments\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\n/**\n * Set hooks to fire on combat update and world time update\n */\nif (args[0] === \"on\") {\n\n // If 6s elapses, update HP by one\n const timeHookId = Hooks.on(\"updateWorldTime\", (currentTime, updateInterval) => {\n let effect = tactor.effects.find(i => i.data.label === \"Regenerate\");\n let applyTime = effect.data.duration.startTime;\n let expireTime = applyTime + effect.data.duration.seconds;\n let healing = roundCount(currentTime, updateInterval, applyTime, expireTime);\n tactor.applyDamage(-healing);\n ChatMessage.create({ content: `${tactor.name} gains 1 hp` });\n }\n );\n\n tactor.setFlag(\"world\", \"Regenerate\", {\n timeHook: timeHookId\n }\n );\n}\n\nif (args[0] === \"off\") {\n async function RegenerateOff() {\n let flag = await tactor.getFlag('world', 'Regenerate');\n Hooks.off(\"updateWorldTime\", flag.timeHook);\n tactor.unsetFlag(\"world\", \"Regenerate\");\n console.log(\"Regenerate removed\");\n };\n RegenerateOff();\n}\n\n\n/**\n * \n * @param {Number} currentTime current world time\n * @param {Number} updateInterval amount the world time was incremented\n * @param {Number} applyTime time the effect was applied\n * @param {Number} expireTime time the effect should expire\n */\nfunction roundCount(currentTime, updateInterval, applyTime, expireTime) {\n // Don't count time before applyTime\n if (currentTime - updateInterval < applyTime) {\n let offset = applyTime - (currentTime - updateInterval);\n updateInterval -= offset;\n }\n\n // Don't count time after expireTime\n if (currentTime > expireTime) {\n let offset = currentTime - expireTime;\n currentTime = expireTime;\n updateInterval -= offset;\n }\n\n let sTime = currentTime - updateInterval;\n let fRound = sTime + 6 - (sTime % 6); // Time of the first round\n let lRound = currentTime - (currentTime % 6); // Time of the last round\n let roundCount = 0;\n if (lRound >= fRound)\n roundCount = (lRound - fRound) / 6 + 1;\n\n return roundCount;\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.J7c5kq4xYkx3WiFI"}}} -{"_id":"Jw2dI2nK3KlUOacF","name":"Darkvision","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-1.jpg","data":{"description":{"value":"

You touch a willing creature to grant it the ability to see in the dark. For the duration, that creature has darkvision out to a range of 60 feet.

","chat":"","unidentified":""},"source":"PHB pg. 230","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"Either a pinch of dried carrot or an agate","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"7WRR5qfCKAAqq2eg","flags":{"dae":{"stackable":false,"transfer":false,"specialDuration":["None"],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"data.attributes.senses.darkvision","value":"60","mode":4,"priority":20},{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-1.jpg","label":"Darkvision","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Item.PWtHJNYiQPgnOqcb"},"itemacro":{"macro":{"_data":{"name":"Darkvision","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet dimVision = target.data.dimSight;\nif (args[0] === \"on\") {\n DAE.setFlag(tactor, 'darkvisionSpell', dimVision);\n let newSight = dimVision < 60 ? 60 : dimVision\n await target.update({\"dimSight\" : newSight});\n await tactor.update({\"token.dimSight\" : newSight})\n ChatMessage.create({content: `${target.name}'s vision has been improved`});\n}\nif(args[0] === \"off\") {\n let sight = DAE.getFlag(tactor, 'darkvisionSpell');\n target.update({\"dimSight\" : sight });\n await tactor.update({\"token.dimSight\" : sight})\n DAE.unsetFlag(tactor, 'darkvisionSpell');\n ChatMessage.create({content: `${target.name}'s vision has been returned`});\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Darkvision","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet dimVision = target.data.dimSight;\nif (args[0] === \"on\") {\n DAE.setFlag(tactor, 'darkvisionSpell', dimVision);\n let newSight = dimVision < 60 ? 60 : dimVision\n await target.update({\"dimSight\" : newSight});\n await tactor.update({\"token.dimSight\" : newSight})\n ChatMessage.create({content: `${target.name}'s vision has been improved`});\n}\nif(args[0] === \"off\") {\n let sight = DAE.getFlag(tactor, 'darkvisionSpell');\n target.update({\"dimSight\" : sight });\n await tactor.update({\"token.dimSight\" : sight})\n DAE.unsetFlag(tactor, 'darkvisionSpell');\n ChatMessage.create({content: `${target.name}'s vision has been returned`});\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}}}} -{"_id":"KWxP6PDFTksi8wgG","name":"Bane","type":"spell","img":"systems/dnd5e/icons/spells/rip-magenta-2.jpg","data":{"description":{"value":"

Up to three creatures of your choice that you can see within range must make Charisma saving throws. Whenever a target that fails this saving throw makes an attack roll or a saving throw before the spell ends, the target must roll a d4 and subtract the number rolled from the attack roll or saving throw.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 216","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":3,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of blood","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"O6D0D9RsGQt8GxjP","flags":{"dae":{"transfer":false}},"changes":[{"key":"data.bonuses.All-Attacks","value":"-1d4","mode":0,"priority":0},{"key":"data.bonuses.abilities.save","value":"-1d4","mode":2,"priority":20}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/rip-magenta-2.jpg","label":"Bane","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"data.bonuses.All-Attacks","value":"-1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"9GH7tsdS6JjUJMQX","active":true,"_targets":[],"label":"Bonuses All Attack Bonuses"},{"modSpecKey":"data.bonuses.abilities.save","value":"-1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"9GH7tsdS6JjUJMQX","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.KWxP6PDFTksi8wgG"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"KkPvayrMzhd7WnPW","name":"Alter Self","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","data":{"description":{"value":"

You assume a different form. When you cast the spell, choose one of the following options, the effects of which last for the duration of the spell. While the spell lasts, you can end one option as an action to gain the benefits of a different one.

\n

Aquatic Adaptation. You adapt your body to an aquatic environment, sprouting gills and growing webbing between your fingers. You can breathe underwater and gain a swimming speed equal to your walking speed.

\n

Change Appearance. You transform your appearance. You decide what you look like, including your height, weight, facial features, sound of your voice, hair length, coloration, and distinguishing characteristics, if any. You can make yourself appear as a member of another race, though none of your statistics change. You also can't appear as a creature of a different size than you, and your basic shape stays the same; if you're bipedal, you can't use this spell to become quadrupedal, for instance. At any time for the duration of the spell, you can use your action to change your appearance in this way again.

\n

Natural Weapons. You grow claws, fangs, spines, horns, or a different natural weapon of your choice. Your unarmed strikes deal 1d6 bludgeoning, piercing, or slashing damage, as appropriate to the natural weapon you chose, and you are proficient with your unarmed strikes. Finally, the natural weapon is magic and you have a +1 bonus to the attack and damage rolls you make using it.

","chat":"","unidentified":""},"source":"PHB pg. 211","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"ZFSPRxh2MSqLCb0V","flags":{"dae":{"stackable":false,"specialDuration":"None","transfer":false}},"changes":[{"key":"data.attributes.movement.swim","value":"@attributes.movement.walk","mode":4,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","label":"Aquatic Adaptation","tint":null,"transfer":false},{"_id":"qXeD8bqXO4BjwI0w","flags":{"dae":{"stackable":false,"specialDuration":"None","transfer":false}},"changes":[{"key":"items.Unarmed Strike.data.damage.parts.0.0","value":"1d6+@mod+1","mode":5,"priority":20},{"key":"items.Unarmed Strike.data.properties.mgc","value":"true","mode":5,"priority":20},{"key":"items.Unarmed Strike.data.proficient","value":"true","mode":5,"priority":20},{"key":"items.Unarmed Strike.data.attackBonus","value":"1","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","label":"Natural Weapons","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Alter Self\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"q2oOfBC73oDbRUPo","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Alter Self","type":"script","scope":"global","command":"","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Alter Self","type":"script","scope":"global","command":"","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.KkPvayrMzhd7WnPW"}}} -{"_id":"L76fhPReGZsNacGP","name":"Contagion","type":"spell","img":"systems/dnd5e/icons/spells/rip-magenta-3.jpg","data":{"description":{"value":"

Your touch inflicts disease. Make a melee spell attack against a creature within your reach. On a hit, you afflict the creature with a disease of your choice from any of the ones described below.

At the end of each of the target’s turns, it must make a Constitution saving throw. After failing three of these saving throws, the disease’s effects last for the duration, and the creature stops making these saves. After succeeding on three of these saving throws, the creature recovers from the disease, and the spell ends.

Since this spell induces a natural disease in its target, any effect that removes a disease or otherwise ameliorates a disease’s effects apply to it.

Blinding Sickness. Pain grips the creature’s mind, and its eyes turn milky white. The creature has disadvantage on Wisdom checks and Wisdom saving throws and is blinded.

Filth Fever. A raging fever sweeps through the creature’s body. The creature has disadvantage on Strength checks, Strength saving throws, and attack rolls that use Strength.

Flesh Rot. The creature’s flesh decays. The creature has disadvantage on Charisma checks and vulnerability to all damage.

Mindfire. The creature’s mind becomes feverish. The creature has disadvantage on Intelligence checks and Intelligence saving throws, and the creature behaves as if under the effects of the confusion spell during combat.

Seizure. The creature is overcome with shaking. The creature has disadvantage on Dexterity checks, Dexterity saving throws, and attack rolls that use Dexterity.

Slimy Doom. The creature begins to bleed uncontrollably. The creature has disadvantage on Constitution checks and Constitution saving throws. In addition, whenever the creature takes damage, it is stunned until the end of its next turn.

","chat":"","unidentified":""},"source":"PHB pg. 227","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":7,"units":"day"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"msak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":5,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YdTLJRhCX9pxPA4n","flags":{"dae":{"stackable":false,"specialDuration":["None"],"macroRepeat":"endEveryTurn","transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/rip-magenta-3.jpg","label":"Contagion","origin":"Item.5OsXXJYEL6nq1P1h","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Contagion","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"//DAE Item Macro @attributes.spell.dc\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst dc = args[1]\n\n\nif (args[0] === \"on\") {\n\n // Save the hook data for later access.\n DAE.setFlag(tactor, \"ContagionSpell\", {\n count: 0,\n });\n}\n\nif (args[0] === \"off\") {\n // When off, clean up hooks and flags.\n\n DAE.unsetFlag(tactor, \"ContagionSpell\", );\n}\n\nif (args[0] === \"each\") {\n let contagion = lastArg.efData;\n if (contagion.label === \"Contagion\")\n Contagion()\n}\n\n/** \n * Execute contagion effects, update flag counts or remove effect\n * \n * @param {Actor5e} combatant Current combatant to test against\n * @param {Number} save Target DC for save\n */\nasync function Contagion() {\n let flag = DAE.getFlag(tactor, \"ContagionSpell\", );\n\n const flavor = `${CONFIG.DND5E.abilities[\"con\"]} DC${dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(\"con\", { flavor })).total;\n\n if (saveRoll < dc) {\n if (flag.count === 2) {\n ChatMessage.create({ content: `Contagion on ${tactor.name} is complete` });\n ContagionMessage();\n return;\n }\n else {\n let contagionCount = (flag.count + 1);\n DAE.setFlag(tactor, \"ContagionSpell\", {\n count: contagionCount\n });\n console.log(`Contagion increased to ${contagionCount}`);\n }\n }\n else if (saveRoll >=dc) {\n tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.effectId); \n }\n}\n\n/**\n * Generates the GM client dialog for selecting final Effect, updates target effect with name, icon and new DAE effects.\n */\nasync function ContagionMessage() {\n new Dialog({\n title: \"Contagion options\",\n content: \"

Select the effect

\",\n buttons: {\n one: {\n label: \"Blinding Sickness\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.ability.check.wis\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.save.wis\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n ],\n icon: \"modules/dfreds-convenient-effects/images/blinded.svg\",\n label: \"Blinding Sickness\",\n _id: lastArg.effectId\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n },\n },\n two: {\n label: \"Filth Fever\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.attack.mwak\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.attack.rwak\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.check.str\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.save.str\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n ],\n label: \"Filth Fever\",\n _id: lastArg.effectId,\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n }\n },\n three: {\n label: \"Flesh Rot\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.ability.check.cha\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"data.traits.dv.all\",\n mode: 0,\n priority: 20,\n value: \"1\",\n },\n ],\n icon : \"systems/dnd5e/icons/skills/blood_09.jpg\",\n label : \"Flesh Rot\",\n _id: lastArg.effectId,\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n },\n },\n four: {\n label: \"Mindfire\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.ability.check.int\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.save.int\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n ],\n icon : \"icons/svg/daze.svg\",\n label : \"Mindfire\",\n _id: lastArg.effectId,\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n }\n },\n five: {\n label: \"Seizure\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.attack.mwak\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.attack.rwak\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.check.dex\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.save.dex\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n ],\n icon : \"icons/svg/paralysis.svg\",\n label : \"Seizure\",\n _id: lastArg.effectId,\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n }\n },\n six: {\n label: \"Slimy Doom\",\n callback: async () => {\n let data = {\n changes: [\n {\n key: \"flags.midi-qol.disadvantage.ability.check.con\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n {\n key: \"flags.midi-qol.disadvantage.ability.save.con\",\n mode: 5,\n priority: 20,\n value: \"1\",\n },\n ],\n icon : \"systems/dnd5e/icons/skills/blood_05.jpg\",\n label : \"Slimy Doom\",\n _id: lastArg.effecId,\n }\n tactor.updateEmbeddedDocuments(\"ActiveEffect\", [data]);\n }\n },\n }\n }).render(true);\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.L76fhPReGZsNacGP"},"midi-qol":{"onUseMacroName":"","criticalThreshold":"20","forceCEOn":false}}} -{"_id":"LfoahAgvKfrLhZpZ","name":"Fly","type":"spell","img":"systems/dnd5e/icons/spells/link-spirit-1.jpg","data":{"description":{"value":"

You touch a willing creature. The target gains a flying speed of 60 feet for the Duration. When the spell ends, the target falls if it is still aloft, unless it can stop the fall.

\n

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, you can target one additional creature for each slot level above 3rd.

","chat":"","unidentified":""},"source":"PHB pg. 243","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A wing feather from any bird","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"VVu9uaQR0UaAvbBr","flags":{"dae":{"transfer":false,"stackable":false}},"changes":[{"key":"data.attributes.movement.fly","value":"60","mode":4,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-spirit-1.jpg","label":"Fly","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.speed.special","value":"60ft Fly","mode":"+","targetSpecific":false,"id":1,"itemId":"BE3x0mPPgMviE9GR","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.j9p6foCgoUumzm8F"}}} -{"_id":"MhbRwMn9laXsmL5d","name":"Confusion","type":"spell","img":"systems/dnd5e/icons/spells/wind-magenta-3.jpg","data":{"description":{"value":"

This spell assails and distorts the minds of creatures, generating illusions and causing uncontrolled actions. Each creature in a sphere of 10-foot-radius centered on a point chosen in the range of the spell must make a Wisdom saving throw otherwise it will be affected by the spell.

An affected target can react and it must start at the beginning of 1d10 each of his game rounds to determine its behavior for that round.

At the end of each turn, an affected creature can make a saving throw of Wisdom. If successful, the effect of the spell ends for this target.

Higher Levels. When you cast this spell using a level spell slot 5 or more, the radius of the sphere increases by 5 feet for each level of higher spell slot to 4.

","chat":"","unidentified":""},"source":"PHB pg. 224","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":10,"width":null,"units":"ft","type":"sphere"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d10","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Three walnut shells.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KVLW7oq1VcRL8DCt","flags":{"dae":{"stackable":"none","specialDuration":["None"],"transfer":false,"macroRepeat":"startEveryTurn"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null,"alignment":"","type":"","hostile":false,"onlyOnce":false}},"changes":[{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveAbility=wis, saveDC=@attributes.spelldc,","priority":"20"},{"key":"macro.itemMacro","mode":2,"value":"0","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-magenta-3.jpg","label":"Confusion","tint":"","transfer":false,"selectedKey":["StatusEffect","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Confusion","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"//DAE Macro , Effect Value = @attributes.spelldc\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nif (args[0] === \"each\") {\n\n let confusionRoll = await new Roll(\"1d10\").evaluate().total;\n let content;\n switch (confusionRoll) {\n case 1:\n content = \"The creature uses all its movement to move in a random direction. To determine the direction, roll a [[d8]] and assign a direction to each die face. The creature doesn't take an action this turn.\";\n break;\n case 2:\n content = \"\tThe creature doesn't move or take actions this turn.\";\n break;\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n content = \"The creature uses its action to make a melee attack against a randomly determined creature within its reach. If there is no creature within its reach, the creature does nothing this turn.\";\n break;\n case 8:\n case 9:\n case 10:\n content = \"The creature can act and move normally.\";\n break;\n }\n ChatMessage.create({ content: `Confusion roll for ${tactor.name} is ${confusionRoll}:
` + content });\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.MhbRwMn9laXsmL5d"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"NEykcw7XSNuYgx7n","name":"Warding Bond","type":"spell","img":"systems/dnd5e/icons/spells/protect-sky-2.jpg","data":{"description":{"value":"

This spell wards a willing creature you touch and creates a mystic connection between you and the target until the spell ends. While the target is within 60 feet of you, it gains a +1 bonus to AC and saving throws, and it has resistance to all damage. Also, each time it takes damage, you take the same amount of damage.

\n

The spell ends if you drop to 0 hit points or if you and the target become separated by more than 60 feet. It also ends if the spell is cast again on either of the connected creatures. You can also dismiss the spell as an action.

","chat":"","unidentified":""},"source":"PHB pg. 287","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A pair of platinum rings worth at least 50 gp each, which you and the target must wear for the duration","consumed":false,"cost":100,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"uFwBXvesTDbyGT7k","flags":{"dae":{"transfer":false,"stackable":"none","specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+1","priority":"20"},{"key":"data.traits.dr.all","mode":0,"value":"0","priority":"0"},{"key":"data.bonuses.abilities.save","mode":0,"value":"1","priority":"20"},{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-sky-2.jpg","label":"Warding Bond","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.traits.dr.all","data.bonuses.abilities.save","macro.itemMacro"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"1","mode":"+","targetSpecific":false,"id":1,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[],"label":"Attributes Armor Class"},{"modSpecKey":"data.traits.dr.all","value":"0","mode":"+","targetSpecific":false,"id":2,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[],"label":"Traits Damage Resistance All"},{"modSpecKey":"data.bonuses.abilities.save","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Warding Bond","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\n\nlet caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null)\n\nif (args[0] === \"on\") {\n await DAE.setFlag(tactor, \"WardingBondIds\", {\n tokenID: tactor.id,\n casterID: caster.actor.id\n })\n SetWardingBondHook(target)\n\n}\n\nasync function SetWardingBondHook(target) {\n const hookId = Hooks.on(\"preUpdateActor\", async (actor, update) => {\n let flag = await DAE.getFlag(tactor, \"WardingBondIds\")\n if (flag.tokenID !== actor.id) return\n if (!\"actorData.data.attributes.hp\" in update) return;\n let oldHP = actor.data.data.attributes.hp.value;\n let newHP = getProperty(update, \"data.attributes.hp.value\");\n let hpChange = oldHP - newHP\n if (hpChange > 0 && typeof hpChange === \"number\") {\n let caster = game.actors.get(flag.casterID).getActiveTokens()[0]\n caster.actor.applyDamage(hpChange)\n }\n })\n DAE.setFlag(tactor, \"WardingBondHook\", hookId)\n \n}\n\nasync function RemoveHook() {\n let flag = await DAE.getFlag(tactor, 'WardingBondHook');\n Hooks.off(\"preUpdateActor\", flag);\n await DAE.unsetFlag(tactor, \"WardingBondHook\");\n}\n\nif (args[0] === \"off\") {\n RemoveHook()\n await DAE.unsetFlag(tactor, \"WardingBondIds\");\n console.log(\"Death Ward removed\");\n}\n\nif (args[0] === \"each\") {\n await RemoveHook()\n await SetWardingBondHook()\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Warding Bond","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\n\nlet caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null)\n\nif (args[0] === \"on\") {\n await DAE.setFlag(tactor, \"WardingBondIds\", {\n tokenID: tactor.id,\n casterID: caster.actor.id\n })\n SetWardingBondHook(target)\n\n}\n\nasync function SetWardingBondHook(target) {\n const hookId = Hooks.on(\"preUpdateActor\", async (actor, update) => {\n let flag = await DAE.getFlag(tactor, \"WardingBondIds\")\n if (flag.tokenID !== actor.id) return\n if (!\"actorData.data.attributes.hp\" in update) return;\n let oldHP = actor.data.data.attributes.hp.value;\n let newHP = getProperty(update, \"data.attributes.hp.value\");\n let hpChange = oldHP - newHP\n if (hpChange > 0 && typeof hpChange === \"number\") {\n let caster = game.actors.get(flag.casterID).getActiveTokens()[0]\n caster.actor.applyDamage(hpChange)\n }\n })\n DAE.setFlag(tactor, \"WardingBondHook\", hookId)\n \n}\n\nasync function RemoveHook() {\n let flag = await DAE.getFlag(tactor, 'WardingBondHook');\n Hooks.off(\"preUpdateActor\", flag);\n await DAE.unsetFlag(tactor, \"WardingBondHook\");\n}\n\nif (args[0] === \"off\") {\n RemoveHook()\n await DAE.unsetFlag(tactor, \"WardingBondIds\");\n console.log(\"Death Ward removed\");\n}\n\nif (args[0] === \"each\") {\n await RemoveHook()\n await SetWardingBondHook()\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.NEykcw7XSNuYgx7n"}}} -{"_id":"NorLF3U1XNO9LOkY","name":"Ray of Enfeeblement","type":"spell","img":"systems/dnd5e/icons/spells/beam-jade-2.jpg","data":{"description":{"value":"

A black beam of enervating energy springs from your finger toward a creature within range. Make a ranged spell attack against the target. On a hit, the target deals only half damage with weapon attacks that use Strength until the spell ends.

At the end of each of the target's turns, it can make a Constitution saving throw against the spell. On a success, the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"kNbpGA7Bs2Tet6ne","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"none"}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-jade-2.jpg","label":"Ray of Enfeeblement","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Ray of Enfeeblement","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\n\n/**\n * For every str weapon, update the damage formulas to half the damage, set flag of original\n */\nif (args[0] === \"on\") {\n for (let weapon of weapons) {\n if (weapon.abilityMod === \"str\") {\n let newWeaponParts = duplicate(weapon.data.data.damage.parts);\n weapon.setFlag('world', 'RayOfEnfeeblement', newWeaponParts);\n for (let part of weapon.data.data.damage.parts) {\n part[0] = `floor((${part[0]})/2)`;\n }\n weapon.update({ \"data.damage.parts\": weapon.data.data.damage.parts });\n }\n }\n}\n\n// Update weapons to old value\nif (args[0] === \"off\") {\n for (let weapon of weapons) {\n let parts = weapon.getFlag('world', 'RayOfEnfeeblement');\n\n weapon.update({ \"data.damage.parts\": parts });\n }\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Ray of Enfeeblement","type":"script","scope":"global","command":"//DAE Item Macro Execute, no arguments\nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\n\n/**\n * For every str weapon, update the damage formulas to half the damage, set flag of original\n */\nif (args[0] === \"on\") {\n for (let weapon of weapons) {\n if (weapon.abilityMod === \"str\") {\n let newWeaponParts = duplicate(weapon.data.data.damage.parts);\n weapon.setFlag('world', 'RayOfEnfeeblement', newWeaponParts);\n for (let part of weapon.data.data.damage.parts) {\n part[0] = `floor((${part[0]})/2)`;\n }\n weapon.update({ \"data.damage.parts\": weapon.data.data.damage.parts });\n }\n }\n}\n\n// Update weapons to old value\nif (args[0] === \"off\") {\n for (let weapon of weapons) {\n let parts = weapon.getFlag('world', 'RayOfEnfeeblement');\n weapon.update({ \"data.damage.parts\": parts });\n }\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.NorLF3U1XNO9LOkY"}}} -{"_id":"OJlgbnpItuXPbu0a","name":"Misty Step","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-air-1.jpg","data":{"description":{"value":"

Briefly surrounded by silvery mist, you teleport up to 30 feet to an unoccupied space that you can see.

","chat":"","unidentified":""},"source":"PHB pg. 260","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"con","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"co3tPOrzgA6gTwI9","flags":{"dae":{"stackable":false,"specialDuration":"None","macroRepeat":"none","transfer":false}},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null,"turns":1},"icon":"systems/dnd5e/icons/spells/wind-grasp-air-1.jpg","label":"Misty Step","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Misty Step","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\n\nif (args[0] === \"on\") {\n let range = MeasuredTemplate.create({\n t: \"circle\",\n user: game.user._id,\n x: target.x + canvas.grid.size / 2,\n y: target.y + canvas.grid.size / 2,\n direction: 0,\n distance: 30,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n MistyStep: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n });\n\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user._id,\n distance: 7.5,\n direction: 45,\n x: 0,\n y: 0,\n fillColor: game.user.color,\n flags: {\n DAESRD: {\n MistyStep: {\n ActorId: tactor.id\n }\n }\n }\n };\n\n\n\n Hooks.once(\"createMeasuredTemplate\", deleteTemplatesAndMove);\n\n let template = new game.dnd5e.canvas.AbilityTemplate(templateData);\n template.actorSheet = tactor.sheet;\n template.drawPreview();\n\n async function deleteTemplatesAndMove(scene, template) {\n\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.MistyStep?.ActorId === tactor.id);\n await target.update({ x: template.x, y: template.y })\n await canvas.templates.deleteMany([removeTemplates[0].id, removeTemplates[1].id]);\n await tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.effectId); \n };\n });\n \n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Misty Step","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\n\nif (args[0] === \"on\") {\n let range = canvas.scene.createEmbeddedDocuments(\"MeasuredTemplate\", [{\n t: \"circle\",\n user: game.user._id,\n x: target.x + canvas.grid.size / 2,\n y: target.y + canvas.grid.size / 2,\n direction: 0,\n distance: 30,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n MistyStep: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n }]);\n\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user._id,\n distance: 7.5,\n direction: 45,\n x: 0,\n y: 0,\n fillColor: game.user.color,\n flags: {\n DAESRD: {\n MistyStep: {\n ActorId: tactor.id\n }\n }\n }\n };\n\n\n\n Hooks.once(\"createMeasuredTemplate\", deleteTemplatesAndMove);\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc);\n template.actorSheet = tactor.sheet;\n template.drawPreview();\n\n async function deleteTemplatesAndMove(template) {\n\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.MistyStep?.ActorId === tactor.id);\n let templateArray = removeTemplates.map(function (w) {\n return w.id\n })\n await target.update({ x: template.data.x, y: template.data.y } , {animate : false})\n if (removeTemplates) await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", templateArray)\n await tactor.deleteEmbeddedDocuments(\"ActiveEffect\", [lastArg.effectId]); \n };\n });\n \n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.OJlgbnpItuXPbu0a"}}} -{"_id":"RPl904kdlKpkJa74","name":"Black Tentacles","type":"spell","img":"systems/dnd5e/icons/spells/vines-eerie-2.jpg","data":{"description":{"value":"

Squirming, ebony tentacles fill a 20-foot square on ground that you can see within range. For the Duration, these tentacles turn the ground in the area into difficult terrain.

\n

When a creature enters the affected area for the first time on a turn or starts its turn there, the creature must succeed on a Dexterity saving throw or take 3d6 bludgeoning damage and be @JournalEntry[Restrai⁠ned] by the tentacles until the spell ends. A creature that starts its turn in the area and is already @JournalEntry[Restrai⁠ned] by the tentacles takes 3d6 bludgeoning damage.

\n

A creature @JournalEntry[Restrained] by the tentacles can use its action to make a Strength or D⁠exterity check (its choice) against your spell save DC. On a success, it frees itself.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"square"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["3d6","bludgeoning"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":4,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A piece of tentacle from a giant octopus or a giant squid","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"RLrWu1xDYBV4jPFb","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Restrained","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/vines-eerie-2.jpg","label":"Black Tentacles","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Restrained","mode":"+","targetSpecific":false,"id":1,"itemId":"z72yFG8EEc5tZgby","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.RPl904kdlKpkJa74"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"S3rQoY0WIPQ7PQeW","name":"Holy Aura","type":"spell","img":"systems/dnd5e/icons/spells/haste-sky-3.jpg","data":{"description":{"value":"

Divine light washes out from you and coalesces in a soft radiance in a 30-foot radius around you. Creatures of your choice in that radius when you cast this spell shed dim light in a 5-foot radius and have advantage on all Saving Throws, and other creatures have disadvantage on Attack rolls against them until the spell ends. In addition, when a fiend or an Undead hits an affected creature with a melee atta⁠ck, the aura flashes with brilliant light. The attacker must succeed on a Constitution saving throw or be Blinded until the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell","value":""},"level":8,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A tiny reliquary worth at least 1,000 gp containing a sacred relic, such as a scrap of cloth from a saint’s robe or a piece of parchment from a religious text","consumed":false,"cost":1000,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"bV9gcOUvMMCULD96","flags":{"dae":{"stackable":false,"specialDuration":["None"],"macroRepeat":"none","transfer":false}},"changes":[{"key":"flags.midi-qol.advantage.ability.save.all","mode":2,"value":"1","priority":"20"},{"key":"flags.midi-qol.grants.disadvantage.attack.all","mode":2,"value":"1","priority":"20"},{"key":"ATL.dimLight","mode":4,"value":"5","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-sky-3.jpg","label":"Holy Auras","tint":null,"transfer":false,"selectedKey":["data.abilities.cha.dc","data.abilities.cha.dc","data.abilities.cha.dc"]}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.azx1Ek4KaAbdemJd"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"SP66bVwMD1PYlySJ","name":"Magic Weapon","type":"spell","img":"systems/dnd5e/icons/spells/enchant-blue-2.jpg","data":{"description":{"value":"

You touch a nonmagical weapon. Until the spell ends, that weapon becomes a magic weapon with a +1 bonus to Attack rolls and Damage Rolls.

\n

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the bonus increases to +2. When you use a spell slot of 6th level or higher, the bonus increases to +3.

","chat":"","unidentified":""},"source":"PHB pg. 257","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":0,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"xe1MqXU3Xz6XftZg","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"@item.level","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-blue-2.jpg","label":"Magic Weapon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"Magic Weapon\" @target @item.level","mode":"+","targetSpecific":false,"id":1,"itemId":"f1nQIsVPzwoUTqOt","active":true,"_targets":[]}]},"itemacro":{"macro":{"_data":{"name":"Magic Weapon","type":"script","scope":"global","command":"//DAE Item Macro Execute, arguments = @item.level\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst DAEItem = lastArg.efData.flags.dae.itemData\n\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\nlet weapon_content = ``;\n\nfunction value_limit(val, min, max) {\n return val < min ? min : (val > max ? max : val);\n};\n//Filter for weapons\nfor (let weapon of weapons) {\n weapon_content += ``;\n}\n\n/**\n * Select for weapon and apply bonus based on spell level\n */\nif (args[0] === \"on\") {\n let content = `\n \n
\n
\n ${weapon_content}\n
\n
\n `;\n\n new Dialog({\n content,\n buttons:\n {\n Ok:\n {\n label: `Ok`,\n callback: (html) => {\n let itemId = $(\"input[type='radio'][name='weapon']:checked\").val();\n let weaponItem = tactor.items.get(itemId);\n let copy_item = duplicate(weaponItem);\n let spellLevel = Math.floor(DAEItem.data.level / 2);\n let bonus = value_limit(spellLevel, 1, 3);\n let wpDamage = copy_item.data.damage.parts[0][0];\n let verDamage = copy_item.data.damage.versatile;\n DAE.setFlag(tactor, `magicWeapon`, {\n damage: weaponItem.data.data.attackBonus,\n weapon: itemId,\n weaponDmg: wpDamage,\n verDmg: verDamage,\n mgc : copy_item.data.properties.mgc\n }\n );\n if(copy_item.data.attackBonus === \"\") copy_item.data.attackBonus = \"0\"\n copy_item.data.attackBonus = `${parseInt(copy_item.data.attackBonus) + bonus}`;\n copy_item.data.damage.parts[0][0] = (wpDamage + \" + \" + bonus);\n copy_item.data.properties.mgc = true\n if (verDamage !== \"\" && verDamage !== null) copy_item.data.damage.versatile = (verDamage + \" + \" + bonus);\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n }\n },\n Cancel:\n {\n label: `Cancel`\n }\n }\n }).render(true);\n}\n\n//Revert weapon and unset flag.\nif (args[0] === \"off\") {\n let { damage, weapon, weaponDmg, verDmg, mgc} = DAE.getFlag(tactor, 'magicWeapon');\n let weaponItem = tactor.items.get(weapon);\n let copy_item = duplicate(weaponItem);\n copy_item.data.attackBonus = damage;\n copy_item.data.damage.parts[0][0] = weaponDmg;\n copy_item.data.properties.mgc = mgc\n if (verDmg !== \"\" && verDmg !== null) copy_item.data.damage.versatile = verDmg;\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n DAE.unsetFlag(tactor, `magicWeapon`);\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Magic Weapon","type":"script","scope":"global","command":"//DAE Item Macro Execute, arguments = @item.level\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst DAEItem = lastArg.efData.flags.dae.itemData\n\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\nlet weapon_content = ``;\n\nfunction value_limit(val, min, max) {\n return val < min ? min : (val > max ? max : val);\n};\n//Filter for weapons\nfor (let weapon of weapons) {\n weapon_content += ``;\n}\n\n/**\n * Select for weapon and apply bonus based on spell level\n */\nif (args[0] === \"on\") {\n let content = `\n \n
\n
\n ${weapon_content}\n
\n
\n `;\n\n new Dialog({\n content,\n buttons:\n {\n Ok:\n {\n label: `Ok`,\n callback: (html) => {\n let itemId = $(\"input[type='radio'][name='weapon']:checked\").val();\n let weaponItem = tactor.items.get(itemId);\n let copy_item = duplicate(weaponItem);\n let spellLevel = Math.floor(DAEItem.data.level / 2);\n let bonus = value_limit(spellLevel, 1, 3);\n let wpDamage = copy_item.data.damage.parts[0][0];\n let verDamage = copy_item.data.damage.versatile;\n DAE.setFlag(tactor, `magicWeapon`, {\n damage: weaponItem.data.data.attackBonus,\n weapon: itemId,\n weaponDmg: wpDamage,\n verDmg: verDamage,\n mgc : copy_item.data.properties.mgc\n }\n );\n if(copy_item.data.attackBonus === \"\") copy_item.data.attackBonus = \"0\"\n copy_item.data.attackBonus = `${parseInt(copy_item.data.attackBonus) + bonus}`;\n copy_item.data.damage.parts[0][0] = (wpDamage + \" + \" + bonus);\n copy_item.data.properties.mgc = true\n if (verDamage !== \"\" && verDamage !== null) copy_item.data.damage.versatile = (verDamage + \" + \" + bonus);\n tactor.updateEmbeddedDocuments(\"Item\", [copy_item]);\n }\n },\n Cancel:\n {\n label: `Cancel`\n }\n }\n }).render(true);\n}\n\n//Revert weapon and unset flag.\nif (args[0] === \"off\") {\n let { damage, weapon, weaponDmg, verDmg, mgc} = DAE.getFlag(tactor, 'magicWeapon');\n let weaponItem = tactor.items.get(weapon);\n let copy_item = duplicate(weaponItem);\n copy_item.data.attackBonus = damage;\n copy_item.data.damage.parts[0][0] = weaponDmg;\n copy_item.data.properties.mgc = mgc\n if (verDmg !== \"\" && verDmg !== null) copy_item.data.damage.versatile = verDmg;\n tactor.updateEmbeddedDocuments(\"Item\", [copy_item]);\n DAE.unsetFlag(tactor, `magicWeapon`);\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.SP66bVwMD1PYlySJ"}}} -{"name":"Hideous Laughter (macro)","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming Incapacitated and unable to stand up for the Duration. A creature with an Intelligence score of 4 or less isn’t affected.

\n

At the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it’s triggered by damage. On a success, the spell ends.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":20,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Tiny tarts and a feather that is waved in the air","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YG33V4oAMECg5fC3","flags":{"dae":{"stackable":"none","macroRepeat":"endEveryTurn","transfer":false,"specialDuration":[]}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"},{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Prone","priority":"20"},{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Incapacitated","priority":"20"},{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveDc = @attributes.spelldc, saveAbility = wis","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Hideous Laughter (Copy)","origin":"Actor.LClwU7mAyShYLmFU.OwnedItem.Xx810qrpyxTIvsPf","tint":null,"transfer":false,"selectedKey":["macro.itemMacro","StatusEffect","StatusEffect","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Incapacitated","mode":"+","targetSpecific":false,"id":1,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[],"label":"Flags Condition"},{"modSpecKey":"flags.dnd5e.conditions","value":"Prone","mode":"+","targetSpecific":false,"id":2,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"itemacro":{"macro":{"data":{"_id":null,"name":"Hideous Laughter macro","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nlet caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null)\n\nif (args[0] === \"on\") {\n if (tactor.data.data.abilities.int.value < 4) tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n RollHideousSave(target)\n}\n\nasync function RollHideousSave(target) {\n debugger\n console.log(\"SetHook\")\n const hookId = Hooks.on(\"preUpdateActor\", async (actor, update) => {\n if (!\"actorData.data.attributes.hp\" in update) return;\n let oldHP = actor.data.data.attributes.hp.value;\n let newHP = getProperty(update, \"data.attributes.hp.value\");\n let hpChange = oldHP - newHP\n if (hpChange > 0 && typeof hpChange === \"number\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor, fastForward: true, advantage: true })).total;\n if (saveRoll < saveData.dc) return;\n await tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n\n }\n })\n if (args[0] !== \"on\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor })).total;\n if (saveRoll >= saveData.dc) {\n tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n }\n }\n await DAE.setFlag(tactor, \"hideousLaughterHook\", hookId)\n}\n\nasync function RemoveHook() {\n let flag = await DAE.getFlag(tactor, 'hideousLaughterHook');\n Hooks.off(\"preUpdateActor\", flag);\n await DAE.unsetFlag(tactor, \"hideousLaughterHook\");\n if (args[0] === \"off\") game.cub.addCondition(\"Prone\", tactor)\n}\n\nif (args[0] === \"off\") {\n RemoveHook()\n}\n\nif (args[0] === \"each\") {\n await RemoveHook()\n await RollHideousSave()\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Item.Xx810qrpyxTIvsPf"}},"_id":"TjXIEp8YiClRfNCX"} -{"_id":"TuVbe4A1XNtVtM9n","name":"Feeblemind","type":"spell","img":"systems/dnd5e/icons/spells/light-eerie-3.jpg","data":{"description":{"value":"

You blast the mind of a creature that you can see within range, attempting to shat⁠ter its intellect and personality. The target takes 4d6 psychic damage and must make an Intelligence saving throw.

On a failed save, the creature’s Intelligence and Charisma scores become 1. The creature can’t cast Spells, activate Magic Items, understand language, or communicate in any intelligible way. The creature can, however, ide⁠ntify its frie⁠nds, follow them, and even protect them.

At the end of every 30 days, the creature can repeat its saving throw against this spell. If it succeeds on its saving throw, the spell ends.

The spell can also be ended by Greater Restoration, heal, or wish.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":150,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d6","psychic"]],"versatile":""},"formula":"","save":{"ability":"int","dc":null,"scaling":"spell"},"level":8,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A handful of clay, crystal, glass, or mineral spheres","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"gQ62KbB33DWKb2fr","flags":{"dae":{"stackable":false,"specialDuration":"None","transfer":false}},"changes":[{"key":"data.abilities.cha.value","value":"1","mode":5,"priority":50},{"key":"data.abilities.int.value","value":"1","mode":5,"priority":50},{"key":"flags.midi-qol.fail.spell.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-eerie-3.jpg","label":"Feeblemind","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.fgTqAvvyBqs6CgNf"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"VNkPZzkfmrVZvJ00","name":"Levitate","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-magenta-2.jpg","data":{"description":{"value":"

One creature or object of your choice that you can see within range rises vertically, up to 20 feet, and remains suspended there for the duration. The spell can levitate a target that weighs up to 500 pounds. An unwilling creature that succeeds on a Constitution saving throw is unaffected.

\n

The target can move only by pushing or pulling against a fixed object or surface within reach (such as a wall or a ceiling), which allows it to move as if it were climbing. You can change the target’s altitude by up to 20 feet in either direction on your turn. If you are the target, you can move up or down as part of your move. Otherwise, you can use your action to move the target, which must remain within the spell’s range.

\n

When the spell ends, the target floats gently to the ground if it is still aloft.

","chat":"","unidentified":""},"source":"PHB pg. 255","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Either a small leather loop or a piece of golden wire bent into a cup shape with a long shank on one end","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"6BMAKrzsDsynMYBZ","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-magenta-2.jpg","label":"Levitate","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Levitate @target","mode":"+","targetSpecific":false,"id":1,"itemId":"EDXeRSF3f6cl2O8L","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Levitate","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} is levitated 20ft` });\n target.update({ \"elevation\": 20 });\n}\nif (args[0] === \"off\") {\n target.update({\"elevation\": 0 });\n ChatMessage.create({ content: `${target.name} is returned to the ground` });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Levitate","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\nconst lastArg = args[args.length - 1];\nlet tactor;\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} is levitated 20ft` });\n target.update({ \"elevation\": 20 });\n}\nif (args[0] === \"off\") {\n target.update({\"elevation\": 0 });\n ChatMessage.create({ content: `${target.name} is returned to the ground` });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.VNkPZzkfmrVZvJ00"}}} -{"_id":"WCMqm6S8NObKCaGU","name":"Invisibility","type":"spell","img":"systems/dnd5e/icons/spells/fog-sky-2.jpg","data":{"description":{"value":"

A creature you touch becomes invisible until the spell ends. Anything the target is wearing or carrying is invisible as long as it is on the target's person. The spell ends for a target that attacks or casts a spell.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 254","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"An eyelash encased in gum arabic","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"4sj41iLn03Ucp7Uk","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"}},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-sky-2.jpg","label":"Invisibility","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Invisibility @target","mode":"+","targetSpecific":false,"id":1,"itemId":"Ca4bXFRcwZU79yGi","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Invisibility","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible` });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears` });\n target.update({ \"hidden\": false });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Invisibility","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible`, whisper: [game.user] });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears`, whisper: [game.user] });\n target.update({ \"hidden\": false });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.WCMqm6S8NObKCaGU"}}} -{"_id":"WDc7GX7bGoii11OR","name":"Hypnotic Pattern","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-2.jpg","data":{"description":{"value":"

You create a twisting pattern of colors that weaves through the air inside a 30-foot cube within range. The pattern appears for a moment and vanishes. Each creature in the area who sees the pattern must make a Wisdom saving throw. On a failed save, the creature becomes charmed for the duration. While charmed by this spell, the creature is incapacitated and has a speed of 0.

\n

The spell ends for an affected creature if it takes any damage or if someone else uses an action to shake the creature out of its stupor.

","chat":"","unidentified":""},"source":"PHB pg. 252","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"cube"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"ill","components":{"value":"","vocal":false,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A glowing stick of incense or a crystal vial filled with phosphorescent material.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"vf8qXWho8hhViUVl","flags":{"core":{"statusId":"combat-utility-belt.charmed"},"combat-utility-belt":{"conditionId":"charmed","overlay":false},"dae":{"transfer":false}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"modules/combat-utility-belt/icons/charmed.svg","label":"Charmed","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"giMYGgLa3Vy20LWh","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.WDc7GX7bGoii11OR"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"ZGZ1j55riwaOK6V0","name":"Call Lightning","type":"spell","img":"systems/dnd5e/icons/spells/lighting-sky-2.jpg","data":{"description":{"value":"

A storm cloud appears in the shape of a cylinder that is 10 feet tall with a 60-foot radius, centered on a point you can see 100 feet directly above you. The spell fails if you can’t see a point in the air where the storm cloud could appear (for example, if you are in a room that can’t accommodate the cloud).

When you cast the spell, choose a point you can see within range. A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one. On each of your turns until the spell ends, you can use your action to call down lightning in this way again, targeting the same point or a different one.

If you are outdoors in stormy conditions when you cast this spell, the spell gives you control over the existing storm instead of creating a new one. Under such conditions, the spell’s damage increases by 1d10.

Higher Levels. When you cast this spell using a spell slot of 4th or higher level, the damage increases by 1d10 for each slot level above 3rd.

","chat":"","unidentified":""},"source":"PHB pg. 220","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"4d10"},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":3,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"xfVuiySO5CUntl2N","flags":{"dae":{"stackable":false,"specialDuration":"None","transfer":false}},"changes":[{"key":"macro.itemMacro","value":"@target @item.level","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/lighting-sky-2.jpg","label":"Call Lightning Summon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Call Lightning","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" \nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEitem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEitem.data.save\n/**\n * Create Call Lightning Bolt item in inventory\n */\nif (args[0] === \"on\") {\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 60,\n direction: 0,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n CallLighting: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n let template = new game.dnd5e.canvas.AbilityTemplate(templateData)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n await tactor.createOwnedItem(\n {\n \"name\": \"Call Lightning - bolt\",\n \"type\": \"spell\",\n \"data\": {\n \"description\": {\n \"value\": \"

A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one.

\"\n },\n \"activation\": {\n \"type\": \"action\"\n },\n \"target\": {\n \"value\": 5,\n \"width\": null,\n \"units\": \"ft\",\n \"type\": \"radius\"\n },\n \"ability\": \"\",\n \"actionType\": \"save\",\n \"damage\": {\n \"parts\": [\n [\n `${DAEitem.data.level}d10`,\n \"lightning\"\n ]\n ],\n \"versatile\": \"\"\n },\n \"formula\": \"\",\n \"save\": {\n \"ability\": \"dex\",\n \"dc\": 16,\n \"scaling\": \"spell\"\n },\n \"level\": 0,\n \"school\": \"abj\",\n \"preparation\": {\n \"mode\": \"prepared\",\n \"prepared\": false\n },\n \"scaling\": {\n \"mode\": \"none\",\n \"formula\": \"\"\n }\n },\n \"img\": \"systems/dnd5e/icons/spells/lighting-sky-2.jpg\"\n }\n );\n}\n\n// Delete Flame Blade\nif (args[0] === \"off\") {\n let castItem = tactor.data.items.find(i => i.name === \"Call Lightning - bolt\" && i.type === \"spell\")\n if(castItem) await tactor.deleteOwnedItem(castItem._id)\n let template = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.CallLighting?.ActorId === tactor.id)\n if(template) await canvas.templates.deleteMany(template[0].id)\n\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Call Lightning","type":"script","scope":"global","command":"//DAE Macro no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEitem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEitem.data.save\n/**\n * Create Call Lightning Bolt item in inventory\n */\nif (args[0] === \"on\") {\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 60,\n direction: 0,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n CallLighting: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n await tactor.createOwnedItem(\n {\n \"name\": \"Call Lightning - bolt\",\n \"type\": \"spell\",\n \"data\": {\n \"description\": {\n \"value\": \"

A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one.

\"\n },\n \"activation\": {\n \"type\": \"action\"\n },\n \"target\": {\n \"value\": 5,\n \"width\": null,\n \"units\": \"ft\",\n \"type\": \"radius\"\n },\n \"ability\": \"\",\n \"actionType\": \"save\",\n \"damage\": {\n \"parts\": [\n [\n `${DAEitem.data.level}d10`,\n \"lightning\"\n ]\n ],\n \"versatile\": \"\"\n },\n \"formula\": \"\",\n \"save\": {\n \"ability\": \"dex\",\n \"dc\": 16,\n \"scaling\": \"spell\"\n },\n \"level\": 0,\n \"school\": \"abj\",\n \"preparation\": {\n \"mode\": \"prepared\",\n \"prepared\": false\n },\n \"scaling\": {\n \"mode\": \"none\",\n \"formula\": \"\"\n }\n },\n \"img\": \"systems/dnd5e/icons/spells/lighting-sky-2.jpg\",\n \"effects\" : []\n }\n );\n}\n\n// Delete Flame Blade\nif (args[0] === \"off\") {\n let castItem = tactor.data.items.find(i => i.name === \"Call Lightning - bolt\" && i.type === \"spell\")\n if(castItem) await tactor.deleteOwnedItem(castItem._id)\n let template = canvas.templates.placeables.find(i => i.data.flags.DAESRD?.CallLighting?.ActorId === tactor.id)\n if (template) await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [template.id])\n\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.ZGZ1j55riwaOK6V0"}}} -{"_id":"ZyYJH8HLsinQcCWC","name":"Slow","type":"spell","img":"systems/dnd5e/icons/spells/fog-magenta-2.jpg","data":{"description":{"value":"

You alter time around up to six creatures of your choice in a 40-foot cube within range. Each target must succeed on a Wisdom saving throw or be affected by this spell for the duration.

\n

An affected target’s speed is halved, it takes a -2 penalty to AC and Dexterity saving throws, and it can’t use reactions. On its turn, it can use either an action or a bonus action, not both. Regardless of the creature’s abilities or magic items, it can’t make more than one melee or ranged attack during its turn.

\n

If the creature attempts to cast a spell with a casting time of 1 action, roll a d20. On an 11 or higher, the spell doesn’t take effect until the creature’s next turn, and the creature must use its action on that turn to complete the spell. If it can’t, the spell is wasted.

\n

A creature affected by this spell makes another Wisdom saving throw at the end of its turn. On a successful save, the effect ends for it.

","chat":"","unidentified":""},"source":"PHB pg. 277","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":40,"width":null,"units":"ft","type":"cube"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d20","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of molasses.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Qb65ygpbdcoa0FjR","flags":{"dae":{"transfer":false,"stackable":"none","macroRepeat":"none","specialDuration":[]}},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"-2","priority":"20"},{"key":"data.attributes.movement.all","mode":0,"value":"/2","priority":"20"},{"key":"data.abilities.dex.save","mode":2,"value":"-2","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-magenta-2.jpg","label":"Slow","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.attributes.movement.all","data.abilities.dex.save"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Slow","mode":"+","targetSpecific":false,"id":1,"itemId":"FQy3csyQLdC6oQkD","active":true,"_targets":[],"label":"Macro Execute"},{"modSpecKey":"data.attributes.ac.value","value":"-2","mode":"+","targetSpecific":false,"id":2,"itemId":"FQy3csyQLdC6oQkD","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.SChk2pLAW8jxJPAK"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"dbDM3rVJenAemuCK","name":"Divine Favor","type":"spell","img":"systems/dnd5e/icons/spells/enchant-sky-2.jpg","data":{"description":{"value":"

Your prayer empowers you with divine radiance. Until the spell ends, your weapon attacks deal an extra 1d4 radiant damage on a hit. 

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["1d4","radiant"]],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"aVCdeH1iRyP3xIwE","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":["None"],"macroRepeat":"none"}},"changes":[{"key":"data.bonuses.mwak.damage","value":"1d4[Radiant]","mode":0,"priority":0},{"key":"data.bonuses.rwak.damage","value":"1d4[Radiant]","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-sky-2.jpg","label":"Divine Favor","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.bonuses.mwak.damage","value":"1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"pIAJpIhy3y7gkq8N","active":true,"_targets":[],"label":"Bonuses Melee Weapon Damage"},{"modSpecKey":"data.bonuses.rwak.damage","value":"1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"ylWHtKMfk5WUheki","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.dbDM3rVJenAemuCK"}}} -{"_id":"dnjg2ggj6emIemEb","name":"Banishment","type":"spell","img":"systems/dnd5e/icons/spells/link-eerie-3.jpg","data":{"description":{"value":"

You attempt to send one creature that you can see within range to another plane of existence. The target must succeed on a Charisma saving throw or be banished.

\n

If the target is native to the plane of existence you're on, you banish the target to a harmless demiplane. While there, the target is incapacitated. The target remains there until the spell ends, at which point the target reappears in the space it left or in the nearest unoccupied space if that space is occupied.

\n

If the target is native to a different plane of existence than the one you're on, the target is banished with a faint popping noise, returning to its home plane. If the spell ends before 1 minute has passed, the target reappears in the space it left or in the nearest unoccupied space if that space is occupied. Otherwise, the target doesn't return.

\n

At Higher Levels. When you cast this spell using a spell slot of 5th level or higher, you can target one additional creature for each slot level above 4th.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell","value":""},"level":4,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"An item distasteful to the target","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"DBqSEY0iu0S1PDxc","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-eerie-3.jpg","label":"Banishment","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Banishment @target","mode":"+","targetSpecific":false,"id":1,"itemId":"pz0vjFCdPtQkdKKQ","active":true,"_targets":[],"label":"Macro Execute"}]},"betterRolls5e":{"critRange":{"type":"String","value":null},"critDamage":{"type":"String","value":""},"quickDesc":{"type":"Boolean","value":true,"altValue":true},"quickAttack":{"type":"Boolean","value":true,"altValue":true},"quickSave":{"type":"Boolean","value":true,"altValue":true},"quickDamage":{"type":"Array","value":[],"altValue":[],"context":[]},"quickVersatile":{"type":"Boolean","value":false,"altValue":false},"quickProperties":{"type":"Boolean","value":true,"altValue":true},"quickCharges":{"type":"Boolean","value":{"use":false,"resource":false},"altValue":{"use":false,"resource":false}},"quickTemplate":{"type":"Boolean","value":true,"altValue":true},"quickOther":{"type":"Boolean","value":true,"altValue":true,"context":""},"quickFlavor":{"type":"Boolean","value":true,"altValue":true},"quickPrompt":{"type":"Boolean","value":false,"altValue":false}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.BcZKJ53HIIPkOPeD"},"itemacro":{"macro":{"_data":{"name":"Banishment","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nif (args[0] === \"on\") {\n target.update({hidden : true}); // hide targeted token\n ChatMessage.create({content: target.name + \" was banished\"});\n \n}\nif(args[0]=== \"off\") {\n target.update({hidden : false}); // unhide token\n ChatMessage.create({content: target.name + \" returned\"});\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Banishment","type":"script","scope":"global","command":"if(!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n//DAE Macro, Effect Value = @target\n\nlet target = canvas.tokens.get(args[1]); //find target\n\nif (args[0] === \"on\") {\n target.update({hidden : true}); // hide targeted token\n ChatMessage.create({content: target.name + \" was banished\"});\n \n}\nif(args[0]=== \"off\") {\n target.update({hidden : false}); // unhide token\n ChatMessage.create({content: target.name + \" returned\"});\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""}}} +{"_id":"0VzNMJQ7RY99wJGA","name":"Enlarge/Reduce","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

You cause a creature or an object you can see within range to grow larger or smaller for the Duration. Choose either a creature or an object that is neither worn nor carried. If the target is unwilling, it can make a Constitution saving throw. On a success, the spell has no effect.

\n

If the target is a creature, everything it is wearing and carrying changes size with it. Any item dropped by an affected creature returns to normal size at once.

\n

Enlarge. The target’s size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category—from Medium to Large, for example. If there isn’t enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength Checks and Strength Saving Throws. The target’s Weapons also grow to match its new size. While these Weapons are enlarged, the target’s attacks with them deal 1d4 extra damage.

\n

Reduce. The target’s size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category—from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength Checks and Strength Saving Throws. The target’s Weapons also shrink to match its new size. While these Weapons are reduced, the target’s attacks with them deal 1d4 less damage (this can’t reduce the damage below 1).

","chat":"","unidentified":""},"source":"PHB pg. 237","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A pinch of powdered iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"a7fBAHk1NcIg80wi","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Enlarge/Reduce","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"EnlargeReduce @target","mode":"+","targetSpecific":false,"id":1,"itemId":"l3i21wVEWMHVOXyj","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Enlarge/Reduce","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.enlargeReduce(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.0VzNMJQ7RY99wJGA"}}} +{"_id":"1998iBxDW9aRFCYF","name":"Dominate Person","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You attempt to beguile a humanoid that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the target is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell using a 6th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 7th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 8th level or higher, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 235","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"svWQXmnuGuAc72FC","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","label":"Dominate Person","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"gKzO4fpcwMOcAGi7","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.1998iBxDW9aRFCYF"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"1X15PXtKKJUD5ePr","name":"Entangle","type":"spell","img":"systems/dnd5e/icons/spells/vines-acid-2.jpg","data":{"description":{"value":"

Grasping weeds and vines sprout from the ground in a 20-foot square starting from a point within range. For the Duration, these Plants turn the ground in the area into difficult terrain.

\n

A creature in the area when you cast the spell must succeed on a Strength saving throw or be Restrained by the entangling Plants until the spell ends. A creature restra⁠ined by the plant⁠s can use its action to make a Stren⁠gth check against your spell save DC. On a success, it frees itself.

\n

When the spell ends, the conjured Plants wilt away.

","chat":"","unidentified":""},"source":"PHB pg. 238","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"square"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":1,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"fL50SYZFFjEbIbgI","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Restrained","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/vines-acid-2.jpg","label":"Entangle","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Restrained","mode":"+","targetSpecific":false,"id":1,"itemId":"SC2lBI48lFJMM3B3","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.1X15PXtKKJUD5ePr"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"26xAryg5qdG9n23b","name":"Enhance Ability","type":"spell","img":"systems/dnd5e/icons/spells/haste-royal-2.jpg","data":{"description":{"value":"

You touch a creature and bestow upon it a magical enhancement. Choose one of the following effects; the target gains that effect until the spell ends.

\n\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

\n

 

","chat":"","unidentified":""},"source":"PHB pg. 237","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Fur or a feather from a beast","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"8uI9aer4rZEihWfG","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-royal-2.jpg","label":"Enhance Ability","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"Enhance Ability\"","mode":"+","targetSpecific":false,"id":1,"itemId":"yZNhz0so7VoYLpZZ","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.26xAryg5qdG9n23b"},"itemacro":{"macro":{"data":{"_id":null,"name":"Enhance Ability","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.enhanceAbility(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}}}} +{"_id":"28A8EA8xotY1Bwmd","name":"Haste","type":"spell","img":"systems/dnd5e/icons/spells/haste-royal-2.jpg","data":{"description":{"value":"

Choose a willing creature that you can see within range. Until the spell ends, the target’s speed is doubled, it gains a +2 bonus to AC, it has advantage on Dexterity Saving Throws, and it gains an additional action on each of its turns. That action can be used only to take the Attack (one weapon attac⁠k only), Dash, Disengage, Hide, or Use an Object action.

\n

When the spell ends, the target can’t move or take Actions until after its next turn, as a wave of lethargy sweeps over it.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A shaving of licorice root","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""},"attributes":{"spelldc":10}},"effects":[{"_id":"0VoBuTMoLbqIwtJJ","flags":{},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+2","priority":"20"},{"key":"flags.midi-qol.advantage.ability.save.dex","mode":2,"value":"+2","priority":"20"},{"key":"data.attributes.movement.all","mode":0,"value":"*2","priority":"10"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-royal-2.jpg","label":"Haste","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.abilities.cha.dc","data.attributes.movement.all"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.itemMacro","value":"@target","mode":"+","targetSpecific":false,"id":1,"itemId":"n4AhwxY8hCTyI5nb","active":true,"_targets":[]},{"modSpecKey":"data.attributes.ac.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"n4AhwxY8hCTyI5nb","active":true,"_targets":[],"label":"Attributes Armor Class"}]},"itemacro":{"macro":{"data":{"name":"Haste","type":"script","scope":"global","command":"","author":"devnIbfBHb74U9Zv"},"options":{},"apps":{},"compendium":null,"_data":{"name":"Haste","type":"script","scope":"global","command":"","author":"devnIbfBHb74U9Zv"}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.amrbkImxY8OJO528"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"exportSource":{"world":"testWorld","system":"dnd5e","coreVersion":"0.7.7","systemVersion":"1.1.1"}}} +{"_id":"28KxBq0sSUZf0KJc","name":"Command","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-1.jpg","data":{"description":{"value":"

You speak a one-word command to a creature you can see within range. The target must succeed on a Wisdom saving throw or follow the command on its next turn. The spell has no effect if the target is undead, if it doesn’t understand your language, or if your command is directly harmful to it.

\n

Some typical commands and their effects follow. You might issue a command other than one described here. If you do so, the DM determines how the target behaves. If the target can’t follow your command, the spell ends.

\n

Approach. The target moves toward you by the shortest and most direct route, ending its turn if it moves within 5 feet of you.

\n

Drop. The target drops whatever it is holding and then ends its turn.

\n

Flee. The target spends its turn moving away from you by the fastest available means.

\n

Grovel. The target falls prone and then ends its turn.

\n

Halt. The target doesn’t move and takes no actions. A flying creature stays aloft, provided that it is able to do so. If it must move to stay aloft, it flies the minimum distance needed to remain in the air.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional creature for each slot level above 1st. The creatures must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 223","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"round"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"ReM07pjSJKdkTJFE","changes":[],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-1.jpg","label":"Command","transfer":false,"flags":{},"tint":null}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"Rkamxk5rL0RQpiYv","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.28KxBq0sSUZf0KJc"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"2xOEEH5Ga1S1lfbW","name":"Flesh to Stone","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

You attempt to turn one creature that you can see within range into stone. If the target’s body is made of flesh, the creature must make a Constitution saving throw. On a failed save, it is Restrained as its flesh begins to harden. On a successful save, the creature isn’t affected.

A creature Restrained by this spell must make another Constitution saving throw at the end of each of its turns. If it successfully saves against this spell three times, the spell ends. If it fails its saves three times, it is turned to stone and subjected to the Petrified condition for the Duration. The successes and failures don’t need to be consecutive; keep track of both until the target collects three of a kind.

If the creature is physically broken while Petrified, it suffers from similar deformities if it reverts to its original state.

If you maintain your Concentration on this spell for the entire possible Duration, the creature is turned to stone until the effect is removed.

","chat":"","unidentified":""},"source":"PHB pg. 243","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":6,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A pinch of lime, water, and earth","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"rcvkBwQW0yl4arjK","flags":{"dae":{"macroRepeat":"endEveryTurn"}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Flesh to Stone","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Flesh to Stone","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.fleshToStone(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.2xOEEH5Ga1S1lfbW"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"4JKnHIctiiJhJifq","name":"Guiding Bolt","type":"spell","img":"systems/dnd5e/icons/spells/fireball-sky-2.jpg","data":{"description":{"value":"

A flash of light streaks toward a creature of your choice within range. Make a ranged spell attack against the target. On a hit, the target takes 4d6 radiant damage, and the next attack roll made against this target before the end of your next turn has advantage, thanks to the mystical dim light glittering on the target until then.

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 248","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"round"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d6","radiant"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d6"}},"effects":[{"_id":"VrcwRw5coeFnTjAp","flags":{"dae":{}},"changes":[{"key":"flags.midi-qol.grants.advantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fireball-sky-2.jpg","label":"Guiding Bolt","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.QP2aMr0hangVZX5f"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"4g1fxDSPaNCdJya7","name":"Unseen Servant","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-sky-2.jpg","data":{"description":{"value":"

This spell creates an Invisible, mindless, shapeless, Medium force that performs simple tasks at your command until the spell ends. The servant springs into existence in an unoccupied space on the ground within range. It has AC 10, 1 hit point, and a Strength of 2, and it can't attack. If it drops to 0 hit points, the spell ends.

Once on each of your turns as a Bonus Action, you can mentally command the servant to move up to 15 feet and interact with an object. The servant can perform simple tasks that a human servant could do, such as fetching things, cleaning, mending, folding clothes, lighting fires, serving food, and pouring wine. Once you give the command, the servant performs the task to the best of its ability until it completes the task, then waits for your next command.

If you command the servant to perform a task that would move it more than 60 feet away from you, the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 284","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"space"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":true,"concentration":false},"materials":{"value":"A bit of string and of wood","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.ccduLIvutyNqvkgv"},"midi-qol":{"effectActivation":false,"onUseMacroName":"[postActiveEffects]ItemMacro"},"itemacro":{"macro":{"data":{"_id":null,"name":"Unseen Servant","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.unseenServant(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}}}} +{"_id":"9HAjPK8SJQeVye9Z","name":"Vicious Mockery","type":"spell","img":"icons/skills/toxins/cup-goblet-poisoned-spilled.webp","data":{"description":{"value":"

You unleash a string of insults laced with subtle enchantments at a creature you can see within range. If the target can hear you (though it need not understand you), it must succeed on a Wisdom saving throw or take 1d4 psychic damage and have disadvantage on the next attack roll it makes before the end of its next turn.

\n

This spell’s damage increases by 1d4 when you reach 5th level (2d4), 11th level (3d4), and 17th level (4d4).

","chat":"","unidentified":""},"source":"PHB pg. 285","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["1d4","psychic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":0,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"cantrip","formula":""}},"effects":[{"_id":"Hx46i1074n2gxUgp","flags":{"dae":{}},"changes":[{"key":"flags.midi-qol.disadvantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/skills/affliction_24.jpg","label":"Vicious Mockery","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"midi-qol":{"onUseMacroName":""},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.SWWBy4VstTKHf8Cd"}}} +{"_id":"9jAiOoDIA5EdZHin","name":"Hold Person","type":"spell","img":"systems/dnd5e/icons/spells/shielding-eerie-2.jpg","data":{"description":{"value":"

Choose a humanoid that you can see within range. The target must succeed on a Wisdom saving throw or be paralyzed for the duration. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target.

\n

Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional humanoid for each slot level above 2nd. The humanoids must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":2,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small, straight piece of iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"mB6EIRzl7qH08vDu","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Paralyzed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/paralyzed.svg","label":"Paralyzed","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Paralyzed","mode":"+","targetSpecific":false,"id":1,"itemId":"OG2582mWdvDlpOLo","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.9jAiOoDIA5EdZHin"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"AOchbceeKrPusKst","name":"Ray of Frost","type":"spell","img":"systems/dnd5e/icons/spells/beam-blue-1.jpg","data":{"description":{"value":"

A frigid beam of blue-white light streaks toward a creature within range. Make a ranged spell attack against the target. On a hit, it takes 1d8 cold damage, and its speed is reduced by 10 feet until the start of your next turn.

\n

The spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[["1d8","cold"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"cantrip","formula":""}},"effects":[{"_id":"dNFOxJA3UGDHtSmJ","flags":{"dae":{}},"changes":[{"key":"data.attributes.movement.walk","value":"-10","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-blue-1.jpg","label":"Ray of Frost","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Ray of Frost\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"6Oqiqd9OC1K8G9es","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.FyPDa7dCge2GASdr"},"midi-qol":{"onUseMacroName":"","criticalThreshold":"20","effectActivation":false,"forceCEOn":false}}} +{"_id":"AwMLvifkyNIYzSUh","name":"Divine Word","type":"spell","img":"systems/dnd5e/icons/spells/light-royal-3.jpg","data":{"description":{"value":"

You utter a divine word, imbued with the power that shaped the world at the dawn of Creation. Choose any number of creatures you can see within range. Each creature that can hear you must make a Charisma saving throw. On a failed save, a creature suffers an effect based on its current hit points:

\n\n

Regardless of its current Hit Points, a Celestial, an elemental, a fey, or a fiend that fails its save is forced back to its plane of Origin (if it isn’t there already) and can’t return to your current plane for 24 hours by any means short of a wish spell.

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":0,"width":null,"units":"any","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell","value":""},"level":7,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Myt28nWsdGluTtkO","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-royal-3.jpg","label":"Divine Word","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":"","effectActivation":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Divine Word","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.divineWord(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.AwMLvifkyNIYzSUh"}}} +{"_id":"BdJOmZHsRt8GKEV2","name":"Hideous Laughter","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming Incapacitated and unable to stand up for the Duration. A creature with an Intelligence score of 4 or less isn’t affected.

\n

At the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it’s triggered by damage. On a success, the spell ends.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Tiny tarts and a feather that is waved in the air","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"p8nvAwS1VznmoAyq","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Incapacitated","priority":"20"},{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveDc = @attributes.spelldc, saveAbility = wis, savingThrow=true","priority":"20"},{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Prone","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Hideous Laughter","transfer":false,"flags":{},"tint":null,"selectedKey":["StatusEffect","flags.midi-qol.OverTime","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Incapacitated","mode":"+","targetSpecific":false,"id":1,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[],"label":"Flags Condition"},{"modSpecKey":"flags.dnd5e.conditions","value":"Prone","mode":"+","targetSpecific":false,"id":2,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","forceCEOn":false,"effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.BdJOmZHsRt8GKEV2"},"itemacro":{"macro":{"data":{"_id":null,"name":"Hideous Laughter","type":"script","author":"phTFPk3KHqe4pwHg","img":"icons/svg/dice-target.svg","scope":"global","command":"","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}}}} +{"_id":"CGIrZkLJSKUZCzaz","name":"Sunbeam","type":"spell","img":"systems/dnd5e/icons/spells/beam-royal-3.jpg","data":{"description":{"value":"

A beam of brilliant light flashes out from your hand in a 5-foot-wide, 60-foot-long line. Each creature in the line must make a Constitution saving throw. On a failed save, a creature takes 6d8 radiant damage and is Blinded until your next turn. On a successful save, it takes half as much damage and isn’t b⁠linded by this spell. Undead and oozes have disadvantage on this saving throw.

\n

You can create a new line of radiance as your action on any turn until the spell ends.

\n

For the Duration, a mote of brilliant radiance shines in your hand. It sheds bright light in a 30-foot radius and dim light for an additional 30 feet. This light is sunlight.

","chat":"","unidentified":""},"source":"PHB pg. 279","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":60,"width":null,"units":"ft","type":"line"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["6d8","radiant"]],"versatile":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":6,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A magnifying glass","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"KHl6jtzrMk0x8ash","flags":{},"changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Blinded","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/blinded.svg","label":"Blinded","tint":null,"transfer":false,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Blinded","mode":"+","targetSpecific":false,"id":1,"itemId":"36XZH7ErzipKvuY8","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.CGIrZkLJSKUZCzaz"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"CPDlGQUUKkLUhU2q","name":"Stoneskin","type":"spell","img":"systems/dnd5e/icons/spells/protect-orange-2.jpg","data":{"description":{"value":"

This spell turns the flesh of a willing creature you touch as hard as stone. Until the spell ends, the target has resistance to nonmagical bludgeoning, piercing, and slashing damage.

","chat":"","unidentified":""},"source":"PHB pg. 278","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Diamond dust worth 100 gp, which the spell consumes","consumed":true,"cost":100,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"fhvmjRblnjrDRxWO","flags":{"dae":{}},"changes":[{"key":"data.traits.dr.value","value":"physical","mode":0,"priority":0}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-orange-2.jpg","label":"Stoneskin","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"data.traits.dr.value","value":"physical","mode":"+","targetSpecific":false,"id":1,"itemId":"ccUx49HUGslLri7o","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.CPDlGQUUKkLUhU2q"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false}}} +{"_id":"CWojuH0EwSnKPJzf","name":"Aid","type":"spell","img":"systems/dnd5e/icons/spells/heal-sky-1.jpg","data":{"description":{"value":"

Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target's hit point maximum and current hit points increase by 5 for the duration.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, a target's hit points increase by an additional 5 for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 211","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":null,"units":""},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A tiny strip of white cloth.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":true},"scaling":{"mode":"level","formula":""},"attributes":{"spelldc":10}},"effects":[{"_id":"9lafpgID8ffkvJ9q","flags":{},"changes":[{"key":"data.attributes.hp.max","value":"5 * (@spellLevel - 1)","mode":2,"priority":20},{"key":"macro.itemMacro","value":"@spellLevel @data.attributes.hp.max","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-sky-1.jpg","label":"Aid","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"NQHxXfbiVgh4JBIs":3},"flags":{"midi-qol":{"onUseMacroName":""},"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.hp.max","value":"5 * @spellLevel + @classes.paladin.levels","mode":"+","targetSpecific":false,"id":1,"itemId":"aAyxEwNPeiB4nsCs","active":true,"_targets":[],"label":"Attributes HP Max"},{"modSpecKey":"data.bonuses.mwak.damage","value":"(ceil(@classes.paladin.levels/2))d6","mode":"+","targetSpecific":false,"id":2,"itemId":"aAyxEwNPeiB4nsCs","active":true,"_targets":[]}]},"favtab":{"isFavourite":true},"dae":{"alwaysActive":false,"activeEquipped":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Aid","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.aid(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"exportSource":{"world":"testWorld","system":"dnd5e","coreVersion":"0.7.7","systemVersion":"1.1.1"},"core":{"sourceId":"Item.F6gMC9VPMrxfyGGN"},"mess":{"templateTexture":""}}} +{"_id":"Cb8qfKv8PmvasTzm","name":"Protection from Poison","type":"spell","img":"systems/dnd5e/icons/spells/protect-acid-1.jpg","data":{"description":{"value":"

You touch a creature. If it is poisoned, you neutralize the poison. If more than one poison afflicts the target, you neutralize one poison that you know is present, or you neutralize one at random.

\n

For the duration, the target has advantage on saving throws against being poisoned, and it has resistance to poison damage.

","chat":"","unidentified":""},"source":"PHB pg. 270","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"KVURJew2xJb5OH6P","flags":{"dae":{}},"changes":[{"key":"data.traits.dr.value","value":"poison","mode":0,"priority":0}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-acid-1.jpg","label":"Protection from Poison","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.traits.dr.value","value":"poison","mode":"+","targetSpecific":false,"id":1,"itemId":"RfhTb4CznKyRRdrn","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Cb8qfKv8PmvasTzm"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false}}} +{"_id":"Czam16c0aXlcuPo3","name":"Flame Blade","type":"spell","img":"systems/dnd5e/icons/spells/enchant-orange-2.jpg","data":{"description":{"value":"

You evoke a fiery blade in your free hand. The blade is similar in size and shape to a Scimitar, and it lasts for the Duration. If you let go of the blade, it disappears, but you can evoke the blade again as a Bonus Action.

You can use your action to make a melee spell Attack with the fiery blade. On a hit, the target takes 3d6 fire damage.

The flaming blade sheds bright light in a 10-foot radius and dim light for an additional 10 feet.

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for every two slot levels above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 242","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Leaf of sumac","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"Hbbgg0VPMOMqUVyZ","flags":{},"changes":[{"key":"macro.itemMacro","value":"@item.level @attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-orange-2.jpg","label":"Flame Blade","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.0r4QmdC8ZIFaryNp"},"itemacro":{"macro":{"data":{"_id":null,"name":"Flame Blade","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.flameBlade(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":""}}} +{"_id":"EsNIVoGQLOhgp5pA","name":"Spider Climb","type":"spell","img":"systems/dnd5e/icons/spells/shielding-spirit-1.jpg","data":{"description":{"value":"

Until the spell ends, one willing creature you touch gains the ability to move up, down, and across vertical surfaces and upside down along ceilings, while leaving its hands free. The target also gains a climbing speed equal to its walking speed.

","chat":"","unidentified":""},"source":"PHB pg. 277","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of bitumen and a spider","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"B1Ms7nmQEQssY0ZY","flags":{"dae":{}},"changes":[{"key":"data.attributes.movement.climb","value":"@attributes.movement.walk","mode":4,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/shielding-spirit-1.jpg","label":"Spider Climb","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.speed.special","value":"@attributes.speed.value Climb","mode":"+","targetSpecific":false,"id":1,"itemId":"1RuE9QEAMV24ZiAS","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.EWlYTVbRHdyv5wkw"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"Ffuih3Tpj4DRxh3B","name":"Darkness","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","data":{"description":{"value":"

Magical darkness spreads from a point you choose within range to fill a 15-foot-radius sphere for the duration. The darkness spreads around corners. A creature with darkvision can't see through this darkness, and nonmagical light can't illuminate it.

If the point you choose is on an object you are holding or one that isn't being worn or carried, the darkness emanates from the object and moves with it. Completely covering the source of the darkness with an opaque object, such as a bowl or a helm, blocks the darkness.

If any of this spell's area overlaps with an area of light created by a spell of 2nd level or lower, the spell that created the light is dispelled.

","chat":"","unidentified":""},"source":"PHB pg. 230","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Bat fur and a drop of pitch or piece of coal","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"6URqXYM8cSWbMZ53","flags":{"dae":{}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","label":"Darkness","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Darkness","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.darkness(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Ffuih3Tpj4DRxh3B"}}} +{"_id":"FnLpkm6fkxiunoN0","name":"Arcane Sword","type":"spell","img":"systems/dnd5e/icons/spells/slice-orange-3.jpg","data":{"description":{"value":"

You create a sword-shaped plane of force that hovers within range. It lasts for the Duration.

When the sword appears, you make a melee spell Attack against a target of your choice within 5 feet of the sword. On a hit, the target takes 3d10 force damage. Until the spell ends, you can use a Bonus Action on each of your turns to move the sword up to 20 feet to a spot you can see and repeat this Attack against the same target or a different one.

Until the spell ends, you can use a b⁠onus action on each of your turns to move the sword up to 20 feet to a spot you can see and repeat this Attack against the same target or a different one.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":7,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A miniature platinum sword with a grip and pommel of copper and zinc, worth 250gp","consumed":false,"cost":250,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YlwXERtZ3aqSJD4g","flags":{},"changes":[{"key":"macro.itemMacro","value":"@attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/slice-orange-3.jpg","label":"Arcane Sword","origin":"Item.lyClx971FpCZPlbQ","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Arcane Sword","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.arcaneSword(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.FnLpkm6fkxiunoN0"}}} +{"_id":"GOSc37tYYeefhVHv","name":"Shield","type":"spell","img":"systems/dnd5e/icons/spells/protect-magenta-1.jpg","data":{"description":{"value":"

An invisible barrier of magical force appears and protects you. Until the start of your next turn, you have a +5 bonus to AC, including against the triggering attack, and you take no damage from magic missile.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"reaction","cost":1,"condition":"Which you take when you are hit by an attack or targeted by the magic missile spell"},"duration":{"value":1,"units":"round"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"hzQdCAC3gFDfLREf","flags":{},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+5","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-magenta-1.jpg","label":"Shield","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.bonus"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"_sheetTab":"description","dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"5","mode":"+","targetSpecific":false,"id":1,"itemId":"sEwmlXP3wXnd41oR","active":true,"_targets":[]}]},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.GOSc37tYYeefhVHv"}}} +{"_id":"Gm518PXVa9c81fdB","name":"Dominate Beast","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-jade-3.jpg","data":{"description":{"value":"

You attempt to beguile a beast that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the beast is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell with a 5th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 6th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 7th level or higher, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KGpubuAbqZYammtI","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-jade-3.jpg","label":"Dominate Beast","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"v1hPfUV2Vn5h2yNH","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.Gm518PXVa9c81fdB"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"HVWI8wdLs54LkhUX","name":"Fear","type":"spell","img":"systems/dnd5e/icons/spells/horror-eerie-2.jpg","data":{"description":{"value":"

You project a phantasmal image of a creature's worst fears. Each creature in a 30-foot cone must succeed on a Wisdom saving throw or drop whatever it is holding and become Frightened for the duration.

\n

While Frightened by this spell, a creature must take the Dash action and move away from you by the safest available route on each of its turns, unless there is nowhere to move. If the creature ends its turn in a location where it doesn't have line of sight to you, the creature can make a Wisdom saving throw. On a successful save, the spell ends for that creature.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"cone"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A white feather or the heart of a hen.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"8LmJiBql9qC9LlPs","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Frightened","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/horror-eerie-2.jpg","label":"Fear","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Frightened","mode":"+","targetSpecific":false,"id":1,"itemId":"QDrZkRDh3yKlVjlf","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.HVWI8wdLs54LkhUX"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"HVrjXg4ihTFp8c6i","name":"Mage Armor","type":"spell","img":"systems/dnd5e/icons/spells/protect-blue-1.jpg","data":{"description":{"value":"

You touch a willing creature who isn't wearing armor, and a protective magical force surrounds it until the spell ends. The target's base AC becomes 13 + its Dexterity modifier. The spell ends if the target dons armor or if you dismiss the spell as an action.

","chat":"","unidentified":""},"source":"PHB pg. 256","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A piece of cured leather","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"XRkvYT9cV0BX5oJc","flags":{},"changes":[{"key":"data.attributes.ac.base","mode":5,"value":"13","priority":"5"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-blue-1.jpg","label":"Mage Armor","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.base"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"_sheetTab":"details","dynamiceffects":{"effects":[{"modSpecKey":"data.attributes.ac.value","value":"13 + @abilities.dex.mod","mode":"=","targetSpecific":false,"id":1,"itemId":"KWepVspVtjeboJgf","active":true,"_targets":[]}],"alwaysActive":false,"equipActive":true},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.HVrjXg4ihTFp8c6i"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"IMBuVsCM4tEgQT9y","name":"Dominate Monster","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You attempt to beguile a creature that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw.

\n

While the creature is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability.

\n

You can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well.

\n

Each time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends.

\n

At Higher Levels. When you cast this spell with a 9th-level spell slot, the duration is concentration, up to 8 hours.

","chat":"","unidentified":""},"source":"PHB pg. 235","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":8,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"CR7P9mfXqQrqRAM1","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","label":"Dominate Monster","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"zjOy4iyroppxddYp","active":true,"_targets":[]}]},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.IMBuVsCM4tEgQT9y"}}} +{"_id":"IsJxWYNAOYYw2apn","name":"Protection from Energy","type":"spell","img":"systems/dnd5e/icons/spells/protect-jade-2.jpg","data":{"description":{"value":"

For the duration, the willing creature you touch has resistance to one damage type of your choice: acid, cold, fire, lightning, or thunder.

","chat":"","unidentified":""},"source":"PHB pg. 270","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"OHrHlzcUFOp2wOBv","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-jade-2.jpg","label":"Protection from Energy","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"ProtectionFromEnergy @target ","mode":"+","targetSpecific":false,"id":1,"itemId":"KKNq69wypjHpwo1b","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Protection from Energy","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.protectionFromEnergy(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.IsJxWYNAOYYw2apn"}}} +{"_id":"J7c5kq4xYkx3WiFI","name":"Regenerate","type":"spell","img":"systems/dnd5e/icons/spells/heal-jade-3.jpg","data":{"description":{"value":"

You touch a creature and stimulate its natural Healing ability. The target regains 4d8 + 15 Hit Points. For the Duration of the spell, the target regains 1 hit point at the start of each of its turns (10 h⁠it points each minute).

The target’s severed body members (fingers, legs, tails, and so on), if any, are restored after 2 minutes. If you have the severed part and hold it to the stump, the spell instantaneously causes the limb to knit to the stump.

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"heal","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d8 + 15","healing"]],"versatile":"1"},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":7,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A prayer wheel and holy water","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"gMvUlhgIUWdHEJ6r","flags":{"dae":{"macroRepeat":"startEveryTurn"}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-jade-3.jpg","label":"Regenerate","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Regenerate","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.regenerate(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.J7c5kq4xYkx3WiFI"}}} +{"_id":"Jw2dI2nK3KlUOacF","name":"Darkvision","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-1.jpg","data":{"description":{"value":"

You touch a willing creature to grant it the ability to see in the dark. For the duration, that creature has darkvision out to a range of 60 feet.

","chat":"","unidentified":""},"source":"PHB pg. 230","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":8,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"Either a pinch of dried carrot or an agate","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"7WRR5qfCKAAqq2eg","flags":{},"changes":[{"key":"data.attributes.senses.darkvision","value":"60","mode":4,"priority":20},{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-1.jpg","label":"Darkvision","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Item.PWtHJNYiQPgnOqcb"},"itemacro":{"macro":{"_data":{"name":"Darkvision","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet dimVision = target.data.dimSight;\nif (args[0] === \"on\") {\n DAE.setFlag(tactor, 'darkvisionSpell', dimVision);\n let newSight = dimVision < 60 ? 60 : dimVision\n await target.update({\"dimSight\" : newSight});\n await tactor.update({\"token.dimSight\" : newSight})\n ChatMessage.create({content: `${target.name}'s vision has been improved`});\n}\nif(args[0] === \"off\") {\n let sight = DAE.getFlag(tactor, 'darkvisionSpell');\n target.update({\"dimSight\" : sight });\n await tactor.update({\"token.dimSight\" : sight})\n DAE.unsetFlag(tactor, 'darkvisionSpell');\n ChatMessage.create({content: `${target.name}'s vision has been returned`});\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Darkvision","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet dimVision = target.data.dimSight;\nif (args[0] === \"on\") {\n DAE.setFlag(tactor, 'darkvisionSpell', dimVision);\n let newSight = dimVision < 60 ? 60 : dimVision\n await target.update({\"dimSight\" : newSight});\n await tactor.update({\"token.dimSight\" : newSight})\n ChatMessage.create({content: `${target.name}'s vision has been improved`});\n}\nif(args[0] === \"off\") {\n let sight = DAE.getFlag(tactor, 'darkvisionSpell');\n target.update({\"dimSight\" : sight });\n await tactor.update({\"token.dimSight\" : sight})\n DAE.unsetFlag(tactor, 'darkvisionSpell');\n ChatMessage.create({content: `${target.name}'s vision has been returned`});\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}}}} +{"_id":"KWxP6PDFTksi8wgG","name":"Bane","type":"spell","img":"systems/dnd5e/icons/spells/rip-magenta-2.jpg","data":{"description":{"value":"

Up to three creatures of your choice that you can see within range must make Charisma saving throws. Whenever a target that fails this saving throw makes an attack roll or a saving throw before the spell ends, the target must roll a d4 and subtract the number rolled from the attack roll or saving throw.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 216","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":3,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of blood","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"O6D0D9RsGQt8GxjP","flags":{"dae":{}},"changes":[{"key":"data.bonuses.All-Attacks","value":"-1d4","mode":0,"priority":0},{"key":"data.bonuses.abilities.save","value":"-1d4","mode":2,"priority":20}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/rip-magenta-2.jpg","label":"Bane","transfer":false,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"data.bonuses.All-Attacks","value":"-1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"9GH7tsdS6JjUJMQX","active":true,"_targets":[],"label":"Bonuses All Attack Bonuses"},{"modSpecKey":"data.bonuses.abilities.save","value":"-1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"9GH7tsdS6JjUJMQX","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.KWxP6PDFTksi8wgG"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"KkPvayrMzhd7WnPW","name":"Alter Self","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","data":{"description":{"value":"

You assume a different form. When you cast the spell, choose one of the following options, the effects of which last for the duration of the spell. While the spell lasts, you can end one option as an action to gain the benefits of a different one.

\n

Aquatic Adaptation. You adapt your body to an aquatic environment, sprouting gills and growing webbing between your fingers. You can breathe underwater and gain a swimming speed equal to your walking speed.

\n

Change Appearance. You transform your appearance. You decide what you look like, including your height, weight, facial features, sound of your voice, hair length, coloration, and distinguishing characteristics, if any. You can make yourself appear as a member of another race, though none of your statistics change. You also can't appear as a creature of a different size than you, and your basic shape stays the same; if you're bipedal, you can't use this spell to become quadrupedal, for instance. At any time for the duration of the spell, you can use your action to change your appearance in this way again.

\n

Natural Weapons. You grow claws, fangs, spines, horns, or a different natural weapon of your choice. Your unarmed strikes deal 1d6 bludgeoning, piercing, or slashing damage, as appropriate to the natural weapon you chose, and you are proficient with your unarmed strikes. Finally, the natural weapon is magic and you have a +1 bonus to the attack and damage rolls you make using it.

","chat":"","unidentified":""},"source":"PHB pg. 211","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Z8yRGVFSsBf8lBaq","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-acid-2.jpg","label":"Alter Self","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Alter Self\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"q2oOfBC73oDbRUPo","active":true,"_targets":[]}],"equipActive":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Alter Self","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.alterSelf(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.au0iE8QoEwuoS0Ld"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"L76fhPReGZsNacGP","name":"Contagion","type":"spell","img":"systems/dnd5e/icons/spells/rip-magenta-3.jpg","data":{"description":{"value":"

Your touch inflicts disease. Make a melee spell attack against a creature within your reach. On a hit, you afflict the creature with a disease of your choice from any of the ones described below.

At the end of each of the target’s turns, it must make a Constitution saving throw. After failing three of these saving throws, the disease’s effects last for the duration, and the creature stops making these saves. After succeeding on three of these saving throws, the creature recovers from the disease, and the spell ends.

Since this spell induces a natural disease in its target, any effect that removes a disease or otherwise ameliorates a disease’s effects apply to it.

Blinding Sickness. Pain grips the creature’s mind, and its eyes turn milky white. The creature has disadvantage on Wisdom checks and Wisdom saving throws and is blinded.

Filth Fever. A raging fever sweeps through the creature’s body. The creature has disadvantage on Strength checks, Strength saving throws, and attack rolls that use Strength.

Flesh Rot. The creature’s flesh decays. The creature has disadvantage on Charisma checks and vulnerability to all damage.

Mindfire. The creature’s mind becomes feverish. The creature has disadvantage on Intelligence checks and Intelligence saving throws, and the creature behaves as if under the effects of the confusion spell during combat.

Seizure. The creature is overcome with shaking. The creature has disadvantage on Dexterity checks, Dexterity saving throws, and attack rolls that use Dexterity.

Slimy Doom. The creature begins to bleed uncontrollably. The creature has disadvantage on Constitution checks and Constitution saving throws. In addition, whenever the creature takes damage, it is stunned until the end of its next turn.

","chat":"","unidentified":""},"source":"PHB pg. 227","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":7,"units":"day"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"msak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":5,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YdTLJRhCX9pxPA4n","flags":{"dae":{"macroRepeat":"endEveryTurn"}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/rip-magenta-3.jpg","label":"Contagion","origin":"Item.5OsXXJYEL6nq1P1h","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Contagion","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.contagion(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.L76fhPReGZsNacGP"},"midi-qol":{"onUseMacroName":"","criticalThreshold":"20","forceCEOn":false,"effectActivation":false}}} +{"_id":"LfoahAgvKfrLhZpZ","name":"Fly","type":"spell","img":"systems/dnd5e/icons/spells/link-spirit-1.jpg","data":{"description":{"value":"

You touch a willing creature. The target gains a flying speed of 60 feet for the Duration. When the spell ends, the target falls if it is still aloft, unless it can stop the fall.

\n

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, you can target one additional creature for each slot level above 3rd.

","chat":"","unidentified":""},"source":"PHB pg. 243","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A wing feather from any bird","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"VVu9uaQR0UaAvbBr","flags":{"dae":{}},"changes":[{"key":"data.attributes.movement.fly","value":"60","mode":4,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-spirit-1.jpg","label":"Fly","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.speed.special","value":"60ft Fly","mode":"+","targetSpecific":false,"id":1,"itemId":"BE3x0mPPgMviE9GR","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.j9p6foCgoUumzm8F"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false}}} +{"_id":"MhbRwMn9laXsmL5d","name":"Confusion","type":"spell","img":"systems/dnd5e/icons/spells/wind-magenta-3.jpg","data":{"description":{"value":"

This spell assails and distorts the minds of creatures, generating illusions and causing uncontrolled actions. Each creature in a sphere of 10-foot-radius centered on a point chosen in the range of the spell must make a Wisdom saving throw otherwise it will be affected by the spell.

An affected target can react and it must start at the beginning of 1d10 each of his game rounds to determine its behavior for that round.

At the end of each turn, an affected creature can make a saving throw of Wisdom. If successful, the effect of the spell ends for this target.

Higher Levels. When you cast this spell using a level spell slot 5 or more, the radius of the sphere increases by 5 feet for each level of higher spell slot to 4.

","chat":"","unidentified":""},"source":"PHB pg. 224","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":10,"width":null,"units":"ft","type":"sphere"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d10","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Three walnut shells.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KVLW7oq1VcRL8DCt","flags":{"dae":{"macroRepeat":"startEveryTurn"}},"changes":[{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveAbility=wis, saveDC=@attributes.spelldc,","priority":"20"},{"key":"macro.itemMacro","mode":2,"value":"0","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-magenta-3.jpg","label":"Confusion","tint":null,"transfer":false,"selectedKey":["StatusEffect","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Confusion","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.confusion(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.MhbRwMn9laXsmL5d"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"NEykcw7XSNuYgx7n","name":"Warding Bond","type":"spell","img":"systems/dnd5e/icons/spells/protect-sky-2.jpg","data":{"description":{"value":"

This spell wards a willing creature you touch and creates a mystic connection between you and the target until the spell ends. While the target is within 60 feet of you, it gains a +1 bonus to AC and saving throws, and it has resistance to all damage. Also, each time it takes damage, you take the same amount of damage.

\n

The spell ends if you drop to 0 hit points or if you and the target become separated by more than 60 feet. It also ends if the spell is cast again on either of the connected creatures. You can also dismiss the spell as an action.

","chat":"","unidentified":""},"source":"PHB pg. 287","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A pair of platinum rings worth at least 50 gp each, which you and the target must wear for the duration","consumed":false,"cost":100,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"uFwBXvesTDbyGT7k","flags":{},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+1","priority":"20"},{"key":"data.traits.dr.all","mode":0,"value":"0","priority":"0"},{"key":"data.bonuses.abilities.save","mode":0,"value":"1","priority":"20"},{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-sky-2.jpg","label":"Warding Bond","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.traits.dr.all","data.bonuses.abilities.save","macro.itemMacro"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"1","mode":"+","targetSpecific":false,"id":1,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[],"label":"Attributes Armor Class"},{"modSpecKey":"data.traits.dr.all","value":"0","mode":"+","targetSpecific":false,"id":2,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[],"label":"Traits Damage Resistance All"},{"modSpecKey":"data.bonuses.abilities.save","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"IMBPFYUMfvSlvnlM","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Warding Bond","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.wardingBond(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.NEykcw7XSNuYgx7n"}}} +{"_id":"NorLF3U1XNO9LOkY","name":"Ray of Enfeeblement","type":"spell","img":"systems/dnd5e/icons/spells/beam-jade-2.jpg","data":{"description":{"value":"

A black beam of enervating energy springs from your finger toward a creature within range. Make a ranged spell attack against the target. On a hit, the target deals only half damage with weapon attacks that use Strength until the spell ends.

At the end of each of the target's turns, it can make a Constitution saving throw against the spell. On a success, the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 271","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"kNbpGA7Bs2Tet6ne","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-jade-2.jpg","label":"Ray of Enfeeblement","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Ray of Enfeeblement","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.rayOfEnfeeblement(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"mess":{"templateTexture":""},"midi-qol":{"onUseMacroName":"","criticalThreshold":"20","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.NorLF3U1XNO9LOkY"}}} +{"_id":"OJlgbnpItuXPbu0a","name":"Misty Step","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-air-1.jpg","data":{"description":{"value":"

Briefly surrounded by silvery mist, you teleport up to 30 feet to an unoccupied space that you can see.

","chat":"","unidentified":""},"source":"PHB pg. 260","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"con","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"co3tPOrzgA6gTwI9","flags":{},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null,"turns":1},"icon":"systems/dnd5e/icons/spells/wind-grasp-air-1.jpg","label":"Misty Step","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Misty Step","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.mistyStep(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.OJlgbnpItuXPbu0a"}}} +{"_id":"RPl904kdlKpkJa74","name":"Black Tentacles","type":"spell","img":"systems/dnd5e/icons/spells/vines-eerie-2.jpg","data":{"description":{"value":"

Squirming, ebony tentacles fill a 20-foot square on ground that you can see within range. For the Duration, these tentacles turn the ground in the area into difficult terrain.

\n

When a creature enters the affected area for the first time on a turn or starts its turn there, the creature must succeed on a Dexterity saving throw or take 3d6 bludgeoning damage and be @JournalEntry[Restrai⁠ned] by the tentacles until the spell ends. A creature that starts its turn in the area and is already @JournalEntry[Restrai⁠ned] by the tentacles takes 3d6 bludgeoning damage.

\n

A creature @JournalEntry[Restrained] by the tentacles can use its action to make a Strength or D⁠exterity check (its choice) against your spell save DC. On a success, it frees itself.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"square"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["3d6","bludgeoning"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":4,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A piece of tentacle from a giant octopus or a giant squid","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"RLrWu1xDYBV4jPFb","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Restrained","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/vines-eerie-2.jpg","label":"Black Tentacles","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Restrained","mode":"+","targetSpecific":false,"id":1,"itemId":"z72yFG8EEc5tZgby","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.RPl904kdlKpkJa74"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"S3rQoY0WIPQ7PQeW","name":"Holy Aura","type":"spell","img":"systems/dnd5e/icons/spells/haste-sky-3.jpg","data":{"description":{"value":"

Divine light washes out from you and coalesces in a soft radiance in a 30-foot radius around you. Creatures of your choice in that radius when you cast this spell shed dim light in a 5-foot radius and have advantage on all Saving Throws, and other creatures have disadvantage on Attack rolls against them until the spell ends. In addition, when a fiend or an Undead hits an affected creature with a melee atta⁠ck, the aura flashes with brilliant light. The attacker must succeed on a Constitution saving throw or be Blinded until the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell","value":""},"level":8,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A tiny reliquary worth at least 1,000 gp containing a sacred relic, such as a scrap of cloth from a saint’s robe or a piece of parchment from a religious text","consumed":false,"cost":1000,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"bV9gcOUvMMCULD96","flags":{},"changes":[{"key":"flags.midi-qol.advantage.ability.save.all","mode":2,"value":"1","priority":"20"},{"key":"flags.midi-qol.grants.disadvantage.attack.all","mode":2,"value":"1","priority":"20"},{"key":"ATL.dimLight","mode":4,"value":"5","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-sky-3.jpg","label":"Holy Auras","tint":null,"transfer":false,"selectedKey":["data.abilities.cha.dc","data.abilities.cha.dc","data.abilities.cha.dc"]}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.azx1Ek4KaAbdemJd"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"SN0DG8bPZUyEZVSm","name":"Arcane Eye","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-eerie-2.jpg","data":{"description":{"value":"

You create an invisible, magical eye within range that hovers in the air for the duration.

You mentally receive visual information from the eye, which has normal vision and darkvision out to 30 feet. The eye can look in every direction.

As an action, you can move the eye up to 30 feet in any direction. There is no limit to how far away from you the eye can move, but it can't enter another plane of existence. A solid barrier blocks the eye's movement, but the eye can pass through an opening as small as 1 inch in diameter.

","chat":"","unidentified":""},"source":"PHB pg. 214","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"div","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A bit of bat fur.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"a395jldpwletTrCp","changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-eerie-2.jpg","label":"Arcane Eye","transfer":false,"flags":{"core":{"statusId":""},"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.ImlCJQwR1VL40Qem"},"itemacro":{"macro":{"data":{"_id":null,"name":"Arcane Eye","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.arcaneEye(args) \n// MidiMacros.arcaneEye(args, \"my path here\") for texture","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"effectActivation":false,"onUseMacroName":""}}} +{"_id":"SP66bVwMD1PYlySJ","name":"Magic Weapon","type":"spell","img":"systems/dnd5e/icons/spells/enchant-blue-2.jpg","data":{"description":{"value":"

You touch a nonmagical weapon. Until the spell ends, that weapon becomes a magic weapon with a +1 bonus to Attack rolls and Damage Rolls.

\n

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the bonus increases to +2. When you use a spell slot of 6th level or higher, the bonus increases to +3.

","chat":"","unidentified":""},"source":"PHB pg. 257","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":0,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"xe1MqXU3Xz6XftZg","flags":{},"changes":[{"key":"macro.itemMacro","value":"@item.level","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-blue-2.jpg","label":"Magic Weapon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"Magic Weapon\" @target @item.level","mode":"+","targetSpecific":false,"id":1,"itemId":"f1nQIsVPzwoUTqOt","active":true,"_targets":[]}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Magic Weapon","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.magicWeapon(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.SP66bVwMD1PYlySJ"}}} +{"_id":"TuVbe4A1XNtVtM9n","name":"Feeblemind","type":"spell","img":"systems/dnd5e/icons/spells/light-eerie-3.jpg","data":{"description":{"value":"

You blast the mind of a creature that you can see within range, attempting to shat⁠ter its intellect and personality. The target takes 4d6 psychic damage and must make an Intelligence saving throw.

On a failed save, the creature’s Intelligence and Charisma scores become 1. The creature can’t cast Spells, activate Magic Items, understand language, or communicate in any intelligible way. The creature can, however, ide⁠ntify its frie⁠nds, follow them, and even protect them.

At the end of every 30 days, the creature can repeat its saving throw against this spell. If it succeeds on its saving throw, the spell ends.

The spell can also be ended by Greater Restoration, heal, or wish.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":150,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d6","psychic"]],"versatile":""},"formula":"","save":{"ability":"int","dc":null,"scaling":"spell"},"level":8,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A handful of clay, crystal, glass, or mineral spheres","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"gQ62KbB33DWKb2fr","flags":{"dae":{}},"changes":[{"key":"data.abilities.cha.value","value":"1","mode":5,"priority":50},{"key":"data.abilities.int.value","value":"1","mode":5,"priority":50},{"key":"flags.midi-qol.fail.spell.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-eerie-3.jpg","label":"Feeblemind","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.fgTqAvvyBqs6CgNf"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false}}} +{"_id":"VNkPZzkfmrVZvJ00","name":"Levitate","type":"spell","img":"systems/dnd5e/icons/spells/wind-grasp-magenta-2.jpg","data":{"description":{"value":"

One creature or object of your choice that you can see within range rises vertically, up to 20 feet, and remains suspended there for the duration. The spell can levitate a target that weighs up to 500 pounds. An unwilling creature that succeeds on a Constitution saving throw is unaffected.

\n

The target can move only by pushing or pulling against a fixed object or surface within reach (such as a wall or a ceiling), which allows it to move as if it were climbing. You can change the target’s altitude by up to 20 feet in either direction on your turn. If you are the target, you can move up or down as part of your move. Otherwise, you can use your action to move the target, which must remain within the spell’s range.

\n

When the spell ends, the target floats gently to the ground if it is still aloft.

","chat":"","unidentified":""},"source":"PHB pg. 255","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Either a small leather loop or a piece of golden wire bent into a cup shape with a long shank on one end","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"6BMAKrzsDsynMYBZ","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-grasp-magenta-2.jpg","label":"Levitate","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Levitate @target","mode":"+","targetSpecific":false,"id":1,"itemId":"EDXeRSF3f6cl2O8L","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Levitate","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.levitate(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.VNkPZzkfmrVZvJ00"}}} +{"_id":"WCMqm6S8NObKCaGU","name":"Invisibility","type":"spell","img":"systems/dnd5e/icons/spells/fog-sky-2.jpg","data":{"description":{"value":"

A creature you touch becomes invisible until the spell ends. Anything the target is wearing or carrying is invisible as long as it is on the target's person. The spell ends for a target that attacks or casts a spell.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 254","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"An eyelash encased in gum arabic","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"4sj41iLn03Ucp7Uk","flags":{},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-sky-2.jpg","label":"Invisibility","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Invisibility @target","mode":"+","targetSpecific":false,"id":1,"itemId":"Ca4bXFRcwZU79yGi","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Invisibility","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible` });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears` });\n target.update({ \"hidden\": false });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Invisibility","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible`, whisper: [game.user] });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears`, whisper: [game.user] });\n target.update({ \"hidden\": false });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.WCMqm6S8NObKCaGU"}}} +{"_id":"WDc7GX7bGoii11OR","name":"Hypnotic Pattern","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-2.jpg","data":{"description":{"value":"

You create a twisting pattern of colors that weaves through the air inside a 30-foot cube within range. The pattern appears for a moment and vanishes. Each creature in the area who sees the pattern must make a Wisdom saving throw. On a failed save, the creature becomes charmed for the duration. While charmed by this spell, the creature is incapacitated and has a speed of 0.

\n

The spell ends for an affected creature if it takes any damage or if someone else uses an action to shake the creature out of its stupor.

","chat":"","unidentified":""},"source":"PHB pg. 252","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"width":null,"units":"ft","type":"cube"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"ill","components":{"value":"","vocal":false,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A glowing stick of incense or a crystal vial filled with phosphorescent material.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"vf8qXWho8hhViUVl","flags":{},"changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/charmed.svg","label":"Charmed","tint":null,"transfer":false,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"giMYGgLa3Vy20LWh","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.WDc7GX7bGoii11OR"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"ZGZ1j55riwaOK6V0","name":"Call Lightning","type":"spell","img":"systems/dnd5e/icons/spells/lighting-sky-2.jpg","data":{"description":{"value":"

A storm cloud appears in the shape of a cylinder that is 10 feet tall with a 60-foot radius, centered on a point you can see 100 feet directly above you. The spell fails if you can’t see a point in the air where the storm cloud could appear (for example, if you are in a room that can’t accommodate the cloud).

When you cast the spell, choose a point you can see within range. A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one. On each of your turns until the spell ends, you can use your action to call down lightning in this way again, targeting the same point or a different one.

If you are outdoors in stormy conditions when you cast this spell, the spell gives you control over the existing storm instead of creating a new one. Under such conditions, the spell’s damage increases by 1d10.

Higher Levels. When you cast this spell using a spell slot of 4th or higher level, the damage increases by 1d10 for each slot level above 3rd.

","chat":"","unidentified":""},"source":"PHB pg. 220","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"4d10"},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":3,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"xfVuiySO5CUntl2N","flags":{"dae":{}},"changes":[{"key":"macro.itemMacro","value":"@target @item.level","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/lighting-sky-2.jpg","label":"Call Lightning Summon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Call Lightning","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.callLightning(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.ZGZ1j55riwaOK6V0"}}} +{"_id":"ZyYJH8HLsinQcCWC","name":"Slow","type":"spell","img":"systems/dnd5e/icons/spells/fog-magenta-2.jpg","data":{"description":{"value":"

You alter time around up to six creatures of your choice in a 40-foot cube within range. Each target must succeed on a Wisdom saving throw or be affected by this spell for the duration.

\n

An affected target’s speed is halved, it takes a -2 penalty to AC and Dexterity saving throws, and it can’t use reactions. On its turn, it can use either an action or a bonus action, not both. Regardless of the creature’s abilities or magic items, it can’t make more than one melee or ranged attack during its turn.

\n

If the creature attempts to cast a spell with a casting time of 1 action, roll a d20. On an 11 or higher, the spell doesn’t take effect until the creature’s next turn, and the creature must use its action on that turn to complete the spell. If it can’t, the spell is wasted.

\n

A creature affected by this spell makes another Wisdom saving throw at the end of its turn. On a successful save, the effect ends for it.

","chat":"","unidentified":""},"source":"PHB pg. 277","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":40,"width":null,"units":"ft","type":"cube"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d20","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":3,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A drop of molasses.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"Qb65ygpbdcoa0FjR","flags":{},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"-2","priority":"20"},{"key":"data.attributes.movement.all","mode":0,"value":"/2","priority":"20"},{"key":"data.abilities.dex.save","mode":2,"value":"-2","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-magenta-2.jpg","label":"Slow","tint":null,"transfer":false,"selectedKey":["data.attributes.ac.bonus","data.attributes.movement.all","data.abilities.dex.save"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Slow","mode":"+","targetSpecific":false,"id":1,"itemId":"FQy3csyQLdC6oQkD","active":true,"_targets":[],"label":"Macro Execute"},{"modSpecKey":"data.attributes.ac.value","value":"-2","mode":"+","targetSpecific":false,"id":2,"itemId":"FQy3csyQLdC6oQkD","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.SChk2pLAW8jxJPAK"},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false}}} +{"_id":"dbDM3rVJenAemuCK","name":"Divine Favor","type":"spell","img":"systems/dnd5e/icons/spells/enchant-sky-2.jpg","data":{"description":{"value":"

Your prayer empowers you with divine radiance. Until the spell ends, your weapon attacks deal an extra 1d4 radiant damage on a hit. 

","chat":"","unidentified":""},"source":"PHB pg. 234","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["1d4","radiant"]],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"aVCdeH1iRyP3xIwE","flags":{},"changes":[{"key":"data.bonuses.mwak.damage","value":"1d4[Radiant]","mode":0,"priority":0},{"key":"data.bonuses.rwak.damage","value":"1d4[Radiant]","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-sky-2.jpg","label":"Divine Favor","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.bonuses.mwak.damage","value":"1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"pIAJpIhy3y7gkq8N","active":true,"_targets":[],"label":"Bonuses Melee Weapon Damage"},{"modSpecKey":"data.bonuses.rwak.damage","value":"1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"ylWHtKMfk5WUheki","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.dbDM3rVJenAemuCK"}}} +{"_id":"dnjg2ggj6emIemEb","name":"Banishment","type":"spell","img":"systems/dnd5e/icons/spells/link-eerie-3.jpg","data":{"description":{"value":"

You attempt to send one creature that you can see within range to another plane of existence. The target must succeed on a Charisma saving throw or be banished.

\n

If the target is native to the plane of existence you're on, you banish the target to a harmless demiplane. While there, the target is incapacitated. The target remains there until the spell ends, at which point the target reappears in the space it left or in the nearest unoccupied space if that space is occupied.

\n

If the target is native to a different plane of existence than the one you're on, the target is banished with a faint popping noise, returning to its home plane. If the spell ends before 1 minute has passed, the target reappears in the space it left or in the nearest unoccupied space if that space is occupied. Otherwise, the target doesn't return.

\n

At Higher Levels. When you cast this spell using a spell slot of 5th level or higher, you can target one additional creature for each slot level above 4th.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"cha","dc":null,"scaling":"spell","value":""},"level":4,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"An item distasteful to the target","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"DBqSEY0iu0S1PDxc","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-eerie-3.jpg","label":"Banishment","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Banishment @target","mode":"+","targetSpecific":false,"id":1,"itemId":"pz0vjFCdPtQkdKKQ","active":true,"_targets":[],"label":"Macro Execute"}]},"betterRolls5e":{"critRange":{"type":"String","value":null},"critDamage":{"type":"String","value":""},"quickDesc":{"type":"Boolean","value":true,"altValue":true},"quickAttack":{"type":"Boolean","value":true,"altValue":true},"quickSave":{"type":"Boolean","value":true,"altValue":true},"quickDamage":{"type":"Array","value":[],"altValue":[],"context":[]},"quickVersatile":{"type":"Boolean","value":false,"altValue":false},"quickProperties":{"type":"Boolean","value":true,"altValue":true},"quickCharges":{"type":"Boolean","value":{"use":false,"resource":false},"altValue":{"use":false,"resource":false}},"quickTemplate":{"type":"Boolean","value":true,"altValue":true},"quickOther":{"type":"Boolean","value":true,"altValue":true,"context":""},"quickFlavor":{"type":"Boolean","value":true,"altValue":true},"quickPrompt":{"type":"Boolean","value":false,"altValue":false}},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.BcZKJ53HIIPkOPeD"},"itemacro":{"macro":{"data":{"_id":null,"name":"Banishment","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.banishment(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} {"_id":"e17AAL6ufixBqNKO","name":"Cloak of Displacement","type":"equipment","img":"icons/equipment/back/cloak-heavy-fur-blue.webp","data":{"description":{"value":"

Wondrous item, (requires attunement)

\n

While you wear this cloak, it projects an illusion that makes you appear to be standing in a place near your actual location, causing any creature to have disadvantage on attack rolls against you. If you take damage, the property ceases to function until the start of your next turn.

\n

This property is suppressed while you are incapacitated, restrained, or otherwise unable to move.

","chat":"","unidentified":""},"source":"DMG pg. 158","quantity":1,"weight":3,"price":60000,"attunement":0,"equipped":false,"rarity":"rare","identified":true,"activation":{"type":"","cost":0,"condition":""},"duration":{"value":0,"units":""},"target":{"value":0,"width":null,"units":"","type":""},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":null,"amount":null},"ability":"","actionType":"","attackBonus":5,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"armor":{"value":0,"type":"clothing","dex":0},"hp":{"value":0,"max":0,"dt":null,"conditions":""},"baseItem":"","speed":{"value":null,"conditions":""},"strength":0,"stealth":false,"proficient":false},"effects":[{"_id":"f0QnvjphoHK3ICZF","flags":{"dae":{"stackable":false,"transfer":true,"specialDuration":["isDamaged"],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"flags.midi-qol.grants.disadvantage.attack.all","value":"1","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/items/equipment/cloak-fur.jpg","label":"Cloak of Displacement","tint":null,"transfer":true}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"betterCurses":{"isCurse":false,"curseName":"","formula":"","mwak":false,"rwak":false,"msak":false,"rsak":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.VHddejebM2N0t7bT"}}} -{"_id":"evnATsmepzJABYWr","name":"Mass Suggestion","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You suggest a course of activity (limited to a sentence or two) and magically influence up to twelve creatures of your choice that you can see within range and that can hear and understand you. Creatures that can't be charmed are immune to this effect. The suggestion must be worded in such a manner as to make the course of action sound reasonable. Asking the creature to stab itself, throw itself onto a spear, immolate itself, or do some other obviously harmful act automatically negates the effect of the spell.

\n

Each target must make a Wisdom saving throw. On a failed save, it pursues the course of action you described to the best of its ability. The suggested course of action can continue for the entire duration. If the suggested activity can be completed in a shorter time, the spell ends when the subject finishes what it was asked to do.

\n

You can also specify conditions that will trigger a special activity during the duration. For example, you might suggest that a group of soldiers give all their money to the first beggar they meet. If the condition isn't met before the spell ends, the activity isn't performed.

\n

If you or any of your companions damage a creature affected by this spell, the spell ends for that creature.

\n

At Higher Levels. When you cast this spell using a 7th-level spell slot, the duration is 10 days. When you use an 8th-level spell slot, the duration is 30 days. When you use a 9th-level spell slot, the duration is a year and a day.

","chat":"","unidentified":""},"source":"PHB pg. 258","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":12,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":6,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A snake's tongue and either a bit of honeycomb or a drop of sweet oil","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"eoDbKco6VofSiZL0","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":null,"label":"Mass Suggestion","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false},"ActiveAuras":{"isAura":false,"aura":"None","radius":null,"alignment":"","type":"","ignoreSelf":false,"height":false,"hidden":false,"hostile":false,"onlyOnce":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"lhh79ko51ZPb5A46","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.evnATsmepzJABYWr"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"fmhnn1BxKrI8dFO2","name":"Hold Monster","type":"spell","img":"systems/dnd5e/icons/spells/shielding-fire-2.jpg","data":{"description":{"value":"

Choose a creature that you can see within range. The target must succeed on a Wisdom saving throw or be Paralyzed for the Duration. This spell has no effect on Undead. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target.

\n

At Higher Levels. When you cast this spell using a spell slot of 6th level or higher, you can target one additional creature for each slot level above 5th. The creatures must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small straight up piece of iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"0VPbNXu4jOlA17jD","changes":[{"key":"macro.CUB","mode":0,"value":"Paralyzed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/shielding-fire-2.jpg","label":"Hold Monster","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"macro.CUB"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Paralyzed","mode":"+","targetSpecific":false,"id":1,"itemId":"MjXkRhWsByIQcAnB","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.fmhnn1BxKrI8dFO2"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"gJYgQOXFqC1ENXhf","name":"Barkskin","type":"spell","img":"systems/dnd5e/icons/spells/protect-orange-2.jpg","data":{"description":{"value":"

You touch a willing creature. Until the spell ends, the target's skin has a rough, bark-like appearance, and the target's AC can't be less than 16, regardless of what kind of armor it is wearing.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A handful of oak bark","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"553TIeeXTYXI01P3","flags":{"dae":{"transfer":false,"stackable":"none","macroRepeat":"none","specialDuration":[]}},"changes":[{"key":"data.attributes.ac.value","mode":4,"value":"16","priority":"100"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-orange-2.jpg","label":"Barkskin","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.value"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Barkskin @target","mode":"+","targetSpecific":false,"id":1,"itemId":"khqqVjNBG599mBx7","active":true,"_targets":[],"label":"Macro Execute"},{"modSpecKey":"data.attributes.ac.value","value":"16","mode":"=","targetSpecific":false,"id":2,"itemId":"khqqVjNBG599mBx7","active":false,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gJYgQOXFqC1ENXhf"}}} -{"_id":"gcKao9f4QpXC5rz2","name":"Spiritual Weapon","type":"spell","img":"systems/dnd5e/icons/spells/enchant-magenta-2.jpg","data":{"description":{"value":"

You create a floating, spectral weapon within range that lasts for the duration or until you cast this spell again. When you cast the spell, you can make a melee spell attack against a creature within 5 feet of the weapon. On a hit, the target takes force damage equal to 1d8 + your spellcasting ability modifier.

As a bonus action on your turn, you can move the weapon up to 20 feet and repeat the attack against a creature within 5 feet of it.

The weapon can take whatever form you choose. Clerics of deities who are associated with a particular weapon (as St. Cuthbert is known for his mace and Thor for his hammer) make this spell’s effect resemble that weapon.

Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for every two slot levels above the 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 278","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d8"}},"effects":[{"_id":"atMn9UEVkYDOK1KK","flags":{"dae":{"stackable":false,"specialDuration":["None"],"macroRepeat":"none","transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null,"alignment":"","type":"","save":"","savedc":null,"hostile":false,"onlyOnce":false,"time":"None"}},"changes":[{"key":"macro.itemMacro","value":"@item.level @attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-magenta-2.jpg","label":"Spiritual Weapon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Spiritual Weapon","type":"script","scope":"global","command":"//DAE Item Macro Execute, value = @item.level\n// Set spell to self cast, no damage/attack roll\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\nconst castingItem = lastArg.efData.flags.dae.itemData\nlet data = {}\n\n/**\n * Create Spiritual Weapon item in inventory\n */\nif (args[0] === \"on\") {\n let damage = Math.floor(Math.floor(args[1] / 2));\n let image = castingItem.img;\n\n let range = MeasuredTemplate.create({\n t: \"circle\",\n user: game.user._id,\n x: target.x + canvas.grid.size / 2,\n y: target.y + canvas.grid.size / 2,\n direction: 0,\n distance: 60,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n SpiritualWeaponRange: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n });\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user._id,\n distance: 7,\n direction: 45,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n SpiritualWeapon: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n Hooks.once(\"createMeasuredTemplate\", deleteTemplates);\n\n let template = new game.dnd5e.canvas.AbilityTemplate(templateData)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n async function deleteTemplates(scene, template) {\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.SpiritualWeaponRange?.ActorId === tactor.id);\n await canvas.templates.deleteMany([removeTemplates[0].id]);\n };\n })\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Spiritual Weapon\",\n \"type\": \"weapon\",\n \"data\": {\n \"equipped\": true,\n \"identified\": true,\n \"activation\": {\n \"type\": \"bonus\",\n },\n \"target\": {\n \"value\": 1,\n \"width\": null,\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n \"units\": \"ft\"\n },\n \"ability\": args[2],\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"chatFlavor\": \"\",\n \"critical\": null,\n \"damage\": {\n \"parts\": [\n [\n `${damage}d8+@mod`,\n \"force\"\n ]\n ],\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true\n },\n \"flags\": {\n \"DAESRD\": {\n \"SpiritualWeapon\":\n target.actor.id\n }\n },\n \"img\": `${image}`,\n },\n );\n ui.notifications.notify(\"Weapon created in your inventory\")\n\n}\n\n// Delete Spitirual Weapon and template\nif (args[0] === \"off\") {\n let removeItem = tactor.items.find(i => i.data.flags?.DAESRD?.SpiritualWeapon === tactor.id)\n let template = canvas.templates.placeables.filter(i => i.data.flags.DAESRD.SpiritualWeapon?.ActorId === tactor.id)\n if(removeItem) await tactor.deleteOwnedItem(removeItem.id);\n if(template) await canvas.templates.deleteMany(template[0].id)\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Spiritual Weapon","type":"script","scope":"global","command":"//DAE Item Macro Execute, value = @item.level\n// Set spell to self cast, no damage/attack roll\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId) || token;\n\nconst castingItem = lastArg.efData.flags.dae.itemData\nlet data = {}\n\n/**\n * Create Spiritual Weapon item in inventory\n */\nif (args[0] === \"on\") {\n let damage = Math.floor(Math.floor(args[1] / 2));\n let image = castingItem.img;\n\n let range = canvas.scene.createEmbeddedDocuments(\"MeasuredTemplate\", [{\n t: \"circle\",\n user: game.user._id,\n x: target.x + canvas.grid.size / 2,\n y: target.y + canvas.grid.size / 2,\n direction: 0,\n distance: 60,\n borderColor: \"#FF0000\",\n flags: {\n DAESRD: {\n SpiritualWeaponRange: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n }]);\n range.then(result => {\n let templateData = {\n t: \"rect\",\n user: game.user._id,\n distance: 7,\n direction: 45,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n SpiritualWeapon: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n Hooks.once(\"createMeasuredTemplate\", deleteTemplates);\n\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n async function deleteTemplates() {\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.SpiritualWeaponRange?.ActorId === tactor.id);\n await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [removeTemplates[0].id]);\n };\n })\n await tactor.createOwnedItem(\n {\n \"name\": \"Summoned Spiritual Weapon\",\n \"type\": \"weapon\",\n \"data\": {\n \"equipped\": true,\n \"identified\": true,\n \"activation\": {\n \"type\": \"bonus\",\n },\n \"target\": {\n \"value\": 1,\n \"width\": null,\n \"type\": \"creature\"\n },\n \"range\": {\n \"value\": 5,\n \"units\": \"ft\"\n },\n \"ability\": args[2],\n \"actionType\": \"msak\",\n \"attackBonus\": \"0\",\n \"chatFlavor\": \"\",\n \"critical\": null,\n \"damage\": {\n \"parts\": [\n [\n `${damage}d8+@mod`,\n \"force\"\n ]\n ],\n },\n \"weaponType\": \"simpleM\",\n \"proficient\": true\n },\n \"flags\": {\n \"DAESRD\": {\n \"SpiritualWeapon\":\n target.actor.id\n }\n },\n \"img\": `${image}`,\n \"effects\" : []\n },\n );\n ui.notifications.notify(\"Weapon created in your inventory\")\n\n}\n\n// Delete Spitirual Weapon and template\nif (args[0] === \"off\") {\n let removeItem = tactor.items.find(i => i.data.flags?.DAESRD?.SpiritualWeapon === tactor.id)\n let template = canvas.templates.placeables.find(i => i.data.flags.DAESRD.SpiritualWeapon?.ActorId === tactor.id)\n if(removeItem) await tactor.deleteOwnedItem(removeItem.id);\n if(template) await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [template.id])\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gcKao9f4QpXC5rz2"}}} -{"_id":"gkehj8Ibf0Hsdmo3","name":"Grease","type":"spell","img":"systems/dnd5e/icons/spells/fog-orange-1.jpg","data":{"description":{"value":"

Slick grease covers the ground in a 10-foot square centered on a point within range and turns it into difficult terrain for the duration.

When the grease appears, each creature standing in its area must succeed on a Dexterity saving throw or fall prone. A creature that enters the area or ends its turn there must also succeed on a Dexterity saving throw or fall prone.

","chat":"","unidentified":""},"source":"PHB pg. 246","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":10,"width":null,"units":"ft","type":"square"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":1,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A bit of pork rind or butter","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"EKeituZxAuKkuZm3","flags":{"core":{"statusId":"combat-utility-belt.prone"},"combat-utility-belt":{"conditionId":"prone","overlay":false},"dae":{"stackable":false,"specialDuration":"None","macroRepeat":"none","transfer":false}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"modules/combat-utility-belt/icons/prone.svg","label":"Prone","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gkehj8Ibf0Hsdmo3"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"h7ElRUH4fQA4dY4i","name":"Charm Person","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

You attempt to charm a humanoid you can see within range. It must make a Wisdom saving throw, and does so with advantage if you or your companions are fighting it. If it fails the saving throw, it is Charmed by you until the spell ends or until you or your companions do anything harmful to it. The Charmed creature regards you as a friendly acquaintance. When the spell ends, the creature knows it was Charmed by you.

","chat":"","unidentified":""},"source":"PHB pg. 221","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"jMvaC6LI9b9QUxya","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Charm Person","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"uPKtziB4BMD9uNh9","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.h7ElRUH4fQA4dY4i"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"k0f3MnbU1JNiijdJ","name":"Beacon of Hope","type":"spell","img":"systems/dnd5e/icons/spells/light-sky-3.jpg","data":{"description":{"value":"

This spell bestows hope and vitality. Choose any number of creatures within range. For the duration, each target has advantage on Wisdom saving throws and death saving throws, and regains the maximum number of hit points possible from any healing.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"any","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"RtkJJbNnHgYVRGhK","flags":{"dae":{"stackable":false,"specialDuration":"None","transfer":false}},"changes":[{"key":"flags.midi-qol.advantage.ability.save.wis","value":"1","mode":5,"priority":20},{"key":"flags.midi-qol.advantage.deathSave","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-sky-3.jpg","label":"Beacon of Hope","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.MwYM64xGfz3Xkzm6"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"kBzkcCyByTZsnYPD","name":"Eyebite","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-3.jpg","data":{"description":{"value":"

For the spell’s Duration, your eyes become an inky void imbued with dread power. One creature of your choice within 60 feet of you that you can see must succeed on a Wisdom saving throw or be affected by one of the following Effects of your choice for the Duration. On each of your turns until the spell ends, you can use your action to target another creature but can’t target a creature again if it has succeeded on a saving throw against this casting of eyebite.

\n","chat":"","unidentified":""},"source":"PHB pg. 238","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"flat"},"level":6,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"z1vYz44IiLnxCyKe","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"0"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-3.jpg","label":"Eyebite","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Eyebite @target @attributes.spelldc ","mode":"+","targetSpecific":false,"id":1,"itemId":"XcK0JcIi8L5qpnzF","active":true,"_targets":[],"label":"Macro Execute"}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Eyebite","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"// DAE macro, args : @attributes.spelldc\nif(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\nif(!game.modules.get(\"dfreds-convenient-effects\")?.active) {ui.notifications.error(\"Please enable the CE module\"); return;}\n\nconst lastArg = args[args.length - 1];\nconst DC = args[1]\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst DAEItem = lastArg.efData.flags.dae.itemData\nlet target = canvas.tokens.get(lastArg.tokenId)\n\n/**\n * Dialog appears on players screen, CondtionControll callback execute on GM end \n */\n\nfunction EyebiteDialog() {\n new Dialog({\n title: \"Eyebite options\",\n content: \"

Target a token and select the effect

\",\n buttons: {\n one: {\n label: \"Asleep\",\n callback: async () => {\n for (let t of game.user.targets) {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${DC} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(\"wis\", { flavor, fastFoward: true})).total;\n if (saveRoll < DC) {\n ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` });\n game.dfreds.effectInterface.addEffect(\"Unconscious\", t.actor.uuid);\n }\n else {\n ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` });\n }\n }\n }\n },\n two: {\n label: \"Panicked\",\n callback: async () => {\n for (let t of game.user.targets) {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${DC} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(\"wis\", { flavor, fastFoward: true })).total;\n if (saveRoll < DC) {\n ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` });\n game.dfreds.effectInterface.addEffect(\"Frightened\", t.actor.uuid);\n\n }\n else {\n ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` });\n }\n }\n }\n },\n three: {\n label: \"Sickened\",\n callback: async () => {\n for (let t of game.user.targets) {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${DC} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(\"wis\", { flavor, fastFoward: true })).total;\n if (saveRoll < DC) {\n ChatMessage.create({ content: `${t.name} failed the save with a ${saveRoll}` });\n game.dfreds.effectInterface.addEffect(\"Poisoned\", t.actor.uuid);\n }\n else {\n ChatMessage.create({ content: `${t.name} passed the save with a ${saveRoll}` });\n }\n }\n }\n },\n }\n }).render(true);\n}\n\nif (args[0] === \"on\") {\n EyebiteDialog();\n ChatMessage.create({ content: `${target.name} is blessed with Eyebite` });\n\n}\n\n//Cleanup hooks and flags.\nif (args[0] === \"each\") {\n EyebiteDialog();\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.kBzkcCyByTZsnYPD"}}} -{"_id":"lWInHCtVOYQ73B03","name":"Greater Invisibility","type":"spell","img":"systems/dnd5e/icons/spells/fog-water-air-3.jpg","data":{"description":{"value":"

You or a creature you touch becomes Invisible until the spell ends. Anything the target is wearing or carrying is Invisible as long as it is on the target’s person.

","chat":"","unidentified":""},"source":"PHB pg. 246","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"XgWMGpftjCREyKXs","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":["None"],"macroRepeat":"none"}},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-water-air-3.jpg","label":"New Active Effect","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Invisibility @target","mode":"+","targetSpecific":false,"id":1,"itemId":"H4h4NNlgyp0rFmjC","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Greater Invisibility","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target\n\nlet target = canvas.tokens.get(args[1])\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible` });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears` });\n target.update({ \"hidden\": false });\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Greater Invisibility","type":"script","scope":"global","command":"//DAE Item Macro, no arguments passed\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `${target.name} turns invisible`, whisper: [game.user] });\n target.update({ \"hidden\": true });\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: `${target.name} re-appears`, whisper: [game.user] });\n target.update({ \"hidden\": false });\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.lWInHCtVOYQ73B03"}}} -{"_id":"n05KDSrgCZnZfV8U","name":"Bless","type":"spell","img":"systems/dnd5e/icons/spells/haste-sky-1.jpg","data":{"description":{"value":"

You bless up to three creatures of your choice within range. Whenever a target makes an attack roll or a saving throw before the spell ends, the target can roll 1d4 and add the number rolled to the attack roll or saving throw.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 219","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":3,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d4","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A sprinkling of holy water","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"lsEz6wG7eXIutwZI","flags":{"dae":{"transfer":false,"stackable":false,"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"alignment":"","type":"","aura":"None","radius":null,"save":"","savedc":null,"hostile":false,"onlyOnce":false,"time":"None"}},"changes":[{"key":"data.bonuses.abilities.save","value":"+1d4","mode":2,"priority":20},{"key":"data.bonuses.All-Attacks","value":"+1d4","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-sky-1.jpg","label":"Bless","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.bonuses.abilities.save","value":"1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"hYWYJJbVMe5U7GbQ","active":true,"_targets":[],"label":"Bonuses Abilities Save"},{"modSpecKey":"data.bonuses.All-Attacks","value":"1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"hYWYJJbVMe5U7GbQ","active":true,"_targets":[]}]},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.n05KDSrgCZnZfV8U"}}} -{"_id":"o5KjAeWOCfPjO4pY","name":"Geas","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-air-3.jpg","data":{"description":{"value":"

You place a magical comm⁠and on a creature that you can see within range, forcing it to carry out some service or refrain from some action or course of activity as you decide. If the creature can understand you, it must succeed on a Wisdom saving throw or become Charmed by you for the Duration. While the creature is cha⁠rmed by you, it takes 5d10 psychic damage each time it acts in a manner directly counter to your instructions, but no more than once each day. A creature that can’t understand you is unaffected by the spell.

\n

You can issue any comm⁠and you choose, short of an activity that would result in certain death. Should you issue a suicidal comm⁠and, the spell ends.

\n

You can end the spell early by using an action to dismiss it. A Remove Curse, Greater Restoration, or wish spell also ends it.

\n

At Higher Levels. When you cast this spell using a spell slot of 7th or 8th level, the Duration is 1 year. When you cast this spell using a spell slot of 9th level, the spell lasts until it is ended by one of the Spells mentioned above.

","chat":"","unidentified":""},"source":"PHB pg. 244","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":30,"units":"day"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["5d10","psychic"]],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"FT5SyqK8MezUX9Hi","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-air-3.jpg","label":"Geas","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"NIAyvC7zWFPPWqA8","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.o5KjAeWOCfPjO4pY"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"pThYfEUf7rF2NTS0","name":"Faerie Fire","type":"spell","img":"systems/dnd5e/icons/spells/fire-arrows-jade-2.jpg","data":{"description":{"value":"

Each object in a 20-foot cube within range is outlined in blue, green, or violet light (your choice). Any creature in the area when the spell is cast is also outlined in light if it fails a Dexterity saving throw. For the duration, objects and affected creatures shed dim light in a 10-foot radius.

Any attack roll against an affected creature or object has advantage if the attacker can see it, and the affected creature or object can’t benefit from being invisible.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"cube"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"0hz3Z5o2VSWZFDyA","flags":{"dae":{"stackable":false,"specialDuration":["None"],"macroRepeat":"none","transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"},{"key":"flags.midi-qol.grants.advantage.attack.all","mode":0,"value":"1","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fire-arrows-jade-2.jpg","label":"Faerie Fire","tint":null,"transfer":false,"selectedKey":["macro.itemMacro","data.abilities.cha.dc"]}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Faerie Fire","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nlet target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nif (args[0] === \"on\") {\n\n new Dialog({\n title: `Choose the colour for Faerie Fire on ${target.name}`,\n buttons: {\n one: {\n label: \"Blue\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#5ab9e2\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n },\n two: {\n label: \"Green\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#55d553\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n },\n three: {\n label: \"Purple\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#844ec6\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let { color, alpha, dimLight } = await DAE.getFlag(target, \"FaerieFire\")\n target.update({ \"lightColor\": color, \"lightAlpha\": alpha, \"dimLight\": dimLight })\n DAE.unsetFlag(tactor, \"FaerieFire\")\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Faerie Fire","type":"script","scope":"global","command":"// DAE macro, just call the macro, nothing else\n// setup the spell as normal\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nlet target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nif (args[0] === \"on\") {\n\n new Dialog({\n title: `Choose the colour for Faerie Fire on ${target.name}`,\n buttons: {\n one: {\n label: \"Blue\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#5ab9e2\", \"lightAlpha\": 0.64, \"dimLight\": \"10\", \"lightAnimation.intensity\" : 3 })\n }\n },\n two: {\n label: \"Green\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#55d553\", \"lightAlpha\": 0.64, \"dimLight\": \"10\",\"lightAnimation.intensity\" : 3 })\n }\n },\n three: {\n label: \"Purple\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#844ec6\", \"lightAlpha\": 0.64, \"dimLight\": \"10\",\"lightAnimation.intensity\" : 3 })\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let { color, alpha, dimLight } = await DAE.getFlag(target, \"FaerieFire\")\n target.update({ \"lightColor\": color, \"lightAlpha\": alpha, \"dimLight\": dimLight })\n DAE.unsetFlag(tactor, \"FaerieFire\")\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.pThYfEUf7rF2NTS0"}}} -{"_id":"pp5fv0Avmy0rfsgI","name":"Blindness/Deafness","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","data":{"description":{"value":"

You can blind or deafen a foe. Choose one creature that you can see within range to make a Constitution saving throw. If it fails, the target is either blinded or deafened (your choice) for the duration. At the end of each of its turns, the target can make a Constitution saving throw. On a success, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 219","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"nec","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"AcxliM1QbpEbJ1zQ","flags":{"dae":{"stackable":"none","specialDuration":[],"macroRepeat":"none","transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null,"alignment":"","type":"","hostile":false,"onlyOnce":false}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"},{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveDC = @attributes.spelldc, saveAbility=con, savingThrow=true","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"","label":"Blindness/Deafness","tint":"","transfer":false,"selectedKey":["macro.itemMacro","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"BlindDeaf\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"YzSbwD21Q0oxKmEU","active":true,"_targets":[]}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Blindness/Deafness","type":"script","author":"zrPR3wueYsESSBR3","img":"icons/svg/dice-target.svg","scope":"global","command":"if(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\nif(!game.modules.get(\"dfreds-convenient-effects\")?.active) {ui.notifications.error(\"Please enable the CE module\"); return;}\n\n//DAE macro, call directly with no arguments\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nif (args[0] === \"on\") {\n new Dialog({\n title: \"Choose an Effect\",\n buttons: {\n one: {\n label: \"Blindness\",\n callback: () => {\n DAE.setFlag(tactor, \"DAEBlind\", \"blind\")\n game.dfreds.effectInterface.addEffect(\"Blinded\", tactor.uuid)\n }\n },\n two: {\n label: \"Deafness\",\n callback: () => {\n DAE.setFlag(tactor, \"DAEBlind\", \"deaf\")\n game.dfreds.effectInterface.addEffect(\"Deafened\", tactor.uuid)\n }\n }\n },\n }).render(true);\n}\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, \"DAEBlind\")\n if (flag === \"blind\") {\n game.dfreds.effectInterface.removeEffect(\"Blinded\", tactor.uuid)\n } else if (flag === \"deaf\") {\n game.dfreds.effectInterface.removeEffect(\"Deafened\", tactor.uuid)\n }\n DAE.unsetFlag(tactor, \"DAEBlind\")\n}","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.pp5fv0Avmy0rfsgI"}}} -{"_id":"qHWBKyQxm3CTm2yS","name":"Phantasmal Killer","type":"spell","img":"systems/dnd5e/icons/spells/horror-eerie-3.jpg","data":{"description":{"value":"

You tap into the nightmares of a creature you can see within range and create an illusory manifestation of its deepest fears, visible only to that creature. The target must make a Wisdom saving throw. On a failed save, the target becomes Frightened for the Duration. At the end of each of the target’s turns before the spell ends, the target must succeed on a Wisdo⁠m saving throw or take 4d10 psychic damage. On a successful save, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d10 for each slot level above 4th.

","chat":"","unidentified":""},"source":"PHB pg. 265","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d10","psychic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d10"}},"effects":[{"_id":"ZWOKGvc3niryANBh","changes":[{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=start, saveAbility=wis, saveDC=@attributes.spelldc, saveMagic=true, damageRoll=(@item.level)d10, damageType=psychic, savingThrow=true, damageBeforeSave=false","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/horror-eerie-3.jpg","label":"Phantasmal Killer","transfer":false,"flags":{"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false},"ActiveAuras":{"isAura":false,"aura":"None","radius":null,"alignment":"","type":"","ignoreSelf":false,"height":false,"hidden":false,"hostile":false,"onlyOnce":false}},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Frightened","mode":"+","targetSpecific":false,"id":1,"itemId":"UWXxnmoLDNjm4DTU","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.qHWBKyQxm3CTm2yS"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"qRR5SUtZm1wYRexS","name":"Longstrider","type":"spell","img":"systems/dnd5e/icons/spells/wind-sky-1.jpg","data":{"description":{"value":"

You touch a creature. The target's speed increases by 10 feet until the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 256","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A pinch of dirt","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KX061GBZGEC1RRji","flags":{"dae":{"transfer":false,"stackable":false}},"changes":[{"key":"data.attributes.movement.walk","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.fly","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.burrow","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.climb","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.swim","value":"10","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-sky-1.jpg","label":"Longstrider","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Longstrider @target","mode":"+","targetSpecific":false,"id":1,"itemId":"YQuzJthgy3cQd9Ow","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.oo8xSLPoRhzHdZlg"}}} -{"_id":"r70LzHV9qDX55KwA","name":"Moonbeam","type":"spell","img":"systems/dnd5e/icons/spells/beam-blue-3.jpg","data":{"description":{"value":"

A silvery beam of pale light shines down in a 5-foot-radius, 40-foot-high Cylinder centered on a point within range. Until the spell ends, dim light fills the cylind⁠er.

When a creature enters the spell’s area for the first time on a turn or starts its turn there, it is engulfed in ghostly flames that cause searing pain, and it must make a Constitution saving throw. It takes 2d10 radiant damage on a failed save, or half as much damage on a successful one.

A Shapechanger makes its saving throw with disadvantage. If it fails, it also instantly reverts to its original form and can’t assume a different form until it leaves the spell’s light.

On each of your turns after you cast this spell, you can use an action to move the beam up to 60 feet in any direction.

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 261","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Several seeds of any moonseed plant and a piece of opalescent feldspar","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"kQG5Br84cCacfPAd","flags":{"dae":{"stackable":false,"specialDuration":["None"],"transfer":false,"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"@attributes.spelldc","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-blue-3.jpg","label":"Moonbeam Summon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.p7qDbkiwGTZYC3EG"},"itemacro":{"macro":{"_data":{"name":"Moonbeam","type":"script","scope":"global","command":"//DAE Item Macro Execute, Effect Value = @attributes.spelldc\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\nconst DC = args[1]\n/**\n * Create Moonbeam item in inventory\n */\nif (args[0] === \"on\") {\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 5,\n direction: 0,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n Moonbeam: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n}\nlet template = new game.dnd5e.canvas.AbilityTemplate(templateData)\ntemplate.actorSheet = tactor.sheet;\ntemplate.drawPreview()\n\n let damage = DAEItem.data.level;\n await tactor.createOwnedItem(\n {\n \"name\": \"Moonbeam repeating\",\n \"type\": \"spell\",\n \"data\": {\n \"source\": \"Casting Moonbeam\",\n \"ability\": \"\",\n \"description\": {\n \"value\": \"half damage on save\" \n },\n \"actionType\": \"save\",\n \"attackBonus\": 0,\n \"damage\": {\n \"parts\": [\n [\n `${damage}d10`,\n \"radiant\"\n ]\n ],\n },\n \"formula\": \"\",\n \"save\": {\n \"ability\": \"con\",\n \"dc\": saveData.dc,\n \"scaling\": \"spell\"\n },\n \"level\": 0,\n \"school\": \"abj\",\n \"preparation\": {\n \"mode\": \"prepared\",\n \"prepared\": false\n },\n\n },\n \"img\": DAEItem.img,\n }\n );\n}\n\n// Delete Moonbeam\nif (args[0] === \"off\") {\n let casterItem = tactor.data.items.find(i => i.name === \"Moonbeam repeating\" && i.type === \"spell\")\n tactor.deleteOwnedItem(casterItem._id)\n let template = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.Moonbeam?.ActorId === tactor.id)\n canvas.templates.deleteMany(template[0].id)\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Moonbeam","type":"script","scope":"global","command":"//DAE Item Macro Execute, Effect Value = @attributes.spelldc\nif (!game.modules.get(\"advanced-macros\")?.active) ui.notifications.error(\"Please enable the Advanced Macros module\")\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\nconst DC = args[1]\n/**\n * Create Moonbeam item in inventory\n */\nif (args[0] === \"on\") {\n let range = canvas.scene.createEmbeddedDocuments(\"MeasuredTemplate\", [{\n t: \"circle\",\n user: game.user._id,\n x: target.x + canvas.grid.size / 2,\n y: target.y + canvas.grid.size / 2,\n direction: 0,\n distance: 60,\n borderColor: \"#517bc9\",\n flags: {\n DAESRD: {\n MoonbeamRange: {\n ActorId: tactor.id\n }\n }\n }\n //fillColor: \"#FF3366\",\n }]);\n\n range.then(result => {\n let templateData = {\n t: \"circle\",\n user: game.user._id,\n distance: 5,\n direction: 0,\n x: 0,\n y: 0,\n flags: {\n DAESRD: {\n Moonbeam: {\n ActorId: tactor.id\n }\n }\n },\n fillColor: game.user.color\n }\n Hooks.once(\"createMeasuredTemplate\", deleteTemplates);\n\n let doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })\n let template = new game.dnd5e.canvas.AbilityTemplate(doc)\n template.actorSheet = tactor.sheet;\n template.drawPreview()\n\n async function deleteTemplates() {\n let removeTemplates = canvas.templates.placeables.filter(i => i.data.flags.DAESRD?.MoonbeamRange?.ActorId === tactor.id);\n await canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [removeTemplates[0].id]);\n };\n\n let damage = DAEItem.data.level;\n tactor.createOwnedItem(\n {\n \"name\": \"Moonbeam repeating\",\n \"type\": \"spell\",\n \"data\": {\n \"source\": \"Casting Moonbeam\",\n \"ability\": \"\",\n \"description\": {\n \"value\": \"half damage on save\"\n },\n \"actionType\": \"save\",\n \"attackBonus\": 0,\n \"damage\": {\n \"parts\": [\n [\n `${damage}d10`,\n \"radiant\"\n ]\n ],\n },\n \"formula\": \"\",\n \"save\": {\n \"ability\": \"con\",\n \"dc\": saveData.dc,\n \"scaling\": \"spell\"\n },\n \"level\": 0,\n \"school\": \"abj\",\n \"preparation\": {\n \"mode\": \"prepared\",\n \"prepared\": false\n },\n\n },\n \"img\": DAEItem.img,\n \"effects\": []\n }\n );\n });\n}\n\n// Delete Moonbeam\nif (args[0] === \"off\") {\n let casterItem = tactor.data.items.find(i => i.name === \"Moonbeam repeating\" && i.type === \"spell\")\n tactor.deleteOwnedItem(casterItem._id)\n let template = canvas.templates.placeables.find(i => i.data.flags.DAESRD?.Moonbeam?.ActorId === tactor.id)\n canvas.scene.deleteEmbeddedDocuments(\"MeasuredTemplate\", [template.id])\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""}}} -{"_id":"rBsAQPR1WatxCs0y","name":"Animal Friendship","type":"spell","img":"systems/dnd5e/icons/spells/wild-jade-2.jpg","data":{"description":{"value":"

This spell lets you convince a beast that you mean it no harm. Choose a beast that you can see within range. It must see and hear you. If the beast's Intelligence is 4 or higher, the spell fails. Otherwise, the beast must succeed on a Wisdom saving throw or be charmed by you for the spell's duration. If you or one of your companions harms the target, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional beast for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 212","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A morsel of food.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"DesfGqDm53kqOTtp","flags":{"core":{"statusId":"combat-utility-belt.charmed"},"combat-utility-belt":{"conditionId":"charmed"},"dae":{"transfer":false}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"modules/combat-utility-belt/icons/charmed.svg","label":"Charmed","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"q3Nvmbb9hZeJDUkU","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.rBsAQPR1WatxCs0y"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"rVDuKDZ3YdWiWKRr","name":"Web","type":"spell","img":"systems/dnd5e/icons/spells/shielding-spirit-3.jpg","data":{"description":{"value":"

You conjure a mass of thick, sticky webbing at a point of your choice within range. The webs fill a 20-foot cube from that point for the Duration. The webs are difficult terrain and lightly obscure their area.

\n

If the webs aren’t anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the conjured web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.

\n

Each creature that starts its turn in the webs or that enters them during its turn must make a Dexterity saving throw. On a failed save, the creature is Restrained as long as it remains in the webs or until it breaks free.

\n

A creature Restrained by the webs can use its action to make a Strength check against your spell save DC. If it succeeds, it is no longer Restrained.

\n

The webs are flammable. Any 5-foot cube of webs exposed to fire burns away in 1 round, dealing 2d4 fire damage to any creature that starts its turn in the fire.

","chat":"","unidentified":""},"source":"PHB pg. 287","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":20,"width":null,"units":"ft","type":"cube"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["2d4","fire"]],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":2,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A bit of spiderweb","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"1s049vONn2VyCOvH","flags":{"core":{"statusId":"combat-utility-belt.restrained"},"combat-utility-belt":{"conditionId":"restrained","overlay":false},"dae":{"stackable":false,"specialDuration":[],"transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"alignment":"","type":"","aura":"None","radius":null,"save":"","savedc":null}},"changes":[],"disabled":false,"duration":{"startTime":null},"icon":"modules/combat-utility-belt/icons/restrained.svg","label":"Restrained","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.rVDuKDZ3YdWiWKRr"}}} -{"_id":"sjPOgiboGD1Aizfy","name":"Shield of Faith","type":"spell","img":"systems/dnd5e/icons/spells/protect-sky-2.jpg","data":{"description":{"value":"

A shimmering field appears and surrounds a creature of your choice within range, granting it a +2 bonus to AC for the duration.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small parchment with a bit of holy text written on it.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"GGw83YdWNiJ94ubi","flags":{"dae":{"transfer":false,"stackable":"none","macroRepeat":"none","specialDuration":[]}},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+2","priority":"20"}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-sky-2.jpg","label":"Shield of Faith","transfer":false,"disabled":false,"tint":null,"selectedKey":"data.attributes.ac.bonus"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"2","mode":"+","targetSpecific":false,"id":1,"itemId":"Vd17BhyN4J8OQljO","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.sjPOgiboGD1Aizfy"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"tXGSv5RKLjC3f3mW","name":"True Strike","type":"spell","img":"systems/dnd5e/icons/spells/enchant-sky-1.jpg","data":{"description":{"value":"

You extend your hand and point a finger at a target in range. Your magic grants you a brief insight⁠ into the target’s defenses. On your next turn, you gain advantage on your first attack⁠ roll against the target, provided that this spell hasn’t ended.

","chat":"","unidentified":""},"source":"PHB pg. 284","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"div","components":{"value":"","vocal":false,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"780yFebseo6lzDq5","flags":{"dae":{"stackable":false,"transfer":false}},"changes":[{"key":"flags.midi-qol.advantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-sky-1.jpg","label":"True Strike","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"midi-qol":{"onUseMacroName":""},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.ddJkplL7yUWHJUZl"}}} -{"_id":"viIsBmDscOJ7Niel","name":"Irresistible Dance","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

Choose one creature that you can see within range. The target begins a comic dance in place: shuffling, tapping its feet, and capering for the duration. Creatures that can't be charmed are immune to this spell.

\n

A dancing creature must use all its movement to dance without leaving its space and has disadvantage on Dexterity saving throws and attack rolls. While the target is affected by this spell, other creatures have advantage on attack rolls against it. As an action, a dancing creature makes a Wisdom saving throw to regain control of itself. On a successful save, the spell ends.

","chat":"","unidentified":""},"source":"PGB pg. 264","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":6,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"3mNPKbwjiaapU9XI","flags":{"dae":{"stackable":false,"specialDuration":[],"macroRepeat":"startEveryTurn","transfer":false},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Irresistible Dance","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"U5jQJ2Ry565NS8BY","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"_data":{"name":"Irresistible Dance","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @attributes.spelldc @item\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\n\nif (args[0] === \"each\") {\n new Dialog({\n title: \"Use action to make a wisdom save to end Irresistible Dance?\",\n buttons: {\n one: {\n label: \"Yes\",\n callback: async () => {\n const flavor = `${CONFIG.DND5E.abilities[saveData.ability]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor })).total;\n\n if (saveRoll >= saveData.dc) {\n target.actor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.effectId);\n }\n if (saveRoll < saveData.dc) {\n ChatMessage.create({ content: `${target.name} fails the save` });\n }\n }\n },\n two: {\n label: \"No\",\n callback: () => {\n }\n }\n }\n }).render(true);\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Irresistible Dance","type":"script","scope":"global","command":"//DAE Macro , Effect Value = @attributes.spelldc\nif(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\nconst DC = args[1]\n\nif (args[0] === \"each\") {\n new Dialog({\n title: \"Use action to make a wisdom save to end Irresistible Dance?\",\n buttons: {\n one: {\n label: \"Yes\",\n callback: async () => {\n const flavor = `${CONFIG.DND5E.abilities[saveData.ability]} DC${DC} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor })).total;\n\n if (saveRoll >= DC) {\n tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.effectId);\n }\n if (saveRoll < DC) {\n ChatMessage.create({ content: `${tactor.name} fails the save` });\n }\n }\n },\n two: {\n label: \"No\",\n callback: () => {\n }\n }\n }\n }).render(true);\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.viIsBmDscOJ7Niel"},"midi-qol":{"onUseMacroName":""}}} -{"_id":"vtUhpbyJYzB2J9ok","name":"Shillelagh","type":"spell","img":"systems/dnd5e/icons/spells/enchant-jade-1.jpg","data":{"description":{"value":"

The wood of a club or quarterstaff you are holding is imbued with nature's power. For the duration, you can use your spellcasting ability instead of Strength for the attack and damage rolls of melee attacks using that weapon, and the weapon's damage die becomes a d8. The weapon also becomes magical, if it isn't already. The spell ends if you cast it again or if you let go of the weapon.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"spec","type":"object"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A shamrock leaf, and a club or quarterstaff","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"x3I3PP0wLDynd8JN","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-jade-1.jpg","label":"Shillelagh","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Shillelagh @target","mode":"+","targetSpecific":false,"id":1,"itemId":"HgYH1Eb3LQ19tsjJ","active":true,"_targets":[],"label":"Macro Execute"}]},"itemacro":{"macro":{"_data":{"name":"Shillelagh","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\nlet weapon_content = ``;\n\nfor (let weapon of weapons) {\n weapon_content += ``;\n}\nif (args[0] === \"on\") {\n let content = `\n
\n \n \n
`;\n\n new Dialog({\n title: \"Choose a club or quarterstaff\",\n content,\n buttons:\n {\n Ok:\n {\n label: `Ok`,\n callback: (html) => {\n let itemId = html.find('[name=weapons]')[0].value;\n let weaponItem = tactor.items.get(itemId);\n let copy_item = duplicate(weaponItem);\n DAE.setFlag(tactor, `shillelagh`, {\n id : itemId,\n damage : copy_item.data.damage.parts[0][0] \n });\n let damage = copy_item.data.damage.parts[0][0];\n var newdamage = damage.replace(/1d(4|6)/g,\"1d8\");\n copy_item.data.damage.parts[0][0] = newdamage;\n copy_item.data.ability = \"wis\";\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n ChatMessage.create({content: copy_item.name + \" is empowered\"});\n }\n },\n Cancel:\n {\n label: `Cancel`\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, `shillelagh`);\n let weaponItem = tactor.items.get(flag.id);\n let copy_item = duplicate(weaponItem);\n copy_item.data.damage.parts[0][0] = flag.damage;\n copy_item.data.ability = \"\";\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n DAE.unsetFlag(tactor, `shillelagh`);\n ChatMessage.create({content: copy_item.name + \" returns to normal\"});\n\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Shillelagh","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\n\nlet weapons = tactor.items.filter(i => i.data.type === `weapon`);\nlet weapon_content = ``;\n\nfor (let weapon of weapons) {\n weapon_content += ``;\n}\nif (args[0] === \"on\") {\n let content = `\n
\n \n \n
`;\n\n new Dialog({\n title: \"Choose a club or quarterstaff\",\n content,\n buttons:\n {\n Ok:\n {\n label: `Ok`,\n callback: (html) => {\n let itemId = html.find('[name=weapons]')[0].value;\n let weaponItem = tactor.items.get(itemId);\n let copy_item = duplicate(weaponItem);\n DAE.setFlag(tactor, `shillelagh`, {\n id : itemId,\n damage : copy_item.data.damage.parts[0][0] \n });\n let damage = copy_item.data.damage.parts[0][0];\n var newdamage = damage.replace(/1d(4|6)/g,\"1d8\");\n copy_item.data.damage.parts[0][0] = newdamage;\n copy_item.data.ability = \"wis\";\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n ChatMessage.create({content: copy_item.name + \" is empowered\"});\n }\n },\n Cancel:\n {\n label: `Cancel`\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let flag = DAE.getFlag(tactor, `shillelagh`);\n let weaponItem = tactor.items.get(flag.id);\n let copy_item = duplicate(weaponItem);\n copy_item.data.damage.parts[0][0] = flag.damage;\n copy_item.data.ability = \"\";\n tactor.updateEmbeddedEntity(\"OwnedItem\", copy_item);\n DAE.unsetFlag(tactor, `shillelagh`);\n ChatMessage.create({content: copy_item.name + \" returns to normal\"});\n\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.vtUhpbyJYzB2J9ok"}}} -{"_id":"wVUbKJ9vhZqeIY4L","name":"Hideous Laughter macro","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming Incapacitated and unable to stand up for the Duration. A creature with an Intelligence score of 4 or less isn’t affected.

\n

At the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it’s triggered by damage. On a success, the spell ends.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":20,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Tiny tarts and a feather that is waved in the air","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"YG33V4oAMECg5fC3","flags":{"dae":{"stackable":false,"macroRepeat":"endEveryTurn","transfer":false}},"changes":[{"key":"macro.itemMacro","value":"0","mode":0,"priority":20},{"key":"macro.CUB","value":"Prone","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Hideous Laughter (Copy)","origin":"Actor.LClwU7mAyShYLmFU.OwnedItem.Xx810qrpyxTIvsPf","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Incapacitated","mode":"+","targetSpecific":false,"id":1,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[],"label":"Flags Condition"},{"modSpecKey":"flags.dnd5e.conditions","value":"Prone","mode":"+","targetSpecific":false,"id":2,"itemId":"q3HatlCWUJa7m80R","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"itemacro":{"macro":{"_data":{"name":"Hideous Laughter (Copy)","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nlet caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null)\n\nif (args[0] === \"on\") {\n if (tactor.data.data.abilities.int.value < 4) tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n RollHideousSave(target)\n}\n\nasync function RollHideousSave(target) {\n debugger\n console.log(\"SetHook\")\n const hookId = Hooks.on(\"preUpdateActor\", async (actor, update) => {\n if (!\"actorData.data.attributes.hp\" in update) return;\n let oldHP = actor.data.data.attributes.hp.value;\n let newHP = getProperty(update, \"data.attributes.hp.value\");\n let hpChange = oldHP - newHP\n if (hpChange > 0 && typeof hpChange === \"number\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor, fastForward: true, advantage: true })).total;\n if (saveRoll < saveData.dc) return;\n await tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n\n }\n })\n if (args[0] !== \"on\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor })).total;\n if (saveRoll >= saveData.dc) {\n tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n }\n }\n debugger\n await DAE.setFlag(tactor, \"hideousLaughterHook\", hookId)\n}\n\nasync function RemoveHook() {\n debugger\n let flag = await DAE.getFlag(tactor, 'hideousLaughterHook');\n Hooks.off(\"preUpdateActor\", flag);\n await DAE.unsetFlag(tactor, \"hideousLaughterHook\");\n if (args[0] === \"off\") game.cub.addCondition(\"Prone\", tactor)\n}\n\nif (args[0] === \"off\") {\n RemoveHook()\n}\n\nif (args[0] === \"each\") {\n debugger\n await RemoveHook()\n await RollHideousSave()\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Hideous Laughter (Copy)","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target @item\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nlet caster = canvas.tokens.placeables.find(token => token?.actor?.items.get(DAEItem._id) != null)\n\nif (args[0] === \"on\") {\n if (tactor.data.data.abilities.int.value < 4) tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n RollHideousSave(target)\n}\n\nasync function RollHideousSave(target) {\n debugger\n console.log(\"SetHook\")\n const hookId = Hooks.on(\"preUpdateActor\", async (actor, update) => {\n if (!\"actorData.data.attributes.hp\" in update) return;\n let oldHP = actor.data.data.attributes.hp.value;\n let newHP = getProperty(update, \"data.attributes.hp.value\");\n let hpChange = oldHP - newHP\n if (hpChange > 0 && typeof hpChange === \"number\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor, fastForward: true, advantage: true })).total;\n if (saveRoll < saveData.dc) return;\n await tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n\n }\n })\n if (args[0] !== \"on\") {\n const flavor = `${CONFIG.DND5E.abilities[\"wis\"]} DC${saveData.dc} ${DAEItem?.name || \"\"}`;\n let saveRoll = (await tactor.rollAbilitySave(saveData.ability, { flavor })).total;\n if (saveRoll >= saveData.dc) {\n tactor.deleteEmbeddedEntity(\"ActiveEffect\", lastArg.efData._id)\n }\n }\n debugger\n await DAE.setFlag(tactor, \"hideousLaughterHook\", hookId)\n}\n\nasync function RemoveHook() {\n debugger\n let flag = await DAE.getFlag(tactor, 'hideousLaughterHook');\n Hooks.off(\"preUpdateActor\", flag);\n await DAE.unsetFlag(tactor, \"hideousLaughterHook\");\n if (args[0] === \"off\") game.cub.addCondition(\"Prone\", tactor)\n}\n\nif (args[0] === \"off\") {\n RemoveHook()\n}\n\nif (args[0] === \"each\") {\n debugger\n await RemoveHook()\n await RollHideousSave()\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Item.Xx810qrpyxTIvsPf"}}} -{"_id":"xQCOkFF4jxak2lvQ","name":"Heroism","type":"spell","img":"systems/dnd5e/icons/spells/heal-sky-2.jpg","data":{"description":{"value":"

A willing creature you touch is imbued with bravery. Until the spell ends, the creature is immune to being Frightened and gains Temporary Hit Points equal to your Spellcasting ability modifier at the start of each of its turns. When the spell ends, the target loses any remaining tempora⁠ry hit point⁠s from this spell.

\n

At Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["@mod","midi-none"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"ofPxOG62bxg60zIO","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"startEveryTurn"}},"changes":[{"key":"macro.itemMacro","value":"@damage","mode":0,"priority":0},{"key":"data.traits.ci.value","value":"frightened","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-sky-2.jpg","label":"Heroism","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"NQHxXfbiVgh4JBIs":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Heroism\" @target @abilities.wis.mod","mode":"+","targetSpecific":false,"id":1,"itemId":"MZri1qA9dTyQqtvt","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"betterRolls5e":{"critRange":{"type":"String","value":null},"critDamage":{"type":"String","value":""},"quickDesc":{"type":"Boolean","value":true,"altValue":true},"quickAttack":{"type":"Boolean","value":true,"altValue":true},"quickSave":{"type":"Boolean","value":true,"altValue":true},"quickDamage":{"type":"Array","value":{"0":true},"altValue":{"0":true},"context":[]},"quickVersatile":{"type":"Boolean","value":false,"altValue":false},"quickProperties":{"type":"Boolean","value":true,"altValue":true},"quickCharges":{"type":"Boolean","value":{"use":false,"resource":false},"altValue":{"use":false,"resource":false}},"quickTemplate":{"type":"Boolean","value":true,"altValue":true},"quickOther":{"type":"Boolean","value":true,"altValue":true,"context":""},"quickFlavor":{"type":"Boolean","value":true,"altValue":true},"quickPrompt":{"type":"Boolean","value":false,"altValue":false}},"core":{"sourceId":"Item.bbN0qAtGlt1VZNJl"},"midi-qol":{"onUseMacroName":"","forceCEOn":false},"itemacro":{"macro":{"_data":{"name":"Heroism","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" t @damage (apply @mod damge of none type)\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet mod = args[1];\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `Heroism is applied to ${tactor.name}` })\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: \"Heroism ends\" });\n}\nif(args[0] === \"each\"){\nlet bonus = mod > tactor.data.data.attributes.hp.temp ? mod : tactor.data.data.attributes.hp.temp\n tactor.update({ \"data.attributes.hp.temp\": mod });\n ChatMessage.create({ content: \"Heroism continues on \" + tactor.name })\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Heroism","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" t @damage (apply @mod damge of none type)\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet mod = args[1];\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `Heroism is applied to ${tactor.name}` })\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: \"Heroism ends\" });\n}\nif(args[0] === \"each\"){\nlet bonus = mod > tactor.data.data.attributes.hp.temp ? mod : tactor.data.data.attributes.hp.temp\n tactor.update({ \"data.attributes.hp.temp\": mod });\n ChatMessage.create({ content: \"Heroism continues on \" + tactor.name })\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"mess":{"templateTexture":""}}} -{"_id":"xedFUGushERJ3TFL","name":"Fire Shield","type":"spell","img":"systems/dnd5e/icons/spells/protect-red-3.jpg","data":{"description":{"value":"

Thin and wispy flames wreathe your body for the Duration, shedding bright light in a 10-foot radius and dim light for an additional 10 feet. You can end the spell early by using an action to dismiss it.

\n

The flames provide you with a warm shi⁠eld or a chill sh⁠ield, as you choose. The warm shi⁠eld grants you Resistance to cold damage, and the chill shi⁠eld grants you resist⁠ance to fire damage.

\n

In addition, whenever a creature within 5 feet of you hits you with a melee Attack, the shiel⁠d erupts with flame. The attacker takes 2d8 fire damage from a warm shie⁠ld, or 2d8 cold damage from a cold sh⁠ield.

","chat":"","unidentified":""},"source":"PHB pg. 242","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"2d8","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A bit of phosphorus or a firefly","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"AKvaMvKe2qN5j8zf","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-red-3.jpg","label":"Fire Shield","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"FireShield @target","mode":"+","targetSpecific":false,"id":1,"itemId":"QTP4gLcjbhZ2khVy","active":true,"_targets":[]}]},"itemacro":{"macro":{"_data":{"name":"Fire Shield","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") { \n new Dialog({\n title: \"Warm or Cold Shield\",\n buttons: {\n one: {\n label: \"Warm\",\n callback: () => {\n let resistances = tactor.data.data.traits.dr.value;\n resistances.push(\"cold\");\n tactor.update({ \"data.traits.dr.value\": resistances });\n DAE.setFlag(tactor, 'FireShield', \"cold\");\n ChatMessage.create({ content: `${target.name} gains resistnace to cold` });\n }\n },\n two: {\n label: \"Cold\",\n callback: () => {\n let resistances = tactor.data.data.traits.dr.value;\n resistances.push(\"fire\");\n tactor.update({ \"data.traits.dr.value\": resistances });\n DAE.setFlag(tactor, 'FireShield', \"fire\");\n ChatMessage.create({ content: `${target.name} gains resistnace to fire` });\n }\n },\n }\n }).render(true);\n}\nif (args[0] === \"off\") {\n let element = DAE.getFlag(tactor, 'FireShield');\n let resistances = tactor.data.data.traits.dr.value;\n const index = resistances.indexOf(element);\n resistances.splice(index, 1);\n tactor.update({ \"data.traits.dr.value\": resistances });\n ChatMessage.create({ content: \"Fire Shield expires on \" + target.name});\n DAE.unsetFlag(tactor, 'FireShield');\n\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Fire Shield","type":"script","scope":"global","command":"// DAE Macro, no arguments passed\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nif (args[0] === \"on\") { \n new Dialog({\n title: \"Warm or Cold Shield\",\n buttons: {\n one: {\n label: \"Warm\",\n callback: async () => {\n let resistances = duplicate(tactor.data.data.traits.dr.value);\n resistances.push(\"cold\");\n await tactor.update({ \"data.traits.dr.value\": resistances });\n await DAE.setFlag(tactor, 'FireShield', \"cold\");\n ChatMessage.create({ content: `${target.name} gains resistnace to cold` });\n await tactor.createEmbeddedDocuments(\"Item\", [{\n \"name\": \"Summoned Fire Shield\",\n \"type\": \"weapon\",\n \"img\": \"systems/dnd5e/icons/spells/protect-red-3.jpg\",\n \"data\": {\n \"source\": \"Fire Shield Spell\",\n \"activation\": {\n \"type\": \"special\",\n \"cost\": 0,\n \"condition\": \"whenever a creature within 5 feet of you hits you with a melee Attack\"\n },\n \"actionType\": \"other\",\n \"damage\": {\n \"parts\": [\n [\n \"2d8\",\n \"fire\"\n ]\n ]\n },\n \"weaponType\": \"natural\"\n },\n \"effects\": []\n }])\n }\n },\n two: {\n label: \"Cold\",\n callback: async () => {\n let resistances = duplicate(tactor.data.data.traits.dr.value);\n resistances.push(\"fire\");\n await tactor.update({ \"data.traits.dr.value\": resistances });\n await DAE.setFlag(tactor, 'FireShield', \"fire\");\n ChatMessage.create({ content: `${target.name} gains resistance to fire` });\n await tactor.createEmbeddedDocuments(\"Item\", [{\n \"name\": \"Summoned Fire Shield\",\n \"type\": \"weapon\",\n \"img\": \"systems/dnd5e/icons/spells/protect-blue-3.jpg\",\n \"data\": {\n \"source\": \"Fire Shield Spell\",\n \"activation\": {\n \"type\": \"special\",\n \"cost\": 0,\n \"condition\": \"whenever a creature within 5 feet of you hits you with a melee Attack\"\n },\n \"actionType\": \"other\",\n \"damage\": {\n \"parts\": [\n [\n \"2d8\",\n \"cold\"\n ]\n ]\n },\n \"weaponType\": \"natural\"\n },\n \"effects\": []\n }])\n }\n },\n }\n }).render(true);\n}\nif (args[0] === \"off\") {\n let item = tactor.items.getName(\"Summoned Fire Shield\")\n let element = DAE.getFlag(tactor, 'FireShield');\n let resistances = tactor.data.data.traits.dr.value;\n const index = resistances.indexOf(element);\n resistances.splice(index, 1);\n await tactor.update({ \"data.traits.dr.value\": resistances });\n ChatMessage.create({ content: \"Fire Shield expires on \" + target.name});\n await DAE.unsetFlag(tactor, 'FireShield');\n await tactor.deleteEmbeddedDocuments(\"Item\", [item.id])\n\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.xedFUGushERJ3TFL"}}} -{"_id":"z5KCsLXSKyh00b2N","name":"Heroes' Feast","type":"spell","img":"systems/dnd5e/icons/spells/heal-royal-3.jpg","data":{"description":{"value":"

You bring forth a great feast, including magnificent food and drink. The feast takes 1 Hour to consume and disappears at the end of that time, and the beneficial Effects don’t set in until this hour is over. Up to twelve creatures can partake of the feast.

\n

A creature that partakes of the feast gains several benefits. The creature is cured of all Diseases and poison, becomes immune to poison and being Frightened, and makes all Wisdom Saving Throws with advantage. Its hit point maximum also increases by 2d10, and it gains the same number of Hit Points. These benefits last for 24 hours.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"minute","cost":10,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":0,"width":null,"units":"","type":""},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["2d10","midi-none"]],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":6,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A gem-encrusted bowl worth at least 1000gp, which the spell consumes","consumed":true,"cost":1000,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"dUhuzikjyBLRoari","flags":{"dae":{"transfer":false,"stackable":false,"specialDuration":[],"macroRepeat":"none"},"ActiveAuras":{"isAura":false,"ignoreSelf":false,"hidden":false,"height":false,"aura":"None","radius":null}},"changes":[{"key":"macro.itemMacro","value":"@damage","mode":0,"priority":0},{"key":"data.traits.di.value","value":"poison","mode":0,"priority":20},{"key":"data.traits.ci.value","value":"frightened","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-royal-3.jpg","label":"Heroes' Feast","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"HeroesFeast @target","mode":"+","targetSpecific":false,"id":1,"itemId":"nWkh3MEfiaxZEuvs","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"itemacro":{"macro":{"_data":{"name":"Heroes' Feast","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nlet amount = args[2]\n/**\n * Update HP and Max HP to roll formula, save result as flag\n */\nif (args[0] === \"on\") {\n let hpMax = tactor.data.data.attributes.hp.max;\n let hp = tactor.data.data.attributes.hp.value;\n await tactor.update({\"data.attributes.hp.max\": (hpMax + amount), \"data.attributes.hp.value\": (hp + amount) });\n ChatMessage.create({content: `${target.name} gains ${amount} Max HP`});\n await DAE.setFlag(tactor, 'HeroesFeast', amount);\n};\n\n// Remove Max Hp and reduce HP to max if needed\nif (args[0] === \"off\") {\n let amountOff = await DAE.getFlag(tactor, 'HeroesFeast');\n let hpMax = tactor.data.data.attributes.hp.max;\n let newHpMax = hpMax - amountOff;\n let hp = tactor.data.data.attributes.hp.value > newHpMax ? newHpMax : tactor.data.data.attributes.hp.value\n await tactor.update({\"data.attributes.hp.max\": newHpMax, \"data.attributes.hp.value\" : hp });\n ChatMessage.create({content: target.name + \"'s Max HP returns to normal\"});\n DAE.unsetFlag(tactor, 'HeroesFeast');\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Heroes' Feast","type":"script","scope":"global","command":"//DAE Macro , Effect Value = @damage\nif(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nlet amount = args[1]\n/**\n * Update HP and Max HP to roll formula, save result as flag\n */\nif (args[0] === \"on\") {\n let hpMax = tactor.data.data.attributes.hp.max;\n let hp = tactor.data.data.attributes.hp.value;\n await tactor.update({\"data.attributes.hp.max\": (hpMax + amount), \"data.attributes.hp.value\": (hp + amount) });\n ChatMessage.create({content: `${target.name} gains ${amount} Max HP`});\n await DAE.setFlag(tactor, 'HeroesFeast', amount);\n};\n\n// Remove Max Hp and reduce HP to max if needed\nif (args[0] === \"off\") {\n let amountOff = await DAE.getFlag(tactor, 'HeroesFeast');\n let hpMax = tactor.data.data.attributes.hp.max;\n let newHpMax = hpMax - amountOff;\n let hp = tactor.data.data.attributes.hp.value > newHpMax ? newHpMax : tactor.data.data.attributes.hp.value\n await tactor.update({\"data.attributes.hp.max\": newHpMax, \"data.attributes.hp.value\" : hp });\n ChatMessage.create({content: target.name + \"'s Max HP returns to normal\"});\n DAE.unsetFlag(tactor, 'HeroesFeast');\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.z5KCsLXSKyh00b2N"}}} +{"_id":"evnATsmepzJABYWr","name":"Mass Suggestion","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-magenta-3.jpg","data":{"description":{"value":"

You suggest a course of activity (limited to a sentence or two) and magically influence up to twelve creatures of your choice that you can see within range and that can hear and understand you. Creatures that can't be charmed are immune to this effect. The suggestion must be worded in such a manner as to make the course of action sound reasonable. Asking the creature to stab itself, throw itself onto a spear, immolate itself, or do some other obviously harmful act automatically negates the effect of the spell.

\n

Each target must make a Wisdom saving throw. On a failed save, it pursues the course of action you described to the best of its ability. The suggested course of action can continue for the entire duration. If the suggested activity can be completed in a shorter time, the spell ends when the subject finishes what it was asked to do.

\n

You can also specify conditions that will trigger a special activity during the duration. For example, you might suggest that a group of soldiers give all their money to the first beggar they meet. If the condition isn't met before the spell ends, the activity isn't performed.

\n

If you or any of your companions damage a creature affected by this spell, the spell ends for that creature.

\n

At Higher Levels. When you cast this spell using a 7th-level spell slot, the duration is 10 days. When you use an 8th-level spell slot, the duration is 30 days. When you use a 9th-level spell slot, the duration is a year and a day.

","chat":"","unidentified":""},"source":"PHB pg. 258","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":12,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":6,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A snake's tongue and either a bit of honeycomb or a drop of sweet oil","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"eoDbKco6VofSiZL0","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":null,"label":"Mass Suggestion","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"lhh79ko51ZPb5A46","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.evnATsmepzJABYWr"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"fmhnn1BxKrI8dFO2","name":"Hold Monster","type":"spell","img":"systems/dnd5e/icons/spells/shielding-fire-2.jpg","data":{"description":{"value":"

Choose a creature that you can see within range. The target must succeed on a Wisdom saving throw or be Paralyzed for the Duration. This spell has no effect on Undead. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target.

\n

At Higher Levels. When you cast this spell using a spell slot of 6th level or higher, you can target one additional creature for each slot level above 5th. The creatures must be within 30 feet of each other when you target them.

","chat":"","unidentified":""},"source":"PHB pg. 251","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":90,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small straight up piece of iron","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"0VPbNXu4jOlA17jD","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Paralyzed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/paralyzed.svg","label":"Paralyzed","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Paralyzed","mode":"+","targetSpecific":false,"id":1,"itemId":"MjXkRhWsByIQcAnB","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.fmhnn1BxKrI8dFO2"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"gJYgQOXFqC1ENXhf","name":"Barkskin","type":"spell","img":"systems/dnd5e/icons/spells/protect-orange-2.jpg","data":{"description":{"value":"

You touch a willing creature. Until the spell ends, the target's skin has a rough, bark-like appearance, and the target's AC can't be less than 16, regardless of what kind of armor it is wearing.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A handful of oak bark","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"553TIeeXTYXI01P3","flags":{},"changes":[{"key":"data.attributes.ac.value","mode":4,"value":"16","priority":"100"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-orange-2.jpg","label":"Barkskin","tint":null,"transfer":false,"selectedKey":"data.attributes.ac.value"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Barkskin @target","mode":"+","targetSpecific":false,"id":1,"itemId":"khqqVjNBG599mBx7","active":true,"_targets":[],"label":"Macro Execute"},{"modSpecKey":"data.attributes.ac.value","value":"16","mode":"=","targetSpecific":false,"id":2,"itemId":"khqqVjNBG599mBx7","active":false,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gJYgQOXFqC1ENXhf"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"gcKao9f4QpXC5rz2","name":"Spiritual Weapon","type":"spell","img":"systems/dnd5e/icons/spells/enchant-magenta-2.jpg","data":{"description":{"value":"

You create a floating, spectral weapon within range that lasts for the duration or until you cast this spell again. When you cast the spell, you can make a melee spell attack against a creature within 5 feet of the weapon. On a hit, the target takes force damage equal to 1d8 + your spellcasting ability modifier.

As a bonus action on your turn, you can move the weapon up to 20 feet and repeat the attack against a creature within 5 feet of it.

The weapon can take whatever form you choose. Clerics of deities who are associated with a particular weapon (as St. Cuthbert is known for his mace and Thor for his hammer) make this spell’s effect resemble that weapon.

Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for every two slot levels above the 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 278","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d8"}},"effects":[{"_id":"atMn9UEVkYDOK1KK","flags":{},"changes":[{"key":"macro.itemMacro","value":"@item.level @attributes.spellcasting","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-magenta-2.jpg","label":"Spiritual Weapon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"data":{"_id":null,"name":"Spiritual Weapon","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.spiritualWeapon(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gcKao9f4QpXC5rz2"}}} +{"_id":"gkehj8Ibf0Hsdmo3","name":"Grease","type":"spell","img":"systems/dnd5e/icons/spells/fog-orange-1.jpg","data":{"description":{"value":"

Slick grease covers the ground in a 10-foot square centered on a point within range and turns it into difficult terrain for the duration.

When the grease appears, each creature standing in its area must succeed on a Dexterity saving throw or fall prone. A creature that enters the area or ends its turn there must also succeed on a Dexterity saving throw or fall prone.

","chat":"","unidentified":""},"source":"PHB pg. 246","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":10,"width":null,"units":"ft","type":"square"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":1,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A bit of pork rind or butter","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"EKeituZxAuKkuZm3","flags":{},"changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Prone","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/prone.svg","label":"Prone","tint":null,"transfer":false,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.gkehj8Ibf0Hsdmo3"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"h7ElRUH4fQA4dY4i","name":"Charm Person","type":"spell","img":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","data":{"description":{"value":"

You attempt to charm a humanoid you can see within range. It must make a Wisdom saving throw, and does so with advantage if you or your companions are fighting it. If it fails the saving throw, it is Charmed by you until the spell ends or until you or your companions do anything harmful to it. The Charmed creature regards you as a friendly acquaintance. When the spell ends, the creature knows it was Charmed by you.

","chat":"","unidentified":""},"source":"PHB pg. 221","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"jMvaC6LI9b9QUxya","changes":[{"key":"StatusEffect","mode":0,"value":"Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/explosion-magenta-2.jpg","label":"Charm Person","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"uPKtziB4BMD9uNh9","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.h7ElRUH4fQA4dY4i"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"k0f3MnbU1JNiijdJ","name":"Beacon of Hope","type":"spell","img":"systems/dnd5e/icons/spells/light-sky-3.jpg","data":{"description":{"value":"

This spell bestows hope and vitality. Choose any number of creatures within range. For the duration, each target has advantage on Wisdom saving throws and death saving throws, and regains the maximum number of hit points possible from any healing.

","chat":"","unidentified":""},"source":"PHB pg. 217","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"any","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"RtkJJbNnHgYVRGhK","flags":{"dae":{}},"changes":[{"key":"flags.midi-qol.advantage.ability.save.wis","value":"1","mode":5,"priority":20},{"key":"flags.midi-qol.advantage.deathSave","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/light-sky-3.jpg","label":"Beacon of Hope","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Midi-collection.MwYM64xGfz3Xkzm6"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"kBzkcCyByTZsnYPD","name":"Eyebite","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-3.jpg","data":{"description":{"value":"

For the spell’s Duration, your eyes become an inky void imbued with dread power. One creature of your choice within 60 feet of you that you can see must succeed on a Wisdom saving throw or be affected by one of the following Effects of your choice for the Duration. On each of your turns until the spell ends, you can use your action to target another creature but can’t target a creature again if it has succeeded on a saving throw against this casting of eyebite.

\n","chat":"","unidentified":""},"source":"PHB pg. 238","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"flat"},"level":6,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"z1vYz44IiLnxCyKe","flags":{},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"0"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/evil-eye-red-3.jpg","label":"Eyebite","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Eyebite @target @attributes.spelldc ","mode":"+","targetSpecific":false,"id":1,"itemId":"XcK0JcIi8L5qpnzF","active":true,"_targets":[],"label":"Macro Execute"}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Eyebite","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.eyebite(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.kBzkcCyByTZsnYPD"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"lWInHCtVOYQ73B03","name":"Greater Invisibility","type":"spell","img":"systems/dnd5e/icons/spells/fog-water-air-3.jpg","data":{"description":{"value":"

You or a creature you touch becomes Invisible until the spell ends. Anything the target is wearing or carrying is Invisible as long as it is on the target’s person.

","chat":"","unidentified":""},"source":"PHB pg. 246","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"XgWMGpftjCREyKXs","flags":{},"changes":[{"key":"macro.itemMacro","value":"@target","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fog-water-air-3.jpg","label":"New Active Effect","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Invisibility @target","mode":"+","targetSpecific":false,"id":1,"itemId":"H4h4NNlgyp0rFmjC","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Greater Invisibility","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.invisibility(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.lWInHCtVOYQ73B03"}}} +{"_id":"mlchtRfAThNRRfX7","name":"Arcane Hand","type":"spell","img":"systems/dnd5e/icons/spells/fireball-eerie-3.jpg","data":{"description":{"value":"

You create a Large hand of shimmering, translucent force in an unoccupied space that you can see within range. The hand lasts for the spell’s Duration, and it moves at your command, mimicking the movements of your own hand.

The hand is an object that has AC 20 and Hit Points equal to your hit point maximum. If it drops to 0 Hit Points, the spell ends. It has a Strength of 26 (+8) and a Dexterity of 10 (+0). The hand doesn’t fill its space.

When you cast the spell and as a Bonus Action on your subsequent turns, you can move the hand up to 60 feet and then cause one of the following Effects with it.

Clenched Fist. The hand strikes one creature or object within 5 feet of it. Make a melee spell Attack for the hand using your game Statistics. On a hit, the target takes 4d8 force damage.

Forceful Hand. The hand attempts to push a creature within 5 feet of it in a direction you choose. Make a check with the hand’s Strength contested by the Strength (Athletics) check of the target. If the target is Medium or smaller, you have advantage on the check. If you succeed, the hand pushes the target up to 5 feet plus a number of feet equal to five times your Spellcasting ability modifier. The hand moves with the target to remain within 5 feet of it.

Grasping Hand. The hand attempts to grapple a Huge or smaller creature within 5 feet of it. You use the hand’s Strength score to resolve the grapple. If the target is Medium or smaller, you have advantage on the check. While the hand is Grappling the target, you can use a Bonus Action to have the hand crush it. When you do so, the target takes bludgeoning damage equal to 2d6 + your Spellcasting ability modifier.

Interposing Hand. The hand interposes itself between you and a creature you choose until you give the hand a different command. The hand moves to stay between you and the target, providing you with half cover against the target. The target can’t move through the hand’s space if its Strength score is less than or equal to the hand’s Strength score. If its Strength score is higher than the hand’s Strength score, the target can move toward you through the hand’s space, but that space is difficult terrain for the target.

At Higher Levels. When you cast this spell using a spell slot of 6th level or higher, the damage from the clenched fist option increases by 2d8 and the damage from the grasping hand increases by 2d6 for each slot level above 5th.

","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"rsak","attackBonus":"0","chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[["4d8","force"]],"versatile":"2d6","value":""},"formula":"1d20+8","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":5,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"An eggshell and a snakeskin glove","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"2d8"}},"effects":[{"_id":"SBMKoIOOyAcDCZf8","changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fireball-eerie-3.jpg","label":"Arcane Hand","transfer":false,"flags":{"core":{"statusId":""},"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.a2KJHCIbY5Mi4Dmn"},"midi-qol":{"criticalThreshold":"20","effectActivation":false}}} +{"_id":"n05KDSrgCZnZfV8U","name":"Bless","type":"spell","img":"systems/dnd5e/icons/spells/haste-sky-1.jpg","data":{"description":{"value":"

You bless up to three creatures of your choice within range. Whenever a target makes an attack roll or a saving throw before the spell ends, the target can roll 1d4 and add the number rolled to the attack roll or saving throw.

\n

Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 219","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":3,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"1d4","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A sprinkling of holy water","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"lsEz6wG7eXIutwZI","flags":{},"changes":[{"key":"data.bonuses.abilities.save","value":"+1d4","mode":2,"priority":20},{"key":"data.bonuses.All-Attacks","value":"+1d4","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/haste-sky-1.jpg","label":"Bless","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.bonuses.abilities.save","value":"1d4","mode":"+","targetSpecific":false,"id":1,"itemId":"hYWYJJbVMe5U7GbQ","active":true,"_targets":[],"label":"Bonuses Abilities Save"},{"modSpecKey":"data.bonuses.All-Attacks","value":"1d4","mode":"+","targetSpecific":false,"id":2,"itemId":"hYWYJJbVMe5U7GbQ","active":true,"_targets":[]}]},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.n05KDSrgCZnZfV8U"}}} +{"_id":"o5KjAeWOCfPjO4pY","name":"Geas","type":"spell","img":"systems/dnd5e/icons/spells/air-burst-air-3.jpg","data":{"description":{"value":"

You place a magical comm⁠and on a creature that you can see within range, forcing it to carry out some service or refrain from some action or course of activity as you decide. If the creature can understand you, it must succeed on a Wisdom saving throw or become Charmed by you for the Duration. While the creature is cha⁠rmed by you, it takes 5d10 psychic damage each time it acts in a manner directly counter to your instructions, but no more than once each day. A creature that can’t understand you is unaffected by the spell.

\n

You can issue any comm⁠and you choose, short of an activity that would result in certain death. Should you issue a suicidal comm⁠and, the spell ends.

\n

You can end the spell early by using an action to dismiss it. A Remove Curse, Greater Restoration, or wish spell also ends it.

\n

At Higher Levels. When you cast this spell using a spell slot of 7th or 8th level, the Duration is 1 year. When you cast this spell using a spell slot of 9th level, the spell lasts until it is ended by one of the Spells mentioned above.

","chat":"","unidentified":""},"source":"PHB pg. 244","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":30,"units":"day"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["5d10","psychic"]],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":5,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"FT5SyqK8MezUX9Hi","changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/air-burst-air-3.jpg","label":"Geas","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"NIAyvC7zWFPPWqA8","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.o5KjAeWOCfPjO4pY"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"ogAv4RCHFRxMkOEh","name":"Create Undead","type":"spell","img":"systems/dnd5e/icons/spells/horror-red-3.jpg","data":{"description":{"value":"

You can cast this spell only at night. Choose up to three corpses of Medium or Small humanoids within range. Each corpse becomes a ghoul under your control. (The DM has game statistics for these creatures.)

As a bonus action on each of your turns, you can mentally command any creature you animated with this spell if the creature is within 120 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete.

The creature is under your control for 24 hours, after which it stops obeying any command you have given it. To maintain control of the creature for another 24 hours, you must cast this spell on the creature before the current 24-hour period ends. This use of the spell reasserts your control over up to three creatures you have animated with this spell, rather than animating new ones.

Higher Levels. When you cast this spell using a 7th-level spell slot, you can animate or reassert control over four ghouls. When you cast this spell using an 8th-level spell slot, you can animate or reassert control over five ghouls or two ghasts or wights. When you cast this spell using a 9th-level spell slot, you can animate or reassert control over six ghouls, three ghasts or wights, or two mummies.

","chat":"","unidentified":""},"source":"PHB pg. 229","activation":{"type":"minute","cost":1,"condition":"You can cast this spell only at night."},"duration":{"value":null,"units":"inst"},"target":{"value":3,"width":null,"units":"spec","type":"creature"},"range":{"value":10,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":6,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"One clay pot filled with grave dirt, one clay pot filled with brackish water, and one 150 gp black onyx stone for each corpse.","consumed":false,"cost":150,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.E4NXux0RHvME1XgP"},"itemacro":{"macro":{"data":{"_id":null,"name":"Create Undead","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.createUndead(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"effectActivation":false,"onUseMacroName":"[postActiveEffects]ItemMacro"}}} +{"_id":"pThYfEUf7rF2NTS0","name":"Faerie Fire","type":"spell","img":"systems/dnd5e/icons/spells/fire-arrows-jade-2.jpg","data":{"description":{"value":"

Each object in a 20-foot cube within range is outlined in blue, green, or violet light (your choice). Any creature in the area when the spell is cast is also outlined in light if it fails a Dexterity saving throw. For the duration, objects and affected creatures shed dim light in a 10-foot radius.

Any attack roll against an affected creature or object has advantage if the attacker can see it, and the affected creature or object can’t benefit from being invisible.

","chat":"","unidentified":""},"source":"PHB pg. 239","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"width":null,"units":"ft","type":"cube"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":1,"school":"evo","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"0hz3Z5o2VSWZFDyA","flags":{"core":{"statusId":""},"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"changes":[{"key":"ATL.light.dim","mode":4,"value":"10","priority":"20"},{"key":"ATL.light.color","mode":2,"value":"#5ab9e2","priority":"20"},{"key":"ATL.light.animation.intensity","mode":2,"value":"0.64","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/fire-arrows-jade-2.jpg","label":"Faerie Fire","tint":null,"transfer":false,"selectedKey":["__","__","__"]}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"itemacro":{"macro":{"_data":{"name":"Faerie Fire","type":"script","scope":"global","command":"const lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nlet target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nif (args[0] === \"on\") {\n\n new Dialog({\n title: `Choose the colour for Faerie Fire on ${target.name}`,\n buttons: {\n one: {\n label: \"Blue\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#5ab9e2\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n },\n two: {\n label: \"Green\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#55d553\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n },\n three: {\n label: \"Purple\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#844ec6\", \"lightAlpha\": 0.64, \"dimLight\": \"10\" })\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let { color, alpha, dimLight } = await DAE.getFlag(target, \"FaerieFire\")\n target.update({ \"lightColor\": color, \"lightAlpha\": alpha, \"dimLight\": dimLight })\n DAE.unsetFlag(tactor, \"FaerieFire\")\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Faerie Fire","type":"script","scope":"global","command":"// DAE macro, just call the macro, nothing else\n// setup the spell as normal\nif (!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nlet target = canvas.tokens.get(lastArg.tokenId)\n\nconst DAEItem = lastArg.efData.flags.dae.itemData\nconst saveData = DAEItem.data.save\n\nif (args[0] === \"on\") {\n\n new Dialog({\n title: `Choose the colour for Faerie Fire on ${target.name}`,\n buttons: {\n one: {\n label: \"Blue\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#5ab9e2\", \"lightAlpha\": 0.64, \"dimLight\": \"10\", \"lightAnimation.intensity\" : 3 })\n }\n },\n two: {\n label: \"Green\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#55d553\", \"lightAlpha\": 0.64, \"dimLight\": \"10\",\"lightAnimation.intensity\" : 3 })\n }\n },\n three: {\n label: \"Purple\",\n callback: async () => {\n let color = target.data.lightColor ? target.data.lightColor : \"\";\n let dimLight = target.data.dimLight ? target.data.dimLight : \"0\"\n await DAE.setFlag(target, 'FaerieFire', {\n color: color,\n alpha: target.data.lightAlpha,\n dimLight: dimLight\n });\n target.update({ \"lightColor\": \"#844ec6\", \"lightAlpha\": 0.64, \"dimLight\": \"10\",\"lightAnimation.intensity\" : 3 })\n }\n }\n }\n }).render(true);\n}\n\nif (args[0] === \"off\") {\n let { color, alpha, dimLight } = await DAE.getFlag(target, \"FaerieFire\")\n target.update({ \"lightColor\": color, \"lightAlpha\": alpha, \"dimLight\": dimLight })\n DAE.unsetFlag(tactor, \"FaerieFire\")\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.pThYfEUf7rF2NTS0"}}} +{"_id":"pp5fv0Avmy0rfsgI","name":"Blindness/Deafness","type":"spell","img":"systems/dnd5e/icons/spells/evil-eye-red-2.jpg","data":{"description":{"value":"

You can blind or deafen a foe. Choose one creature that you can see within range to make a Constitution saving throw. If it fails, the target is either blinded or deafened (your choice) for the duration. At the end of each of its turns, the target can make a Constitution saving throw. On a success, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 219","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"spell"},"level":2,"school":"nec","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"AcxliM1QbpEbJ1zQ","flags":{},"changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"},{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=end, saveDC = @attributes.spelldc, saveAbility=con, savingThrow=true","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":null,"label":"Blindness/Deafness","tint":null,"transfer":false,"selectedKey":["macro.itemMacro","StatusEffect"]}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"\"BlindDeaf\" @target","mode":"+","targetSpecific":false,"id":1,"itemId":"YzSbwD21Q0oxKmEU","active":true,"_targets":[]}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Blindness/Deafness","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.blindness(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.pp5fv0Avmy0rfsgI"}}} +{"_id":"q21H6yLUoJbCnUeQ","name":"Giant Insect","type":"spell","img":"systems/dnd5e/icons/spells/leaf-orange-2.jpg","data":{"description":{"value":"

You transform up to ten centipedes, three spiders, five wasps, or one Scorpion within range into giant versions of their natural forms for the Duration. A centipede becomes a Giant Centipede, a Spider becomes a Giant Spider, a wasp becomes a Giant Wasp, and a Scorpion becomes a Giant Scorpion.

Each creature obeys your verbal commands, and in Combat, they act on Your Turn each round. The DM has the Statistics for these creatures and resolves their Actions and Movement.

A creature remains in its giant size for the Duration, until it drops to 0 Hit Points, or until you use an action to dismiss the effect on it.

The DM might allow you to choose different Targets. For example, if you transform a bee, its giant version might have the same Statistics as a Giant Wasp.

","chat":"","unidentified":""},"source":"PHB pg. 245","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"WJfCbkDuQxc72gzw","changes":[{"key":"macro.itemMacro","mode":0,"value":"","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/leaf-orange-2.jpg","label":"Giant Insect","transfer":false,"flags":{"core":{"statusId":""},"dae":{"stackable":"none","macroRepeat":"none","specialDuration":[],"transfer":false}},"tint":null,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.czXrVRx6XYRWsHAi"},"itemacro":{"macro":{"data":{"_id":null,"name":"Giant Insect","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.giantInsect(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"effectActivation":false,"onUseMacroName":""}}} +{"_id":"qHWBKyQxm3CTm2yS","name":"Phantasmal Killer","type":"spell","img":"systems/dnd5e/icons/spells/horror-eerie-3.jpg","data":{"description":{"value":"

You tap into the nightmares of a creature you can see within range and create an illusory manifestation of its deepest fears, visible only to that creature. The target must make a Wisdom saving throw. On a failed save, the target becomes Frightened for the Duration. At the end of each of the target’s turns before the spell ends, the target must succeed on a Wisdo⁠m saving throw or take 4d10 psychic damage. On a successful save, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d10 for each slot level above 4th.

","chat":"","unidentified":""},"source":"PHB pg. 265","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":120,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["4d10","psychic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":4,"school":"ill","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d10"}},"effects":[{"_id":"ZWOKGvc3niryANBh","changes":[{"key":"flags.midi-qol.OverTime","mode":2,"value":"turn=start, saveAbility=wis, saveDC=@attributes.spelldc, saveMagic=true, damageRoll=(@item.level)d10, damageType=psychic, savingThrow=true, damageBeforeSave=false","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/horror-eerie-3.jpg","label":"Phantasmal Killer","transfer":false,"flags":{},"tint":null,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Frightened","mode":"+","targetSpecific":false,"id":1,"itemId":"UWXxnmoLDNjm4DTU","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.qHWBKyQxm3CTm2yS"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"qRR5SUtZm1wYRexS","name":"Longstrider","type":"spell","img":"systems/dnd5e/icons/spells/wind-sky-1.jpg","data":{"description":{"value":"

You touch a creature. The target's speed increases by 10 feet until the spell ends.

","chat":"","unidentified":""},"source":"PHB pg. 256","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A pinch of dirt","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"KX061GBZGEC1RRji","flags":{"dae":{}},"changes":[{"key":"data.attributes.movement.walk","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.fly","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.burrow","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.climb","value":"10","mode":2,"priority":20},{"key":"data.attributes.movement.swim","value":"10","mode":2,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/wind-sky-1.jpg","label":"Longstrider","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Longstrider @target","mode":"+","targetSpecific":false,"id":1,"itemId":"YQuzJthgy3cQd9Ow","active":true,"_targets":[],"label":"Macro Execute"}]},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.oo8xSLPoRhzHdZlg"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"qzrkXRCpNVc4Ghye","name":"Find Steed","type":"spell","img":"systems/dnd5e/icons/spells/wild-jade-2.jpg","data":{"description":{"value":"

You summon a spirit that assumes the form of an unusually intelligent, strong, and loyal steed, creating a long-lasting bond with it. Appearing in an unoccupied space within range, the steed takes on a form that you choose, such as a warhorse, a pony, a camel, an elk, or a mastiff. (Your DM might allow other animals to be summoned as steeds.) The steed has the statistics of the chosen form, though it is a celestial, fey, or fiend (your choice) instead of its normal type. Additionally, if your steed has an Intelligence of 5 or less, its Intelligence becomes 6, and it gains the ability to understand one language of your choice that you speak.

Your steed serves you as a mount, both in combat and out, and you have an instinctive bond with it that allows you to fight as a seamless unit. While mounted on your steed, you can make any spell you cast that targets only you also target your steed.

When the steed drops to 0 hit points, it disappears, leaving behind no physical form. You can also dismiss your steed at any time as an action, causing it to disappear. In either case, casting this spell again summons the same steed, restored to its hit point maximum.

While your steed is within 1 mile of you, you can communicate with it telepathically.

You can't have more than one steed bonded by this spell at a time. As an action, you can release the steed from its bond at any time, causing it to disappear.

","chat":"","unidentified":""},"source":"","activation":{"type":"minute","cost":10,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":null,"width":null,"units":"any","type":"space"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":2,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.5eh2HFbS13078Y3H"},"itemacro":{"macro":{"data":{"_id":null,"name":"Find Steed","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.findSteed(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"effectActivation":false,"onUseMacroName":"[postActiveEffects]ItemMacro"}}} +{"_id":"r70LzHV9qDX55KwA","name":"Moonbeam","type":"spell","img":"systems/dnd5e/icons/spells/beam-blue-3.jpg","data":{"description":{"value":"

A silvery beam of pale light shines down in a 5-foot-radius, 40-foot-high Cylinder centered on a point within range. Until the spell ends, dim light fills the cylind⁠er.

When a creature enters the spell’s area for the first time on a turn or starts its turn there, it is engulfed in ghostly flames that cause searing pain, and it must make a Constitution saving throw. It takes 2d10 radiant damage on a failed save, or half as much damage on a successful one.

A Shapechanger makes its saving throw with disadvantage. If it fails, it also instantly reverts to its original form and can’t assume a different form until it leaves the spell’s light.

On each of your turns after you cast this spell, you can use an action to move the beam up to 60 feet in any direction.

At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd.

","chat":"","unidentified":""},"source":"PHB pg. 261","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"level":2,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"Several seeds of any moonseed plant and a piece of opalescent feldspar","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"kQG5Br84cCacfPAd","flags":{},"changes":[{"key":"macro.itemMacro","value":"@attributes.spelldc","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/beam-blue-3.jpg","label":"Moonbeam Summon","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.p7qDbkiwGTZYC3EG"},"itemacro":{"macro":{"data":{"_id":null,"name":"Moonbeam","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.moonbeam(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"rBsAQPR1WatxCs0y","name":"Animal Friendship","type":"spell","img":"systems/dnd5e/icons/spells/wild-jade-2.jpg","data":{"description":{"value":"

This spell lets you convince a beast that you mean it no harm. Choose a beast that you can see within range. It must see and hear you. If the beast's Intelligence is 4 or higher, the spell fails. Otherwise, the beast must succeed on a Wisdom saving throw or be charmed by you for the spell's duration. If you or one of your companions harms the target, the spell ends.

\n

At Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional beast for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 212","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A morsel of food.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"DesfGqDm53kqOTtp","flags":{},"changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Charmed","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/charmed.svg","label":"Charmed","tint":null,"transfer":false,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"q3Nvmbb9hZeJDUkU","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.rBsAQPR1WatxCs0y"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"rVDuKDZ3YdWiWKRr","name":"Web","type":"spell","img":"systems/dnd5e/icons/spells/shielding-spirit-3.jpg","data":{"description":{"value":"

You conjure a mass of thick, sticky webbing at a point of your choice within range. The webs fill a 20-foot cube from that point for the Duration. The webs are difficult terrain and lightly obscure their area.

\n

If the webs aren’t anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the conjured web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.

\n

Each creature that starts its turn in the webs or that enters them during its turn must make a Dexterity saving throw. On a failed save, the creature is Restrained as long as it remains in the webs or until it breaks free.

\n

A creature Restrained by the webs can use its action to make a Strength check against your spell save DC. If it succeeds, it is no longer Restrained.

\n

The webs are flammable. Any 5-foot cube of webs exposed to fire burns away in 1 round, dealing 2d4 fire damage to any creature that starts its turn in the fire.

","chat":"","unidentified":""},"source":"PHB pg. 287","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":20,"width":null,"units":"ft","type":"cube"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["2d4","fire"]],"versatile":"","value":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"spell"},"level":2,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A bit of spiderweb","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"1s049vONn2VyCOvH","flags":{},"changes":[{"key":"StatusEffect","mode":0,"value":"Convenient Effect: Restrained","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"modules/dfreds-convenient-effects/images/restrained.svg","label":"Restrained","tint":null,"transfer":false,"selectedKey":"StatusEffect"}],"folder":null,"sort":0,"permission":{"default":0,"E4BVikjIkVl2lL2j":3},"flags":{"midi-qol":{"onUseMacroName":"","effectActivation":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.rVDuKDZ3YdWiWKRr"}}} +{"_id":"sjPOgiboGD1Aizfy","name":"Shield of Faith","type":"spell","img":"systems/dnd5e/icons/spells/protect-sky-2.jpg","data":{"description":{"value":"

A shimmering field appears and surrounds a creature of your choice within range, granting it a +2 bonus to AC for the duration.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":60,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"abj","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":true},"materials":{"value":"A small parchment with a bit of holy text written on it.","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"GGw83YdWNiJ94ubi","flags":{},"changes":[{"key":"data.attributes.ac.bonus","mode":2,"value":"+2","priority":"20"}],"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-sky-2.jpg","label":"Shield of Faith","transfer":false,"disabled":false,"tint":null,"selectedKey":"data.attributes.ac.bonus"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.attributes.ac.value","value":"2","mode":"+","targetSpecific":false,"id":1,"itemId":"Vd17BhyN4J8OQljO","active":true,"_targets":[]}]},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.sjPOgiboGD1Aizfy"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"tXGSv5RKLjC3f3mW","name":"True Strike","type":"spell","img":"systems/dnd5e/icons/spells/enchant-sky-1.jpg","data":{"description":{"value":"

You extend your hand and point a finger at a target in range. Your magic grants you a brief insight⁠ into the target’s defenses. On your next turn, you gain advantage on your first attack⁠ roll against the target, provided that this spell hasn’t ended.

","chat":"","unidentified":""},"source":"PHB pg. 284","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"div","components":{"value":"","vocal":false,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"780yFebseo6lzDq5","flags":{"dae":{}},"changes":[{"key":"flags.midi-qol.advantage.attack.all","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-sky-1.jpg","label":"True Strike","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"zrPR3wueYsESSBR3":3},"flags":{"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"dae":{"activeEquipped":false,"alwaysActive":false},"core":{"sourceId":"Item.ddJkplL7yUWHJUZl"}}} +{"_id":"viIsBmDscOJ7Niel","name":"Irresistible Dance","type":"spell","img":"systems/dnd5e/icons/spells/link-blue-2.jpg","data":{"description":{"value":"

Choose one creature that you can see within range. The target begins a comic dance in place: shuffling, tapping its feet, and capering for the duration. Creatures that can't be charmed are immune to this spell.

\n

A dancing creature must use all its movement to dance without leaving its space and has disadvantage on Dexterity saving throws and attack rolls. While the target is affected by this spell, other creatures have advantage on attack rolls against it. As an action, a dancing creature makes a Wisdom saving throw to regain control of itself. On a successful save, the spell ends.

","chat":"","unidentified":""},"source":"PGB pg. 264","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"spell"},"level":6,"school":"enc","components":{"value":"","vocal":true,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"3mNPKbwjiaapU9XI","flags":{"dae":{"macroRepeat":"startEveryTurn"}},"changes":[{"key":"macro.itemMacro","mode":0,"value":"@attributes.spelldc","priority":"20"}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/link-blue-2.jpg","label":"Irresistible Dance","tint":null,"transfer":false,"selectedKey":"macro.itemMacro"}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"flags.dnd5e.conditions","value":"Charmed","mode":"+","targetSpecific":false,"id":1,"itemId":"U5jQJ2Ry565NS8BY","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"itemacro":{"macro":{"data":{"_id":null,"name":"Irresistible Dance","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.dance(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.viIsBmDscOJ7Niel"},"midi-qol":{"onUseMacroName":"","effectActivation":false}}} +{"_id":"vtUhpbyJYzB2J9ok","name":"Shillelagh","type":"spell","img":"systems/dnd5e/icons/spells/enchant-jade-1.jpg","data":{"description":{"value":"

The wood of a club or quarterstaff you are holding is imbued with nature's power. For the duration, you can use your spellcasting ability instead of Strength for the attack and damage rolls of melee attacks using that weapon, and the weapon's damage die becomes a d8. The weapon also becomes magical, if it isn't already. The spell ends if you cast it again or if you let go of the weapon.

","chat":"","unidentified":""},"source":"PHB pg. 275","activation":{"type":"bonus","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"spec","type":"object"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":0,"school":"trs","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A shamrock leaf, and a club or quarterstaff","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"x3I3PP0wLDynd8JN","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/enchant-jade-1.jpg","label":"Shillelagh","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"Shillelagh @target","mode":"+","targetSpecific":false,"id":1,"itemId":"HgYH1Eb3LQ19tsjJ","active":true,"_targets":[],"label":"Macro Execute"}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Shillelagh","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.shillelagh(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.vtUhpbyJYzB2J9ok"},"midi-qol":{"onUseMacroName":""}}} +{"_id":"xQCOkFF4jxak2lvQ","name":"Heroism","type":"spell","img":"systems/dnd5e/icons/spells/heal-sky-2.jpg","data":{"description":{"value":"

A willing creature you touch is imbued with bravery. Until the spell ends, the creature is immune to being Frightened and gains Temporary Hit Points equal to your Spellcasting ability modifier at the start of each of its turns. When the spell ends, the target loses any remaining tempora⁠ry hit point⁠s from this spell.

\n

At Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"width":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["@mod","midi-none"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":1,"school":"enc","components":{"value":"","vocal":true,"somatic":true,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[{"_id":"ofPxOG62bxg60zIO","flags":{"dae":{"macroRepeat":"startEveryTurn"}},"changes":[{"key":"macro.itemMacro","value":"@damage","mode":0,"priority":0},{"key":"data.traits.ci.value","value":"frightened","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-sky-2.jpg","label":"Heroism","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"NQHxXfbiVgh4JBIs":3},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"macro.execute","value":"\"Heroism\" @target @abilities.wis.mod","mode":"+","targetSpecific":false,"id":1,"itemId":"MZri1qA9dTyQqtvt","active":true,"_targets":[]}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":false},"betterRolls5e":{"critRange":{"type":"String","value":null},"critDamage":{"type":"String","value":""},"quickDesc":{"type":"Boolean","value":true,"altValue":true},"quickAttack":{"type":"Boolean","value":true,"altValue":true},"quickSave":{"type":"Boolean","value":true,"altValue":true},"quickDamage":{"type":"Array","value":{"0":true},"altValue":{"0":true},"context":[]},"quickVersatile":{"type":"Boolean","value":false,"altValue":false},"quickProperties":{"type":"Boolean","value":true,"altValue":true},"quickCharges":{"type":"Boolean","value":{"use":false,"resource":false},"altValue":{"use":false,"resource":false}},"quickTemplate":{"type":"Boolean","value":true,"altValue":true},"quickOther":{"type":"Boolean","value":true,"altValue":true,"context":""},"quickFlavor":{"type":"Boolean","value":true,"altValue":true},"quickPrompt":{"type":"Boolean","value":false,"altValue":false}},"core":{"sourceId":"Item.bbN0qAtGlt1VZNJl"},"midi-qol":{"onUseMacroName":"","forceCEOn":false,"effectActivation":false},"itemacro":{"macro":{"_data":{"name":"Heroism","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" t @damage (apply @mod damge of none type)\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet mod = args[1];\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `Heroism is applied to ${tactor.name}` })\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: \"Heroism ends\" });\n}\nif(args[0] === \"each\"){\nlet bonus = mod > tactor.data.data.attributes.hp.temp ? mod : tactor.data.data.attributes.hp.temp\n tactor.update({ \"data.attributes.hp.temp\": mod });\n ChatMessage.create({ content: \"Heroism continues on \" + tactor.name })\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Heroism","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" t @damage (apply @mod damge of none type)\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\nlet mod = args[1];\n\nif (args[0] === \"on\") {\n ChatMessage.create({ content: `Heroism is applied to ${tactor.name}` })\n}\nif (args[0] === \"off\") {\n ChatMessage.create({ content: \"Heroism ends\" });\n}\nif(args[0] === \"each\"){\nlet bonus = mod > tactor.data.data.attributes.hp.temp ? mod : tactor.data.data.attributes.hp.temp\n tactor.update({ \"data.attributes.hp.temp\": mod });\n ChatMessage.create({ content: \"Heroism continues on \" + tactor.name })\n}","author":"E4BVikjIkVl2lL2j"},"options":{},"apps":{},"compendium":null}},"mess":{"templateTexture":""}}} +{"_id":"xedFUGushERJ3TFL","name":"Fire Shield","type":"spell","img":"systems/dnd5e/icons/spells/protect-red-3.jpg","data":{"description":{"value":"

Thin and wispy flames wreathe your body for the Duration, shedding bright light in a 10-foot radius and dim light for an additional 10 feet. You can end the spell early by using an action to dismiss it.

\n

The flames provide you with a warm shi⁠eld or a chill sh⁠ield, as you choose. The warm shi⁠eld grants you Resistance to cold damage, and the chill shi⁠eld grants you resist⁠ance to fire damage.

\n

In addition, whenever a creature within 5 feet of you hits you with a melee Attack, the shiel⁠d erupts with flame. The attacker takes 2d8 fire damage from a warm shie⁠ld, or 2d8 cold damage from a cold sh⁠ield.

","chat":"","unidentified":""},"source":"PHB pg. 242","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"width":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[],"versatile":""},"formula":"2d8","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":4,"school":"evo","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A bit of phosphorus or a firefly","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"AKvaMvKe2qN5j8zf","flags":{},"changes":[{"key":"macro.itemMacro","value":"","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/protect-red-3.jpg","label":"Fire Shield","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"FireShield @target","mode":"+","targetSpecific":false,"id":1,"itemId":"QTP4gLcjbhZ2khVy","active":true,"_targets":[]}]},"itemacro":{"macro":{"data":{"_id":null,"name":"Fire Shield","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.fireShield(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"onUseMacroName":"","effectActivation":false,"forceCEOn":false},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.xedFUGushERJ3TFL"}}} +{"_id":"z5KCsLXSKyh00b2N","name":"Heroes' Feast","type":"spell","img":"systems/dnd5e/icons/spells/heal-royal-3.jpg","data":{"description":{"value":"

You bring forth a great feast, including magnificent food and drink. The feast takes 1 Hour to consume and disappears at the end of that time, and the beneficial Effects don’t set in until this hour is over. Up to twelve creatures can partake of the feast.

\n

A creature that partakes of the feast gains several benefits. The creature is cured of all Diseases and poison, becomes immune to poison and being Frightened, and makes all Wisdom Saving Throws with advantage. Its hit point maximum also increases by 2d10, and it gains the same number of Hit Points. These benefits last for 24 hours.

","chat":"","unidentified":""},"source":"PHB pg. 250","activation":{"type":"minute","cost":10,"condition":""},"duration":{"value":24,"units":"hour"},"target":{"value":0,"width":null,"units":"","type":""},"range":{"value":30,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":null},"damage":{"parts":[["2d10","midi-none"]],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":6,"school":"con","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A gem-encrusted bowl worth at least 1000gp, which the spell consumes","consumed":true,"cost":1000,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"effects":[{"_id":"dUhuzikjyBLRoari","flags":{},"changes":[{"key":"macro.itemMacro","value":"@damage","mode":0,"priority":0},{"key":"data.traits.di.value","value":"poison","mode":0,"priority":20},{"key":"data.traits.ci.value","value":"frightened","mode":0,"priority":20}],"disabled":false,"duration":{"startTime":null},"icon":"systems/dnd5e/icons/spells/heal-royal-3.jpg","label":"Heroes' Feast","tint":null,"transfer":false}],"folder":null,"sort":0,"permission":{"default":0,"gSvPH9u5wzkE1oU1":3},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[{"modSpecKey":"macro.execute","value":"HeroesFeast @target","mode":"+","targetSpecific":false,"id":1,"itemId":"nWkh3MEfiaxZEuvs","active":true,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":false},"midi-qol":{"onUseMacroName":""},"itemacro":{"macro":{"_data":{"name":"Heroes' Feast","type":"script","scope":"global","command":"//DAE Macro Execute, Effect Value = \"Macro Name\" @target \n\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nlet amount = args[2]\n/**\n * Update HP and Max HP to roll formula, save result as flag\n */\nif (args[0] === \"on\") {\n let hpMax = tactor.data.data.attributes.hp.max;\n let hp = tactor.data.data.attributes.hp.value;\n await tactor.update({\"data.attributes.hp.max\": (hpMax + amount), \"data.attributes.hp.value\": (hp + amount) });\n ChatMessage.create({content: `${target.name} gains ${amount} Max HP`});\n await DAE.setFlag(tactor, 'HeroesFeast', amount);\n};\n\n// Remove Max Hp and reduce HP to max if needed\nif (args[0] === \"off\") {\n let amountOff = await DAE.getFlag(tactor, 'HeroesFeast');\n let hpMax = tactor.data.data.attributes.hp.max;\n let newHpMax = hpMax - amountOff;\n let hp = tactor.data.data.attributes.hp.value > newHpMax ? newHpMax : tactor.data.data.attributes.hp.value\n await tactor.update({\"data.attributes.hp.max\": newHpMax, \"data.attributes.hp.value\" : hp });\n ChatMessage.create({content: target.name + \"'s Max HP returns to normal\"});\n DAE.unsetFlag(tactor, 'HeroesFeast');\n}","author":"E4BVikjIkVl2lL2j"},"data":{"name":"Heroes' Feast","type":"script","scope":"global","command":"//DAE Macro , Effect Value = @damage\nif(!game.modules.get(\"advanced-macros\")?.active) {ui.notifications.error(\"Please enable the Advanced Macros module\") ;return;}\n\n\nconst lastArg = args[args.length - 1];\nlet tactor;\nif (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;\nelse tactor = game.actors.get(lastArg.actorId);\nconst target = canvas.tokens.get(lastArg.tokenId)\n\n\nlet amount = args[1]\n/**\n * Update HP and Max HP to roll formula, save result as flag\n */\nif (args[0] === \"on\") {\n let hpMax = tactor.data.data.attributes.hp.max;\n let hp = tactor.data.data.attributes.hp.value;\n await tactor.update({\"data.attributes.hp.max\": (hpMax + amount), \"data.attributes.hp.value\": (hp + amount) });\n ChatMessage.create({content: `${target.name} gains ${amount} Max HP`});\n await DAE.setFlag(tactor, 'HeroesFeast', amount);\n};\n\n// Remove Max Hp and reduce HP to max if needed\nif (args[0] === \"off\") {\n let amountOff = await DAE.getFlag(tactor, 'HeroesFeast');\n let hpMax = tactor.data.data.attributes.hp.max;\n let newHpMax = hpMax - amountOff;\n let hp = tactor.data.data.attributes.hp.value > newHpMax ? newHpMax : tactor.data.data.attributes.hp.value\n await tactor.update({\"data.attributes.hp.max\": newHpMax, \"data.attributes.hp.value\" : hp });\n ChatMessage.create({content: target.name + \"'s Max HP returns to normal\"});\n DAE.unsetFlag(tactor, 'HeroesFeast');\n}","author":"zrPR3wueYsESSBR3","_id":null,"img":"icons/svg/dice-target.svg","folder":null,"sort":0,"permission":{"default":0},"flags":{}},"options":{},"apps":{},"compendium":null}},"core":{"sourceId":"Compendium.Dynamic-Effects-SRD.DAE SRD Spells.z5KCsLXSKyh00b2N"}}} +{"_id":"z6ps2IO9lqyLdl6D","name":"Animate Dead","type":"spell","img":"systems/dnd5e/icons/spells/horror-red-2.jpg","data":{"description":{"value":"

This spell creates an undead servant. Choose a pile of bones or a corpse of a Medium or Small humanoid within range. Your spell imbues the target with a foul mimicry of life, raising it as an undead creature. The target becomes a skeleton if you chose bones or a zombie if you chose a corpse (the DM has the creature's game statistics).

On each of your turns, you can use a bonus action to mentally command any creature you made with this spell if the creature is within 60 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete.

The creature is under your control for 24 hours, after which it stops obeying any command you've given it. To maintain control of the creature for another 24 hours, you must cast this spell on the creature again before the current 24-hour period ends. This use of the spell reasserts your control over up to four creatures you have animated with this spell, rather than animating a new one.

At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, you animate or reassert control over two additional undead creatures for each slot level above 3rd. Each of the creatures must come from a different corpse or pile of bones.

","chat":"","unidentified":""},"source":"PHB pg. 212","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"width":null,"units":"","type":"object"},"range":{"value":10,"long":0,"units":"ft"},"uses":{"value":0,"max":"0","per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"util","attackBonus":0,"chatFlavor":"","critical":{"threshold":null,"damage":""},"damage":{"parts":[],"versatile":"","value":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell","value":""},"level":3,"school":"nec","components":{"value":"","vocal":true,"somatic":true,"material":true,"ritual":false,"concentration":false},"materials":{"value":"A drop of blood, a piece of flesh, and a pinch of bone dust","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":""}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Jwooh1sMQvmhHrUO":3},"flags":{"core":{"sourceId":"Compendium.dnd5e.spells.oyE5nVppa5mde5gT"},"itemacro":{"macro":{"data":{"_id":null,"name":"Animate Dead","type":"script","author":"Jwooh1sMQvmhHrUO","img":"icons/svg/dice-target.svg","scope":"global","command":"MidiMacros.animateDead(args)","folder":null,"sort":0,"permission":{"default":0},"flags":{}}}},"midi-qol":{"effectActivation":false,"onUseMacroName":"[postActiveEffects]ItemMacro"}}}