Remove Remnants of Two obsolete tables: npc_trainer_template & npc_vendor_template

This commit is contained in:
Antz 2018-01-06 22:51:51 +00:00 committed by Antz
parent c95097c759
commit aaa2affd6d
5 changed files with 1 additions and 81 deletions

View file

@ -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.");

View file

@ -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<uint32> 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<CreatureInfo>(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<uint32>::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<uint32> 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<CreatureInfo>(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<uint32>::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

View file

@ -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

View file

@ -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;

View file

@ -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