From e01ff99610c5cdf059e63e8d3e3bef578ac197dd Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Sun, 8 Jun 2014 16:08:14 +0200 Subject: [PATCH 1/2] Only refund quest scroll to leader if quest was active otherwise quest leader gets more quest scrolls than they had to begin with. --- src/controllers/groups.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 036c9b13c9..e232b433fa 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -607,11 +607,11 @@ api.questAbort = function(req, res, next){ }, // Refund party leader quest scroll function(cb){ - var update = {$inc:{}}; - update['$inc']['items.quests.' + group.quest.key] = 1; - User.update({_id:group.quest.leader}, update, cb); - }, - function(cb) { + if (group.quest.active) { + var update = {$inc:{}}; + update['$inc']['items.quests.' + group.quest.key] = 1; + User.update({_id:group.quest.leader}, update, cb); + } group.quest = {key:null,progress:{},leader:null}; group.markModified('quest'); group.save(cb); From 3aa8c885cf8fd7aec3a5da4b1268ce27a1d0fd13 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Sun, 8 Jun 2014 18:37:43 +0200 Subject: [PATCH 2/2] remove callback from user update This way it continues to evaluate and also execute the group update. --- src/controllers/groups.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/groups.js b/src/controllers/groups.js index e232b433fa..64bc2bd08a 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -610,7 +610,7 @@ api.questAbort = function(req, res, next){ if (group.quest.active) { var update = {$inc:{}}; update['$inc']['items.quests.' + group.quest.key] = 1; - User.update({_id:group.quest.leader}, update, cb); + User.update({_id:group.quest.leader}, update); } group.quest = {key:null,progress:{},leader:null}; group.markModified('quest');