aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Maps/MapInstanced.cpp5
-rwxr-xr-xsrc/server/game/Maps/MapManager.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp
index d3b6ad438bc..d5e363685e0 100755
--- a/src/server/game/Maps/MapInstanced.cpp
+++ b/src/server/game/Maps/MapInstanced.cpp
@@ -64,7 +64,10 @@ void MapInstanced::Update(const uint32& t)
else
{
// update only here, because it may schedule some bad things before delete
- i->second->Update(t);
+ if (sMapMgr->GetMapUpdater()->activated())
+ sMapMgr->GetMapUpdater()->schedule_update(*i->second, t);
+ else
+ i->second->Update(t);
++i;
}
}
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h
index 8ca856cbd6f..068dbe33ae3 100755
--- a/src/server/game/Maps/MapManager.h
+++ b/src/server/game/Maps/MapManager.h
@@ -148,6 +148,8 @@ class MapManager
uint32 GetNextInstanceId() { return _nextInstanceId; };
void SetNextInstanceId(uint32 nextInstanceId) { _nextInstanceId = nextInstanceId; };
+ MapUpdater * GetMapUpdater() { return &m_updater; }
+
private:
// debugging code, should be deleted some day
void checkAndCorrectGridStatesArray(); // just for debugging to find some memory overwrites