aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp11
-rw-r--r--src/game/Unit.cpp1
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)