Made environment to not consider disconnected players when dealing with ActiveObjects
authorPerttu Ahola <celeron55@gmail.com>
Sun, 10 Apr 2011 20:05:21 +0000 (23:05 +0300)
committerPerttu Ahola <celeron55@gmail.com>
Sun, 10 Apr 2011 20:05:21 +0000 (23:05 +0300)
src/environment.cpp

index 77746c5bea1157aa759a043d72b89951e5661f5d..efcdbbd156c6287469d6f18d5ea997cee8db5e43 100644 (file)
@@ -397,6 +397,11 @@ void ServerEnvironment::step(float dtime)
                        i != m_players.end(); i++)
        {
                Player *player = *i;
+               
+               // Ignore disconnected players
+               if(player->peer_id == 0)
+                       continue;
+
                v3f playerpos = player->getPosition();
                
                // Move
@@ -504,6 +509,11 @@ void ServerEnvironment::step(float dtime)
                        i != m_players.end(); i++)
        {
                Player *player = *i;
+               
+               // Ignore disconnected players
+               if(player->peer_id == 0)
+                       continue;
+
                v3f playerpos = player->getPosition();
                
                v3s16 blockpos0 = getNodeBlockPos(floatToInt(playerpos, BS));
@@ -589,6 +599,11 @@ void ServerEnvironment::step(float dtime)
                                        i != m_players.end(); i++)
                        {
                                Player *player = *i;
+                               
+                               // Ignore disconnected players
+                               if(player->peer_id == 0)
+                                       continue;
+
                                v3f playerpos = player->getPosition();
                                f32 d = playerpos.getDistanceFrom(objectpos);
                                if(d < to_static_max_f)