Add "play top card face down" menu entry to library; fix #762

This commit is contained in:
Fabio Bas 2015-04-27 23:02:45 +02:00
parent 1ca561dec5
commit e649535211
2 changed files with 24 additions and 5 deletions

View file

@ -229,8 +229,10 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, TabGame *_pare
connect(aUndoDraw, SIGNAL(triggered()), this, SLOT(actUndoDraw()));
aShuffle = new QAction(this);
connect(aShuffle, SIGNAL(triggered()), this, SLOT(actShuffle()));
aMulligan = new QAction(this);
connect(aMulligan, SIGNAL(triggered()), this, SLOT(actMulligan()));
aMulligan = new QAction(this);
connect(aMulligan, SIGNAL(triggered()), this, SLOT(actMulligan()));
aMoveTopToPlayFaceDown = new QAction(this);
connect(aMoveTopToPlayFaceDown, SIGNAL(triggered()), this, SLOT(actMoveTopCardToPlayFaceDown()));
aMoveTopCardsToGrave = new QAction(this);
connect(aMoveTopCardsToGrave, SIGNAL(triggered()), this, SLOT(actMoveTopCardsToGrave()));
aMoveTopCardsToExile = new QAction(this);
@ -274,11 +276,11 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, TabGame *_pare
playerLists.append(mRevealTopCard = libraryMenu->addMenu(QString()));
libraryMenu->addAction(aAlwaysRevealTopCard);
libraryMenu->addSeparator();
libraryMenu->addAction(aMoveTopToPlayFaceDown);
libraryMenu->addAction(aMoveTopCardToBottom);
libraryMenu->addAction(aMoveBottomCardToGrave);
libraryMenu->addSeparator();
libraryMenu->addAction(aMoveTopCardsToGrave);
libraryMenu->addSeparator();
libraryMenu->addAction(aMoveTopCardsToExile);
libraryMenu->addSeparator();
libraryMenu->addAction(aOpenDeckInDeckEditor);
@ -631,6 +633,7 @@ void Player::retranslateUi()
aUndoDraw->setText(tr("&Undo last draw"));
aMulligan->setText(tr("Take &mulligan"));
aShuffle->setText(tr("&Shuffle"));
aMoveTopToPlayFaceDown->setText(tr("Play top card &face down"));
aMoveTopCardsToGrave->setText(tr("Move top cards to &graveyard..."));
aMoveTopCardsToExile->setText(tr("Move top cards to &exile..."));
aMoveTopCardToBottom->setText(tr("Put top card on &bottom"));
@ -953,6 +956,21 @@ void Player::actMoveTopCardToBottom()
sendGameCommand(cmd);
}
void Player::actMoveTopCardToPlayFaceDown()
{
Command_MoveCard cmd;
cmd.set_start_zone("deck");
CardToMove *cardToMove = cmd.mutable_cards_to_move()->add_card();
cardToMove->set_card_id(0);
cardToMove->set_face_down(true);
cmd.set_target_player_id(getId());
cmd.set_target_zone("table");
cmd.set_x(-1);
cmd.set_y(0);
sendGameCommand(cmd);
}
void Player::actMoveBottomCardToGrave() {
CardZone *zone = zones.value("deck");
Command_MoveCard cmd;

View file

@ -116,7 +116,8 @@ public slots:
void actDrawCard();
void actDrawCards();
void actUndoDraw();
void actMulligan();
void actMulligan();
void actMoveTopCardToPlayFaceDown();
void actMoveTopCardsToGrave();
void actMoveTopCardsToExile();
void actMoveTopCardToBottom();
@ -169,7 +170,7 @@ private:
*aMoveRfgToTopLibrary, *aMoveRfgToBottomLibrary, *aMoveRfgToHand, *aMoveRfgToGrave,
*aViewLibrary, *aViewTopCards, *aAlwaysRevealTopCard, *aOpenDeckInDeckEditor, *aMoveTopCardsToGrave, *aMoveTopCardsToExile, *aMoveTopCardToBottom,
*aViewGraveyard, *aViewRfg, *aViewSideboard,
*aDrawCard, *aDrawCards, *aUndoDraw, *aMulligan, *aShuffle,
*aDrawCard, *aDrawCards, *aUndoDraw, *aMulligan, *aShuffle, *aMoveTopToPlayFaceDown,
*aUntapAll, *aRollDie, *aCreateToken, *aCreateAnotherToken,
*aCardMenu, *aMoveBottomCardToGrave;