summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-03-11 00:47:28 +0100
committerTor Andersson <tor@ccxvii.net>2025-03-11 00:47:28 +0100
commit0b20f381756c0aab5a2182680f6311a6b4530b0d (patch)
tree7fe3ab78f77988a6c001bf6d5398dc1aff476ec9
parentdd71cc577846668ebd1fcc97cfcea876a95f3d93 (diff)
downloadland-and-freedom-0b20f381756c0aab5a2182680f6311a6b4530b0d.tar.gz
Tweak some prompts. Remove unused buttons from play.js
-rw-r--r--play.js39
-rw-r--r--rules.js81
-rw-r--r--rules.ts75
3 files changed, 85 insertions, 110 deletions
diff --git a/play.js b/play.js
index 9a687de..e4ed289 100644
--- a/play.js
+++ b/play.js
@@ -524,41 +524,30 @@ function on_update() { // eslint-disable-line no-unused-vars
}
}
- action_button("add_to_front", "+1 to a Front")
- action_button("d_liberty", "Decrease Liberty")
- action_button("soviet_support", "Soviet Support")
- action_button("collectivization", "Collectivization")
- action_button("d_collectivization", "Decrease Collectivization")
- action_button("d_foreign_aid", "Decrease Foreign Aid")
- action_button("d_government", "Decrease Government")
- action_button("d_soviet_support", "Decrease Soviet Support")
- action_button("foreign_aid", "Foreign Aid")
- action_button("government", "Government")
- action_button("liberty", "Liberty")
- action_button("government_to_center", "Government towards center")
- action_button("teamwork_on", "Teamwork Bonus On")
action_button("Anarchist", "Anarchist")
action_button("Communist", "Communist")
action_button("Moderate", "Moderate")
+
+ action_button("add_glory", "Add to Bag of Glory")
+ action_button("add_to_front", "+1 to a Front")
+ action_button("draw_card", "Draw a Card")
+ action_button("draw_cards", "Draw Cards")
+ action_button("draw_glory", "Draw from Bag of Glory")
action_button("gain_hp", "Gain Hero Points")
action_button("lose_hp", "Lose Hero Points")
- action_button("draw_card", "Draw a card")
- action_button("draw_cards", "Draw cards")
- action_button("play_to_tableau", "Play card to Tableau")
- action_button("play_for_event", "Play card for Event")
+ action_button("play_to_tableau", "Action Points")
+ action_button("play_for_event", "Event")
+ action_button("remove_blank_marker", "Remove Blank marker")
action_button("use_ap", "Use Action Points")
+ action_button("use_momentum", "Play second card (Momentum)")
action_button("use_morale_bonus", "Use Morale Bonus")
- action_button("add_glory", "Add to Bag of Glory")
- action_button("draw_glory", "Draw from Bag of Glory")
- action_button("next", "Next")
- action_button("remove_blank_marker", "Remove Blank marker")
- action_button("trash_card", "Trash card")
- action_button("confirm", "Confirm")
+
+ action_button("spend_hp", "Spend Hero Points")
+
action_button("yes", "Yes")
action_button("no", "No")
action_button("skip", "Skip")
- action_button("spend_hp", "Spend Hero Points")
- action_button("use_momentum", "Play second card (Momentum)")
+ action_button("confirm", "Confirm")
action_button("done", "Done")
action_button("end_turn", "End Turn")
action_button("undo", "Undo")
diff --git a/rules.js b/rules.js
index 46f9227..465e725 100644
--- a/rules.js
+++ b/rules.js
@@ -726,6 +726,9 @@ states.add_to_front = {
view.prompt = 'No valid front to add strength to.';
gen_action('skip');
}
+ else if (possible_fronts.length === 4) {
+ view.prompt = `Support any Front.`;
+ }
else {
view.prompt = `Support ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`;
}
@@ -756,6 +759,9 @@ states.attack_front = {
view.prompt = 'No valid front to attack.';
gen_action('skip');
}
+ else if (possible_fronts.length === 4) {
+ view.prompt = `Attack any Front.`;
+ }
else {
view.prompt = `Attack ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`;
}
@@ -898,7 +904,7 @@ states.change_bonus = {
gen_action('skip');
}
if (args.t === data_1.ANY && args.v === data_1.ON) {
- view.prompt = 'Turn on a Bonus';
+ view.prompt = 'Turn on a Bonus.';
for (const bonus of bonuses) {
if (game.bonuses[bonus] === data_1.OFF) {
gen_action_bonus(bonus);
@@ -906,7 +912,7 @@ states.change_bonus = {
}
}
else {
- view.prompt = `Turn ${args.v === data_1.OFF ? 'off' : 'on'} ${bonus_names[args.t]}`;
+ view.prompt = `Turn ${args.v === data_1.OFF ? 'off' : 'on'} ${bonus_names[args.t]}.`;
gen_action_bonus(args.t);
}
},
@@ -1080,7 +1086,10 @@ states.choose_medallion = {
states.confirm_turn = {
inactive: 'confirm their turn',
prompt() {
- view.prompt = 'Confirm your actions or undo';
+ if (game.fascist)
+ view.prompt = 'Fascist Test: Done.';
+ else
+ view.prompt = 'Confirm your actions or undo';
gen_action('confirm');
},
confirm() {
@@ -1102,7 +1111,7 @@ states.draw_card = {
prompt() {
gen_spend_hero_points();
const { v } = get_active_node_args();
- view.prompt = v === 1 ? 'Draw a card' : `Draw ${v} cards`;
+ view.prompt = v === 1 ? 'Draw a card.' : `Draw ${v} cards.`;
gen_action(v === 1 ? 'draw_card' : 'draw_cards');
},
spend_hp() {
@@ -1201,11 +1210,11 @@ states.hero_points = {
}
if (game.hero_points.pool > 0) {
view.prompt =
- value > 1 ? `Gain ${value} Hero Points` : 'Gain 1 Hero Point';
+ value > 1 ? `Fascist Test: Gain ${value} Hero Points.` : 'Fascist Test: Gain 1 Hero Point.';
gen_action('gain_hp');
}
else {
- view.prompt = 'No Hero Points available in pool. You must skip';
+ view.prompt = 'Fascist Test: No Hero Points available in pool.';
gen_action('skip');
}
},
@@ -1281,10 +1290,14 @@ states.move_track = {
const name = track === data_1.LIBERTY_OR_COLLECTIVIZATION
? 'Liberty OR Collectivization'
: tracks[track].name;
- if (value > 0)
- view.prompt = `Move ${name} +${value} steps.`;
+ if (value === 1)
+ view.prompt = `Move ${name} one step up.`;
+ else if (value == -1)
+ view.prompt = `Move ${name} one step down.`;
+ else if (value > 0)
+ view.prompt = `Move ${name} ${value} steps up.`;
else
- view.prompt = `Move ${name} \u2212${-value} steps.`;
+ view.prompt = `Move ${name} ${-value} steps down.`;
if (track === data_1.GOVERNMENT && value === data_1.TOWARDS_CENTER) {
view.prompt = `Move ${name} towards center`;
}
@@ -1437,39 +1450,19 @@ function resolve_spend_hp() {
log('Spends Hero Points');
next();
}
-function set_player_turn_prompt({ can_play_card, can_spend_hp, use_ap, use_momentum, use_morale_bonus, }) {
- if (can_play_card && can_spend_hp) {
- view.prompt = 'Player Turn: Use card or spend Hero points.';
- }
- else if (can_play_card && !can_spend_hp) {
- view.prompt = 'Player Turn: Use card.';
- }
- else if (use_ap || use_morale_bonus || use_momentum) {
- const text_options = [];
- if (use_ap) {
- text_options.push('Action Points');
- }
- if (use_morale_bonus) {
- text_options.push('Morale Bonus');
- }
- if (can_spend_hp) {
- text_options.push('spend Hero points');
- }
- if (use_momentum) {
- view.prompt = can_spend_hp
- ? 'Play second card or spend Hero Points.'
- : 'Play second card.';
- }
- else {
- view.prompt = `Player Turn: Use ${text_options.join(', ')}.`;
- }
- }
- else if (can_spend_hp) {
- view.prompt = 'Spend Hero Points.';
- }
- else {
- view.prompt = 'Player Turn: Done.';
- }
+function set_player_turn_prompt({ can_play_card, use_ap, use_momentum, use_morale_bonus, }) {
+ if (can_play_card)
+ view.prompt = "Player Turn: Play card for Action Points or for the Event.";
+ else if (use_momentum)
+ view.prompt = "Player Turn: Play a second card.";
+ else if (use_ap && use_morale_bonus)
+ view.prompt = "Player Turn: Use Action Points and Morale Bonus.";
+ else if (use_morale_bonus)
+ view.prompt = "Player Turn: Use Morale Bonus.";
+ else if (use_ap)
+ view.prompt = "Player Turn: Use Action Points.";
+ else
+ view.prompt = "Player Turn: Done.";
}
states.player_turn = {
inactive: 'play their turn',
@@ -1863,8 +1856,8 @@ states.take_hero_points = {
const { v } = get_active_node_args();
view.prompt =
v === 1
- ? 'Choose a player to take a Hero Point from'
- : `Choose a player to take ${v} Hero Points from`;
+ ? 'Take a Hero Point from any player.'
+ : `Take ${v} Hero Points from any player.`;
const active_faction = get_active_faction();
let target_exists = false;
for (const faction of role_ids) {
diff --git a/rules.ts b/rules.ts
index 6059aaf..2945b60 100644
--- a/rules.ts
+++ b/rules.ts
@@ -957,6 +957,8 @@ states.add_to_front = {
if (possible_fronts.length === 0) {
view.prompt = 'No valid front to add strength to.'
gen_action('skip');
+ } else if (possible_fronts.length === 4) {
+ view.prompt = `Support any Front.`;
} else {
view.prompt = `Support ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`;
}
@@ -990,6 +992,8 @@ states.attack_front = {
if (number_of_fronts === 0) {
view.prompt = 'No valid front to attack.';
gen_action('skip');
+ } else if (possible_fronts.length === 4) {
+ view.prompt = `Attack any Front.`;
} else {
view.prompt = `Attack ${join_oxford_comma(possible_fronts.map(x => front_names[x]), 'or')}.`;
}
@@ -1150,7 +1154,7 @@ states.change_bonus = {
gen_action('skip');
}
if (args.t === ANY && args.v === ON) {
- view.prompt = 'Turn on a Bonus';
+ view.prompt = 'Turn on a Bonus.';
for (const bonus of bonuses) {
if (game.bonuses[bonus] === OFF) {
gen_action_bonus(bonus);
@@ -1159,7 +1163,7 @@ states.change_bonus = {
} else {
view.prompt = `Turn ${args.v === OFF ? 'off' : 'on'} ${
bonus_names[args.t]
- }`;
+ }.`;
gen_action_bonus(args.t);
}
},
@@ -1372,7 +1376,10 @@ states.choose_medallion = {
states.confirm_turn = {
inactive: 'confirm their turn',
prompt() {
- view.prompt = 'Confirm your actions or undo';
+ if (game.fascist)
+ view.prompt = 'Fascist Test: Done.';
+ else
+ view.prompt = 'Confirm your actions or undo';
gen_action('confirm');
},
confirm() {
@@ -1396,7 +1403,7 @@ states.draw_card = {
prompt() {
gen_spend_hero_points();
const { v } = get_active_node_args();
- view.prompt = v === 1 ? 'Draw a card' : `Draw ${v} cards`;
+ view.prompt = v === 1 ? 'Draw a card.' : `Draw ${v} cards.`;
gen_action(v === 1 ? 'draw_card' : 'draw_cards');
},
spend_hp() {
@@ -1511,10 +1518,10 @@ states.hero_points = {
}
if (game.hero_points.pool > 0) {
view.prompt =
- value > 1 ? `Gain ${value} Hero Points` : 'Gain 1 Hero Point';
+ value > 1 ? `Fascist Test: Gain ${value} Hero Points.` : 'Fascist Test: Gain 1 Hero Point.';
gen_action('gain_hp');
} else {
- view.prompt = 'No Hero Points available in pool. You must skip';
+ view.prompt = 'Fascist Test: No Hero Points available in pool.';
gen_action('skip');
}
},
@@ -1596,10 +1603,14 @@ states.move_track = {
? 'Liberty OR Collectivization'
: tracks[track].name;
- if (value > 0)
- view.prompt = `Move ${name} +${value} steps.`;
+ if (value === 1)
+ view.prompt = `Move ${name} one step up.`;
+ else if (value == -1)
+ view.prompt = `Move ${name} one step down.`;
+ else if (value > 0)
+ view.prompt = `Move ${name} ${value} steps up.`;
else
- view.prompt = `Move ${name} \u2212${-value} steps.`;
+ view.prompt = `Move ${name} ${-value} steps down.`;
if (track === GOVERNMENT && value === TOWARDS_CENTER) {
view.prompt = `Move ${name} towards center`;
} else if (track === GOVERNMENT && value === AWAY_FROM_CENTER) {
@@ -1783,40 +1794,22 @@ function resolve_spend_hp() {
function set_player_turn_prompt({
can_play_card,
- can_spend_hp,
use_ap,
use_momentum,
use_morale_bonus,
}: PlayerTurnArgs & { can_spend_hp: boolean; can_play_card: boolean }) {
- if (can_play_card && can_spend_hp) {
- view.prompt = 'Player Turn: Use card or spend Hero points.';
- } else if (can_play_card && !can_spend_hp) {
- view.prompt = 'Player Turn: Use card.';
- } else if (use_ap || use_morale_bonus || use_momentum) {
- const text_options = [];
- if (use_ap) {
- text_options.push('Action Points');
- }
- if (use_morale_bonus) {
- text_options.push('Morale Bonus');
- }
-
- if (can_spend_hp) {
- text_options.push('spend Hero points');
- }
-
- if (use_momentum) {
- view.prompt = can_spend_hp
- ? 'Play second card or spend Hero Points.'
- : 'Play second card.';
- } else {
- view.prompt = `Player Turn: Use ${text_options.join(', ')}.`;
- }
- } else if (can_spend_hp) {
- view.prompt = 'Spend Hero Points.';
- } else {
- view.prompt = 'Player Turn: Done.';
- }
+ if (can_play_card)
+ view.prompt = "Player Turn: Play card for Action Points or for the Event."
+ else if (use_momentum)
+ view.prompt = "Player Turn: Play a second card."
+ else if (use_ap && use_morale_bonus)
+ view.prompt = "Player Turn: Use Action Points and Morale Bonus."
+ else if (use_morale_bonus)
+ view.prompt = "Player Turn: Use Morale Bonus."
+ else if (use_ap)
+ view.prompt = "Player Turn: Use Action Points."
+ else
+ view.prompt = "Player Turn: Done."
}
states.player_turn = {
@@ -2303,8 +2296,8 @@ states.take_hero_points = {
const { v } = get_active_node_args();
view.prompt =
v === 1
- ? 'Choose a player to take a Hero Point from'
- : `Choose a player to take ${v} Hero Points from`;
+ ? 'Take a Hero Point from any player.'
+ : `Take ${v} Hero Points from any player.`;
const active_faction = get_active_faction();
let target_exists = false;
for (const faction of role_ids) {