Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision 949cf702c364fd81f5261f60f7f4b14f92d65c87)
+++ server/server.cpp	(revision 204edcfabd7cdcdce0a9f3a3d8a8b26aab260601)
@@ -171,5 +171,5 @@
             if (p->currentGame != NULL) {
                map<unsigned int, Player*> playersInGame = p->currentGame->getPlayers();
-               if (p->updateTarget(playersInGame[p->targetPlayer]))
+               if (p->updateTarget(playersInGame))
                {
                   serverMsg.type = MSG_TYPE_PLAYER;
@@ -333,6 +333,6 @@
          {
             updateUnusedPlayerId(unusedPlayerId, mapPlayers);
-            p->id = unusedPlayerId;
-            cout << "new player id: " << p->id << endl;
+            p->setId(unusedPlayerId);
+            cout << "new player id: " << p->getId() << endl;
             p->setAddr(from);
             p->currentGame = NULL;
@@ -351,5 +351,5 @@
 
                cout << "sending info about " << it->second->name  << endl;
-               cout << "sending id " << it->second->id  << endl;
+               cout << "sending id " << it->second->getId()  << endl;
                msgProcessor.sendMessage(&serverMsg, &from);
             }
@@ -403,13 +403,14 @@
          {
             // broadcast to all players before deleting p from the map
+            unsigned int playerId = p->getId();
             serverMsg.type = MSG_TYPE_LOGOUT;
-            memcpy(serverMsg.buffer, &p->id, 4);
+            memcpy(serverMsg.buffer, &playerId, 4);
 
             msgProcessor.broadcastMessage(serverMsg, mapPlayers);
 
-            if (p->id < unusedPlayerId)
-               unusedPlayerId = p->id;
-
-            mapPlayers.erase(p->id);
+            if (p->getId() < unusedPlayerId)
+               unusedPlayerId = p->getId();
+
+            mapPlayers.erase(p->getId());
             delete p;
 
@@ -559,5 +560,5 @@
 
          Player* p = mapPlayers[id];
-         p->targetPlayer = targetId;
+         p->setTargetPlayer(targetId);
          p->isChasing = true;
 
@@ -627,5 +628,5 @@
             Player* p = findPlayerByAddr(mapPlayers, from);
 
-            if (players.find(p->id) != players.end()) {
+            if (players.find(p->getId()) != players.end()) {
                cout << "Player " << p->name << " trying to join a game he's already in" << endl;
                serverMsg.type = MSG_TYPE_JOIN_GAME_FAILURE;
@@ -667,8 +668,9 @@
 
             p->currentGame = NULL;
-            g->removePlayer(p->id);
-
+            g->removePlayer(p->getId());
+
+            unsigned int playerId = p->getId();
             serverMsg.type = MSG_TYPE_LEAVE_GAME;
-            memcpy(serverMsg.buffer, &p->id, 4);
+            memcpy(serverMsg.buffer, &playerId, 4);
             strcpy(serverMsg.buffer+4, g->getName().c_str());
             msgProcessor.broadcastMessage(serverMsg, g->getPlayers());
@@ -755,5 +757,5 @@
 
             cout << "sending info about " << it->second->name  << endl;
-            cout << "sending id " << it->second->id  << endl;
+            cout << "sending id " << it->second->getId()  << endl;
             msgProcessor.sendMessage(&serverMsg, &from);
          }
