*Fix some crashes possibly related to vehicles.

*Fix a bug that client crashes when seer is far away from caster.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-23 20:13:37 -06:00
parent dcb08352e7
commit f18a9c916d
6 changed files with 116 additions and 41 deletions
+13 -8
View File
@@ -166,19 +166,24 @@ Creature::~Creature()
void Creature::AddToWorld()
{
///- Register the creature for guid lookup
if(!IsInWorld()) ObjectAccessor::Instance().AddObject(this);
Unit::AddToWorld();
SearchFormation();
if(!IsInWorld())
{
ObjectAccessor::Instance().AddObject(this);
Unit::AddToWorld();
SearchFormation();
}
}
void Creature::RemoveFromWorld()
{
if(m_formationID)
formation_mgr.DestroyGroup(m_formationID, GetGUID());
///- Remove the creature from the accessor
if(IsInWorld()) ObjectAccessor::Instance().RemoveObject(this);
Unit::RemoveFromWorld();
if(IsInWorld())
{
if(m_formationID)
formation_mgr.DestroyGroup(m_formationID, GetGUID());
ObjectAccessor::Instance().RemoveObject(this);
Unit::RemoveFromWorld();
}
}
void Creature::SearchFormation()