aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authormik1893 <michele.roscelli@gmail.com>2016-06-14 20:06:00 +0100
committerGitHub <noreply@github.com>2016-06-14 20:06:00 +0100
commitfd88a67182b4915a702118151b1a1c6c87fe9ead (patch)
treeb6c3ef3b06730ae0e10e60c13fb0f098cdbc63de /src/server/game/Spells/Spell.cpp
parentd1d0c64ad11cb3faf986a5332fec6b704fb8026c (diff)
Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER (#17160)
* Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER Closes #14972
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 51f1d71dae3..430e42c4412 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2327,6 +2327,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
// if target is flagged for pvp also flag caster if a player
if (unit->IsPvP() && m_caster->GetTypeId() == TYPEID_PLAYER)
enablePvP = true; // Decide on PvP flagging now, but act on it later.
+
SpellMissInfo missInfo2 = DoSpellHitOnUnit(spellHitTarget, mask, target->scaleAura);
if (missInfo2 != SPELL_MISS_NONE)
{
@@ -2466,6 +2467,10 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
unit->SetStandState(UNIT_STAND_STATE_STAND);
}
+ // Check for SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER
+ if (m_spellInfo->HasAttribute(SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER) && unit->GetTypeId() != TYPEID_PLAYER)
+ caster->CastSpell(unit, SPELL_INTERRUPT_NONPLAYER, true);
+
if (spellHitTarget)
{
//AI functions