From e9d6f1b23a14ee50437b5949deca7ae97b388bb2 Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 21 Nov 2008 15:41:18 -0600 Subject: *Move object update from objectaccessor to map *Move activeobject list from objectaccessor to map *Open grid for all active creatures (previously only for possessed ones) --HG-- branch : trunk --- src/game/Object.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/game/Object.cpp') diff --git a/src/game/Object.cpp b/src/game/Object.cpp index ea59a448f7f..cc754f32bd3 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -990,36 +990,37 @@ WorldObject::WorldObject() WorldObject::~WorldObject() { - if(m_isActive && IsInWorld()) - ObjectAccessor::Instance().RemoveActiveObject(this); + if(m_isActive && !isType(TYPEMASK_PLAYER) && IsInWorld()) + GetMap()->RemoveActiveObject(this); } void WorldObject::setActive(bool isActive) { // if already in the same activity state as we try to set, do nothing - if(isActive == m_isActive) + if(isActive == m_isActive || isType(TYPEMASK_PLAYER)) return; + m_isActive = isActive; if(IsInWorld()) { if(isActive) - ObjectAccessor::Instance().AddActiveObject(this); + GetMap()->AddActiveObject(this); else - ObjectAccessor::Instance().RemoveActiveObject(this); + GetMap()->RemoveActiveObject(this); } } void WorldObject::AddToWorld() { Object::AddToWorld(); - if(m_isActive) - ObjectAccessor::Instance().AddActiveObject(this); + if(m_isActive && !isType(TYPEMASK_PLAYER)) + GetMap()->AddActiveObject(this); } void WorldObject::RemoveFromWorld() { - if(m_isActive) - ObjectAccessor::Instance().RemoveActiveObject(this); + if(m_isActive && !isType(TYPEMASK_PLAYER)) + GetMap()->RemoveActiveObject(this); Object::RemoveFromWorld(); } -- cgit v1.2.3