diff options
author | Tor Andersson <tor@ccxvii.net> | 2025-03-11 00:13:52 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2025-03-11 00:13:52 +0100 |
commit | 1152190a402c3f59cd72f4c41bd510b69b20e147 (patch) | |
tree | 0fc7a48d0b8f4c7a9373370eb2cddb1fae0e96a3 /rules.js | |
parent | 13e67eb054578b5a625b05aa5a9400f8b9fe7f2e (diff) | |
download | land-and-freedom-1152190a402c3f59cd72f4c41bd510b69b20e147.tar.gz |
Set source to 'player_event' for event effects.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 66 |
1 files changed, 32 insertions, 34 deletions
@@ -673,7 +673,7 @@ states.add_card_to_tableau = { inactive: 'add a card to their tableau', prompt() { gen_spend_hero_points(); - view.prompt = 'Choose a card to add to your tableau'; + view.prompt = 'Choose a card to add to your tableau.'; const faction = get_active_faction(); for (const c of game.hands[faction]) { gen_action_card(c); @@ -701,7 +701,7 @@ states.add_glory = { inactive: 'add tokens to the Bag of Glory', prompt() { gen_spend_hero_points(); - view.prompt = 'Add tokens to the Bag of Glory'; + view.prompt = 'Add tokens to the Bag of Glory.'; gen_action('add_glory'); }, spend_hp() { @@ -717,21 +717,17 @@ states.add_glory = { }, }; states.add_to_front = { - inactive: 'add strength to a Front', + inactive: 'support a Front', prompt() { gen_spend_hero_points(); const args = get_active_node_args(); const possible_fronts = get_fronts_to_add_to(args.t); - const number_of_fronts = possible_fronts.length; - if (number_of_fronts === 0) { - view.prompt = 'No valid front to target. You must skip'; + if (possible_fronts.length === 0) { + view.prompt = 'No valid front to add strength to.'; gen_action('skip'); } - else if (number_of_fronts === 1) { - view.prompt = `Add strength to ${front_names[possible_fronts[0]]}`; - } else { - view.prompt = 'Add strength to a Front'; + view.prompt = `Support ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`; } for (let f of possible_fronts) { gen_action_front(f); @@ -753,18 +749,15 @@ states.attack_front = { inactive: 'attack a Front', prompt() { gen_spend_hero_points(); - const { t: target, n, src } = get_active_node_args(); + const { t: target, n } = get_active_node_args(); const possible_fronts = get_fronts_to_add_to(target, n); const number_of_fronts = possible_fronts.length; if (number_of_fronts === 0) { - view.prompt = 'No valid front to target. You must skip'; + view.prompt = 'No valid front to attack.'; gen_action('skip'); } - else if (number_of_fronts === 1) { - view.prompt = `Attack ${front_names[possible_fronts[0]]}`; - } else { - view.prompt = 'Attack a Front'; + view.prompt = `Attack ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`; } possible_fronts.forEach((id) => gen_action('front', id)); }, @@ -1288,7 +1281,10 @@ states.move_track = { const name = track === data_1.LIBERTY_OR_COLLECTIVIZATION ? 'Liberty OR Collectivization' : tracks[track].name; - view.prompt = `Move ${name} ${value > 0 ? 'up' : 'down'}`; + if (value > 0) + view.prompt = `Move ${name} +${value} steps.`; + else + view.prompt = `Move ${name} \u2212${-value} steps.`; if (track === data_1.GOVERNMENT && value === data_1.TOWARDS_CENTER) { view.prompt = `Move ${name} towards center`; } @@ -1606,8 +1602,8 @@ states.remove_attack_from_fronts = { const { f, v: card_id } = get_active_node_args(); view.prompt = card_id === 6 - ? 'Choose a Front to remove an attack from' - : 'Choose a Front to remove attacks from'; + ? 'Remove an attack from a Front.' + : 'Remove attacks from a Front.'; const front_data = f ?? {}; let is_front_with_attacks = false; data_1.FRONTS.forEach((id) => { @@ -1643,6 +1639,7 @@ states.remove_attack_from_fronts = { t: data_1.ANY, v: card_id === 39 ? -2 : -1 * removed_value, n: card_id === 16 ? id : undefined, + src: 'player_event' })); resolve_active_and_proceed(); } @@ -1654,6 +1651,7 @@ states.remove_attack_from_fronts = { insert_after_active_node(create_state_node('attack_front', get_active_faction(), { t: data_1.ANY, v: -2, + src: 'player_event' })); } resolve_active_and_proceed(); @@ -1961,46 +1959,46 @@ states.use_strategy_medallion = { }; function card1_event2() { const value = game.tracks[data_1.FOREIGN_AID] >= 6 ? 3 : 2; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.NORTHERN, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.NORTHERN, value), 'player_event')); resolve_active_and_proceed(); } function card3_event2() { const value = game.tracks[data_1.FOREIGN_AID] >= 8 ? 2 : 1; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.GOVERNMENT, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.GOVERNMENT, value), 'player_event')); resolve_active_and_proceed(); } function card10_event2() { if (game.tracks[data_1.FOREIGN_AID] >= 6) { - resolve_effect((0, data_1.create_effect)('draw_card', data_1.SELF, 2)); + resolve_effect((0, data_1.create_effect)('draw_card', data_1.SELF, 2), 'player_event'); } resolve_active_and_proceed(); } function card16_event2() { const value = game.tracks[data_1.GOVERNMENT] >= 6 ? 4 : 3; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.FOREIGN_AID, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.FOREIGN_AID, value), 'player_event')); resolve_active_and_proceed(); } function card17_event3() { const value = game.tracks[data_1.GOVERNMENT] >= 6 ? -4 : -3; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.COLLECTIVIZATION, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.COLLECTIVIZATION, value), 'player_event')); resolve_active_and_proceed(); } function card20_event3() { const value = game.tracks[data_1.SOVIET_SUPPORT] >= 6 ? 2 : 1; insert_after_active_node(create_seq_node([ - resolve_effect((0, data_1.create_effect)('front', data_1.MADRID, value)), - resolve_effect((0, data_1.create_effect)('front', data_1.SOUTHERN, value)), + resolve_effect((0, data_1.create_effect)('front', data_1.MADRID, value), 'player_event'), + resolve_effect((0, data_1.create_effect)('front', data_1.SOUTHERN, value), 'player_event'), ])); resolve_active_and_proceed(); } function card22_event3() { const value = game.tracks[data_1.SOVIET_SUPPORT] >= 8 ? -3 : -3; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.GOVERNMENT, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.GOVERNMENT, value), 'player_event')); resolve_active_and_proceed(); } function card23_event1() { const value = game.tracks[data_1.SOVIET_SUPPORT] >= 6 ? 4 : 3; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ANY, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ANY, value), 'player_event')); resolve_active_and_proceed(); } function card26_event1() { @@ -2009,12 +2007,12 @@ function card26_event1() { } function card29_event2() { const value = game.tracks[data_1.GOVERNMENT] <= 5 ? -3 : -2; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.LIBERTY, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.LIBERTY, value), 'player_event')); resolve_active_and_proceed(); } function card35_event2() { const value = game.tracks[data_1.GOVERNMENT] <= 5 ? 2 : 1; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.SOVIET_SUPPORT, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.SOVIET_SUPPORT, value), 'player_event')); resolve_active_and_proceed(); } function card42_event3() { @@ -2023,7 +2021,7 @@ function card42_event3() { } function card45_event2() { if (game.tracks[data_1.LIBERTY] >= 6) { - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.COLLECTIVIZATION, 1))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.COLLECTIVIZATION, 1), 'player_event')); } resolve_active_and_proceed(); } @@ -2036,17 +2034,17 @@ function card46_event3() { } function card50_event2() { const value = game.tracks[data_1.COLLECTIVIZATION] >= 8 ? 3 : 2; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ARAGON, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ARAGON, value), 'player_event')); resolve_active_and_proceed(); } function card53_event2() { const value = game.tracks[data_1.LIBERTY] >= 8 ? 3 : 2; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ANY, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('front', data_1.ANY, value), 'player_event')); resolve_active_and_proceed(); } function card54_event1() { const value = game.tracks[data_1.COLLECTIVIZATION] >= 8 ? 3 : 2; - insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.LIBERTY, value))); + insert_after_active_node(resolve_effect((0, data_1.create_effect)('track', data_1.LIBERTY, value), 'player_event')); resolve_active_and_proceed(); } function setup_return_card_from_trash() { |