From ce8b7a68398bab602d8a8f71c7c3dbab5af137ea Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 26 May 2009 15:34:55 -0500 Subject: *Do not do visibility notification twice for bind sight players. This fixes the bug that bind sight is interrupted when target enters a populated area. --HG-- branch : trunk --- src/game/Map.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 4785d9bf91e..9e107af5b86 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -592,7 +592,7 @@ void Map::RelocationNotify() if(unit->GetTypeId() == TYPEID_PLAYER) { Trinity::PlayerRelocationNotifier notifier(*((Player*)unit)); - VisitAll(unit->GetPositionX(), unit->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier); + VisitAll(((Player*)unit)->m_seer->GetPositionX(), ((Player*)unit)->m_seer->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier); notifier.Notify(); } else @@ -677,12 +677,8 @@ void Map::Update(const uint32 &t_diff) } } - if(plr->m_seer != plr && !plr->hasUnitState(UNIT_STAT_ONVEHICLE)) - { - Trinity::PlayerVisibilityNotifier notifier(*plr); - VisitAll(plr->m_seer->GetPositionX(), plr->m_seer->GetPositionY(), World::GetMaxVisibleDistance(), notifier); - notifier.Notify(); - } + if(plr->m_seer != plr && !plr->m_Vehicle) + AddUnitToNotify(plr); } // non-player active objects -- cgit v1.2.3