diff options
-rw-r--r-- | rules.js | 120 |
1 files changed, 60 insertions, 60 deletions
@@ -602,59 +602,6 @@ states.main_phase = { end_of_turn: resume_event_card, } -states.advance = { - prompt() { - view.prompt = "Advance: Select the Advance destination" - - if (has_piece(S_MOUNTAIN_PASSES, MI, TROOPS)) - gen_action_space(S_PUNJAB) - - if (has_piece(S_PUNJAB, MI, TROOPS)) - gen_action_space(S_DELHI) - }, - space(s) { - push_summary() - game.cmd.where = s - game.state = "advance_space" - } -} - -states.advance_space = { - prompt() { - view.prompt = "Advance: Move any number of Mongol Invaders into destination" - - let origin = game.cmd.where === S_DELHI ? S_PUNJAB : S_MOUNTAIN_PASSES - for (let p = first_piece[MI][TROOPS]; p <= last_piece[MI][TROOPS]; ++p) - if (piece_space(p) === origin) - gen_action_piece(p) - - view.actions.end_advance = 1 - }, - piece(p) { - log_summary_move_from(p) - place_piece(p, game.cmd.where) - }, - end_advance() { - game.cmd.free -= 1 - log_space(game.cmd.where, "Advance") - pop_summary() - goto_strategic_assistance() - } -} - -states.amass = { - prompt() { - view.prompt = "Amass: Place up to three invaders into the Mountain Passes" - - gen_action_space(S_MONGOL_INVADERS) - }, - space(s) { - amass() - game.cmd.free -= 1 - goto_strategic_assistance() - } -} - states.cavalry = { prompt() { if (game.cav.n > 0) { @@ -2262,17 +2209,61 @@ function can_advance() { return (has_piece(S_MOUNTAIN_PASSES, MI, TROOPS) || has_piece(S_PUNJAB, MI, TROOPS)) } +states.advance = { + prompt() { + view.prompt = "Advance: Select the Advance destination" + + if (has_piece(S_MOUNTAIN_PASSES, MI, TROOPS)) + gen_action_space(S_PUNJAB) + + if (has_piece(S_PUNJAB, MI, TROOPS)) + gen_action_space(S_DELHI) + }, + space(s) { + push_summary() + game.cmd.where = s + game.state = "advance_space" + } +} + +states.advance_space = { + prompt() { + view.prompt = "Advance: Move any number of Mongol Invaders into destination" + + let origin = game.cmd.where === S_DELHI ? S_PUNJAB : S_MOUNTAIN_PASSES + for (let p = first_piece[MI][TROOPS]; p <= last_piece[MI][TROOPS]; ++p) + if (piece_space(p) === origin) + gen_action_piece(p) + + view.actions.end_advance = 1 + }, + piece(p) { + log_summary_move_from(p) + place_piece(p, game.cmd.where) + }, + end_advance() { + game.cmd.free -= 1 + log_space(game.cmd.where, "Advance") + pop_summary() + goto_strategic_assistance() + } +} + function can_amass() { return has_piece(AVAILABLE, MI, TROOPS) } -function can_mi_attack() { - let p0 = first_piece[MI][TROOPS] - let p1 = last_piece[MI][TROOPS] - for (let p = p0; p <= p1; ++p) - if (piece_space(p) >= 0) - return true - return false +states.amass = { + prompt() { + view.prompt = "Amass: Place up to three invaders into the Mountain Passes" + + gen_action_space(S_MONGOL_INVADERS) + }, + space(s) { + amass() + game.cmd.free -= 1 + goto_strategic_assistance() + } } function amass() { @@ -2307,6 +2298,15 @@ function amass_trinkle_down(s_source, s_dest) { } } +function can_mi_attack() { + let p0 = first_piece[MI][TROOPS] + let p1 = last_piece[MI][TROOPS] + for (let p = p0; p <= p1; ++p) + if (piece_space(p) >= 0) + return true + return false +} + /* TRIBUTARY AND REBELS */ |