diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 4bbd1f06fa..9455595291 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 99db7dc310..96a0a95233 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)