From c4e8d0106459f51c704a4e492622bd5639d039df Mon Sep 17 00:00:00 2001 From: DawnFire42 Date: Tue, 16 Jun 2026 16:47:06 -0400 Subject: [PATCH] Hide 'increase tax' play actions on multi-card selection --- cockatrice/src/game_graphics/player/menu/card_menu.cpp | 8 ++++++-- libcockatrice_utility/libcockatrice/utility/counter_ids.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/game_graphics/player/menu/card_menu.cpp b/cockatrice/src/game_graphics/player/menu/card_menu.cpp index 736af8353..65bf7090d 100644 --- a/cockatrice/src/game_graphics/player/menu/card_menu.cpp +++ b/cockatrice/src/game_graphics/player/menu/card_menu.cpp @@ -165,11 +165,15 @@ CardMenu::CardMenu(PlayerGraphicsItem *_player, const CardItem *_card, bool _sho if (writeableCard) { addAction(aPlay); - if (player->getTaxCounterIfActive(CounterIds::CommanderTax)) { + // Only offer for single selection: a multi-select would over-count casts by + // bumping one commander's tax counter once per command-zone card. + const bool singleSelection = gameScene->selectedCards().size() <= 1; + + if (singleSelection && player->getTaxCounterIfActive(CounterIds::CommanderTax)) { addAction(aPlayAndIncreaseTax); } - if (player->getTaxCounterIfActive(CounterIds::PartnerTax)) { + if (singleSelection && player->getTaxCounterIfActive(CounterIds::PartnerTax)) { addAction(aPlayAndIncreasePartnerTax); } diff --git a/libcockatrice_utility/libcockatrice/utility/counter_ids.h b/libcockatrice_utility/libcockatrice/utility/counter_ids.h index 7472f7328..b64a18ad5 100644 --- a/libcockatrice_utility/libcockatrice/utility/counter_ids.h +++ b/libcockatrice_utility/libcockatrice/utility/counter_ids.h @@ -23,6 +23,7 @@ */ namespace CounterIds { +// Tax counters store a cast count (times cast from command zone). constexpr int CommanderTax = 8; ///< Primary commander tax counter constexpr int PartnerTax = 9; ///< Partner commander tax counter constexpr int FirstUserId = 10; ///< First ID available for user-created counters