diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 75ceeba5c86..26ab0dc1064 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15679,25 +15679,11 @@ void Player::SendQuestUpdate(uint32 questId) uint32 zone = 0, area = 0; GetZoneAndAreaId(zone, area); - SpellAreaForQuestAreaMapBounds saZoneBounds = sSpellMgr->GetSpellAreaForQuestAreaMapBounds(zone, questId); + SpellAreaForQuestAreaMapBounds saBounds = sSpellMgr->GetSpellAreaForQuestAreaMapBounds(area, questId); - if (saZoneBounds.first != saZoneBounds.second) + if (saBounds.first != saBounds.second) { - for (SpellAreaForQuestAreaMap::const_iterator itr = saZoneBounds.first; itr != saZoneBounds.second; ++itr) - { - if (itr->second->flags & SPELL_AREA_FLAG_AUTOREMOVE && !itr->second->IsFitToRequirements(this, zone, area)) - RemoveAurasDueToSpell(itr->second->spellId); - else if (itr->second->flags & SPELL_AREA_FLAG_AUTOCAST) - if (!HasAura(itr->second->spellId)) - CastSpell(this, itr->second->spellId, true); - } - } - - SpellAreaForQuestAreaMapBounds saAreaBounds = sSpellMgr->GetSpellAreaForQuestAreaMapBounds(area, questId); - - if (saAreaBounds.first != saAreaBounds.second) - { - for (SpellAreaForQuestAreaMap::const_iterator itr = saAreaBounds.first; itr != saAreaBounds.second; ++itr) + for (SpellAreaForQuestAreaMap::const_iterator itr = saBounds.first; itr != saBounds.second; ++itr) { if (itr->second->flags & SPELL_AREA_FLAG_AUTOREMOVE && !itr->second->IsFitToRequirements(this, zone, area)) RemoveAurasDueToSpell(itr->second->spellId);