From 558a5707ff50edf93375ae6e50335422c9ec13e4 Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 3 May 2009 10:34:02 -0500 Subject: [PATCH] *Only update object which are in world. --HG-- branch : trunk --- src/game/Creature.cpp | 2 +- src/game/GridNotifiers.cpp | 3 ++- src/game/GridNotifiersImpl.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) 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); }