Refactored code which applies buffs

This commit is contained in:
Jacob
2017-08-09 16:48:38 +01:00
parent d4031dc4a7
commit 471a3e274e
3 changed files with 54 additions and 92 deletions

View File

@@ -28,54 +28,12 @@ Template.applyBuffDialog.events({
},
"click #applyButton": function(event, instance){
var targetId = Template.instance().selectedTarget.get();
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
if (this.buff.target === "others") return; //since we have "Select a character" selected
targetId = this.buff.charId; //otherwise, the default is to 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);
});
popDialogStack();
popDialogStack(targetId);
},
"click #cancelButton": function(event, instance){
popDialogStack();