From a6e7a836449456ea06506420f1c943bc10214a16 Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 26 Aug 2009 21:17:47 -0500 Subject: [PATCH] *Fix a crash caused by recall pet. Thanks to nanouniko --HG-- branch : trunk --- src/game/SpellEffects.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 4f1195d001..b23efd2731 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4131,14 +4131,17 @@ void Spell::EffectSummonPet(uint32 i) if( OldSummon->isDead() ) return; - OldSummon->GetMap()->Remove((Creature*)OldSummon,false); + assert(OldSummon->GetMap() == owner->GetMap()); + + //OldSummon->GetMap()->Remove((Creature*)OldSummon,false); float px, py, pz; owner->GetClosePoint(px, py, pz, OldSummon->GetObjectSize()); - OldSummon->Relocate(px, py, pz, OldSummon->GetOrientation()); - OldSummon->SetMap(owner->GetMap()); - owner->GetMap()->Add((Creature*)OldSummon); + OldSummon->NearTeleportTo(px, py, pz, OldSummon->GetOrientation()); + //OldSummon->Relocate(px, py, pz, OldSummon->GetOrientation()); + //OldSummon->SetMap(owner->GetMap()); + //owner->GetMap()->Add((Creature*)OldSummon); if(owner->GetTypeId() == TYPEID_PLAYER && OldSummon->isControlled() ) {