diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index e8aaf6c1b..afd3122ab 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5441,14 +5441,12 @@ void Spell::EffectSummonPet(SpellEffectIndex eff_idx) return; } - // not error in case fail hunter call pet - if (!petentry) - return; + CreatureInfo const* cInfo = petentry ? sCreatureStorage.LookupEntry(petentry) : NULL; - CreatureInfo const* cInfo = sCreatureStorage.LookupEntry(petentry); - if(!cInfo) + // == 0 in case call current pet, check only real summon case + if (petentry && !cInfo) { - sLog.outErrorDb("EffectSummonPet: creature entry %u not found.", petentry); + sLog.outErrorDb("EffectSummonPet: creature entry %u not found for spell %u.", petentry, m_spellInfo->Id); return; } @@ -5458,6 +5456,13 @@ void Spell::EffectSummonPet(SpellEffectIndex eff_idx) if (m_caster->GetTypeId() == TYPEID_PLAYER && NewSummon->LoadPetFromDB((Player*)m_caster, petentry)) return; + // not error in case fail hunter call pet + if (!petentry) + { + delete NewSummon; + return; + } + CreatureCreatePos pos(m_caster, m_caster->GetOrientation()); Map *map = m_caster->GetMap(); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index c6ca528f6..d5b7b658b 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11326" + #define REVISION_NR "11327" #endif // __REVISION_NR_H__