summaryrefslogtreecommitdiff
path: root/rules.ts
diff options
context:
space:
mode:
Diffstat (limited to 'rules.ts')
-rw-r--r--rules.ts75
1 files changed, 34 insertions, 41 deletions
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) {