From 052caf335a76d9740c981566e46840e9f7b3f445 Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 8 Mar 2009 12:50:06 -0600 Subject: [PATCH] *Fix a bug about visibility update. --HG-- branch : trunk --- src/game/GridNotifiersImpl.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index 1f641ce922..7131b6281f 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -82,12 +82,12 @@ Trinity::PlayerRelocationNotifier::Visit(PlayerMapType &m) { for(PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter) { + i_clientGUIDs.erase(iter->getSource()->GetGUID()); + if(iter->getSource()->m_Notified) //self is also skipped in this check continue; i_player.UpdateVisibilityOf(iter->getSource(),i_data,i_data_updates,i_visibleNow); - i_clientGUIDs.erase(iter->getSource()->GetGUID()); - iter->getSource()->UpdateVisibilityOf(&i_player); //if (!i_player.GetSharedVisionList().empty()) @@ -107,11 +107,12 @@ Trinity::PlayerRelocationNotifier::Visit(CreatureMapType &m) { for(CreatureMapType::iterator iter = m.begin(); iter != m.end(); ++iter) { + i_clientGUIDs.erase(iter->getSource()->GetGUID()); + if(iter->getSource()->m_Notified) continue; i_player.UpdateVisibilityOf(iter->getSource(),i_data,i_data_updates,i_visibleNow); - i_clientGUIDs.erase(iter->getSource()->GetGUID()); PlayerCreatureRelocationWorker(&i_player, iter->getSource()); }