diff --git a/src/activeobject.h b/src/activeobject.h index 76893280a..48f078d3f 100644 --- a/src/activeobject.h +++ b/src/activeobject.h @@ -26,12 +26,13 @@ with this program; if not, write to the Free Software Foundation, Inc., enum ActiveObjectType { ACTIVEOBJECT_TYPE_INVALID = 0, ACTIVEOBJECT_TYPE_TEST = 1, +// Deprecated stuff ACTIVEOBJECT_TYPE_ITEM = 2, - // Compat layer, migrating objects from 0.3 to 0.4+ ACTIVEOBJECT_TYPE_RAT = 3, ACTIVEOBJECT_TYPE_OERKKI1 = 4, ACTIVEOBJECT_TYPE_FIREFLY = 5, ACTIVEOBJECT_TYPE_MOBV2 = 6, +// End deprecated stuff ACTIVEOBJECT_TYPE_LUAENTITY = 7, // Special type, not stored as a static object ACTIVEOBJECT_TYPE_PLAYER = 100, diff --git a/src/serverobject.cpp b/src/serverobject.cpp index 98d82550f..9cf817859 100644 --- a/src/serverobject.cpp +++ b/src/serverobject.cpp @@ -46,6 +46,11 @@ ServerActiveObject* ServerActiveObject::create(ActiveObjectType type, std::map::iterator n; n = m_types.find(type); if(n == m_types.end()) { + // These are 0.3 entity types, return without error. + if (ACTIVEOBJECT_TYPE_ITEM <= type && type <= ACTIVEOBJECT_TYPE_MOBV2) { + return NULL; + } + // If factory is not found, just return. dstream<<"WARNING: ServerActiveObject: No factory for type=" <