diff options
Diffstat (limited to 'src/game/SpellEffects.cpp')
| -rw-r--r-- | src/game/SpellEffects.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 2edd987687c..c1e08006ad9 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4736,6 +4736,38 @@ void Spell::EffectScriptEffect(uint32 effIndex) { switch(m_spellInfo->Id) { + case 6962: + { + if(m_caster->GetTypeId()!=TYPEID_PLAYER) + return; + + Player* plr = ((Player*)m_caster); + if(plr && plr->GetLastPetNumber()) + { + PetType NewPetType = (plr->getClass()==CLASS_HUNTER) ? HUNTER_PET : SUMMON_PET; + if (Pet* NewPet = new Pet(plr,NewPetType)) + { + if(NewPet->LoadPetFromDB(plr, 0, plr->GetLastPetNumber(), true)) + { + NewPet->SetHealth(NewPet->GetMaxHealth()); + NewPet->SetPower(NewPet->getPowerType(),NewPet->GetMaxPower(NewPet->getPowerType())); + + switch (NewPet->GetEntry()) + { + case 11859: + case 89: + NewPet->SetEntry(416); + break; + default: + break; + } + } + else + delete NewPet; + } + } + return; + } // Glyph of Starfire case 54846: { |
