diff options
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r-- | src/game/Player.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index e0acc99fcb0..45bf0867cbb 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -20325,6 +20325,28 @@ void Player::UpdateVisibilityOf(WorldObject* target) } } +void Player::UpdateTriggerVisibility() +{ + if (m_clientGUIDs.empty()) + return; + + UpdateData udata; + WorldPacket packet; + for (ClientGUIDs::iterator itr=m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) + { + if (IS_CREATURE_GUID(*itr)) + { + Creature *obj = IsInWorld() ? GetMap()->GetCreature(*itr) : NULL; + if (!obj || !obj->isTrigger()) + continue; + + obj->BuildCreateUpdateBlockForPlayer(&udata,this); + } + } + udata.BuildPacket(&packet); + GetSession()->SendPacket(&packet); +} + void Player::SendInitialVisiblePackets(Unit* target) { SendAurasForTarget(target); |