Add Skillchecks for Magical Talents (#25)
* initial implementation of spells * added return list of spells. Moved them into seperate json * added _some_ chants, restructuring data from spells * added more chants, added command for getting info * added related messages, added skillcheck for spells (cast) * better error handling, added chant command * (fix) Chants were referring to spells * cleanup testing variables and code * updated README * fixed storage location issues and minor bugs * removed db storage location * rc1 * (fix) chants_title * (fix) Uncaught ReferenceError: Discord is not defined * (fix) more reference errors Co-authored-by: Marcus Netz <marcus.netz@godyo.com>
This commit is contained in:
30
functions/getSpell.js
Normal file
30
functions/getSpell.js
Normal file
@ -0,0 +1,30 @@
|
||||
const { getAttributeLevels } = require('@dsabot/getAttributeLevels');
|
||||
const Spells = require('@Lib/Spells.json');
|
||||
|
||||
const getSpell = ({ Character: Character = [], spell_name: spell_name = '' } = {}) => {
|
||||
const spell_entry =
|
||||
Spells.find(spell => spell.id.toLowerCase() === spell_name.toLowerCase()) ||
|
||||
Spells.find(spell => spell.name.toLowerCase() === spell_name.toLowerCase());
|
||||
|
||||
if (!spell_entry) {
|
||||
console.log(`getSpell() did not find entry for ${spell_name}`);
|
||||
return;
|
||||
}
|
||||
|
||||
let Level = 0; // This is the minimum attributes value.
|
||||
if (!Character.hasOwnProperty('spells')) return;
|
||||
let Spell = Character.spells.find(spell => spell.id === spell_entry.id) || {}; //?+
|
||||
if (Spell && Spell.hasOwnProperty('level')) {
|
||||
Level = Spell.level || 0;
|
||||
}
|
||||
let ModifiedBy = spell_entry.modified_by;
|
||||
let Attributes = getAttributeLevels(spell_entry.attributes, Character);
|
||||
|
||||
return {
|
||||
Name: spell_entry.name,
|
||||
Level: Level,
|
||||
Attributes: Attributes,
|
||||
ModifiedBy: ModifiedBy,
|
||||
};
|
||||
};
|
||||
module.exports = { getSpell };
|
Reference in New Issue
Block a user