Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision 31b347aaa3120cff68d5c203fbdfd342c3bb194d)
+++ client/Client/main.cpp	(revision 601217858755afaf65351d075022aa0e2f9da90a)
@@ -892,5 +892,4 @@
                string gameName(msg.buffer);         
                game = new Game(gameName, "../../data/map.txt");
-               game->addPlayer(mapPlayers[curPlayerId]);
                cout << "Game name: " << gameName << endl;
 
@@ -963,8 +962,23 @@
 
                break;
-
-               // there's a problem here because PLAYER messages will be sent
-               // for players in this game as well as for new players logging in
-               // we might need two different message types
+            }
+            case MSG_TYPE_PLAYER_JOIN_GAME:
+            {
+               cout << "Received MSG_TYPE_PLAYER_JOIN_GAME" << endl;
+
+               Player p("", "");
+               p.deserialize(msg.buffer);
+               p.timeLastUpdated = getCurrentMillis();
+               p.isChasing = false;
+               if (p.health <= 0)
+                  p.isDead = true;
+               else
+                  p.isDead = false;
+
+               if (mapPlayers.find(p.id) != mapPlayers.end())
+                  *(mapPlayers[p.id]) = p;
+               else
+                  mapPlayers[p.id] = new Player(p);
+
                game->addPlayer(mapPlayers[p.id]);
 
