69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
Spells = new Mongo.Collection("spells");
|
|
|
|
Schemas.Spell = new SimpleSchema({
|
|
charId: {type: String, regEx: SimpleSchema.RegEx.Id},
|
|
prepared: {
|
|
type: String,
|
|
defaultValue: "prepared",
|
|
allowedValues: ["prepared", "unprepared", "always"],
|
|
},
|
|
name: {
|
|
type: String,
|
|
trim: false,
|
|
defaultValue: "New Spell",
|
|
},
|
|
description: {
|
|
type: String,
|
|
optional: true,
|
|
trim: false,
|
|
},
|
|
castingTime: {
|
|
type: String,
|
|
optional: true,
|
|
defaultValue: "action",
|
|
trim: false,
|
|
},
|
|
range: {
|
|
type: String,
|
|
optional: true,
|
|
trim: false,
|
|
},
|
|
duration: {
|
|
type: String,
|
|
optional: true,
|
|
trim: false,
|
|
defaultValue: "Instantaneous",
|
|
},
|
|
"components.verbal": {type: Boolean, defaultValue: false},
|
|
"components.somatic": {type: Boolean, defaultValue: false},
|
|
"components.concentration": {type: Boolean, defaultValue: false},
|
|
"components.material": {type: String, optional: true},
|
|
ritual: {
|
|
type: Boolean,
|
|
defaultValue: false,
|
|
},
|
|
level: {
|
|
type: Number,
|
|
defaultValue: 1,
|
|
},
|
|
school: {
|
|
type: String,
|
|
defaultValue: "Abjuration",
|
|
allowedValues: magicSchools,
|
|
},
|
|
color: {
|
|
type: String,
|
|
allowedValues: _.pluck(colorOptions, "key"),
|
|
defaultValue: "q",
|
|
},
|
|
});
|
|
|
|
Spells.attachSchema(Schemas.Spell);
|
|
|
|
Spells.attachBehaviour("softRemovable");
|
|
makeChild(Spells); //children of spell lists
|
|
makeParent(Spells, ["name", "enabled"]); //parents of attacks
|
|
|
|
Spells.allow(CHARACTER_SUBSCHEMA_ALLOW);
|
|
Spells.deny(CHARACTER_SUBSCHEMA_DENY);
|