summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-03-09 17:02:34 +0100
committerTor Andersson <tor@ccxvii.net>2025-03-09 17:02:34 +0100
commit59dea4f112065f499ca8ce7379953a22e52a2f48 (patch)
tree627917385651fb73d563a59b155d622dac51ed98 /rules.js
parentef570959b52296b7c58a9a29ccdff5aad3d0afa7 (diff)
downloadland-and-freedom-59dea4f112065f499ca8ce7379953a22e52a2f48.tar.gz
List morale bonus icons on prompt.
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js42
1 files changed, 40 insertions, 2 deletions
diff --git a/rules.js b/rules.js
index 7c89b4f..b371266 100644
--- a/rules.js
+++ b/rules.js
@@ -554,8 +554,10 @@ states.activate_icon = {
inactive: 'activate an icon',
prompt() {
gen_spend_hero_points();
- view.prompt = 'Choose an icon to activate';
const c = cards[game.played_card];
+ view.prompt = 'Morale Bonus: ';
+ view.prompt += join_oxford_comma(c.icons.map(get_icon_name), "or");
+ view.prompt += '.';
for (const i of c.icons) {
const count = get_icon_count_in_tableau(i);
let direction = 0;
@@ -1470,7 +1472,7 @@ function set_player_turn_prompt({ can_play_card, can_spend_hp, use_ap, use_momen
view.prompt = 'Spend Hero Points.';
}
else {
- view.prompt = 'End turn.';
+ view.prompt = 'Player Turn: Done.';
}
}
states.player_turn = {
@@ -2789,6 +2791,42 @@ function get_player_order_in_game(first_player = game.initiative) {
}
return order;
}
+function join_oxford_comma(list, conjunction) {
+ let n = list.length;
+ if (n == 0)
+ return "nothing";
+ if (n == 1)
+ return list[0];
+ if (n == 2)
+ return list[0] + " " + conjunction + " " + list[1];
+ let result = list[0];
+ for (let i = 1; i < n; ++i) {
+ result += ", ";
+ if (i == n - 1)
+ result += conjunction + " ";
+ result += list[i];
+ }
+ return result;
+}
+const icon_names = {
+ add_to_front: "+1 to Front",
+ collectivization: "Increase Collectivization",
+ foreign_aid: "Increase Foreign Aid",
+ liberty: "Increase Liberty",
+ soviet_support: "Increase Soviet Support",
+ government: "Increase Government",
+ d_collectivization: "Decrease Collectivization",
+ d_foreign_aid: "Decrease Foreign Aid",
+ d_government: "Decrease Government",
+ d_liberty: "Decrease Liberty",
+ d_soviet_support: "Decrease Soviet Support",
+ government_to_center: "Move Government to Center",
+ teamwork_on: "Turn on Teamwork Bonus",
+ draw_card: "Draw a Card",
+};
+function get_icon_name(icon) {
+ return icon_names[icon];
+}
function get_source_name(source) {
switch (source) {
case 'player_event':