diff --git a/src/object/object_manager.cpp b/src/object/object_manager.cpp index c8d8cef7..0b4daed9 100644 --- a/src/object/object_manager.cpp +++ b/src/object/object_manager.cpp @@ -71,7 +71,7 @@ bool CObjectManager::DeleteObject(CObject* instance) it->second.reset(); m_shouldCleanRemovedObjects = true; return true; - } + } else assert(false); return false; } diff --git a/src/script/scriptfunc.cpp b/src/script/scriptfunc.cpp index 7721e2b2..20a85bb2 100644 --- a/src/script/scriptfunc.cpp +++ b/src/script/scriptfunc.cpp @@ -657,7 +657,7 @@ bool CScriptFunctions::rDelete(CBotVar* var, CBotVar* result, int& exception, vo } CObject* obj = CObjectManager::GetInstancePointer()->GetObjectById(rank); - if ( obj == nullptr ) + if ( obj == nullptr || (obj->Implements(ObjectInterfaceType::Old) && dynamic_cast(obj)->IsDying()) ) { return true; }