From 68a5953c4f074de3d13bf6f0eec9aabaf28b2c7c 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 64dc8a5c9..58698739e 100644 --- a/cockatrice/src/game_graphics/player/menu/card_menu.cpp +++ b/cockatrice/src/game_graphics/player/menu/card_menu.cpp @@ -166,11 +166,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