Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision ff2133aee0f65c9b2661b1823a42193172c15167)
+++ server/server.cpp	(revision 02fa8fd04ead345b5f82ffd28b574c7df26df2f4)
@@ -119,5 +119,6 @@
 
    sock = socket(AF_INET, SOCK_DGRAM, 0);
-   if (sock < 0) error("Opening socket");
+   if (sock < 0)
+      error("Opening socket");
    length = sizeof(server);
    bzero(&server,length);
@@ -149,22 +150,15 @@
          // set targets for all chasing players (or make them attack if they're close enough)
          for (it = mapPlayers.begin(); it != mapPlayers.end(); it++) {
-            //Player* p = &it->second;
-            it->second.updateTarget(mapPlayers);
-
-            /*
-            if (p->isChasing) {
-               p->target.x = mapPlayers[p->targetPlayer].pos.x;
-               p->target.y = mapPlayers[p->targetPlayer].pos.y;
-
-               if (posDistance(p->pos, p->target.toFloat()) <= p->range) {
-                  p->target.x = p->pos.x;
-                  p->target.y = p->pos.y;
-
-                  p->isChasing = false;
-                  p->isAttacking = true;
-                  p->timeAttackStarted = getCurrentMillis();
-               }
-            }
-            */
+            if (it->second.updateTarget(mapPlayers)) {
+               serverMsg.type = MSG_TYPE_PLAYER;
+               it->second.serialize(serverMsg.buffer);
+
+               map<unsigned int, Player>::iterator it2;
+               for (it2 = mapPlayers.begin(); it2 != mapPlayers.end(); it2++)
+               {
+                  if ( sendMessage(&serverMsg, sock, &(it2->second.addr)) < 0 )
+                     error("sendMessage");
+               }
+            }
          }
 
@@ -187,4 +181,5 @@
                      it->second.target.x = it->second.pos.x;
                      it->second.target.y = it->second.pos.y;
+                     it->second.isChasing = false;
                      broadcastMove = true;
                      break;
@@ -689,4 +684,7 @@
                mapPlayers[id].target.y = y;
 
+               mapPlayers[id].isChasing = false;
+               mapPlayers[id].isAttacking = false;
+
                serverMsg.type = MSG_TYPE_PLAYER_MOVE;
                
