Auto-Remove aura (probably in client) (Anh-Qirai)

Hiho! I am trying to implement these four mounts from AQ - made custom items, added ItemScripts (event checks if player is in a instance). The problem is here, that it dismounts me on changing a map and area - for example, when I ride from Dalaran to Dalaran Sewers, when I go to Gurubashi and then jump into the arena, when I leave Orgrimmar - go to Durotar. The only reason that this is caused i think is because blizzard added a fix to AQ, that check’s if there’s a mapchange on a player with this mount, it dismounts (to disallow leaving the instance mounted). Looked in code, can’t find anything. Just need a confirmation and maybe an idea?

Here is the code but it doesn’t matter, it’s just an aura.

[CODE]bool OnUse(Player* player, Item* /* item /, SpellCastTargets const & / targets */) override
if (player->IsInCombat())
player->GetSession()->SendNotification(“Can’t use mount in combat”);

    for (int k = 0; k < 42; k++){
        if (player->GetMapId() == tab[k]){
            player->GetSession()->SendNotification("Can't use mount in an instance");
            return false;
        player->AddAura(26054, player);
        return true;

On area/zone update checks for this stuff most likely.
See Player::UpdateZone and Player::UpdateArea

For this reason you cant use a flying mount in Kalimdor for example since when you change zones the code unmounts you.

[CODE]void Player::UpdateAreaDependentAuras(uint32 newArea)
// remove auras from spells with area limitations
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end():wink:
// use m_zoneUpdateId for speed: UpdateArea called from UpdateZone or instead UpdateZone in both cases m_zoneUpdateId up-to-dat

	if (iter->second->GetSpellInfo()->CheckLocation(GetMapId(), m_zoneUpdateId, newArea, this) != SPELL_CAST_OK && !this->HasAura(25953) && !this->HasAura(26054) && !this->HasAura(26056) && !this->HasAura(26055))

Working, thank you!