diff options
author | iainp5 <iain.pearce.ip@gmail.com> | 2025-03-20 18:10:01 +0000 |
---|---|---|
committer | iainp5 <iain.pearce.ip@gmail.com> | 2025-03-20 18:10:01 +0000 |
commit | 2aba9e15b5e63f952ebbc1d525665f137fc7c0a0 (patch) | |
tree | 120b509ab49c9c74d0977cb46edf3219190446dc | |
parent | 5d63fe5d4fff32b3aee92cc5734d35a36f782ca4 (diff) | |
download | 1989-dawn-of-freedom-2aba9e15b5e63f952ebbc1d525665f137fc7c0a0.tar.gz |
-rw-r--r-- | play.js | 4 | ||||
-rw-r--r-- | rules.js | 36 |
2 files changed, 38 insertions, 2 deletions
@@ -725,12 +725,14 @@ function on_update() { if (view.is_pwr_struggle) { roles.Democrat.stat.textContent = `${pluralize(view.democrat_power_hand, 'Power card')}` roles.Communist.stat.textContent = `${pluralize(view.communist_power_hand, 'Power card')}` + ui.turn_info.innerText = `Power Struggle deck: ${pluralize(view.power_struggle_deck, 'card')}` } else { roles.Democrat.stat.textContent = `${pluralize(view.democrat_hand,'card')}` roles.Communist.stat.innerText = `${pluralize(view.communist_hand, 'card')}` + ui.turn_info.innerText = `Strategy deck: ${pluralize(view.strategy_deck, 'card')}` } - ui.turn_info.innerText = `Strategy deck: ${pluralize(view.strategy_deck, 'card')}` + // UPDATE TRACK MARKERS layout_turn_marker() @@ -421,6 +421,7 @@ exports.view = function (state, player) { if (game.is_pwr_struggle) { view.scoring_card = scoring_cards[countries.indexOf(game.pwr_struggle_in)] + view.power_struggle_deck = game.power_struggle_deck.length view.power_struggle_discard = game.power_struggle_discard view.played_power_card = game.played_power_card view.power_card_1 = game.power_card_1 @@ -3999,6 +4000,8 @@ function draw_cards(deck, democrat_hand, communist_hand, dem_hand_limit, com_han } } if (deck.length === 0) { + if (game.state.startsWith('vm_support_surges')) + return log("Deck is empty.") if (!did_reshuffle) reshuffle(deck) @@ -8377,7 +8380,11 @@ states.vm_support_surges_1 = { ) game.temp = game.com_pwr_hand[game.com_pwr_hand.length - 1] } - game.state = 'vm_support_surges_2' + console.log('game.power_struggle_deck', game.power_struggle_deck) + if (game.power_struggle_deck.length === 0) + game.state = 'vm_support_surges_no_cards' + else + game.state = 'vm_support_surges_2' }, } @@ -8447,6 +8454,33 @@ states.vm_support_surges_3 = { }, } +states.vm_support_surges_no_cards = { + inactive: 'draw cards', + prompt() { + if (wildcards.includes(game.temp)) { + view.prompt = `Support Surges: You drew ${power_cards[game.temp].name}. No Power Cards remaining. Done.` + } + else if (elite_leaders.includes(game.temp)) { + view.prompt = `Support Surges: You drew an ${power_cards[game.temp].name}. No Power Cards remaining. Done.` + } + else if (numberless_cards.includes(game.temp)) { + view.prompt = `Support Surges: You drew a ${power_cards[game.temp].name}. No Power Cards remaining. Done.` + } else { + view.prompt = `Support Surges: You drew a ${power_cards[game.temp].name} ${power_cards[game.temp].value}. No Power Cards remaining. Done.` + } + gen_action('done') + }, + done() { + game.phase = 0 + delete game.temp + log('Drew 1 card.') + log('Deck is empty.') + log('Surrenders initiative.') + log_gap(`Round ${game.ps_round}:`) + vm_next() + }, +} + states.vm_support_falters = { inactive: 'discard cards', prompt() { |