Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision 06fc7f78e011d09aa9306419f8a31e5fb549e791)
+++ client/Client/main.cpp	(revision e70b66bb0d52492812e9ccf47ea36e3ddd705270)
@@ -432,15 +432,24 @@
                   target = it->second;
                   cout << "set target" << endl;
-                  if (target->getId() != curPlayerId && target->team != curPlayer->team)
+                  if (target->team != curPlayer->team)
                   {
                      cout << "Found valid target" << endl;
 
-                     unsigned int targetId = target->getId();
-
-                     msgTo.type = MSG_TYPE_ATTACK;
-                     memcpy(msgTo.buffer, &curPlayerId, 4);
-                     memcpy(msgTo.buffer+4, &targetId, 4);
-
-                     msgProcessor.sendMessage(&msgTo, &server);
+                     POSITION cursorPos;
+                     cursorPos.x = ev.mouse.x;
+                     cursorPos.y = ev.mouse.y;
+                     cursorPos = screenToMap(cursorPos);
+
+                     float distance =posDistance(cursorPos.toFloat(), target->pos);
+
+                     if (distance < 25) {
+                        unsigned int targetId = target->getId();
+
+                        msgTo.type = MSG_TYPE_ATTACK;
+                        memcpy(msgTo.buffer, &curPlayerId, 4);
+                        memcpy(msgTo.buffer+4, &targetId, 4);
+
+                        msgProcessor.sendMessage(&msgTo, &server);
+                     }
                   }
                }
