diff options
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 64c3a186d33..a9de03cd325 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2426,8 +2426,20 @@ void Map::RemoveAllObjectsInRemoveList() bool on = itr->second; i_objectsToSwitch.erase(itr); - if ((obj->GetTypeId() == TYPEID_UNIT || obj->GetTypeId() == TYPEID_GAMEOBJECT) && !obj->IsPermanentWorldObject()) - SwitchGridContainers(obj, on); + if (!obj->IsPermanentWorldObject()) + { + switch (obj->GetTypeId()) + { + case TYPEID_UNIT: + SwitchGridContainers<Creature>(obj->ToCreature(), on); + break; + case TYPEID_GAMEOBJECT: + SwitchGridContainers<GameObject>(obj->ToGameObject(), on); + break; + default: + break; + } + } } //TC_LOG_DEBUG(LOG_FILTER_MAPS, "Object remover 1 check."); |
