diff options
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/BattleGround.cpp | 2 | ||||
| -rw-r--r-- | src/game/Map.cpp | 4 | ||||
| -rw-r--r-- | src/game/Object.cpp | 4 | ||||
| -rw-r--r-- | src/game/Unit.cpp | 10 |
4 files changed, 16 insertions, 4 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp index 7e0cfd9ccb9..b3f74457063 100644 --- a/src/game/BattleGround.cpp +++ b/src/game/BattleGround.cpp @@ -1376,7 +1376,7 @@ bool BattleGround::AddObject(uint32 type, uint32 entry, float x, float y, float data.go_state = 1; */ // add to world, so it can be later looked up from HashMapHolder - go->AddToWorld(); + map->Add(go); m_BgObjects[type] = go->GetGUID(); return true; } diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 9d3db63b954..4aa6494ac5d 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -477,7 +477,7 @@ bool Map::Add(Player *player) SendInitTransports(player); player->m_clientGUIDs.clear(); - AddNotifier(player); + //AddNotifier(player); return true; } @@ -517,7 +517,7 @@ Map::Add(T *obj) //if(obj->GetTypeId() != TYPEID_UNIT) UpdateObjectVisibility(obj,cell,p); - AddNotifier(obj); + //AddNotifier(obj); } void Map::MessageBroadcast(Player *player, WorldPacket *msg, bool to_self, bool to_possessor) diff --git a/src/game/Object.cpp b/src/game/Object.cpp index b5f25596af3..07efce82458 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1674,7 +1674,9 @@ Map const* WorldObject::GetBaseMap() const void WorldObject::AddObjectToRemoveList() { - Map* map = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); + assert(m_uint32Values); + + Map* map = FindMap(); if(!map) { sLog.outError("Object (TypeId: %u Entry: %u GUID: %u) at attempt add to move list not have valid map (Id: %u).",GetTypeId(),GetEntry(),GetGUIDLow(),GetMapId()); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 0713433deb6..3cc3da5238f 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -11007,6 +11007,16 @@ uint32 Unit::GetCreatePowers( Powers power ) const return 0; } +void Unit::AddToWorld() +{ + if(!IsInWorld()) + { + m_Notified = false; + m_IsInNotifyList = false; + SetToNotify(); + } +} + void Unit::RemoveFromWorld() { // cleanup |
