Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision 8c741508ab5c734f9b7b170f6cc64e940a7a101a)
+++ client/Client/main.cpp	(revision 032e550f203118773ba914a911e18d4385ce71c2)
@@ -351,6 +351,11 @@
             al_draw_text(font, al_map_rgb(0, 255, 0), 515, 80, ALLEGRO_ALIGN_LEFT, ossScoreRed.str().c_str());
 
-            // update player positions
+            // update players
             map<unsigned int, Player>::iterator it;
+            for (it = mapPlayers.begin(); it != mapPlayers.end(); it++)
+            {
+               it->second.updateTarget(mapPlayers);
+            }
+
             for (it = mapPlayers.begin(); it != mapPlayers.end(); it++)
             {
@@ -483,6 +488,4 @@
 {
    string response = string(msg.buffer);
-
-   cout << "Processing message" << endl;
 
    switch(state)
@@ -588,9 +591,10 @@
             case MSG_TYPE_PLAYER:
             {
-               cout << "Got MSG_TYPE_PLAYER message in STATE_LOGIN" << endl;
+               //cout << "Got MSG_TYPE_PLAYER message in STATE_LOGIN" << endl;
 
                Player p("", "");
                p.deserialize(msg.buffer);
                p.timeLastUpdated = getCurrentMillis();
+               p.isChasing = false;
                mapPlayers[p.id] = p;
 
@@ -652,4 +656,23 @@
             case MSG_TYPE_ATTACK:
             {
+               cout << "Received ATTACK message" << endl;
+
+               break;
+            }
+            case MSG_TYPE_START_ATTACK:
+            {
+               cout << "Received START_ATTACK message" << endl;
+
+               unsigned int id, targetID;
+               memcpy(&id, msg.buffer, 4);
+               memcpy(&targetID, msg.buffer+4, 4);
+
+               cout << "source id: " << id << endl;
+               cout << "target id: " << targetID << endl;
+
+               Player* source = &mapPlayers[id];
+               source->targetPlayer = targetID;
+               source->isChasing = true;
+
                break;
             }
