feat(world-boss): Desperation move
This commit is contained in:
+11
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user