aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/BattleGround.cpp2
-rw-r--r--src/game/Map.cpp4
-rw-r--r--src/game/Object.cpp4
-rw-r--r--src/game/Unit.cpp10
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