diff options
-rw-r--r-- | src/game-server/collisiondetection.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/game-server/collisiondetection.cpp b/src/game-server/collisiondetection.cpp index 9aab4c5b..0e1ac288 100644 --- a/src/game-server/collisiondetection.cpp +++ b/src/game-server/collisiondetection.cpp @@ -282,8 +282,10 @@ Collision::diskWithCircleSector2(const Point &diskCenter, int diskRadius, bool Collision::circleWithCircle(const Point ¢er1, int radius1, const Point ¢er2, int radius2) { - int distx = center1.x - center2.x; - int disty = center1.y - center2.y; - double dist = sqrt((distx * distx) + (disty * disty)); - return (dist < radius1 + radius2); + const int touchDistance = radius1 + radius2; + const int distX = center1.x - center2.x; + const int distY = center1.y - center2.y; + const int distSquared = distX * distX + distY * distY; + + return distSquared < touchDistance * touchDistance; } |