31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
Features = new Mongo.Collection("features");
|
|
|
|
Schemas.Feature = new SimpleSchema({
|
|
charId: {type: String, regEx: SimpleSchema.RegEx.Id},
|
|
name: {type: String, trim: false},
|
|
description: {type: String, optional: true, trim: false},
|
|
uses: {type: String, optional: true, trim: false},
|
|
used: {type: Number, defaultValue: 0},
|
|
reset: {type: String, allowedValues: ["manual", "longRest", "shortRest"], defaultValue: "manual"},
|
|
enabled: {type: Boolean, defaultValue: true},
|
|
alwaysEnabled:{type: Boolean, defaultValue: true},
|
|
color: {type: String, allowedValues: _.pluck(colorOptions, "key"), defaultValue: "q"}
|
|
});
|
|
|
|
Features.attachSchema(Schemas.Feature);
|
|
|
|
Features.helpers({
|
|
usesLeft: function(){
|
|
return evaluate(this.charId, this.uses) - this.used;
|
|
},
|
|
usesValue: function(){
|
|
return evaluate(this.charId, this.uses);
|
|
}
|
|
});
|
|
|
|
Features.attachBehaviour('softRemovable');
|
|
makeParent(Features, ['name', 'enabled']); //parents of effects and attacks
|
|
|
|
Features.allow(CHARACTER_SUBSCHEMA_ALLOW);
|
|
Features.deny(CHARACTER_SUBSCHEMA_DENY);
|