diff options
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 25 |
1 files changed, 19 insertions, 6 deletions
@@ -713,7 +713,13 @@ states.cavalry = { prompt() { if (game.cav.n > 0) { view.prompt = `Gain Cavalry: Take ${game.cav.n} Calvary token${game.cav.n > 1 ? "s" : ""}.` - gen_take_cavalry(game.current) + let can_take = gen_take_cavalry(game.current) + if (can_take) + view.prompt = `Gain Cavalry: Take ${game.cav.n} Calvary token${game.cav.n > 1 ? "s" : ""}.` + else { + view.prompt = "Gain Cavalry: No more available Cavalry token." + view.actions.end_cavalry = 1 + } } else { view.prompt = "Gain Cavalry: Done." view.actions.end_cavalry = 1 @@ -2034,7 +2040,7 @@ function can_demand_in_space(s) { } function can_tax() { - return tax_count() > 0 + return true } function tax_count() { @@ -2512,7 +2518,7 @@ states.conspire_space = { } function can_trade() { - return trade_count() > 0 + return true } function trade_count() { @@ -3349,6 +3355,8 @@ function troops_to_inf_track(faction, s) { function goto_return_troops(faction, n_troops, s) { push_summary() + if (game.inf_shift === null) + game.inf_shift = {} game.inf_shift.n = n_troops game.inf_shift.s = s game.inf_shift.save_current = game.current @@ -5597,13 +5605,13 @@ states.vm_govern_attack_demand = { } function vm_any_limited_command() { + reset_cmd() game.state = "vm_any_limited_command" } states.vm_any_limited_command = { prompt() { event_prompt("Execute a free limited Command.") - reset_cmd() view.actions.rally = can_rally() ? 1 : 0 view.actions.migrate = can_migrate() ? 1 : 0 view.actions.rebel = can_rebel() ? 1 : 0 @@ -5731,8 +5739,13 @@ function vm_shaded_29() { states.shaded_29 = { prompt() { if (game.cmd.count > 0) { - event_prompt(`Spend Resources to gain Cavalry token (${game.cmd.count} left).`) - gen_take_cavalry(game.current) + let can_take = gen_take_cavalry(game.current) + if (can_take) + event_prompt(`Spend Resources to gain Cavalry token (${game.cmd.count} left).`) + else { + event_prompt("Gain Cavalry: No more available Cavalry token.") + view.actions.next = 1 + } } else { event_prompt("No more Cavalry token to acquire.") } |