summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriainp5 <iain.pearce.ip@gmail.com>2025-03-20 18:10:01 +0000
committeriainp5 <iain.pearce.ip@gmail.com>2025-03-20 18:10:01 +0000
commit2aba9e15b5e63f952ebbc1d525665f137fc7c0a0 (patch)
tree120b509ab49c9c74d0977cb46edf3219190446dc
parent5d63fe5d4fff32b3aee92cc5734d35a36f782ca4 (diff)
download1989-dawn-of-freedom-master.tar.gz
Fix support surges with no power cards in deckHEADmaster
-rw-r--r--play.js4
-rw-r--r--rules.js36
2 files changed, 38 insertions, 2 deletions
diff --git a/play.js b/play.js
index 4bdf51b..cf16c20 100644
--- a/play.js
+++ b/play.js
@@ -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()
diff --git a/rules.js b/rules.js
index 9c3dddb..343eb1c 100644
--- a/rules.js
+++ b/rules.js
@@ -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() {