summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoël Simoneau <simoneaujoel@gmail.com>2025-03-03 15:44:05 -0500
committerJoël Simoneau <simoneaujoel@gmail.com>2025-03-03 15:44:05 -0500
commit2c9cf9ca326c017d120dc40430266fb4f6b833eb (patch)
tree7a0ebea9000b6bf05db4779a8a4d4507b075ef13
parent70618d0bee8a84a2dd3d8b8f42bd1a625fffff28 (diff)
downloadvijayanagara-2c9cf9ca326c017d120dc40430266fb4f6b833eb.tar.gz
Reorg MI
-rw-r--r--rules.js120
1 files changed, 60 insertions, 60 deletions
diff --git a/rules.js b/rules.js
index 38690e7..efebb00 100644
--- a/rules.js
+++ b/rules.js
@@ -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 */