From 89369e21a3daf9c6b69e26487b96a4e061d1d09e Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sat, 12 Jul 2014 15:16:32 -0600 Subject: [PATCH] fix(quests): prevent very high damage --- src/models/group.js | 4 ---- src/models/user.js | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/models/group.js b/src/models/group.js index 19d6372636..3d2aced087 100644 --- a/src/models/group.js +++ b/src/models/group.js @@ -237,10 +237,6 @@ process.nextTick(function(){ GroupSchema.statics.tavernBoss = function(user,progress) { if (!progress) return; - // hack: prevent crazy damage to world boss - progress.up = Math.min(300, Math.abs(progress.up||0)); - progress.down = -Math.min(300, Math.abs(progress.down||0)); - async.waterfall([ function(cb){ mongoose.model('Group').findOne(tavernQ,cb); diff --git a/src/models/user.js b/src/models/user.js index 4dd29c35ec..6afc339f51 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -403,6 +403,13 @@ UserSchema.pre('save', function(next) { this.achievements.beastMaster = petCount >= 90; + var progress = this.party && this.party.quest && this.party.quest.progress; + if (progress) { + // hack: prevent crazy damage to bosses (see https://github.com/HabitRPG/habitrpg/issues/3712) + progress.up = Math.min(300, Math.abs(progress.up||0)); + progress.down = -Math.min(300, Math.abs(progress.down||0)); + } + //our own version incrementer this._v++; next();