summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index e09e30410b..a9dcc7c14e 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -2882,6 +2882,21 @@ int melee_attack::mons_calc_damage(const mon_attack_def &attk)
// Berserk monsters get bonus damage.
if (atk->has_ench(ENCH_BERSERK))
damage = damage * 3 / 2;
+ else if (atk->has_ench(ENCH_BATTLE_FRENZY))
+ {
+ const mon_enchant ench = atk->get_ench(ENCH_BATTLE_FRENZY);
+
+#ifdef DEBUG_DIAGNOSTICS
+ const int orig_damage = damage;
+#endif
+
+ damage = damage * (115 + ench.degree * 15) / 100;
+
+#ifdef DEBUG_DIAGNOSTICS
+ mprf(MSGCH_DIAGNOSTICS, "%s frenzy damage: %d->%d",
+ attacker->name(DESC_PLAIN).c_str(), orig_damage, damage);
+#endif
+ }
if (water_attack)
damage *= 2;