aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp32
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:
{