diff options
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r-- | src/game/Creature.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 8c120309217..ad3f435ae53 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -177,19 +177,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() |