import { Card, Effect, FactionId, FrontId, Player, StaticData } from './types';

const LIBERTY = 0;
const COLLECTIVIZATION = 1;
const GOVERNMENT = 2;
const SOVIET_SUPPORT = 3;
const FOREIGN_AID = 4;
const LIBERTY_OR_COLLECTIVIZATION = 5;

const MORALE_BONUS = 0;
const TEAMWORK_BONUS = 1;

const OFF = 0;
const ON = 1;

const PLAYER_WITH_MOST_HERO_POINTS = 0;
const INITIATIVE_PLAYER = 'i';
const ALL_PLAYERS = 'all';

const ARAGON = 'a';
const MADRID = 'm';
const NORTHERN = 'n';
const SOUTHERN = 's';
const CLOSEST_TO_DEFEAT = 'd';
const CLOSEST_TO_VICTORY = 'v';
const FRONTS: FrontId[] = [ARAGON, MADRID, NORTHERN, SOUTHERN];

const TOWARDS_CENTER = 10;
const AWAY_FROM_CENTER = 11;

const ANY = 'any';
const SELF = 'self';
const OTHER_PLAYERS = 'other';
const TRASH = 'trash';

const ANARCHISTS_ID: FactionId = 'a';
const COMMUNISTS_ID: FactionId = 'c';
const FASCIST_ID = 'f';
const MODERATES_ID: FactionId = 'm';

const ANARCHIST = 'Anarchist' as Player;
const COMMUNIST = 'Communist' as Player;
const MODERATE = 'Moderate' as Player;

const VICTORY = 'Victory';
const DEFEAT = 'Defeat';

// Medallion ids
const STRATEGY_MEDALLION_ID = 3;
const PROPAGANDA_MEDALLION_ID = 4;
const INTELLIGENCE_MEDALLION_ID = 5;
const VOLUNTEERS_MEDALLION_ID = 6;
const ARCHIVES_MEDALLION_ID = 7;
const ORGANIZATION_MEDALLION_ID = 8;

// Abilities granted by cards
const ANARCHIST_EXTRA_HERO_POINT = 0;
const COMMUNIST_EXTRA_HERO_POINT = 1;

function create_effect(
  type: Effect['type'],
  target: Effect['target'],
  value: Effect['value'],
  faction?: Effect['faction']
): Effect {
  return {
    type,
    target,
    value,
    faction,
  };
}

export {
  create_effect,
  ALL_PLAYERS,
  ANARCHIST,
  COMMUNIST,
  MODERATE,
  ANARCHISTS_ID,
  COMMUNISTS_ID,
  FASCIST_ID,
  MODERATES_ID,
  ANY,
  LIBERTY,
  CLOSEST_TO_DEFEAT,
  CLOSEST_TO_VICTORY,
  COLLECTIVIZATION,
  GOVERNMENT,
  INITIATIVE_PLAYER,
  SOVIET_SUPPORT,
  FOREIGN_AID,
  MORALE_BONUS,
  TEAMWORK_BONUS,
  OFF,
  ON,
  OTHER_PLAYERS,
  PLAYER_WITH_MOST_HERO_POINTS,
  SELF,
  AWAY_FROM_CENTER,
  TOWARDS_CENTER,
  TRASH,
  VICTORY,
  DEFEAT,
  FRONTS,
  STRATEGY_MEDALLION_ID,
  PROPAGANDA_MEDALLION_ID,
  INTELLIGENCE_MEDALLION_ID,
  VOLUNTEERS_MEDALLION_ID,
  ARCHIVES_MEDALLION_ID,
  ORGANIZATION_MEDALLION_ID,
  MADRID,
  ARAGON,
  SOUTHERN,
  NORTHERN,
  ANARCHIST_EXTRA_HERO_POINT,
  COMMUNIST_EXTRA_HERO_POINT,
  LIBERTY_OR_COLLECTIVIZATION,
};

