aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp45
1 files changed, 43 insertions, 2 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index c28e992adde..09807fe6cd0 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1986,8 +1986,7 @@ void Spell::EffectTriggerSpell(uint32 i)
// Vanish
case 18461:
{
- m_caster->RemoveAurasByType(SPELL_AURA_MOD_ROOT);
- m_caster->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
+ m_caster->RemoveMovementImpairingAuras();
m_caster->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
// if this spell is given to NPC it must handle rest by it's own AI
@@ -2027,6 +2026,17 @@ void Spell::EffectTriggerSpell(uint32 i)
m_TriggerSpells.push_back(spellInfo);
return;
}
+ // Demonic Empowerment -- succubus
+ case 54437:
+ {
+ unitTarget->RemoveMovementImpairingAuras();
+ unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
+ unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STUN);
+
+ // Cast Lesser Invisibility
+ triggered_spell_id = 7870;
+ break;
+ }
// just skip
case 23770: // Sayge's Dark Fortune of *
// not exist, common cooldown can be implemented in scripts if need.
@@ -4984,6 +4994,37 @@ void Spell::EffectScriptEffect(uint32 effIndex)
if (AuraEffect * aur = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_WARLOCK, 0x2, 0, 0, m_caster->GetGUID()))
aur->GetParentAura()->RefreshAura();
return;
+ // Demonic Empowerment
+ case 47193:
+ {
+ if(!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || !((Creature *)unitTarget)->isPet())
+ return;
+ CreatureInfo const * ci = objmgr.GetCreatureTemplate(unitTarget->GetEntry());
+ switch (ci->family)
+ {
+ case CREATURE_FAMILY_SUCCUBUS:
+ unitTarget->CastSpell(unitTarget, 54435, true);
+ break;
+ case CREATURE_FAMILY_VOIDWALKER:
+ {
+ SpellEntry const* spellInfo = sSpellStore.LookupEntry(54443);
+ int32 hp = unitTarget->GetMaxHealth() * m_caster->CalculateSpellDamage(spellInfo, 0, spellInfo->EffectBasePoints[0], unitTarget) /100;
+ unitTarget->CastCustomSpell(unitTarget, 54443,&hp, NULL, NULL,true);
+ //unitTarget->CastSpell(unitTarget, 54441, true);
+ break;
+ }
+ case CREATURE_FAMILY_FELGUARD:
+ unitTarget->CastSpell(unitTarget, 54508, true);
+ break;
+ case CREATURE_FAMILY_FELHUNTER:
+ unitTarget->CastSpell(unitTarget, 54509, true);
+ break;
+ case CREATURE_FAMILY_IMP:
+ unitTarget->CastSpell(unitTarget, 54444, true);
+ break;
+ }
+ return;
+ }
}
break;
}