aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SharedDefines.h2
-rw-r--r--src/game/Unit.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index 33528b1b8fd..a762744a9c6 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -372,7 +372,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = {
#define SPELL_ATTR_EX3_CAN_PROC_TRIGGERED 0x04000000 // 26
#define SPELL_ATTR_EX3_DRAIN_SOUL 0x08000000 // 27 only drain soul has this flag
#define SPELL_ATTR_EX3_UNK28 0x10000000 // 28
-#define SPELL_ATTR_EX3_UNK29 0x20000000 // 29 Ignite 3.3.0
+#define SPELL_ATTR_EX3_NO_DONE_BONUS 0x20000000 // 29 Ignore caster spellpower and done damage mods?
#define SPELL_ATTR_EX3_UNK30 0x40000000 // 30 Shaman's Fire Nova 3.3.0, Sweeping Strikes 3.3.0
#define SPELL_ATTR_EX3_UNK31 0x80000000 // 31
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 423345196d1..18a16d12ec4 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -10169,6 +10169,13 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
DoneTotal += DoneAdvertisedBenefit * coeff * coeff2;
}
+ // Some spells don't benefit from done mods
+ if (spellProto->AttributesEx3 & SPELL_ATTR_EX3_NO_DONE_BONUS)
+ {
+ DoneTotal = 0;
+ DoneTotalMod = 1.0f;
+ }
+
float tmpDamage = (int32(pdamage) + DoneTotal) * DoneTotalMod;
// apply spellmod to Done damage (flat and pct)
if (Player* modOwner = GetSpellModOwner())