feat(world-boss): Desperation move

This commit is contained in:
Sabe Jones
2015-01-19 21:48:58 -06:00
parent b26d5ee732
commit 3ee965d8d2
+11 -2
View File
@@ -264,8 +264,13 @@ GroupSchema.statics.tavernBoss = function(user,progress) {
// Deal damage. Note a couple things here, str & def are calculated. If str/def are defined in the database,
// use those first - which allows us to update the boss on the go if things are too easy/hard.
if (!tavern.quest.extra) tavern.quest.extra = {};
tavern.quest.progress.hp -= dmg / (tavern.quest.extra.def || quest.boss.def);
tavern.quest.progress.rage -= rage * (tavern.quest.extra.str || quest.boss.str);
if (tavern.quest.progress.hp < quest.boss.desperation.threshold) {
tavern.quest.progress.hp -= dmg / (quest.boss.desperation.def);
tavern.quest.progress.rage -= rage * (quest.boss.desperation.str);
} else {
tavern.quest.progress.hp -= dmg / (tavern.quest.extra.def || quest.boss.def);
tavern.quest.progress.rage -= rage * (tavern.quest.extra.str || quest.boss.str);
}
if (tavern.quest.progress.rage >= quest.boss.rage.value) {
if (!tavern.quest.extra.worldDmg) tavern.quest.extra.worldDmg = {};
var wd = tavern.quest.extra.worldDmg;
@@ -283,6 +288,10 @@ GroupSchema.statics.tavernBoss = function(user,progress) {
tavern.quest.progress.hp += (quest.boss.rage.healing * tavern.quest.progress.hp);
}
}
if (tavern.quest.progress.hp < quest.boss.desperation.threshold && !tavern.quest.extra.desperate) {
tavern.sendChat(quest.boss.desperation.text('en'));
tavern.quest.extra.desperate = true;
}
tavern.save(cb);
}
}