diff --git a/play.js b/play.js
index 41149c2..6a78abc 100644
--- a/play.js
+++ b/play.js
@@ -208,12 +208,15 @@ function show_popup_menu(evt, menu_id, target_id, title) {
function hide_popup_menu() {
document.getElementById("popup").style.display = "none"
+ document.getElementById("popup_select_card").style.display = "none"
}
function is_card_enabled(card) {
if (view.actions) {
if (card_action_menu.some(a => view.actions[a] && view.actions[a].includes(card)))
return true
+ if (view.actions.card_select && view.actions.card_select.includes(card))
+ return true
if (view.actions.card && view.actions.card.includes(card))
return true
}
@@ -283,8 +286,8 @@ function on_focus_us_state(evt) {
function on_click_card(evt) {
let card = evt.target.my_card
- if (is_action('card', card)) {
- send_action('card', card)
+ if (is_action('card_select', card)) {
+ show_popup_menu(evt, "popup_select_card", card, CARDS[card].name)
} else {
show_popup_menu(evt, "popup", card, CARDS[card].name)
}
diff --git a/rules.js b/rules.js
index bc08172..b64a5af 100644
--- a/rules.js
+++ b/rules.js
@@ -881,6 +881,7 @@ states.strategy_phase = {
function claim_strategy_card(c) {
log(`${game.active} selected C${c}.`)
+ clear_undo()
array_remove_item(game.strategy_draw, c)
set_add(player_claimed(), c)
if (game.strategy_deck.length)
@@ -892,9 +893,9 @@ states.select_strategy_card = {
prompt() {
view.prompt = "Select Strategy card."
for (let c of game.strategy_draw)
- gen_action("card", c)
+ gen_action("card_select", c)
},
- card(c) {
+ card_select(c) {
claim_strategy_card(c)
if (game.vm) {
vm_next()
--
cgit v1.2.3