Show
Ignore:
Timestamp:
11/22/08 00:35:41 (17 years ago)
Author:
yumileroy
Message:

Delete possessed AI only on creature delete.

Original author: gvcoman
Date: 2008-11-16 14:38:02-05:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/Object.cpp

    r268 r272  
    991991WorldObject::~WorldObject() 
    992992{ 
    993     if(m_isActive && !isType(TYPEMASK_PLAYER) && IsInWorld()) 
    994         GetMap()->RemoveActiveObject(this); 
     993    if(m_isActive && IsInWorld()) 
     994        ObjectAccessor::Instance().RemoveActiveObject(this); 
    995995} 
    996996 
     
    998998{ 
    999999    // if already in the same activity state as we try to set, do nothing 
    1000     if(isActive == m_isActive || isType(TYPEMASK_PLAYER)) 
     1000    if(isActive == m_isActive) 
    10011001        return; 
    1002  
    10031002    m_isActive = isActive; 
    10041003    if(IsInWorld()) 
    10051004    { 
    10061005        if(isActive) 
    1007             GetMap()->AddActiveObject(this); 
     1006            ObjectAccessor::Instance().AddActiveObject(this); 
    10081007        else 
    1009             GetMap()->RemoveActiveObject(this); 
     1008            ObjectAccessor::Instance().RemoveActiveObject(this); 
    10101009    } 
    10111010} 
     
    10141013{ 
    10151014    Object::AddToWorld(); 
    1016     if(m_isActive && !isType(TYPEMASK_PLAYER)) 
    1017         GetMap()->AddActiveObject(this); 
     1015    if(m_isActive) 
     1016        ObjectAccessor::Instance().AddActiveObject(this); 
    10181017} 
    10191018 
    10201019void WorldObject::RemoveFromWorld() 
    10211020{ 
    1022     if(m_isActive && !isType(TYPEMASK_PLAYER)) 
    1023         GetMap()->RemoveActiveObject(this); 
     1021    if(m_isActive) 
     1022        ObjectAccessor::Instance().RemoveActiveObject(this); 
    10241023    Object::RemoveFromWorld(); 
    10251024}