summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js411
1 files changed, 284 insertions, 127 deletions
diff --git a/rules.js b/rules.js
index 97ebc9d..1ec17ab 100644
--- a/rules.js
+++ b/rules.js
@@ -267,6 +267,257 @@ function to_value(c) {
return c & 15
}
+/* DATA (LISTS) */
+
+const all_france_generals = all_power_generals[P_FRANCE]
+const all_france_trains = all_power_trains[P_FRANCE]
+const all_france_pieces = all_power_pieces[P_FRANCE]
+const all_prussia_generals = all_power_generals[P_PRUSSIA]
+const all_prussia_trains = all_power_trains[P_PRUSSIA]
+const all_prussia_pieces = all_power_pieces[P_PRUSSIA]
+const all_pragmatic_generals = all_power_generals[P_PRAGMATIC]
+const all_pragmatic_trains = all_power_trains[P_PRAGMATIC]
+const all_pragmatic_pieces = all_power_pieces[P_PRAGMATIC]
+const all_austria_generals = all_power_generals[P_AUSTRIA]
+const all_austria_trains = all_power_trains[P_AUSTRIA]
+const all_austria_pieces = all_power_pieces[P_AUSTRIA]
+const all_bavaria_generals = all_power_generals[P_BAVARIA]
+const all_bavaria_trains = all_power_trains[P_BAVARIA]
+const all_bavaria_pieces = all_power_pieces[P_BAVARIA]
+const all_saxony_generals = all_power_generals[P_SAXONY]
+const all_saxony_trains = all_power_trains[P_SAXONY]
+const all_saxony_pieces = all_power_pieces[P_SAXONY]
+const all_powers_france = [ P_FRANCE ]
+const all_powers_prussia = [ P_PRUSSIA ]
+const all_powers_france_prussia = [ P_FRANCE, P_PRUSSIA ]
+const all_france_prussia_generals = [ all_france_generals, all_prussia_generals ].flat()
+const all_france_prussia_trains = [ all_france_trains, all_prussia_trains ].flat()
+const all_france_prussia_pieces = [ all_france_pieces, all_prussia_pieces ].flat()
+const all_powers_pragmatic = [ P_PRAGMATIC ]
+const all_powers_france_pragmatic = [ P_FRANCE, P_PRAGMATIC ]
+const all_france_pragmatic_generals = [ all_france_generals, all_pragmatic_generals ].flat()
+const all_france_pragmatic_trains = [ all_france_trains, all_pragmatic_trains ].flat()
+const all_france_pragmatic_pieces = [ all_france_pieces, all_pragmatic_pieces ].flat()
+const all_powers_prussia_pragmatic = [ P_PRUSSIA, P_PRAGMATIC ]
+const all_prussia_pragmatic_generals = [ all_prussia_generals, all_pragmatic_generals ].flat()
+const all_prussia_pragmatic_trains = [ all_prussia_trains, all_pragmatic_trains ].flat()
+const all_prussia_pragmatic_pieces = [ all_prussia_pieces, all_pragmatic_pieces ].flat()
+const all_powers_france_prussia_pragmatic = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC ]
+const all_france_prussia_pragmatic_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals ].flat()
+const all_france_prussia_pragmatic_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains ].flat()
+const all_france_prussia_pragmatic_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces ].flat()
+const all_powers_austria = [ P_AUSTRIA ]
+const all_powers_france_austria = [ P_FRANCE, P_AUSTRIA ]
+const all_france_austria_generals = [ all_france_generals, all_austria_generals ].flat()
+const all_france_austria_trains = [ all_france_trains, all_austria_trains ].flat()
+const all_france_austria_pieces = [ all_france_pieces, all_austria_pieces ].flat()
+const all_powers_prussia_austria = [ P_PRUSSIA, P_AUSTRIA ]
+const all_prussia_austria_generals = [ all_prussia_generals, all_austria_generals ].flat()
+const all_prussia_austria_trains = [ all_prussia_trains, all_austria_trains ].flat()
+const all_prussia_austria_pieces = [ all_prussia_pieces, all_austria_pieces ].flat()
+const all_powers_france_prussia_austria = [ P_FRANCE, P_PRUSSIA, P_AUSTRIA ]
+const all_france_prussia_austria_generals = [ all_france_generals, all_prussia_generals, all_austria_generals ].flat()
+const all_france_prussia_austria_trains = [ all_france_trains, all_prussia_trains, all_austria_trains ].flat()
+const all_france_prussia_austria_pieces = [ all_france_pieces, all_prussia_pieces, all_austria_pieces ].flat()
+const all_powers_pragmatic_austria = [ P_PRAGMATIC, P_AUSTRIA ]
+const all_pragmatic_austria_generals = [ all_pragmatic_generals, all_austria_generals ].flat()
+const all_pragmatic_austria_trains = [ all_pragmatic_trains, all_austria_trains ].flat()
+const all_pragmatic_austria_pieces = [ all_pragmatic_pieces, all_austria_pieces ].flat()
+const all_powers_france_pragmatic_austria = [ P_FRANCE, P_PRAGMATIC, P_AUSTRIA ]
+const all_france_pragmatic_austria_generals = [ all_france_generals, all_pragmatic_generals, all_austria_generals ].flat()
+const all_france_pragmatic_austria_trains = [ all_france_trains, all_pragmatic_trains, all_austria_trains ].flat()
+const all_france_pragmatic_austria_pieces = [ all_france_pieces, all_pragmatic_pieces, all_austria_pieces ].flat()
+const all_powers_prussia_pragmatic_austria = [ P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA ]
+const all_prussia_pragmatic_austria_generals = [ all_prussia_generals, all_pragmatic_generals, all_austria_generals ].flat()
+const all_prussia_pragmatic_austria_trains = [ all_prussia_trains, all_pragmatic_trains, all_austria_trains ].flat()
+const all_prussia_pragmatic_austria_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces ].flat()
+const all_powers_france_prussia_pragmatic_austria = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA ]
+const all_france_prussia_pragmatic_austria_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_austria_generals ].flat()
+const all_france_prussia_pragmatic_austria_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_austria_trains ].flat()
+const all_france_prussia_pragmatic_austria_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces ].flat()
+const all_powers_bavaria = [ P_BAVARIA ]
+const all_powers_france_bavaria = [ P_FRANCE, P_BAVARIA ]
+const all_france_bavaria_generals = [ all_france_generals, all_bavaria_generals ].flat()
+const all_france_bavaria_trains = [ all_france_trains, all_bavaria_trains ].flat()
+const all_france_bavaria_pieces = [ all_france_pieces, all_bavaria_pieces ].flat()
+const all_powers_prussia_bavaria = [ P_PRUSSIA, P_BAVARIA ]
+const all_prussia_bavaria_generals = [ all_prussia_generals, all_bavaria_generals ].flat()
+const all_prussia_bavaria_trains = [ all_prussia_trains, all_bavaria_trains ].flat()
+const all_prussia_bavaria_pieces = [ all_prussia_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_prussia_bavaria = [ P_FRANCE, P_PRUSSIA, P_BAVARIA ]
+const all_france_prussia_bavaria_generals = [ all_france_generals, all_prussia_generals, all_bavaria_generals ].flat()
+const all_france_prussia_bavaria_trains = [ all_france_trains, all_prussia_trains, all_bavaria_trains ].flat()
+const all_france_prussia_bavaria_pieces = [ all_france_pieces, all_prussia_pieces, all_bavaria_pieces ].flat()
+const all_powers_pragmatic_bavaria = [ P_PRAGMATIC, P_BAVARIA ]
+const all_pragmatic_bavaria_generals = [ all_pragmatic_generals, all_bavaria_generals ].flat()
+const all_pragmatic_bavaria_trains = [ all_pragmatic_trains, all_bavaria_trains ].flat()
+const all_pragmatic_bavaria_pieces = [ all_pragmatic_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_pragmatic_bavaria = [ P_FRANCE, P_PRAGMATIC, P_BAVARIA ]
+const all_france_pragmatic_bavaria_generals = [ all_france_generals, all_pragmatic_generals, all_bavaria_generals ].flat()
+const all_france_pragmatic_bavaria_trains = [ all_france_trains, all_pragmatic_trains, all_bavaria_trains ].flat()
+const all_france_pragmatic_bavaria_pieces = [ all_france_pieces, all_pragmatic_pieces, all_bavaria_pieces ].flat()
+const all_powers_prussia_pragmatic_bavaria = [ P_PRUSSIA, P_PRAGMATIC, P_BAVARIA ]
+const all_prussia_pragmatic_bavaria_generals = [ all_prussia_generals, all_pragmatic_generals, all_bavaria_generals ].flat()
+const all_prussia_pragmatic_bavaria_trains = [ all_prussia_trains, all_pragmatic_trains, all_bavaria_trains ].flat()
+const all_prussia_pragmatic_bavaria_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_prussia_pragmatic_bavaria = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_BAVARIA ]
+const all_france_prussia_pragmatic_bavaria_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_bavaria_generals ].flat()
+const all_france_prussia_pragmatic_bavaria_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_bavaria_trains ].flat()
+const all_france_prussia_pragmatic_bavaria_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_bavaria_pieces ].flat()
+const all_powers_austria_bavaria = [ P_AUSTRIA, P_BAVARIA ]
+const all_austria_bavaria_generals = [ all_austria_generals, all_bavaria_generals ].flat()
+const all_austria_bavaria_trains = [ all_austria_trains, all_bavaria_trains ].flat()
+const all_austria_bavaria_pieces = [ all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_austria_bavaria = [ P_FRANCE, P_AUSTRIA, P_BAVARIA ]
+const all_france_austria_bavaria_generals = [ all_france_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_france_austria_bavaria_trains = [ all_france_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_france_austria_bavaria_pieces = [ all_france_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_prussia_austria_bavaria = [ P_PRUSSIA, P_AUSTRIA, P_BAVARIA ]
+const all_prussia_austria_bavaria_generals = [ all_prussia_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_prussia_austria_bavaria_trains = [ all_prussia_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_prussia_austria_bavaria_pieces = [ all_prussia_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_prussia_austria_bavaria = [ P_FRANCE, P_PRUSSIA, P_AUSTRIA, P_BAVARIA ]
+const all_france_prussia_austria_bavaria_generals = [ all_france_generals, all_prussia_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_france_prussia_austria_bavaria_trains = [ all_france_trains, all_prussia_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_france_prussia_austria_bavaria_pieces = [ all_france_pieces, all_prussia_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_pragmatic_austria_bavaria = [ P_PRAGMATIC, P_AUSTRIA, P_BAVARIA ]
+const all_pragmatic_austria_bavaria_generals = [ all_pragmatic_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_pragmatic_austria_bavaria_trains = [ all_pragmatic_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_pragmatic_austria_bavaria_pieces = [ all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_pragmatic_austria_bavaria = [ P_FRANCE, P_PRAGMATIC, P_AUSTRIA, P_BAVARIA ]
+const all_france_pragmatic_austria_bavaria_generals = [ all_france_generals, all_pragmatic_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_france_pragmatic_austria_bavaria_trains = [ all_france_trains, all_pragmatic_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_france_pragmatic_austria_bavaria_pieces = [ all_france_pieces, all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_prussia_pragmatic_austria_bavaria = [ P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA, P_BAVARIA ]
+const all_prussia_pragmatic_austria_bavaria_generals = [ all_prussia_generals, all_pragmatic_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_prussia_pragmatic_austria_bavaria_trains = [ all_prussia_trains, all_pragmatic_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_prussia_pragmatic_austria_bavaria_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_france_prussia_pragmatic_austria_bavaria = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA, P_BAVARIA ]
+const all_france_prussia_pragmatic_austria_bavaria_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_austria_generals, all_bavaria_generals ].flat()
+const all_france_prussia_pragmatic_austria_bavaria_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_austria_trains, all_bavaria_trains ].flat()
+const all_france_prussia_pragmatic_austria_bavaria_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces ].flat()
+const all_powers_saxony = [ P_SAXONY ]
+const all_powers_france_saxony = [ P_FRANCE, P_SAXONY ]
+const all_france_saxony_generals = [ all_france_generals, all_saxony_generals ].flat()
+const all_france_saxony_trains = [ all_france_trains, all_saxony_trains ].flat()
+const all_france_saxony_pieces = [ all_france_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_saxony = [ P_PRUSSIA, P_SAXONY ]
+const all_prussia_saxony_generals = [ all_prussia_generals, all_saxony_generals ].flat()
+const all_prussia_saxony_trains = [ all_prussia_trains, all_saxony_trains ].flat()
+const all_prussia_saxony_pieces = [ all_prussia_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_saxony = [ P_FRANCE, P_PRUSSIA, P_SAXONY ]
+const all_france_prussia_saxony_generals = [ all_france_generals, all_prussia_generals, all_saxony_generals ].flat()
+const all_france_prussia_saxony_trains = [ all_france_trains, all_prussia_trains, all_saxony_trains ].flat()
+const all_france_prussia_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_saxony_pieces ].flat()
+const all_powers_pragmatic_saxony = [ P_PRAGMATIC, P_SAXONY ]
+const all_pragmatic_saxony_generals = [ all_pragmatic_generals, all_saxony_generals ].flat()
+const all_pragmatic_saxony_trains = [ all_pragmatic_trains, all_saxony_trains ].flat()
+const all_pragmatic_saxony_pieces = [ all_pragmatic_pieces, all_saxony_pieces ].flat()
+const all_powers_france_pragmatic_saxony = [ P_FRANCE, P_PRAGMATIC, P_SAXONY ]
+const all_france_pragmatic_saxony_generals = [ all_france_generals, all_pragmatic_generals, all_saxony_generals ].flat()
+const all_france_pragmatic_saxony_trains = [ all_france_trains, all_pragmatic_trains, all_saxony_trains ].flat()
+const all_france_pragmatic_saxony_pieces = [ all_france_pieces, all_pragmatic_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_pragmatic_saxony = [ P_PRUSSIA, P_PRAGMATIC, P_SAXONY ]
+const all_prussia_pragmatic_saxony_generals = [ all_prussia_generals, all_pragmatic_generals, all_saxony_generals ].flat()
+const all_prussia_pragmatic_saxony_trains = [ all_prussia_trains, all_pragmatic_trains, all_saxony_trains ].flat()
+const all_prussia_pragmatic_saxony_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_pragmatic_saxony = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_SAXONY ]
+const all_france_prussia_pragmatic_saxony_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_saxony_generals ].flat()
+const all_france_prussia_pragmatic_saxony_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_saxony_trains ].flat()
+const all_france_prussia_pragmatic_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_saxony_pieces ].flat()
+const all_powers_austria_saxony = [ P_AUSTRIA, P_SAXONY ]
+const all_austria_saxony_generals = [ all_austria_generals, all_saxony_generals ].flat()
+const all_austria_saxony_trains = [ all_austria_trains, all_saxony_trains ].flat()
+const all_austria_saxony_pieces = [ all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_austria_saxony = [ P_FRANCE, P_AUSTRIA, P_SAXONY ]
+const all_france_austria_saxony_generals = [ all_france_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_france_austria_saxony_trains = [ all_france_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_france_austria_saxony_pieces = [ all_france_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_austria_saxony = [ P_PRUSSIA, P_AUSTRIA, P_SAXONY ]
+const all_prussia_austria_saxony_generals = [ all_prussia_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_prussia_austria_saxony_trains = [ all_prussia_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_prussia_austria_saxony_pieces = [ all_prussia_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_austria_saxony = [ P_FRANCE, P_PRUSSIA, P_AUSTRIA, P_SAXONY ]
+const all_france_prussia_austria_saxony_generals = [ all_france_generals, all_prussia_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_france_prussia_austria_saxony_trains = [ all_france_trains, all_prussia_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_france_prussia_austria_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_pragmatic_austria_saxony = [ P_PRAGMATIC, P_AUSTRIA, P_SAXONY ]
+const all_pragmatic_austria_saxony_generals = [ all_pragmatic_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_pragmatic_austria_saxony_trains = [ all_pragmatic_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_pragmatic_austria_saxony_pieces = [ all_pragmatic_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_pragmatic_austria_saxony = [ P_FRANCE, P_PRAGMATIC, P_AUSTRIA, P_SAXONY ]
+const all_france_pragmatic_austria_saxony_generals = [ all_france_generals, all_pragmatic_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_france_pragmatic_austria_saxony_trains = [ all_france_trains, all_pragmatic_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_france_pragmatic_austria_saxony_pieces = [ all_france_pieces, all_pragmatic_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_pragmatic_austria_saxony = [ P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA, P_SAXONY ]
+const all_prussia_pragmatic_austria_saxony_generals = [ all_prussia_generals, all_pragmatic_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_prussia_pragmatic_austria_saxony_trains = [ all_prussia_trains, all_pragmatic_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_prussia_pragmatic_austria_saxony_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_pragmatic_austria_saxony = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA, P_SAXONY ]
+const all_france_prussia_pragmatic_austria_saxony_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_austria_generals, all_saxony_generals ].flat()
+const all_france_prussia_pragmatic_austria_saxony_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_austria_trains, all_saxony_trains ].flat()
+const all_france_prussia_pragmatic_austria_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces, all_saxony_pieces ].flat()
+const all_powers_bavaria_saxony = [ P_BAVARIA, P_SAXONY ]
+const all_bavaria_saxony_generals = [ all_bavaria_generals, all_saxony_generals ].flat()
+const all_bavaria_saxony_trains = [ all_bavaria_trains, all_saxony_trains ].flat()
+const all_bavaria_saxony_pieces = [ all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_bavaria_saxony = [ P_FRANCE, P_BAVARIA, P_SAXONY ]
+const all_france_bavaria_saxony_generals = [ all_france_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_bavaria_saxony_trains = [ all_france_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_bavaria_saxony_pieces = [ all_france_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_bavaria_saxony = [ P_PRUSSIA, P_BAVARIA, P_SAXONY ]
+const all_prussia_bavaria_saxony_generals = [ all_prussia_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_prussia_bavaria_saxony_trains = [ all_prussia_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_prussia_bavaria_saxony_pieces = [ all_prussia_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_bavaria_saxony = [ P_FRANCE, P_PRUSSIA, P_BAVARIA, P_SAXONY ]
+const all_france_prussia_bavaria_saxony_generals = [ all_france_generals, all_prussia_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_prussia_bavaria_saxony_trains = [ all_france_trains, all_prussia_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_prussia_bavaria_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_pragmatic_bavaria_saxony = [ P_PRAGMATIC, P_BAVARIA, P_SAXONY ]
+const all_pragmatic_bavaria_saxony_generals = [ all_pragmatic_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_pragmatic_bavaria_saxony_trains = [ all_pragmatic_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_pragmatic_bavaria_saxony_pieces = [ all_pragmatic_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_pragmatic_bavaria_saxony = [ P_FRANCE, P_PRAGMATIC, P_BAVARIA, P_SAXONY ]
+const all_france_pragmatic_bavaria_saxony_generals = [ all_france_generals, all_pragmatic_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_pragmatic_bavaria_saxony_trains = [ all_france_trains, all_pragmatic_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_pragmatic_bavaria_saxony_pieces = [ all_france_pieces, all_pragmatic_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_pragmatic_bavaria_saxony = [ P_PRUSSIA, P_PRAGMATIC, P_BAVARIA, P_SAXONY ]
+const all_prussia_pragmatic_bavaria_saxony_generals = [ all_prussia_generals, all_pragmatic_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_prussia_pragmatic_bavaria_saxony_trains = [ all_prussia_trains, all_pragmatic_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_prussia_pragmatic_bavaria_saxony_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_pragmatic_bavaria_saxony = [ P_FRANCE, P_PRUSSIA, P_PRAGMATIC, P_BAVARIA, P_SAXONY ]
+const all_france_prussia_pragmatic_bavaria_saxony_generals = [ all_france_generals, all_prussia_generals, all_pragmatic_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_prussia_pragmatic_bavaria_saxony_trains = [ all_france_trains, all_prussia_trains, all_pragmatic_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_prussia_pragmatic_bavaria_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_pragmatic_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_austria_bavaria_saxony = [ P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_austria_bavaria_saxony_generals = [ all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_austria_bavaria_saxony_trains = [ all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_austria_bavaria_saxony_pieces = [ all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_austria_bavaria_saxony = [ P_FRANCE, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_france_austria_bavaria_saxony_generals = [ all_france_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_austria_bavaria_saxony_trains = [ all_france_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_austria_bavaria_saxony_pieces = [ all_france_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_austria_bavaria_saxony = [ P_PRUSSIA, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_prussia_austria_bavaria_saxony_generals = [ all_prussia_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_prussia_austria_bavaria_saxony_trains = [ all_prussia_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_prussia_austria_bavaria_saxony_pieces = [ all_prussia_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_prussia_austria_bavaria_saxony = [ P_FRANCE, P_PRUSSIA, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_france_prussia_austria_bavaria_saxony_generals = [ all_france_generals, all_prussia_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_prussia_austria_bavaria_saxony_trains = [ all_france_trains, all_prussia_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_prussia_austria_bavaria_saxony_pieces = [ all_france_pieces, all_prussia_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_pragmatic_austria_bavaria_saxony = [ P_PRAGMATIC, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_pragmatic_austria_bavaria_saxony_generals = [ all_pragmatic_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_pragmatic_austria_bavaria_saxony_trains = [ all_pragmatic_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_pragmatic_austria_bavaria_saxony_pieces = [ all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_france_pragmatic_austria_bavaria_saxony = [ P_FRANCE, P_PRAGMATIC, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_france_pragmatic_austria_bavaria_saxony_generals = [ all_france_generals, all_pragmatic_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_france_pragmatic_austria_bavaria_saxony_trains = [ all_france_trains, all_pragmatic_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_france_pragmatic_austria_bavaria_saxony_pieces = [ all_france_pieces, all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+const all_powers_prussia_pragmatic_austria_bavaria_saxony = [ P_PRUSSIA, P_PRAGMATIC, P_AUSTRIA, P_BAVARIA, P_SAXONY ]
+const all_prussia_pragmatic_austria_bavaria_saxony_generals = [ all_prussia_generals, all_pragmatic_generals, all_austria_generals, all_bavaria_generals, all_saxony_generals ].flat()
+const all_prussia_pragmatic_austria_bavaria_saxony_trains = [ all_prussia_trains, all_pragmatic_trains, all_austria_trains, all_bavaria_trains, all_saxony_trains ].flat()
+const all_prussia_pragmatic_austria_bavaria_saxony_pieces = [ all_prussia_pieces, all_pragmatic_pieces, all_austria_pieces, all_bavaria_pieces, all_saxony_pieces ].flat()
+
/* DATA */
function is_bohemia_space(s) {
@@ -352,101 +603,7 @@ const all_trains = [ ...all_power_trains.flat() ]
const all_generals = [ ...all_power_generals.flat() ]
const all_generals_by_rank = all_generals.slice().sort((a,b)=>piece_rank[a]-piece_rank[b])
-const all_france_bavaria_generals = [
- ...all_power_generals[P_FRANCE],
- ...all_power_generals[P_BAVARIA],
-]
-
-const all_prussia_saxony_generals = [
- ...all_power_generals[P_PRUSSIA],
- ...all_power_generals[P_SAXONY],
-]
-
-const all_austria_saxony_generals = [
- ...all_power_generals[P_AUSTRIA],
- ...all_power_generals[P_SAXONY],
-]
-
-const all_austria_pragmatic_saxony_trains = [
- ...all_power_trains[P_AUSTRIA],
- ...all_power_trains[P_PRAGMATIC],
- ...all_power_trains[P_SAXONY],
-]
-
-const all_france_bavaria_trains = [
- ...all_power_trains[P_FRANCE],
- ...all_power_trains[P_BAVARIA],
-]
-
-const all_prussia_saxony_trains = [
- ...all_power_trains[P_PRUSSIA],
- ...all_power_trains[P_SAXONY],
-]
-
-const all_austria_saxony_trains = [
- ...all_power_trains[P_AUSTRIA],
- ...all_power_trains[P_SAXONY],
-]
-
-const all_france_bavaria_prussia_trains = [
- ...all_power_trains[P_FRANCE],
- ...all_power_trains[P_BAVARIA],
- ...all_power_trains[P_PRUSSIA],
-]
-
-const all_france_bavaria_prussia_saxony_trains = [
- ...all_power_trains[P_FRANCE],
- ...all_power_trains[P_BAVARIA],
- ...all_power_trains[P_PRUSSIA],
- ...all_power_trains[P_SAXONY],
-]
-
-const all_austria_pragmatic_trains = [
- ...all_power_trains[P_AUSTRIA],
- ...all_power_trains[P_PRAGMATIC],
-]
-
-const all_austria_pragmatic_generals = [
- ...all_power_generals[P_AUSTRIA],
- ...all_power_generals[P_PRAGMATIC],
-]
-
-const all_austria_pragmatic_saxony_generals = [
- ...all_power_generals[P_AUSTRIA],
- ...all_power_generals[P_PRAGMATIC],
- ...all_power_generals[P_SAXONY],
-]
-
-const all_france_bavaria_prussia_generals = [
- ...all_power_generals[P_FRANCE],
- ...all_power_generals[P_BAVARIA],
- ...all_power_generals[P_PRUSSIA],
-]
-
-const all_france_bavaria_prussia_saxony_generals = [
- ...all_power_generals[P_FRANCE],
- ...all_power_generals[P_BAVARIA],
- ...all_power_generals[P_PRUSSIA],
- ...all_power_generals[P_SAXONY],
-]
-
const all_powers_none = []
-const all_powers_prussia = [ P_PRUSSIA ]
-const all_powers_pragmatic = [ P_PRAGMATIC ]
-const all_powers_austria = [ P_AUSTRIA ]
-const all_powers_bavaria = [ P_BAVARIA ]
-const all_powers_saxony = [ P_SAXONY ]
-const all_powers_france_bavaria = [ P_FRANCE, P_BAVARIA ]
-const all_powers_prussia_saxony = [ P_PRUSSIA, P_SAXONY ]
-const all_powers_austria_saxony = [ P_AUSTRIA, P_SAXONY ]
-const all_powers_bavaria_saxony = [ P_BAVARIA, P_SAXONY ]
-const all_powers_prussia_saxony_pragmatic_austria = [ P_PRUSSIA, P_SAXONY, P_PRAGMATIC, P_AUSTRIA ]
-const all_powers_france_bavaria_pragmatic_austria = [ P_FRANCE, P_BAVARIA, P_PRAGMATIC, P_AUSTRIA ]
-const all_powers_france_bavaria_prussia_pragmatic = [ P_FRANCE, P_BAVARIA, P_PRUSSIA, P_PRAGMATIC ]
-const all_powers_france_bavaria_prussia = [ P_FRANCE, P_BAVARIA, P_PRUSSIA ]
-const all_powers_france_bavaria_prussia_saxony = [ P_FRANCE, P_BAVARIA, P_PRUSSIA, P_SAXONY ]
-const all_powers_pragmatic_austria = [ P_PRAGMATIC, P_AUSTRIA ]
-const all_powers_pragmatic_austria_saxony = [ P_PRAGMATIC, P_AUSTRIA, P_SAXONY ]
function coop_major_power(pow) {
if (pow === P_BAVARIA)
@@ -486,25 +643,25 @@ function is_hostile_to_austria() {
// TODO: simplify all these lists and stuff
-function all_controlled_powers(pow) {
+function all_controlled_pieces(pow) {
switch (coop_major_power(pow)) {
case P_FRANCE:
- return all_powers_france_bavaria
+ return all_france_bavaria_pieces
case P_PRUSSIA:
if (is_saxony_prussian())
- return all_powers_prussia_saxony
- return all_powers_prussia
+ return all_prussia_saxony_pieces
+ return all_power_pieces[P_PRUSSIA]
case P_PRAGMATIC:
- return all_powers_pragmatic
+ return all_power_pieces[P_PRAGMATIC]
case P_AUSTRIA:
if (is_two_player() && !is_intro()) {
if (is_saxony_austrian())
- return all_powers_pragmatic_austria_saxony
- return all_powers_pragmatic_austria
+ return all_pragmatic_austria_saxony_pieces
+ return all_pragmatic_austria_pieces
}
if (is_saxony_austrian())
- return all_powers_austria_saxony
- return all_powers_austria
+ return all_austria_saxony_pieces
+ return all_power_pieces[P_AUSTRIA]
}
}
@@ -521,8 +678,8 @@ function all_controlled_generals(pow) {
case P_AUSTRIA:
if (is_two_player() && !is_intro()) {
if (is_saxony_austrian())
- return all_austria_pragmatic_saxony_generals
- return all_austria_pragmatic_generals
+ return all_pragmatic_austria_saxony_generals
+ return all_pragmatic_austria_generals
}
if (is_saxony_austrian())
return all_austria_saxony_generals
@@ -543,8 +700,8 @@ function all_controlled_trains(pow) {
case P_AUSTRIA:
if (is_two_player() && !is_intro()) {
if (is_saxony_austrian())
- return all_austria_pragmatic_saxony_trains
- return all_austria_pragmatic_trains
+ return all_pragmatic_austria_saxony_trains
+ return all_pragmatic_austria_trains
}
if (is_saxony_austrian())
return all_austria_saxony_trains
@@ -583,12 +740,12 @@ function all_enemy_powers(pow) {
case P_SAXONY:
if (is_saxony_prussian())
return all_powers_pragmatic_austria
- return all_powers_france_bavaria_prussia
+ return all_powers_france_prussia_bavaria
case P_PRAGMATIC:
case P_AUSTRIA:
if (is_saxony_austrian())
- return all_powers_france_bavaria_prussia
- return all_powers_france_bavaria_prussia_saxony
+ return all_powers_france_prussia_bavaria
+ return all_powers_france_prussia_bavaria_saxony
}
}
@@ -604,18 +761,18 @@ function all_non_coop_powers(pow) {
switch (pow) {
case P_FRANCE:
case P_BAVARIA:
- return all_powers_prussia_saxony_pragmatic_austria
+ return all_powers_prussia_pragmatic_austria_saxony
case P_PRUSSIA:
- return all_powers_france_bavaria_pragmatic_austria
+ return all_powers_france_pragmatic_austria_bavaria
case P_SAXONY:
if (is_saxony_prussian())
- return all_powers_france_bavaria_pragmatic_austria
- return all_powers_france_bavaria_prussia_pragmatic
+ return all_powers_france_pragmatic_austria_bavaria
+ return all_powers_france_prussia_pragmatic_bavaria
case P_PRAGMATIC:
case P_AUSTRIA:
if (is_saxony_austrian())
- return all_powers_france_bavaria_prussia
- return all_powers_france_bavaria_prussia_saxony
+ return all_powers_france_prussia_bavaria
+ return all_powers_france_prussia_bavaria_saxony
}
}
@@ -630,33 +787,33 @@ function all_coop_generals(pow) {
case P_PRAGMATIC:
case P_AUSTRIA:
if (is_saxony_austrian())
- return all_austria_pragmatic_saxony_generals
- return all_austria_pragmatic_generals
+ return all_pragmatic_austria_saxony_generals
+ return all_pragmatic_austria_generals
}
}
function all_france_allied_generals() {
if (is_saxony_prussian())
- return all_france_bavaria_prussia_saxony_generals
- return all_france_bavaria_prussia_generals
+ return all_france_prussia_bavaria_saxony_generals
+ return all_france_prussia_bavaria_generals
}
function all_france_allied_trains() {
if (is_saxony_prussian())
- return all_france_bavaria_prussia_saxony_trains
- return all_france_bavaria_prussia_trains
+ return all_france_prussia_bavaria_saxony_trains
+ return all_france_prussia_bavaria_trains
}
function all_austria_allied_generals() {
if (is_saxony_austrian())
- return all_austria_pragmatic_saxony_generals
- return all_austria_pragmatic_generals
+ return all_pragmatic_austria_saxony_generals
+ return all_pragmatic_austria_generals
}
function all_austria_allied_trains() {
if (is_saxony_austrian())
- return all_austria_pragmatic_saxony_trains
- return all_austria_pragmatic_trains
+ return all_pragmatic_austria_saxony_trains
+ return all_pragmatic_austria_trains
}
function all_allied_trains(pow) {
@@ -1771,7 +1928,7 @@ function search_supply_path(who) {
if (who === ARENBERG) {
if (set_has(data.country.Netherlands, from))
return 1
- trains = all_austria_pragmatic_trains
+ trains = all_pragmatic_austria_trains
}
if (is_home_country(from))