diff options
author | XTZGZoReX <none@none> | 2010-08-06 18:03:09 +0200 |
---|---|---|
committer | XTZGZoReX <none@none> | 2010-08-06 18:03:09 +0200 |
commit | b63a31f513db5274e85afc323d143292d8f3e88f (patch) | |
tree | 7b8300182cdf20994c132be1aa39ab89bce3df84 /src/server/game/Conditions/DisableMgr.cpp | |
parent | edc4c3317c8e6db6f67d71eb135c084970401fd1 (diff) |
* Added outdoorpvp_template table (currently unused).
* Added DISABLE_TYPE_OUTDOORPVP (5) which can disable outdoorpvp_template entries.
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Conditions/DisableMgr.cpp')
-rw-r--r-- | src/server/game/Conditions/DisableMgr.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/server/game/Conditions/DisableMgr.cpp b/src/server/game/Conditions/DisableMgr.cpp index bf42cf25168..1fbb52bb0cf 100644 --- a/src/server/game/Conditions/DisableMgr.cpp +++ b/src/server/game/Conditions/DisableMgr.cpp @@ -22,6 +22,7 @@ #include "SpellMgr.h" #include "ObjectMgr.h" #include "DisableMgr.h" +#include "OutdoorPvP.h" DisableMgr::DisableMgr() { @@ -31,6 +32,7 @@ DisableMgr::~DisableMgr() { for (DisableMap::iterator itr = m_DisableMap.begin(); itr != m_DisableMap.end(); ++itr) itr->second.clear(); + m_DisableMap.clear(); } @@ -39,6 +41,7 @@ void DisableMgr::LoadDisables() // reload case for (DisableMap::iterator itr = m_DisableMap.begin(); itr != m_DisableMap.end(); ++itr) itr->second.clear(); + m_DisableMap.clear(); QueryResult_AutoPtr result = WorldDatabase.Query("SELECT sourceType,entry,flags FROM disables"); @@ -132,6 +135,15 @@ void DisableMgr::LoadDisables() if (flags) sLog.outErrorDb("Disable flags specified for battleground %u, useless data.", entry); break; + case DISABLE_TYPE_OUTDOORPVP: + if (entry > MAX_OUTDOORPVP_TYPES) + { + sLog.outErrorDb("OutdoorPvPTypes value %u from `disables` is invalid, skipped.", entry); + continue; + } + if (flags) + sLog.outErrorDb("Disable flags specified for outdoor PvP %u, useless data.", entry); + break; case DISABLE_TYPE_ACHIEVEMENT_CRITERIA: if (!sAchievementCriteriaStore.LookupEntry(entry)) { @@ -142,9 +154,11 @@ void DisableMgr::LoadDisables() sLog.outErrorDb("Disable flags specified for Achievement Criteria %u, useless data.", entry); break; } + m_DisableMap[type].insert(DisableTypeMap::value_type(entry, flags)); ++total_count; - } while (result->NextRow()); + } + while (result->NextRow()); sLog.outString(); sLog.outString(">> Loaded %u disables.", total_count); @@ -248,6 +262,7 @@ bool DisableMgr::IsDisabledFor(DisableType type, uint32 entry, Unit const* pUnit return false; return true; case DISABLE_TYPE_BATTLEGROUND: + case DISABLE_TYPE_OUTDOORPVP: case DISABLE_TYPE_ACHIEVEMENT_CRITERIA: return true; } |