[7886] Drop use table petcreateinfo_spell

This is first commit in chain for remove oudated and not used pet functionality.

    * Use instead dropped table CreatureSpellData.dbc if creature_template.PetSpellDataId set (mostly hunter pets)
    * Use creature_template.spellN if not set creature_template.PetSpellDataId (mostly different summon creatures)
    * Fixed bug with not removing from action bar spell icon for not ranked unlearned spells.

    Note: summoned controllable creatures without PetSpellDataId must have expected spells in spellN feilds for creature_template.

[7887] Drop pet spell teaching code, including field in character_pet.

Author: VladimirMangos

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-24 12:16:12 -05:00
parent aa67033cc7
commit 09b386a786
20 changed files with 236 additions and 263 deletions
-4
View File
@@ -113,7 +113,6 @@ enum PetNameInvalidReason
};
typedef UNORDERED_MAP<uint32, PetSpell> PetSpellMap;
typedef std::map<uint32,uint32> TeachSpellMap;
typedef std::vector<uint32> AutoSpellList;
#define HAPPINESS_LEVEL_SIZE 333000
@@ -185,7 +184,6 @@ class Pet : public Guardian
void ToggleAutocast(uint32 spellid, bool apply);
bool HasSpell(uint32 spell) const;
void AddTeachSpell(uint32 learned_id, uint32 source_id) { m_teachspells[learned_id] = source_id; }
void LearnPetPassives();
void CastPetAuras(bool current);
@@ -206,11 +204,9 @@ class Pet : public Guardian
bool removeSpell(uint32 spell_id, bool learn_prev);
PetSpellMap m_spells;
TeachSpellMap m_teachspells;
AutoSpellList m_autospells;
void InitPetCreateSpells();
void CheckLearning(uint32 spellid);
bool resetTalents(bool no_cost = false);
uint32 resetTalentsCost() const;