From ee8164efa88991c711baddb83e9943bf0c9b97ca Mon Sep 17 00:00:00 2001 From: RickyRister Date: Sat, 7 Dec 2024 18:08:06 -0800 Subject: [PATCH] play action now applies to all selected cards --- cockatrice/src/game/player/player.cpp | 28 ++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/cockatrice/src/game/player/player.cpp b/cockatrice/src/game/player/player.cpp index 869abecb2..ef7b72465 100644 --- a/cockatrice/src/game/player/player.cpp +++ b/cockatrice/src/game/player/player.cpp @@ -3481,10 +3481,17 @@ static bool isUnwritableRevealZone(CardZone *zone) void Player::actPlay() { - auto *card = game->getActiveCard(); - if (card) { - const bool cipt = card->getInfo() ? card->getInfo()->getCipt() : false; - playCard(card, false, cipt); + QList selectedCards; + for (const auto &item : scene()->selectedItems()) { + auto *card = static_cast(item); + selectedCards.append(card); + } + + for (auto &card : selectedCards) { + if (card) { + const bool cipt = card->getInfo() ? card->getInfo()->getCipt() : false; + playCard(card, false, cipt); + } } } @@ -3500,9 +3507,16 @@ void Player::actHide() void Player::actPlayFacedown() { - auto *card = game->getActiveCard(); - if (card) { - playCard(card, true, false); + QList selectedCards; + for (const auto &item : scene()->selectedItems()) { + auto *card = static_cast(item); + selectedCards.append(card); + } + + for (auto &card : selectedCards) { + if (card) { + playCard(card, true, false); + } } }