mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[8250] Cleanup code and data for spell_threat
* Load table data to std::map instead SQLStorage and add check loaded spell existance. * Drop from table not existed spells. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
13b709a10b
commit
fd2eb3cfee
9 changed files with 64 additions and 33 deletions
|
|
@ -989,12 +989,50 @@ void SpellMgr::LoadSpellElixirs()
|
|||
|
||||
void SpellMgr::LoadSpellThreats()
|
||||
{
|
||||
sSpellThreatStore.Free(); // for reload
|
||||
mSpellThreatMap.clear(); // need for reload case
|
||||
|
||||
sSpellThreatStore.Load();
|
||||
uint32 count = 0;
|
||||
|
||||
// 0 1
|
||||
QueryResult *result = WorldDatabase.Query("SELECT entry, Threat FROM spell_threat");
|
||||
if( !result )
|
||||
{
|
||||
|
||||
barGoLink bar( 1 );
|
||||
|
||||
bar.step();
|
||||
|
||||
sLog.outString();
|
||||
sLog.outString( ">> Loaded %u aggro generating spells", count );
|
||||
return;
|
||||
}
|
||||
|
||||
barGoLink bar( result->GetRowCount() );
|
||||
|
||||
do
|
||||
{
|
||||
Field *fields = result->Fetch();
|
||||
|
||||
bar.step();
|
||||
|
||||
uint32 entry = fields[0].GetUInt32();
|
||||
uint16 Threat = fields[1].GetUInt16();
|
||||
|
||||
if (!sSpellStore.LookupEntry(entry))
|
||||
{
|
||||
sLog.outErrorDb("Spell %u listed in `spell_threat` does not exist", entry);
|
||||
continue;
|
||||
}
|
||||
|
||||
mSpellThreatMap[entry] = Threat;
|
||||
|
||||
++count;
|
||||
} while( result->NextRow() );
|
||||
|
||||
delete result;
|
||||
|
||||
sLog.outString( ">> Loaded %u aggro generating spells", sSpellThreatStore.RecordCount );
|
||||
sLog.outString();
|
||||
sLog.outString( ">> Loaded %u aggro generating spells", count );
|
||||
}
|
||||
|
||||
bool SpellMgr::IsRankSpellDueToSpell(SpellEntry const *spellInfo_1,uint32 spellId_2) const
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue