aboutsummaryrefslogtreecommitdiff
path: root/src/game/Object.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-14 10:06:01 -0500
committermegamage <none@none>2009-06-14 10:06:01 -0500
commit85a50c7ce2401c0090725677a790d4617505b7c2 (patch)
treee0f5bf4176b843a78cd323a60d2e99a13c0cf181 /src/game/Object.cpp
parent39b2f6a5bbdb602d6906c93333c9988db25b8780 (diff)
[8007] Do not create empty maps while sending packets. Author: Ambal
--HG-- branch : trunk
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r--src/game/Object.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index af96905b529..132729aea40 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -1646,12 +1646,18 @@ void Unit::BuildHeartBeatMsg(WorldPacket *data) const
void WorldObject::SendMessageToSet(WorldPacket *data, bool /*fake*/)
{
- GetMap()->MessageBroadcast(this, data);
+ //if object is in world, map for it already created!
+ Map * _map = IsInWorld() ? GetMap() : MapManager::Instance().FindMap(GetMapId(), GetInstanceId());
+ if(_map)
+ _map->MessageBroadcast(this, data);
}
void WorldObject::SendMessageToSetInRange(WorldPacket *data, float dist, bool /*bToSelf*/)
{
- GetMap()->MessageDistBroadcast(this, data, dist);
+ //if object is in world, map for it already created!
+ Map * _map = IsInWorld() ? GetMap() : MapManager::Instance().FindMap(GetMapId(), GetInstanceId());
+ if(_map)
+ _map->MessageDistBroadcast(this, data, dist);
}
void WorldObject::SendObjectDeSpawnAnim(uint64 guid)