const data: StaticData = {
  cards: [
    {} as Card,
    {
      id: 1,
      effects: [
        create_effect('track', FOREIGN_AID, 2),
        create_effect('function', 'card1_event2', 0),
        create_effect('track', SOVIET_SUPPORT, -1),
      ],
      icons: ['foreign_aid', 'add_to_front', 'd_soviet_support'],
      strength: 1,
      title: 'Clandestine French Arms',
      type: 'pc',
    },
    {
      id: 2,
      effects: [
        create_effect('track', FOREIGN_AID, 1),
        create_effect('front', ANY, 3),
        create_effect('track', LIBERTY, -2),
      ],
      icons: ['foreign_aid', 'add_to_front', 'd_liberty'],
      strength: 2,
      title: 'Popular Army of the Republic',
      type: 'pc',
    },
    {
      id: 3,
      effects: [
        create_effect('front', CLOSEST_TO_DEFEAT, 3),
        create_effect('function', 'card3_event2', 0),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['add_to_front', 'government', 'draw_card'],
      strength: 2,
      title: 'Mexican Guns',
      type: 'pc',
    },
    {
      id: 4,
      effects: [
        create_effect('front', MADRID, 3),
        create_effect('track', FOREIGN_AID, 1),
        create_effect('swap_card_tableau_hand', ANY, 1),
      ],
      icons: ['add_to_front', 'foreign_aid'],
      strength: 1,
      title: 'Battle of Guadalajara',
      type: 'pc',
    },
    {
      id: 5,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('front', CLOSEST_TO_DEFEAT, 2),
        create_effect('draw_card', SELF, 3),
        create_effect('draw_card', OTHER_PLAYERS, 1),
      ],
      icons: ['teamwork_on', 'add_to_front', 'draw_card'],
      strength: 1,
      title: '"Si Me Quieres Escribir"',
      type: 'pc',
    },
    {
      id: 6,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('state', 'remove_attack_from_fronts', 6), // REMOVE attacks from front
        create_effect('track', GOVERNMENT, 1),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['teamwork_on', 'add_to_front', 'government', 'draw_card'],
      strength: 2,
      title: 'XYZ Line',
      type: 'pc',
    },
    {
      id: 7,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', FOREIGN_AID, 2),
        create_effect('track', COLLECTIVIZATION, -1),
        create_effect('track', GOVERNMENT, 2),
        create_effect('hero_points', SELF, 1),
      ],
      icons: [
        'add_to_front',
        'foreign_aid',
        'd_collectivization',
        'government',
      ],
      strength: 3,
      title: 'Indalecio Prieto',
      type: 'pc',
    },
    {
      id: 8,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('front', ANY, 3),
      ],
      icons: ['teamwork_on', 'add_to_front'],
      strength: 1,
      title: "People's Olympiad",
      type: 'pc',
    },
    {
      id: 9,
      effects: [
        create_effect('track', LIBERTY, -2),
        create_effect('track', COLLECTIVIZATION, -2),
        create_effect('track', SOVIET_SUPPORT, -2),
        create_effect('draw_card', SELF, 3),
      ],
      icons: [
        'd_liberty',
        'd_collectivization',
        'd_soviet_support',
        'draw_card',
      ],
      strength: 1,
      title: 'Four Anarchist Ministers',
      type: 'pc',
    },
    {
      id: 10,
      effects: [
        create_effect('track', FOREIGN_AID, 4),
        create_effect('function', 'card10_event2', 0),
        create_effect('add_card_to_tableau', ANY, 1),
      ],
      icons: ['foreign_aid', 'draw_card'],
      strength: 1,
      title: 'Guernica',
      type: 'pc',
    },
    {
      id: 11,
      effects: [
        create_effect('front', CLOSEST_TO_DEFEAT, 1),
        create_effect('remove_blank_marker', ANY, 1),
        create_effect('track', FOREIGN_AID, 2),
      ],
      icons: ['add_to_front', 'foreign_aid'],
      strength: 1,
      title: 'Ernest Hemingway',
      type: 'pc',
    },
    {
      id: 12,
      effects: [
        create_effect('take_hero_points', OTHER_PLAYERS, 2),
        create_effect('track', SOVIET_SUPPORT, -3),
        create_effect('track', COLLECTIVIZATION, -3),
      ],
      icons: ['add_to_front', 'd_soviet_support', 'd_collectivization'],
      strength: 1,
      title: 'Huesca Offensive',
      type: 'pc',
    },
    {
      id: 13,
      effects: [
        create_effect('track', FOREIGN_AID, 1),
        create_effect('track', SOVIET_SUPPORT, -1),
        create_effect('track', GOVERNMENT, 2),
        create_effect('hero_points', SELF, 1),
      ],
      icons: ['foreign_aid', 'd_soviet_support', 'government'],
      strength: 1,
      title: 'Pablo Neruda',
      type: 'pc',
    },
    {
      id: 14,
      effects: [
        create_effect('front', NORTHERN, 2),
        create_effect('track', COLLECTIVIZATION, -1),
        create_effect('track', GOVERNMENT, 1),
      ],
      icons: ['add_to_front', 'd_collectivization', 'government'],
      strength: 1,
      title: 'Eusko Gudarostea',
      type: 'pc',
    },
    {
      id: 15,
      effects: [
        create_effect('track', LIBERTY_OR_COLLECTIVIZATION, -4),
        create_effect('track', FOREIGN_AID, 2),
        create_effect('function', 'setup_return_card_from_trash', 1),
        create_effect('return_card', TRASH, 1),
      ],
      icons: ['d_liberty', 'd_collectivization', 'foreign_aid', 'draw_card'],
      strength: 2,
      title: 'Juan Negrín',
      type: 'pc',
    },
    {
      id: 16,
      effects: [
        create_effect('state', 'remove_attack_from_fronts', 16),
        create_effect('function', 'card16_event2', 0),
      ],
      icons: ['add_to_front', 'foreign_aid'],
      strength: 1,
      title: 'Publicize Fascist War Crimes',
      type: 'pc',
    },
    {
      id: 17,
      effects: [
        create_effect('track', FOREIGN_AID, 1),
        create_effect('track', GOVERNMENT, 1),
        create_effect('function', 'card17_event3', 0),
      ],
      icons: ['foreign_aid', 'government', 'd_collectivization'],
      strength: 1,
      title: 'Agrarian Reform',
      type: 'pc',
    },
    {
      id: 18,
      effects: [
        create_effect('track', COLLECTIVIZATION, -3),
        create_effect('track', GOVERNMENT, 2),
        create_effect('draw_card', SELF, 2),
      ],
      icons: ['d_collectivization', 'government', 'draw_card'],
      strength: 2,
      title: 'Impose Factory Managers',
      type: 'pc',
    },
    {
      id: 19,
      effects: [
        create_effect('front', CLOSEST_TO_DEFEAT, 2),
        create_effect('track', GOVERNMENT, -1),
        create_effect('function', 'setup_return_card_from_trash', 1),
        create_effect('return_card', TRASH, 1),
      ],
      icons: ['add_to_front', 'government', 'draw_card'],
      strength: 2,
      title: '¡No Pasarán!',
      type: 'pc',
    },
    {
      id: 20,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('track', SOVIET_SUPPORT, 2),
        create_effect('function', 'card20_event3', 0),
      ],
      icons: ['teamwork_on', 'soviet_support', 'add_to_front'],
      strength: 2,
      title: 'Russian Fighters',
      type: 'pc',
    },
    {
      id: 21,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', LIBERTY, -2),
        create_effect('track', COLLECTIVIZATION, -2),
        create_effect('hero_points', SELF, 1),
      ],
      icons: ['add_to_front', 'd_liberty', 'd_collectivization'],
      strength: 1,
      title: 'Enrique Líster',
      type: 'pc',
    },
    {
      id: 22,
      effects: [
        create_effect('track', LIBERTY, -2),
        create_effect('track', SOVIET_SUPPORT, 1),
        create_effect('function', 'card22_event3', 0),
      ],
      icons: ['d_liberty', 'soviet_support', 'government'],
      strength: 2,
      title: 'Largo Caballero',
      type: 'pc',
    },
    {
      id: 23,
      effects: [
        create_effect('function', 'card23_event1', 0),
        create_effect('track', FOREIGN_AID, -2),
        create_effect('draw_card', SELF, 2),
      ],
      icons: ['add_to_front', 'd_foreign_aid', 'draw_card'],
      strength: 2,
      title: 'Soviet Tanks',
      type: 'pc',
    },
    {
      id: 24,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', SOVIET_SUPPORT, 2),
        create_effect('track', LIBERTY, -1),
        create_effect('track', GOVERNMENT, -2),
        create_effect('hero_points', SELF, 1),
      ],
      icons: ['add_to_front', 'soviet_support', 'd_liberty', 'government'],
      strength: 3,
      title: 'Dolores Ibárruri',
      type: 'pc',
    },
    {
      id: 25,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('front', CLOSEST_TO_DEFEAT, 2),
        create_effect('draw_card', SELF, 3),
        create_effect('draw_card', OTHER_PLAYERS, 1),
      ],
      icons: ['teamwork_on', 'add_to_front', 'draw_card'],
      strength: 1,
      title: 'Paul Robeson',
      type: 'pc',
    },
    {
      id: 26,
      effects: [
        create_effect('function', 'card26_event1', 0),
        create_effect('front', MADRID, 1),
        create_effect('track', LIBERTY, -2),
        create_effect('track', GOVERNMENT, -1),
      ],
      icons: ['add_to_front', 'd_liberty', 'government'],
      strength: 1,
      title: 'Madrid Defense Council',
      type: 'pc',
    },
    {
      id: 27,
      effects: [
        create_effect('remove_blank_marker', ANY, 1),
        create_effect('track', SOVIET_SUPPORT, 3),
        create_effect('track', FOREIGN_AID, -1),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['soviet_support', 'd_foreign_aid', 'draw_card'],
      strength: 1,
      title: "Stalin Gets the Republic's Gold",
      type: 'pc',
    },
    {
      id: 28,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('front', SOUTHERN, 3),
        create_effect('track', FOREIGN_AID, -1),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['teamwork_on', 'add_to_front', 'd_foreign_aid', 'draw_card'],
      strength: 1,
      title: 'International Brigades',
      type: 'pc',
    },
    {
      id: 29,
      effects: [
        create_effect('track', GOVERNMENT, -2),
        create_effect('function', 'card29_event2', 0),
      ],
      icons: ['government', 'd_liberty'],
      strength: 1,
      title: 'Ban Women From the Front',
      type: 'pc',
    },
    {
      id: 30,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', SOVIET_SUPPORT, 2),
        create_effect('track', FOREIGN_AID, -3),
      ],
      icons: ['add_to_front', 'soviet_support', 'd_foreign_aid'],
      strength: 1,
      title: 'Abraham Lincoln Brigade',
      type: 'pc',
    },
    {
      id: 31,
      effects: [
        create_effect('attack', ANY, -2),
        create_effect('track', SOVIET_SUPPORT, 3),
        create_effect('track', GOVERNMENT, -2),
      ],
      icons: ['soviet_support', 'government'],
      strength: 2,
      title: 'Outlaw the Poum',
      type: 'pc',
    },
    {
      id: 32,
      effects: [
        create_effect('take_hero_points', OTHER_PLAYERS, 1),
        create_effect('front', ANY, 1),
        create_effect('track', SOVIET_SUPPORT, 1),
        create_effect('track', LIBERTY_OR_COLLECTIVIZATION, -3),
      ],
      icons: [
        'add_to_front',
        'soviet_support',
        'd_liberty',
        'd_collectivization',
      ],
      strength: 1,
      title: 'Disband the Control Patrols',
      type: 'pc',
    },
    {
      id: 33,
      effects: [
        create_effect('attack', ARAGON, -1),
        create_effect('track', SOVIET_SUPPORT, 1),
        create_effect('track', LIBERTY, -4),
        create_effect('swap_card_tableau_hand', ANY, 1),
      ],
      icons: ['soviet_support', 'd_liberty'],
      strength: 1,
      title: 'May Days',
      type: 'pc',
    },
    {
      id: 34,
      effects: [
        create_effect('front', SOUTHERN, 2),
        create_effect('track', GOVERNMENT, -1),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['add_to_front', 'government', 'draw_card'],
      strength: 1,
      title: 'Fifth Regiment',
      type: 'pc',
    },
    {
      id: 35,
      effects: [
        create_effect('front', ANY, 2),
        create_effect('function', 'card35_event2', 0),
        create_effect('draw_card', SELF, 2),
      ],
      icons: ['add_to_front', 'soviet_support', 'draw_card'],
      strength: 1,
      title: 'Thälmann Battalion',
      type: 'pc',
    },
    {
      id: 36,
      effects: [
        create_effect('track', SOVIET_SUPPORT, 2),
        create_effect('track', COLLECTIVIZATION, -3),
        create_effect('draw_card', SELF, 2),
        create_effect('add_card_to_tableau', ANY, 1),
      ],
      icons: ['soviet_support', 'd_collectivization', 'draw_card'],
      strength: 1,
      title: 'De-Collectivize Agriculture',
      type: 'pc',
    },
    {
      id: 37,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', COLLECTIVIZATION, 2),
        create_effect('track', LIBERTY, 2),
        create_effect('track', GOVERNMENT, TOWARDS_CENTER),
        create_effect('hero_points', SELF, 1),
      ],
      icons: [
        'add_to_front',
        'collectivization',
        'liberty',
        'government_to_center',
      ],
      strength: 3,
      title: 'Buenaventura Durruti',
      type: 'pc',
    },
    {
      id: 38,
      effects: [
        create_effect('track', LIBERTY, 3),
        create_effect('track', SOVIET_SUPPORT, -2),
        create_effect('draw_card', SELF, 1),
        create_effect('swap_card_tableau_hand', ANY, 1),
      ],
      icons: ['liberty', 'd_soviet_support', 'draw_card'],
      strength: 2,
      title: 'Mujeres Libres',
      type: 'pc',
    },
    {
      id: 39,
      effects: [
        create_effect('state', 'remove_attack_from_fronts', 39), // REMOVE attacks from front
        create_effect('track', COLLECTIVIZATION, 1),
        create_effect('draw_card', SELF, 2),
      ],
      icons: ['add_to_front', 'collectivization', 'draw_card'],
      strength: 1,
      title: 'Iron Column',
      type: 'pc',
    },
    {
      id: 40,
      effects: [
        create_effect('front', CLOSEST_TO_DEFEAT, 3),
        create_effect('track', COLLECTIVIZATION, 2),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['add_to_front', 'collectivization', 'draw_card'],
      strength: 2,
      title: 'Asturian Miners',
      type: 'pc',
    },
    {
      id: 41,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('track', COLLECTIVIZATION, 3),
        create_effect('function', 'setup_return_card_from_trash', 1),
        create_effect('return_card', TRASH, 1),
      ],
      icons: ['teamwork_on', 'collectivization', 'draw_card'],
      strength: 2,
      title: 'CNT-FAI',
      type: 'pc',
    },
    {
      id: 42,
      effects: [
        create_effect('function', 'card42_event3', 0),
        create_effect('track', LIBERTY, 2),
        create_effect('front', ARAGON, 2),
        create_effect('front', MADRID, 1),
      ],
      icons: ['liberty', 'add_to_front'],
      strength: 2,
      title: 'Durruti Column',
      type: 'pc',
    },
    {
      id: 43,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('front', ARAGON, 1),
        create_effect('track', SOVIET_SUPPORT, -2),
        create_effect('draw_card', SELF, 3),
        create_effect('draw_card', OTHER_PLAYERS, 1),
      ],
      icons: ['teamwork_on', 'add_to_front', 'd_soviet_support', 'draw_card'],
      strength: 1,
      title: 'George Orwell',
      type: 'pc',
    },
    {
      id: 44,
      effects: [
        create_effect('take_hero_points', OTHER_PLAYERS, 1),
        create_effect('front', MADRID, 2),
        create_effect('track', LIBERTY, 1),
        create_effect('track', FOREIGN_AID, -1),
      ],
      icons: ['add_to_front', 'liberty', 'd_foreign_aid'],
      strength: 1,
      title: 'F.I.J.L.',
      type: 'pc',
    },
    {
      id: 45,
      effects: [
        create_effect('front', ANY, 2),
        create_effect('function', 'card45_event2', 0),
        create_effect('track', FOREIGN_AID, -3),
      ],
      icons: ['add_to_front', 'collectivization', 'd_foreign_aid'],
      strength: 1,
      title: 'Arm the Unions',
      type: 'pc',
    },
    {
      id: 46,
      effects: [
        create_effect('bonus', ANY, ON),
        create_effect('track', LIBERTY, 2),
        create_effect('function', 'card46_event3', 0),
        create_effect('state', 'peek_fascist_cards', 0),
      ],
      icons: ['teamwork_on', 'liberty', 'add_to_front'],
      strength: 1,
      title: 'Guerrillas',
      type: 'pc',
    },
    {
      id: 47,
      effects: [
        create_effect('remove_blank_marker', ANY, 1),
        create_effect('track', LIBERTY, 2),
        create_effect('track', GOVERNMENT, TOWARDS_CENTER),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['liberty', 'government_to_center', 'draw_card'],
      strength: 1,
      title: 'Radical Education',
      type: 'pc',
    },
    {
      id: 48,
      effects: [
        create_effect('front', CLOSEST_TO_DEFEAT, 2),
        create_effect('track', SOVIET_SUPPORT, -2),
        create_effect('draw_card', SELF, 3),
      ],
      icons: ['add_to_front', 'd_soviet_support', 'draw_card'],
      strength: 1,
      title: 'Matteotti Battalion',
      type: 'pc',
    },
    {
      id: 49,
      effects: [
        create_effect('track', COLLECTIVIZATION, 4),
        create_effect('draw_card', SELF, 1),
      ],
      icons: ['collectivization', 'draw_card'],
      strength: 1,
      title: 'Collectivize Agriculture',
      type: 'pc',
    },
    {
      id: 50,
      effects: [
        create_effect('track', COLLECTIVIZATION, 1),
        create_effect('function', 'card50_event2', 0),
        create_effect('track', FOREIGN_AID, -1),
      ],
      icons: ['collectivization', 'add_to_front', 'd_foreign_aid'],
      strength: 1,
      title: 'Armored Vehicles',
      type: 'pc',
    },
    {
      id: 51,
      effects: [
        create_effect('track', COLLECTIVIZATION, 3),
        create_effect('track', FOREIGN_AID, -2),
        create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      ],
      icons: ['collectivization', 'd_foreign_aid', 'government_to_center'],
      strength: 1,
      title: 'Industrial Democracy',
      type: 'pc',
    },
    {
      id: 52,
      effects: [
        create_effect('front', ANY, 1),
        create_effect('track', LIBERTY_OR_COLLECTIVIZATION, 3),
        create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      ],
      icons: [
        'add_to_front',
        'liberty',
        'collectivization',
        'government_to_center',
      ],
      strength: 2,
      title: 'Affinity Groups',
      type: 'pc',
    },
    {
      id: 53,
      effects: [
        create_effect('track', LIBERTY, 1),
        create_effect('function', 'card53_event2', 0),
        create_effect('hero_points', SELF, 1),
      ],
      icons: ['liberty', 'add_to_front'],
      strength: 1,
      title: 'Gender-Inclusive Militia',
      type: 'pc',
    },
    {
      id: 54,
      effects: [
        create_effect('function', 'card54_event1', 0),
        create_effect('track', SOVIET_SUPPORT, -1),
        create_effect('add_card_to_tableau', ANY, 1),
      ],
      icons: ['liberty', 'd_soviet_support', 'draw_card'],
      strength: 1,
      title: 'Federica Montseny',
      type: 'pc',
    },
    {
      id: 55,
      effects: [
        create_effect('attack', SOUTHERN, -4, INITIATIVE_PLAYER),
        create_effect('attack', ARAGON, -1, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: -1,
        pass: create_effect('draw_card', COMMUNISTS_ID, 1),
        fail: create_effect('track', COLLECTIVIZATION, -2),
      },
      title: 'Spanish Legion',
      type: 'ec',
      year: 1,
    },
    {
      id: 56,
      effects: [
        create_effect('attack', SOUTHERN, -3, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: 0,
        pass: create_effect('track', SOVIET_SUPPORT, 1),
        fail: create_effect('track', FOREIGN_AID, -3),
      },
      title: 'British Treachery At Gibraltar',
      type: 'ec',
      year: 1,
    },
    {
      id: 57,
      effects: [
        create_effect('attack', MADRID, -5, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('draw_card', INITIATIVE_PLAYER, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Paracuellos Massacres',
      type: 'ec',
      year: 1,
    },
    {
      id: 58,
      effects: [
        create_effect('attack', NORTHERN, -5, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -1, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: -2,
        pass: create_effect('hero_points', COMMUNISTS_ID, 1),
        fail: create_effect('track', FOREIGN_AID, -2),
      },
      title: 'Carlists',
      type: 'ec',
      year: 1,
    },
    {
      id: 59,
      effects: [
        create_effect('attack', MADRID, -4, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('hero_points', ANARCHISTS_ID, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Assassination of Garcia Lorca',
      type: 'ec',
      year: 1,
    },
    {
      id: 60,
      effects: [
        create_effect('attack', NORTHERN, -3, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -3, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: -1,
        pass: create_effect('track', FOREIGN_AID, 2),
        fail: create_effect('track', SOVIET_SUPPORT, -2),
      },
      title: 'General Sanjurio',
      type: 'ec',
      year: 1,
    },
    {
      id: 61,
      effects: [
        create_effect('attack', ARAGON, -4, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: ARAGON,
        value: -2,
        pass: create_effect('hero_points', ALL_PLAYERS, 1),
        fail: create_effect('track', LIBERTY, -2),
      },
      title: 'Failed Invasion of Mallorca',
      type: 'ec',
      year: 1,
    },
    {
      id: 62,
      effects: [
        create_effect('attack', SOUTHERN, -5, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: -2,
        pass: create_effect('track', SOVIET_SUPPORT, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Airlift of the Army of Africa',
      type: 'ec',
      year: 1,
    },
    {
      id: 63,
      effects: [
        create_effect('attack', CLOSEST_TO_VICTORY, -5, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('track', GOVERNMENT, AWAY_FROM_CENTER),
        fail: create_effect('track', SOVIET_SUPPORT, -2),
      },
      title: 'Juventudes De Accion Popular',
      type: 'ec',
      year: 1,
    },
    {
      id: 64,
      effects: [
        create_effect('attack', SOUTHERN, -4, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -2, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: -1,
        pass: create_effect('track', SOVIET_SUPPORT, 2),
        fail: create_effect('track', COLLECTIVIZATION, -1),
      },
      title: 'Massacre of Badajoz',
      type: 'ec',
      year: 1,
    },
    {
      id: 65,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -1, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -4, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: -1,
        pass: create_effect('draw_card', MODERATES_ID, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'The Bombing of Madrid',
      type: 'ec',
      year: 1,
    },
    {
      id: 66,
      effects: [
        create_effect('attack', ARAGON, -3, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -2, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 0,
        pass: create_effect('hero_points', INITIATIVE_PLAYER, 1),
        fail: create_effect('track', LIBERTY, -1),
      },
      title: 'The Pope Vilifies the Republic',
      type: 'ec',
      year: 1,
    },
    {
      id: 67,
      effects: [
        create_effect('attack', NORTHERN, -4, INITIATIVE_PLAYER),
        create_effect('attack', ARAGON, -2, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: -1,
        pass: create_effect('track', FOREIGN_AID, 1),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Falange',
      type: 'ec',
      year: 1,
    },
    {
      id: 68,
      effects: [
        create_effect('attack', ARAGON, -4, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -1, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: -1,
        pass: create_effect('draw_card', ANARCHISTS_ID, 1),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Death of Durruti',
      type: 'ec',
      year: 1,
    },
    {
      id: 69,
      effects: [
        create_effect('attack', MADRID, -3, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -2, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('draw_card', ALL_PLAYERS, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Unión Militar Española',
      type: 'ec',
      year: 1,
    },
    {
      id: 70,
      effects: [
        create_effect('attack', NORTHERN, -3, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -3, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 0,
        pass: create_effect('hero_points', MODERATES_ID, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Portuguese Weapon Imports',
      type: 'ec',
      year: 1,
    },
    {
      id: 71,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -3, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -2, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('track', GOVERNMENT, AWAY_FROM_CENTER),
        fail: create_effect('track', FOREIGN_AID, -2),
      },
      title: '"Volunteers" From Fascist Italy',
      type: 'ec',
      year: 1,
    },
    {
      id: 72,
      effects: [
        create_effect('attack', ARAGON, -3, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -1, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 0,
        pass: create_effect('track', COLLECTIVIZATION, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -3),
      },
      title: 'Aviazione Legionaria',
      type: 'ec',
      year: 1,
    },
    {
      id: 73,
      effects: [
        create_effect('attack', NORTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -1, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: NORTHERN,
        value: -1,
        pass: create_effect('track', COLLECTIVIZATION, 1),
        fail: create_effect('track', FOREIGN_AID, -3),
      },
      title: 'Anschluss',
      type: 'ec',
      year: 2,
    },
    {
      id: 74,
      effects: [
        create_effect('attack', MADRID, -2, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -5, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 4,
        pass: create_effect('draw_card', ALL_PLAYERS, 1),
        fail: create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1),
      },
      title: 'Second Sino-Japanese War',
      type: 'ec',
      year: 2,
    },
    {
      id: 75,
      effects: [
        create_effect('attack', NORTHERN, -5, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -3, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 1,
        pass: create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, 1),
        fail: create_effect('track', FOREIGN_AID, -2),
      },
      title: 'Nazi Mining Contract',
      type: 'ec',
      year: 2,
    },
    {
      id: 76,
      effects: [
        create_effect('attack', ARAGON, -5, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -2, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 0,
        pass: create_effect('draw_card', INITIATIVE_PLAYER, 1),
        fail: create_effect('track', LIBERTY, -1),
      },
      title: 'The Deutschland Incident',
      type: 'ec',
      year: 2,
    },
    {
      id: 77,
      effects: [
        create_effect('attack', ARAGON, -5, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -3, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 1,
        pass: create_effect('draw_card', ANARCHISTS_ID, 1),
        fail: create_effect('hero_points', ALL_PLAYERS, -1),
      },
      title: 'The Last Great Cavalry Charge',
      type: 'ec',
      year: 2,
    },
    {
      id: 78,
      effects: [
        create_effect('attack', MADRID, -6, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -1, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: -2,
        pass: create_effect('track', FOREIGN_AID, 2),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Battle of Brunete',
      type: 'ec',
      year: 2,
    },
    {
      id: 79,
      effects: [
        create_effect('attack', NORTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -1, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 0,
        pass: create_effect('draw_card', MODERATES_ID, 1),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Emilio Mola',
      type: 'ec',
      year: 2,
    },
    {
      id: 80,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -3, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -5, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 2,
        pass: create_effect('draw_card', ALL_PLAYERS, 1),
        fail: create_effect('track', FOREIGN_AID, -3),
      },
      title: 'Treason of Santoña',
      type: 'ec',
      year: 2,
    },
    {
      id: 81,
      effects: [
        create_effect('attack', MADRID, -5, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('track', LIBERTY, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Media Adore General Franco',
      type: 'ec',
      year: 2,
    },
    {
      id: 82,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -4, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -4, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 4,
        pass: create_effect('hero_points', ALL_PLAYERS, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -3),
      },
      title: 'Decree of Unification',
      type: 'ec',
      year: 2,
    },
    {
      id: 83,
      effects: [
        create_effect('attack', ARAGON, -7, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: -1,
        pass: create_effect('track', GOVERNMENT, AWAY_FROM_CENTER),
        fail: create_effect('track', COLLECTIVIZATION, -1),
      },
      title: 'Battle of Teruel',
      type: 'ec',
      year: 2,
    },
    {
      id: 84,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -1, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -5, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: 0,
        pass: create_effect('hero_points', MODERATES_ID, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -2),
      },
      title: 'Non-Intervention Committee',
      type: 'ec',
      year: 2,
    },
    {
      id: 85,
      effects: [
        create_effect('attack', SOUTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: SOUTHERN,
        value: 2,
        pass: create_effect('hero_points', COMMUNISTS_ID, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Falling Soldier Controversy',
      type: 'ec',
      year: 2,
    },
    {
      id: 86,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -2, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -5, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 1,
        pass: create_effect('track', GOVERNMENT, AWAY_FROM_CENTER),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Fifth Column',
      type: 'ec',
      year: 2,
    },
    {
      id: 87,
      effects: [
        create_effect('attack', SOUTHERN, -4, INITIATIVE_PLAYER),
        create_effect('attack', ARAGON, -3, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: 2,
        pass: create_effect('hero_points', COMMUNISTS_ID, 1),
        fail: create_effect('hero_points', ALL_PLAYERS, -1),
      },
      title: 'Regulares',
      type: 'ec',
      year: 2,
    },
    {
      id: 88,
      effects: [
        create_effect('attack', MADRID, -5, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -2, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 1,
        pass: create_effect('hero_points', INITIATIVE_PLAYER, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Italian Armor',
      type: 'ec',
      year: 2,
    },
    {
      id: 89,
      effects: [
        create_effect('attack', SOUTHERN, -7, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: 0,
        pass: create_effect('track', SOVIET_SUPPORT, 2),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Peasants Forced Off the Land',
      type: 'ec',
      year: 2,
    },
    {
      id: 90,
      effects: [
        create_effect('attack', ARAGON, -4, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -4, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: ARAGON,
        value: 2,
        pass: create_effect('hero_points', ANARCHISTS_ID, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -3),
      },
      title: 'German Condor Legion',
      type: 'ec',
      year: 2,
    },
    {
      id: 91,
      effects: [
        create_effect('attack', MADRID, -5, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -4, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 2,
        pass: create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, 1),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Fascist Air Supremacy',
      type: 'ec',
      year: 3,
    },
    {
      id: 92,
      effects: [
        create_effect('attack', ARAGON, -6, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -3, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 2,
        pass: create_effect('hero_points', ANARCHISTS_ID, 1),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Catalonia Offensive',
      type: 'ec',
      year: 3,
    },
    {
      id: 93,
      effects: [
        create_effect('attack', NORTHERN, -4, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -6, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 1,
        pass: create_effect('hero_points', MODERATES_ID, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -3),
      },
      title: 'Martyrs of the Spanish Civil War',
      type: 'ec',
      year: 3,
    },
    {
      id: 94,
      effects: [
        create_effect('attack', NORTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -4, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: 1,
        pass: create_effect('hero_points', ALL_PLAYERS, 1),
        fail: create_effect('track', FOREIGN_AID, -3),
      },
      title: 'Naval Blockade',
      type: 'ec',
      year: 3,
    },
    {
      id: 95,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -5, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -5, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: SOUTHERN,
        value: 1,
        pass: create_effect('draw_card', COMMUNISTS_ID, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Munich Agreement',
      type: 'ec',
      year: 3,
    },
    {
      id: 96,
      effects: [
        create_effect('attack', MADRID, -4, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -6, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 1,
        pass: create_effect('hero_points', INITIATIVE_PLAYER, 1),
        fail: create_effect('track', GOVERNMENT, TOWARDS_CENTER),
      },
      title: 'Law of Political Responsibilities',
      type: 'ec',
      year: 3,
    },
    {
      id: 97,
      effects: [
        create_effect('attack', MADRID, -6, INITIATIVE_PLAYER),
        create_effect('attack', ARAGON, -4, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 1,
        pass: create_effect('draw_card', ALL_PLAYERS, 1),
        fail: create_effect('hero_points', ALL_PLAYERS, -1),
      },
      title: 'International Brigades Sent Home',
      type: 'ec',
      year: 3,
    },
    {
      id: 98,
      effects: [
        create_effect('attack', NORTHERN, -7, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -2, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: NORTHERN,
        value: -2,
        pass: create_effect('hero_points', INITIATIVE_PLAYER, 1),
        fail: create_effect('track', FOREIGN_AID, -2),
      },
      title: 'French Concentration Camps',
      type: 'ec',
      year: 3,
    },
    {
      id: 99,
      effects: [
        create_effect('attack', NORTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -3, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: NORTHERN,
        value: 0,
        pass: create_effect('track', FOREIGN_AID, 2),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Resignation of President Azaña',
      type: 'ec',
      year: 3,
    },
    {
      id: 100,
      effects: [
        create_effect('attack', SOUTHERN, -7, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -2, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: SOUTHERN,
        value: -1,
        pass: create_effect('draw_card', INITIATIVE_PLAYER, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -3),
      },
      title: "FDR's Cautious Approach",
      type: 'ec',
      year: 3,
    },
    {
      id: 101,
      effects: [
        create_effect('attack', ARAGON, -7, INITIATIVE_PLAYER),
        create_effect('attack', MADRID, -3, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: -1,
        pass: create_effect('draw_card', MODERATES_ID, 1),
        fail: create_effect('track', COLLECTIVIZATION, -1),
      },
      title: 'Molotov-Ribbentrop Pact',
      type: 'ec',
      year: 3,
    },
    {
      id: 102,
      effects: [
        create_effect('attack', MADRID, -6, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -4, INITIATIVE_PLAYER),
        create_effect('track', FOREIGN_AID, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('track', GOVERNMENT, AWAY_FROM_CENTER),
        fail: create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1),
      },
      title: 'Easter Accords',
      type: 'ec',
      year: 3,
    },
    {
      id: 103,
      effects: [
        create_effect('attack', MADRID, -7, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -2, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('play_card', INITIATIVE_PLAYER, 1, INITIATIVE_PLAYER),
        fail: create_effect('track', FOREIGN_AID, -3),
      },
      title: 'National Defence Council',
      type: 'ec',
      year: 3,
    },
    {
      id: 104,
      effects: [
        create_effect('attack', SOUTHERN, -6, INITIATIVE_PLAYER),
        create_effect('attack', ARAGON, -3, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: SOUTHERN,
        value: 1,
        pass: create_effect('hero_points', COMMUNISTS_ID, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Accidental Bombing of Cabra',
      type: 'ec',
      year: 3,
    },
    {
      id: 105,
      effects: [
        create_effect('attack', ARAGON, -6, INITIATIVE_PLAYER),
        create_effect('attack', NORTHERN, -4, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: 1,
        pass: create_effect('draw_card', ANARCHISTS_ID, 1),
        fail: create_effect('bonus', TEAMWORK_BONUS, OFF),
      },
      title: 'Bombing of Barcelona',
      type: 'ec',
      year: 3,
    },
    {
      id: 106,
      effects: [
        create_effect('attack', MADRID, -6, INITIATIVE_PLAYER),
        create_effect('attack', CLOSEST_TO_VICTORY, -3, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect('track', LIBERTY, -1, INITIATIVE_PLAYER),
      ],
      test: {
        front: MADRID,
        value: 0,
        pass: create_effect('play_card', INITIATIVE_PLAYER, 1, INITIATIVE_PLAYER),
        fail: create_effect('bonus', MORALE_BONUS, OFF),
      },
      title: 'Military Dictatorship',
      type: 'ec',
      year: 3,
    },
    {
      id: 107,
      effects: [
        create_effect('attack', ARAGON, -8, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -1, INITIATIVE_PLAYER),
        create_effect('track', COLLECTIVIZATION, -1, INITIATIVE_PLAYER),
        create_effect('track', SOVIET_SUPPORT, -2, INITIATIVE_PLAYER),
      ],
      test: {
        front: ARAGON,
        value: -2,
        pass: create_effect('track', SOVIET_SUPPORT, 2),
        fail: create_effect('track', LIBERTY, -1),
      },
      title: 'Battle of the Ebro',
      type: 'ec',
      year: 3,
    },
    {
      id: 108,
      effects: [
        create_effect('attack', CLOSEST_TO_DEFEAT, -3, INITIATIVE_PLAYER),
        create_effect('attack', SOUTHERN, -6, INITIATIVE_PLAYER),
        create_effect('bonus', TEAMWORK_BONUS, OFF, INITIATIVE_PLAYER),
        create_effect(
          'hero_points',
          PLAYER_WITH_MOST_HERO_POINTS,
          -1,
          INITIATIVE_PLAYER
        ),
      ],
      test: {
        front: SOUTHERN,
        value: -1,
        pass: create_effect('hero_points', ALL_PLAYERS, 1),
        fail: create_effect('track', SOVIET_SUPPORT, -2),
      },
      title: 'Cartagena Uprising',
      type: 'ec',
      year: 3,
    },
  ],
  fronts: [
    {
      id: NORTHERN,
      name: 'Northern',
      left: 89,
      top: 96,
    },
    {
      id: ARAGON,
      name: 'Aragon',
      left: 340,
      top: 182,
    },
    {
      id: MADRID,
      name: 'Madrid',
      left: 115,
      top: 262,
    },
    {
      id: SOUTHERN,
      name: 'Southern',
      left: 205,
      top: 426,
    },
  ],
  medallions: [
    {
      id: 0,
      name: 'Subterfuge',
    },
    {
      id: 1,
      name: 'Valor',
    },
    {
      id: 2,
      name: 'Momentum',
    },
    {
      id: STRATEGY_MEDALLION_ID,
      name: 'Strategy',
    },
    {
      id: PROPAGANDA_MEDALLION_ID,
      name: 'Propaganda',
    },
    {
      id: INTELLIGENCE_MEDALLION_ID,
      name: 'Intelligence',
    },
    {
      id: VOLUNTEERS_MEDALLION_ID,
      name: 'Volunteers',
    },
    {
      id: ARCHIVES_MEDALLION_ID,
      name: 'Archives',
    },
    {
      id: ORGANIZATION_MEDALLION_ID,
      name: 'Organization',
    },
  ],
  tracks: [
    {
      id: LIBERTY,
      action: 'tr0',
      name: 'Liberty',
      triggers: [
        create_effect('bonus', MORALE_BONUS, OFF),
        create_effect('attack', MADRID, -1),
        null,
        create_effect('track', SOVIET_SUPPORT, 1),
        null,
        null,
        null,
        create_effect('track', GOVERNMENT, TOWARDS_CENTER),
        create_effect('front', ANY, 1, ANARCHISTS_ID),
        null,
        create_effect('medallion', ANY, 1, ANARCHISTS_ID),
      ],
    },
    {
      id: COLLECTIVIZATION,
      action: 'tr1',
      name: 'Collectivization',
      triggers: [
        create_effect('bonus', MORALE_BONUS, OFF),
        create_effect('attack', ARAGON, -1),
        null,
        create_effect('track', FOREIGN_AID, 1),
        null,
        null,
        null,
        create_effect('front', ANY, 1),
        create_effect('track', LIBERTY, 1),
        null,
        create_effect('medallion', ANY, 1, ANARCHISTS_ID),
      ],
    },
    {
      id: GOVERNMENT,
      action: 'tr2',
      name: 'Government',
      triggers: [
        null,
        create_effect('medallion', ANY, 1, COMMUNISTS_ID),
        null,
        null,
        create_effect('track', SOVIET_SUPPORT, 1),
        null,
        null,
        create_effect('track', FOREIGN_AID, 1),
        null,
        null,
        create_effect('medallion', ANY, 1, MODERATES_ID),
      ],
    },
    {
      id: SOVIET_SUPPORT,
      action: 'tr3',
      name: 'Soviet Support',
      triggers: [
        create_effect('bonus', MORALE_BONUS, OFF),
        create_effect('attack', SOUTHERN, -1),
        null,
        null,
        null,
        create_effect('track', LIBERTY, -1),
        null,
        create_effect('front', ANY, 1, COMMUNISTS_ID),
        create_effect('track', GOVERNMENT, -1),
        null,
        create_effect('medallion', ANY, 1, COMMUNISTS_ID),
      ],
    },
    {
      id: FOREIGN_AID,
      action: 'tr4',
      name: 'Foreign Aid',
      triggers: [
        create_effect('bonus', MORALE_BONUS, OFF),
        create_effect('attack', NORTHERN, -1),
        null,
        null,
        null,
        create_effect('track', COLLECTIVIZATION, -1),
        null,
        create_effect('front', ANY, 1, MODERATES_ID),
        create_effect('track', GOVERNMENT, 1),
        null,
        create_effect('medallion', ANY, 1, MODERATES_ID),
      ],
    },
  ],
};
export default data;