71 lines
1.7 KiB
JavaScript
71 lines
1.7 KiB
JavaScript
Template.customBuffView.helpers({
|
|
toSelf: function() {
|
|
if (this.buff.target === "self") {
|
|
return " to self";
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
});
|
|
|
|
Template.customBuffView.events({
|
|
"click .apply-buff-button": function(){
|
|
if (this.buff.target !== "self") {
|
|
pushDialogStack({
|
|
template: "applyBuffDialog",
|
|
data: {buff: this.buff},
|
|
element: event.currentTarget,
|
|
});
|
|
}
|
|
else {
|
|
var targetId = this.buff.charId;
|
|
var parent = global[this.buff.parent.collection].findOne(this.buff.parent.id);
|
|
console.log(parent, this.buff.parent);
|
|
if (targetId === "default") {
|
|
if (this.buff.target === "others") return; //we have "Select a character" selected
|
|
targetId = this.buff.charId; //i.e. target self
|
|
}
|
|
|
|
//insert new buff
|
|
newBuffId = Buffs.insert({
|
|
charId: targetId,
|
|
name: this.buff.name,
|
|
description: this.buff.description,
|
|
lifeTime: {total: this.buff.lifeTime.total},
|
|
type: "custom",
|
|
|
|
appliedBy: this.buff.charId,
|
|
appliedByDetails: {
|
|
name: parent.name,
|
|
collection: this.buff.parent.collection,
|
|
},
|
|
});
|
|
|
|
//insert children
|
|
Attacks.find({"parent.id": this.buff._id}).forEach(function(doc){
|
|
temp = _.clone(doc);
|
|
temp.parent.id = newBuffId;
|
|
temp.parent.collection = "Buffs";
|
|
delete temp._id;
|
|
|
|
Attacks.insert(temp);
|
|
});
|
|
Effects.find({"parent.id": this.buff._id}).forEach(function(doc){
|
|
temp = _.clone(doc);
|
|
temp.parent.id = newBuffId;
|
|
temp.parent.collection = "Buffs";
|
|
delete temp._id;
|
|
|
|
Effects.insert(temp);
|
|
});
|
|
Proficiencies.find({"parent.id": this.buff._id}).forEach(function(doc){
|
|
temp = _.clone(doc);
|
|
temp.parent.id = newBuffId;
|
|
temp.parent.collection = "Buffs";
|
|
delete temp._id;
|
|
|
|
Proficiencies.insert(temp);
|
|
});
|
|
}
|
|
},
|
|
}); |