diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index a1907c9525..5d18140f20 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -1724,7 +1724,7 @@ void Creature::Respawn() //Call AI respawn virtual function AI()->JustRespawned(); - GetMap()->Add(this); + //GetMap()->Add(this); } } diff --git a/src/game/GridNotifiers.cpp b/src/game/GridNotifiers.cpp index e27abeccd0..fe1a072cf2 100644 --- a/src/game/GridNotifiers.cpp +++ b/src/game/GridNotifiers.cpp @@ -200,7 +200,8 @@ ObjectUpdater::Visit(GridRefManager &m) { for(typename GridRefManager::iterator iter = m.begin(); iter != m.end(); ++iter) { - iter->getSource()->Update(i_timeDiff); + if(iter->getSource()->IsInWorld()) + iter->getSource()->Update(i_timeDiff); } } diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index 3b9a7b7920..70f77b95ae 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -33,7 +33,7 @@ inline void Trinity::ObjectUpdater::Visit(CreatureMapType &m) { for(CreatureMapType::iterator iter=m.begin(); iter != m.end(); ++iter) - if(!iter->getSource()->isSpiritService()) + if(iter->getSource()->IsInWorld() && !iter->getSource()->isSpiritService()) iter->getSource()->Update(i_timeDiff); }