Not store dependent spells in character_spell

* Mark spells learned in result character creating, another spell learning, skill grow,
  quest reward as dependent and not store its in `character_spell`.
* Prevent re-learning known spell in expected state
* Prevent re-learning low rank spell as active if higher rank known.
* New type of non-stacked ranked spells check: skill dependent spell bonuses.
* Activate (show propetly and cast if need) lesser spell rank
  for non-stackable in spellbooks spells at unlearn high rank
This commit is contained in:
VladimirMangos 2009-01-24 07:18:02 +03:00
parent 4b5aba18f8
commit bbf8fd0742
10 changed files with 222 additions and 85 deletions

View file

@ -127,7 +127,7 @@ void WorldSession::HandleLearnTalentOpcode( WorldPacket & recv_data )
return;
// learn! (other talent ranks will unlearned at learning)
GetPlayer( )->learnSpell(spellid);
GetPlayer( )->learnSpell(spellid,false);
sLog.outDetail("TalentID: %u Rank: %u Spell: %u\n", talent_id, requested_rank, spellid);
// update free talent points