int uno_check_card_valid(struct uno_game *game, struct uno_card *card) {
if(game->take_cards_pending && card->card != game->top_card->card)
return 1;
- if(card->color == UNO_COLOR_BLACK)
+ if(card->color == UNO_COLOR_BLACK || game->top_card->color == UNO_COLOR_BLACK)
return 0;
if(card->color != game->top_card->color && card->card != game->top_card->card)
return 1;
uno_reply(game, NULL, "NF_UNO_USER_WIN", game->active_player->chanuser->user->nick);
if(player->prev)
player->prev->next = player->next;
+ else
+ game->player = player->next;
if(player->next)
player->next->prev = player->prev;
player->next = NULL;