let spells = await warhammer.utility.findAllItems("spell", "Loading Spells")

let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text
this.script.scriptNotification(lore)
if (lore == "GM's Choice") {
   return
}

else if (lore == "Arcane Magic") {
    lore = "Arcane"
}

else if (lore == "Petty Magic") {
    lore = "petty"
}

else {
    lore = lore.toLowerCase();
}

let spellsWithLore = []
if (lore == "Arcane") {
    spellsWithLore = spells.filter(i => !i.system.lore.value)
}
else {
    spellsWithLore = spells.filter(i => i.system.lore.value == lore)
}

let selectedSpell = spellsWithLore[Math.floor(CONFIG.Dice.randomUniform() * spellsWithLore.length)]
Item.implementation.create(selectedSpell.toObject(), { parent: this.actor}).then(item => {
    this.actor.setupCast(item).then(test => test.roll());
})