From fd88a67182b4915a702118151b1a1c6c87fe9ead Mon Sep 17 00:00:00 2001 From: mik1893 Date: Tue, 14 Jun 2016 20:06:00 +0100 Subject: Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER (#17160) * Core/Spells: Implement SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER Closes #14972 --- src/server/game/Spells/Spell.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/server/game/Spells/Spell.cpp') 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 -- cgit v1.2.3