private void GetBestTiles(BoardCreator board, List <Tile> movementTiles)
    {
        moveTarget = null;

        int leastMoveDist = 100;
        int bestValue     = 0;

        AttackPattern pattern = GetComponent <AttackPattern>();

        foreach (Tile t in movementTiles)
        {
            List <List <Tile> > inRange = pattern.GetTilesInRange(board, t.pos);

            foreach (List <Tile> targets in inRange)
            {
                int value = GetTileGroupValue(targets);
                if (value >= bestValue)
                {
                    if (value > bestValue ||
                        (GetMoveDist(t) < leastMoveDist))
                    {
                        attackTarget = targets;
                        bestValue    = value;

                        moveTarget    = t;
                        leastMoveDist = GetMoveDist(t);
                    }
                }
            }
        }
    }