aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 43ffabb1a20..a4c28282baa 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -1870,6 +1870,14 @@ void AuraEffect::PeriodicDummyTick(Unit * target, Unit * caster) const
target->RemoveAura(64821);
}
break;
+ case 66118: // Leeching Swarm (Anub'arak)
+ int32 lifeLeeched = target->GetHealth() * GetSpellProto()->EffectBasePoints[0] / 100;
+ if (lifeLeeched < 250) lifeLeeched = 250;
+ // Damage
+ caster->CastCustomSpell(target, 66240, &lifeLeeched, 0, 0, false);
+ // Heal
+ caster->CastCustomSpell(caster, 66125, &lifeLeeched, 0, 0, false);
+ break;
}
break;
case SPELLFAMILY_MAGE:
@@ -2296,6 +2304,17 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
// Spell exist but require custom code
switch(auraId)
{
+ case 66869:
+ switch(caster->GetMap()->GetDifficulty())
+ {
+ case RAID_DIFFICULTY_10MAN_NORMAL: triggerSpellId = 66870; break;
+ case RAID_DIFFICULTY_10MAN_HEROIC: triggerSpellId = 67621; break;
+ case RAID_DIFFICULTY_25MAN_NORMAL: triggerSpellId = 67622; break;
+ case RAID_DIFFICULTY_25MAN_HEROIC: triggerSpellId = 67623; break;
+ }
+ // Reget trigger spell proto
+ triggeredSpellInfo = sSpellStore.LookupEntry(triggerSpellId);
+ break;
// Mana Tide
case 16191:
{
@@ -2309,6 +2328,8 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
// Poison (Grobbulus)
case 28158:
case 54362:
+ // Slime Pool (Dreadscale & Acidmaw)
+ case 66882:
target->CastCustomSpell(triggerSpellId, SPELLVALUE_RADIUS_MOD, (int32)((((float)m_tickNumber / 60) * 0.9f + 0.1f) * 10000), NULL, true, NULL, this);
return;
// Beacon of Light