From 5a458a5a578445d70356b23c998fe3b8cbe909ec Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 10 Jun 2024 01:25:36 +0200 Subject: stuff --- data.js | 3365 +++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 2541 insertions(+), 824 deletions(-) (limited to 'data.js') diff --git a/data.js b/data.js index 902705d..7053e68 100644 --- a/data.js +++ b/data.js @@ -1,828 +1,2545 @@ -"use strict" - -var data - -;(function () { - -function array_insert(array, index, item) { - for (let i = array.length; i > index; --i) - array[i] = array[i - 1] - array[index] = item -} - -function set_add(set, item) { - let a = 0 - let b = set.length - 1 - while (a <= b) { - let m = (a + b) >> 1 - let x = set[m] - if (item < x) - b = m - 1 - else if (item > x) - a = m + 1 - else - return - } - array_insert(set, a, item) -} - -function make_index_from_list(list) { - let map = {} - for (let i = 0; i < list.length; ++i) - map[list[i]] = i - return map -} - -const BOXES = {} - -// === GENERALS === - -const generals = [ - { name: "Arnold", owner: "American", strategy: 1, battle: 3, agility: 2, bonus: false }, - { name: "Gates", owner: "American", strategy: 2, battle: 2, agility: 1, bonus: false }, - { name: "Greene", owner: "American", strategy: 1, battle: 4, agility: 2, bonus: true }, - { name: "Lafayette", owner: "American", strategy: 1, battle: 2, agility: 1, bonus: false }, - { name: "Lee", owner: "American", strategy: 2, battle: 1, agility: 1, bonus: false }, - { name: "Lincoln", owner: "American", strategy: 2, battle: 1, agility: 1, bonus: false }, - { name: "Washington", owner: "American", strategy: 1, battle: 5, agility: 2, bonus: true }, - - { name: "Rochambeau", owner: "French", strategy: 2, battle: 4, agility: 2, bonus: false }, - - { name: "Burgoyne", owner: "British", strategy: 2, battle: 2, agility: 1, bonus: false }, - { name: "Carleton", owner: "British", strategy: 3, battle: 3, agility: 2, bonus: false }, - { name: "Clinton", owner: "British", strategy: 3, battle: 4, agility: 2, bonus: false }, - { name: "Cornwallis", owner: "British", strategy: 2, battle: 4, agility: 2, bonus: false }, - { name: "Howe", owner: "British", strategy: 3, battle: 6, agility: 3, bonus: false }, -] - -const general_index = make_index_from_list(generals.map(x=>x.name)) - -// === SPACES === - -const spaces = [] -const space_index = {} - -const colony_name = [ "Canada", "NH", "NY", "MA", "CT", "RI", "PA", "NJ", "MD", "DE", "VA", "NC", "SC", "GA" ] -const colony_spaces = colony_name.map(x => []) - -const Canada = 0 -const NH = 1 -const NY = 2 -const MA = 3 -const CT = 4 -const RI = 5 -const PA = 6 -const NJ = 7 -const MD = 8 -const DE = 9 -const VA = 10 -const NC = 11 -const SC = 12 -const GA = 13 - -function box(category, A, x, y) { - x += 40 - y += 36 - BOXES[A] = { name: A, category: category, x: x, y: y } -} - -function space(colony, name, x, y, type) { - x += 40 - y += 36 - if (type === "winter-quarters") { - x += 1 - y += 1 - } - - let ix = spaces.length - space_index[name] = ix - spaces.push({ name: name, colony, type, port: 0, path: [], wilderness: [], adjacent: [], x, y }) - set_add(colony_spaces[colony], ix) -} - -function not_space(type, name, x, y) { - // box that's not a space - x += 40 - y += 36 - let ix = spaces.length - space_index[name] = ix - spaces.push({ name, type, x, y }) -} - -function line(A, B, type) { - A = space_index[A] - B = space_index[B] - set_add(spaces[A].adjacent, B) - set_add(spaces[B].adjacent, A) - set_add(spaces[A][type], B) - set_add(spaces[B][type], A) -} - -space(Canada, "Fort Detroit", 55, 673, "regular-space") -space(Canada, "Montreal", 1000, 159, "fortified-port") -space(Canada, "Quebec", 1122, 57, "fortified-port") -space(CT, "Hartford", 1183, 749, "winter-quarters") -space(CT, "New Haven", 1088, 736, "regular-space") -space(DE, "Wilmington DE", 885, 1079, "winter-quarters") -space(GA, "Augusta", 140, 2060, "regular-space") -space(GA, "Savannah", 227, 2271, "regular-space") -space(GA, "St. Mary's", 180, 2394, "regular-space") -space(MA, "Barnstable", 1394, 705, "regular-space") -space(MA, "Boston", 1327, 592, "winter-quarters") -space(MA, "Falmouth", 1334, 410, "regular-space") -space(MA, "Lexington Concord", 1218, 628, "regular-space") -space(MA, "Springfield", 1095, 624, "winter-quarters") -space(MD, "Baltimore", 769, 1105, "winter-quarters") -space(MD, "Fort Cumberland", 446, 1098, "regular-space") -space(MD, "Frederick Town", 646, 1097, "regular-space") -space(NC, "Charlotte", 215, 1653, "regular-space") -space(NC, "Gilbert Town", 123, 1568, "regular-space") -space(NC, "Hillsboro", 484, 1582, "regular-space") -space(NC, "New Bern", 764, 1670, "regular-space") -space(NC, "Salem", 308, 1561, "regular-space") -space(NC, "Wake (Raleigh)", 606, 1671, "regular-space") -space(NC, "Wilmington NC", 676, 1816, "regular-space") -space(NH, "Brattleboro", 1102, 486, "regular-space") -space(NH, "Concord", 1214, 460, "regular-space") -space(NH, "Norwich", 1125, 342, "winter-quarters") -space(NJ, "Monmouth", 998, 1074, "regular-space") -space(NJ, "Morristown", 864, 831, "regular-space") -space(NJ, "New Brunswick", 961, 942, "regular-space") -space(NY, "Albany", 965, 626, "winter-quarters") -space(NY, "Fort Niagara", 461, 526, "regular-space") -space(NY, "Fort Stanwix", 877, 483, "winter-quarters") -space(NY, "Genesee", 668, 582, "regular-space") -space(NY, "Long Island", 1147, 868, "regular-space") -space(NY, "New York", 1024, 838, "winter-quarters") -space(NY, "Oswego", 768, 424, "regular-space") -space(NY, "Saratoga", 992, 496, "regular-space") -space(NY, "Ticonderoga", 993, 355, "winter-quarters") -space(NY, "Westchester", 955, 747, "regular-space") -space(PA, "Bassett Town", 147, 984, "regular-space") -space(PA, "Harrisburg", 555, 880, "regular-space") -space(PA, "Philadelphia", 846, 961, "fortified-port") -space(PA, "Pittsburgh", 439, 958, "winter-quarters") -space(PA, "Reading", 684, 900, "regular-space") -space(PA, "Wyoming Valley", 685, 747, "winter-quarters") -space(PA, "York", 589, 992, "regular-space") -space(RI, "Newport", 1289, 736, "winter-quarters") -space(SC, "Camden", 346, 1773, "regular-space") -space(SC, "Charleston", 444, 2050, "fortified-port") -space(SC, "Cheraw", 496, 1795, "regular-space") -space(SC, "Eutaw Springs", 404, 1905, "regular-space") -space(SC, "Fort Prince George", 74, 1773, "regular-space") -space(SC, "Georgetown", 574, 1915, "regular-space") -space(SC, "Ninety Six", 222, 1932, "regular-space") -space(VA, "Abingdon", 61, 1451, "regular-space") -space(VA, "Alexandria", 653, 1217, "winter-quarters") -space(VA, "Charlottesville", 434, 1257, "winter-quarters") -space(VA, "Fincastle", 349, 1402, "regular-space") -space(VA, "Fort Chiswell", 212, 1408, "regular-space") -space(VA, "Lynch's Ferry", 486, 1444, "regular-space") -space(VA, "Norfolk", 781, 1450, "winter-quarters") -space(VA, "Petersburg", 634, 1446, "regular-space") -space(VA, "Point Pleasant", 132, 1218, "regular-space") -space(VA, "Richmond", 608, 1323, "winter-quarters") -space(VA, "Yorktown", 767, 1317, "regular-space") - -not_space("box", "British Leader Reinforcements", 1425, 1745) -not_space("box", "French Reinforcements", 150, 340) -not_space("box", "American Leader Reinforcements", 400, 310) -not_space("box", "Captured Generals", 1463, 80) -not_space("box", "Continental Congress Dispersed", 545, 350) - -box("SEA", "Sea1", 1277, 65, "blockade") -box("SEA", "Sea2", 1469, 514, "blockade") -box("SEA", "Sea3", 1213, 981, "blockade") -box("SEA", "Sea4", 1058, 1174, "blockade") -box("SEA", "Sea5", 947, 1395, "blockade") -box("SEA", "Sea6", 637, 2027, "blockade") -box("SEA", "Sea7", 359, 2358, "blockade") - -box("ALLIANCE", "French Alliance Track 0", 898, 2240) -box("ALLIANCE", "French Alliance Track 1", 964, 2240) -box("ALLIANCE", "French Alliance Track 2", 1030, 2240) -box("ALLIANCE", "French Alliance Track 3", 1096, 2240) -box("ALLIANCE", "French Alliance Track 4", 1162, 2240) -box("ALLIANCE", "French Alliance Track 5", 1228, 2240) -box("ALLIANCE", "French Alliance Track 6", 1294, 2240) -box("ALLIANCE", "French Alliance Track 7", 1360, 2240) -box("ALLIANCE", "French Alliance Track 8", 1426, 2240) -box("ALLIANCE", "French Alliance Track 9", 1492, 2240) - -box("TURN", "Game Turn 1775", 898, 2370) -box("TURN", "Game Turn 1776", 964, 2370) -box("TURN", "Game Turn 1777", 1030, 2370) -box("TURN", "Game Turn 1778", 1096, 2370) -box("TURN", "Game Turn 1779", 1162, 2370) -box("TURN", "Game Turn 1780", 1228, 2370) -box("TURN", "Game Turn 1781", 1294, 2370) -box("TURN", "Game Turn 1782", 1360, 2370) -box("TURN", "Game Turn 1783", 1426, 2370) - -box("CONTROL", "Canada", 1376, 967) -box("CONTROL", "NH", 1458, 1006) -box("CONTROL", "NY", 1375, 1081) -box("CONTROL", "MA", 1491, 1081) -box("CONTROL", "CT", 1455, 1156) -box("CONTROL", "RI", 1533, 1156) -box("CONTROL", "PA", 1299, 1194) -box("CONTROL", "NJ", 1376, 1189) -box("CONTROL", "MD", 1299, 1266) -box("CONTROL", "DE", 1376, 1266) -box("CONTROL", "VA", 1241, 1337) -box("CONTROL", "NC", 1260, 1407) -box("CONTROL", "SC", 1212, 1479) -box("CONTROL", "GA", 1164, 1550) - -function wilderness(A, B) { - line(A, B, "wilderness") -} - -function path(A, B) { - line(A, B, "path") -} - -function sea(space, zone) { - spaces[space_index[space]].port = zone -} - -wilderness("Quebec", "Falmouth") -wilderness("Fort Detroit", "Bassett Town") -wilderness("Bassett Town", "Point Pleasant") - -path("Quebec", "Montreal") -path("Montreal", "Ticonderoga") -path("Montreal", "Oswego") -path("Oswego", "Fort Niagara") -path("Oswego", "Fort Stanwix") -path("Fort Niagara", "Fort Detroit") -path("Fort Niagara", "Genesee") -path("Ticonderoga", "Norwich") -path("Ticonderoga", "Saratoga") -path("Norwich", "Brattleboro") -path("Norwich", "Concord") -path("Concord", "Falmouth") -path("Concord", "Brattleboro") -path("Saratoga", "Brattleboro") -path("Saratoga", "Albany") -path("Brattleboro", "Springfield") -path("Fort Stanwix", "Albany") -path("Albany", "Springfield") -path("Lexington Concord", "Springfield") -path("Lexington Concord", "Boston") -path("Falmouth", "Boston") -path("Barnstable", "Boston") -path("Newport", "Boston") -path("Newport", "Hartford") -path("Springfield", "Hartford") -path("New Haven", "Hartford") -path("New Haven", "New York") -path("New Haven", "Westchester") -path("New York", "Westchester") -path("New York", "Long Island") -path("Newport", "Lexington Concord") -path("Albany", "Westchester") -path("Fort Stanwix", "Genesee") -path("Genesee", "Wyoming Valley") -path("Fort Niagara", "Pittsburgh") -path("Morristown", "Westchester") -path("Morristown", "Wyoming Valley") -path("Morristown", "Reading") -path("Morristown", "New Brunswick") -path("Morristown", "New York") -path("New York", "New Brunswick") -path("Monmouth", "New Brunswick") -path("Philadelphia", "New Brunswick") -path("Monmouth", "Philadelphia") -path("Reading", "Philadelphia") -path("Wyoming Valley", "Reading") -path("Wilmington DE", "Philadelphia") -path("Wilmington DE", "Baltimore") -path("Bassett Town", "Pittsburgh") -path("Fort Cumberland", "Pittsburgh") -path("Harrisburg", "Pittsburgh") -path("Harrisburg", "York") -path("Reading", "York") -path("Harrisburg", "Reading") -path("Frederick Town", "York") -path("Frederick Town", "Baltimore") -path("Frederick Town", "Alexandria") -path("Frederick Town", "Charlottesville") -path("Frederick Town", "Fort Cumberland") -path("Richmond", "Alexandria") -path("Richmond", "Yorktown") -path("Richmond", "Petersburg") -path("Richmond", "Lynch's Ferry") -path("Richmond", "Charlottesville") -path("Richmond", "Norfolk") -path("Fincastle", "Charlottesville") -path("Fincastle", "Lynch's Ferry") -path("Fincastle", "Fort Chiswell") -path("Point Pleasant", "Fort Chiswell") -path("Abingdon", "Fort Chiswell") -path("Abingdon", "Gilbert Town") -path("Fort Prince George", "Gilbert Town") -path("Charlotte", "Gilbert Town") -path("Charlotte", "Salem") -path("Hillsboro", "Salem") -path("Cheraw", "Salem") -path("Lynch's Ferry", "Salem") -path("Charlotte", "Camden") -path("Abingdon", "Fort Prince George") -path("New Bern", "Norfolk") -path("Petersburg", "Norfolk") -path("Petersburg", "Wake (Raleigh)") -path("New Bern", "Wake (Raleigh)") -path("Hillsboro", "Wake (Raleigh)") -path("Petersburg", "Hillsboro") -path("Petersburg", "Lynch's Ferry") -path("Wilmington NC", "Wake (Raleigh)") -path("Wilmington NC", "Cheraw") -path("Wilmington NC", "Georgetown") -path("Cheraw", "Georgetown") -path("Cheraw", "Camden") -path("Ninety Six", "Fort Prince George") -path("Ninety Six", "Camden") -path("Ninety Six", "Augusta") -path("Eutaw Springs", "Camden") -path("Eutaw Springs", "Charleston") -path("Georgetown", "Charleston") -path("Savannah", "Charleston") -path("Alexandria", "Baltimore") -path("Savannah", "Augusta") -path("Savannah", "St. Mary's") -path("Charlottesville", "Lynch's Ferry") - -sea("Quebec", 1) -sea("Montreal", 1) - -sea("Falmouth", 2) -sea("Boston", 2) -sea("Barnstable", 2) -sea("Newport", 2) - -sea("New Haven", 3) -sea("New York", 3) -sea("Long Island", 3) - -sea("Philadelphia", 4) -sea("Wilmington DE", 4) - -sea("Baltimore", 5) -sea("Alexandria", 5) -sea("Yorktown", 5) -sea("Norfolk", 5) - -sea("New Bern", 6) -sea("Wilmington NC", 6) -sea("Charleston", 6) - -sea("Savannah", 7) -sea("St. Mary's", 7) - -// === CARDS === - -const CARD_3_OPS = { title: "3 OPS", type: "ops", count: 3 } -const CARD_2_OPS = { title: "2 OPS", type: "ops", count: 2 } -const CARD_1_OPS = { title: "1 OPS", type: "ops", count: 1 } - -const cards = [ - null, - - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - CARD_3_OPS, - - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - CARD_2_OPS, - - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - CARD_1_OPS, - - /* 67 */ - { - title: "Minor Campaign", - type: "campaign", - count: 2, - }, - - /* 68 */ - { - title: "Minor Campaign", - type: "campaign", - count: 2, - }, - - /* 69 */ - { - title: "Minor Campaign", - type: "campaign", - count: 2, - }, - - /* 70 */ - { - title: "Major Campaign", - type: "campaign", - count: 3, - }, - - /* 71 */ - { - full_title: "North's Government Falls - The War Ends in 1779", - title: "The War Ends in 1779", - type: "mandatory-event", - event: "the_war_ends", - year: 1779, - }, - - /* 72 */ - { - full_title: "North's Government Falls - The War Ends in 1780", - title: "The War Ends in 1780", - type: "mandatory-event", - event: "the_war_ends", - year: 1780, - }, - - /* 73 */ - { - full_title: "North's Government Falls - The War Ends in 1781", - title: "The War Ends in 1781", - type: "mandatory-event", - event: "the_war_ends", - year: 1781, - }, - - /* 74 */ - { - full_title: "North's Government Falls - The War Ends in 1782", - title: "The War Ends in 1782", - type: "mandatory-event", - event: "the_war_ends", - year: 1782, - }, - - /* 75 */ - { - full_title: "North's Government Falls - The War Ends in 1783", - title: "The War Ends in 1783", - type: "mandatory-event", - event: "the_war_ends", - year: 1783, - }, - - /* 76 */ - { - title: "Henry Know Continental Artillery Commander", - type: "american-battle", - }, - - /* 77 */ - { - title: "Jane McCrea Indian Atrocity Sparks Outrage", - type: "american-event", - event: "place_american_pc", - count: 2, - once: true, - }, - - /* 78 */ - { - title: "Iroquois Uprising!", - type: "british-event", - event: "remove_american_pc_from_non_port", - where: [ NH, NY, PA ], - count: 2, - }, - - /* 79 */ - { - title: "Joseph Brant Leads an Iroquois Raid", - type: "british-event", - event: "remove_american_pc_from_non_port", - where: [ NH, NY, PA ], - count: 2, - }, - - /* 80 */ - { - title: "Lt. Colonel Simcoe's Queen's Rangers", - type: "british-event", - event: "remove_american_pc_within_two_spaces_of_a_british_general", - count: 2, - }, - - /* 81 */ - { - title: "D'Estaing Sails for the Caribbean", - type: "british-event", - when: "after_french_alliance", - event: "remove_french_navy", - }, - - /* 82 */ - { - title: "Banastre Tarleton's Waxhaws Massacre", - type: "british-event-or-battle", - event: "remove_american_cu", - }, - - /* 83 */ - { - title: "Lord George Germaine Offers Royal Amnesty", - type: "british-event", - event: "remove_american_pc", - count: 2, - }, - - /* 84 */ - { - title: "George Rogers Clark Leads a Western Offensive", - type: "american-event", - event: "remove_random_british_card", - }, - - /* 85 */ - { - title: "Don Bernardo Galvez Captures Pensacola", - type: "american-event", - when: "european_war_in_effect", - event: "remove_british_cu", - count: 2, - }, - - /* 86 */ - { - title: "Baron von Steuben Trains the Continental Army", - type: "american-event", - event: "baron_von_steuben_trains_the_continental_army", - }, - - /* 87 */ - { - title: "Lord North Offers a Royal Amnesty", - type: "british-event", - event: "remove_american_pc", - count: 4, - once: true, - }, - - /* 88 */ - { - title: "The Swamp Fox, Francis Marion", - type: "american-event", - event: "remove_british_pc_from", - where: [ NC, SC, GA ], - count: 2, - }, - - /* 89 */ - { - title: "The Gamecock: Thomas Sumter", - type: "american-event", - event: "remove_british_pc_from", - where: [ NC, SC, GA ], - count: 2, - }, - - /* 90 */ - { - title: "Josiah Martin Rallies North Carolina Loyalists", - type: "british-event", - event: "remove_american_pc_from", - where: [ NC ], - count: 2, - }, - - /* 91 */ - { - title: 'Thomas Paine Publishes Pamphlets "Common Sense" and "The American Crisis"', - type: "american-event", - event: "place_american_pc_in", - where: [ NH, NY, MA, CT, RI, PA, NJ, MD, DE, VA, NC, SC, GA ], - count: 3, - once: true, - }, - - /* 92 */ - { - title: "Nathan Hale, American Martyr", - type: "american-event", - event: "place_american_pc", - count: 2, - once: true, - }, - - /* 93 */ - { - title: "John Glover's Marblehead Regiment", - type: "american-event", - event: "john_glovers_marblehead_regiment", - }, - - /* 94 */ - { - title: "Pennsylvania and New Jersey Line Mutinies", - type: "british-event", - event: "pennsylvania_and_new_jersey_line_mutinies", - }, - - /* 95 */ - { - title: "William Pitt Urges Peace Talks", - type: "british-event", - when: "before_french_alliance", - event: "remove_american_pc", - count: 2, - reshuffle: "if_played", - }, - - /* 96 */ - { - title: "Hortelez et Cie: Clandestine French and Spanish Aid", - type: "american-event", - when: "before_french_alliance", - event: "advance_french_alliance", - reshuffle: "if_discarded", - count: 2, - }, - - /* 97 */ - { - title: "Admiral Suffren Wins a Naval Victory", - type: "american-event", - when: "after_french_alliance", - event: "remove_random_british_card", - }, - - /* 98 */ - { - title: '"Mad" Anthony Wayne', - type: "american-battle", - }, - - /* 99 */ - { - title: "Declaration of Independence", - type: "mandatory-event", - event: "declaration_of_independence", - once: true, - reshuffle: "if_played", - tournament: true, - }, - - /* 100 */ - { - title: "Benedict Arnold's Treason Undermines the Patriot Cause", - type: "british-battle", - event: "remove_benedict_arnold", - once: true, - }, - - /* 101 */ - { - title: "Benjamin Franklin: Minister to France", - type: "mandatory-event", - event: "advance_french_alliance", - count: 4, - once: true, - tournament: true, - }, - - /* 102 */ - { - title: "Admiral Rodney Captures St. Eustatius", - type: "british-event", - event: "remove_random_american_card", - when: "european_war_in_effect", - once: true, - }, - - /* 103 */ - { - title: "Thaddeus Kosciuszco Constructs Engineering Works", - type: "american-battle", - }, - - /* 104 */ - { - title: "Light Horse Harry Lee", - type: "american-battle", - }, - - /* 105 */ - { - title: "Morgan's Riflemen", - type: "american-battle", - }, - - /* 106 */ - { - title: "John Paul Jones' Shipping Raids", - type: "american-event", - event: "remove_random_british_card", - }, - - /* 107 */ - { - title: "British Light Infantry", - type: "british-battle", - }, - - /* 108 */ - { - title: "Lord Sandwich Coastal Raids", - type: "british-event", - event: "lord_sandwich_coastal_raids", +const data = { + "layout": { + "sea": [ + [ + 1268, + 60, + 97, + 83 + ], + [ + 1461, + 508, + 97, + 84 + ], + [ + 1205, + 975, + 97, + 83 + ], + [ + 1049, + 1169, + 97, + 83 + ], + [ + 938, + 1389, + 97, + 83 + ], + [ + 629, + 2022, + 97, + 83 + ], + [ + 351, + 2352, + 97, + 83 + ] + ], + "colony": [ + [ + 1416, + 1004 + ], + [ + 1498, + 1043 + ], + [ + 1415, + 1118 + ], + [ + 1532, + 1117 + ], + [ + 1495, + 1192 + ], + [ + 1573, + 1192 + ], + [ + 1339, + 1230 + ], + [ + 1416, + 1225 + ], + [ + 1339, + 1303 + ], + [ + 1416, + 1303 + ], + [ + 1282, + 1373 + ], + [ + 1300, + 1444 + ], + [ + 1252, + 1515 + ], + [ + 1204, + 1587 + ] + ], + "french_alliance_track": { + "0": [ + 937, + 2277 + ], + "1": [ + 1003, + 2277 + ], + "2": [ + 1069, + 2277 + ], + "3": [ + 1135, + 2277 + ], + "4": [ + 1202, + 2277 + ], + "5": [ + 1268, + 2277 + ], + "6": [ + 1334, + 2277 + ], + "7": [ + 1400, + 2277 + ], + "8": [ + 1467, + 2277 + ], + "9": [ + 1533, + 2277 + ] + }, + "turn": { + "1775": [ + 936, + 2404 + ], + "1776": [ + 1002, + 2404 + ], + "1777": [ + 1068, + 2404 + ], + "1778": [ + 1134, + 2404 + ], + "1779": [ + 1201, + 2404 + ], + "1780": [ + 1267, + 2404 + ], + "1781": [ + 1333, + 2404 + ], + "1782": [ + 1399, + 2404 + ], + "1783": [ + 1465, + 2404 + ] + }, + "card_box": { + "BRC": [ + 1004, + 2054 + ], + "ARC1": [ + 1237, + 2054 + ], + "ARC2": [ + 1470, + 2054 + ], + "War Ends Card": [ + 1166, + 1778 + ] + }, + "box": { + "British Reinforcement Box": [ + 1358, + 1673, + 214, + 206 + ], + "American Leader Reinforcements": [ + 294, + 258, + 214, + 206 + ], + "French Reinforcements": [ + 63, + 258, + 214, + 207 + ], + "Continental Congress Dispersed": [ + 542, + 332, + 88, + 104 + ], + "Captured Generals": [ + 1400, + 46, + 205, + 136 + ] + } }, - - /* 109 */ - { - title: "Edward Bancroft, British Double Agent", - type: "british-event", - event: "remove_random_american_card", + "spaces": [ + { + "name": "Charleston", + "type": "fortified_port", + "adjacent": [ + 30, + 40, + 59 + ], + "path": [ + 30, + 40, + 59 + ], + "wilderness": [], + "port": 5, + "colony": 12, + "x": 484, + "y": 2086 + }, + { + "name": "Montreal", + "type": "fortified_port", + "adjacent": [ + 3, + 18, + 53 + ], + "path": [ + 3, + 18, + 53 + ], + "wilderness": [], + "port": 0, + "colony": 0, + "x": 1040, + "y": 195 + }, + { + "name": "Philadelphia", + "type": "fortified_port", + "adjacent": [ + 19, + 47, + 50, + 56 + ], + "path": [ + 19, + 47, + 50, + 56 + ], + "wilderness": [], + "port": 3, + "colony": 6, + "x": 886, + "y": 998 + }, + { + "name": "Quebec", + "type": "fortified_port", + "adjacent": [ + 1, + 31 + ], + "path": [ + 1 + ], + "wilderness": [ + 31 + ], + "port": 0, + "colony": 0, + "x": 1163, + "y": 94 + }, + { + "name": "Albany", + "type": "winter_quarters", + "adjacent": [ + 9, + 17, + 58, + 62 + ], + "path": [ + 9, + 17, + 58, + 62 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 1007, + "y": 664 + }, + { + "name": "Alexandria", + "type": "winter_quarters", + "adjacent": [ + 6, + 16, + 38 + ], + "path": [ + 6, + 16, + 38 + ], + "wilderness": [], + "port": 4, + "colony": 10, + "x": 694, + "y": 1254 + }, + { + "name": "Baltimore", + "type": "winter_quarters", + "adjacent": [ + 5, + 19, + 38 + ], + "path": [ + 5, + 19, + 38 + ], + "wilderness": [], + "port": 4, + "colony": 8, + "x": 811, + "y": 1143 + }, + { + "name": "Boston", + "type": "winter_quarters", + "adjacent": [ + 12, + 23, + 31, + 44 + ], + "path": [ + 12, + 23, + 31, + 44 + ], + "wilderness": [], + "port": 1, + "colony": 3, + "x": 1368, + "y": 629 + }, + { + "name": "Charlottesville", + "type": "winter_quarters", + "adjacent": [ + 16, + 32, + 38, + 46 + ], + "path": [ + 16, + 32, + 38, + 46 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 475, + "y": 1294 + }, + { + "name": "Fort Stanwix", + "type": "winter_quarters", + "adjacent": [ + 4, + 39, + 53 + ], + "path": [ + 4, + 39, + 53 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 918, + "y": 521 + }, + { + "name": "Hartford", + "type": "winter_quarters", + "adjacent": [ + 10, + 12, + 17 + ], + "path": [ + 10, + 12, + 17 + ], + "wilderness": [], + "port": -1, + "colony": 4, + "x": 1224, + "y": 786 + }, + { + "name": "New York", + "type": "winter_quarters", + "adjacent": [ + 45, + 48, + 50, + 51, + 62 + ], + "path": [ + 45, + 48, + 50, + 51, + 62 + ], + "wilderness": [], + "port": 2, + "colony": 2, + "x": 1065, + "y": 875 + }, + { + "name": "Newport", + "type": "winter_quarters", + "adjacent": [ + 7, + 10, + 44 + ], + "path": [ + 7, + 10, + 44 + ], + "wilderness": [], + "port": 1, + "colony": 5, + "x": 1330, + "y": 773 + }, + { + "name": "Norfolk", + "type": "winter_quarters", + "adjacent": [ + 16, + 49, + 54 + ], + "path": [ + 16, + 49, + 54 + ], + "wilderness": [], + "port": 4, + "colony": 10, + "x": 822, + "y": 1488 + }, + { + "name": "Norwich", + "type": "winter_quarters", + "adjacent": [ + 18, + 25, + 29 + ], + "path": [ + 18, + 25, + 29 + ], + "wilderness": [], + "port": -1, + "colony": 1, + "x": 1166, + "y": 379 + }, + { + "name": "Pittsburgh", + "type": "winter_quarters", + "adjacent": [ + 24, + 34, + 36, + 42 + ], + "path": [ + 24, + 34, + 36, + 42 + ], + "wilderness": [], + "port": -1, + "colony": 6, + "x": 480, + "y": 995 + }, + { + "name": "Richmond", + "type": "winter_quarters", + "adjacent": [ + 5, + 8, + 13, + 46, + 54, + 65 + ], + "path": [ + 5, + 8, + 13, + 46, + 54, + 65 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 649, + "y": 1360 + }, + { + "name": "Springfield", + "type": "winter_quarters", + "adjacent": [ + 4, + 10, + 25, + 44 + ], + "path": [ + 4, + 10, + 25, + 44 + ], + "wilderness": [], + "port": -1, + "colony": 3, + "x": 1137, + "y": 661 + }, + { + "name": "Ticonderoga", + "type": "winter_quarters", + "adjacent": [ + 1, + 14, + 58 + ], + "path": [ + 1, + 14, + 58 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 1035, + "y": 393 + }, + { + "name": "Wilmington DE", + "type": "winter_quarters", + "adjacent": [ + 2, + 6 + ], + "path": [ + 2, + 6 + ], + "wilderness": [], + "port": 3, + "colony": 9, + "x": 926, + "y": 1117 + }, + { + "name": "Wyoming Valley", + "type": "winter_quarters", + "adjacent": [ + 39, + 48, + 56 + ], + "path": [ + 39, + 48, + 56 + ], + "wilderness": [], + "port": -1, + "colony": 6, + "x": 726, + "y": 784 + }, + { + "name": "Abingdon", + "type": "regular", + "adjacent": [ + 33, + 37, + 41 + ], + "path": [ + 33, + 37, + 41 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 101, + "y": 1487 + }, + { + "name": "Augusta", + "type": "regular", + "adjacent": [ + 52, + 59 + ], + "path": [ + 52, + 59 + ], + "wilderness": [], + "port": -1, + "colony": 13, + "x": 180, + "y": 2096 + }, + { + "name": "Barnstable", + "type": "regular", + "adjacent": [ + 7 + ], + "path": [ + 7 + ], + "wilderness": [], + "port": 1, + "colony": 3, + "x": 1434, + "y": 741 + }, + { + "name": "Bassett Town", + "type": "regular", + "adjacent": [ + 15, + 35, + 55 + ], + "path": [ + 15 + ], + "wilderness": [ + 35, + 55 + ], + "port": -1, + "colony": 6, + "x": 187, + "y": 1020 + }, + { + "name": "Brattleboro", + "type": "regular", + "adjacent": [ + 14, + 17, + 29, + 58 + ], + "path": [ + 14, + 17, + 29, + 58 + ], + "wilderness": [], + "port": -1, + "colony": 1, + "x": 1141, + "y": 522 + }, + { + "name": "Camden", + "type": "regular", + "adjacent": [ + 27, + 28, + 30, + 52 + ], + "path": [ + 27, + 28, + 30, + 52 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 386, + "y": 1809 + }, + { + "name": "Charlotte", + "type": "regular", + "adjacent": [ + 26, + 41, + 57 + ], + "path": [ + 26, + 41, + 57 + ], + "wilderness": [], + "port": -1, + "colony": 11, + "x": 255, + "y": 1689 + }, + { + "name": "Cheraw", + "type": "regular", + "adjacent": [ + 26, + 40, + 57, + 63 + ], + "path": [ + 26, + 40, + 57, + 63 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 536, + "y": 1831 + }, + { + "name": "Concord", + "type": "regular", + "adjacent": [ + 14, + 25, + 31 + ], + "path": [ + 14, + 25, + 31 + ], + "wilderness": [], + "port": -1, + "colony": 1, + "x": 1254, + "y": 497 + }, + { + "name": "Eutaw Springs", + "type": "regular", + "adjacent": [ + 0, + 26 + ], + "path": [ + 0, + 26 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 444, + "y": 1942 + }, + { + "name": "Falmouth", + "type": "regular", + "adjacent": [ + 3, + 7, + 29 + ], + "path": [ + 7, + 29 + ], + "wilderness": [ + 3 + ], + "port": 1, + "colony": 3, + "x": 1374, + "y": 446 + }, + { + "name": "Fincastle", + "type": "regular", + "adjacent": [ + 8, + 33, + 46 + ], + "path": [ + 8, + 33, + 46 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 389, + "y": 1438 + }, + { + "name": "Fort Chiswell", + "type": "regular", + "adjacent": [ + 21, + 32, + 55 + ], + "path": [ + 21, + 32, + 55 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 252, + "y": 1444 + }, + { + "name": "Fort Cumberland", + "type": "regular", + "adjacent": [ + 15, + 38 + ], + "path": [ + 15, + 38 + ], + "wilderness": [], + "port": -1, + "colony": 8, + "x": 487, + "y": 1134 + }, + { + "name": "Fort Detroit", + "type": "regular", + "adjacent": [ + 24, + 36 + ], + "path": [ + 36 + ], + "wilderness": [ + 24 + ], + "port": -1, + "colony": 0, + "x": 95, + "y": 708 + }, + { + "name": "Fort Niagara", + "type": "regular", + "adjacent": [ + 15, + 35, + 39, + 53 + ], + "path": [ + 15, + 35, + 39, + 53 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 502, + "y": 562 + }, + { + "name": "Fort Prince George", + "type": "regular", + "adjacent": [ + 21, + 41, + 52 + ], + "path": [ + 21, + 41, + 52 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 114, + "y": 1809 + }, + { + "name": "Frederick Town", + "type": "regular", + "adjacent": [ + 5, + 6, + 8, + 34, + 64 + ], + "path": [ + 5, + 6, + 8, + 34, + 64 + ], + "wilderness": [], + "port": -1, + "colony": 8, + "x": 686, + "y": 1133 + }, + { + "name": "Genesee", + "type": "regular", + "adjacent": [ + 9, + 20, + 36 + ], + "path": [ + 9, + 20, + 36 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 708, + "y": 618 + }, + { + "name": "Georgetown", + "type": "regular", + "adjacent": [ + 0, + 28, + 63 + ], + "path": [ + 0, + 28, + 63 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 614, + "y": 1951 + }, + { + "name": "Gilbert Town", + "type": "regular", + "adjacent": [ + 21, + 27, + 37 + ], + "path": [ + 21, + 27, + 37 + ], + "wilderness": [], + "port": -1, + "colony": 11, + "x": 163, + "y": 1604 + }, + { + "name": "Harrisburg", + "type": "regular", + "adjacent": [ + 15, + 56, + 64 + ], + "path": [ + 15, + 56, + 64 + ], + "wilderness": [], + "port": -1, + "colony": 6, + "x": 595, + "y": 916 + }, + { + "name": "Hillsboro", + "type": "regular", + "adjacent": [ + 54, + 57, + 61 + ], + "path": [ + 54, + 57, + 61 + ], + "wilderness": [], + "port": -1, + "colony": 11, + "x": 524, + "y": 1618 + }, + { + "name": "Lexington Concord", + "type": "regular", + "adjacent": [ + 7, + 12, + 17 + ], + "path": [ + 7, + 12, + 17 + ], + "wilderness": [], + "port": -1, + "colony": 3, + "x": 1258, + "y": 664 + }, + { + "name": "Long Island", + "type": "regular", + "adjacent": [ + 11 + ], + "path": [ + 11 + ], + "wilderness": [], + "port": 2, + "colony": 2, + "x": 1186, + "y": 904 + }, + { + "name": "Lynch's Ferry", + "type": "regular", + "adjacent": [ + 8, + 16, + 32, + 54, + 57 + ], + "path": [ + 8, + 16, + 32, + 54, + 57 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 526, + "y": 1480 + }, + { + "name": "Monmouth", + "type": "regular", + "adjacent": [ + 2, + 50 + ], + "path": [ + 2, + 50 + ], + "wilderness": [], + "port": -1, + "colony": 7, + "x": 1037, + "y": 1110 + }, + { + "name": "Morristown", + "type": "regular", + "adjacent": [ + 11, + 20, + 50, + 56, + 62 + ], + "path": [ + 11, + 20, + 50, + 56, + 62 + ], + "wilderness": [], + "port": -1, + "colony": 7, + "x": 904, + "y": 867 + }, + { + "name": "New Bern", + "type": "regular", + "adjacent": [ + 13, + 61 + ], + "path": [ + 13, + 61 + ], + "wilderness": [], + "port": 5, + "colony": 11, + "x": 804, + "y": 1706 + }, + { + "name": "New Brunswick", + "type": "regular", + "adjacent": [ + 2, + 11, + 47, + 48 + ], + "path": [ + 2, + 11, + 47, + 48 + ], + "wilderness": [], + "port": -1, + "colony": 7, + "x": 1001, + "y": 978 + }, + { + "name": "New Haven", + "type": "regular", + "adjacent": [ + 11, + 62 + ], + "path": [ + 11, + 62 + ], + "wilderness": [], + "port": 2, + "colony": 4, + "x": 1128, + "y": 772 + }, + { + "name": "Ninety Six", + "type": "regular", + "adjacent": [ + 22, + 26, + 37 + ], + "path": [ + 22, + 26, + 37 + ], + "wilderness": [], + "port": -1, + "colony": 12, + "x": 263, + "y": 1968 + }, + { + "name": "Oswego", + "type": "regular", + "adjacent": [ + 1, + 9, + 36 + ], + "path": [ + 1, + 9, + 36 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 808, + "y": 460 + }, + { + "name": "Petersburg", + "type": "regular", + "adjacent": [ + 13, + 16, + 43, + 46, + 61 + ], + "path": [ + 13, + 16, + 43, + 46, + 61 + ], + "wilderness": [], + "port": -1, + "colony": 10, + "x": 675, + "y": 1482 + }, + { + "name": "Point Pleasant", + "type": "regular", + "adjacent": [ + 24, + 33 + ], + "path": [ + 33 + ], + "wilderness": [ + 24 + ], + "port": -1, + "colony": 10, + "x": 172, + "y": 1254 + }, + { + "name": "Reading", + "type": "regular", + "adjacent": [ + 2, + 20, + 42, + 48, + 64 + ], + "path": [ + 2, + 20, + 42, + 48, + 64 + ], + "wilderness": [], + "port": -1, + "colony": 6, + "x": 724, + "y": 936 + }, + { + "name": "Salem", + "type": "regular", + "adjacent": [ + 27, + 28, + 43, + 46 + ], + "path": [ + 27, + 28, + 43, + 46 + ], + "wilderness": [], + "port": -1, + "colony": 11, + "x": 349, + "y": 1597 + }, + { + "name": "Saratoga", + "type": "regular", + "adjacent": [ + 4, + 18, + 25 + ], + "path": [ + 4, + 18, + 25 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 1032, + "y": 532 + }, + { + "name": "Savannah", + "type": "regular", + "adjacent": [ + 0, + 22, + 60 + ], + "path": [ + 0, + 22, + 60 + ], + "wilderness": [], + "port": 6, + "colony": 13, + "x": 267, + "y": 2307 + }, + { + "name": "St. Mary's", + "type": "regular", + "adjacent": [ + 59 + ], + "path": [ + 59 + ], + "wilderness": [], + "port": 6, + "colony": 13, + "x": 220, + "y": 2430 + }, + { + "name": "Wake (Raleigh)", + "type": "regular", + "adjacent": [ + 43, + 49, + 54, + 63 + ], + "path": [ + 43, + 49, + 54, + 63 + ], + "wilderness": [], + "port": -1, + "colony": 11, + "x": 646, + "y": 1707 + }, + { + "name": "Westchester", + "type": "regular", + "adjacent": [ + 4, + 11, + 48, + 51 + ], + "path": [ + 4, + 11, + 48, + 51 + ], + "wilderness": [], + "port": -1, + "colony": 2, + "x": 995, + "y": 783 + }, + { + "name": "Wilmington", + "type": "regular", + "adjacent": [ + 28, + 40, + 61 + ], + "path": [ + 28, + 40, + 61 + ], + "wilderness": [], + "port": 5, + "colony": 11, + "x": 716, + "y": 1852 + }, + { + "name": "York", + "type": "regular", + "adjacent": [ + 38, + 42, + 56 + ], + "path": [ + 38, + 42, + 56 + ], + "wilderness": [], + "port": -1, + "colony": 6, + "x": 629, + "y": 1028 + }, + { + "name": "Yorktown", + "type": "regular", + "adjacent": [ + 16 + ], + "path": [ + 16 + ], + "wilderness": [], + "port": 4, + "colony": 10, + "x": 807, + "y": 1353 + }, + { + "name": "American Leader Reinforcements", + "type": "box", + "adjacent": [], + "path": [], + "wilderness": [], + "port": -1, + "colony": -1, + "x": 401, + "y": 361 + }, + { + "name": "British Reinforcement Box", + "type": "box", + "adjacent": [], + "path": [], + "wilderness": [], + "port": -1, + "colony": -1, + "x": 1465, + "y": 1776 + }, + { + "name": "Captured Generals", + "type": "box", + "adjacent": [], + "path": [], + "wilderness": [], + "port": -1, + "colony": -1, + "x": 1503, + "y": 114 + }, + { + "name": "Continental Congress Dispersed", + "type": "box", + "adjacent": [], + "path": [], + "wilderness": [], + "port": -1, + "colony": -1, + "x": 586, + "y": 384 + }, + { + "name": "French Reinforcements", + "type": "box", + "adjacent": [], + "path": [], + "wilderness": [], + "port": -1, + "colony": -1, + "x": 170, + "y": 362 + } + ], + "space_index": { + "Charleston": 0, + "Montreal": 1, + "Philadelphia": 2, + "Quebec": 3, + "Albany": 4, + "Alexandria": 5, + "Baltimore": 6, + "Boston": 7, + "Charlottesville": 8, + "Fort Stanwix": 9, + "Hartford": 10, + "New York": 11, + "Newport": 12, + "Norfolk": 13, + "Norwich": 14, + "Pittsburgh": 15, + "Richmond": 16, + "Springfield": 17, + "Ticonderoga": 18, + "Wilmington DE": 19, + "Wyoming Valley": 20, + "Abingdon": 21, + "Augusta": 22, + "Barnstable": 23, + "Bassett Town": 24, + "Brattleboro": 25, + "Camden": 26, + "Charlotte": 27, + "Cheraw": 28, + "Concord": 29, + "Eutaw Springs": 30, + "Falmouth": 31, + "Fincastle": 32, + "Fort Chiswell": 33, + "Fort Cumberland": 34, + "Fort Detroit": 35, + "Fort Niagara": 36, + "Fort Prince George": 37, + "Frederick Town": 38, + "Genesee": 39, + "Georgetown": 40, + "Gilbert Town": 41, + "Harrisburg": 42, + "Hillsboro": 43, + "Lexington Concord": 44, + "Long Island": 45, + "Lynch's Ferry": 46, + "Monmouth": 47, + "Morristown": 48, + "New Bern": 49, + "New Brunswick": 50, + "New Haven": 51, + "Ninety Six": 52, + "Oswego": 53, + "Petersburg": 54, + "Point Pleasant": 55, + "Reading": 56, + "Salem": 57, + "Saratoga": 58, + "Savannah": 59, + "St. Mary's": 60, + "Wake (Raleigh)": 61, + "Westchester": 62, + "Wilmington": 63, + "York": 64, + "Yorktown": 65, + "American Leader Reinforcements": 66, + "British Reinforcement Box": 67, + "Captured Generals": 68, + "Continental Congress Dispersed": 69, + "French Reinforcements": 70 }, - - /* 110 */ - { - title: "Hessian Infantry Bayonet Charge", - type: "british-battle", + "colonies": [ + [ + 1, + 3, + 35 + ], + [ + 14, + 25, + 29 + ], + [ + 4, + 9, + 11, + 18, + 36, + 39, + 45, + 53, + 58, + 62 + ], + [ + 7, + 17, + 23, + 31, + 44 + ], + [ + 10, + 51 + ], + [ + 12 + ], + [ + 2, + 15, + 20, + 24, + 42, + 56, + 64 + ], + [ + 47, + 48, + 50 + ], + [ + 6, + 34, + 38 + ], + [ + 19 + ], + [ + 5, + 8, + 13, + 16, + 21, + 32, + 33, + 46, + 54, + 55, + 65 + ], + [ + 27, + 41, + 43, + 49, + 57, + 61, + 63 + ], + [ + 0, + 26, + 28, + 30, + 37, + 40, + 52 + ], + [ + 22, + 59, + 60 + ] + ], + "seas": [ + [ + 1, + 3 + ], + [ + 7, + 12, + 23, + 31 + ], + [ + 11, + 45, + 51 + ], + [ + 2, + 19 + ], + [ + 5, + 6, + 13, + 65 + ], + [ + 0, + 49, + 63 + ], + [ + 59, + 60 + ] + ], + "generals": [ + { + "name": "Arnold", + "owner": "American", + "strategy": 1, + "battle": 3, + "agility": 2, + "bonus": false + }, + { + "name": "Gates", + "owner": "American", + "strategy": 2, + "battle": 2, + "agility": 1, + "bonus": false + }, + { + "name": "Greene", + "owner": "American", + "strategy": 1, + "battle": 4, + "agility": 2, + "bonus": true + }, + { + "name": "Lafayette", + "owner": "American", + "strategy": 1, + "battle": 2, + "agility": 1, + "bonus": false + }, + { + "name": "Lee", + "owner": "American", + "strategy": 2, + "battle": 1, + "agility": 1, + "bonus": false + }, + { + "name": "Lincoln", + "owner": "American", + "strategy": 2, + "battle": 1, + "agility": 1, + "bonus": false + }, + { + "name": "Washington", + "owner": "American", + "strategy": 1, + "battle": 5, + "agility": 2, + "bonus": true + }, + { + "name": "Rochambeau", + "owner": "French", + "strategy": 2, + "battle": 4, + "agility": 2, + "bonus": false + }, + { + "name": "Burgoyne", + "owner": "British", + "strategy": 2, + "battle": 2, + "agility": 1, + "bonus": false + }, + { + "name": "Carleton", + "owner": "British", + "strategy": 3, + "battle": 3, + "agility": 2, + "bonus": false + }, + { + "name": "Clinton", + "owner": "British", + "strategy": 3, + "battle": 4, + "agility": 2, + "bonus": false + }, + { + "name": "Cornwallis", + "owner": "British", + "strategy": 2, + "battle": 4, + "agility": 2, + "bonus": false + }, + { + "name": "Howe", + "owner": "British", + "strategy": 3, + "battle": 6, + "agility": 3, + "bonus": false + } + ], + "general_index": { + "Arnold": 0, + "Gates": 1, + "Greene": 2, + "Lafayette": 3, + "Lee": 4, + "Lincoln": 5, + "Washington": 6, + "Rochambeau": 7, + "Burgoyne": 8, + "Carleton": 9, + "Clinton": 10, + "Cornwallis": 11, + "Howe": 12 }, -] - -data = { - BOXES, - cards, - general_index, - generals, - space_index, - spaces, - colony_name, - colony_spaces, + "colony_name": [ + "Canada", + "NH", + "NY", + "MA", + "CT", + "RI", + "PA", + "NJ", + "MD", + "DE", + "VA", + "NC", + "SC", + "GA" + ], + "cards": [ + null, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "3 OPS", + "type": "ops", + "count": 3 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "2 OPS", + "type": "ops", + "count": 2 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "1 OPS", + "type": "ops", + "count": 1 + }, + { + "title": "Minor Campaign", + "type": "campaign", + "count": 2 + }, + { + "title": "Minor Campaign", + "type": "campaign", + "count": 2 + }, + { + "title": "Minor Campaign", + "type": "campaign", + "count": 2 + }, + { + "title": "Major Campaign", + "type": "campaign", + "count": 3 + }, + { + "full_title": "North's Government Falls - The War Ends in 1779", + "title": "The War Ends in 1779", + "type": "mandatory-event", + "event": "the_war_ends", + "year": 1779 + }, + { + "full_title": "North's Government Falls - The War Ends in 1780", + "title": "The War Ends in 1780", + "type": "mandatory-event", + "event": "the_war_ends", + "year": 1780 + }, + { + "full_title": "North's Government Falls - The War Ends in 1781", + "title": "The War Ends in 1781", + "type": "mandatory-event", + "event": "the_war_ends", + "year": 1781 + }, + { + "full_title": "North's Government Falls - The War Ends in 1782", + "title": "The War Ends in 1782", + "type": "mandatory-event", + "event": "the_war_ends", + "year": 1782 + }, + { + "full_title": "North's Government Falls - The War Ends in 1783", + "title": "The War Ends in 1783", + "type": "mandatory-event", + "event": "the_war_ends", + "year": 1783 + }, + { + "title": "Henry Know Continental Artillery Commander", + "type": "american-battle" + }, + { + "title": "Jane McCrea Indian Atrocity Sparks Outrage", + "type": "american-event", + "event": "place_american_pc", + "count": 2, + "once": true + }, + { + "title": "Iroquois Uprising!", + "type": "british-event", + "event": "remove_american_pc_from_non_port", + "where": [ + 1, + 2, + 6 + ], + "count": 2 + }, + { + "title": "Joseph Brant Leads an Iroquois Raid", + "type": "british-event", + "event": "remove_american_pc_from_non_port", + "where": [ + 1, + 2, + 6 + ], + "count": 2 + }, + { + "title": "Lt. Colonel Simcoe's Queen's Rangers", + "type": "british-event", + "event": "remove_american_pc_within_two_spaces_of_a_british_general", + "count": 2 + }, + { + "title": "D'Estaing Sails for the Caribbean", + "type": "british-event", + "when": "after_french_alliance", + "event": "remove_french_navy" + }, + { + "title": "Banastre Tarleton's Waxhaws Massacre", + "type": "british-event-or-battle", + "event": "remove_american_cu" + }, + { + "title": "Lord George Germaine Offers Royal Amnesty", + "type": "british-event", + "event": "remove_american_pc", + "count": 2 + }, + { + "title": "George Rogers Clark Leads a Western Offensive", + "type": "american-event", + "event": "remove_random_british_card" + }, + { + "title": "Don Bernardo Galvez Captures Pensacola", + "type": "american-event", + "when": "european_war_in_effect", + "event": "remove_british_cu", + "count": 2 + }, + { + "title": "Baron von Steuben Trains the Continental Army", + "type": "american-event", + "event": "baron_von_steuben_trains_the_continental_army" + }, + { + "title": "Lord North Offers a Royal Amnesty", + "type": "british-event", + "event": "remove_american_pc", + "count": 4, + "once": true + }, + { + "title": "The Swamp Fox, Francis Marion", + "type": "american-event", + "event": "remove_british_pc_from", + "where": [ + 11, + 12, + 13 + ], + "count": 2 + }, + { + "title": "The Gamecock: Thomas Sumter", + "type": "american-event", + "event": "remove_british_pc_from", + "where": [ + 11, + 12, + 13 + ], + "count": 2 + }, + { + "title": "Josiah Martin Rallies North Carolina Loyalists", + "type": "british-event", + "event": "remove_american_pc_from", + "where": [ + 11 + ], + "count": 2 + }, + { + "title": "Thomas Paine Publishes Pamphlets \"Common Sense\" and \"The American Crisis\"", + "type": "american-event", + "event": "place_american_pc_in", + "where": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ], + "count": 3, + "once": true + }, + { + "title": "Nathan Hale, American Martyr", + "type": "american-event", + "event": "place_american_pc", + "count": 2, + "once": true + }, + { + "title": "John Glover's Marblehead Regiment", + "type": "american-event", + "event": "john_glovers_marblehead_regiment" + }, + { + "title": "Pennsylvania and New Jersey Line Mutinies", + "type": "british-event", + "event": "pennsylvania_and_new_jersey_line_mutinies" + }, + { + "title": "William Pitt Urges Peace Talks", + "type": "british-event", + "when": "before_french_alliance", + "event": "remove_american_pc", + "count": 2, + "reshuffle": "if_played" + }, + { + "title": "Hortelez et Cie: Clandestine French and Spanish Aid", + "type": "american-event", + "when": "before_french_alliance", + "event": "advance_french_alliance", + "reshuffle": "if_discarded", + "count": 2 + }, + { + "title": "Admiral Suffren Wins a Naval Victory", + "type": "american-event", + "when": "after_french_alliance", + "event": "remove_random_british_card" + }, + { + "title": "\"Mad\" Anthony Wayne", + "type": "american-battle" + }, + { + "title": "Declaration of Independence", + "type": "mandatory-event", + "event": "declaration_of_independence", + "once": true, + "reshuffle": "if_played", + "tournament": true + }, + { + "title": "Benedict Arnold's Treason Undermines the Patriot Cause", + "type": "british-battle", + "event": "remove_benedict_arnold", + "once": true + }, + { + "title": "Benjamin Franklin: Minister to France", + "type": "mandatory-event", + "event": "advance_french_alliance", + "count": 4, + "once": true, + "tournament": true + }, + { + "title": "Admiral Rodney Captures St. Eustatius", + "type": "british-event", + "event": "remove_random_american_card", + "when": "european_war_in_effect", + "once": true + }, + { + "title": "Thaddeus Kosciuszco Constructs Engineering Works", + "type": "american-battle" + }, + { + "title": "Light Horse Harry Lee", + "type": "american-battle" + }, + { + "title": "Morgan's Riflemen", + "type": "american-battle" + }, + { + "title": "John Paul Jones' Shipping Raids", + "type": "american-event", + "event": "remove_random_british_card" + }, + { + "title": "British Light Infantry", + "type": "british-battle" + }, + { + "title": "Lord Sandwich Coastal Raids", + "type": "british-event", + "event": "lord_sandwich_coastal_raids" + }, + { + "title": "Edward Bancroft, British Double Agent", + "type": "british-event", + "event": "remove_random_american_card" + }, + { + "title": "Hessian Infantry Bayonet Charge", + "type": "british-battle" + } + ] } - -})() - -if (typeof module === "object") - module.exports = data +if (typeof module === 'object') module.exports = data -- cgit v1.2.3