diff --git a/src/game/Object/SpellMgr.cpp b/src/game/Object/SpellMgr.cpp index fb7fa261..de6d2593 100644 --- a/src/game/Object/SpellMgr.cpp +++ b/src/game/Object/SpellMgr.cpp @@ -660,11 +660,12 @@ SpellSpecific GetSpellSpecific(uint32 spellId) } // Tracking spells (exclude Well Fed, some other always allowed cases) - if ((IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_CREATURES) || - IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_RESOURCES) || - IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_STEALTHED)) && - (spellInfo->HasAttribute(SPELL_ATTR_EX_UNK17) || spellInfo->HasAttribute(SPELL_ATTR_CASTABLE_WHILE_MOUNTED))) - { return SPELL_TRACKER; } + if (IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_CREATURES) || + IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_STEALTHED) || + (IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_RESOURCES) && !spellInfo->HasAttribute(SPELL_ATTR_PASSIVE) && !spellInfo->HasAttribute(SPELL_ATTR_CANT_CANCEL))) + { + return SPELL_TRACKER; + } // elixirs can have different families, but potion most ofc. if (SpellSpecific sp = sSpellMgr.GetSpellElixirSpecific(spellInfo->Id))