diff options
author | blub <Vincent_Michael@gmx.de> | 2013-01-07 07:52:35 -0800 |
---|---|---|
committer | blub <Vincent_Michael@gmx.de> | 2013-01-07 07:52:35 -0800 |
commit | 9ad1857e59fcd81d58a953565a738e97c4fc7236 (patch) | |
tree | 099cef112177bfed15c719f1e5d3e43b3b51c6cc /src/server/game/Conditions/DisableMgr.cpp | |
parent | 24e0eb1812f94c5092009f78ced3306f142d2789 (diff) | |
parent | 08f62d8313e05ed6eb1767eed07a7e31533e9bb6 (diff) |
Merge pull request #8826 from joschiwald/mmaps_disable
Core/MMaps: use DisableMgr to disable pathfinding on a specific map
Diffstat (limited to 'src/server/game/Conditions/DisableMgr.cpp')
-rw-r--r-- | src/server/game/Conditions/DisableMgr.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/server/game/Conditions/DisableMgr.cpp b/src/server/game/Conditions/DisableMgr.cpp index 8cd36827ab9..0541f423a8f 100644 --- a/src/server/game/Conditions/DisableMgr.cpp +++ b/src/server/game/Conditions/DisableMgr.cpp @@ -42,7 +42,7 @@ namespace DisableMap m_DisableMap; - uint8 MAX_DISABLE_TYPES = 7; + uint8 MAX_DISABLE_TYPES = 8; } void LoadDisables() @@ -222,6 +222,34 @@ void LoadDisables() } break; } + case DISABLE_TYPE_MMAP: + { + MapEntry const* mapEntry = sMapStore.LookupEntry(entry); + if (!mapEntry) + { + sLog->outError(LOG_FILTER_SQL, "Map entry %u from `disables` doesn't exist in dbc, skipped.", entry); + continue; + } + switch (mapEntry->map_type) + { + case MAP_COMMON: + sLog->outInfo(LOG_FILTER_GENERAL, "Pathfinding disabled for world map %u.", entry); + break; + case MAP_INSTANCE: + case MAP_RAID: + sLog->outInfo(LOG_FILTER_GENERAL, "Pathfinding disabled for instance map %u.", entry); + break; + case MAP_BATTLEGROUND: + sLog->outInfo(LOG_FILTER_GENERAL, "Pathfinding disabled for battleground map %u.", entry); + break; + case MAP_ARENA: + sLog->outInfo(LOG_FILTER_GENERAL, "Pathfinding disabled for arena map %u.", entry); + break; + default: + break; + } + break; + } default: break; } @@ -348,6 +376,7 @@ bool IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags case DISABLE_TYPE_BATTLEGROUND: case DISABLE_TYPE_OUTDOORPVP: case DISABLE_TYPE_ACHIEVEMENT_CRITERIA: + case DISABLE_TYPE_MMAP: return true; case DISABLE_TYPE_VMAP: return flags & itr->second.flags; |