diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 11 | ||||
-rw-r--r-- | src/game/Unit.cpp | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 4bbd1f06faa..94555952916 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -4673,6 +4673,17 @@ void AuraEffect::HandlePeriodicDamage(bool apply, bool Real, bool changeAmount) } break; } + // Drain Soul - If the target is at or below 25% health, Drain Soul causes four times the normal damage + case SPELLFAMILY_WARLOCK: + { + if (m_spellProto->SpellFamilyFlags[0] & 0x00004000) + { + // if victim is below 25% of hp + if (m_target->GetMaxHealth() / 4 > m_target->GetHealth()) + m_amount *= 4; + } + break; + } case SPELLFAMILY_DRUID: { // Rake diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 99db7dc3108..96a0a952339 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9265,7 +9265,6 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 } } break; - // Glyph of Shadow Word: Pain case SPELLFAMILY_PRIEST: if (spellProto->SpellFamilyFlags[0] & 0x800000) |