def external_war(request, game_id, player_no, civ, cell):
    civ = int(civ)
    cell = int(cell)

    g = Game.objects.get(id=int(game_id))
    board = StandardBoard(g, 1)
    build_board_data(board)
    p = g.__getattribute__("player_" + player_no)
    hand = Hand.objects.filter(player=p, turn_no=1, game=g).get()

    moves = []
    civ_obj = _convert(hand.__getattribute__("piece" + str(civ)))

    if civ_obj.name() == "civ-farm":
        moves = [
            cell_no for cell_no, cell_obj in enumerate(board) if external_war_tile(board, cell_no, is_ground=False)
        ]
    else:
        moves = [cell_no for cell_no, cell_obj in enumerate(board) if external_war_tile(board, cell_no, is_ground=True)]

    if cell in moves and int(player_no) == g.current_turn:
        board.place_unification(cell, _convert(hand.__getattribute__("piece" + str(civ))))
        hand.remove(civ)
        g.state = "CHOOSE_COLOR"
        g.waiting_for = player_no
    else:
        return False

    g.current_turn = player_no
    g.save()

    board.save()
    hand.save()

    update_browsers(game_id)

    return game_state_json(request, game_id, player_no)