From 4c9165f0997a6ae7c97c2ba5d1574adf4229484f Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Tue, 17 Jul 2012 19:22:09 +0200 Subject: [PATCH] fixed #62: shuffling doesn't reveal the top card even if AlwaysRevealTopCard is set --- common/server_player.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/common/server_player.cpp b/common/server_player.cpp index 48abb14c..bfa53805 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -774,13 +774,23 @@ Response::ResponseCode Server_Player::cmdShuffle(const Command_Shuffle & /*cmd*/ return Response::RespGameNotStarted; if (conceded) return Response::RespContextError; - - zones.value("deck")->shuffle(); + + Server_CardZone *deckZone = zones.value("deck"); + deckZone->shuffle(); Event_Shuffle event; event.set_zone_name("deck"); ges.enqueueGameEvent(event, playerId); + if (deckZone->getAlwaysRevealTopCard() && !deckZone->cards.isEmpty()) { + Event_RevealCards revealEvent; + revealEvent.set_zone_name(deckZone->getName().toStdString()); + revealEvent.set_card_id(0); + deckZone->cards.first()->getInfo(revealEvent.add_cards()); + + ges.enqueueGameEvent(revealEvent, playerId); + } + return Response::RespOk; }