Merge pull request #7570 from crookedneighbor/WIP_7567_dont_rely_on_quest_key_on_user

Use party's quest key in cron
This commit is contained in:
Blade Barringer
2016-06-05 06:18:08 -05:00
16 changed files with 607 additions and 133 deletions
+1 -5
View File
@@ -171,11 +171,7 @@ api.questProgress = {
}
if (quest.collect) {
let collect = user.party.quest.progress.collect;
_.each(quest.collect, (details, item) => {
collect[item] = collect[item] || 0;
collect[item] += 300;
});
user.party.quest.progress.collect += 300;
}
user.markModified('party.quest.progress');
@@ -392,6 +392,17 @@ api.scoreTask = {
let wasCompleted = task.completed;
// TEMPORARY, remove once collection migration completes
if (typeof user.party.quest.progress.collect === 'object') {
let totalItemsFound = _.reduce(user.party.quest.progress.collect, (total, amount) => {
return total + amount;
}, 0);
user.party.quest.progress.collect = totalItemsFound;
} else if (!user.party.quest.progress.collect) {
user.party.quest.progress.collect = 0;
}
let [delta] = common.ops.scoreTask({task, user, direction}, req);
// Drop system (don't run on the client, as it would only be discarded since ops are sent to the API, not the results)
if (direction === 'up') user.fns.randomDrop({task, delta}, req);