aboutsummaryrefslogtreecommitdiff
path: root/src/serverenvironment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serverenvironment.cpp')
-rw-r--r--src/serverenvironment.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp
index 8d86a4e0a..61faaace7 100644
--- a/src/serverenvironment.cpp
+++ b/src/serverenvironment.cpp
@@ -1941,11 +1941,14 @@ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s)
If block wasn't generated (not in memory or on disk),
*/
-void ServerEnvironment::deactivateFarObjects(bool force_delete)
+void ServerEnvironment::deactivateFarObjects(bool _force_delete)
{
std::vector<u16> objects_to_remove;
for(ActiveObjectMap::iterator i = m_active_objects.begin();
i != m_active_objects.end(); ++i) {
+ // force_delete might be overriden per object
+ bool force_delete = _force_delete;
+
ServerActiveObject* obj = i->second;
assert(obj);
@@ -2147,13 +2150,6 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
continue;
}
- if (!force_delete && obj->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
- warningstream << "ServerEnvironment::deactivateFarObjects(): "
- << "Trying to delete player object, THIS SHOULD NEVER HAPPEN!"
- << std::endl;
- continue;
- }
-
verbosestream<<"ServerEnvironment::deactivateFarObjects(): "
<<"object id="<<id<<" is not known by clients"
<<"; deleting"<<std::endl;