38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
SpellLists = new Mongo.Collection("spellLists");
|
|
|
|
Schemas.SpellLists = new SimpleSchema({
|
|
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
|
|
name: {type: String, trim: false},
|
|
description: {type: String, optional: true, trim: false},
|
|
saveDC: {type: String, optional: true, trim: false},
|
|
attackBonus: {type: String, optional: true, trim: false},
|
|
maxPrepared: {type: String, optional: true, trim: false},
|
|
color: {
|
|
type: String,
|
|
allowedValues: _.pluck(colorOptions, "key"),
|
|
defaultValue: "q",
|
|
},
|
|
"settings.showUnprepared": {type: Boolean, defaultValue: true},
|
|
});
|
|
|
|
SpellLists.attachSchema(Schemas.SpellLists);
|
|
|
|
SpellLists.helpers({
|
|
numPrepared: function(){
|
|
var num = 0;
|
|
Spells.find(
|
|
{charId: this.charId, listId: this._id, prepared: 1},
|
|
{fields: {prepareCost: 1}}
|
|
).forEach(function(spell){
|
|
num += spell.prepareCost;
|
|
});
|
|
return num;
|
|
}
|
|
});
|
|
|
|
SpellLists.attachBehaviour("softRemovable");
|
|
makeParent(SpellLists); //parents of spells
|
|
|
|
SpellLists.allow(CHARACTER_SUBSCHEMA_ALLOW);
|
|
SpellLists.deny(CHARACTER_SUBSCHEMA_DENY);
|