32 lines
841 B
JavaScript
32 lines
841 B
JavaScript
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());
|
|
}) |