hyperborea-character-sheet/src/maxSpells.cjs

31 lines
856 B
JavaScript

const _ = require("lodash");
const resolvePointer = require('./resolvePointer.cjs');
module.exports = (ajv) =>
ajv.addKeyword({
keyword: "maxSpells",
validate: function validate(
schema,
data,
_parent,
{ rootData, instancePath }
) {
if (schema.class.$data) {
schema.class = resolvePointer(rootData, instancePath, schema.class.$data);
}
if( schema.class !== 'magician' && schema.class?.generic !== 'magician' && data.length ) {
validate.errors = [
{
message: "non-magician can't have spells",
},
];
return false;
}
return true;
},
$data: true,
errors: true,
});