diff --git a/src/game/ChatCommands/Level3.cpp b/src/game/ChatCommands/Level3.cpp index e0e1989a5..a3197db65 100644 --- a/src/game/ChatCommands/Level3.cpp +++ b/src/game/ChatCommands/Level3.cpp @@ -637,10 +637,6 @@ bool ChatHandler::HandleReloadNpcTextCommand(char* /*args*/) bool ChatHandler::HandleReloadNpcTrainerCommand(char* /*args*/) { - sLog.outString("Re-Loading `npc_trainer_template` Table!"); - sObjectMgr.LoadTrainerTemplates(); - SendGlobalSysMessage("DB table `npc_trainer_template` reloaded."); - sLog.outString("Re-Loading `npc_trainer` Table!"); sObjectMgr.LoadTrainers(); SendGlobalSysMessage("DB table `npc_trainer` reloaded."); @@ -650,10 +646,6 @@ bool ChatHandler::HandleReloadNpcTrainerCommand(char* /*args*/) bool ChatHandler::HandleReloadNpcVendorCommand(char* /*args*/) { // not safe reload vendor template tables independent... - sLog.outString("Re-Loading `npc_vendor_template` Table!"); - sObjectMgr.LoadVendorTemplates(); - SendGlobalSysMessage("DB table `npc_vendor_template` reloaded."); - sLog.outString("Re-Loading `npc_vendor` Table!"); sObjectMgr.LoadVendors(); SendGlobalSysMessage("DB table `npc_vendor` reloaded."); diff --git a/src/game/Object/ObjectMgr.cpp b/src/game/Object/ObjectMgr.cpp index b838bb168..7f57204e7 100644 --- a/src/game/Object/ObjectMgr.cpp +++ b/src/game/Object/ObjectMgr.cpp @@ -9408,41 +9408,6 @@ void ObjectMgr::LoadTrainers(char const* tableName, bool isTemplates) sLog.outString(">> Loaded %d trainer %sspells", count, isTemplates ? "template " : ""); } -void ObjectMgr::LoadTrainerTemplates() -{ - LoadTrainers("npc_trainer_template", true); - - // post loading check - std::set trainer_ids; - bool hasErrored = false; - - for (CacheTrainerSpellMap::const_iterator tItr = m_mCacheTrainerTemplateSpellMap.begin(); tItr != m_mCacheTrainerTemplateSpellMap.end(); ++tItr) - { trainer_ids.insert(tItr->first); } - - for (uint32 i = 1; i < sCreatureStorage.GetMaxEntry(); ++i) - { - if (CreatureInfo const* cInfo = sCreatureStorage.LookupEntry(i)) - { - if (cInfo->TrainerTemplateId) - { - if (m_mCacheTrainerTemplateSpellMap.find(cInfo->TrainerTemplateId) != m_mCacheTrainerTemplateSpellMap.end()) - { trainer_ids.erase(cInfo->TrainerTemplateId); } - else - { - sLog.outErrorDb("Creature (Entry: %u) has TrainerTemplateId = %u for nonexistent trainer template", cInfo->Entry, cInfo->TrainerTemplateId); - hasErrored = true; - } - } - } - } - - for (std::set::const_iterator tItr = trainer_ids.begin(); tItr != trainer_ids.end(); ++tItr) - { sLog.outErrorDb("Table `npc_trainer_template` has trainer template %u not used by any trainers ", *tItr); } - - if (hasErrored || !trainer_ids.empty()) // Append extra line in case of reported errors - { sLog.outString(); } -} - void ObjectMgr::LoadVendors(char const* tableName, bool isTemplates) { CacheVendorItemMap& vendorList = isTemplates ? m_mCacheVendorTemplateItemMap : m_mCacheVendorItemMap; @@ -9499,34 +9464,6 @@ void ObjectMgr::LoadVendors(char const* tableName, bool isTemplates) } -void ObjectMgr::LoadVendorTemplates() -{ - LoadVendors("npc_vendor_template", true); - - // post loading check - std::set vendor_ids; - - for (CacheVendorItemMap::const_iterator vItr = m_mCacheVendorTemplateItemMap.begin(); vItr != m_mCacheVendorTemplateItemMap.end(); ++vItr) - vendor_ids.insert(vItr->first); - - for (uint32 i = 1; i < sCreatureStorage.GetMaxEntry(); ++i) - { - if (CreatureInfo const* cInfo = sCreatureStorage.LookupEntry(i)) - { - if (cInfo->VendorTemplateId) - { - if (m_mCacheVendorTemplateItemMap.find(cInfo->VendorTemplateId) != m_mCacheVendorTemplateItemMap.end()) - vendor_ids.erase(cInfo->VendorTemplateId); - else - sLog.outErrorDb("Creature (Entry: %u) has VendorTemplateId = %u for nonexistent vendor template", cInfo->Entry, cInfo->VendorTemplateId); - } - } - } - - for (std::set::const_iterator vItr = vendor_ids.begin(); vItr != vendor_ids.end(); ++vItr) - sLog.outErrorDb("Table `npc_vendor_template` has vendor template %u not used by any vendors ", *vItr); -} - /* This function is supposed to take care of three things: * 1) Load Transports on Map or on Continents * 2) Load Active Npcs on Map or Continents diff --git a/src/game/Object/ObjectMgr.h b/src/game/Object/ObjectMgr.h index 22c627201..49f6625ca 100644 --- a/src/game/Object/ObjectMgr.h +++ b/src/game/Object/ObjectMgr.h @@ -825,9 +825,7 @@ class ObjectMgr void LoadGossipMenus(); - void LoadVendorTemplates(); void LoadVendors() { LoadVendors("npc_vendor", false); } - void LoadTrainerTemplates(); void LoadTrainers() { LoadTrainers("npc_trainer", false); } /// @param _map Map* of the map for which to load active entities. If NULL active entities on continents are loaded diff --git a/src/game/WorldHandlers/NPCHandler.cpp b/src/game/WorldHandlers/NPCHandler.cpp index d238b76ac..b287ddf7d 100644 --- a/src/game/WorldHandlers/NPCHandler.cpp +++ b/src/game/WorldHandlers/NPCHandler.cpp @@ -255,18 +255,13 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) // check present spell in trainer spell list TrainerSpellData const* cSpells = unit->GetTrainerSpells(); - TrainerSpellData const* tSpells = unit->GetTrainerTemplateSpells(); - if (!cSpells && !tSpells) + if (!cSpells) trainState = 1; // Try find spell in npc_trainer TrainerSpell const* trainer_spell = cSpells ? cSpells->Find(spellId) : NULL; - // Not found, try find in npc_trainer_template - if (!trainer_spell && tSpells) - trainer_spell = tSpells->Find(spellId); - // Not found anywhere, cheating? if (!trainer_spell) trainState = 1; diff --git a/src/game/WorldHandlers/World.cpp b/src/game/WorldHandlers/World.cpp index 805581554..512cfc706 100644 --- a/src/game/WorldHandlers/World.cpp +++ b/src/game/WorldHandlers/World.cpp @@ -1353,11 +1353,9 @@ void World::SetInitialWorldSettings() sObjectMgr.LoadGossipMenus(); sLog.outString("Loading Vendors..."); - sObjectMgr.LoadVendorTemplates(); // must be after load ItemTemplate sObjectMgr.LoadVendors(); // must be after load CreatureTemplate, VendorTemplate, and ItemTemplate sLog.outString("Loading Trainers..."); - sObjectMgr.LoadTrainerTemplates(); // must be after load CreatureTemplate sObjectMgr.LoadTrainers(); // must be after load CreatureTemplate, TrainerTemplate sLog.outString("Loading Waypoint scripts..."); // before loading from creature_movement