[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

@@ -20563,12 +20563,19 @@ bool Player::IsAllowUseFlyMountsHere() const
return v_map == 530 || v_map == 571 && HasSpell(54197) && zoneId != 4197;
}
struct DoPlayerLearnSpell
{
DoPlayerLearnSpell(Player& _player) : player(_player) {}
void operator() (uint32 spell_id) { player.learnSpell(spell_id,false); }
Player& player;
};
void Player::learnSpellHighRank(uint32 spellid)
{
learnSpell(spellid,false);
if(uint32 next = spellmgr.GetNextSpellInChain(spellid))
learnSpellHighRank(next);
DoPlayerLearnSpell worker(*this);
spellmgr.doForHighRanks(spellid,worker);
}
void Player::_LoadSkills()