diff options
author | megamage <none@none> | 2009-03-29 09:45:47 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-03-29 09:45:47 -0600 |
commit | 09342fe2bec069efa06643242dd28eadf74f6054 (patch) | |
tree | 84d8b95adfe3b46838d2494078440b8b6a7b9e13 /src | |
parent | 60710d6116578a496a2684099dc7fbf516429531 (diff) |
*Fix a crash when toggle autocast for pet.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Pet.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index cfa4d9a09f1..a3591e47f65 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -233,6 +233,9 @@ bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool CharacterDatabase.CommitTransaction(); } + _LoadSpells(); + _LoadSpellCooldowns(); + if(!is_temporary_summoned) { // permanent controlled pets store state in DB @@ -303,8 +306,6 @@ bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool // Spells should be loaded after pet is added to map, because in CheckCast is check on it _LoadAuras(timediff); - _LoadSpells(); - _LoadSpellCooldowns(); LearnPetPassives(); CastPetAuras(current); @@ -1634,12 +1635,9 @@ void Pet::ToggleAutocast(uint32 spellid, bool apply) if(IsPassiveSpell(spellid)) return; - //if(const SpellEntry *tempSpell = GetSpellStore()->LookupEntry(spellid)) - // if(tempSpell->EffectImplicitTargetA[0] != TARGET_ALL_AROUND_CASTER - // && tempSpell->EffectImplicitTargetA[0] != TARGET_CHAIN_DAMAGE) - // return; - PetSpellMap::const_iterator itr = m_spells.find(spellid); + if(itr == m_spells.end()) + return; int i; |