int old_posX = posX;
    int old_posY = posY;
    int old_posZ = posZ;
    int signx = posX < attacker.getX() ? -1 : 1;
    int signy = posY < attacker.getY() ? -1 : 1;
    int range = (int) (((0.71 * actor.calculateAttackDelay()) / 1000) * actor.getMoveSpeed());
    posX += signx * range;
    posY += signy * range;
    posZ = GeoEngine.getHeight(posX, posY, posZ, actor.getGeoIndex());
    if (GeoEngine.canMoveToCoord(old_posX, old_posY, old_posZ, posX, posY, posZ, actor.getGeoIndex()))
    {