[8251] Store in some DB tables only data for first rank. Author: VladimirMangos

* Allow add to DB data only for first rank in table `mangos_spell_bonus_data` and `mangos_spell_proc_event`.
    * Copy data for other ranks for speedup use at loading for this data and data from `spell_proc_item_enchant`.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-07-31 10:21:57 +08:00
parent 4abac06cf0
commit 2bddcc4303
7 changed files with 533 additions and 145 deletions

View File

@@ -1858,12 +1858,19 @@ void Pet::CastPetAura(PetAura const* aura)
CastSpell(this, auraId, true);
}
struct DoPetLearnSpell
{
DoPetLearnSpell(Pet& _pet) : pet(_pet) {}
void operator() (uint32 spell_id) { pet.learnSpell(spell_id); }
Pet& pet;
};
void Pet::learnSpellHighRank(uint32 spellid)
{
learnSpell(spellid);
if(uint32 next = spellmgr.GetNextSpellInChain(spellid))
learnSpellHighRank(next);
DoPetLearnSpell worker(*this);
spellmgr.doForHighRanks(spellid,worker);
}
void Pet::SynchronizeLevelWithOwner()