mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-04 01:29:21 +00:00
fix(bosses): don't reset progress.up when starting a new quest. We want
to be able to carry over damage from the same day a boss battle begins, even if the dailies were completed before battle-start. Fixes #2168
This commit is contained in:
parent
19dba81603
commit
4efd0f5ed8
2 changed files with 38 additions and 1 deletions
|
|
@ -500,7 +500,12 @@ questStart = function(req, res) {
|
|||
if (m == group.quest.leader)
|
||||
updates['$inc']['items.quests.'+key] = -1;
|
||||
if (group.quest.members[m] == true) {
|
||||
updates['$set']['party.quest'] = Group.cleanQuestProgress({key:key,progress:{collect:collected}});
|
||||
// See https://github.com/HabitRPG/habitrpg/issues/2168#issuecomment-31556322 , we need to *not* reset party.quest.progress.up
|
||||
//updates['$set']['party.quest'] = Group.cleanQuestProgress({key:key,progress:{collect:collected}});
|
||||
updates['$set']['party.quest.key'] = key
|
||||
updates['$set']['party.quest.progress.down'] = 0;
|
||||
updates['$set']['party.quest.progress.collect'] = collected;
|
||||
updates['$set']['party.quest.completed'] = null;
|
||||
questMembers[m] = true;
|
||||
} else {
|
||||
updates['$set']['party.quest'] = Group.cleanQuestProgress();
|
||||
|
|
|
|||
|
|
@ -280,6 +280,19 @@ describe('API', function () {
|
|||
participating = [],
|
||||
notParticipating = [];
|
||||
|
||||
it("Tallies progress",function(done){
|
||||
request.post(baseURL+'/user/batch-update')
|
||||
.send([
|
||||
{op:'score',params:{direction:'up',id:user.dailys[0].id}},
|
||||
{op:'score',params:{direction:'up',id:user.dailys[1].id}}
|
||||
])
|
||||
.end(function(res){
|
||||
user = res.body;
|
||||
expect(user.party.quest.progress.up).to.be.above(0);
|
||||
done();
|
||||
})
|
||||
});
|
||||
|
||||
it('Invites some members', function (done) {
|
||||
async.waterfall([
|
||||
|
||||
|
|
@ -363,6 +376,25 @@ describe('API', function () {
|
|||
}], done);
|
||||
});
|
||||
|
||||
it('Hurts the boss',function(done){
|
||||
request.post(baseURL+'/user/batch-update')
|
||||
.end(function(res){
|
||||
user = res.body;
|
||||
var up = user.party.quest.progress.up;
|
||||
expect(up).to.be.above(0);
|
||||
request.post(baseURL+'/user/batch-update')
|
||||
.send([
|
||||
{op:'score',params:{direction:'up',id:user.dailys[2].id}},
|
||||
{op:'score',params:{direction:'up',id:user.dailys[3].id}}
|
||||
])
|
||||
.end(function(res){
|
||||
expect(res.body.party.quest.progress.up).to.be.above(up)
|
||||
user
|
||||
})
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
it("Doesn't include people who aren't participating");
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue