Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision e6c26b8e97335601a55a8fba77c10c05b3b08c98)
+++ client/Client/main.cpp	(revision 95ffe57f853925b844eb4eb85ce0128dfc33ed24)
@@ -674,16 +674,18 @@
                {
                   wndCurrent = wndLobby;
-                  
-                  Player p("", "");
-                  p.deserialize(msg.buffer);
-
-                  if (mapPlayers.find(p.id) != mapPlayers.end())
-                     delete mapPlayers[p.id];
-                  mapPlayers[p.id] = new Player(p);
-                  curPlayerId = p.id;
+                
+                  // this message should only be sent when a player first logs in so they know their id
+  
+                  Player* p = new Player("", "");
+                  p->deserialize(msg.buffer);
+
+                  if (mapPlayers.find(p->id) != mapPlayers.end())
+                     delete mapPlayers[p->id];
+                  mapPlayers[p->id] = p;
+                  curPlayerId = p->id;
 
                   cout << "Got a valid login response with the player" << endl;
                   cout << "Player id: " << curPlayerId << endl;
-                  cout << "Player health: " << p.health << endl;
+                  cout << "Player health: " << p->health << endl;
                   cout << "player map size: " << mapPlayers.size() << endl;
                }
@@ -708,16 +710,16 @@
                cout << "Received MSG_TYPE_PLAYER" << endl;
 
-               Player p("", "");
-               p.deserialize(msg.buffer);
-               p.timeLastUpdated = getCurrentMillis();
-               p.isChasing = false;
-               if (p.health <= 0)
-                  p.isDead = true;
+               Player* p = new Player("", "");
+               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())
-                    delete mapPlayers[p.id];
-               mapPlayers[p.id] = new Player(p);
+                  p->isDead = false;
+
+               if (mapPlayers.find(p->id) != mapPlayers.end())
+                    delete mapPlayers[p->id];
+               mapPlayers[p->id] = p;
 
                break;
