aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp51
1 files changed, 5 insertions, 46 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 71cd4c46b80..b07c9ecc0f5 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -45,6 +45,7 @@
#include "GossipDef.h"
#include "Vehicle.h"
#include "AchievementMgr.h"
+#include "DisableMgr.h"
ScriptMapMap sQuestEndScripts;
ScriptMapMap sQuestStartScripts;
@@ -3701,6 +3702,10 @@ void ObjectMgr::LoadQuests()
// Post processing
for (QuestMap::iterator iter = mQuestTemplates.begin(); iter != mQuestTemplates.end(); ++iter)
{
+ // skip post-loading checks for disabled quests
+ if (sDisableMgr.IsDisabledFor(DISABLE_TYPE_QUEST, iter->first, NULL))
+ continue;
+
Quest * qinfo = iter->second;
// additional quest integrity checks (GO, creature_template and item_template must be loaded already)
@@ -7574,52 +7579,6 @@ const char *ObjectMgr::GetTrinityString(int32 entry, int locale_idx) const
return "<error>";
}
-void ObjectMgr::LoadSpellDisabledEntrys()
-{
- m_DisabledPlayerSpells.clear(); // need for reload case
- m_DisabledCreatureSpells.clear();
- m_DisabledPetSpells.clear();
- QueryResult_AutoPtr result = WorldDatabase.Query("SELECT entry, disable_mask FROM spell_disabled");
-
- uint32 total_count = 0;
-
- if (!result)
- {
- barGoLink bar(1);
- bar.step();
-
- sLog.outString();
- sLog.outString(">> Loaded %u disabled spells", total_count);
- return;
- }
-
- barGoLink bar(result->GetRowCount());
-
- Field* fields;
- do
- {
- bar.step();
- fields = result->Fetch();
- uint32 spellid = fields[0].GetUInt32();
- if (!sSpellStore.LookupEntry(spellid))
- {
- sLog.outErrorDb("Spell entry %u from `spell_disabled` doesn't exist in dbc, ignoring.",spellid);
- continue;
- }
- uint32 disable_mask = fields[1].GetUInt32();
- if (disable_mask & SPELL_DISABLE_PLAYER)
- m_DisabledPlayerSpells.insert(spellid);
- if (disable_mask & SPELL_DISABLE_CREATURE)
- m_DisabledCreatureSpells.insert(spellid);
- if (disable_mask & SPELL_DISABLE_PET)
- m_DisabledPetSpells.insert(spellid);
- ++total_count;
- } while (result->NextRow());
-
- sLog.outString();
- sLog.outString(">> Loaded %u disabled spells from `spell_disabled`", total_count);
-}
-
void ObjectMgr::LoadFishingBaseSkillLevel()
{
mFishingBaseForArea.clear(); // for reload case