From 0b1cc5f0eaca40b206377a0d09a1edcc94f114bb Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Mon, 29 Jun 2015 13:12:29 -0400 Subject: [PATCH 1/3] Removed user.party.quest.key checks from isOnQuest. They are no longer accurate checks due to changes made in #5298 --- website/src/models/group.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/models/group.js b/website/src/models/group.js index ab4c468248..6bb2c15aa3 100644 --- a/website/src/models/group.js +++ b/website/src/models/group.js @@ -193,13 +193,13 @@ GroupSchema.methods.finishQuest = function(quest, cb) { mongoose.model('User').update(q, updates, {multi:true}, cb); } -function isOnQuest(user,progress,group){ - return group && progress && user.party.quest.key && group.quest && user.party.quest.key == group.quest.key && group.quest.active; +function isOnQuest(progress,group){ + return group && progress && group.quest && group.quest.active; } GroupSchema.statics.collectQuest = function(user, progress, cb) { this.findOne({type: 'party', members: {'$in': [user._id]}},function(err, group){ - if (!isOnQuest(user,progress,group)) return cb(null); + if (!isOnQuest(progress,group)) return cb(null); var quest = shared.content.quests[group.quest.key]; _.each(progress.collect,function(v,k){ @@ -302,7 +302,7 @@ GroupSchema.statics.tavernBoss = function(user,progress) { GroupSchema.statics.bossQuest = function(user, progress, cb) { this.findOne({type: 'party', members: {'$in': [user._id]}},function(err, group){ - if (!isOnQuest(user,progress,group)) return cb(null); + if (!isOnQuest(progress,group)) return cb(null); var quest = shared.content.quests[group.quest.key]; if (!progress || !quest) return cb(null); // FIXME why is this ever happening, progress should be defined at this point var down = progress.down * quest.boss.str; // multiply by boss strength From bcfc17dd187721b4b0e57247e60acda85054f0cb Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Mon, 29 Jun 2015 15:42:45 -0400 Subject: [PATCH 2/3] Added check for user id in active quest to 'isOnQuest' --- website/src/models/group.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/models/group.js b/website/src/models/group.js index 6bb2c15aa3..323b1e825e 100644 --- a/website/src/models/group.js +++ b/website/src/models/group.js @@ -193,13 +193,13 @@ GroupSchema.methods.finishQuest = function(quest, cb) { mongoose.model('User').update(q, updates, {multi:true}, cb); } -function isOnQuest(progress,group){ - return group && progress && group.quest && group.quest.active; +function isOnQuest(user,progress,group){ + return group && progress && group.quest && group.quest.active && group.quest.members[user._id] == true; } GroupSchema.statics.collectQuest = function(user, progress, cb) { this.findOne({type: 'party', members: {'$in': [user._id]}},function(err, group){ - if (!isOnQuest(progress,group)) return cb(null); + if (!isOnQuest(user,progress,group)) return cb(null); var quest = shared.content.quests[group.quest.key]; _.each(progress.collect,function(v,k){ @@ -302,7 +302,7 @@ GroupSchema.statics.tavernBoss = function(user,progress) { GroupSchema.statics.bossQuest = function(user, progress, cb) { this.findOne({type: 'party', members: {'$in': [user._id]}},function(err, group){ - if (!isOnQuest(progress,group)) return cb(null); + if (!isOnQuest(user,progress,group)) return cb(null); var quest = shared.content.quests[group.quest.key]; if (!progress || !quest) return cb(null); // FIXME why is this ever happening, progress should be defined at this point var down = progress.down * quest.boss.str; // multiply by boss strength From 0094d3267dc6e1a48391b49f4eefe95060ed7ad6 Mon Sep 17 00:00:00 2001 From: hairlessbear Date: Mon, 29 Jun 2015 18:28:08 -0400 Subject: [PATCH 3/3] Fixed equivalency check (added missing '=') --- website/src/models/group.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/models/group.js b/website/src/models/group.js index 323b1e825e..6159b4de6e 100644 --- a/website/src/models/group.js +++ b/website/src/models/group.js @@ -194,7 +194,7 @@ GroupSchema.methods.finishQuest = function(quest, cb) { } function isOnQuest(user,progress,group){ - return group && progress && group.quest && group.quest.active && group.quest.members[user._id] == true; + return group && progress && group.quest && group.quest.active && group.quest.members[user._id] === true; } GroupSchema.statics.collectQuest = function(user, progress, cb) {