import { Card, Effect, StaticData } from './types'; const LIBERTY = 0; const COLLECTIVIZATION = 1; const GOVERNMENT = 2; const SOVIET_SUPPORT = 3; const FOREIGN_AID = 4; const MORALE_BONUS = 0; const TEAMWORK_BONUS = 1; const OFF = 0; const ON = 1; const PLAYER_WITH_MOST_HERO_POINTS = 0; const ARAGON = 'a'; const MADRID = 'm'; const NORTHERN = 'n'; const SOUTHERN = 's'; const CLOSEST_TO_DEFEAT = 'd'; const CLOSEST_TO_VICTORY = 'v'; const TOWARDS_CENTER = 10; const AWAY_FROM_CENTER = 11; const ANY = 'any'; const SELF = 'self'; const OTHER_PLAYERS = 'other'; const TRASH = 'trash'; export { ANY, LIBERTY, CLOSEST_TO_DEFEAT, CLOSEST_TO_VICTORY, COLLECTIVIZATION, GOVERNMENT, SOVIET_SUPPORT, FOREIGN_AID, MORALE_BONUS, TEAMWORK_BONUS, OFF, ON, OTHER_PLAYERS, PLAYER_WITH_MOST_HERO_POINTS, SELF, TOWARDS_CENTER, TRASH, }; function create_effect( type: Effect['type'], target: Effect['target'], value: Effect['value'] ): Effect { return { type, target, value, }; } const data: StaticData = { cards: [ {} as Card, { id: 1, effects: [ create_effect('track', FOREIGN_AID, 2), // create_effect('track', FOREIGN_AID, 2), // Conditional support 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('track', FOREIGN_AID, 2), // conditional effect 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 OUIERES ESCRIBIR"', type: 'pc', }, { id: 6, effects: [ create_effect('bonus', ANY, ON), // create_effect('front', ANY, ON), // 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('track', FOREIGN_AID, 3) // conditional draw cards create_effect('add_to_tableau', SELF, 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('hero_points', OTHER_PLAYERS, -2), // take from other player 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', ) Choose track, create_effect('track', FOREIGN_AID, 2), 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('front', ANY, -2) // move attacks // create_effect('track', FOREIGN_AID, 4) // conditional ], 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('track', COLLECTIVIZATION,-4) // conditional ], 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: 1, title: 'IMPOSE FACTORY MANAGERS', type: 'pc', }, { id: 19, effects: [ create_effect('front', CLOSEST_TO_DEFEAT, 2), create_effect('track', GOVERNMENT, -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('front') // conditional on track ], 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('track', GOVERNMENT, -2) // conditional ], icons: ['d_liberty', 'soviet_support', 'government'], strength: 2, title: 'LARGO CABALLERO', type: 'pc', }, { id: 23, effects: [ // create_effect('front', ANY, 4) // conditional on track 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('front', MADRID, 1), // ability active 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('track', LIBERTY, -3) // conditional ], 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('hero_points', OTHER_PLAYERS, 1) // take 1 from others create_effect('front', ANY, 1), create_effect('track', SOVIET_SUPPORT, 1), // create_effect('track') // choose one of two tracks ], 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('track', SOVIET_SUPPORT,2) // conditional 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_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('move attacks ') 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('return_card', TRASH, 1), ], icons: ['teamwork_on', 'collectivization', 'draw_card'], strength: 2, title: 'CNT-FAI', type: 'pc', }, { id: 42, effects: [ create_effect('track', LIBERTY, 2), create_effect('front', ARAGON, 2), create_effect('front', MADRID, 1), // create_effect('ability') // activate ability ], 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('hero_points', OTHER_PLAYERS, -1) // take from other player 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('track', COLLECTIVIZATION, 1) // conditional 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('special') // Peek at Fascist cards ], 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('front', ARAGON, 3) // conditional 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') // choose 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('front', ANY, 3) // conditional create_effect('hero_points', SELF, 1), ], icons: ['liberty', 'add_to_front'], strength: 1, title: 'GENDER-INCLUSIVE MILITIA', type: 'pc', }, { id: 54, effects: [ // create_effect('track', LIBERTY, 3) // conditional create_effect('track', SOVIET_SUPPORT, -1), create_effect('add_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), create_effect('attack', ARAGON, -1), create_effect('track', SOVIET_SUPPORT, -2), ], title: 'SPANISH LEGION', type: 'ec', year: 1, }, { id: 56, effects: [ create_effect('attack', SOUTHERN, -3), create_effect('attack', CLOSEST_TO_VICTORY, -2), create_effect('bonus', MORALE_BONUS, OFF), ], title: 'BRITISH TREACHERY AT GIBRALTAR', type: 'ec', year: 1, }, { id: 57, effects: [ create_effect('attack', MADRID, -5), create_effect('track', FOREIGN_AID, -2), create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1), ], title: 'PARACUELLOS MASSACRES', type: 'ec', year: 1, }, { id: 58, effects: [ create_effect('attack', NORTHERN, -5), create_effect('attack', CLOSEST_TO_VICTORY, -1), create_effect('track', COLLECTIVIZATION, -1), ], title: 'CARLISTS', type: 'ec', year: 1, }, { id: 59, effects: [ create_effect('attack', MADRID, -4), create_effect('attack', CLOSEST_TO_VICTORY, -2), create_effect('track', LIBERTY, -1), ], title: 'ASSASSINATION OF GARCIA LORCA', type: 'ec', year: 1, }, { id: 60, effects: [ create_effect('attack', NORTHERN, -3), create_effect('attack', CLOSEST_TO_VICTORY, -3), create_effect('track', LIBERTY, -1), ], title: 'GENERAL SANJURIO', type: 'ec', year: 1, }, { id: 61, effects: [ create_effect('attack', ARAGON, -2), create_effect('attack', CLOSEST_TO_VICTORY, -2), create_effect('hero_points', PLAYER_WITH_MOST_HERO_POINTS, -1), ], title: 'FAILED INVASION OF MALLORCA', type: 'ec', year: 1, }, { id: 62, effects: [ create_effect('attack', SOUTHERN, -5), create_effect('bonus', MORALE_BONUS, OFF), create_effect('track', LIBERTY, -1), ], title: 'AIRLIFT OF THE ARMY OF AFRICA', type: 'ec', year: 1, }, ], 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, }, ], medaillons: [ { id: 0, name: 'Subterfuge', }, { id: 1, name: 'Valor', }, { id: 2, name: 'Momentum', }, { id: 3, name: 'Strategy', }, { id: 4, name: 'Propaganda', }, { id: 5, name: 'Intelligence', }, { id: 6, name: 'Volunteers', }, { id: 7, name: 'Archives', }, { id: 8, name: 'Organization', }, ], tracks: [ { id: LIBERTY, 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), null, create_effect('medaillon', ANY, 1), ], }, { id: COLLECTIVIZATION, 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('medaillon', ANY, 1), ], }, { id: GOVERNMENT, name: 'Government', triggers: [ null, create_effect('medaillon', ANY, 1), null, null, create_effect('track', SOVIET_SUPPORT, 1), null, null, create_effect('track', FOREIGN_AID, 1), null, null, create_effect('medaillon', ANY, 1), ], }, { id: SOVIET_SUPPORT, 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), create_effect('track', GOVERNMENT, -1), null, create_effect('medaillon', ANY, 1), ], }, { id: FOREIGN_AID, name: 'Foreign Aid', triggers: [ create_effect('bonus', MORALE_BONUS, OFF), create_effect('attack', NORTHERN, -1), null, null, null, create_effect('track', LIBERTY, -1), null, create_effect('front', ANY, 1), create_effect('track', GOVERNMENT, 1), null, create_effect('medaillon', ANY, 1), ], }, ], }; export default data;