From 082c94e4c42fa18f76e21636c61bed4c218af5f2 Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Sat, 1 Jan 2011 20:52:41 +0100 Subject: [PATCH] improved mulligan behaviour --- common/server_protocolhandler.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/common/server_protocolhandler.cpp b/common/server_protocolhandler.cpp index 475c8b46..1d618952 100644 --- a/common/server_protocolhandler.cpp +++ b/common/server_protocolhandler.cpp @@ -503,12 +503,10 @@ ResponseCode Server_ProtocolHandler::cmdMulligan(Command_Mulligan * /*cmd*/, Com if (!game->getGameStarted()) return RespGameNotStarted; - - int number = player->getInitialCards(); - if (!number) - return RespContextError; - + Server_CardZone *hand = player->getZones().value("hand"); + int number = (hand->cards.size() <= 1) ? player->getInitialCards() : hand->cards.size() - 1; + while (!hand->cards.isEmpty()) player->moveCard(cont, "hand", hand->cards.first()->getId(), "deck", 0, 0, false, false); @@ -517,7 +515,6 @@ ResponseCode Server_ProtocolHandler::cmdMulligan(Command_Mulligan * /*cmd*/, Com cont->enqueueGameEventPublic(new Event_Shuffle(player->getPlayerId()), game->getGameId()); drawCards(game, player, cont, number); - player->setInitialCards(number - 1); return RespOk; }