summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-03-10 23:49:13 +0100
committerTor Andersson <tor@ccxvii.net>2025-03-10 23:49:13 +0100
commitfd27f4280485cc79d1d3a2698775678c42735487 (patch)
tree7dad5a0dc7fd7fad8a4d7918eb005da3f50da864 /rules.js
parentd44e3ab5baae666b979247b5b62842965f8645f9 (diff)
downloadland-and-freedom-fd27f4280485cc79d1d3a2698775678c42735487.tar.gz
Add prompt prefix in common game_view function.
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js23
1 files changed, 7 insertions, 16 deletions
diff --git a/rules.js b/rules.js
index 5d7a9e1..0c39f5e 100644
--- a/rules.js
+++ b/rules.js
@@ -388,6 +388,9 @@ function game_view(state, current) {
else
view.actions.undo = 0;
states[game.state].prompt(current);
+ let node = get_active_node();
+ if (node && node.a && node.a.src)
+ view.prompt = get_source_name(node.a.src) + ": " + view.prompt;
}
return view;
}
@@ -528,7 +531,7 @@ function start_turn() {
log_h2(card.title, 'fascist');
game.fascist = 1;
game.engine = card.effects.map((effect) => resolve_effect(effect, 'fascist_event'));
- game.engine.push(create_state_node('confirm_fascist_turn', game.initiative));
+ game.engine.push(create_state_node('confirm_fascist_turn', game.initiative, { src: 'fascist_event' }));
if (game.year === 3 && game.turn === 4) {
game.engine.push(create_function_node('setup_final_bid'));
}
@@ -733,9 +736,6 @@ states.add_to_front = {
for (let f of possible_fronts) {
gen_action_front(f);
}
- if (args.src) {
- view.prompt = add_prompt_prefix(view.prompt, get_source_name(args.src));
- }
},
spend_hp() {
resolve_spend_hp();
@@ -766,9 +766,6 @@ states.attack_front = {
else {
view.prompt = 'Attack a Front';
}
- if (src) {
- view.prompt = add_prompt_prefix(view.prompt, get_source_name(src));
- }
possible_fronts.forEach((id) => gen_action('front', id));
},
spend_hp() {
@@ -1100,7 +1097,7 @@ states.confirm_turn = {
states.confirm_fascist_turn = {
inactive: 'confirm fascist turn',
prompt() {
- view.prompt = add_prompt_prefix('Done.', get_source_name('fascist_event'));
+ view.prompt = "Done.";
gen_action('confirm');
},
confirm() {
@@ -1261,8 +1258,8 @@ states.select_player_with_most_hero_points = {
const { v } = get_active_node_args();
view.prompt =
v < 0
- ? 'Choose player to lose Hero Points'
- : 'Choose player to gain Hero Points';
+ ? 'Choose player to lose Hero Points.'
+ : 'Choose player to gain Hero Points.';
const factions = get_factions_with_most_hero_poins();
for (let faction_id of factions) {
gen_action(faction_player_map[faction_id]);
@@ -1298,9 +1295,6 @@ states.move_track = {
else if (track === data_1.GOVERNMENT && value === data_1.AWAY_FROM_CENTER) {
view.prompt = `Move ${name} away from center`;
}
- if (node.a.src) {
- view.prompt = add_prompt_prefix(view.prompt, get_source_name(node.a.src));
- }
if (track === data_1.LIBERTY_OR_COLLECTIVIZATION) {
gen_move_track(data_1.LIBERTY, game.tracks[data_1.LIBERTY] + value);
gen_move_track(data_1.COLLECTIVIZATION, game.tracks[data_1.COLLECTIVIZATION] + value);
@@ -2717,9 +2711,6 @@ function log_h3(msg) {
log_br();
log('.h3 ' + msg);
}
-function add_prompt_prefix(prompt, prefix) {
- return `${prefix}: ${prompt}`;
-}
function get_active_faction() {
return player_faction_map[game.active];
}