added _some_ chants, restructuring data from spells
This commit is contained in:
50
functions/getChant.js
Normal file
50
functions/getChant.js
Normal file
@ -0,0 +1,50 @@
|
||||
const { getAttributeLevels } = require('@dsabot/getAttributeLevels');
|
||||
|
||||
//JSON.parse(require('fs').readFileSync('../data/Spells.json'))
|
||||
const Chants = require('../data/Chants');
|
||||
|
||||
/* definition of attributes in chant database
|
||||
|
||||
{
|
||||
id: 'adlerauge', // the id of the chant inside characters database.
|
||||
name: 'Adlerauge', // the well-known name of the chant.
|
||||
attributes: [ 'KL', 'IN', 'FF' ], // needed attribute checks when casting the chant
|
||||
chantduration: 2, // the player needs this many actions to cast the chant.
|
||||
modified_by: [], // the chant is modified by this character's attribute
|
||||
cost: null, // how many units does the chant cost? (when activated)
|
||||
cost_type: 'asp', // what kind of points does the character need?
|
||||
// AsP = Astral Points, KaP = Karmal Points
|
||||
effect: '', // What is the desired effect of this chant?
|
||||
effectduration: '' // How long does the effect last?
|
||||
talent: null //
|
||||
},
|
||||
|
||||
*/
|
||||
|
||||
const getChant = ({ Character: Character = [], chant_name: chant_name = '' } = {}) => {
|
||||
let chant_entry =
|
||||
Chants.find(chant => chant.id.toLowerCase() === chant_name.toLowerCase()) ||
|
||||
Chants.find(chant => chant.name.toLowerCase() === chant_name.toLowerCase());
|
||||
|
||||
if (!chant_entry) {
|
||||
console.log(`getchant did not find entry for ${chant_name}`);
|
||||
return;
|
||||
}
|
||||
|
||||
let Level = 0; // This is the minimum attributes value.
|
||||
let Chant = Character.chants.find(chant => chant.id === chant_entry.id) || {};
|
||||
if (Chant) {
|
||||
Level = Chant.level || 0;
|
||||
}
|
||||
let Name = Chant.name;
|
||||
//let ModifiedBy = Chant.modified_by;
|
||||
let Attributes = getAttributeLevels(chant_entry.attributes, Character);
|
||||
|
||||
return {
|
||||
Name: Name,
|
||||
Level: Level,
|
||||
Attributes: Attributes,
|
||||
//ModifiedBy: ModifiedBy,
|
||||
};
|
||||
};
|
||||
module.exports = { getChant };
|
Reference in New Issue
Block a user