Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision 483a2cbffa8e45e132cf7cbd05ef22a15f82bb12)
+++ server/server.cpp	(revision 45734ffbdc402a252cd6cb03ff255cd673cfce55)
@@ -48,5 +48,4 @@
 
 void updateUnusedPlayerId(unsigned int& id, map<unsigned int, Player*>& mapPlayers);
-void updateUnusedProjectileId(unsigned int& id, map<unsigned int, Projectile>& mapProjectiles);
 Player *findPlayerByName(map<unsigned int, Player*> &m, string name);
 Player *findPlayerByAddr(map<unsigned int, Player*> &m, const sockaddr_in &addr);
@@ -476,10 +475,10 @@
 
                   Projectile proj(p->pos.x, p->pos.y, p->targetPlayer, p->damage);
-                  proj.id = unusedProjectileId;
-                  updateUnusedProjectileId(unusedProjectileId, mapProjectiles);
-                  mapProjectiles[proj.id] = proj;
-
-                  int x = it->second->pos.x;
-                  int y = it->second->pos.y;
+                  p->currentGame->assignProjectileId(&proj);
+                  
+                  p->currentGame->addProjectile(proj);
+
+                  int x = p->pos.x;
+                  int y = p->pos.y;
 
                   serverMsg.type = MSG_TYPE_PROJECTILE;
@@ -487,5 +486,5 @@
                   memcpy(serverMsg.buffer+4, &x, 4);
                   memcpy(serverMsg.buffer+8, &y, 4);
-                  memcpy(serverMsg.buffer+12, &it->second->targetPlayer, 4);
+                  memcpy(serverMsg.buffer+12, &p->targetPlayer, 4);
                }
                else
@@ -507,4 +506,5 @@
          // move all projectiles
          // see if this can be moved inside the game class
+         // this method can be moved when I add a MessageProcessor to the Game class
          map<unsigned int, Projectile>::iterator itProj;
          for (itProj = mapProjectiles.begin(); itProj != mapProjectiles.end(); itProj++)
@@ -1198,10 +1198,4 @@
 }
 
-void updateUnusedProjectileId(unsigned int& id, map<unsigned int, Projectile>& mapProjectiles)
-{
-   while (mapProjectiles.find(id) != mapProjectiles.end())
-      id++;
-}
-
 Player *findPlayerByName(map<unsigned int, Player*> &m, string name)
 {
