diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/BattleGround.cpp | 2 | ||||
-rw-r--r-- | src/game/Map.cpp | 4 | ||||
-rw-r--r-- | src/game/Object.cpp | 6 | ||||
-rw-r--r-- | src/game/Unit.cpp | 15 |
4 files changed, 18 insertions, 9 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp index 6849a9ca90c..2538bd3434e 100644 --- a/src/game/BattleGround.cpp +++ b/src/game/BattleGround.cpp @@ -1216,7 +1216,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 fbe4f32d5b1..b7e0fd59f61 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -485,7 +485,7 @@ bool Map::Add(Player *player) SendInitTransports(player); player->m_clientGUIDs.clear(); - AddNotifier(player); + //AddNotifier(player); return true; } @@ -523,7 +523,7 @@ Map::Add(T *obj) 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 4159f05d4b8..4a485f9c489 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -97,6 +97,8 @@ Object::~Object( ) //DEBUG_LOG("Object desctr 1 check (%p)",(void*)this); delete [] m_uint32Values; delete [] m_uint32Values_mirror; + m_uint32Values = NULL; + m_uint32Values_mirror = NULL; //DEBUG_LOG("Object desctr 2 check (%p)",(void*)this); } } @@ -1567,7 +1569,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 fb0aee82654..beabc0e8668 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -66,11 +66,6 @@ float baseMoveSpeed[MAX_MOVE_TYPE] = void InitTriggerAuraData(); -void Unit::AddToWorld() -{ - WorldObject::AddToWorld(); -} - // auraTypes contains attacker auras capable of proc'ing cast auras static Unit::AuraTypeSet GenerateAttakerProcCastAuraTypes() { @@ -10853,6 +10848,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 |