diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index e8c3d134a..bf2acff24 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -4422,23 +4422,8 @@ void Aura::HandleModStealth(bool apply, bool Real) } else { - if (!Real) - return; - - // Vanish (triggered, normal stealth need apply before remove advanced stealth) - if (target->GetTypeId() == TYPEID_PLAYER && m_removeMode == AURA_REMOVE_BY_EXPIRE && - GetSpellProto()->IsFitToFamily(SPELLFAMILY_ROGUE, UI64LIT(0x000000000800))) - { - uint32 spellId = 1784; // Stealth - // reset cooldown on it if needed - if (((Player*)target)->HasSpellCooldown(spellId)) - ((Player*)target)->RemoveSpellCooldown(spellId); - - target->CastSpell(target, spellId, true); - } - // only at real aura remove of _last_ SPELL_AURA_MOD_STEALTH - if (!target->HasAuraType(SPELL_AURA_MOD_STEALTH)) + if (Real && !target->HasAuraType(SPELL_AURA_MOD_STEALTH)) { // if no GM invisibility if (target->GetVisibility()!=VISIBILITY_OFF) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 91ccec4e3..84e2c0092 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3332,6 +3332,17 @@ void Spell::EffectTriggerSpell(SpellEffectIndex effIndex) unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT); unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED); unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_STALKED); + + // if this spell is given to NPC it must handle rest by it's own AI + if (unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + uint32 spellId = 1784; + // reset cooldown on it if needed + if (((Player*)unitTarget)->HasSpellCooldown(spellId)) + ((Player*)unitTarget)->RemoveSpellCooldown(spellId); + + m_caster->CastSpell(unitTarget, spellId, true); return; } // just skip diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 864bff894..9e2264a75 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11634" + #define REVISION_NR "11635" #endif // __REVISION_NR_H__